Browse Source

windows: build with ucrt64 instead of mingw64 runtime

use_builds_script
Alexandros Theodotou 2 years ago
parent
commit
3d991095c0
Signed by: alex
GPG Key ID: 022EAE42313D70F3
  1. 8
      meson.build
  2. 2
      windows-msys/PKGBUILD.in
  3. 19
      windows-msys/collect_dlls.sh.in
  4. 55
      windows-msys/make_dist_dir.sh.in
  5. 11
      windows-msys/make_mingw_pkg.sh.in
  6. 18
      windows-msys/make_windows_chroot.sh.in
  7. 4
      windows-msys/make_zrythm_mingw_pkg.sh.in
  8. 12
      windows-msys/meson.build

8
meson.build

@ -46,9 +46,11 @@ orig_zrythm_src_tarball_url = zrythm_https_repo + '/archive/' + zrythm_git_ver + @@ -46,9 +46,11 @@ orig_zrythm_src_tarball_url = zrythm_https_repo + '/archive/' + zrythm_git_ver +
zrythm_inner_dir_name = 'zrythm-' + zrythm_pkg_ver
zrythm_src_tarball_filename = zrythm_inner_dir_name + '.tar.gz'
zplugins_src_tarball_filename = 'zplugins-' + zplugins_ver + '.tar.gz'
mingw_prefix = 'mingw-w64-x86_64-'
mingw_zrythm_pkg_filename = mingw_prefix + 'zrythm-' + zrythm_pkg_ver + '-1-any.pkg.tar.zst'
mingw_zrythm_trial_pkg_filename = mingw_prefix + 'zrythm-trial-' + zrythm_pkg_ver + '-1-any.pkg.tar.zst'
mingw_arch = 'ucrt64'
mingw_prefix = '/' + mingw_arch
mingw_pkg_prefix = 'mingw-w64-ucrt-x86_64-'
mingw_zrythm_pkg_filename = mingw_pkg_prefix + 'zrythm-' + zrythm_pkg_ver + '-1-any.pkg.tar.zst'
mingw_zrythm_trial_pkg_filename = mingw_pkg_prefix + 'zrythm-trial-' + zrythm_pkg_ver + '-1-any.pkg.tar.zst'
debian_src_tarball_filename = 'zrythm_' + zrythm_pkg_ver + '.orig.tar.gz'
carla_prefix = '/usr/lib/zrythm'
library_prefix = meson.build_root () / 'lib_prefix'

2
windows-msys/PKGBUILD.in

