summaryrefslogtreecommitdiff
path: root/media-libs/rubberband/files/rubberband-3.1.0-build.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/rubberband/files/rubberband-3.1.0-build.patch')
-rw-r--r--media-libs/rubberband/files/rubberband-3.1.0-build.patch169
1 files changed, 169 insertions, 0 deletions
diff --git a/media-libs/rubberband/files/rubberband-3.1.0-build.patch b/media-libs/rubberband/files/rubberband-3.1.0-build.patch
new file mode 100644
index 000000000000..2e46c7e8ecfb
--- /dev/null
+++ b/media-libs/rubberband/files/rubberband-3.1.0-build.patch
@@ -0,0 +1,169 @@
+diff --git a/meson.build b/meson.build
+index c3de854..3dd5637 100644
+--- a/meson.build
++++ b/meson.build
+@@ -117,25 +117,31 @@ 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>',
+ args: '-lm')
+
+-javac = find_program('javac', required: false)
+-jar = find_program('jar', required: false)
+-
+ # Look for JNI only if javac and jar are found. This is because the
+ # auto-JNI-dependency module in Meson 0.62 and 0.63 appears to bail
+ # out of the build completely if it can't find javac, even when
+ # required is false
+-if javac.found() and jar.found()
++if get_option('jni')
++ javac = find_program('javac', required: true)
++ 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)
+@@ -362,37 +368,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()
+
+@@ -601,7 +611,7 @@ if get_option('default_library') != 'shared' and rubberband_additional_static_li
+ )
+ endif
+
+-if jni_dep.found() 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(
+@@ -637,7 +647,7 @@ if jni_dep.found() and javac.found() and jar.found()
+ )
+ else
+ target_summary += { 'JNI library': false }
+- if not (javac.found() and jar.found())
++ if not get_option('jni')
+ message('Not building Java Native Interface: Java compiler or archiver missing')
+ else
+ message('Not building Java Native Interface: JNI header not found')
+@@ -651,7 +661,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(
+@@ -718,7 +728,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(
+@@ -750,7 +760,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')