From 944429ecd96032cbc70c276de5f5240f09b3076d Mon Sep 17 00:00:00 2001 From: Miroslav Šulc Date: Fri, 8 Jul 2022 05:53:37 +0200 Subject: media-libs/rubberband: bump to 3.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miroslav Šulc --- media-libs/rubberband/Manifest | 1 + .../rubberband/files/rubberband-3.0.0-build.patch | 165 +++++++++++++++++++++ media-libs/rubberband/rubberband-3.0.0.ebuild | 61 ++++++++ 3 files changed, 227 insertions(+) create mode 100644 media-libs/rubberband/files/rubberband-3.0.0-build.patch create mode 100644 media-libs/rubberband/rubberband-3.0.0.ebuild (limited to 'media-libs/rubberband') diff --git a/media-libs/rubberband/Manifest b/media-libs/rubberband/Manifest index 80a956da1d48..fad19665c345 100644 --- a/media-libs/rubberband/Manifest +++ b/media-libs/rubberband/Manifest @@ -1 +1,2 @@ DIST rubberband-2.0.2.tar.bz2 178974 BLAKE2B 602d7eb76791d431a65bd5ef0d53ea0c2672e67aaa566594b3b2bb026cdf1b8879380818c3626a2c6d51cd6366bd47a52c69c110da566aa234fb7b37b19f027b SHA512 87dc5d59995bf949c35b885bb2eced067d84775bab76692da1202ae7554cb1b8404ca7371c264363e6d55c8978762ed32b446535746061f09e90cfc599adc0a0 +DIST rubberband-3.0.0.tar.bz2 213089 BLAKE2B 74afdf1f7c3360b711b365d73e12fe84afa5abc8ddb6a10a3d31392a621e9fca67e8b4c0292238b0e5726c56242438e1b2ef1d7d6ea6979a360cc7ecab45de75 SHA512 d8ce300a2cca7e35c548f9cd9f2f77f9b730b0e9427214d4a825b32ea9c90769e229f91db5846b90ff11a1513e8f68447fb598aa2684f67f10b4b9414b9ad748 diff --git a/media-libs/rubberband/files/rubberband-3.0.0-build.patch b/media-libs/rubberband/files/rubberband-3.0.0-build.patch new file mode 100644 index 000000000000..3892f5231716 --- /dev/null +++ b/media-libs/rubberband/files/rubberband-3.0.0-build.patch @@ -0,0 +1,165 @@ +diff --git a/meson.build b/meson.build +index 42f7f7f..b2a342a 100644 +--- a/meson.build ++++ b/meson.build +@@ -113,19 +113,27 @@ 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 + boost_unit_test_dep = dependency('boost', modules: ['unit_test_framework'], version: '>= 1.73', required: false) + 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 ', + 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 +@@ -296,37 +304,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() + + have_boost_unit_test = boost_unit_test_dep.found() + +@@ -535,7 +547,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( +@@ -570,7 +582,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') +@@ -584,7 +596,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( +@@ -651,7 +663,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( +@@ -683,7 +695,7 @@ else + message('Not building Vamp plugin: Vamp dependency not found') + endif + +-if have_sndfile ++if get_option('programs') + message('Will build command-line utilities') + target_summary += { 'Command-line utility (R2)': [ true, 'Name: ' + rubberband_program_name ] } + 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-3.0.0.ebuild b/media-libs/rubberband/rubberband-3.0.0.ebuild new file mode 100644 index 000000000000..e4b36dc1b583 --- /dev/null +++ b/media-libs/rubberband/rubberband-3.0.0.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}/${P}-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 +} -- cgit v1.2.3-65-gdbad