summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiroslav Šulc <fordfrog@gentoo.org>2019-12-14 17:28:26 +0100
committerMiroslav Šulc <fordfrog@gentoo.org>2019-12-14 17:28:51 +0100
commitfe68005995163bb04bdc0f6b663ac1600a667deb (patch)
tree62c13b3067347eda13683e2cb857aa4be44b33d3 /media-sound/helm
parentapp-emacs/nxml-gentoo-schemas: Version bump to 20191214. (diff)
downloadgentoo-fe68005995163bb04bdc0f6b663ac1600a667deb.tar.gz
gentoo-fe68005995163bb04bdc0f6b663ac1600a667deb.tar.bz2
gentoo-fe68005995163bb04bdc0f6b663ac1600a667deb.zip
media-sound/helm-0.9.0-r1: fixes with revbump (removed old)
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>
Diffstat (limited to 'media-sound/helm')
-rw-r--r--media-sound/helm/files/helm-0.9.0-fix-gcc91.patch140
-rw-r--r--media-sound/helm/helm-0.9.0-r1.ebuild (renamed from media-sound/helm/helm-0.9.0.ebuild)18
2 files changed, 147 insertions, 11 deletions
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
index 000000000000..f623fef203cd
--- /dev/null
+++ b/media-sound/helm/files/helm-0.9.0-fix-gcc91.patch
@@ -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
+
+ //==============================================================================
+ forcedinline uint8 getAlpha() const noexcept { return components.a; }
+- forcedinline uint8 getRed() const noexcept { return components.r; }
++ forcedinline uint8 getRed() const noexcept { return components.r; }
+ 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
+-
++ forcedinline uint8 getBlue() const noexcept { return components.b; }
+ //==============================================================================
+ /** Copies another pixel colour over this one.
+
+@@ -340,9 +326,6 @@ class JUCE_API PixelARGB
+ {
+ 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
+@@ -429,10 +412,6 @@ class JUCE_API PixelRGB
+ 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.
+
+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)
+ {
+ if (sizeof (PixelType) == 3 && destData.pixelStride == sizeof (PixelType))
+- {
+ 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
+- {
+ areRGBComponentsEqual = false;
+- }
+ }
+
+ forcedinline void setEdgeTableYPos (const int y) noexcept
+@@ -643,7 +635,6 @@ namespace EdgeTableFillers
+ const Image::BitmapData& destData;
+ PixelType* linePixels;
+ PixelARGB sourceColour;
+- PixelRGB filler [4];
+ bool areRGBComponentsEqual;
+
+ forcedinline PixelType* getPixel (const int x) const noexcept
+@@ -658,43 +649,8 @@ namespace EdgeTableFillers
+
+ forcedinline void replaceLine (PixelRGB* dest, const 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)
+- {
+- const int* const intFiller = reinterpret_cast<const int*> (filler);
+-
+- while (width > 8 && (((pointer_sized_int) dest) & 7) != 0)
+- {
+- dest->set (colour);
+- ++dest;
+- --width;
+- }
+-
+- while (width > 4)
+- {
+- int* 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;
+- }
+- }
+- }
++ 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))
diff --git a/media-sound/helm/helm-0.9.0.ebuild b/media-sound/helm/helm-0.9.0-r1.ebuild
index 5ca560251ae0..96d0ee253468 100644
--- a/media-sound/helm/helm-0.9.0.ebuild
+++ b/media-sound/helm/helm-0.9.0-r1.ebuild
@@ -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
-}