diff --git a/debian/changelog.in b/debian/changelog.in index c3bf77b..9801291 100644 --- a/debian/changelog.in +++ b/debian/changelog.in @@ -1,4 +1,4 @@ -zrythm@DASH_TRIAL@ (@ZRYTHM_PKG_VERSION@-1) unstable; urgency=medium +zrythm@DASH_TRIAL@ (@ZRYTHM_PKG_VERSION@) unstable; urgency=medium * Move from OBS diff --git a/scripts/get_pkg_filename.sh.in b/scripts/get_pkg_filename.sh.in index dad85df..625abcd 100755 --- a/scripts/get_pkg_filename.sh.in +++ b/scripts/get_pkg_filename.sh.in @@ -13,7 +13,7 @@ case "$pkg_type" in echo "zrythm${trial}-$zrythm_pkg_ver-1-x86_64.pkg.tar.zst" ;; "DEBIAN") - echo "zrythm${trial}_$zrythm_pkg_ver-1_amd64.deb" + echo "zrythm${trial}_${zrythm_pkg_ver}_amd64.deb" ;; "FEDORA") echo "zrythm${trial}-$zrythm_pkg_ver-1.x86_64.rpm" diff --git a/scripts/make_debian_pkg.sh.in b/scripts/make_debian_pkg.sh.in index 634f9ac..0290bdc 100755 --- a/scripts/make_debian_pkg.sh.in +++ b/scripts/make_debian_pkg.sh.in @@ -13,6 +13,7 @@ deb_control=$6 deb_copyright=$7 inner_dir="@ZRYTHM_INNER_DIR_NAME@" +dash_trial="@DASH_TRIAL@" tempdir=`mktemp -d` deb_parent_dir=$tempdir/$inner_dir @@ -37,6 +38,6 @@ pushd $deb_parent_dir debuild -us -uc popd -mv $tempdir/*.deb "$out_pkg" +mv "$tempdir/zrythm$dash_trial"_*.deb "$out_pkg" #rm -rf $tempdir diff --git a/scripts/make_mingw_pkg.sh.in b/scripts/make_mingw_pkg.sh.in new file mode 100755 index 0000000..eeb575f --- /dev/null +++ b/scripts/make_mingw_pkg.sh.in @@ -0,0 +1,17 @@ +#!@BASH@ + +set -e + +out_file="$1" + +pkgbuild="$2" + +tempdir=`mktemp -d` +cp $pkgbuild $tempdir/PKGBUILD +pushd $tempdir +MINGW_INSTALLS=mingw64 makepkg-mingw -fsi --noconfirm +popd $tempdir + +cp $tempdir/*.pkg.tar.zst $out_file + +rm -rf $tempdir diff --git a/scripts/make_user_manual.sh.in b/scripts/make_user_manual.sh.in index 4b25064..12e883c 100644 --- a/scripts/make_user_manual.sh.in +++ b/scripts/make_user_manual.sh.in @@ -24,6 +24,6 @@ sed -i -e 's/latexpdf/latex/' doc/user/meson.build ninja -C build latex-manual-$lang ; make -C build/doc/user/$lang/latex ; -cp build/doc/user/$lang/*.pdf $out_file +cp build/doc/user/$lang/latex/Zrythm.pdf $out_file #rm -rf $tempdir diff --git a/scripts/make_windows_chroot.sh.in b/scripts/make_windows_chroot.sh.in index d43642b..c50f6a4 100755 --- a/scripts/make_windows_chroot.sh.in +++ b/scripts/make_windows_chroot.sh.in @@ -3,8 +3,10 @@ # chroot dir chroot_dir="$1" +src_tarball="$2" + # full paths to each package (pkg.tar.zst) to install -packages="${@:2}" +packages="${@:3}" rm -rf $chroot_dir mkdir -p $chroot_dir/var/lib/pacman diff --git a/scripts/make_windows_installer.sh.in b/scripts/make_windows_installer.sh.in new file mode 100755 index 0000000..c50f6a4 --- /dev/null +++ b/scripts/make_windows_installer.sh.in @@ -0,0 +1,27 @@ +#!@BASH@ + +# chroot dir +chroot_dir="$1" + +src_tarball="$2" + +# full paths to each package (pkg.tar.zst) to install +packages="${@:3}" + +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" diff --git a/scripts/make_zrythm_mingw_pkg.sh.in b/scripts/make_zrythm_mingw_pkg.sh.in new file mode 100755 index 0000000..b64d6ef --- /dev/null +++ b/scripts/make_zrythm_mingw_pkg.sh.in @@ -0,0 +1,18 @@ +#!@BASH@ + +set -e + +out_file="$1" + +pkgbuild="$2" +src_tarball="$3" + +tempdir=`mktemp -d` +cp $pkgbuild $tempdir/PKGBUILD +pushd $tempdir +MINGW_INSTALLS=mingw64 makepkg-mingw -fsi --noconfirm +popd $tempdir + +cp $tempdir/*.pkg.tar.zst $out_file + +rm -rf $tempdir diff --git a/scripts/meson.build b/scripts/meson.build index 3c04879..cc6b6d3 100644 --- a/scripts/meson.build +++ b/scripts/meson.build @@ -27,6 +27,12 @@ make_windows_chroot = configure_file ( configuration: scripts_conf, ) +make_windows_installer = configure_file ( + output: 'make_windows_installer.sh', + input: 'make_windows_installer.sh.in', + configuration: scripts_conf, + ) + make_debian_pkg = configure_file ( output: 'make_debian_pkg.sh', input: 'make_debian_pkg.sh.in', @@ -57,6 +63,18 @@ make_user_manual = configure_file ( configuration: scripts_conf, ) +make_mingw_pkg = configure_file ( + output: 'make_mingw_pkg.sh', + input: 'make_mingw_pkg.sh.in', + configuration: scripts_conf, + ) + +make_zrythm_mingw_pkg = configure_file ( + output: 'make_zrythm_mingw_pkg.sh', + input: 'make_zrythm_mingw_pkg.sh.in', + configuration: scripts_conf, + ) + make_carla = configure_file ( output: 'make_carla.sh', input: 'make_carla.sh.in', diff --git a/PKGBUILD-jack2-mingw b/windows-msys/PKGBUILD-jack2-mingw similarity index 100% rename from PKGBUILD-jack2-mingw rename to windows-msys/PKGBUILD-jack2-mingw diff --git a/PKGBUILD-lilv-mingw b/windows-msys/PKGBUILD-lilv-mingw similarity index 100% rename from PKGBUILD-lilv-mingw rename to windows-msys/PKGBUILD-lilv-mingw diff --git a/PKGBUILD-lsp-dsp-lib-mingw b/windows-msys/PKGBUILD-lsp-dsp-lib-mingw similarity index 100% rename from PKGBUILD-lsp-dsp-lib-mingw rename to windows-msys/PKGBUILD-lsp-dsp-lib-mingw diff --git a/PKGBUILD-lv2-mingw b/windows-msys/PKGBUILD-lv2-mingw similarity index 100% rename from PKGBUILD-lv2-mingw rename to windows-msys/PKGBUILD-lv2-mingw diff --git a/PKGBUILD-meson b/windows-msys/PKGBUILD-meson similarity index 100% rename from PKGBUILD-meson rename to windows-msys/PKGBUILD-meson diff --git a/PKGBUILD-serd-mingw b/windows-msys/PKGBUILD-serd-mingw similarity index 100% rename from PKGBUILD-serd-mingw rename to windows-msys/PKGBUILD-serd-mingw diff --git a/PKGBUILD-sord-mingw b/windows-msys/PKGBUILD-sord-mingw similarity index 100% rename from PKGBUILD-sord-mingw rename to windows-msys/PKGBUILD-sord-mingw diff --git a/PKGBUILD-sratom-mingw b/windows-msys/PKGBUILD-sratom-mingw similarity index 100% rename from PKGBUILD-sratom-mingw rename to windows-msys/PKGBUILD-sratom-mingw diff --git a/PKGBUILD-w10.in b/windows-msys/PKGBUILD-w10.in similarity index 95% rename from PKGBUILD-w10.in rename to windows-msys/PKGBUILD-w10.in index 608c6aa..aa6d957 100644 --- a/PKGBUILD-w10.in +++ b/windows-msys/PKGBUILD-w10.in @@ -1,11 +1,11 @@ # Maintainer: Alexandros Theodotou -_realname=zrythm -_zplugins_ver=@ZPLUGINS_VERSION@ +_realname=zrythm@DASH_TRIAL@ +_zplugins_ver=@ZPLUGINS_VER@ _zrythm_builddir="build-zrythm-${MINGW_CHOST}" _zplugins_builddir="build-zplugins-${MINGW_CHOST}" pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" -pkgver=@VERSION@ +pkgver=@ZRYTHM_PKG_VERSION@ pkgrel=2 arch=('any') pkgdesc='a highly automated and intuitive digital audio workstation (mingw-w64)' @@ -55,7 +55,7 @@ build() { -Dguile=disabled \ -Dfallback_version=@VERSION@ \ -Dmanpage=false \ - -Dtrial_ver=false \ + -Dtrial_ver=@TRIAL_TRUE_FALSE@ \ -Dwindows_release=true -Dcarla=enabled \ --buildtype=debugoptimized \ -Dextra_debug_info=true \ diff --git a/windows-msys/meson.build b/windows-msys/meson.build new file mode 100644 index 0000000..c918f69 --- /dev/null +++ b/windows-msys/meson.build @@ -0,0 +1,164 @@ +# Copyright (C) 2020 Alexandros Theodotou +# +# This file is part of Zrythm +# +# Zrythm is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Zrythm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Zrythm. If not, see . + +windows_msys_conf = configuration_data () +windows_msys_conf.merge_from (global_conf) + +mingw_zrythm_pkgbuild = configure_file ( + output: 'PKGBUILD', + input: 'PKGBUILD-w10.in', + configuration: windows_msys_conf, + ) + +# install dependencies +independent_dep_names = [ 'jack2', 'lsp-dsp-lib', ] +independent_deps = [] +foreach dep_name : independent_dep_names + independent_deps += custom_target ( + 'mingw-' + dep_name, + output: dep_name + '.pkg.tar.zst', + input: 'PKGBUILD-' + dep_name + '-mingw', + command: [ + make_mingw_pkg, '@OUTPUT@', '@INPUT@', + ], + install: false, + ) +endforeach +lv2_pkg = custom_target ( + 'mingw-lv2', + output: 'lv2.pkg.tar.zst', + input: 'PKGBUILD-lv2-mingw', + command: [ + make_mingw_pkg, '@OUTPUT@', '@INPUT@', + ], + install: false, + ) +serd_pkg = custom_target ( + 'mingw-serd', + output: 'serd.pkg.tar.zst', + input: 'PKGBUILD-serd-mingw', + command: [ + make_mingw_pkg, '@OUTPUT@', '@INPUT@', + ], + depends: lv2_pkg, + install: false, + ) +sord_pkg = custom_target ( + 'mingw-sord', + output: 'sord.pkg.tar.zst', + input: 'PKGBUILD-sord-mingw', + command: [ + make_mingw_pkg, '@OUTPUT@', '@INPUT@', + ], + depends: serd_pkg, + install: false, + ) +sratom_pkg = custom_target ( + 'mingw-sratom', + output: 'sratom.pkg.tar.zst', + input: 'PKGBUILD-sratom-mingw', + command: [ + make_mingw_pkg, '@OUTPUT@', '@INPUT@', + ], + depends: sord_pkg, + install: false, + ) +lilv_pkg = custom_target ( + 'mingw-lilv', + output: 'lilv.pkg.tar.zst', + input: 'PKGBUILD-lilv-mingw', + command: [ + make_mingw_pkg, '@OUTPUT@', '@INPUT@', + ], + depends: sord_pkg, + install: false, + ) + +mingw_install_carla_bins_target = custom_target ( + 'mingw-install-carla', + output: 'carla-installed', + input: [ + carla_woe32_binary_64_zip, carla_woe32_binary_32_zip, + ], + command: [ + 'unzip', '-o', '@INPUT0@', '-d', '/mingw64/', '&&', + 'unzip', '-o', '@INPUT1@', '-d', '/mingw64/lib/carla', + ], + install: false, + ) + +mingw_zrythm_pkg = custom_target ( + 'mingw-zrythm-pkg', + output: 'zrythm' + dash_trial + '.pkg.tar.zst', + input: [ + mingw_zrythm_pkgbuild, zrythm_src_tarball, + ], + command: [ + make_zrythm_mingw_pkg, '@OUTPUT@', '@INPUT0@', '@INPUT1@', + ], + depends: [ + carla_installation, + lsp_dsp_lib_installation, + zplugins_installation, + ], + install: true, + install_dir: get_option ('prefix'), + ) + +chroot_dir = '/tmp/zrythm' + dash_trial + '-chroot' +windows_chroot_target = custom_target ( + 'windows-chroot', + output: 'zrythm-test', + input: [ + zrythm_src_tarball, independent_deps[0], + independent_deps[1], lv2_pkg, serd_pkg, sord_pkg, + sratom_pkg, lilv_pkg, + ], + command: [ + make_windows_chroot, chroot_dir, + '@INPUT0@', '@INPUT1@', '@INPUT2@', + '@INPUT3@', '@INPUT4@', '@INPUT5@', '@INPUT6@', '@INPUT7@', + ], + depends: [ + ], + install: false, + ) + +windows_msys_installer_filename = run_command ( + get_pkg_filename, 'WINDOWS_MSYS', dash_trial).stdout ().strip () +windows_msys_installer = custom_target ( + 'windows-msys-installer', + output: windows_msys_installer_filename, + input: [ + specfile, zrythm_src_tarball, + ], + command: [ + make_windows_msys_pkg, '@OUTPUT@', '@INPUT0@', '@INPUT1@', + ], + depends: [ + carla_installation, + lsp_dsp_lib_installation, + zplugins_installation, + ], + install: true, + install_dir: get_option ('prefix'), + ) + +run_target ( + 'windows-msys', + command: [ 'echo', 'done' ], + depends: windows_msys_installer)