From 70d1daa197b48ca25fac91abb65c33f4663b30bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20W=C3=B3jcik?= Date: Thu, 4 Mar 2021 22:18:56 +0100 Subject: [PATCH] cabbage: update to 2.5.0. --- srcpkgs/cabbage/patches/gcc9.patch | 134 ----------------------------- srcpkgs/cabbage/template | 28 +++--- 2 files changed, 18 insertions(+), 144 deletions(-) delete mode 100644 srcpkgs/cabbage/patches/gcc9.patch diff --git a/srcpkgs/cabbage/patches/gcc9.patch b/srcpkgs/cabbage/patches/gcc9.patch deleted file mode 100644 index 0ee949257c4..00000000000 --- a/srcpkgs/cabbage/patches/gcc9.patch +++ /dev/null @@ -1,134 +0,0 @@ -commit 1d53d416b47aee20b0d093e319b7bc9131b85adc -Author: q66 -Date: Sat Jan 4 23:52:36 2020 +0100 - - fix build with gcc9, adapted from upstream - -diff --git JUCE-5.3.2/modules/juce_graphics/colour/juce_PixelFormats.h JUCE-5.3.2/modules/juce_graphics/colour/juce_PixelFormats.h -index 4b1ba87..f77b885 100644 ---- JUCE-5.3.2/modules/juce_graphics/colour/juce_PixelFormats.h -+++ JUCE-5.3.2/modules/juce_graphics/colour/juce_PixelFormats.h -@@ -111,19 +111,6 @@ public: - forcedinline uint8 getGreen() const noexcept { return components.g; } - forcedinline uint8 getBlue() const noexcept { return components.b; } - -- #if JUCE_GCC -- // NB these are here as a workaround because GCC refuses to bind to packed values. -- forcedinline uint8& getAlpha() noexcept { return comps [indexA]; } -- forcedinline uint8& getRed() noexcept { return comps [indexR]; } -- forcedinline uint8& getGreen() noexcept { return comps [indexG]; } -- forcedinline uint8& getBlue() noexcept { return comps [indexB]; } -- #else -- forcedinline uint8& getAlpha() noexcept { return components.a; } -- forcedinline uint8& getRed() noexcept { return components.r; } -- forcedinline uint8& getGreen() noexcept { return components.g; } -- forcedinline uint8& getBlue() noexcept { return components.b; } -- #endif -- - //============================================================================== - /** Copies another pixel colour over this one. - -@@ -342,9 +329,6 @@ private: - { - uint32 internal; - Components components; -- #if JUCE_GCC -- uint8 comps[4]; // helper struct needed because gcc does not allow references to packed union members -- #endif - }; - } - #ifndef DOXYGEN -@@ -433,10 +417,6 @@ public: - forcedinline uint8 getGreen() const noexcept { return g; } - forcedinline uint8 getBlue() const noexcept { return b; } - -- forcedinline uint8& getRed() noexcept { return r; } -- forcedinline uint8& getGreen() noexcept { return g; } -- forcedinline uint8& getBlue() noexcept { return b; } -- - //============================================================================== - /** Copies another pixel colour over this one. - -@@ -652,7 +632,6 @@ public: - - //============================================================================== - forcedinline uint8 getAlpha() const noexcept { return a; } -- forcedinline uint8& getAlpha() noexcept { return a; } - - forcedinline uint8 getRed() const noexcept { return 0; } - forcedinline uint8 getGreen() const noexcept { return 0; } -diff --git JUCE-5.3.2/modules/juce_graphics/native/juce_RenderingHelpers.h JUCE-5.3.2/modules/juce_graphics/native/juce_RenderingHelpers.h -index 9ac3ae2..9f41084 100644 ---- JUCE-5.3.2/modules/juce_graphics/native/juce_RenderingHelpers.h -+++ JUCE-5.3.2/modules/juce_graphics/native/juce_RenderingHelpers.h -@@ -585,10 +585,6 @@ namespace EdgeTableFillers - { - areRGBComponentsEqual = sourceColour.getRed() == sourceColour.getGreen() - && sourceColour.getGreen() == sourceColour.getBlue(); -- filler[0].set (sourceColour); -- filler[1].set (sourceColour); -- filler[2].set (sourceColour); -- filler[3].set (sourceColour); - } - else - { -@@ -675,7 +671,6 @@ namespace EdgeTableFillers - const Image::BitmapData& destData; - PixelType* linePixels; - PixelARGB sourceColour; -- PixelRGB filler[4]; - bool areRGBComponentsEqual; - - forcedinline PixelType* getPixel (int x) const noexcept -@@ -690,47 +685,10 @@ namespace EdgeTableFillers - - forcedinline void replaceLine (PixelRGB* dest, PixelARGB colour, int width) const noexcept - { -- if (destData.pixelStride == sizeof (*dest)) -- { -- if (areRGBComponentsEqual) // if all the component values are the same, we can cheat.. -- { -- memset (dest, colour.getRed(), (size_t) width * 3); -- } -- else -- { -- if (width >> 5) -- { -- auto intFiller = reinterpret_cast (filler); -- -- while (width > 8 && (((pointer_sized_int) dest) & 7) != 0) -- { -- dest->set (colour); -- ++dest; -- --width; -- } -- -- while (width > 4) -- { -- auto d = reinterpret_cast (dest); -- *d++ = intFiller[0]; -- *d++ = intFiller[1]; -- *d++ = intFiller[2]; -- dest = reinterpret_cast (d); -- width -= 4; -- } -- } -- -- while (--width >= 0) -- { -- dest->set (colour); -- ++dest; -- } -- } -- } -- else -- { -- JUCE_PERFORM_PIXEL_OP_LOOP (set (colour)) -- } -+ if ((size_t) destData.pixelStride == sizeof (*dest) && areRGBComponentsEqual) -+ memset ((void*) dest, colour.getRed(), (size_t) width * 3); // if all the component values are the same, we can cheat.. -+ else -+ JUCE_PERFORM_PIXEL_OP_LOOP (set (colour)); - } - - forcedinline void replaceLine (PixelAlpha* dest, const PixelARGB colour, int width) const noexcept diff --git a/srcpkgs/cabbage/template b/srcpkgs/cabbage/template index 4bf1093d070..fd910797d51 100644 --- a/srcpkgs/cabbage/template +++ b/srcpkgs/cabbage/template @@ -1,11 +1,13 @@ # Template file for 'cabbage' pkgname=cabbage -version=2.0.03 -revision=2 -_jucever=5.3.2 +version=2.5.0 +revision=1 +# specified in buildLinux.sh +_jucever=5.4.7 +_vstsdkver=3611_22_10_2018_build_34 create_wrksrc=yes build_wrksrc="${pkgname}-${version}" -hostmakedepends="unzip pkg-config xorg-server-xvfb" +hostmakedepends="pkg-config xorg-server-xvfb" 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" @@ -16,11 +18,13 @@ license="GPL-3.0-or-later" homepage="http://cabbageaudio.com/" distfiles="https://github.com/WeAreROLI/JUCE/archive/${_jucever}.tar.gz https://github.com/rorywalsh/cabbage/archive/v${version}.tar.gz - http://www.steinberg.net/sdk_downloads/vstsdk367_03_03_2017_build_352.zip" -checksum="b7c604bb6a7f9752934f89d72133713f7a65e82478bba80ccb4709d0edb58033 - 80f36d010a1f9bb14469fba70e12a5df7e24e92bec511c7157d5a1e90c0314d3 - 5e8f1058177472f6dd3b5c1e7f8e0e76f37c5f751fed65936e04ff2441ce831a" -broken="undefined reference to ComponentLayoutEditor::..." + http://cabbageaudio.com/beta/heads.zip + https://download.steinberg.net/sdk_downloads/vstsdk${_vstsdkver}.zip" +checksum="0f446cf09177e559d2f2e9a77a78faed611cc869e219a7dc859a6e9b72eca64d + 68d2868ee72092ff1f809d472f561f5317512be91f1274390386afea248e78a2 + 6167199d752fa301e93f1383f9ad700ef646611db53c97d7433fffdb19765e29 + de64ff1b5b40a7fdc2de873e80d911ffa9fd6b82435a555dda1e8edc267d1fa3" +nocross="Projucer in template uses compiled binary" # without TARGET_ARCH, the build system will assume -march=native, # which is wrong as we're building a generic package and -march does @@ -60,6 +64,7 @@ Projucer() { post_extract() { mkdir SDKs mv VST_SDK SDKs + mv vst2.x SDKs/VST_SDK/VST3_SDK/pluginterfaces cd "${wrksrc}/cabbage-${version}" # There are lots of hardcoded paths that need to be rewritten @@ -97,20 +102,23 @@ do_build() { Projucer --resave ../../CabbageIDE.jucer mv Makefile MakeCabbageIDE + vsed -i MakeCabbageIDE -e "s@\$(HOME)@${wrksrc}@" make -f MakeCabbageIDE ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}" Projucer --resave ../../CabbagePlugin.jucer mv Makefile MakePluginEffect + vsed -i MakePluginEffect -e "s@\$(HOME)@${wrksrc}@" make -f MakePluginEffect ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}" mv ./build/CabbagePlugin.so ./build/CabbagePluginEffect.so Projucer --resave ../../CabbagePluginSynth.jucer mv Makefile MakePluginSynth + vsed -i MakePluginSynth -e "s@\$(HOME)@${wrksrc}@" make -f MakePluginSynth ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}" mv ./build/CabbagePlugin.so ./build/CabbagePluginSynth.so Projucer --resave ../../CabbageLite.jucer - cp -r ../../../JUCE-5.3.2/modules/juce_audio_plugin_client/ ../../JuceLibraryCode/modules/ + cp -r ../../../JUCE-${_jucever}/modules/juce_audio_plugin_client/ ../../JuceLibraryCode/modules/ mv Makefile MakeCabbageLite make -f MakeCabbageLite ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}" }