aboutsummaryrefslogtreecommitdiffstats
path: root/testing/libkeyfinder
diff options
context:
space:
mode:
authorJean-Louis Fuchs <ganwell@fangorn.ch>2017-03-23 23:43:01 +0100
committerLeonardo Arena <rnalrd@alpinelinux.org>2017-03-28 10:02:29 +0000
commitd0e64144b613e6b9239e8d68c50753dc7963d3b3 (patch)
tree094da391c913bac33dff366c8135fd06fd97f2e0 /testing/libkeyfinder
parent9aa906c9db4051f6a3c133b664c35a8800fa2a31 (diff)
downloadaports-d0e64144b613e6b9239e8d68c50753dc7963d3b3.tar.bz2
aports-d0e64144b613e6b9239e8d68c50753dc7963d3b3.tar.xz
testing/libkeyfinder: new aport
Diffstat (limited to 'testing/libkeyfinder')
-rw-r--r--testing/libkeyfinder/APKBUILD50
-rw-r--r--testing/libkeyfinder/alpine-settings-to-pro.patch28
-rw-r--r--testing/libkeyfinder/issue_22.patch63
3 files changed, 141 insertions, 0 deletions
diff --git a/testing/libkeyfinder/APKBUILD b/testing/libkeyfinder/APKBUILD
new file mode 100644
index 0000000000..b2973a160a
--- /dev/null
+++ b/testing/libkeyfinder/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Jean-Louis Fuchs <ganwell@fangorn.ch>
+# Maintainer: Jean-Louis Fuchs <ganwell@fangorn.ch>
+pkgname=libkeyfinder
+pkgver=2.2
+pkgrel=0
+pkgdesc="Musical key detection for digital audio"
+url="http://www.ibrahimshaath.co.uk/keyfinder/"
+arch="all"
+license="GPL"
+# Its just using qmake
+makedepends="qt-dev fftw-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="libkeyfinder-$pkgver.tar.gz::https://github.com/ibsh/libKeyFinder/archive/v$pkgver.tar.gz
+ issue_22.patch
+ alpine-settings-to-pro.patch"
+builddir="$srcdir/libKeyFinder-$pkgver"
+
+build() {
+ cd "$builddir"
+ qmake PREFIX=/usr
+ make
+}
+
+package() {
+ cd "$builddir"
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+doc() {
+ mkdir -p "$subpkgdir/usr/share/doc/$pkgname"
+ cp "$builddir/README.md" "$subpkgdir/usr/share/doc/$pkgname/README.md"
+}
+
+check() {
+ cd "$builddir/tests"
+ ln -s "$builddir" keyfinder
+ qmake
+ make
+ LD_LIBRARY_PATH="$builddir" ./tests
+}
+
+md5sums="c19eaf976afe10ba0cf15c0aba45618c libkeyfinder-2.2.tar.gz
+17d4692e8c39c0f607981058f531970d issue_22.patch
+2650ed076d43872cc474099021bd84cd alpine-settings-to-pro.patch"
+sha256sums="cd9337899e0d71bb0fda2726630f72aaf6a05a3ec7b27df7e42fd27409a88c96 libkeyfinder-2.2.tar.gz
+2e570a3d682f365cac5d0c49aaa139cb559cb36ca37e26b7b9b05dccdb9f3a7f issue_22.patch
+bc2dd2f8948d6565dd90b75074d7f2e61802d9e2f67e315ba92464958e5dc0ea alpine-settings-to-pro.patch"
+sha512sums="8e35473d34cb715d9eb383733ca07f659fd116f65a923fa3948d99dc4cfb04e43b4cf0bb411345574d42bb40fae8d818253f8cdbcbb5fb3aaab88bcc57f7b687 libkeyfinder-2.2.tar.gz
+a73e24f96708615b8d3073de8eac32a17be6947b3c99f94be57d09577278eedcf668849c75c20fe74a35bd74e8b41f92d08627c5f0fff3198cf60867262bcd6a issue_22.patch
+580c968da0d24126d92b09cc4a970bb898fe020f2b9a9232d80ef63be8d3f90e618ea0b2f66ccde174a51dcf7160dfd62ab3b9428bf0ae6b11608b7dd7aede23 alpine-settings-to-pro.patch"
diff --git a/testing/libkeyfinder/alpine-settings-to-pro.patch b/testing/libkeyfinder/alpine-settings-to-pro.patch
new file mode 100644
index 0000000000..36cfe6d937
--- /dev/null
+++ b/testing/libkeyfinder/alpine-settings-to-pro.patch
@@ -0,0 +1,28 @@
+diff -ur a/LibKeyFinder.pro b/LibKeyFinder.pro
+--- a/LibKeyFinder.pro 2017-03-12 23:41:10.000000000 +0100
++++ b/LibKeyFinder.pro 2017-03-23 16:49:06.236738498 +0100
+@@ -30,7 +30,8 @@
+ VERSION = 2.2.0
+
+ CONFIG += c++11
+-QMAKE_CXXFLAGS += -std=c++11
++QMAKE_CXXFLAGS_RELEASE -= -O2
++QMAKE_CXXFLAGS += -std=c++11 -Os -fomit-frame-pointer
+
+ DEFINES += LIBKEYFINDER_LIBRARY
+
+diff -ur a/tests/tests.pro b/tests/tests.pro
+--- a/tests/tests.pro 2017-03-23 16:47:17.280248215 +0100
++++ b/tests/tests.pro 2017-03-23 16:48:28.386799769 +0100
+@@ -27,8 +27,9 @@
+ CONFIG -= qt
+
+ CONFIG += c++11
+-LIBS += -stdlib=libc++
+-QMAKE_CXXFLAGS += -std=c++11 -stdlib=libc++
++LIBS += -L..
++QMAKE_CXXFLAGS_RELEASE -= -O2
++QMAKE_CXXFLAGS += -std=c++11 -Os -fomit-frame-pointer
+
+ LIBS += -lkeyfinder
+
diff --git a/testing/libkeyfinder/issue_22.patch b/testing/libkeyfinder/issue_22.patch
new file mode 100644
index 0000000000..a21338ccf8
--- /dev/null
+++ b/testing/libkeyfinder/issue_22.patch
@@ -0,0 +1,63 @@
+commit 1be2a3290389b53e1e9f91710bcc6d1ccad2abe9
+Author: Jean-Louis Fuchs <ganwell@fangorn.ch>
+Date: Thu Mar 23 23:09:14 2017 +0100
+
+ Alpine patch
+
+diff --git a/fftadapter.cpp b/fftadapter.cpp
+index 57e8197..1ec7c6c 100644
+--- a/fftadapter.cpp
++++ b/fftadapter.cpp
+@@ -40,6 +40,7 @@ namespace KeyFinder {
+ frameSize = inFrameSize;
+ priv->inputReal = (double*)fftw_malloc(sizeof(double) * frameSize);
+ priv->outputComplex = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * frameSize);
++ memset(priv->outputComplex, 0, sizeof(fftw_complex) * frameSize);
+ fftwPlanMutex.lock();
+ priv->plan = fftw_plan_dft_r2c_1d(frameSize, priv->inputReal, priv->outputComplex, FFTW_ESTIMATE);
+ fftwPlanMutex.unlock();
+diff --git a/tests/audiodatatest.cpp b/tests/audiodatatest.cpp
+index 30657a7..a96e0ab 100644
+--- a/tests/audiodatatest.cpp
++++ b/tests/audiodatatest.cpp
+@@ -296,12 +296,12 @@ TEST_CASE ("AudioDataTest/DownsamplerResamplesNonintegralRelationship") {
+ KeyFinder::AudioData a;
+ a.setChannels(1);
+ a.setFrameRate(100);
+- a.addToSampleCount(12);
++ a.addToSampleCount(15);
+ for (unsigned int i = 0; i < 5; i++)
+ a.setSample(i, 100.0);
+ for (unsigned int i = 5; i < 10; i++)
+ a.setSample(i, 500.0);
+- for (unsigned int i = 10; i < 12; i++)
++ for (unsigned int i = 10; i < 15; i++)
+ a.setSample(i, 1000.0);
+
+ a.downsample(5);
+@@ -309,7 +309,6 @@ TEST_CASE ("AudioDataTest/DownsamplerResamplesNonintegralRelationship") {
+ ASSERT_EQ(3, a.getSampleCount());
+ ASSERT_FLOAT_EQ(100.0, a.getSample(0));
+ ASSERT_FLOAT_EQ(500.0, a.getSample(1));
+- // this doesn't make total mathematical sense but I'm taking a shortcut for performance
+ ASSERT_FLOAT_EQ(1000.0, a.getSample(2));
+ }
+
+diff --git a/tests/lowpassfiltertest.cpp b/tests/lowpassfiltertest.cpp
+index 6135ed0..21220ff 100644
+--- a/tests/lowpassfiltertest.cpp
++++ b/tests/lowpassfiltertest.cpp
+@@ -194,7 +194,6 @@ TEST (LowPassFilterTest, WorksOnRepetitiveWaves) {
+ TEST (LowPassFilterTest, DefaultFilterMatchesFisherCoefficients) {
+ KeyFinder::LowPassFilter* lpf = new KeyFinder::LowPassFilter(160, 44100, 2000.0, 2048);
+ std::vector<double>* myCoeffs = (std::vector<double>*)lpf->getCoefficients();
+- delete lpf;
+
+ float fisherCoeffsFirstHalf[] = {
+ -0.0022979864, -0.0014851155, -0.0005276345, +0.0005287637,
+@@ -224,4 +223,5 @@ TEST (LowPassFilterTest, DefaultFilterMatchesFisherCoefficients) {
+ ASSERT_FLOAT_EQ(fisherCoeffsFirstHalf[i], myCoeffs->at(i));
+ ASSERT_FLOAT_EQ(myCoeffs->at(i), myCoeffs->at(160 - i));
+ }
++ delete lpf;
+ }