commit:     e94d1d492b6f1a52a937a657a4b22d962cf6f551
Author:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 21 09:32:22 2022 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Fri Jan 21 09:32:33 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e94d1d49

media-libs/rubberband: bump to 2.0.1

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 media-libs/rubberband/Manifest                     |   1 +
 .../rubberband/files/rubberband-2.0.1-build.patch  | 164 +++++++++++++++++++++
 media-libs/rubberband/rubberband-2.0.1.ebuild      |  61 ++++++++
 3 files changed, 226 insertions(+)

diff --git a/media-libs/rubberband/Manifest b/media-libs/rubberband/Manifest
index cf8d1d550644..56cd5f0b3ba6 100644
--- a/media-libs/rubberband/Manifest
+++ b/media-libs/rubberband/Manifest
@@ -1,2 +1,3 @@
 DIST rubberband-1.9.2.tar.bz2 164178 BLAKE2B 
dc8e5b4c773dbb5c556331fa56e6cf4a5dd3f8a0fc7dcfed1fbe53d1a7635f12db6a884e775fbff8022e252d98b4e14a46a2395a5d4cb7645522ddf3e6b5482f
 SHA512 
b1c763ab2a428aa2f1f8e5d0be6e9eb669808059ee5389e94f12de25f1a05cd89022656d98906c90b616773da11ab1f596ae2c5a9d300118e88049e1443121f2
 DIST rubberband-2.0.0.tar.bz2 175527 BLAKE2B 
5b4b8c98ade57f8b7776902166e8aa33e8f89d4de3fe659425a7ef14c1cf3c8a48ad474d2fe0f13483844b4f931ca8128ca57bb7e6dbf6e9d96deadac8856ee0
 SHA512 
a915a3eea75f0345e83010cc3ffd3c5e0c68a0c1d88da11b11a5fd5010196167c81db611a38c2c2b8d5c5a1f828f2c74a134e6ca8bb3a543af3ef70ce8d56101
+DIST rubberband-2.0.1.tar.bz2 179107 BLAKE2B 
98449967ec099851197220d037c47aa2ade07b1c40994639f5f4c42763051b67027188a50a8e742c661b2289d0a655e24f639578ac21ff24db0152237a1776f9
 SHA512 
7e120dbf20625980462cf5910b933b9631fd8a0b0e2ea927ca2417b352327c6398dc1d9bb89e2a1ed79118c840ef39ba5c0c52a0a4d4b494d68ae1dbb74f1cb1

