cabbage: update to 2.5.0.

This commit is contained in:
Piotr Wójcik 2021-03-04 22:18:56 +01:00 committed by Piotr
parent a00d19d77a
commit 7e44b01da0
3 changed files with 19 additions and 145 deletions

View file

@ -1,134 +0,0 @@
commit 1d53d416b47aee20b0d093e319b7bc9131b85adc
Author: q66 <daniel@octaforge.org>
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<const int*> (filler);
-
- while (width > 8 && (((pointer_sized_int) dest) & 7) != 0)
- {
- dest->set (colour);
- ++dest;
- --width;
- }
-
- while (width > 4)
- {
- auto d = reinterpret_cast<int*> (dest);
- *d++ = intFiller[0];
- *d++ = intFiller[1];
- *d++ = intFiller[2];
- dest = reinterpret_cast<PixelRGB*> (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

View file

@ -1,11 +1,13 @@
# Template file for 'cabbage' # Template file for 'cabbage'
pkgname=cabbage pkgname=cabbage
version=2.0.03 version=2.5.0
revision=2 revision=1
_jucever=5.3.2 # specified in buildLinux.sh
_jucever=5.4.7
_vstsdkver=3611_22_10_2018_build_34
create_wrksrc=yes create_wrksrc=yes
build_wrksrc="${pkgname}-${version}" 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 makedepends="libfreeglut-devel libcurl-devel jack-devel libXcomposite-devel
libXrandr-devel libXcursor-devel libX11-devel libXinerama-devel MesaLib-devel libXrandr-devel libXcursor-devel libX11-devel libXinerama-devel MesaLib-devel
gtk+3-devel webkit2gtk-devel csound alsa-lib-devel libsndfile-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/" homepage="http://cabbageaudio.com/"
distfiles="https://github.com/WeAreROLI/JUCE/archive/${_jucever}.tar.gz distfiles="https://github.com/WeAreROLI/JUCE/archive/${_jucever}.tar.gz
https://github.com/rorywalsh/cabbage/archive/v${version}.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" http://cabbageaudio.com/beta/heads.zip
checksum="b7c604bb6a7f9752934f89d72133713f7a65e82478bba80ccb4709d0edb58033 https://download.steinberg.net/sdk_downloads/vstsdk${_vstsdkver}.zip"
80f36d010a1f9bb14469fba70e12a5df7e24e92bec511c7157d5a1e90c0314d3 checksum="0f446cf09177e559d2f2e9a77a78faed611cc869e219a7dc859a6e9b72eca64d
5e8f1058177472f6dd3b5c1e7f8e0e76f37c5f751fed65936e04ff2441ce831a" 68d2868ee72092ff1f809d472f561f5317512be91f1274390386afea248e78a2
broken="undefined reference to ComponentLayoutEditor::..." 6167199d752fa301e93f1383f9ad700ef646611db53c97d7433fffdb19765e29
de64ff1b5b40a7fdc2de873e80d911ffa9fd6b82435a555dda1e8edc267d1fa3"
nocross="Projucer in template uses compiled binary"
# without TARGET_ARCH, the build system will assume -march=native, # without TARGET_ARCH, the build system will assume -march=native,
# which is wrong as we're building a generic package and -march does # which is wrong as we're building a generic package and -march does
@ -60,6 +64,7 @@ Projucer() {
post_extract() { post_extract() {
mkdir SDKs mkdir SDKs
mv VST_SDK SDKs mv VST_SDK SDKs
mv vst2.x SDKs/VST_SDK/VST3_SDK/pluginterfaces
cd "${wrksrc}/cabbage-${version}" cd "${wrksrc}/cabbage-${version}"
# There are lots of hardcoded paths that need to be rewritten # There are lots of hardcoded paths that need to be rewritten
@ -97,20 +102,23 @@ do_build() {
Projucer --resave ../../CabbageIDE.jucer Projucer --resave ../../CabbageIDE.jucer
mv Makefile MakeCabbageIDE mv Makefile MakeCabbageIDE
vsed -i MakeCabbageIDE -e "s@\$(HOME)@${wrksrc}@"
make -f MakeCabbageIDE ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}" make -f MakeCabbageIDE ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
Projucer --resave ../../CabbagePlugin.jucer Projucer --resave ../../CabbagePlugin.jucer
mv Makefile MakePluginEffect mv Makefile MakePluginEffect
vsed -i MakePluginEffect -e "s@\$(HOME)@${wrksrc}@"
make -f MakePluginEffect ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}" make -f MakePluginEffect ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
mv ./build/CabbagePlugin.so ./build/CabbagePluginEffect.so mv ./build/CabbagePlugin.so ./build/CabbagePluginEffect.so
Projucer --resave ../../CabbagePluginSynth.jucer Projucer --resave ../../CabbagePluginSynth.jucer
mv Makefile MakePluginSynth mv Makefile MakePluginSynth
vsed -i MakePluginSynth -e "s@\$(HOME)@${wrksrc}@"
make -f MakePluginSynth ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}" make -f MakePluginSynth ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
mv ./build/CabbagePlugin.so ./build/CabbagePluginSynth.so mv ./build/CabbagePlugin.so ./build/CabbagePluginSynth.so
Projucer --resave ../../CabbageLite.jucer 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 mv Makefile MakeCabbageLite
make -f MakeCabbageLite ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}" make -f MakeCabbageLite ${makejobs} CONFIG=Release TARGET_ARCH="${_tarch}"
} }

View file

@ -1,2 +1,2 @@
site=https://github.com/rorywalsh/cabbage/releases site=https://github.com/rorywalsh/cabbage/releases
pattern="Cabbage v[\d.]" pattern="Cabbage v\K[\d.]+"