Skip to content

Commit

Permalink
Build 27 (#66)
Browse files Browse the repository at this point in the history
* Tickets                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         - xterm-mok2 and kbprotocol options; #85                                                                                                                                                                                                                                     - mouse-sgr and mouse-mode; #84                                                                                                                                                                                                                                              - grunch crash, on an invalid switch case; #83                                                                                                                                                                                                                               - portability improvements; non Linux/WIN32 builds; #78                                                                                                                                                                                                                      - dark/light background detection; #76                                                                                                                                                                                                                                       - directory open; prompt file(s) to open; #73                                                                                                                                                                                                                                - oniguruma upgrade; #67                                                                                                                                                                                                                                                     - binutils, backward lib; #61                                                                                                                                                                                                                                                - configure enhancements; #60                                                                                                                                                                                                                                                - bison/flex option; #59 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         * Keyboard/interface extensions                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     - keyboard, protocol options (none,auto,basic,mok2,cygwin).                                                                                                                                                                                                                  - mouse                                                                                                                                                                                                                                                                              - command line option (xterm, xterm2 and sgr).                                                                                                                                                                                                                               - <Button-xxx> key events cleanup.                                                                                                                                                                                                                                           - mouse actions                                                                                                                                                                                                                                                              - popup menu                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      - <Unassigned> key event.                                                                                                                                                                                                                                                    - FocusIn/FosusOut events.                                                                                                                                                                                                                                                   - key_trace macro. 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
* CI Pipelines                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    - Solaris                                                                                                                                                                                                                                                                    - FreeBSD/OpenBSD and NetBSD.
  • Loading branch information
adamyg authored Sep 26, 2024
1 parent 6830a41 commit 5401f2f
Show file tree
Hide file tree
Showing 331 changed files with 33,594 additions and 10,107 deletions.
15 changes: 11 additions & 4 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# See: https://cirrus-ci.org/guide/quick-start/
#
env:
MAKE: gmake
CIRRUS_CLONE_DEPTH: 3
WITH_FEATURES:

Expand All @@ -12,11 +13,17 @@ freebsd_task:
image_family: freebsd-14-1
timeout_in: 20m
install_script:
- pkg install -y gettext

- pkg install -y bash gmake perl5 autoconf automake libtool pkgconf
- pkg install -y flex bison wget asciidoc
- pkg install -y gettext libiconv libarchive curl ncurses expat liblz4 lzo2 zstd
# - /usr/local/bin/curl-config --configure
# - /usr/local/bin/curl-config --cflags
# - find /usr -mount -name '*ncurses.h*' 2>/dev/null
build_script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- ./configure ${WITH_FEATURES}
- make -j${NPROC} release
- cat acdefines.h
- gmake release
clean_script:
- make release clean

- gmake release clean
1 change: 1 addition & 0 deletions .cvsignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ defunct/
EXTRA/
win32/Autoupdater/
CoreUtils/
libfltk/
acdefines.h
config.sub
config.guess
Expand Down
71 changes: 71 additions & 0 deletions .github/workflows/bsd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# CI-*BSD platforms
#
# References:
# https://github.com/vmactions/freebsd-vm
# https://github.com/vmactions/openbsd-vm
# https://github.com/vmactions/netbsd-vm
#

name: "FreeOpenNetBSD builds"
on: [push, pull_request]

#https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }}
cancel-in-progress: true

jobs:
# freebsd:
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@v4
# - name: FreeBSD
# uses: vmactions/freebsd-vm@v1
# with:
# usesh: true
# prepare: |
# pkg install -y bash gmake perl5 autoconf automake libtool pkgconf flex bison wget
# pkg install -y gettext libiconv libarchive curl ncurses expat liblz4 lzo2 zstd
# run: |
# ./configure
# cat acdefines.h
# gmake release

# Packages: see: https://cdn.openbsd.org/pub/OpenBSD/7.5/packages/amd64/
# openbsd:
# runs-on: ubuntu-22.04
# steps:
# - uses: actions/checkout@v4
# - name: OpenBSD
# uses: vmactions/openbsd-vm@v1
# with:
# usesh: true
# prepare: |
# pkg_add bash gmake libtool pkgconf bison wget curl unzip-6.0p17
# pkg_add libiconv libarchive lz4 lzo2 zstd
# run: |
# ./configure
# cat acdefines.h
# gmake release

# Packages: see: https://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/pkgtools/index.html
netbsd:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: NetBSD
uses: vmactions/netbsd-vm@v1
with:
usesh: true
prepare: |
/usr/sbin/pkg_add -v pkgin
pkgin update
pkgin -y install perl gcc11-*
pkgin -y install bash gmake libtool pkgconf bison byacc flex wget curl unzip
pkgin -y install ncurses libiconv libarchive enchant2 file enca lzma lz4 zstd
run: |
./configure
cat acdefines.h
gmake release
#end
6 changes: 5 additions & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ master ]
Expand All @@ -20,6 +19,11 @@ on:
schedule:
- cron: '38 8 * * 2'

