Browse Source

use carla develop for windows (WIP)

use_builds_script
Alexandros Theodotou 3 years ago
parent
commit
a9e4049d97
Signed by: alex
GPG Key ID: 022EAE42313D70F3
  1. 27
      meson.build
  2. 2
      meson_options.txt
  3. 4
      rpm/meson.build
  4. 4
      rpm/zrythm.spec.in
  5. 15
      scripts/make_carla.sh.in
  6. 5
      scripts/make_lsp_dsp_lib.sh.in
  7. 36
      windows-msys/PKGBUILD-carla-mingw
  8. 9
      windows-msys/install_carla.sh.in
  9. 1
      windows-msys/make_dist_dir.sh.in
  10. 10
      windows-msys/make_mingw_pkg.sh.in
  11. 60
      windows-msys/meson.build

27
meson.build

@ -48,10 +48,9 @@ mingw_prefix = 'mingw-w64-x86_64-' @@ -48,10 +48,9 @@ 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'
debian_src_tarball_filename = 'zrythm_' + zrythm_pkg_ver + '.orig.tar.gz'
temp_carla_prefix = meson.build_root () / 'tmp_carla_prefix'
temp_carla_pkgconfig_path = temp_carla_prefix / libdir / 'pkgconfig'
temp_library_prefix = meson.build_root () / 'tmp_lib_prefix'
temp_library_pkgconfig_path = temp_library_prefix / libdir / 'pkgconfig'
carla_prefix = '/usr/lib/zrythm'
library_prefix = meson.build_root () / 'lib_prefix'
library_pkgconfig_path = library_prefix / libdir / 'pkgconfig'
dash_trial = build_trial ? '-trial' : ''
locales = get_option ('locales')
space_sep_locales = ''
@ -106,13 +105,11 @@ global_conf.set ( @@ -106,13 +105,11 @@ global_conf.set (
global_conf.set (
'LSP_DSP_LIB_VER', lsp_dsp_lib_ver)
global_conf.set (
'TEMP_LIBRARY_PREFIX', temp_library_prefix)
'LIBRARY_PREFIX', library_prefix)
global_conf.set (
'TEMP_LIBRARY_PKG_CONFIG_PATH', temp_library_pkgconfig_path)
'LIBRARY_PKG_CONFIG_PATH', library_pkgconfig_path)
global_conf.set (
'TEMP_CARLA_PREFIX', temp_carla_prefix)
global_conf.set (
'TEMP_CARLA_PKG_CONFIG_PATH', temp_carla_pkgconfig_path)
'CARLA_PREFIX', carla_prefix)
global_conf.set ('DASH_TRIAL', dash_trial)
global_conf.set (
'TRIAL_TRUE_FALSE', build_trial ? 'true' : 'false')
@ -158,15 +155,16 @@ subdir ('sources') @@ -158,15 +155,16 @@ subdir ('sources')
carla_installation = custom_target (
'carla-installation',
output: 'carla-native-plugin.pc',
output: 'carla-prefix',
input: carla_src_zip,
command: [
make_carla, '@INPUT@', carla_git_ver, '@PRIVATE_DIR@', '&&',
'cp', temp_carla_pkgconfig_path / 'carla-native-plugin.pc',
'@OUTPUT@',
make_carla, '@OUTPUT@', '@INPUT@', '@PRIVATE_DIR@',
carla_prefix,
],
console: true,
install: false,
)
carla_pkgconfig_path = carla_installation.full_path () / carla_prefix / 'lib/pkgconfig'
zplugins_installation = custom_target (
'zplugins-installation',
@ -176,6 +174,7 @@ zplugins_installation = custom_target ( @@ -176,6 +174,7 @@ zplugins_installation = custom_target (
make_zplugins, '@OUTPUT@', zplugins_src_tarball,
'@PRIVATE_DIR@',
],
console: true,
install: false,
)
@ -190,7 +189,7 @@ lsp_dsp_lib_installation = custom_target ( @@ -190,7 +189,7 @@ lsp_dsp_lib_installation = custom_target (
input: lsp_dsp_lib_src_tarball,
command: [
make_lsp_dsp_lib, '@INPUT@', '&&',
'cp', temp_library_pkgconfig_path / 'lsp-dsp-lib.pc',
'cp', library_pkgconfig_path / 'lsp-dsp-lib.pc',
'@OUTPUT@',
],
install: false,

2
meson_options.txt

@ -42,7 +42,7 @@ option ( @@ -42,7 +42,7 @@ option (
option (
'carla-git-ver', type: 'string',
value: '6a783076e89b878339190aeb60477d21a9596068',
value: '411e0f42651d2596064bb7cbc70f27db589d570f',
description: 'Carla version')
option (

4
rpm/meson.build

@ -19,6 +19,10 @@ rpm_conf = configuration_data () @@ -19,6 +19,10 @@ rpm_conf = configuration_data ()
rpm_conf.merge_from (global_conf)
rpm_conf.set (
'BUILT_ZPLUGINS_DIR', zplugins_installation.full_path ())
rpm_conf.set (
'CARLA_DESTDIR', carla_installation.full_path ())
rpm_conf.set (
'CARLA_PKG_CONFIG_PATH', carla_pkgconfig_path)
specfile = configure_file (
output: 'zrythm.spec',

4
rpm/zrythm.spec.in

@ -88,14 +88,14 @@ and is designed to be intuitive to use. @@ -88,14 +88,14 @@ and is designed to be intuitive to use.
%build
rm -rf build
@MESON_BIN@ build --prefix=/usr -Dpkg_config_path=@TEMP_LIBRARY_PKG_CONFIG_PATH@:@TEMP_CARLA_PKG_CONFIG_PATH@ -Dtests=true -Dmanpage=true --buildtype=debugoptimized -Dsdl=enabled -Drtaudio=auto -Drtmidi=auto -Dtrial_ver=@TRIAL_TRUE_FALSE@ -Dcarla=enabled -Dgraphviz=enabled -Dlsp_dsp=enabled -Dstatic_lsp_dsp=true -Dfallback_version=@ZRYTHM_PKG_VERSION@
@MESON_BIN@ build --prefix=/usr -Dpkg_config_path=@LIBRARY_PKG_CONFIG_PATH@:@CARLA_PKG_CONFIG_PATH@ -Dtests=true -Dmanpage=true --buildtype=debugoptimized -Dsdl=enabled -Drtaudio=auto -Drtmidi=auto -Dtrial_ver=@TRIAL_TRUE_FALSE@ -Dcarla=enabled -Dgraphviz=enabled -Dlsp_dsp=enabled -Dstatic_lsp_dsp=true -Dfallback_version=@ZRYTHM_PKG_VERSION@
ninja -C build
%install
DESTDIR="%{buildroot}/" ninja -C build install
mkdir -p "%{buildroot}/usr/lib/zrythm/lib/lv2"
rm -rf "%{buildroot}/usr/lib64/libcm_reproc.a"
cp -RLv @TEMP_CARLA_PREFIX@/@LIBDIR@/carla \
cp -RLv @CARLA_DESTDIR@/@CARLA_PREFIX@/lib/carla \
%{buildroot}/usr/lib/zrythm/lib/
cp -RLv @BUILT_ZPLUGINS_DIR@/* \
%{buildroot}/usr/lib/zrythm/lib/lv2/

15
scripts/make_carla.sh.in

@ -1,12 +1,12 @@ @@ -1,12 +1,12 @@
#!@BASH@
set -e
set -ex
# full path to carla source zip
carla_source_zip="$1"
private_dir="$2"
out_dir="$1"
carla_source_zip="$2"
private_dir="$3"
prefix="$4"
prefix="@TEMP_CARLA_PREFIX@"
carla_git_ver="@CARLA_GIT_VER@"
export CC=@CC@
@ -16,8 +16,11 @@ if pkg-config --atleast-version=2.1 carla-native-plugin ; then @@ -16,8 +16,11 @@ if pkg-config --atleast-version=2.1 carla-native-plugin ; then
echo "latest carla installed" ;
fi
pwd
rm -rf $private_dir
mkdir -p $private_dir
unzip -o "$carla_source_zip" -d "$private_dir"
cd "$private_dir/Carla-$carla_git_ver"
make -j4 && make install PREFIX="$prefix" LIBDIR=$prefix/@LIBDIR@
make features
make -j4
make install DESTDIR="$out_dir" PREFIX="$prefix" LIBDIR=$prefix/lib

5
scripts/make_lsp_dsp_lib.sh.in

@ -5,7 +5,7 @@ set -e @@ -5,7 +5,7 @@ set -e
tarball=$1
lsp_dsp_lib_ver="@LSP_DSP_LIB_VER@"
temp_lib_prefix="@TEMP_LIBRARY_PREFIX@"
temp_lib_prefix="@LIBRARY_PREFIX@"
export CC=@CC@
@ -14,5 +14,6 @@ tar xf $tarball -C $tempdir @@ -14,5 +14,6 @@ tar xf $tarball -C $tempdir
ls -l "$tempdir"
cd "$tempdir/lsp-dsp-lib"
make config PREFIX=$temp_lib_prefix LIBDIR=$temp_lib_prefix/@LIBDIR@
make -j4 && make install
make -j4
make install
rm -rf $tempdir

36
windows-msys/PKGBUILD-carla-mingw

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
# Maintainer: Alexandros Theodotou <alex at zrythm dot org>
_realname=carla
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.2.0
pkgrel=1
arch=('any')
pkgdesc='carla'
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-pkg-config")
options=('strip' 'staticlibs')
license=("GPL2")
url="https://github.com/sadko4u/lsp-dsp-lib"
source=("Carla-2.2.0-RC2.tar.gz")
sha256sums=('SKIP')
prepare() {
ls
rm -rf ${_realname}-${pkgver}
mv "Carla-2.2.0-RC2" ${_realname}-${pkgver}
cd ${_realname}-${pkgver}
make features
}
build() {
cd "${srcdir}/${_realname}-${pkgver}"
make PREFIX=${MINGW_PREFIX} BUILDING_FOR_WINDOWS=true
}
package() {
cd "${srcdir}/${_realname}-${pkgver}"
make DESTDIR=${pkgdir} PREFIX="${MINGW_PREFIX}" BUILDING_FOR_WINDOWS=true install
}

9
windows-msys/install_carla.sh.in

@ -4,10 +4,13 @@ set -ex @@ -4,10 +4,13 @@ set -ex
out_file="$1"
carla_woe32_binary_64="$2"
carla_woe32_binary_32="$3"
carla_woe32_binary_32="$2"
carla_woe32_binary_64="$3"
unzip -o $carla_woe32_binary_64 -d /mingw64/
if ! [ "$carla_woe32_binary_64" = "" ]; then
unzip -o $carla_woe32_binary_64 -d /mingw64/
fi
mkdir -p /mingw64/lib/carla
unzip -o $carla_woe32_binary_32 -d /mingw64/lib/carla
touch $out_file

1
windows-msys/make_dist_dir.sh.in

@ -146,7 +146,6 @@ main () { @@ -146,7 +146,6 @@ main () {
echo "packaging binaries"
orig_zrythm_exe="$mingw_prefix/bin/zrythm$dash_trial.exe"
zrythm_exe="$dist_bindir/zrythm.exe"
"$orig_zrythm_exe" --version
cp "$orig_zrythm_exe" "$zrythm_exe"
"$zrythm_exe" --version
cp $mingw_prefix/bin/carla*.exe "$dist_bindir/"

10
windows-msys/make_mingw_pkg.sh.in

@ -6,6 +6,9 @@ out_file="$1" @@ -6,6 +6,9 @@ out_file="$1"
pkgbuild="$2"
private_dir="$3"
arch="$4"
arch_name="$5"
tarball="$6"
pkgname="`basename $pkgbuild`"
pkgname=${pkgname#"PKGBUILD-"}
@ -14,13 +17,16 @@ pkgname=${pkgname%"-mingw"} @@ -14,13 +17,16 @@ pkgname=${pkgname%"-mingw"}
while test -f /var/lib/pacman/db.lck; do
sleep 1
done
pacman -R mingw-w64-x86_64-$pkgname --noconfirm || true
pacman -R "mingw-w64-$arch_name-$pkgname" --noconfirm || true
rm -rf $private_dir
mkdir -p $private_dir
cp $pkgbuild $private_dir/PKGBUILD
if ! [ "$tarball" = "" ]; then
cp "$tarball" $private_dir/
fi
pushd $private_dir
MINGW_INSTALLS=mingw64 makepkg-mingw -fs --noconfirm
MINGW_INSTALLS="$arch" makepkg-mingw -fs --noconfirm
popd
while test -f /var/lib/pacman/db.lck; do
sleep 1

60
windows-msys/meson.build

@ -61,9 +61,23 @@ install_carla = configure_file ( @@ -61,9 +61,23 @@ install_carla = configure_file (
configuration: global_conf,
)
filename = 'Carla-2.2.0-RC2.tar.gz'
url = 'https://www.zrythm.org/downloads/carla/' + filename
carla_zip_windows = custom_target (
'carla-zip-windows',
output: filename,
command: [
'wget', url, '-O', '@OUTPUT@',
],
console: true,
install: false,
)
make_mingw_pkg_cmd = [
bash, '-c', '@INPUT0@ "$1" "$2" "$3"', '_ignored',
bash, '-c', '@INPUT0@ "$1" "$2" "$3" "$4"',
'_ignored',
'@OUTPUT@', '@INPUT1@', '@PRIVATE_DIR@',
'mingw64', 'x86_64',
]
# sources
@ -101,20 +115,45 @@ rcedit_x64_exe = custom_target ( @@ -101,20 +115,45 @@ rcedit_x64_exe = custom_target (
)
# install dependencies
independent_dep_names = [ 'jack2', 'lsp-dsp-lib', ]
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: [
make_mingw_pkg, 'PKGBUILD-' + dep_name + '-mingw',
make_mingw_pkg,
'PKGBUILD-' + dep_name + '-mingw',
],
command: make_mingw_pkg_cmd,
console: true,
install: false,
)
endforeach
carla_packages = []
foreach arch : [ '64' ]
carla_packages += custom_target (
'mingw-carla-' + arch,
output: 'carla' + arch + '.pkg.tar.zst',
input: [
make_mingw_pkg, 'PKGBUILD-carla-mingw',
carla_zip_windows,
],
command: [
bash, '-c',
'@INPUT0@ "$1" "$2" "$3" "$4" "$5" "$6"',
'_ignored',
'@OUTPUT@', '@INPUT1@', '@PRIVATE_DIR@',
'mingw' + arch,
arch == '64' ? 'x86_64' : 'i686',
'@INPUT2@',
],
console: true,
install: false,
)
endforeach
lv2_pkg = custom_target (
'mingw-lv2',
output: 'lv2.pkg.tar.zst',
@ -173,6 +212,8 @@ carla_woe32_binary_32_zip = custom_target ( @@ -173,6 +212,8 @@ carla_woe32_binary_32_zip = custom_target (
console: true,
install: false,
)
if 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'
@ -186,13 +227,15 @@ carla_woe32_binary_64_zip = custom_target ( @@ -186,13 +227,15 @@ carla_woe32_binary_64_zip = custom_target (
console: true,
install: false,
)
endif
mingw_install_carla_bins_target = custom_target (
'mingw-install-carla',
output: 'carla-installed',
input: [
install_carla, carla_woe32_binary_64_zip,
install_carla,
carla_woe32_binary_32_zip,
'',
],
command: [
bash, '-c', '@INPUT0@ "$1" "$2" "$3"', '_ignored',
@ -235,17 +278,20 @@ windows_chroot_target = custom_target ( @@ -235,17 +278,20 @@ windows_chroot_target = custom_target (
input: [
make_windows_chroot, zrythm_src_tarball,
independent_deps[0],
independent_deps[1], lv2_pkg, serd_pkg, sord_pkg,
independent_deps[1],
carla_packages[0],
lv2_pkg, serd_pkg, sord_pkg,
sratom_pkg, lilv_pkg, mingw_zrythm_pkg,
],
command: [
bash, '-c',
'@INPUT0@ "$1" "$2" "$3" "$4" "$5" "$6" "$7" "$8" ' +
'"$9" "${10}" "${11}"',
'@INPUT0@ "$1" "$2" "$3" "$4" "$5" "$6" ' +
'"$7" "$8" "$9" "${10}" "${11}" "${12}"',
'_ignored',
'@OUTPUT@', chroot_dir, '@INPUT1@', '@INPUT2@',
'@INPUT3@', '@INPUT4@', '@INPUT5@', '@INPUT6@',
'@INPUT7@', '@INPUT8@', '@INPUT9@',
'@INPUT10@',
],
console: true,
install: false,

Loading…
Cancel
Save