helm: get rid of simdflags
The distro is in control over that, not the project.
This commit is contained in:
parent
9ec4f68e10
commit
74892dabf3
3 changed files with 187 additions and 5 deletions
161
srcpkgs/helm/patches/gcc9.patch
Normal file
161
srcpkgs/helm/patches/gcc9.patch
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
From 4e0adb2af8b424c43d22bd431011c9a6c57d36b6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tom Poole <thomas.poole@roli.com>
|
||||||
|
Date: Tue, 30 Apr 2019 17:11:24 +0100
|
||||||
|
Subject: [PATCH] GCC 9 compatibility fixes
|
||||||
|
|
||||||
|
---
|
||||||
|
.../juce_graphics/colour/juce_PixelFormats.h | 34 +++---------
|
||||||
|
.../native/juce_RenderingHelpers.h | 52 ++-----------------
|
||||||
|
2 files changed, 9 insertions(+), 77 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/modules/juce_graphics/colour/juce_PixelFormats.h b/modules/juce_graphics/colour/juce_PixelFormats.h
|
||||||
|
index c57ad53c635..934c61c4781 100644
|
||||||
|
--- JUCE/modules/juce_graphics/colour/juce_PixelFormats.h
|
||||||
|
+++ JUCE/modules/juce_graphics/colour/juce_PixelFormats.h
|
||||||
|
@@ -107,22 +107,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.
|
||||||
|
@@ -341,9 +328,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
|
||||||
|
@@ -428,13 +412,9 @@ class JUCE_API PixelRGB
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
forcedinline uint8 getAlpha() const noexcept { return 0xff; }
|
||||||
|
- forcedinline uint8 getRed() const noexcept { return r; }
|
||||||
|
+ forcedinline uint8 getRed() const noexcept { return r; }
|
||||||
|
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; }
|
||||||
|
+ forcedinline uint8 getBlue() const noexcept { return b; }
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
/** Copies another pixel colour over this one.
|
||||||
|
@@ -651,11 +631,9 @@ class JUCE_API PixelAlpha
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
forcedinline uint8 getAlpha() const noexcept { return a; }
|
||||||
|
- forcedinline uint8& getAlpha() noexcept { return a; }
|
||||||
|
-
|
||||||
|
- forcedinline uint8 getRed() const noexcept { return 0; }
|
||||||
|
+ forcedinline uint8 getRed() const noexcept { return 0; }
|
||||||
|
forcedinline uint8 getGreen() const noexcept { return 0; }
|
||||||
|
- forcedinline uint8 getBlue() const noexcept { return 0; }
|
||||||
|
+ forcedinline uint8 getBlue() const noexcept { return 0; }
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
/** Copies another pixel colour over this one.
|
||||||
|
diff --git a/modules/juce_graphics/native/juce_RenderingHelpers.h b/modules/juce_graphics/native/juce_RenderingHelpers.h
|
||||||
|
index b8137ac4d04..10bd64e1459 100644
|
||||||
|
--- JUCE/modules/juce_graphics/native/juce_RenderingHelpers.h
|
||||||
|
+++ 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,47 +649,10 @@ 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))
|
||||||
|
- }
|
||||||
|
+ JUCE_PERFORM_PIXEL_OP_LOOP (set (colour));
|
||||||
|
}
|
||||||
|
|
||||||
|
forcedinline void replaceLine (PixelAlpha* dest, const PixelARGB colour, int width) const noexcept
|
21
srcpkgs/helm/patches/kill-simdflags.patch
Normal file
21
srcpkgs/helm/patches/kill-simdflags.patch
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
--- Makefile
|
||||||
|
+++ Makefile
|
||||||
|
@@ -18,18 +18,6 @@ ifdef DPKG
|
||||||
|
PDEBLDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
-MACHINE := $(shell sh -c 'uname -m 2> /dev/null || echo not')
|
||||||
|
-ifneq (,$(findstring aarch,$(MACHINE)))
|
||||||
|
- SIMDFLAGS := -march=armv8-a -mtune=cortex-a53
|
||||||
|
-else
|
||||||
|
-ifneq (,$(findstring arm,$(MACHINE)))
|
||||||
|
- SIMDFLAGS := -march=armv8-a -mtune=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard
|
||||||
|
-else
|
||||||
|
- SIMDFLAGS := -msse2
|
||||||
|
-endif
|
||||||
|
-endif
|
||||||
|
-
|
||||||
|
-
|
||||||
|
PROGRAM = helm
|
||||||
|
BIN = $(DESTDIR)/usr/bin
|
||||||
|
BINFILE = $(BIN)/$(PROGRAM)
|
|
@ -1,15 +1,15 @@
|
||||||
# Template file for 'helm'.
|
# Template file for 'helm'
|
||||||
pkgname=helm
|
pkgname=helm
|
||||||
version=0.9.0
|
version=0.9.0
|
||||||
revision=2
|
revision=3
|
||||||
build_style=gnu-makefile
|
build_style=gnu-makefile
|
||||||
hostmakedepends="pkg-config"
|
hostmakedepends="pkg-config"
|
||||||
makedepends="alsa-lib-devel libcurl-devel libX11-devel libXext-devel
|
makedepends="alsa-lib-devel libcurl-devel libX11-devel libXext-devel
|
||||||
libXinerama-devel freetype-devel MesaLib-devel jack-devel libXcursor-devel"
|
libXinerama-devel freetype-devel MesaLib-devel jack-devel libXcursor-devel"
|
||||||
maintainer="Olga Ustuzhanina <me@laserbat.pw>"
|
|
||||||
short_desc="Polyphonic synth with lots of modulation"
|
short_desc="Polyphonic synth with lots of modulation"
|
||||||
|
maintainer="Olga Ustuzhanina <me@laserbat.pw>"
|
||||||
|
license="GPL-3.0-or-later"
|
||||||
homepage="http://tytel.org/helm"
|
homepage="http://tytel.org/helm"
|
||||||
license="GPL-3"
|
|
||||||
distfiles="https://github.com/mtytel/helm/archive/v${version}.tar.gz"
|
distfiles="https://github.com/mtytel/helm/archive/v${version}.tar.gz"
|
||||||
checksum=4004c11fd1d773cc2a12adb5336873bc86c5ecbd370b8da2820fed6ef5ec58ad
|
checksum=4004c11fd1d773cc2a12adb5336873bc86c5ecbd370b8da2820fed6ef5ec58ad
|
||||||
nocross="Uses uname -m to set SIMDFLAGS. Should be based on the target, not the host, architecture"
|
nocross="./lv2_ttl_generator: ./lv2_ttl_generator: cannot execute binary file"
|
||||||
|
|
Loading…
Reference in a new issue