From 47b925a2941176871f182bc468a911f2fcc23ad2 Mon Sep 17 00:00:00 2001 From: Alexandros Theodotou Date: Sat, 5 Sep 2020 09:19:19 +0100 Subject: [PATCH] update windows --- meson.build | 15 ++-- scripts/make_windows_chroot.sh.in | 4 ++ scripts/make_windows_installer.sh.in | 70 +++++++++++++------ windows-msys/PKGBUILD-w10.in | 2 +- .../gen_windows_installer.sh | 0 {tools/inno => windows-msys}/installer.iss | 0 windows-msys/meson.build | 43 +++++++++--- 7 files changed, 99 insertions(+), 35 deletions(-) rename {tools => windows-msys}/gen_windows_installer.sh (100%) rename {tools/inno => windows-msys}/installer.iss (100%) diff --git a/meson.build b/meson.build index 0ba6e81..5082a0c 100644 --- a/meson.build +++ b/meson.build @@ -58,6 +58,11 @@ foreach locale : locales space_sep_locales += locale + ' ' endforeach space_sep_locales.strip () +is_arch = distro.contains ('arch') +is_debian = distro.contains ('debian') or distro.contains ('ubuntu') +is_nixos = distro.contains ('nixos') +is_rpm = distro.contains ('fedora') +is_windows_msys = distro.contains ('windows10-msys') global_conf = configuration_data () global_conf.set ('PREFIX', prefix) @@ -115,6 +120,8 @@ global_conf.set ( 'LILV_VERSION', get_option ('lilv-ver')) global_conf.set ( 'JACK_VERSION', get_option ('jack-ver')) +global_conf.set ( + 'BREEZE_DARK_PATH', get_option ('breeze-dark-path')) subdir ('scripts') subdir ('sources') @@ -156,22 +163,22 @@ lsp_dsp_lib_installation = custom_target ( install: false, ) -is_arch = distro.contains ('arch') if is_arch subdir ('arch') endif -is_debian = distro.contains ('debian') or distro.contains ('ubuntu') if is_debian subdir ('debian') endif -is_nixos = distro.contains ('nixos') if is_nixos subdir ('nixos') endif -is_rpm = distro.contains ('fedora') if is_rpm subdir ('rpm') endif + +if is_windows_msys +subdir ('windows-msys') +endif diff --git a/scripts/make_windows_chroot.sh.in b/scripts/make_windows_chroot.sh.in index c50f6a4..bd007a2 100755 --- a/scripts/make_windows_chroot.sh.in +++ b/scripts/make_windows_chroot.sh.in @@ -8,6 +8,8 @@ src_tarball="$2" # full paths to each package (pkg.tar.zst) to install packages="${@:3}" +dash_trial="@DASH_TRIAL@" + rm -rf $chroot_dir mkdir -p $chroot_dir/var/lib/pacman mkdir -p $chroot_dir/var/log @@ -25,3 +27,5 @@ pacman -U $zrythm_pkg_tar \ cp -R /mingw64/lib/carla "$chroot_dir/mingw64/lib/" glib-compile-schemas.exe \ "$chroot_dir/mingw64/share/glib-2.0/schemas" + +cp $chroot_dir/mingw64/bin/zrythm.exe $chroot_dir/mingw64/bin/zrythm$dash_trial.exe || true diff --git a/scripts/make_windows_installer.sh.in b/scripts/make_windows_installer.sh.in index c50f6a4..4c0769c 100755 --- a/scripts/make_windows_installer.sh.in +++ b/scripts/make_windows_installer.sh.in @@ -1,27 +1,53 @@ #!@BASH@ -# chroot dir -chroot_dir="$1" +out_file="$1" -src_tarball="$2" +mingw_zrythm_pkg="$2" +zrythm_src_tarball="$3" +chroot_dir="$4" +gen_windows_installer_sh="$5" +inno_installer_iss="$6" +meson_src_root="$7" +private_dir="$" -# full paths to each package (pkg.tar.zst) to install -packages="${@:3}" +inner_dir="@ZRYTHM_INNER_DIR_NAME@" +dash_trial="@DASH_TRIAL@" +zrythm_pkg_ver="@ZRYTHM_PKG_VERSION@" -rm -rf $chroot_dir -mkdir -p $chroot_dir/var/lib/pacman -mkdir -p $chroot_dir/var/log -mkdir -p $chroot_dir/tmp -pacman -Syu --root $chroot_dir -pacman -S \ - filesystem bash pacman \ - mingw-w64-x86_64-gtksourceview4 \ - --noconfirm --needed --root $chroot_dir -for pkg in "$packages"; do - pacman -U "$pkg" --noconfirm --needed --root $chroot_dir -done -pacman -U $zrythm_pkg_tar \ - --noconfirm --needed --root $chroot_dir -cp -R /mingw64/lib/carla "$chroot_dir/mingw64/lib/" -glib-compile-schemas.exe \ - "$chroot_dir/mingw64/share/glib-2.0/schemas" +tempdir=`mktemp -d -p @PRIVATE_DIR@` +tempdir2=`mktemp -d -p @PRIVATE_DIR@` + +# create sources distribution +mkdir -p $tempdir/installer/dist/plugins +# add thirdparty version info +echo "TODO" > $tempdir/installer/dist/THIRDPARTY_INFO +# copy other files +tar xf $zrythm_src_tarball -C $tempdir2 +zrythm_tmp_src_dir=$tempdir2/$inner_dir +installer_dir=$tempdir/installer +dist_dir=$installer_dir/dist +cp $zrythm_tmp_src_dir/AUTHORS $dist_dir/ +cp $zrythm_tmp_src_dir/COPYING* $dist_dir/ +cp $zrythm_tmp_src_dir/README.md $dist_dir/README.txt +cp $zrythm_tmp_src_dir/CONTRIBUTING.md $dist_dir/ +cp $zrythm_tmp_src_dir/THANKS $dist_dir/ +cp $zrythm_tmp_src_dir/TRANSLATORS $dist_dir/ +cp $zrythm_tmp_src_dir/CHANGELOG.md $dist_dir/ +cp $zrythm_tmp_src_dir/data/windows/zrythm.ico $dist_dir/zrythm.ico +#cp $(BUILD_DIR)/$(RCEDIT64_EXE) $(BUILD_WINDOWS_MSYS_DIR)/installer/ +# copy plugins from the chroot dir +cp -R $chroot_dir/mingw64/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 ; \ + rm -rf $dist_dir/plugins/ZLFO*.lv2 ; \ +fi +# create installer +chmod +x $gen_windows_installer_sh +sed -i -e "s/sudo //g" $gen_windows_installer_sh +$gen_windows_installer_sh $chroot_dir/mingw64 \ + $zrythm_pkg_ver $installer_dir \ + $inno_installer_iss "Zrythm$dash_trial" \ + plugins "@BREEZE_DARK_PATH@" \ + "$meson_src_root/user-manual.zip" "$dash_trial" +cp "$dist_dir/Output/Zrythm$dash_trial $zrythm_pkg_ver.exe" $out_file diff --git a/windows-msys/PKGBUILD-w10.in b/windows-msys/PKGBUILD-w10.in index aa6d957..e73dc74 100644 --- a/windows-msys/PKGBUILD-w10.in +++ b/windows-msys/PKGBUILD-w10.in @@ -53,7 +53,7 @@ build() { -Drtmidi=auto -Dstatic_lsp_dsp=true \ -Djack=enabled \ -Dguile=disabled \ - -Dfallback_version=@VERSION@ \ + -Dfallback_version=@ZRYTHM_PKG_VERSION@ \ -Dmanpage=false \ -Dtrial_ver=@TRIAL_TRUE_FALSE@ \ -Dwindows_release=true -Dcarla=enabled \ diff --git a/tools/gen_windows_installer.sh b/windows-msys/gen_windows_installer.sh similarity index 100% rename from tools/gen_windows_installer.sh rename to windows-msys/gen_windows_installer.sh diff --git a/tools/inno/installer.iss b/windows-msys/installer.iss similarity index 100% rename from tools/inno/installer.iss rename to windows-msys/installer.iss diff --git a/windows-msys/meson.build b/windows-msys/meson.build index c918f69..06761ab 100644 --- a/windows-msys/meson.build +++ b/windows-msys/meson.build @@ -88,6 +88,31 @@ lilv_pkg = custom_target ( install: false, ) +# get carla binary zips +carla_bin_base_url = 'https://www.zrythm.org/downloads/carla/' +filename = 'carla-2.2.0-rc1-woe32.zip' +url = carla_bin_base_url + filename +carla_woe32_binary_32_zip = custom_target ( + 'carla-woe32-binary-32-zip', + output: filename, + command: [ + 'wget', url, '-O', '@OUTPUT@', + ], + install: false, + ) +carla_short_git_ver = run_command ( + 'bash', '-c', 'echo ' + carla_git_ver + ' | head -c 7').stdout ().strip () +filename = 'carla-64-' + carla_short_git_ver + '.zip' +url = carla_bin_base_url + filename +carla_woe32_binary_64_zip = custom_target ( + 'carla-woe32-binary-64-zip', + output: filename, + command: [ + 'wget', url, '-O', '@OUTPUT@', + ], + install: false, + ) + mingw_install_carla_bins_target = custom_target ( 'mingw-install-carla', output: 'carla-installed', @@ -106,9 +131,11 @@ mingw_zrythm_pkg = custom_target ( output: 'zrythm' + dash_trial + '.pkg.tar.zst', input: [ mingw_zrythm_pkgbuild, zrythm_src_tarball, + 'gen_windows_installer.sh', 'installer.iss', ], command: [ - make_zrythm_mingw_pkg, '@OUTPUT@', '@INPUT0@', '@INPUT1@', + make_zrythm_mingw_pkg, '@OUTPUT@', '@INPUT0@', + '@INPUT1@', '@INPUT2@', meson.source_root (), ], depends: [ carla_installation, @@ -126,12 +153,13 @@ windows_chroot_target = custom_target ( input: [ zrythm_src_tarball, independent_deps[0], independent_deps[1], lv2_pkg, serd_pkg, sord_pkg, - sratom_pkg, lilv_pkg, + sratom_pkg, lilv_pkg, mingw_zrythm_pkg, ], command: [ make_windows_chroot, chroot_dir, '@INPUT0@', '@INPUT1@', '@INPUT2@', - '@INPUT3@', '@INPUT4@', '@INPUT5@', '@INPUT6@', '@INPUT7@', + '@INPUT3@', '@INPUT4@', '@INPUT5@', '@INPUT6@', + '@INPUT7@', '@INPUT8@', ], depends: [ ], @@ -144,15 +172,14 @@ windows_msys_installer = custom_target ( 'windows-msys-installer', output: windows_msys_installer_filename, input: [ - specfile, zrythm_src_tarball, + mingw_zrythm_pkg, zrythm_src_tarball, ], command: [ - make_windows_msys_pkg, '@OUTPUT@', '@INPUT0@', '@INPUT1@', + make_windows_installer, '@OUTPUT@', '@INPUT0@', + chroot_dir, ], depends: [ - carla_installation, - lsp_dsp_lib_installation, - zplugins_installation, + windows_chroot_target, ], install: true, install_dir: get_option ('prefix'),