Add essentia-git
Adjustments compared to the AUR version: * Add support for more architectures * Shorten description * Fix formatting (standard for PKGBUILDs is 2 spaces) * Use makeflags * Build as shared library
This commit is contained in:
parent
118f1ec162
commit
f1f9ca4519
|
@ -0,0 +1,38 @@
|
||||||
|
From 26fcda33ac3864d2d5c9f307708881018f6b5c78 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martchus <martchus@gmx.net>
|
||||||
|
Date: Wed, 19 Dec 2018 10:28:03 +0100
|
||||||
|
Subject: [PATCH 1/2] Allow to skip adding debug/optimization flags
|
||||||
|
|
||||||
|
---
|
||||||
|
wscript | 7 +++++--
|
||||||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/wscript b/wscript
|
||||||
|
index 3916036b..4be3812c 100644
|
||||||
|
--- a/wscript
|
||||||
|
+++ b/wscript
|
||||||
|
@@ -44,7 +44,7 @@ def options(ctx):
|
||||||
|
|
||||||
|
ctx.add_option('--mode', action='store',
|
||||||
|
dest='MODE', default="release",
|
||||||
|
- help='debug or release')
|
||||||
|
+ help='debug, release or default')
|
||||||
|
|
||||||
|
ctx.add_option('--std', action='store',
|
||||||
|
dest='STD', default='c++11',
|
||||||
|
@@ -140,8 +140,11 @@ def configure(ctx):
|
||||||
|
print ('→ Building in release mode')
|
||||||
|
ctx.env.CXXFLAGS += ['-O2'] # '-march=native' ] # '-msse3', '-mfpmath=sse' ]
|
||||||
|
|
||||||
|
+ elif ctx.options.MODE == 'default':
|
||||||
|
+ pass
|
||||||
|
+
|
||||||
|
else:
|
||||||
|
- raise ValueError('mode should be either "debug" or "release"')
|
||||||
|
+ raise ValueError('mode should be either "debug" or "release" or "default"')
|
||||||
|
|
||||||
|
if not ctx.options.CROSS_COMPILE_MINGW32 and sys.platform != 'win32':
|
||||||
|
# required if we want to use libessentia.a to be linked in the python bindings
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
From 7a4520834d8a6dc69a54daef0bef3590e71681e3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Martchus <martchus@gmx.net>
|
||||||
|
Date: Wed, 19 Dec 2018 10:28:23 +0100
|
||||||
|
Subject: [PATCH 2/2] Allow to skip msse flags
|
||||||
|
|
||||||
|
This makes sense when building for other platforms
|
||||||
|
than x86.
|
||||||
|
---
|
||||||
|
wscript | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/wscript b/wscript
|
||||||
|
index 4be3812c..3b7c1e7e 100644
|
||||||
|
--- a/wscript
|
||||||
|
+++ b/wscript
|
||||||
|
@@ -54,6 +54,10 @@ def options(ctx):
|
||||||
|
dest='ARCH', default="x64",
|
||||||
|
help='Target architecture when compiling on OSX: i386, x64 or FAT')
|
||||||
|
|
||||||
|
+ ctx.add_option('--no-msse', action='store_true',
|
||||||
|
+ dest='NO_MSSE', default=False,
|
||||||
|
+ help='never add compiler flags for msse')
|
||||||
|
+
|
||||||
|
ctx.add_option('--cross-compile-mingw32', action='store_true',
|
||||||
|
dest='CROSS_COMPILE_MINGW32', default=False,
|
||||||
|
help='cross-compile for windows using mingw32 on linux')
|
||||||
|
@@ -95,6 +99,7 @@ def configure(ctx):
|
||||||
|
ctx.env.ALGOINCLUDE = []
|
||||||
|
ctx.env.INCLUDE_ALGOS = ctx.options.INCLUDE_ALGOS
|
||||||
|
ctx.env.FFT = ctx.options.FFT
|
||||||
|
+ ctx.env.NO_MSSE = ctx.options.NO_MSSE
|
||||||
|
|
||||||
|
|
||||||
|
if ctx.options.CROSS_COMPILE_MINGW32:
|
||||||
|
@@ -126,6 +131,7 @@ def configure(ctx):
|
||||||
|
if (not ctx.options.EMSCRIPTEN and
|
||||||
|
not ctx.options.CROSS_COMPILE_ANDROID and
|
||||||
|
not ctx.options.CROSS_COMPILE_IOS and
|
||||||
|
+ not ctx.options.NO_MSSE and
|
||||||
|
sys.platform != 'win32'):
|
||||||
|
ctx.env.CXXFLAGS += ['-msse', '-msse2', '-mfpmath=sse']
|
||||||
|
|
||||||
|
--
|
||||||
|
2.20.1
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
# Maintainer: Eugene Cherny <iam@oscii.ru>
|
||||||
|
# Contributor: Martchus <martchus@gmx.net>
|
||||||
|
|
||||||
|
pkgname=essentia-git
|
||||||
|
pkgrel=1
|
||||||
|
pkgver=r1956.c5ea2738
|
||||||
|
pkgdesc='Library and tools for audio and music analysis, description and synthesis'
|
||||||
|
arch=('i686' 'x86_64' 'armv6h' 'armv7h' 'aarch64')
|
||||||
|
url="http://essentia.upf.edu/documentation/"
|
||||||
|
license=('AGPL')
|
||||||
|
makedepends=('git' 'python' 'glibc')
|
||||||
|
depends=('fftw' 'ffmpeg' 'libsamplerate' 'taglib' 'libyaml'
|
||||||
|
'python' 'python-numpy' 'python-yaml' 'chromaprint')
|
||||||
|
provides=('essentia')
|
||||||
|
conflicts=('essentia' 'essentia-acousticbrainz'
|
||||||
|
'lib32-essentia-acousticbrainz')
|
||||||
|
source=('git+https://github.com/MTG/essentia.git#branch=master'
|
||||||
|
'0001-Allow-to-skip-adding-debug-optimization-flags.patch'
|
||||||
|
'0002-Allow-to-skip-msse-flags.patch')
|
||||||
|
sha256sums=('SKIP'
|
||||||
|
'25e29d35bee35a6229ed6e0736503ca8aefca13d022e3be4a9798342d01b2943'
|
||||||
|
'b715673958026bc26e459c0dba4adc18fd287f095fa1afc2a6e880d4f4c17102')
|
||||||
|
|
||||||
|
pkgver() {
|
||||||
|
cd "$srcdir/essentia"
|
||||||
|
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||||
|
}
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd "$srcdir/essentia"
|
||||||
|
patch -p1 -i ../0001-Allow-to-skip-adding-debug-optimization-flags.patch
|
||||||
|
patch -p1 -i ../0002-Allow-to-skip-msse-flags.patch
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "$srcdir/essentia"
|
||||||
|
|
||||||
|
local platform_flags=
|
||||||
|
[[ $CARCH != x86_64 ]] && [[ $CARCH != i686 ]] && \
|
||||||
|
platform_flags+='--no-msse'
|
||||||
|
|
||||||
|
./waf configure \
|
||||||
|
--mode=default \
|
||||||
|
--with-cpptests \
|
||||||
|
--with-examples \
|
||||||
|
--with-python \
|
||||||
|
--python=$(which python) \
|
||||||
|
$platform_flags \
|
||||||
|
--prefix="$pkgdir/usr"
|
||||||
|
./waf $MAKEFLAGS
|
||||||
|
}
|
||||||
|
|
||||||
|
#check() {
|
||||||
|
# cd "$srcdir/$pkgname"
|
||||||
|
# ./waf run_tests
|
||||||
|
# ./waf run_python_tests
|
||||||
|
#}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$srcdir/essentia"
|
||||||
|
./waf install
|
||||||
|
}
|
Loading…
Reference in New Issue