cabbage: update to 2.5.0.
This commit is contained in:
parent
a00d19d77a
commit
7e44b01da0
3 changed files with 19 additions and 145 deletions
|
@ -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
|
|
|
@ -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}"
|
||||||
}
|
}
|
||||||
|
|
|
@ -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.]+"
|
||||||
|
|
Loading…
Reference in a new issue