#https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
analyze:
name: Analyze
Expand Down
194 changes: 194 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
name: "Linux builds"
on: [push]

#https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
# - {
# name: "Windows Latest MSVC",
# os: windows-latest,
# toolchain: vc2022,
# toollabel: vs170,
# package: win32-vs22
# }
# - {
# name: "Windows Latest MinGW",
# os: windows-latest,
# toolchain: mingw64,
# toollabel: mingw64,
# package: win32-w64
# }
# - {
# name: "Windows Latest OWC",
# os: windows-latest,
# toolchain: owc20,
# toollabel: owc20,
# package: win32-owc
# }
- {
name: "Ubuntu Latest GCC",
os: ubuntu-latest,
toolchain: gcc,
toollabel: gcc,
package: ubuntu-gcc
}
# - {
# name: "MacOS Latest GCC",
# os: macos-latest,
# toolchain: gcc,
# toollabel: gcc,
# package: macos-gcc
# }

steps:

- name: Checkout repository
uses: actions/checkout@v4

- name: Snapshot Source
if: startsWith(matrix.config.name, 'Ubuntu Latest')
shell: bash
run: |
mkdir .snapshot
tar --exclude-vcs --exclude='./.snapshot' --exclude='./win32' --exclude='./contrib' --exclude='./support/*.bat' --exclude='./defunct' -cf .snapshot/source-snapshot.tar .
tar --exclude-vcs -cf .snapshot/contrib-snapshot.tar ./contrib
- name: Source Snapshot Publish
if: startsWith(matrix.config.name, 'Ubuntu Latest')
uses: actions/upload-artifact@v4
with:
name: source-snapshot
path: .snapshot/source-snapshot.tar
compression-level: 9

- name: Contrib Snapshot Publish
if: startsWith(matrix.config.name, 'Ubuntu Latest')
uses: actions/upload-artifact@v4
with:
name: contrib-snapshot
path: .snapshot/contrib-snapshot.tar
compression-level: 9

- name: Checkout submodules
run: |
git submodule update --init --recursive
- name: MSVC setup
uses: ilammy/msvc-dev-cmd@v1
if: startsWith(matrix.config.name, 'Windows Latest MSVC')
with:
arch: x86

- name: MinGW64 setup
if: startsWith(matrix.config.name, 'Windows Latest MinGW')
shell: cmd
run: |
c:\msys64\usr\bin\pacman --noconfirm -S base-devel
c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-x86_64-gcc
c:\msys64\usr\bin\pacman --noconfirm -S mingw-w64-i686-gcc
- name: OpenWatcom setup
uses: open-watcom/setup-watcom@v0
if: startsWith(matrix.config.name, 'Windows Latest OWC')
with:
version: "2.0"
location: "C:\\Watcom"

