media-sound/helm-0.9.0-r1: fixes with revbump (removed old)
authorMiroslav Šulc <fordfrog@gentoo.org>
Sat, 14 Dec 2019 16:28:26 +0000 (17:28 +0100)
committerMiroslav Šulc <fordfrog@gentoo.org>
Sat, 14 Dec 2019 16:28:51 +0000 (17:28 +0100)
1) switched from xdg-utils to xdg
2) fixed bug 686108 using the patch from upstream though technically
   the patch in the bug is the same
3) fixed installation path for documentation

Closes: https://bugs.gentoo.org/686108
Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
media-sound/helm/files/helm-0.9.0-fix-gcc91.patch [new file with mode: 0644]
media-sound/helm/helm-0.9.0-r1.ebuild [moved from media-sound/helm/helm-0.9.0.ebuild with 74% similarity]

diff --git a/media-sound/helm/files/helm-0.9.0-fix-gcc91.patch b/media-sound/helm/files/helm-0.9.0-fix-gcc91.patch
new file mode 100644 (file)
index 0000000..f623fef
--- /dev/null
@@ -0,0 +1,140 @@
+From cb611a80bd5a36d31bfc31212ebbf79aa86c6f08 Mon Sep 17 00:00:00 2001
+From: jikstra <jikstra@disroot.org>
+Date: Tue, 20 Aug 2019 03:00:51 +0200
+Subject: [PATCH] Backport
+ https://github.com/WeAreROLI/JUCE/commit/4e0adb2af8b424c43d22bd431011c9a6c57d36b6
+ to the bundled JUCE framework to make helm compile on gcc 9.1 again
+
+---
+ .../juce_graphics/colour/juce_PixelFormats.h  | 25 +---------
+ .../native/juce_RenderingHelpers.h            | 48 +------------------
+ 2 files changed, 4 insertions(+), 69 deletions(-)
+
+diff --git a/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h b/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h
+index 9be9ba09c..3535eab80 100644
+--- a/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h
++++ b/JUCE/modules/juce_graphics/colour/juce_PixelFormats.h
+@@ -105,23 +105,9 @@ class JUCE_API  PixelARGB
\r
+     //==============================================================================\r
+     forcedinline uint8 getAlpha() const noexcept      { return components.a; }\r
+-    forcedinline uint8 getRed() const noexcept        { return components.r; }\r
++    forcedinline uint8 getRed()   const noexcept      { return components.r; }\r
+     forcedinline uint8 getGreen() const noexcept      { return components.g; }\r
+-    forcedinline uint8 getBlue() const noexcept       { return components.b; }\r
+-\r
+-   #if JUCE_GCC\r
+-    // NB these are here as a workaround because GCC refuses to bind to packed values.\r
+-    forcedinline uint8& getAlpha() noexcept           { return comps [indexA]; }\r
+-    forcedinline uint8& getRed() noexcept             { return comps [indexR]; }\r
+-    forcedinline uint8& getGreen() noexcept           { return comps [indexG]; }\r
+-    forcedinline uint8& getBlue() noexcept            { return comps [indexB]; }\r
+-   #else\r
+-    forcedinline uint8& getAlpha() noexcept           { return components.a; }\r
+-    forcedinline uint8& getRed() noexcept             { return components.r; }\r
+-    forcedinline uint8& getGreen() noexcept           { return components.g; }\r
+-    forcedinline uint8& getBlue() noexcept            { return components.b; }\r
+-   #endif\r
+-\r
++    forcedinline uint8 getBlue()  const noexcept      { return components.b; }\r
+     //==============================================================================\r
+     /** Copies another pixel colour over this one.\r
\r
+@@ -340,9 +326,6 @@ class JUCE_API  PixelARGB
+     {\r
+         uint32 internal;\r
+         Components components;\r
+-       #if JUCE_GCC\r
+-        uint8 comps[4];  // helper struct needed because gcc does not allow references to packed union members\r
+-       #endif\r
+     };\r
+ }\r
+ #ifndef DOXYGEN\r
+@@ -429,10 +412,6 @@ class JUCE_API  PixelRGB
+     forcedinline uint8 getGreen() const noexcept    { return g; }\r
+     forcedinline uint8 getBlue() const noexcept     { return b; }\r
\r
+-    forcedinline uint8& getRed() noexcept           { return r; }\r
+-    forcedinline uint8& getGreen() noexcept         { return g; }\r
+-    forcedinline uint8& getBlue() noexcept          { return b; }\r
+-\r
+     //==============================================================================\r
+     /** Copies another pixel colour over this one.\r
\r
+diff --git a/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h b/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h
+index 1c4cd31ef..29519cb5a 100644
+--- a/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h
++++ b/JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h
+@@ -581,18 +581,10 @@ namespace EdgeTableFillers
+             : destData (image), sourceColour (colour)\r
+         {\r
+             if (sizeof (PixelType) == 3 && destData.pixelStride == sizeof (PixelType))\r
+-            {\r
+                 areRGBComponentsEqual = sourceColour.getRed() == sourceColour.getGreen()\r
+                                             && sourceColour.getGreen() == sourceColour.getBlue();\r
+-                filler[0].set (sourceColour);\r
+-                filler[1].set (sourceColour);\r
+-                filler[2].set (sourceColour);\r
+-                filler[3].set (sourceColour);\r
+-            }\r
+             else\r
+-            {\r
+                 areRGBComponentsEqual = false;\r
+-            }\r
+         }\r
\r
+         forcedinline void setEdgeTableYPos (const int y) noexcept\r
+@@ -643,7 +635,6 @@ namespace EdgeTableFillers
+         const Image::BitmapData& destData;\r
+         PixelType* linePixels;\r
+         PixelARGB sourceColour;\r
+-        PixelRGB filler [4];\r
+         bool areRGBComponentsEqual;\r
\r
+         forcedinline PixelType* getPixel (const int x) const noexcept\r
+@@ -658,43 +649,8 @@ namespace EdgeTableFillers
\r
+         forcedinline void replaceLine (PixelRGB* dest, const PixelARGB colour, int width) const noexcept\r
+         {\r
+-            if (destData.pixelStride == sizeof (*dest))\r
+-            {\r
+-                if (areRGBComponentsEqual)  // if all the component values are the same, we can cheat..\r
+-                {\r
+-                    memset (dest, colour.getRed(), (size_t) width * 3);\r
+-                }\r
+-                else\r
+-                {\r
+-                    if (width >> 5)\r
+-                    {\r
+-                        const int* const intFiller = reinterpret_cast<const int*> (filler);\r
+-\r
+-                        while (width > 8 && (((pointer_sized_int) dest) & 7) != 0)\r
+-                        {\r
+-                            dest->set (colour);\r
+-                            ++dest;\r
+-                            --width;\r
+-                        }\r
+-\r
+-                        while (width > 4)\r
+-                        {\r
+-                            int* d = reinterpret_cast<int*> (dest);\r
+-                            *d++ = intFiller[0];\r
+-                            *d++ = intFiller[1];\r
+-                            *d++ = intFiller[2];\r
+-                            dest = reinterpret_cast<PixelRGB*> (d);\r
+-                            width -= 4;\r
+-                        }\r
+-                    }\r
+-\r
+-                    while (--width >= 0)\r
+-                    {\r
+-                        dest->set (colour);\r
+-                        ++dest;\r
+-                    }\r
+-                }\r
+-            }\r
++            if ((size_t) destData.pixelStride == sizeof (*dest) && areRGBComponentsEqual)\r
++                memset ((void*) dest, colour.getRed(), (size_t) width * 3);   // if all the component values are the same, we can cheat..\r
+             else\r
+             {\r
+                 JUCE_PERFORM_PIXEL_OP_LOOP (set (colour))\r
similarity index 74%
rename from media-sound/helm/helm-0.9.0.ebuild
rename to media-sound/helm/helm-0.9.0-r1.ebuild
index 5ca560251ae0170020556ac53762e03e8314337e..96d0ee2534682c9913ab5717d93d74b14178b5a5 100644 (file)
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-inherit desktop xdg-utils
+inherit desktop xdg
 
 DESCRIPTION="Open source polyphonic software synthesizer with lots of modulation"
 HOMEPAGE="https://tytel.org/helm/"
@@ -31,11 +31,15 @@ RDEPEND="${DEPEND}
 
 DOCS=( changelog README.md )
 
-PATCHES=( "${FILESDIR}/${P}-nomancompress.patch" )
+PATCHES=(
+       "${FILESDIR}/${P}-nomancompress.patch"
+       "${FILESDIR}/${P}-fix-gcc91.patch"
+)
 
 src_prepare() {
        default
-       sed -e "s|/usr/lib/|/usr/$(get_libdir)/|" -i Makefile || die
+       sed -e "s|/usr/lib/|/usr/$(get_libdir)/|" -i Makefile || die "Failed to fix libdir"
+       sed -e "s|^\(CHANGES.*\)/|\1-${PVR}|" -i Makefile || die "Failed to fix doc path"
 }
 
 src_compile() {
@@ -46,11 +50,3 @@ src_install() {
        default
        make_desktop_entry /usr/bin/helm Helm /usr/share/helm/icons/helm_icon_32_1x.png
 }
-
-pkg_postinst() {
-       xdg_desktop_database_update
-}
-
-pkg_postrm() {
-       xdg_desktop_database_update
-}