@ -93,7 +93,7 @@ build() { @@ -93,7 +93,7 @@ build() {
-Dtests=false \
"../zrythm-${pkgver}"
ninja
cp /mingw64/lib/carla/libcarla_host-plugin.dll ./src/
cp ${MINGW_PREFIX}/lib/carla/libcarla_host-plugin.dll ./src/
popd
# build zplugins

19
windows-msys/collect_dlls.sh.in

@ -24,8 +24,9 @@ copy_dll_deps_sh="$2" @@ -24,8 +24,9 @@ copy_dll_deps_sh="$2"
chroot_dir="$3"
dash_trial="@DASH_TRIAL@"
mingw_prefix="@MINGW_PREFIX@"
mingw_prefix="$chroot_dir/mingw64"
chroot_mingw_prefix="$chroot_dir$mingw_prefix"
rm -rf $out_dir
mkdir -p $out_dir
@ -34,18 +35,18 @@ main () { @@ -34,18 +35,18 @@ main () {
echo "Copying dlls..."
$copy_dll_deps_sh \
--infile "$mingw_prefix/bin/zrythm$dash_trial.exe" \
--infile "$chroot_mingw_prefix/bin/zrythm$dash_trial.exe" \
--destdir $out_dir/ \
--recursivesrcdir "$mingw_prefix/bin" \
--srcdir "$mingw_prefix/bin" \
--objdump "/mingw64/bin/objdump.exe" \
--recursivesrcdir "$chroot_mingw_prefix/bin" \
--srcdir "$chroot_mingw_prefix/bin" \
--objdump "$mingw_prefix/bin/objdump.exe" \
--copy
# some dlls need to be copied manually
cp $mingw_prefix/bin/librsvg-2-2.dll $out_dir/
cp $mingw_prefix/lib/carla/libcarla_host-plugin.dll $out_dir/
cp $mingw_prefix/bin/libfftw3-3.dll $out_dir/
cp $mingw_prefix/bin/libfftw3f-3.dll $out_dir/
cp $chroot_mingw_prefix/bin/librsvg-2-2.dll $out_dir/
cp $chroot_mingw_prefix/lib/carla/libcarla_host-plugin.dll $out_dir/
cp $chroot_mingw_prefix/bin/libfftw3-3.dll $out_dir/
cp $chroot_mingw_prefix/bin/libfftw3f-3.dll $out_dir/
# ******************************
}

55
windows-msys/make_dist_dir.sh.in

@ -34,8 +34,9 @@ zrythm_pkg_ver="@ZRYTHM_PKG_VERSION@" @@ -34,8 +34,9 @@ zrythm_pkg_ver="@ZRYTHM_PKG_VERSION@"
zrythm_inner_dir_name="@ZRYTHM_INNER_DIR_NAME@"
zrythm_src_tarball_filename="@ZRYTHM_SOURCE_TARBALL_FILENAME@"
is_tag='@IS_TAG@'
mingw_prefix='@MINGW_PREFIX@'
mingw_prefix="$chroot_dir/mingw64"
chroot_mingw_prefix="$chroot_dir$mingw_prefix"
app_name="Zrythm$dash_trial"
installer_dir=$private_dir/installer
@ -91,7 +92,7 @@ EOL @@ -91,7 +92,7 @@ EOL
cp $src_dir/data/windows/zrythm.ico $dist_dir/zrythm.ico
# copy plugins from the chroot dir
cp -R $chroot_dir/mingw64/lib/lv2/Z*.lv2 $dist_dir/plugins/
cp -R $chroot_mingw_prefix/lib/lv2/Z*.lv2 $dist_dir/plugins/
# remove some plugins if trial ver
if [ "$dash_trial" == "-trial" ]; then \
rm -rf $dist_dir/plugins/ZChordz*.lv2 ; \
@ -99,8 +100,8 @@ EOL @@ -99,8 +100,8 @@ EOL
fi
mkdir -p $dist_dir/$glib_schemas_dir_suffix
glib-compile-schemas $mingw_prefix/$glib_schemas_dir_suffix
cp $mingw_prefix/$glib_schemas_dir_suffix/* $dist_dir/$glib_schemas_dir_suffix/
glib-compile-schemas $chroot_mingw_prefix/$glib_schemas_dir_suffix
cp $chroot_mingw_prefix/$glib_schemas_dir_suffix/* $dist_dir/$glib_schemas_dir_suffix/
# ******************************
echo "Copying dlls..."
@ -119,7 +120,7 @@ EOL @@ -119,7 +120,7 @@ EOL
# ******************************
cp -R $mingw_prefix/etc/fonts $dist_etcdir
cp -R $chroot_mingw_prefix/etc/fonts $dist_etcdir
# ******************************
# ******************************
@ -129,47 +130,47 @@ EOL @@ -129,47 +130,47 @@ EOL
cp -R "$breeze_dark_path" "$dist_sharedir/icons"/breeze-dark
echo "packaging existing hicolor icons"
cp -R "$mingw_prefix/share/icons/hicolor" "$dist_sharedir/icons/"
cp -R "$chroot_mingw_prefix/share/icons/hicolor" "$dist_sharedir/icons/"
echo "packaging Adwaita cursors"
mkdir -p "$dist_sharedir/icons/Adwaita"
cp -R "$mingw_prefix/share/icons/Adwaita/cursors" "$dist_sharedir/icons/Adwaita/"
cp -R "$chroot_mingw_prefix/share/icons/Adwaita/cursors" "$dist_sharedir/icons/Adwaita/"
# ******************************
# ******************************
echo "packaging gtksourceview files"
cp -R $mingw_prefix/share/gtksourceview-4 $dist_sharedir/
cp -R $chroot_mingw_prefix/share/gtksourceview-4 $dist_sharedir/
# ******************************
# ******************************
echo "packaging locales"
cp -R $mingw_prefix/share/locale $dist_sharedir/
cp -R $chroot_mingw_prefix/share/locale $dist_sharedir/
# ******************************
# ******************************
echo "packaging other assets"
cp -R $mingw_prefix/share/zrythm $dist_sharedir/
cp -R $chroot_mingw_prefix/share/zrythm $dist_sharedir/
# ******************************
# ******************************
echo "packaging fonts"
cp -R $mingw_prefix/share/fonts $dist_sharedir/
cp -R $chroot_mingw_prefix/share/fonts $dist_sharedir/
# ******************************
# ******************************
echo "packaging gdk pixbuf loaders"
pixbuf_dir="lib/gdk-pixbuf-2.0/2.10.0"
mkdir -p "$dist_dir/$pixbuf_dir/loaders"
cp "$mingw_prefix/$pixbuf_dir/loaders/"*.dll \
cp "$chroot_mingw_prefix/$pixbuf_dir/loaders/"*.dll \
"$dist_dir/$pixbuf_dir/loaders/"
gdk_pixbuf_module_dir="$mingw_prefix/$pixbuf_dir/loaders" \
$mingw_prefix/bin/gdk-pixbuf-query-loaders.exe \
$mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-svg.dll \
$mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-jpeg.dll \
$mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-gif.dll \
$mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-bmp.dll \
$mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-tiff.dll \
$mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-png.dll > \
gdk_pixbuf_module_dir="$chroot_mingw_prefix/$pixbuf_dir/loaders" \
$chroot_mingw_prefix/bin/gdk-pixbuf-query-loaders.exe \
$chroot_mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-svg.dll \
$chroot_mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-jpeg.dll \
$chroot_mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-gif.dll \
$chroot_mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-bmp.dll \
$chroot_mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-tiff.dll \
$chroot_mingw_prefix/$pixbuf_dir/loaders/libpixbufloader-png.dll > \
"$dist_dir/$pixbuf_dir/loaders.cache"
sed -i -e 's|.*loaders/|"lib\\\\gdk-pixbuf-2.0\\\\2.10.0\\\\loaders\\\\|g' \
"$dist_dir/$pixbuf_dir/loaders.cache"
@ -177,20 +178,20 @@ EOL @@ -177,20 +178,20 @@ EOL
# ******************************
echo "packaging binaries"
orig_zrythm_exe="$mingw_prefix/bin/zrythm$dash_trial.exe"
orig_zrythm_exe="$chroot_mingw_prefix/bin/zrythm$dash_trial.exe"
zrythm_exe="$dist_bindir/zrythm.exe"
cp "$orig_zrythm_exe" "$zrythm_exe"
"$zrythm_exe" --version
tree -L 4 "$mingw_prefix"
tree -L 4 "$chroot_mingw_prefix"
mkdir -p "$dist_libdir/zrythm/carla"
cp $mingw_prefix/lib/zrythm/carla/carla*.exe "$dist_libdir/zrythm/carla/"
if [ -f "$mingw_prefix/bin/gdbus.exe" ]; then
cp "$mingw_prefix/bin/gdbus.exe" "$dist_bindir/"
cp $chroot_mingw_prefix/lib/zrythm/carla/carla*.exe "$dist_libdir/zrythm/carla/"
if [ -f "$chroot_mingw_prefix/bin/gdbus.exe" ]; then
cp "$chroot_mingw_prefix/bin/gdbus.exe" "$dist_bindir/"
fi
$rcedit_x64_exe "$zrythm_exe" --set-icon "$dist_dir/zrythm.ico"
"$zrythm_exe" --version
cp "$mingw_prefix/bin/gspawn-win64-helper.exe" "$dist_bindir/"
cp "$mingw_prefix/bin/gspawn-win64-helper-console.exe" "$dist_bindir/"
cp "$chroot_mingw_prefix/bin/gspawn-win64-helper.exe" "$dist_bindir/"
cp "$chroot_mingw_prefix/bin/gspawn-win64-helper-console.exe" "$dist_bindir/"
# ******************************

11
windows-msys/make_mingw_pkg.sh.in

@ -19,14 +19,15 @@ @@ -19,14 +19,15 @@
set -ex
mingw_pkg_prefix="@MINGW_PKG_PREFIX@"
out_file="$1"
pkgbuild="$2"
private_dir="$3"
arch="$4"
arch_name="$5"
tarball="$6"
patches="${@:7}"
tarball="$5"
patches="${@:6}"
patches_array=($patches)
pkgname="`basename $pkgbuild`"
@ -36,7 +37,7 @@ pkgname=${pkgname%"-mingw"} @@ -36,7 +37,7 @@ pkgname=${pkgname%"-mingw"}
while test -f /var/lib/pacman/db.lck; do
sleep 1
done
pacman -R "mingw-w64-$arch_name-$pkgname" --noconfirm || true
pacman -R "$mingw_pkg_prefix-$pkgname" --noconfirm || true
rm -rf $private_dir
mkdir -p $private_dir
@ -50,7 +51,7 @@ if ! [ "$tarball" = "" ]; then @@ -50,7 +51,7 @@ if ! [ "$tarball" = "" ]; then
cp "$tarball" $private_dir/
fi
pushd $private_dir
MINGW_INSTALLS="$arch" makepkg-mingw -fs --noconfirm
MINGW_ARCH="$arch" makepkg-mingw -fs --noconfirm
popd
while test -f /var/lib/pacman/db.lck; do
sleep 1

18
windows-msys/make_windows_chroot.sh.in

@ -31,6 +31,10 @@ packages="${@:4}" @@ -31,6 +31,10 @@ packages="${@:4}"
packages_array=($packages)
dash_trial="@DASH_TRIAL@"
mingw_pkg_prefix="@MINGW_PKG_PREFIX@"
mingw_prefix="@MINGW_PREFIX@"
chroot_mingw_prefix="$chroot_dir$mingw_prefix"
rm -rf $chroot_dir
mkdir -p $chroot_dir/var/lib/pacman
@ -44,16 +48,16 @@ for pkg in "${packages_array[@]}"; do @@ -44,16 +48,16 @@ for pkg in "${packages_array[@]}"; do
pacman -U "$pkg" --noconfirm --needed --root $chroot_dir
done
# verify plugins exist
ls -l $chroot_dir/mingw64/lib/lv2/Z*.lv2
ls -l $chroot_dir$mingwprefix/lib/lv2/Z*.lv2
pacman -S \
mingw-w64-x86_64-gtksourceview4 \
mingw-w64-x86_64-fftw \
mingw-w64-x86_64-adwaita-icon-theme \
"$mingw_pkg_prefix-gtksourceview4" \
"$mingw_pkg_prefix-fftw" \
"$mingw_pkg_prefix-adwaita-icon-theme" \
--noconfirm --needed --root $chroot_dir
cp -R /mingw64/lib/carla "$chroot_dir/mingw64/lib/"
cp -R $mingw_prefix/lib/carla "$chroot_mingw_prefix/lib/"
glib-compile-schemas.exe \
"$chroot_dir/mingw64/share/glib-2.0/schemas"
"$chroot_mingw_prefix/share/glib-2.0/schemas"
cp $chroot_dir/mingw64/bin/zrythm.exe $chroot_dir/mingw64/bin/zrythm$dash_trial.exe || true
cp $chroot_mingw_prefix/bin/zrythm.exe $chroot_mingw_prefix/bin/zrythm$dash_trial.exe || true
touch $out_file

4
windows-msys/make_zrythm_mingw_pkg.sh.in

@ -19,6 +19,8 @@ @@ -19,6 +19,8 @@
set -ex
mingw_pkg_prefix="@MINGW_PKG_PREFIX@"
out_file="$1"
pkgbuild="$2"
@ -28,7 +30,7 @@ private_dir="$5" @@ -28,7 +30,7 @@ private_dir="$5"
dash_trial="@DASH_TRIAL@"
pkgname="mingw-w64-x86_64-zrythm$dash_trial"
pkgname="$mingw_pkg_prefix-zrythm$dash_trial"
pacman -R $pkgname --noconfirm || true
rm -rf $private_dir

12
windows-msys/meson.build

@ -36,6 +36,10 @@ windows_msys_conf.set ( @@ -36,6 +36,10 @@ windows_msys_conf.set (
windows_msys_conf.set (
'SUPPORTING_TEXT',
build_trial ? 'trying out' : 'supporting')
windows_msys_conf.set (
'MINGW_PKG_PREFIX', mingw_pkg_prefix)
windows_msys_conf.set (
'MINGW_PREFIX', mingw_prefix)
windows_msys_conf.set ('IS_TAG', is_tag ? 'true' : 'false')
mingw_zrythm_pkgbuild = configure_file (
@ -113,17 +117,17 @@ carla_zip_windows = custom_target ( @@ -113,17 +117,17 @@ carla_zip_windows = custom_target (
make_mingw_pkg_cmd = [
bash, '-c', '@INPUT0@ "$1" "$2" "$3" "$4" ' +
'"$5" "$6" "$7"',
'"$5" "$6"',
'_ignored',
'@OUTPUT@', '@INPUT1@', '@PRIVATE_DIR@',
'mingw64', 'x86_64', '', '',
mingw_arch, '', '',
]
make_mingw_pkg_cmd_full = [
bash, '-c', '@INPUT0@ "$1" "$2" "$3" "$4" ' +
'"$5" "$6" "$7"',
'"$5" "$6"',
'_ignored',
'@OUTPUT@', '@INPUT1@', '@PRIVATE_DIR@',
'mingw64', 'x86_64', '', '@INPUT2@',
mingw_arch, '', '@INPUT2@',
]
# sources

Loading…
Cancel
Save