aboutsummaryrefslogtreecommitdiffhomepage
path: root/.fmsbw/images
diff options
context:
space:
mode:
authorRobin Haberkorn <rhaberkorn@fmsbw.de>2026-01-10 15:25:00 +0100
committerRobin Haberkorn <rhaberkorn@fmsbw.de>2026-01-10 15:25:00 +0100
commit35aac4f06523ba6418df4d2e436fa27c18bd5b11 (patch)
treed36e8810214d83be7600e871c2af97cf4af60357 /.fmsbw/images
parentacc6f6e83b9cabdc78b6a4f331c510c69e5ff757 (diff)
Windows CI builds are now linked against PDCursesMod v4.5.4
* Should fix scrolling in the Wincon port. CTRL modifiers are still "sticky" in WinGUI, though, even though it was supposed to be fixed long ago. * Also, there is now a Makefile to build/reproduce the freebsd14-sciteco and freebsd14-msys-sciteco containers via buildah. freebsd14-osx-sciteco and ubuntu22-appimage are still TODO.
Diffstat (limited to '.fmsbw/images')
-rw-r--r--.fmsbw/images/Makefile50
-rw-r--r--.fmsbw/images/msys-activate6
2 files changed, 56 insertions, 0 deletions
diff --git a/.fmsbw/images/Makefile b/.fmsbw/images/Makefile
new file mode 100644
index 0000000..74b54e5
--- /dev/null
+++ b/.fmsbw/images/Makefile
@@ -0,0 +1,50 @@
+# Don't build any image by default
+all:
+
+# Base image for building SciTECO on FreeBSD.
+freebsd14-sciteco:
+ buildah from --name $@-working --network=host quay.io/dougrabson/freebsd14.1-small
+ buildah config --env ASSUME_ALWAYS_YES=yes $@-working
+ buildah run $@-working pkg update
+ buildah run $@-working pkg install FreeBSD-clang FreeBSD-clibs-dev \
+ gmake pkgconf autoconf automake libtool \
+ glib gtk3 groff doxygen lowdown valgrind
+ buildah run $@-working pkg clean -a
+ buildah commit $@-working $@
+
+freebsd14-msys-sciteco:
+ buildah from --name $@-working --network=host freebsd14-sciteco
+ buildah run $@-working pkg install llvm21 gnugrep gmake coreutils gsed gawk \
+ git wget gnupg bash groff zip autoconf automake libtool python3
+ buildah run $@-working pkg remove FreeBSD-clang
+ buildah run $@-working pkg clean -a
+ buildah run $@-working git clone --depth=1 https://github.com/HolyBlackCat/quasi-msys2.git /opt/quasi-msys2
+ buildah config --workingdir /opt/quasi-msys2 $@-working
+ buildah run $@-working git checkout e41c4d0f7dde15031132348875d1d01c8d0ea857
+ buildah run $@-working ln -s /usr/local/bin/gpgv2 /usr/local/bin/gpgv
+ buildah run $@-working ln -s /usr/local/bin/bash /bin/bash
+ buildah run $@-working mkdir -p gnu-overrides
+ buildah run $@-working ln -s /usr/local/bin/ggrep gnu-overrides/grep
+ buildah run $@-working ln -s /usr/local/bin/gmake gnu-overrides/make
+ buildah run $@-working ln -s /usr/local/bin/gsed gnu-overrides/sed
+ buildah run $@-working ln -s /usr/local/bin/greadlink gnu-overrides/readlink
+ buildah run $@-working ln -s /usr/local/bin/wine64 gnu-overrides/wine
+ buildah run $@-working echo MINGW64 '>msystem.txt'
+ buildah copy $@-working msys-activate activate
+ buildah run $@-working gmake install _autotools _gcc _libc++ _glib2 _pdcurses _gtk3 _librsvg
+ buildah run $@-working ln -nfs "/opt/quasi-msys2/root/mingw64" /mingw64
+ # The upstream _pdcurses package is often too outdated, so we also build from sources.
+ buildah run $@-working git clone --depth=1 -b v4.5.4 https://github.com/Bill-Gray/PDCursesMod.git /opt/PDCursesMod
+ buildah run $@-working bash -c '. /opt/quasi-msys2/activate && gmake -j2 -C /opt/PDCursesMod/wincon CC=$CC AR=$AR'
+ buildah run $@-working bash -c '. /opt/quasi-msys2/activate && gmake -j2 -C /opt/PDCursesMod/wingui CC=$CC AR=$AR'
+ buildah commit $@-working $@
+
+freebsd14-osx-sciteco:
+ false # TODO
+
+ubuntu22-appimage:
+ false # TODO
+
+# Remove all temporary containers
+clean:
+ buildah rm --all
diff --git a/.fmsbw/images/msys-activate b/.fmsbw/images/msys-activate
new file mode 100644
index 0000000..655fcae
--- /dev/null
+++ b/.fmsbw/images/msys-activate
@@ -0,0 +1,6 @@
+cd /opt/quasi-msys2
+export PATH=`pwd`/gnu-overrides:$PATH
+export PKG_CONFIG=pkg-config
+set +ex
+. env/all.src
+set -ex