diff --git a/media-libs/rubberband/files/rubberband-2.0.1-build.patch 
b/media-libs/rubberband/files/rubberband-2.0.1-build.patch
new file mode 100644
index 000000000000..5e7e023b4d8e
--- /dev/null
+++ b/media-libs/rubberband/files/rubberband-2.0.1-build.patch
@@ -0,0 +1,164 @@
+diff --git a/meson.build b/meson.build
+index 753d1df..005e638 100644
+--- a/meson.build
++++ b/meson.build
+@@ -99,18 +99,26 @@ endforeach
+ 
+ fftw3_dep = dependency('fftw3', version: '>= 3.0.0', required: false)
+ samplerate_dep = dependency('samplerate', version: '>= 0.1.8', required: 
false)
+-sndfile_dep = dependency('sndfile', version: '>= 1.0.16', required: false)
+-vamp_dep = dependency('vamp-sdk', version: '>= 2.9', required: false)
++if get_option('programs')
++  sndfile_dep = dependency('sndfile', version: '>= 1.0.16', required: false)
++endif
++if get_option('vamp')
++  vamp_dep = dependency('vamp-sdk', version: '>= 2.9', required: false)
++endif
+ thread_dep = dependency('threads')
+-have_ladspa = cpp.has_header('ladspa.h', args: extra_include_args)
++if get_option('ladspa')
++  have_ladspa = cpp.has_header('ladspa.h', args: extra_include_args)
++endif
+ have_lv2 = cpp.has_header('lv2.h', args: extra_include_args)
+ have_sincos = cpp.has_function('sincos',
+                                prefix: '#define _GNU_SOURCE\n#include 
<math.h>',
+                                args: '-lm')
+-have_jni = cpp.has_header('jni.h', args: extra_include_args)
++if get_option('jni')
++  have_jni = cpp.has_header('jni.h', args: extra_include_args)
+ 
+-javac = find_program('javac', required: false)
+-jar = find_program('jar', required: false)
++  javac = find_program('javac', required: false)
++  jar = find_program('jar', required: false)
++endif
+ 
+ 
+ # Check FFT and resampler options and set up dependencies and paths
+@@ -281,37 +289,41 @@ if ipp_needed
+   endif
+ endif # ipp_needed
+ 
+-if not vamp_dep.found()
+-  vamp_dep = cpp.find_library('VampPluginSDK',
+-                              dirs: get_option('extra_lib_dirs'),
+-                              has_headers: ['vamp-sdk.h'],
+-                              header_args: extra_include_args,
+-                              required: false)
++if get_option('vamp')
+   if not vamp_dep.found()
+-    vamp_dep = cpp.find_library('vamp-sdk',
++    vamp_dep = cpp.find_library('VampPluginSDK',
+                                 dirs: get_option('extra_lib_dirs'),
+                                 has_headers: ['vamp-sdk.h'],
+                                 header_args: extra_include_args,
+                                 required: false)
++    if not vamp_dep.found()
++      vamp_dep = cpp.find_library('vamp-sdk',
++                                  dirs: get_option('extra_lib_dirs'),
++                                  has_headers: ['vamp-sdk.h'],
++                                  header_args: extra_include_args,
++                                  required: false)
++    endif
+   endif
++  have_vamp = true
+ endif
+-have_vamp = vamp_dep.found()
+-
+-if not sndfile_dep.found()
+-  sndfile_dep = cpp.find_library('sndfile',
+-                                 dirs: get_option('extra_lib_dirs'),
+-                                 has_headers: ['sndfile.h'],
+-                                 header_args: extra_include_args,
+-                                 required: false)
++
++if get_option('programs')
+   if not sndfile_dep.found()
+-    sndfile_dep = cpp.find_library('sndfile-1',
++    sndfile_dep = cpp.find_library('sndfile',
+                                    dirs: get_option('extra_lib_dirs'),
+                                    has_headers: ['sndfile.h'],
+                                    header_args: extra_include_args,
+                                    required: false)
++    if not sndfile_dep.found()
++      sndfile_dep = cpp.find_library('sndfile-1',
++                                     dirs: get_option('extra_lib_dirs'),
++                                     has_headers: ['sndfile.h'],
++                                     header_args: extra_include_args,
++                                     required: false)
++    endif
+   endif
++  have_sndfile = true
+ endif
+-have_sndfile = sndfile_dep.found()
+ 
+ 
+ # General platform and compiler expectations
+@@ -514,7 +526,7 @@ if get_option('default_library') != 'shared' and 
rubberband_additional_static_li
+   )
+ endif
+ 
+-if have_jni and javac.found() and jar.found()
++if get_option('jni')
+   target_summary += { 'JNI library': [ true, 'Name: ' + rubberband_jni_name ] 
}
+   message('Will build Java Native Interface')
+   rubberband_jni = shared_library(
+@@ -549,7 +561,7 @@ if have_jni and javac.found() and jar.found()
+   )
+ else
+   target_summary += { 'JNI library': false }
+-  if not have_jni
++  if not get_option('jni')
+     message('Not building Java Native Interface: jni.h header not found')
+   else 
+     message('Not building Java Native Interface: Java compiler not found')
+@@ -563,7 +575,7 @@ install_headers(
+   subdir: 'rubberband'
+ )
+ 
+-if have_ladspa
++if get_option('ladspa')
+   target_summary += { 'LADSPA plugin': [ true, 'Name: ' + 
rubberband_ladspa_name ] }
+   message('Will build LADSPA plugin')
+   rubberband_ladspa = shared_library(
+@@ -630,7 +642,7 @@ else
+   message('Not building LV2 plugin: lv2.h header not found')
+ endif
+ 
+-if have_vamp
++if get_option('vamp')
+   target_summary += { 'Vamp plugin': [ true, 'Name: ' + rubberband_vamp_name 
] }
+   message('Will build Vamp plugin')
+   rubberband_vamp = shared_library(
+@@ -662,7 +674,7 @@ else
+   message('Not building Vamp plugin: Vamp dependency not found')
+ endif
+ 
+-if have_sndfile
++if get_option('programs')
+   target_summary += { 'Command-line utility': [ true, 'Name: ' + 
rubberband_program_name ] }
+   message('Will build command-line utility')
+   rubberband_program = executable(
+diff --git a/meson_options.txt b/meson_options.txt
+index c820c20..81710de 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -26,3 +26,18 @@ option('extra_lib_dirs',
+        value: [],
+        description: 'Additional local library directories to search for 
dependencies.')
+ 
++option('jni',
++       type: 'boolean',
++       value: 'false')
++
++option('ladspa',
++       type: 'boolean',
++       value: 'false')
++
++option('programs',
++       type: 'boolean',
++       value: 'false')
++
++option('vamp',
++       type: 'boolean',
++       value: 'false')

diff --git a/media-libs/rubberband/rubberband-2.0.1.ebuild 
b/media-libs/rubberband/rubberband-2.0.1.ebuild
new file mode 100644
index 000000000000..3a9d2a39197f
--- /dev/null
+++ b/media-libs/rubberband/rubberband-2.0.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib flag-o-matic
+
+DESCRIPTION="An audio time-stretching and pitch-shifting library and utility 
program"
+HOMEPAGE="https://www.breakfastquay.com/rubberband/";
+SRC_URI="https://breakfastquay.com/files/releases/${P}.tar.bz2";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="ladspa jni static-libs +programs vamp"
+
+BDEPEND="
+       virtual/pkgconfig
+"
+CDEPEND="
+       media-libs/libsamplerate[${MULTILIB_USEDEP}]
+       sci-libs/fftw:3.0[${MULTILIB_USEDEP}]
+       jni? ( >=virtual/jdk-1.8:* )
+       ladspa? ( media-libs/ladspa-sdk )
+       programs? ( media-libs/libsndfile )
+       vamp? ( media-libs/vamp-plugin-sdk[${MULTILIB_USEDEP}] )
+"
+RDEPEND="${CDEPEND}"
+DEPEND="${CDEPEND}"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-2.0.1-build.patch"
+)
+
+multilib_src_configure() {
+       if use ppc ; then
+               # bug #827203
+               # meson doesn't respect/use LIBS but mangles LDFLAGS with libs
+               # correctly. Use this until we get a Meson test for libatomic.
+               append-ldflags -latomic
+       fi
+
+       local emesonargs=(
+               --buildtype=release
+               -Dfft=fftw
+               -Dresampler=libsamplerate
+               -Ddefault_library=$(use static-libs && echo "both" || echo 
"shared")
+               $(meson_use ladspa)
+               $(meson_use jni)
+               $(meson_use programs)
+               $(meson_use vamp)
+       )
+       use jni && emesonargs+=(
+               -Dextra_include_dirs="$(java-config -g 
JAVA_HOME)/include,$(java-config -g JAVA_HOME)/include/linux"
+       )
+       meson_src_configure
+}
+
+multilib_src_install_all() {
+       ! use jni && find "${ED}" -name "*.a" -delete
+}

Reply via email to