Merge pull request #310767 from annaleeleaves/ensemble-chorus-use-default-c++
ensemble-chorus: unpin gcc8Stdenv; unbreak
This commit is contained in:
commit
0ff60c84f7
@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix compile error regarding packed attribute in 3rd party juice library
|
||||
./juice-cxx-packing-fix.diff
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -0,0 +1,55 @@
|
||||
diff --git a/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h b/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h
|
||||
index 69a66e4..3e50635 100644
|
||||
--- a/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h
|
||||
+++ b/thirdparty/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h
|
||||
@@ -111,18 +111,10 @@ 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.
|
||||
@@ -336,21 +328,22 @@ private:
|
||||
uint8 b, g, r, a;
|
||||
#endif
|
||||
#endif
|
||||
- } JUCE_PACKED;
|
||||
+ };
|
||||
+
|
||||
+ // structure must be packed but using the packed attribute causes compile
|
||||
+ // failures with newer c++ compilers. Verify default packing produces same layout
|
||||
+ static_assert(sizeof(Components) == 4, "Components struct is not packed");
|
||||
|
||||
union
|
||||
{
|
||||
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
|
||||
- JUCE_PACKED
|
||||
-#endif
|
||||
-;
|
||||
+};
|
||||
+
|
||||
+// class must be packed but using the packed attribute causes compile
|
||||
+// failures with newer c++ compilers. Verify default packing produces same layout
|
||||
+static_assert(sizeof(PixelARGB) == 4, "PixelARGB class is not packed");
|
||||
|
||||
|
||||
//==============================================================================
|
@ -7823,7 +7823,7 @@ with pkgs;
|
||||
|
||||
enscript = callPackage ../tools/text/enscript { };
|
||||
|
||||
ensemble-chorus = callPackage ../applications/audio/ensemble-chorus { stdenv = gcc8Stdenv; };
|
||||
ensemble-chorus = callPackage ../applications/audio/ensemble-chorus { };
|
||||
|
||||
entr = callPackage ../tools/misc/entr { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user