- name: Ubuntu, setup
if: startsWith(matrix.config.name, 'Ubuntu Latest')
shell: bash
run: |
sudo apt-get install -y libncurses-dev
sudo apt-get install -y libncursesw5-dev
sudo apt-get install -y libenchant-2-dev
sudo apt-get install -y libaspell-dev
sudo apt-get install -y libhunspell-dev
sudo apt-get install -y libenca-dev
sudo apt-get install -y libguess-dev
sudo apt-get install -y libexplain-dev
sudo apt-get install -y libarchive-dev
- name: MacOS, setup
if: startsWith(matrix.config.name, 'MacOS Latest')
shell: bash
run: |
brew install pkg-config
brew install ncurses
brew link ncurses
brew install enchant
brew install libspelling
brew install hunspell
brew install libarchive
brew install wget
- name: Windows, generate
if: startsWith(matrix.config.name, 'Windows Latest')
shell: cmd
run: |
@if "${{ matrix.config.toolchain }}"=="mingw32" set PATH=c:\msys64\mingw32\bin;%PATH%
@if "${{ matrix.config.toolchain }}"=="mingw64" set PATH=c:\msys64\mingw64\bin;%PATH%
@if "${{ matrix.config.toolchain }}"=="owc20" call .\support\owc20setenv.bat C:\Watcom
@if NOT "${{ matrix.config.toolchain }}"=="mingw64" c:\msys64\usr\bin\pacman --noconfirm -S bison
@set PERL=c:/Strawberry/perl/bin/perl
c:/Strawberry/perl/bin/perl makelib.pl --perlpath=c:/Strawberry/perl/bin --busybox=./win32/busybox --wget=./win32/wget --bison=c:/msys64/usr/bin/bison --flex=./bin.${{ matrix.config.toollabel }}/release/flex "${{ matrix.config.toolchain }}"
- name: Windows, compile
if: startsWith(matrix.config.name, 'Windows Latest')
shell: cmd
run: |
@if "${{ matrix.config.toolchain }}"=="mingw32" set PATH=c:\msys64\mingw32\bin;%PATH%
@if "${{ matrix.config.toolchain }}"=="mingw64" set PATH=c:\msys64\mingw64\bin;%PATH%
@if "${{ matrix.config.toolchain }}"=="owc20" call .\support\owc20setenv.bat C:\Watcom
@set PERL=c:/Strawberry/perl/bin/perl
.\win32\gmake-42 release contrib
.\win32\gmake-42 release
- name: Ubuntu, generate
if: startsWith(matrix.config.name, 'Ubuntu Latest')
shell: bash
run: |
chmod +x configure
./support/config_withncurses
- name: Ubuntu, compile
if: startsWith(matrix.config.name, 'Ubuntu Latest')
shell: bash
run: |
make release
- name: MacOS, generate
if: startsWith(matrix.config.name, 'MacOS Latest')
shell: bash
run: |
export CPATH=$(brew --prefix libarchive)/include:/usr/local/include:$CPATH
export CPPPATH=$(brew --prefix libarchive)/include:/usr/local/include:$CPATH
export LIBRARY_PATH=$(brew --prefix libarchive)/lib:/usr/local/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$(brew --prefix libarchive)/lib:/usr/local/lib:$LD_LIBRARY_PATH
chmod +x configure
./support/config_withncurses
- name: MacOS, compile
if: startsWith(matrix.config.name, 'MacOS Latest')
shell: bash
run: |
export CPATH=$(brew --prefix libarchive)/include:/usr/local/include:$CPATH
export CPPPATH=$(brew --prefix libarchive)/include:/usr/local/include:$CPATH
export LIBRARY_PATH=$(brew --prefix libarchive)/lib:/usr/local/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$(brew --prefix libarchive)/lib:/usr/local/lib:$LD_LIBRARY_PATH
make release
- name: Package
uses: actions/upload-artifact@v4
with:
name: package-${{ matrix.config.package }}
path: ./bin.${{ matrix.config.toollabel }}/release/*
Loading

0 comments on commit 5401f2f

Please sign in to comment.