aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCullum Smith <cullum@sacredheartsc.com>2024-12-10 23:02:57 -0500
committerCullum Smith <cullum@sacredheartsc.com>2024-12-10 23:02:57 -0500
commit14d8a6cd16ba161fe067aad761623121f6522f35 (patch)
tree55426a90f26cd885e3fb554298d74f707b66b004
parent14ba57eee630891c47a63950621792bd8a26ec03 (diff)
downloadinfrastructure-14d8a6cd16ba161fe067aad761623121f6522f35.tar.gz
build 32bit WINE
-rw-r--r--files/usr/local/etc/poudriere.d/i386-pkglist.pkg_repository1
-rw-r--r--files/usr/local/etc/poudriere.d/make.conf.pkg_repository3
-rw-r--r--files/usr/local/etc/poudriere.d/pkglist.pkg_repository1
-rw-r--r--files/usr/local/libexec/poudriere-cron.pkg_repository10
-rw-r--r--scripts/hostclass/pkg_repository17
5 files changed, 26 insertions, 6 deletions
diff --git a/files/usr/local/etc/poudriere.d/i386-pkglist.pkg_repository b/files/usr/local/etc/poudriere.d/i386-pkglist.pkg_repository
new file mode 100644
index 0000000..8912851
--- /dev/null
+++ b/files/usr/local/etc/poudriere.d/i386-pkglist.pkg_repository
@@ -0,0 +1 @@
+emulators/wine
diff --git a/files/usr/local/etc/poudriere.d/make.conf.pkg_repository b/files/usr/local/etc/poudriere.d/make.conf.pkg_repository
index 4b47af9..03dd651 100644
--- a/files/usr/local/etc/poudriere.d/make.conf.pkg_repository
+++ b/files/usr/local/etc/poudriere.d/make.conf.pkg_repository
@@ -7,6 +7,8 @@ MAKE_JOBS_NUMBER=${poudriere_make_jobs_number}
OPTIONS_UNSET=TEST DEBUG GSSAPI_HEIMDAL GSSAPI_BASE GSSAPI_NONE HEIMDAL HEIMDAL_BASE NLS DOCS AVAHI LIBWRAP MYSQL MSQLND ODBC READLINE PULSEAUDIO UPNP BASH ZSH INFO SAMBA WAYLAND PLATFORM_WAYLAND PIPEWIRE TCP_WRAPPERS COMPAT32 JACK KDEPIM
OPTIONS_SET=GSSAPI GSSAPI_MIT MIT NONFREE LIBEDIT
+WINE_CROSS_BUILD=yes
+
# Per-port options
audio_virtual_oss_UNSET=BLUETOOTH BT_SPEAKER EQUALIZER
databases_akonadi_SET=MYSQL
@@ -27,6 +29,7 @@ dns_unbound_UNSET=DOH
editors_libreoffice_SET=KF5 PDFIUM
editors_vim_SET=CTAGS_EXUBERANT XTERM_SAVE
editors_vim_UNSET=CTAGS_BASE
+emulators_wine_SET=CUPS
finance_gnucash_UNSET=AQBANKING
graphics_digikam_SET=AUTOTAGS FACEDETECT
graphics_vips_UNSET=MATIO
diff --git a/files/usr/local/etc/poudriere.d/pkglist.pkg_repository b/files/usr/local/etc/poudriere.d/pkglist.pkg_repository
index e3afb59..7c508bc 100644
--- a/files/usr/local/etc/poudriere.d/pkglist.pkg_repository
+++ b/files/usr/local/etc/poudriere.d/pkglist.pkg_repository
@@ -41,6 +41,7 @@ dns/unbound
editors/libreoffice
editors/vim@console
editors/vim@tiny
+emulators/wine
filesystems/zfstools
finance/gnucash
finance/kmymoney
diff --git a/files/usr/local/libexec/poudriere-cron.pkg_repository b/files/usr/local/libexec/poudriere-cron.pkg_repository
index f352a10..8f3dff7 100644
--- a/files/usr/local/libexec/poudriere-cron.pkg_repository
+++ b/files/usr/local/libexec/poudriere-cron.pkg_repository
@@ -16,10 +16,12 @@ done
for jail in "$@"; do
poudriere jail -u -j "$jail" > /dev/null
- poudriere bulk -j "$jail" -f /usr/local/etc/poudriere.d/idm-pkglist -p "$ports_tree" -z idm > /dev/null
- poudriere pkgclean -j "$jail" -f /usr/local/etc/poudriere.d/idm-pkglist -p "$ports_tree" -z idm -y > /dev/null 2>&1
- poudriere bulk -j "$jail" -f /usr/local/etc/poudriere.d/pkglist -p "$ports_tree" > /dev/null
- poudriere pkgclean -j "$jail" -f /usr/local/etc/poudriere.d/pkglist -p "$ports_tree" -y > /dev/null 2>&1
+ poudriere bulk -j "$jail" -f /usr/local/etc/poudriere.d/idm-pkglist -p "$ports_tree" -z idm > /dev/null
+ poudriere pkgclean -j "$jail" -f /usr/local/etc/poudriere.d/idm-pkglist -p "$ports_tree" -z idm -y > /dev/null 2>&1
+ poudriere bulk -j "$jail" -f /usr/local/etc/poudriere.d/pkglist -p "$ports_tree" > /dev/null
+ poudriere pkgclean -j "$jail" -f /usr/local/etc/poudriere.d/pkglist -p "$ports_tree" -y > /dev/null 2>&1
+ poudriere bulk -j "${jail}-i386" -f /usr/local/etc/poudriere.d/i386-pkglist -p "$ports_tree" > /dev/null
+ poudriere pkgclean -j "${jail}-i386" -f /usr/local/etc/poudriere.d/i386-pkglist -p "$ports_tree" -y > /dev/null 2>&1
done
poudriere distclean -p "$ports_tree" -a -y > /dev/null
diff --git a/scripts/hostclass/pkg_repository b/scripts/hostclass/pkg_repository
index 3d7b34f..241ee0e 100644
--- a/scripts/hostclass/pkg_repository
+++ b/scripts/hostclass/pkg_repository
@@ -5,7 +5,7 @@
: ${poudriere_dataset:="${state_dataset:-zroot}"}
: ${poudriere_make_jobs_number:='8'}
: ${poudriere_priority_boost:='gcc* llvm* rust'}
-: ${poudriere_allow_make_jobs_packages:='ImageMagick* bitwarden-cli cargo-c *chromium* cmake cmake-core digikam eclipse electron* ffmpeg firefox thunderbird gcc* gnutls gtk3* icu libreoffice* llvm* mongodb* mysql*-client mysql*-server node* openjdk* openssl pkg postgresql* qt*-webengine rust webkit* vaultwarden'}
+: ${poudriere_allow_make_jobs_packages:='ImageMagick* bitwarden-cli cargo-c *chromium* cmake cmake-core digikam eclipse electron* ffmpeg firefox thunderbird gcc* gnutls gtk3* icu libreoffice* llvm* mongodb* mysql*-client mysql*-server node* openjdk* openssl pkg postgresql* qt*-webengine rust webkit* wine vaultwarden'}
: ${poudriere_ccache_size:='50.0G'}
: ${poudriere_default_versions:='imagemagick=7-nox11'}
@@ -41,7 +41,8 @@ install_template -m 0644 \
"${poudriere_conf_dir}/make.conf" \
"${poudriere_conf_dir}/idm-make.conf" \
"${poudriere_conf_dir}/pkglist" \
- "${poudriere_conf_dir}/idm-pkglist"
+ "${poudriere_conf_dir}/idm-pkglist" \
+ "${poudriere_conf_dir}/i386-pkglist"
install_file -m 0400 /usr/local/etc/ssl/repo.key
install_directory -m 0755 /usr/ports/distfiles
install_directory -m 0755 -o nobody -g nobody "${poudriere_data_dir}/ccache"
@@ -84,6 +85,7 @@ for version in $poudriere_versions; do
abi="FreeBSD:${version%%.*}:$(uname -p)"
[ -d "${poudriere_data_dir}/jails/${jail}" ] || poudriere jail -c -j "$jail" -v "$version"
+
poudriere jail -u -j "$jail"
poudriere bulk -v -j "$jail" -f "${poudriere_conf_dir}/idm-pkglist" -p latest -z idm
poudriere pkgclean -j "$jail" -f "${poudriere_conf_dir}/idm-pkglist" -p latest -z idm -y
@@ -93,6 +95,17 @@ for version in $poudriere_versions; do
install_directory -m 0755 "${poudriere_data_dir}/data/packages/${abi}"
ln -snfv "../${jail}-latest" "${poudriere_data_dir}/data/packages/${abi}/latest"
ln -snfv "../${jail}-latest-idm" "${poudriere_data_dir}/data/packages/${abi}/latest-idm"
+
+ # Build 32-bit WINE (lol)
+ jail="$(echo "$version" | tr . _)-i386"
+ abi="FreeBSD:${version%%.*}:i386"
+
+ [ -d "${poudriere_data_dir}/jails/${jail}" ] || poudriere jail -c -j "$jail" -a i386 -v "$version"
+ poudriere bulk -v -j "$jail" -f "${poudriere_conf_dir}/i386-pkglist" -p latest
+ poudriere pkgclean -j "$jail" -f "${poudriere_conf_dir}/i386-pkglist" -p latest -y
+
+ install_directory -m 0755 "${poudriere_data_dir}/data/packages/${abi}"
+ ln -snfv "../${jail}-latest" "${poudriere_data_dir}/data/packages/${abi}/latest"
done
# Clean stale distfiles and logs.