summaryrefslogtreecommitdiff
path: root/experimental/lmms
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-01-20 20:38:17 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-01-20 20:38:17 +0000
commit66153ac5644682bc3868bceb3c25f0d6e9b9ccd3 (patch)
tree44b845e04751519bf1049be322a312a963c82656 /experimental/lmms
parent6c8123a19e741ca20f80a5a2d592d780480984f1 (diff)
downloadpackages-66153ac5644682bc3868bceb3c25f0d6e9b9ccd3.tar.gz
packages-66153ac5644682bc3868bceb3c25f0d6e9b9ccd3.tar.bz2
packages-66153ac5644682bc3868bceb3c25f0d6e9b9ccd3.tar.xz
packages-66153ac5644682bc3868bceb3c25f0d6e9b9ccd3.zip
experimental/lmms: new package (broken on BE)
Upstream tracker: https://github.com/LMMS/lmms/issues/4784
Diffstat (limited to 'experimental/lmms')
-rw-r--r--experimental/lmms/APKBUILD66
-rw-r--r--experimental/lmms/isinff.patch11
-rw-r--r--experimental/lmms/thread.patch25
-rw-r--r--experimental/lmms/use-system-ecm.patch11
4 files changed, 113 insertions, 0 deletions
diff --git a/experimental/lmms/APKBUILD b/experimental/lmms/APKBUILD
new file mode 100644
index 000000000..0ab893cb8
--- /dev/null
+++ b/experimental/lmms/APKBUILD
@@ -0,0 +1,66 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=lmms
+pkgver=1.2.0_rc7
+pkgrel=0
+pkgdesc="Music production software"
+url="https://lmms.io/"
+arch="all"
+license="GPL-2.0-only"
+depends=""
+makedepends="alsa-lib-dev cmake fftw-dev fltk-dev fluidsynth-dev lame-dev
+ libogg-dev libsamplerate-dev libsndfile-dev libvorbis-dev libxml2-dev
+ pulseaudio-dev qt5-qtbase-dev qt5-qttools-dev qt5-qtx11extras-dev
+ extra-cmake-modules xcb-util-dev xcb-util-keysyms-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="lmms-${pkgver/_/-}.tar.gz::https://github.com/LMMS/lmms/archive/v${pkgver/_/-}.tar.gz
+ https://distfiles.adelielinux.org/source/qt5-x11embed-20171106.tar.xz
+ rpmalloc-1.3.1.tar.gz::https://github.com/rampantpixels/rpmalloc/archive/1.3.1.tar.gz
+ isinff.patch
+ thread.patch
+ use-system-ecm.patch
+ "
+builddir="$srcdir"/lmms-${pkgver/_/-}
+
+prepare() {
+ cd "$builddir"
+ rmdir src/3rdparty/qt5-x11embed
+ rmdir src/3rdparty/rpmalloc/rpmalloc
+ mv "$srcdir"/qt5-x11embed-20171106 src/3rdparty/qt5-x11embed
+ mv "$srcdir"/rpmalloc-1.3.1 src/3rdparty/rpmalloc/rpmalloc
+ default_prepare
+}
+
+build() {
+ cd "$builddir"
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DWANT_QT5=ON \
+ ${CMAKE_CROSSOPTS}
+ make
+}
+
+check() {
+ cd "$builddir"
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="e16b5bd050a0a5f3ac9312654cd3ce65e497258dead836fb222918af4eb71ea23175292b7943bff495e0b53445b70e80d26bebe059e46724f39f8e8f29d37dd6 lmms-1.2.0-rc7.tar.gz
+d00b5dfb2931ae1614b419b06f795c5627e51eb2159612eb058484c2b1c6817532d4e321ce514518ce2009d8c7f886e384d6cc8b8428b05b268db3f28bb90e63 qt5-x11embed-20171106.tar.xz
+c9a42c635774285a8467eaa1931109528c08931c73873c366d0e4949921c8956a31db7422378cd548bbbaf24d0fcc41470ab6751e67238db53677832e5fb5db4 rpmalloc-1.3.1.tar.gz
+8896727616d361d22876ce353adeaa587a506f4fa649575f8444e89c5b86165c6e4c29b5862221530e5840023bd012bf6183666b958b7841dbf2cde1f2924353 isinff.patch
+e6b5b87af969bf8c1c24cef2748485d86d58139704efdebf0645c376c9c40de54b0ff08d9fd3b41865670539c7dac50e4178d06dfb779e1d8d4fc7cdd08c4a32 thread.patch
+70f1467340f7f5c9e94af702e036aa3355c036b13523a9d5183d5b0fb7c18f8878ec92c6d84a49837739b207bd0546ef5264a4e17f30ddf27b6f8eb9d09c4c76 use-system-ecm.patch"
diff --git a/experimental/lmms/isinff.patch b/experimental/lmms/isinff.patch
new file mode 100644
index 000000000..6c83c5052
--- /dev/null
+++ b/experimental/lmms/isinff.patch
@@ -0,0 +1,11 @@
+--- lmms-1.2.0-rc7/include/lmms_math.h.old 2018-09-25 07:47:51.000000000 +0000
++++ lmms-1.2.0-rc7/include/lmms_math.h 2019-01-20 19:22:47.190000000 +0000
+@@ -34,7 +34,7 @@
+ #include <cmath>
+ using namespace std;
+
+-#if defined (LMMS_BUILD_WIN32) || defined (LMMS_BUILD_APPLE) || defined(LMMS_BUILD_HAIKU) || defined (__FreeBSD__) || defined(__OpenBSD__)
++#if defined (LMMS_BUILD_WIN32) || defined (LMMS_BUILD_APPLE) || defined(LMMS_BUILD_HAIKU) || defined (__FreeBSD__) || defined(__OpenBSD__) || (defined(LMMS_BUILD_LINUX) && !defined(__GLIBC__))
+ #ifndef isnanf
+ #define isnanf(x) isnan(x)
+ #endif
diff --git a/experimental/lmms/thread.patch b/experimental/lmms/thread.patch
new file mode 100644
index 000000000..f8c293f4e
--- /dev/null
+++ b/experimental/lmms/thread.patch
@@ -0,0 +1,25 @@
+From c9c22e4a0e7c0de0cfaf8df101443d2d53fbdb31 Mon Sep 17 00:00:00 2001
+From: Lukas W <lukaswhl@gmail.com>
+Date: Fri, 24 Nov 2017 13:30:15 +0100
+Subject: [PATCH] shared_object: Use deleteLater in unref for thread safety
+
+This makes unref safe when it's not called from within the object's thread.
+
+Fixes #4009
+---
+ include/shared_object.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/shared_object.h b/include/shared_object.h
+index f39cb0e8bf..fe7a3d8e06 100644
+--- a/include/shared_object.h
++++ b/include/shared_object.h
+@@ -61,7 +61,7 @@ class sharedObject
+
+ if ( deleteObject )
+ {
+- delete object;
++ object->deleteLater();
+ }
+ }
+
diff --git a/experimental/lmms/use-system-ecm.patch b/experimental/lmms/use-system-ecm.patch
new file mode 100644
index 000000000..8fcafc8d3
--- /dev/null
+++ b/experimental/lmms/use-system-ecm.patch
@@ -0,0 +1,11 @@
+--- lmms-1.2.0-rc7/src/3rdparty/qt5-x11embed/CMakeLists.txt.old 2017-11-06 18:24:12.000000000 +0000
++++ lmms-1.2.0-rc7/src/3rdparty/qt5-x11embed/CMakeLists.txt 2019-01-20 19:14:20.430000000 +0000
+@@ -1,7 +1,7 @@
+ cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
+ project(qt5-x11embed)
+
+-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/ECM/find-modules")
++list(APPEND CMAKE_MODULE_PATH "/usr/share/ECM/find-modules")
+
+ find_package(Qt5Core COMPONENTS Private REQUIRED)
+ find_package(Qt5Widgets COMPONENTS Private REQUIRED)