* [PR PATCH] cabbage: update to 2.9.0.
@ 2024-04-11 3:30 oreo639
2024-04-11 3:58 ` [PR PATCH] [Updated] " oreo639
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: oreo639 @ 2024-04-11 3:30 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1241 bytes --]
There is a new pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages cabbage
https://github.com/void-linux/void-packages/pull/49798
cabbage: update to 2.9.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/49798.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-cabbage-49798.patch --]
[-- Type: text/x-diff, Size: 12355 bytes --]
From d5ac8955248be3ae96305ed515da379a9c790150 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Wed, 10 Apr 2024 18:37:13 -0700
Subject: [PATCH] cabbage: update to 2.9.0.
---
srcpkgs/cabbage/patches/fix-include.patch | 13 --
srcpkgs/cabbage/patches/juce-musl.patch | 33 ++++
srcpkgs/cabbage/patches/plugin-path.patch | 13 --
srcpkgs/cabbage/template | 188 ++++++++++------------
4 files changed, 115 insertions(+), 132 deletions(-)
delete mode 100644 srcpkgs/cabbage/patches/fix-include.patch
create mode 100644 srcpkgs/cabbage/patches/juce-musl.patch
delete mode 100644 srcpkgs/cabbage/patches/plugin-path.patch
diff --git a/srcpkgs/cabbage/patches/fix-include.patch b/srcpkgs/cabbage/patches/fix-include.patch
deleted file mode 100644
index 07e0dd1818152c..00000000000000
--- a/srcpkgs/cabbage/patches/fix-include.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cabbage-2.5.0/JUCE/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp
-===================================================================
---- cabbage-2.5.0.orig/JUCE/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp
-+++ cabbage-2.5.0/JUCE/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp
-@@ -24,6 +24,8 @@
- ==============================================================================
- */
-
-+#include <array>
-+
- namespace juce
- {
-
diff --git a/srcpkgs/cabbage/patches/juce-musl.patch b/srcpkgs/cabbage/patches/juce-musl.patch
new file mode 100644
index 00000000000000..b66a9b0b0178b6
--- /dev/null
+++ b/srcpkgs/cabbage/patches/juce-musl.patch
@@ -0,0 +1,33 @@
+--- a/JUCE/modules/juce_core/native/juce_linux_SystemStats.cpp
++++ b/JUCE/modules/juce_core/native/juce_linux_SystemStats.cpp
+@@ -198,7 +198,7 @@ String SystemStats::getComputerName()
+
+ String SystemStats::getUserLanguage()
+ {
+- #if JUCE_BSD
++ #if JUCE_BSD || !defined(__GLIBC__)
+ if (auto langEnv = getenv ("LANG"))
+ return String::fromUTF8 (langEnv).upToLastOccurrenceOf (".UTF-8", false, true);
+
+@@ -210,7 +210,7 @@ String SystemStats::getUserLanguage()
+
+ String SystemStats::getUserRegion()
+ {
+- #if JUCE_BSD
++ #if JUCE_BSD || !defined(__GLIBC__)
+ return {};
+ #else
+ return getLocaleValue (_NL_IDENTIFICATION_TERRITORY);
+
+--- a/JUCE/modules/juce_core/system/juce_SystemStats.cpp
++++ b/JUCE/modules/juce_core/system/juce_SystemStats.cpp
+@@ -138,7 +138,7 @@ String SystemStats::getStackBacktrace()
+ {
+ String result;
+
+- #if JUCE_ANDROID || JUCE_MINGW || JUCE_WASM
++ #if JUCE_ANDROID || JUCE_MINGW || JUCE_WASM || !defined(__GLIBC__)
+ jassertfalse; // sorry, not implemented yet!
+
+ #elif JUCE_WINDOWS
+
diff --git a/srcpkgs/cabbage/patches/plugin-path.patch b/srcpkgs/cabbage/patches/plugin-path.patch
deleted file mode 100644
index 5ab69e04483627..00000000000000
--- a/srcpkgs/cabbage/patches/plugin-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cabbage-2.5.0/cabbage/Source/Utilities/CabbageExportPlugin.cpp
-===================================================================
---- cabbage-2.5.0.orig/cabbage/Source/Utilities/CabbageExportPlugin.cpp
-+++ cabbage-2.5.0/cabbage/Source/Utilities/CabbageExportPlugin.cpp
-@@ -84,7 +84,7 @@ void PluginExporter::exportPlugin (Strin
- }
- else if (type == "Standalone")
- {
-- pluginFilename = currentApplicationDirectory + "/CabbagePlugin." + fileExtension;
-+ pluginFilename = currentApplicationDirectory + "/../lib/vst/CabbagePlugin." + fileExtension;
- }
-
- File VSTData (pluginFilename);
diff --git a/srcpkgs/cabbage/template b/srcpkgs/cabbage/template
index 911af80be28d70..ce65248efff95f 100644
--- a/srcpkgs/cabbage/template
+++ b/srcpkgs/cabbage/template
@@ -1,151 +1,127 @@
# Template file for 'cabbage'
pkgname=cabbage
-version=2.5.0
-revision=2
-# specified in buildLinux.sh
-_jucever=5.4.7
+version=2.9.0
+revision=1
+# specified in build.py
+_jucever=6.1.2
_vstsdkver=3611_22_10_2018_build_34
-build_wrksrc="cabbage"
-hostmakedepends="pkg-config xorg-server-xvfb"
+build_style=cmake
+configure_args="-DJUCE_TARGET_ARCHITECTURE=${XBPS_TARGET_MACHINE}"
+hostmakedepends="pkg-config"
makedepends="libfreeglut-devel libcurl-devel jack-devel libXcomposite-devel
libXrandr-devel libXcursor-devel libX11-devel libXinerama-devel MesaLib-devel
- gtk+3-devel webkit2gtk-devel csound alsa-lib-devel libsndfile-devel xvfb-run"
+ gtk+3-devel libwebkit2gtk41-devel csound alsa-lib-devel libsndfile-devel"
depends="csound"
short_desc="Framework for audio software development"
maintainer="Olga U <me@laserbat.pw>"
license="GPL-3.0-or-later"
homepage="https://cabbageaudio.com/"
-distfiles="https://github.com/WeAreROLI/JUCE/archive/${_jucever}.tar.gz
+distfiles="https://github.com/WeAreROLI/JUCE/archive/${_jucever}.tar.gz>juce-${_jucever}.tar.gz
https://github.com/rorywalsh/cabbage/archive/v${version}.tar.gz
https://cabbageaudio.com/beta/heads.zip
https://download.steinberg.net/sdk_downloads/vstsdk${_vstsdkver}.zip"
-checksum="0f446cf09177e559d2f2e9a77a78faed611cc869e219a7dc859a6e9b72eca64d
- 68d2868ee72092ff1f809d472f561f5317512be91f1274390386afea248e78a2
+checksum="7b519711f65bf14054cd5b579d936920066cfa15b60895c04bd9fa0cb087be28
+ 66e81355399acebcea4e5723ec0d865f8458a8dbd0ddcde5f7fc714a04e51268
6167199d752fa301e93f1383f9ad700ef646611db53c97d7433fffdb19765e29
de64ff1b5b40a7fdc2de873e80d911ffa9fd6b82435a555dda1e8edc267d1fa3"
+skip_extraction="juce-${_jucever}.tar.gz vstsdk${_vstsdkver}.zip heads.zip"
+patch_args="-Np1 --binary"
nocross="Projucer in template uses compiled binary"
-# vsx accel stuff from libpng is not shipped
-case "$XBPS_TARGET_MACHINE" in
- ppc*) CXXFLAGS="-DPNG_POWERPC_VSX_OPT=0" ;;
-esac
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
- LDFLAGS=" -latomic"
-fi
-
-# without TARGET_ARCH, the build system will assume -march=native,
-# which is wrong as we're building a generic package and -march does
-# not even always work
-case "$XBPS_TARGET_MACHINE" in
- i686*) _tarch="-mtune=i686";;
- x86_64*) _tarch="-march=x86-64";;
- aarch64*) _tarch="-march=armv8-a";;
- armv5te*) _tarch="-march=armv5te";;
- armv6*) _tarch="-march=armv6";;
- armv7*) _tarch="-march=armv7-a";;
- ppc64le*) _tarch="-mcpu=powerpc64le";;
- ppc64*) _tarch="-mcpu=970";;
- ppc*) _tarch="-mcpu=powerpc";;
- mips*) _tarch="-mtune=mips32r2";;
- *) broken="Unsupported architecture";;
-esac
+CXXFLAGS="-DJUCER_ENABLE_GPL_MODE=1"
+# vsx accel stuff from libpng is not shipped
case "$XBPS_TARGET_MACHINE" in
- *-musl) makedepends+=" libexecinfo-devel"
- broken="error: '_NL_IDENTIFICATION_LANGUAGE' was not declared in this scope" ;;
+ ppc*) CXXFLAGS+=" -DPNG_POWERPC_VSX_OPT=0" ;;
esac
-Projucer() {
- # This is needed as a workaround for a bug in Projucer
- # https://github.com/WeAreROLI/JUCE/issues/422
- # The HOME variable is spoofed because it looks for headers in
- # ~/SDKs/ (path hardcoded)
- # TODO: use xvfb-run script for testing
-
- xvfb-run \
- "${wrksrc}/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer" "$@"
+post_extract() {
+ vsrcextract -C JUCE juce-${_jucever}.tar.gz
+ vsrcextract -C SDKs/VST_SDK vstsdk${_vstsdkver}.zip
+ vsrcextract -C SDKs/VST_SDK/VST3_SDK/pluginterfaces/vst2.x heads.zip
}
-post_extract() {
- mkdir SDKs
- mv VST_SDK SDKs
- mv vst2.x SDKs/VST_SDK/VST3_SDK/pluginterfaces
- mv cabbage-${version} cabbage
- mv JUCE-${_jucever} JUCE
- cd "${wrksrc}/cabbage"
-
- # There are lots of hardcoded paths that need to be rewritten
- vsed -e 's@sourcecode/@@' -i CabbageLite.jucer
-
- for f in *jucer; do
- vsed -e "s@/usr/local/include/csound@/usr/include/csound@g" \
- -e "s@/usr/local/lib@/usr/lib@g" \
- -i "$f"
- done
+post_patch() {
+ vsed -e '/opcodeFile\ +=/s#/opcodes.txt#/usr/share/doc/cabbage/opcodes.txt#' \
+ -i Source/CodeEditor/CabbageCodeEditor.cpp
- vsed -e "s|/usr/local/include/csound|/usr/include/csound|g" \
- -i Builds/LinuxMakefile/buildCabbage
+ vsed -e '/CabbagePlugin\(Synth\|Effect\)/s#"/#"/usr/lib/vst/#' \
+ -i Source/Utilities/CabbageExportPlugin.cpp
- vsed -e '/opcodeFile\ +=/s#/#/../share/doc/cabbage/#' \
- -i Source/CodeEditor/CabbageCodeEditor.cpp
+ if [ "${XBPS_TARGET_MACHINE}" = "x86_64" ]; then
+ vsed -e 's/x86_64-linux/${XBPS_TARGET_MACHINE}-linux/' \
+ -i Source/Utilities/CabbageExportPlugin.cpp
+ fi
# Fix compilation on i686
vsed -e 's/__sigemptyset/sigemptyset/' \
- -i ../JUCE/modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c
+ -i JUCE/modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c
+
+ vsed -e 's/webkit2gtk-4.0/webkit2gtk-4.1/' \
+ -i JUCE/extras/Build/CMake/JUCEUtils.cmake
- vsed -e "s/JUCER_ENABLE_GPL_MODE 0/JUCER_ENABLE_GPL_MODE 1/" \
- -i ../JUCE/extras/Projucer/JuceLibraryCode/AppConfig.h
+ vsed -e 's/webkit2gtk-4.0/webkit2gtk-4.1/' \
+ -i JUCE/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp
}
-do_build() {
- local oldhome=$HOME
+pre_configure() {
+ # Searches for VST SDK in $HOME
+ oldhome=$HOME
HOME=$wrksrc
- cd "${wrksrc}/JUCE/extras/Projucer/Builds/LinuxMakefile/"
- make ${makejobs} TARGET_ARCH="${_tarch}"
-
- cd "${wrksrc}/cabbage/Builds/LinuxMakefile"
-
- Projucer --resave ../../CabbageIDE.jucer
- mv Makefile MakeCabbageIDE
- make -f MakeCabbageIDE ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
-
- Projucer --resave ../../CabbagePlugin.jucer
- mv Makefile MakePluginEffect
- make -f MakePluginEffect ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
- mv ./build/CabbagePlugin.so ./build/CabbagePluginEffect.so
+}
- Projucer --resave ../../CabbagePluginSynth.jucer
- mv Makefile MakePluginSynth
- make -f MakePluginSynth ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
- mv ./build/CabbagePlugin.so ./build/CabbagePluginSynth.so
+post_configure() {
+ mkdir -p buildPluginEffect buildPluginSynth buildPluginMidiEffect buildCLIconverter
+ (
+ cd buildPluginEffect
+ configure_args+=" -DPROJECT_NAME=CabbagePluginEffect"
+ do_configure
+ )
+ (
+ cd buildPluginSynth
+ configure_args+=" -DPROJECT_NAME=CabbagePluginSynth"
+ do_configure
+ )
+ (
+ cd buildPluginMidiEffect
+ configure_args+=" -DPROJECT_NAME=CabbagePluginMidiEffect"
+ do_configure
+ )
+ (
+ cd buildCLIconverter
+ configure_args+=" -DPROJECT_NAME=CLIConverter"
+ do_configure
+ )
- Projucer --resave ../../CabbageLite.jucer
- cp -r ../../../JUCE/modules/juce_audio_plugin_client/ ../../JuceLibraryCode/modules/
- mv Makefile MakeCabbageLite
- make -f MakeCabbageLite ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
HOME=$oldhome
}
-do_install() {
- cd "${wrksrc}/cabbage/Builds/LinuxMakefile"
+post_build() {
+ ( cd buildPluginEffect && NINJA_STATUS="[2/5][%f/%t] " do_build )
+ ( cd buildPluginSynth && NINJA_STATUS="[3/5][%f/%t] " do_build )
+ ( cd buildPluginMidiEffect && NINJA_STATUS="[4/5][%f/%t] " do_build )
+ ( cd buildCLIconverter && NINJA_STATUS="[5/5][%f/%t] " do_build )
+}
- find ../../Examples -name '.DS_Store' -delete
- find ../../Examples -name '*_Log.txt' -delete
+do_install() {
+ find Examples -name '.DS_Store' -delete
+ find Examples -name '*_Log.txt' -delete
- vbin build/Cabbage
- vbin build/CabbageLite
+ vbin build/Cabbage_artefacts/None/Cabbage
+ vbin buildCLIconverter/build/CLIConverter_artefacts/None/CLIConverter
vmkdir usr/lib/vst
- vinstall build/CabbagePluginEffect.so 755 usr/lib/vst
- vinstall build/CabbagePluginSynth.so 755 usr/lib/vst
-
- vdoc ../opcodes.txt
+ for plugin in PluginEffect PluginSynth PluginMidiEffect; do
+ (
+ cd "build${plugin}/build/Cabbage${plugin}_artefacts/None"
+ vinstall "VST/libCabbage${plugin}.so" 755 usr/lib/vst
+ vinstall "VST3/Cabbage${plugin}.vst3/Contents/${XBPS_TARGET_MACHINE}-linux/Cabbage${plugin}.so" 755 "usr/lib/vst/Cabbage${plugin}.vst3/Contents/${XBPS_TARGET_MACHINE}-linux/"
+ )
+ done
- vinstall ../../Images/cabbage.png 644 usr/share/icons/hicolor/512x512/apps/
- vinstall Cabbage.desktop 644 usr/share/applications/
- vinstall CabbageLite.desktop 644 usr/share/applications/
+ vinstall Images/cabbage.png 644 usr/share/icons/hicolor/512x512/apps/
+ vinstall Installers/Linux/Cabbage.desktop 644 usr/share/applications/
vmkdir usr/share/doc/cabbage/examples
- vcopy '../../Examples/*' usr/share/doc/cabbage/examples/
+ vcopy 'Examples/*' usr/share/doc/cabbage/examples/
}
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PR PATCH] [Updated] cabbage: update to 2.9.0.
2024-04-11 3:30 [PR PATCH] cabbage: update to 2.9.0 oreo639
@ 2024-04-11 3:58 ` oreo639
2024-04-15 2:08 ` oreo639
2024-04-20 0:57 ` [PR PATCH] [Merged]: " oreo639
2 siblings, 0 replies; 4+ messages in thread
From: oreo639 @ 2024-04-11 3:58 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages cabbage
https://github.com/void-linux/void-packages/pull/49798
cabbage: update to 2.9.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/49798.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-cabbage-49798.patch --]
[-- Type: text/x-diff, Size: 12669 bytes --]
From 6b3b57403696d405bc44051abba6c2306a860cc8 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Wed, 10 Apr 2024 18:37:13 -0700
Subject: [PATCH] cabbage: update to 2.9.0.
---
srcpkgs/cabbage/patches/fix-include.patch | 13 --
srcpkgs/cabbage/patches/juce-musl.patch | 44 +++++
srcpkgs/cabbage/patches/plugin-path.patch | 13 --
srcpkgs/cabbage/template | 188 ++++++++++------------
4 files changed, 126 insertions(+), 132 deletions(-)
delete mode 100644 srcpkgs/cabbage/patches/fix-include.patch
create mode 100644 srcpkgs/cabbage/patches/juce-musl.patch
delete mode 100644 srcpkgs/cabbage/patches/plugin-path.patch
diff --git a/srcpkgs/cabbage/patches/fix-include.patch b/srcpkgs/cabbage/patches/fix-include.patch
deleted file mode 100644
index 07e0dd1818152c..00000000000000
--- a/srcpkgs/cabbage/patches/fix-include.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cabbage-2.5.0/JUCE/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp
-===================================================================
---- cabbage-2.5.0.orig/JUCE/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp
-+++ cabbage-2.5.0/JUCE/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp
-@@ -24,6 +24,8 @@
- ==============================================================================
- */
-
-+#include <array>
-+
- namespace juce
- {
-
diff --git a/srcpkgs/cabbage/patches/juce-musl.patch b/srcpkgs/cabbage/patches/juce-musl.patch
new file mode 100644
index 00000000000000..7b43429d9ec2a3
--- /dev/null
+++ b/srcpkgs/cabbage/patches/juce-musl.patch
@@ -0,0 +1,44 @@
+--- a/JUCE/modules/juce_core/native/juce_linux_SystemStats.cpp
++++ b/JUCE/modules/juce_core/native/juce_linux_SystemStats.cpp
+@@ -198,7 +198,7 @@ String SystemStats::getComputerName()
+
+ String SystemStats::getUserLanguage()
+ {
+- #if JUCE_BSD
++ #if JUCE_BSD || !defined(__GLIBC__)
+ if (auto langEnv = getenv ("LANG"))
+ return String::fromUTF8 (langEnv).upToLastOccurrenceOf (".UTF-8", false, true);
+
+@@ -210,7 +210,7 @@ String SystemStats::getUserLanguage()
+
+ String SystemStats::getUserRegion()
+ {
+- #if JUCE_BSD
++ #if JUCE_BSD || !defined(__GLIBC__)
+ return {};
+ #else
+ return getLocaleValue (_NL_IDENTIFICATION_TERRITORY);
+
+--- a/JUCE/modules/juce_core/system/juce_SystemStats.cpp
++++ b/JUCE/modules/juce_core/system/juce_SystemStats.cpp
+@@ -138,7 +138,7 @@ String SystemStats::getStackBacktrace()
+ {
+ String result;
+
+- #if JUCE_ANDROID || JUCE_MINGW || JUCE_WASM
++ #if JUCE_ANDROID || JUCE_MINGW || JUCE_WASM || !defined(__GLIBC__)
+ jassertfalse; // sorry, not implemented yet!
+
+ #elif JUCE_WINDOWS
+
+--- a/JUCE/modules/juce_core/juce_core.cpp
++++ b/JUCE/modules/juce_core/juce_core.cpp
+@@ -102,7 +102,7 @@
+ #include <net/if.h>
+ #include <sys/ioctl.h>
+
+- #if ! (JUCE_ANDROID || JUCE_WASM)
++ #if ! (JUCE_ANDROID || JUCE_WASM) && defined(__GLIBC__)
+ #include <execinfo.h>
+ #endif
+ #endif
diff --git a/srcpkgs/cabbage/patches/plugin-path.patch b/srcpkgs/cabbage/patches/plugin-path.patch
deleted file mode 100644
index 5ab69e04483627..00000000000000
--- a/srcpkgs/cabbage/patches/plugin-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cabbage-2.5.0/cabbage/Source/Utilities/CabbageExportPlugin.cpp
-===================================================================
---- cabbage-2.5.0.orig/cabbage/Source/Utilities/CabbageExportPlugin.cpp
-+++ cabbage-2.5.0/cabbage/Source/Utilities/CabbageExportPlugin.cpp
-@@ -84,7 +84,7 @@ void PluginExporter::exportPlugin (Strin
- }
- else if (type == "Standalone")
- {
-- pluginFilename = currentApplicationDirectory + "/CabbagePlugin." + fileExtension;
-+ pluginFilename = currentApplicationDirectory + "/../lib/vst/CabbagePlugin." + fileExtension;
- }
-
- File VSTData (pluginFilename);
diff --git a/srcpkgs/cabbage/template b/srcpkgs/cabbage/template
index 911af80be28d70..ce65248efff95f 100644
--- a/srcpkgs/cabbage/template
+++ b/srcpkgs/cabbage/template
@@ -1,151 +1,127 @@
# Template file for 'cabbage'
pkgname=cabbage
-version=2.5.0
-revision=2
-# specified in buildLinux.sh
-_jucever=5.4.7
+version=2.9.0
+revision=1
+# specified in build.py
+_jucever=6.1.2
_vstsdkver=3611_22_10_2018_build_34
-build_wrksrc="cabbage"
-hostmakedepends="pkg-config xorg-server-xvfb"
+build_style=cmake
+configure_args="-DJUCE_TARGET_ARCHITECTURE=${XBPS_TARGET_MACHINE}"
+hostmakedepends="pkg-config"
makedepends="libfreeglut-devel libcurl-devel jack-devel libXcomposite-devel
libXrandr-devel libXcursor-devel libX11-devel libXinerama-devel MesaLib-devel
- gtk+3-devel webkit2gtk-devel csound alsa-lib-devel libsndfile-devel xvfb-run"
+ gtk+3-devel libwebkit2gtk41-devel csound alsa-lib-devel libsndfile-devel"
depends="csound"
short_desc="Framework for audio software development"
maintainer="Olga U <me@laserbat.pw>"
license="GPL-3.0-or-later"
homepage="https://cabbageaudio.com/"
-distfiles="https://github.com/WeAreROLI/JUCE/archive/${_jucever}.tar.gz
+distfiles="https://github.com/WeAreROLI/JUCE/archive/${_jucever}.tar.gz>juce-${_jucever}.tar.gz
https://github.com/rorywalsh/cabbage/archive/v${version}.tar.gz
https://cabbageaudio.com/beta/heads.zip
https://download.steinberg.net/sdk_downloads/vstsdk${_vstsdkver}.zip"
-checksum="0f446cf09177e559d2f2e9a77a78faed611cc869e219a7dc859a6e9b72eca64d
- 68d2868ee72092ff1f809d472f561f5317512be91f1274390386afea248e78a2
+checksum="7b519711f65bf14054cd5b579d936920066cfa15b60895c04bd9fa0cb087be28
+ 66e81355399acebcea4e5723ec0d865f8458a8dbd0ddcde5f7fc714a04e51268
6167199d752fa301e93f1383f9ad700ef646611db53c97d7433fffdb19765e29
de64ff1b5b40a7fdc2de873e80d911ffa9fd6b82435a555dda1e8edc267d1fa3"
+skip_extraction="juce-${_jucever}.tar.gz vstsdk${_vstsdkver}.zip heads.zip"
+patch_args="-Np1 --binary"
nocross="Projucer in template uses compiled binary"
-# vsx accel stuff from libpng is not shipped
-case "$XBPS_TARGET_MACHINE" in
- ppc*) CXXFLAGS="-DPNG_POWERPC_VSX_OPT=0" ;;
-esac
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
- LDFLAGS=" -latomic"
-fi
-
-# without TARGET_ARCH, the build system will assume -march=native,
-# which is wrong as we're building a generic package and -march does
-# not even always work
-case "$XBPS_TARGET_MACHINE" in
- i686*) _tarch="-mtune=i686";;
- x86_64*) _tarch="-march=x86-64";;
- aarch64*) _tarch="-march=armv8-a";;
- armv5te*) _tarch="-march=armv5te";;
- armv6*) _tarch="-march=armv6";;
- armv7*) _tarch="-march=armv7-a";;
- ppc64le*) _tarch="-mcpu=powerpc64le";;
- ppc64*) _tarch="-mcpu=970";;
- ppc*) _tarch="-mcpu=powerpc";;
- mips*) _tarch="-mtune=mips32r2";;
- *) broken="Unsupported architecture";;
-esac
+CXXFLAGS="-DJUCER_ENABLE_GPL_MODE=1"
+# vsx accel stuff from libpng is not shipped
case "$XBPS_TARGET_MACHINE" in
- *-musl) makedepends+=" libexecinfo-devel"
- broken="error: '_NL_IDENTIFICATION_LANGUAGE' was not declared in this scope" ;;
+ ppc*) CXXFLAGS+=" -DPNG_POWERPC_VSX_OPT=0" ;;
esac
-Projucer() {
- # This is needed as a workaround for a bug in Projucer
- # https://github.com/WeAreROLI/JUCE/issues/422
- # The HOME variable is spoofed because it looks for headers in
- # ~/SDKs/ (path hardcoded)
- # TODO: use xvfb-run script for testing
-
- xvfb-run \
- "${wrksrc}/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer" "$@"
+post_extract() {
+ vsrcextract -C JUCE juce-${_jucever}.tar.gz
+ vsrcextract -C SDKs/VST_SDK vstsdk${_vstsdkver}.zip
+ vsrcextract -C SDKs/VST_SDK/VST3_SDK/pluginterfaces/vst2.x heads.zip
}
-post_extract() {
- mkdir SDKs
- mv VST_SDK SDKs
- mv vst2.x SDKs/VST_SDK/VST3_SDK/pluginterfaces
- mv cabbage-${version} cabbage
- mv JUCE-${_jucever} JUCE
- cd "${wrksrc}/cabbage"
-
- # There are lots of hardcoded paths that need to be rewritten
- vsed -e 's@sourcecode/@@' -i CabbageLite.jucer
-
- for f in *jucer; do
- vsed -e "s@/usr/local/include/csound@/usr/include/csound@g" \
- -e "s@/usr/local/lib@/usr/lib@g" \
- -i "$f"
- done
+post_patch() {
+ vsed -e '/opcodeFile\ +=/s#/opcodes.txt#/usr/share/doc/cabbage/opcodes.txt#' \
+ -i Source/CodeEditor/CabbageCodeEditor.cpp
- vsed -e "s|/usr/local/include/csound|/usr/include/csound|g" \
- -i Builds/LinuxMakefile/buildCabbage
+ vsed -e '/CabbagePlugin\(Synth\|Effect\)/s#"/#"/usr/lib/vst/#' \
+ -i Source/Utilities/CabbageExportPlugin.cpp
- vsed -e '/opcodeFile\ +=/s#/#/../share/doc/cabbage/#' \
- -i Source/CodeEditor/CabbageCodeEditor.cpp
+ if [ "${XBPS_TARGET_MACHINE}" = "x86_64" ]; then
+ vsed -e 's/x86_64-linux/${XBPS_TARGET_MACHINE}-linux/' \
+ -i Source/Utilities/CabbageExportPlugin.cpp
+ fi
# Fix compilation on i686
vsed -e 's/__sigemptyset/sigemptyset/' \
- -i ../JUCE/modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c
+ -i JUCE/modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c
+
+ vsed -e 's/webkit2gtk-4.0/webkit2gtk-4.1/' \
+ -i JUCE/extras/Build/CMake/JUCEUtils.cmake
- vsed -e "s/JUCER_ENABLE_GPL_MODE 0/JUCER_ENABLE_GPL_MODE 1/" \
- -i ../JUCE/extras/Projucer/JuceLibraryCode/AppConfig.h
+ vsed -e 's/webkit2gtk-4.0/webkit2gtk-4.1/' \
+ -i JUCE/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp
}
-do_build() {
- local oldhome=$HOME
+pre_configure() {
+ # Searches for VST SDK in $HOME
+ oldhome=$HOME
HOME=$wrksrc
- cd "${wrksrc}/JUCE/extras/Projucer/Builds/LinuxMakefile/"
- make ${makejobs} TARGET_ARCH="${_tarch}"
-
- cd "${wrksrc}/cabbage/Builds/LinuxMakefile"
-
- Projucer --resave ../../CabbageIDE.jucer
- mv Makefile MakeCabbageIDE
- make -f MakeCabbageIDE ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
-
- Projucer --resave ../../CabbagePlugin.jucer
- mv Makefile MakePluginEffect
- make -f MakePluginEffect ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
- mv ./build/CabbagePlugin.so ./build/CabbagePluginEffect.so
+}
- Projucer --resave ../../CabbagePluginSynth.jucer
- mv Makefile MakePluginSynth
- make -f MakePluginSynth ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
- mv ./build/CabbagePlugin.so ./build/CabbagePluginSynth.so
+post_configure() {
+ mkdir -p buildPluginEffect buildPluginSynth buildPluginMidiEffect buildCLIconverter
+ (
+ cd buildPluginEffect
+ configure_args+=" -DPROJECT_NAME=CabbagePluginEffect"
+ do_configure
+ )
+ (
+ cd buildPluginSynth
+ configure_args+=" -DPROJECT_NAME=CabbagePluginSynth"
+ do_configure
+ )
+ (
+ cd buildPluginMidiEffect
+ configure_args+=" -DPROJECT_NAME=CabbagePluginMidiEffect"
+ do_configure
+ )
+ (
+ cd buildCLIconverter
+ configure_args+=" -DPROJECT_NAME=CLIConverter"
+ do_configure
+ )
- Projucer --resave ../../CabbageLite.jucer
- cp -r ../../../JUCE/modules/juce_audio_plugin_client/ ../../JuceLibraryCode/modules/
- mv Makefile MakeCabbageLite
- make -f MakeCabbageLite ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
HOME=$oldhome
}
-do_install() {
- cd "${wrksrc}/cabbage/Builds/LinuxMakefile"
+post_build() {
+ ( cd buildPluginEffect && NINJA_STATUS="[2/5][%f/%t] " do_build )
+ ( cd buildPluginSynth && NINJA_STATUS="[3/5][%f/%t] " do_build )
+ ( cd buildPluginMidiEffect && NINJA_STATUS="[4/5][%f/%t] " do_build )
+ ( cd buildCLIconverter && NINJA_STATUS="[5/5][%f/%t] " do_build )
+}
- find ../../Examples -name '.DS_Store' -delete
- find ../../Examples -name '*_Log.txt' -delete
+do_install() {
+ find Examples -name '.DS_Store' -delete
+ find Examples -name '*_Log.txt' -delete
- vbin build/Cabbage
- vbin build/CabbageLite
+ vbin build/Cabbage_artefacts/None/Cabbage
+ vbin buildCLIconverter/build/CLIConverter_artefacts/None/CLIConverter
vmkdir usr/lib/vst
- vinstall build/CabbagePluginEffect.so 755 usr/lib/vst
- vinstall build/CabbagePluginSynth.so 755 usr/lib/vst
-
- vdoc ../opcodes.txt
+ for plugin in PluginEffect PluginSynth PluginMidiEffect; do
+ (
+ cd "build${plugin}/build/Cabbage${plugin}_artefacts/None"
+ vinstall "VST/libCabbage${plugin}.so" 755 usr/lib/vst
+ vinstall "VST3/Cabbage${plugin}.vst3/Contents/${XBPS_TARGET_MACHINE}-linux/Cabbage${plugin}.so" 755 "usr/lib/vst/Cabbage${plugin}.vst3/Contents/${XBPS_TARGET_MACHINE}-linux/"
+ )
+ done
- vinstall ../../Images/cabbage.png 644 usr/share/icons/hicolor/512x512/apps/
- vinstall Cabbage.desktop 644 usr/share/applications/
- vinstall CabbageLite.desktop 644 usr/share/applications/
+ vinstall Images/cabbage.png 644 usr/share/icons/hicolor/512x512/apps/
+ vinstall Installers/Linux/Cabbage.desktop 644 usr/share/applications/
vmkdir usr/share/doc/cabbage/examples
- vcopy '../../Examples/*' usr/share/doc/cabbage/examples/
+ vcopy 'Examples/*' usr/share/doc/cabbage/examples/
}
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PR PATCH] [Updated] cabbage: update to 2.9.0.
2024-04-11 3:30 [PR PATCH] cabbage: update to 2.9.0 oreo639
2024-04-11 3:58 ` [PR PATCH] [Updated] " oreo639
@ 2024-04-15 2:08 ` oreo639
2024-04-20 0:57 ` [PR PATCH] [Merged]: " oreo639
2 siblings, 0 replies; 4+ messages in thread
From: oreo639 @ 2024-04-15 2:08 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1246 bytes --]
There is an updated pull request by oreo639 against master on the void-packages repository
https://github.com/oreo639/void-packages cabbage
https://github.com/void-linux/void-packages/pull/49798
cabbage: update to 2.9.0.
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
A patch file from https://github.com/void-linux/void-packages/pull/49798.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-cabbage-49798.patch --]
[-- Type: text/x-diff, Size: 12712 bytes --]
From 7dba8fbd59cb009f3a83057bc6243258e8b591dd Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Wed, 10 Apr 2024 18:37:13 -0700
Subject: [PATCH] cabbage: update to 2.9.0.
---
srcpkgs/cabbage/patches/fix-include.patch | 13 --
srcpkgs/cabbage/patches/juce-musl.patch | 44 +++++
srcpkgs/cabbage/patches/plugin-path.patch | 13 --
srcpkgs/cabbage/template | 190 ++++++++++------------
4 files changed, 127 insertions(+), 133 deletions(-)
delete mode 100644 srcpkgs/cabbage/patches/fix-include.patch
create mode 100644 srcpkgs/cabbage/patches/juce-musl.patch
delete mode 100644 srcpkgs/cabbage/patches/plugin-path.patch
diff --git a/srcpkgs/cabbage/patches/fix-include.patch b/srcpkgs/cabbage/patches/fix-include.patch
deleted file mode 100644
index 07e0dd1818152c..00000000000000
--- a/srcpkgs/cabbage/patches/fix-include.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cabbage-2.5.0/JUCE/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp
-===================================================================
---- cabbage-2.5.0.orig/JUCE/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp
-+++ cabbage-2.5.0/JUCE/modules/juce_gui_basics/native/juce_linux_X11_Windowing.cpp
-@@ -24,6 +24,8 @@
- ==============================================================================
- */
-
-+#include <array>
-+
- namespace juce
- {
-
diff --git a/srcpkgs/cabbage/patches/juce-musl.patch b/srcpkgs/cabbage/patches/juce-musl.patch
new file mode 100644
index 00000000000000..7b43429d9ec2a3
--- /dev/null
+++ b/srcpkgs/cabbage/patches/juce-musl.patch
@@ -0,0 +1,44 @@
+--- a/JUCE/modules/juce_core/native/juce_linux_SystemStats.cpp
++++ b/JUCE/modules/juce_core/native/juce_linux_SystemStats.cpp
+@@ -198,7 +198,7 @@ String SystemStats::getComputerName()
+
+ String SystemStats::getUserLanguage()
+ {
+- #if JUCE_BSD
++ #if JUCE_BSD || !defined(__GLIBC__)
+ if (auto langEnv = getenv ("LANG"))
+ return String::fromUTF8 (langEnv).upToLastOccurrenceOf (".UTF-8", false, true);
+
+@@ -210,7 +210,7 @@ String SystemStats::getUserLanguage()
+
+ String SystemStats::getUserRegion()
+ {
+- #if JUCE_BSD
++ #if JUCE_BSD || !defined(__GLIBC__)
+ return {};
+ #else
+ return getLocaleValue (_NL_IDENTIFICATION_TERRITORY);
+
+--- a/JUCE/modules/juce_core/system/juce_SystemStats.cpp
++++ b/JUCE/modules/juce_core/system/juce_SystemStats.cpp
+@@ -138,7 +138,7 @@ String SystemStats::getStackBacktrace()
+ {
+ String result;
+
+- #if JUCE_ANDROID || JUCE_MINGW || JUCE_WASM
++ #if JUCE_ANDROID || JUCE_MINGW || JUCE_WASM || !defined(__GLIBC__)
+ jassertfalse; // sorry, not implemented yet!
+
+ #elif JUCE_WINDOWS
+
+--- a/JUCE/modules/juce_core/juce_core.cpp
++++ b/JUCE/modules/juce_core/juce_core.cpp
+@@ -102,7 +102,7 @@
+ #include <net/if.h>
+ #include <sys/ioctl.h>
+
+- #if ! (JUCE_ANDROID || JUCE_WASM)
++ #if ! (JUCE_ANDROID || JUCE_WASM) && defined(__GLIBC__)
+ #include <execinfo.h>
+ #endif
+ #endif
diff --git a/srcpkgs/cabbage/patches/plugin-path.patch b/srcpkgs/cabbage/patches/plugin-path.patch
deleted file mode 100644
index 5ab69e04483627..00000000000000
--- a/srcpkgs/cabbage/patches/plugin-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: cabbage-2.5.0/cabbage/Source/Utilities/CabbageExportPlugin.cpp
-===================================================================
---- cabbage-2.5.0.orig/cabbage/Source/Utilities/CabbageExportPlugin.cpp
-+++ cabbage-2.5.0/cabbage/Source/Utilities/CabbageExportPlugin.cpp
-@@ -84,7 +84,7 @@ void PluginExporter::exportPlugin (Strin
- }
- else if (type == "Standalone")
- {
-- pluginFilename = currentApplicationDirectory + "/CabbagePlugin." + fileExtension;
-+ pluginFilename = currentApplicationDirectory + "/../lib/vst/CabbagePlugin." + fileExtension;
- }
-
- File VSTData (pluginFilename);
diff --git a/srcpkgs/cabbage/template b/srcpkgs/cabbage/template
index 911af80be28d70..196fa7b7cfe5c9 100644
--- a/srcpkgs/cabbage/template
+++ b/srcpkgs/cabbage/template
@@ -1,151 +1,127 @@
# Template file for 'cabbage'
pkgname=cabbage
-version=2.5.0
-revision=2
-# specified in buildLinux.sh
-_jucever=5.4.7
+version=2.9.0
+revision=1
+# specified in build.py
+_jucever=6.1.2
_vstsdkver=3611_22_10_2018_build_34
-build_wrksrc="cabbage"
-hostmakedepends="pkg-config xorg-server-xvfb"
+build_style=cmake
+configure_args="-DJUCE_TARGET_ARCHITECTURE=${XBPS_TARGET_MACHINE}"
+hostmakedepends="pkg-config"
makedepends="libfreeglut-devel libcurl-devel jack-devel libXcomposite-devel
libXrandr-devel libXcursor-devel libX11-devel libXinerama-devel MesaLib-devel
- gtk+3-devel webkit2gtk-devel csound alsa-lib-devel libsndfile-devel xvfb-run"
+ gtk+3-devel libwebkit2gtk41-devel csound alsa-lib-devel libsndfile-devel"
depends="csound"
short_desc="Framework for audio software development"
maintainer="Olga U <me@laserbat.pw>"
license="GPL-3.0-or-later"
homepage="https://cabbageaudio.com/"
-distfiles="https://github.com/WeAreROLI/JUCE/archive/${_jucever}.tar.gz
+distfiles="https://github.com/WeAreROLI/JUCE/archive/${_jucever}.tar.gz>juce-${_jucever}.tar.gz
https://github.com/rorywalsh/cabbage/archive/v${version}.tar.gz
https://cabbageaudio.com/beta/heads.zip
https://download.steinberg.net/sdk_downloads/vstsdk${_vstsdkver}.zip"
-checksum="0f446cf09177e559d2f2e9a77a78faed611cc869e219a7dc859a6e9b72eca64d
- 68d2868ee72092ff1f809d472f561f5317512be91f1274390386afea248e78a2
+checksum="7b519711f65bf14054cd5b579d936920066cfa15b60895c04bd9fa0cb087be28
+ 66e81355399acebcea4e5723ec0d865f8458a8dbd0ddcde5f7fc714a04e51268
6167199d752fa301e93f1383f9ad700ef646611db53c97d7433fffdb19765e29
de64ff1b5b40a7fdc2de873e80d911ffa9fd6b82435a555dda1e8edc267d1fa3"
-nocross="Projucer in template uses compiled binary"
+skip_extraction="juce-${_jucever}.tar.gz vstsdk${_vstsdkver}.zip heads.zip"
+patch_args="-Np1 --binary"
+nocross="Fails to cross-compile juceaide"
-# vsx accel stuff from libpng is not shipped
-case "$XBPS_TARGET_MACHINE" in
- ppc*) CXXFLAGS="-DPNG_POWERPC_VSX_OPT=0" ;;
-esac
-
-if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then
- LDFLAGS=" -latomic"
-fi
-
-# without TARGET_ARCH, the build system will assume -march=native,
-# which is wrong as we're building a generic package and -march does
-# not even always work
-case "$XBPS_TARGET_MACHINE" in
- i686*) _tarch="-mtune=i686";;
- x86_64*) _tarch="-march=x86-64";;
- aarch64*) _tarch="-march=armv8-a";;
- armv5te*) _tarch="-march=armv5te";;
- armv6*) _tarch="-march=armv6";;
- armv7*) _tarch="-march=armv7-a";;
- ppc64le*) _tarch="-mcpu=powerpc64le";;
- ppc64*) _tarch="-mcpu=970";;
- ppc*) _tarch="-mcpu=powerpc";;
- mips*) _tarch="-mtune=mips32r2";;
- *) broken="Unsupported architecture";;
-esac
+CXXFLAGS="-DJUCER_ENABLE_GPL_MODE=1"
+# vsx accel stuff from libpng is not shipped
case "$XBPS_TARGET_MACHINE" in
- *-musl) makedepends+=" libexecinfo-devel"
- broken="error: '_NL_IDENTIFICATION_LANGUAGE' was not declared in this scope" ;;
+ ppc*) CXXFLAGS+=" -DPNG_POWERPC_VSX_OPT=0" ;;
esac
-Projucer() {
- # This is needed as a workaround for a bug in Projucer
- # https://github.com/WeAreROLI/JUCE/issues/422
- # The HOME variable is spoofed because it looks for headers in
- # ~/SDKs/ (path hardcoded)
- # TODO: use xvfb-run script for testing
-
- xvfb-run \
- "${wrksrc}/JUCE/extras/Projucer/Builds/LinuxMakefile/build/Projucer" "$@"
+post_extract() {
+ vsrcextract -C JUCE juce-${_jucever}.tar.gz
+ vsrcextract -C SDKs/VST_SDK vstsdk${_vstsdkver}.zip
+ vsrcextract -C SDKs/VST_SDK/VST3_SDK/pluginterfaces/vst2.x heads.zip
}
-post_extract() {
- mkdir SDKs
- mv VST_SDK SDKs
- mv vst2.x SDKs/VST_SDK/VST3_SDK/pluginterfaces
- mv cabbage-${version} cabbage
- mv JUCE-${_jucever} JUCE
- cd "${wrksrc}/cabbage"
-
- # There are lots of hardcoded paths that need to be rewritten
- vsed -e 's@sourcecode/@@' -i CabbageLite.jucer
-
- for f in *jucer; do
- vsed -e "s@/usr/local/include/csound@/usr/include/csound@g" \
- -e "s@/usr/local/lib@/usr/lib@g" \
- -i "$f"
- done
+post_patch() {
+ vsed -e '/opcodeFile\ +=/s#/opcodes.txt#/usr/share/doc/cabbage/opcodes.txt#' \
+ -i Source/CodeEditor/CabbageCodeEditor.cpp
- vsed -e "s|/usr/local/include/csound|/usr/include/csound|g" \
- -i Builds/LinuxMakefile/buildCabbage
+ vsed -e '/CabbagePlugin\(Synth\|Effect\)/s#"/#"/usr/lib/vst/#' \
+ -i Source/Utilities/CabbageExportPlugin.cpp
- vsed -e '/opcodeFile\ +=/s#/#/../share/doc/cabbage/#' \
- -i Source/CodeEditor/CabbageCodeEditor.cpp
+ if [ "${XBPS_TARGET_MACHINE}" = "x86_64" ]; then
+ vsed -e 's/x86_64-linux/${XBPS_TARGET_MACHINE}-linux/' \
+ -i Source/Utilities/CabbageExportPlugin.cpp
+ fi
# Fix compilation on i686
vsed -e 's/__sigemptyset/sigemptyset/' \
- -i ../JUCE/modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c
+ -i JUCE/modules/juce_audio_formats/codecs/flac/libFLAC/cpu.c
+
+ vsed -e 's/webkit2gtk-4.0/webkit2gtk-4.1/' \
+ -i JUCE/extras/Build/CMake/JUCEUtils.cmake
- vsed -e "s/JUCER_ENABLE_GPL_MODE 0/JUCER_ENABLE_GPL_MODE 1/" \
- -i ../JUCE/extras/Projucer/JuceLibraryCode/AppConfig.h
+ vsed -e 's/webkit2gtk-4.0/webkit2gtk-4.1/' \
+ -i JUCE/extras/Projucer/Source/ProjectSaving/jucer_ProjectExporter.cpp
}
-do_build() {
- local oldhome=$HOME
+pre_configure() {
+ # Searches for VST SDK in $HOME
+ oldhome=$HOME
HOME=$wrksrc
- cd "${wrksrc}/JUCE/extras/Projucer/Builds/LinuxMakefile/"
- make ${makejobs} TARGET_ARCH="${_tarch}"
-
- cd "${wrksrc}/cabbage/Builds/LinuxMakefile"
-
- Projucer --resave ../../CabbageIDE.jucer
- mv Makefile MakeCabbageIDE
- make -f MakeCabbageIDE ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
-
- Projucer --resave ../../CabbagePlugin.jucer
- mv Makefile MakePluginEffect
- make -f MakePluginEffect ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
- mv ./build/CabbagePlugin.so ./build/CabbagePluginEffect.so
+}
- Projucer --resave ../../CabbagePluginSynth.jucer
- mv Makefile MakePluginSynth
- make -f MakePluginSynth ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
- mv ./build/CabbagePlugin.so ./build/CabbagePluginSynth.so
+post_configure() {
+ mkdir -p buildPluginEffect buildPluginSynth buildPluginMidiEffect buildCLIconverter
+ (
+ cd buildPluginEffect
+ configure_args+=" -DPROJECT_NAME=CabbagePluginEffect"
+ do_configure
+ )
+ (
+ cd buildPluginSynth
+ configure_args+=" -DPROJECT_NAME=CabbagePluginSynth"
+ do_configure
+ )
+ (
+ cd buildPluginMidiEffect
+ configure_args+=" -DPROJECT_NAME=CabbagePluginMidiEffect"
+ do_configure
+ )
+ (
+ cd buildCLIconverter
+ configure_args+=" -DPROJECT_NAME=CLIConverter"
+ do_configure
+ )
- Projucer --resave ../../CabbageLite.jucer
- cp -r ../../../JUCE/modules/juce_audio_plugin_client/ ../../JuceLibraryCode/modules/
- mv Makefile MakeCabbageLite
- make -f MakeCabbageLite ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
HOME=$oldhome
}
-do_install() {
- cd "${wrksrc}/cabbage/Builds/LinuxMakefile"
+post_build() {
+ ( cd buildPluginEffect && NINJA_STATUS="[2/5][%f/%t] " do_build )
+ ( cd buildPluginSynth && NINJA_STATUS="[3/5][%f/%t] " do_build )
+ ( cd buildPluginMidiEffect && NINJA_STATUS="[4/5][%f/%t] " do_build )
+ ( cd buildCLIconverter && NINJA_STATUS="[5/5][%f/%t] " do_build )
+}
- find ../../Examples -name '.DS_Store' -delete
- find ../../Examples -name '*_Log.txt' -delete
+do_install() {
+ find Examples -name '.DS_Store' -delete
+ find Examples -name '*_Log.txt' -delete
- vbin build/Cabbage
- vbin build/CabbageLite
+ vbin build/Cabbage_artefacts/None/Cabbage
+ vbin buildCLIconverter/build/CLIConverter_artefacts/None/CLIConverter
vmkdir usr/lib/vst
- vinstall build/CabbagePluginEffect.so 755 usr/lib/vst
- vinstall build/CabbagePluginSynth.so 755 usr/lib/vst
-
- vdoc ../opcodes.txt
+ for plugin in PluginEffect PluginSynth PluginMidiEffect; do
+ (
+ cd "build${plugin}/build/Cabbage${plugin}_artefacts/None"
+ vinstall "VST/libCabbage${plugin}.so" 755 usr/lib/vst
+ vinstall "VST3/Cabbage${plugin}.vst3/Contents/${XBPS_TARGET_MACHINE}-linux/Cabbage${plugin}.so" 755 "usr/lib/vst/Cabbage${plugin}.vst3/Contents/${XBPS_TARGET_MACHINE}-linux/"
+ )
+ done
- vinstall ../../Images/cabbage.png 644 usr/share/icons/hicolor/512x512/apps/
- vinstall Cabbage.desktop 644 usr/share/applications/
- vinstall CabbageLite.desktop 644 usr/share/applications/
+ vinstall Images/cabbage.png 644 usr/share/icons/hicolor/512x512/apps/
+ vinstall Installers/Linux/Cabbage.desktop 644 usr/share/applications/
vmkdir usr/share/doc/cabbage/examples
- vcopy '../../Examples/*' usr/share/doc/cabbage/examples/
+ vcopy 'Examples/*' usr/share/doc/cabbage/examples/
}
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PR PATCH] [Merged]: cabbage: update to 2.9.0.
2024-04-11 3:30 [PR PATCH] cabbage: update to 2.9.0 oreo639
2024-04-11 3:58 ` [PR PATCH] [Updated] " oreo639
2024-04-15 2:08 ` oreo639
@ 2024-04-20 0:57 ` oreo639
2 siblings, 0 replies; 4+ messages in thread
From: oreo639 @ 2024-04-20 0:57 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1090 bytes --]
There's a merged pull request on the void-packages repository
cabbage: update to 2.9.0.
https://github.com/void-linux/void-packages/pull/49798
Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **briefly**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-04-20 0:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-11 3:30 [PR PATCH] cabbage: update to 2.9.0 oreo639
2024-04-11 3:58 ` [PR PATCH] [Updated] " oreo639
2024-04-15 2:08 ` oreo639
2024-04-20 0:57 ` [PR PATCH] [Merged]: " oreo639
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).