public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Miroslav Šulc" <fordfrog@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-libs/rubberband/files/, media-libs/rubberband/
Date: Sat, 22 Oct 2022 07:19:42 +0000 (UTC)	[thread overview]
Message-ID: <1666423176.24be615577460bf74b90ebd3f8be1d23af2bea08.fordfrog@gentoo> (raw)

commit:     24be615577460bf74b90ebd3f8be1d23af2bea08
Author:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 22 07:19:36 2022 +0000
Commit:     Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
CommitDate: Sat Oct 22 07:19:36 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24be6155

media-libs/rubberband: bump to 3.1.1

Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>

 media-libs/rubberband/Manifest                     |   1 +
 .../rubberband/files/rubberband-3.1.1-build.patch  | 183 +++++++++++++++++++++
 media-libs/rubberband/rubberband-3.1.1.ebuild      |  61 +++++++
 3 files changed, 245 insertions(+)

diff --git a/media-libs/rubberband/Manifest b/media-libs/rubberband/Manifest
index 09979957c094..8b0acb05e0ed 100644
--- a/media-libs/rubberband/Manifest
+++ b/media-libs/rubberband/Manifest
@@ -1,2 +1,3 @@
 DIST rubberband-3.0.0.tar.bz2 213089 BLAKE2B 74afdf1f7c3360b711b365d73e12fe84afa5abc8ddb6a10a3d31392a621e9fca67e8b4c0292238b0e5726c56242438e1b2ef1d7d6ea6979a360cc7ecab45de75 SHA512 d8ce300a2cca7e35c548f9cd9f2f77f9b730b0e9427214d4a825b32ea9c90769e229f91db5846b90ff11a1513e8f68447fb598aa2684f67f10b4b9414b9ad748
 DIST rubberband-3.1.0.tar.bz2 217523 BLAKE2B f16c702e39804bfa79d673b5eed4cf0e295b5b16ca0ed41175118dbd30b3b78de12302e04f5255474859bcf80761cbada85d4df441ee454a0276d7f313be40b2 SHA512 bf21e924801651986a64b3ec3f1bfd399925da63de78e798b5b7ef5f138db4e8f2ba4f93eda54c619952cadadaa0d76871c5be1b2cdbcbc74233d0e078d0b8d2
+DIST rubberband-3.1.1.tar.bz2 217586 BLAKE2B 17f616eab563f0949dc89103775dac2c932b8ade79e7445524c87d9ced46ecd30d9cff53960e2638ce571c1f6ddbc9ad50e7371900b96eb0ec22c58cc80e585e SHA512 240ad6cd486f975099f76c6ac8bcf34add45670f58164089ffc9767ebef4c7dfdd7e58ad0c3d99a96f56af0d1f7669e55c5fc3e79277357c62fba21cb3bfe4cd

diff --git a/media-libs/rubberband/files/rubberband-3.1.1-build.patch b/media-libs/rubberband/files/rubberband-3.1.1-build.patch
new file mode 100644
index 000000000000..650deb8d996f
--- /dev/null
+++ b/media-libs/rubberband/files/rubberband-3.1.1-build.patch
@@ -0,0 +1,183 @@
+diff --git a/meson.build b/meson.build
+index 43cbf33..2024964 100644
+--- a/meson.build
++++ b/meson.build
+@@ -117,12 +117,18 @@ sleef_dep = dependency('sleef', version: '>= 3.3.0', required: false)
+ sleefdft_dep = dependency('sleefdft', version: '>= 3.3.0', required: false)
+ samplerate_dep = dependency('samplerate', version: '>= 0.1.8', required: false)
+ speexdsp_dep = dependency('speexdsp', version: '>= 1.0.0', 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: true)
++endif
++if get_option('vamp')
++  vamp_dep = dependency('vamp-sdk', version: '>= 2.9', required: true)
++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 <math.h>',
+@@ -142,8 +148,9 @@ have_sincos = cpp.has_function('sincos',
+ # language pack, optionally, and only go on to JNI if that succeeds,
+ # making sure that nothing "clever" happens if Java is not found.
+ #
+-have_java = add_languages('java', required: false)
+-if have_java
++if get_option('jni')
++  javac = find_program('javac', required: false)
++  jar = find_program('jar', required: true)
+   jni_dep = dependency('jni', version: '>= 7.0.0', required: false)
+   if not jni_dep.found()
+     if cpp.has_header('jni.h', args: extra_include_args)
+@@ -370,37 +377,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()
+ 
+@@ -609,7 +620,7 @@ if get_option('default_library') != 'shared' and rubberband_additional_static_li
+   )
+ endif
+ 
+-if have_java and jni_dep.found()
++if get_option('jni')
+   target_summary += { 'JNI library': [ true, 'Name: ' + rubberband_jni_name ] }
+   message('Will build Java Native Interface')
+   rubberband_jni = shared_library(
+@@ -630,14 +641,21 @@ if have_java and jni_dep.found()
+     # NB the JNI library is not versioned
+     install: true,
+   )
+-  jar('rubberband', 'com/breakfastquay/rubberband/RubberBandStretcher.java')
++  rubberband_class = custom_target(
++    'rubberband_class',
++    input: 'com/breakfastquay/rubberband/RubberBandStretcher.java',
++    output: 'RubberBandStretcher.class',
++    command: [ javac, '@INPUT@', '-d', '@OUTDIR@' ],
++  )
++  rubberband_jar = custom_target(
++    'rubberband_jar',
++    input: rubberband_class,
++    output: 'rubberband.jar',
++    command: [ jar, 'cvf', '@OUTPUT@', 'com/breakfastquay/rubberband/@INPUT@' ],
++    build_by_default: true,
++  )
+ else
+   target_summary += { 'JNI library': false }
+-  if not have_java
+-    message('Not building Java Native Interface: Java compiler or archiver missing')
+-  else
+-    message('Not building Java Native Interface: JNI header not found')
+-  endif
+ endif
+ 
+ install_headers(
+@@ -647,7 +665,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(
+@@ -714,7 +732,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(
+@@ -746,7 +764,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 e44837c..4e4ca29 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.1.1.ebuild b/media-libs/rubberband/rubberband-3.1.1.ebuild
new file mode 100644
index 000000000000..d19aa930e757
--- /dev/null
+++ b/media-libs/rubberband/rubberband-3.1.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}/${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
+}


             reply	other threads:[~2022-10-22  7:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-22  7:19 Miroslav Šulc [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-11-04  7:23 [gentoo-commits] repo/gentoo:master commit in: media-libs/rubberband/files/, media-libs/rubberband/ Miroslav Šulc
2022-10-02  8:04 Miroslav Šulc
2022-08-13  4:07 Miroslav Šulc
2022-03-12 12:22 Miroslav Šulc
2020-09-27  9:46 Miroslav Šulc

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1666423176.24be615577460bf74b90ebd3f8be1d23af2bea08.fordfrog@gentoo \
    --to=fordfrog@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox