summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2018-09-01 15:43:34 +0530
committerNirbheek Chauhan <nirbheek@centricular.com>2018-09-01 15:48:41 +0530
commit3ff65b61caaaa7d74e5c5ca6d74c41040b093120 (patch)
tree2c2c03846f06313dc191b4dc80301de75e842852
parentdd317a9727755400cac327c65969b70e07401526 (diff)
Port all gstreamer recipes to Meson
Tested on: Fedora 28, macOS, cross-win32, cross-win64, cross-android-universal, cross-ios-universal, Windows.
-rw-r--r--config/windows.config11
-rw-r--r--recipes/custom.py1
-rw-r--r--recipes/gst-editing-services-1.0.recipe13
-rw-r--r--recipes/gst-omx-1.0.recipe12
-rw-r--r--recipes/gst-plugins-bad-1.0.recipe81
-rw-r--r--recipes/gst-plugins-base-1.0.recipe16
-rw-r--r--recipes/gst-plugins-good-1.0.recipe34
-rw-r--r--recipes/gst-plugins-ugly-1.0.recipe9
-rw-r--r--recipes/gst-rtsp-server-1.0.recipe4
-rw-r--r--recipes/gst-validate.recipe3
-rw-r--r--recipes/gstreamer-1.0.recipe7
11 files changed, 93 insertions, 98 deletions
diff --git a/config/windows.config b/config/windows.config
index 8c9c17bf..6979f8ca 100644
--- a/config/windows.config
+++ b/config/windows.config
@@ -51,7 +51,7 @@ else:
ccache = use_ccache and 'ccache ' or ''
# Toolchain environment
-os.environ['CFLAGS'] += "-DWINVER=0x0600 -D_WIN32_WINNT=0x0600"
+os.environ['CFLAGS'] += " -DWINVER=0x0600 -D_WIN32_WINNT=0x0600 "
os.environ['CXXFLAGS']=os.environ['CFLAGS']
os.environ['PERL'] = 'perl'
os.environ['NM']= cmd('nm')
@@ -68,6 +68,8 @@ if not export_msvc:
os.environ['STRIP']= cmd('strip')
os.environ['WINDRES']= cmd('windres')
os.environ['RC']= cmd('windres')
+ # With MinGW, DirectX headers are inside a subdir
+ os.environ['CFLAGS'] += ' -I%s/%s/include/directx ' % (toolchain_prefix, host)
# PATH
toolchainbin = os.path.join(toolchain_prefix, 'bin')
if os.path.isdir(toolchainbin) and not toolchainbin in os.environ['PATH']:
@@ -81,13 +83,6 @@ os.environ['lt_cv_deplibs_check_method'] = 'pass_all'
os.environ['ac_cv_lib_bz2_BZ2_bzlibVersion'] = 'yes'
os.environ['ac_cv_c_attribute_aligned'] = '64'
-# DirectX and DirectSound
-os.environ['DIRECTSOUND_CFLAGS'] = '-I%s/%s/include/directx' % (toolchain_prefix, host)
-os.environ['DIRECSOUND_LDFLAGS'] = '-L%s/lib' % toolchain_prefix
-os.environ['DIRECTX_CFLAGS']= '-I%s/include/DirectX' % toolchain_prefix
-os.environ['DIRECTX_CFLAGS'] = '-I%s/%s/include/directx' % (toolchain_prefix, host)
-os.environ['DIRECTX_LDFLAGS'] = '-L%s/lib' % toolchain_prefix
-
if platform == Platform.WINDOWS:
os.environ['ACLOCAL'] = 'aclocal-1.11'
# We use Visual Studio by default on Windows
diff --git a/recipes/custom.py b/recipes/custom.py
index 2a42d4f1..bf6d0728 100644
--- a/recipes/custom.py
+++ b/recipes/custom.py
@@ -14,6 +14,7 @@ class GStreamer(recipe.Recipe):
licenses = [License.LGPLv2Plus]
version = '1.15.0.1'
commit = 'origin/master'
+ can_msvc = False
def list_gstreamer_1_0_plugins_by_category(config):
cookbook = CookBook(config)
diff --git a/recipes/gst-editing-services-1.0.recipe b/recipes/gst-editing-services-1.0.recipe
index 0e49035f..2aa0765d 100644
--- a/recipes/gst-editing-services-1.0.recipe
+++ b/recipes/gst-editing-services-1.0.recipe
@@ -3,12 +3,11 @@ from cerbero.utils import shell
class Recipe(custom.GStreamer):
name = 'gst-editing-services-1.0'
- licenses = [License.LGPLv2Plus]
+ btype = BuildType.MESON
+ # Explicitly enable plugins that we provide dependencies for to ensure that
+ # we error out if they weren't found.
+ meson_options = {'examples': 'disabled', 'gtk_doc': 'disabled'}
remotes = {'origin': 'https://anongit.freedesktop.org/git/gstreamer/gst-editing-services'}
- autoreconf = True
- autoreconfig_sh = './autogen.sh --noconfigure'
- configure_options = "--program-prefix= --disable-examples --enable-static \
- --disable-gtk-doc --disable-docbook --disable-fatal-warnings "
deps = ['gstreamer-1.0', 'gst-plugins-base-1.0', 'gst-plugins-good-1.0', 'gst-validate']
files_bins = ['ges-launch-1.0']
@@ -20,7 +19,3 @@ class Recipe(custom.GStreamer):
files_plugins_ges_devel = ['lib/gstreamer-1.0/libgstnle.a', 'lib/gstreamer-1.0/libgstnle.la']
# files_python = ['site-packages/ges%(pext)s']
-
- def prepare(self):
- # Disable -Werror and other error cflags
- self.make += ' ERROR_CFLAGS='
diff --git a/recipes/gst-omx-1.0.recipe b/recipes/gst-omx-1.0.recipe
index cbbf33aa..af10630e 100644
--- a/recipes/gst-omx-1.0.recipe
+++ b/recipes/gst-omx-1.0.recipe
@@ -2,11 +2,9 @@
class Recipe(custom.GStreamer):
name = 'gst-omx-1.0'
- licenses = [License.LGPLv2_1]
- config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
- configure_options = '--disable-examples --enable-static '
- remotes = { 'origin': 'https://anongit.freedesktop.org/git/gstreamer/gst-omx' }
- deps = [ 'gstreamer-1.0', 'gst-plugins-base-1.0' ]
+ btype = BuildType.MESON
+ remotes = {'origin': 'https://anongit.freedesktop.org/git/gstreamer/gst-omx'}
+ deps = ['gstreamer-1.0', 'gst-plugins-base-1.0']
files_plugins_codecs = ['lib/gstreamer-1.0/libgstomx%(mext)s']
files_plugins_codecs_devel = [
@@ -19,9 +17,9 @@ class Recipe(custom.GStreamer):
flags = ['-I/opt/vc/include', '-I/opt/vc/include/IL',
'-I/opt/vc/include/interface/vcos/pthreads',
'-I/opt/vc/include/interface/vmcs_host/linux']
- self.configure_options += ' --with-omx-target=rpi '
self.append_env('CFLAGS', *flags)
self.append_env('CPPFLAGS', *flags)
self.append_env('LDFLAGS', '-L/opt/vc/lib')
+ self.meson_options['target'] = 'rpi'
else:
- self.configure_options += ' --with-omx-target=generic '
+ self.meson_options['target'] = 'generic'
diff --git a/recipes/gst-plugins-bad-1.0.recipe b/recipes/gst-plugins-bad-1.0.recipe
index 026bfe6b..01ab4cb2 100644
--- a/recipes/gst-plugins-bad-1.0.recipe
+++ b/recipes/gst-plugins-bad-1.0.recipe
@@ -4,27 +4,17 @@ from cerbero.utils import fix_android_ndk16_cxx
class Recipe(custom.GStreamer):
name = 'gst-plugins-bad-1.0'
- config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
- configure_options = '--enable-static --disable-introspection --disable-gsm \
- --disable-examples --disable-faad --disable-festival \
- --disable-videomaxrate --disable-bz2 --disable-libde265 \
- --disable-linsys --disable-fbdev --disable-apexsink \
- --disable-celt --disable-curl --disable-dc1394 --disable-directfb \
- --disable-dirac --disable-faac --disable-flite --disable-gme \
- --disable-lv2 --disable-mimic --disable-modplug \
- --disable-mpeg2enc --disable-mplex --disable-musepack --disable-mythtv \
- --disable-neon --disable-ofa --disable-openal --disable-opencv \
- --disable-pvr --disable-sdl --disable-sndfile \
- --disable-teletextdec --disable-timidity \
- --disable-vdpau --disable-voamrwbenc --disable-wildmidi \
- --disable-xvid --disable-zbar --disable-sdi --disable-gtk-doc --disable-fatal-warnings '
- # Explicitly enable plugins
- configure_options += ' --enable-bz2 --enable-assrender \
- --enable-kate --enable-openh264 --enable-opus \
- --enable-hls --enable-rtmp --enable-srtp --enable-dts \
- --enable-libmms --enable-resindvd --enable-soundtouch \
- --enable-voaacenc --enable-rsvg --enable-openjpeg --enable-spandsp \
- --enable-decklink --enable-webrtc --enable-dtls --enable-srt'
+ btype = BuildType.MESON
+ # Explicitly enable plugins that we provide dependencies for to ensure that
+ # we error out if they weren't found.
+ meson_options = {'examples': 'disabled', 'gtk_doc': 'disabled', 'bz2': 'enabled',
+ 'assrender': 'enabled', 'kate': 'enabled', 'openh264': 'enabled',
+ 'opus': 'enabled', 'hls': 'enabled', 'rtmp': 'enabled',
+ 'srtp': 'enabled', 'dts': 'enabled', 'libmms': 'enabled',
+ 'resindvd': 'enabled', 'soundtouch': 'enabled', 'openjpeg': 'enabled',
+ 'voaacenc': 'enabled', 'rsvg': 'enabled', 'openglmixers': 'enabled',
+ 'spandsp': 'enabled', 'decklink': 'enabled', 'webrtc': 'enabled',
+ 'dtls': 'enabled', 'srt': 'enabled', 'webrtcdsp': 'enabled'}
remotes = {'origin': 'https://anongit.freedesktop.org/git/gstreamer/gst-plugins-bad'}
deps = ['gstreamer-1.0', 'gst-plugins-base-1.0', 'bzip2', 'libass',
'libkate', 'zlib', 'openh264', 'opus', 'nettle', 'librtmp',
@@ -286,6 +276,14 @@ class Recipe(custom.GStreamer):
]
}
+ files_plugins_sys = [
+ 'lib/gstreamer-1.0/libgstopenglmixers%(mext)s',
+ ]
+
+ files_plugins_sys_devel = [
+ 'lib/gstreamer-1.0/libgstopenglmixers.a', 'lib/gstreamer-1.0/libgstopenglmixers.la',
+ ]
+
files_plugins_vis = [
'lib/gstreamer-1.0/libgstaudiovisualizers%(mext)s',
]
@@ -297,58 +295,48 @@ class Recipe(custom.GStreamer):
platform_files_plugins_sys = {
Platform.LINUX: [
'lib/gstreamer-1.0/libgstshm%(mext)s',
- 'lib/gstreamer-1.0/libgstopenglmixers%(mext)s',
'lib/gstreamer-1.0/libgstdecklink%(mext)s',
],
Platform.WINDOWS: [
'lib/gstreamer-1.0/libgstd3d%(mext)s',
'lib/gstreamer-1.0/libgstwasapi%(mext)s',
- 'lib/gstreamer-1.0/libgstopenglmixers%(mext)s',
'lib/gstreamer-1.0/libgstdecklink%(mext)s',
],
Platform.DARWIN: [
'lib/gstreamer-1.0/libgstapplemedia%(mext)s',
'lib/gstreamer-1.0/libgstshm%(mext)s',
- 'lib/gstreamer-1.0/libgstopenglmixers%(mext)s',
'lib/gstreamer-1.0/libgstdecklink%(mext)s',
],
Platform.IOS: [
'lib/gstreamer-1.0/libgstapplemedia%(mext)s',
'lib/gstreamer-1.0/libgstshm%(mext)s',
- 'lib/gstreamer-1.0/libgstopenglmixers%(mext)s',
],
Platform.ANDROID: [
'lib/gstreamer-1.0/libgstopensles%(mext)s',
- 'lib/gstreamer-1.0/libgstopenglmixers%(mext)s',
]
}
platform_files_plugins_sys_devel = {
Platform.LINUX: [
'lib/gstreamer-1.0/libgstshm.a', 'lib/gstreamer-1.0/libgstshm.la',
- 'lib/gstreamer-1.0/libgstopenglmixers.a', 'lib/gstreamer-1.0/libgstopenglmixers.la',
'lib/gstreamer-1.0/libgstdecklink.a', 'lib/gstreamer-1.0/libgstdecklink.la',
],
Platform.WINDOWS: [
'lib/gstreamer-1.0/libgstd3d.a', 'lib/gstreamer-1.0/libgstd3d.la',
'lib/gstreamer-1.0/libgstwasapi.a', 'lib/gstreamer-1.0/libgstwasapi.la',
- 'lib/gstreamer-1.0/libgstopenglmixers.a', 'lib/gstreamer-1.0/libgstopenglmixers.la',
'lib/gstreamer-1.0/libgstdecklink.a', 'lib/gstreamer-1.0/libgstdecklink.la',
],
Platform.DARWIN: [
'lib/gstreamer-1.0/libgstapplemedia.a', 'lib/gstreamer-1.0/libgstapplemedia.la',
'lib/gstreamer-1.0/libgstshm.a', 'lib/gstreamer-1.0/libgstshm.la',
- 'lib/gstreamer-1.0/libgstopenglmixers.a', 'lib/gstreamer-1.0/libgstopenglmixers.la',
'lib/gstreamer-1.0/libgstdecklink.a', 'lib/gstreamer-1.0/libgstdecklink.la',
],
Platform.IOS: [
'lib/gstreamer-1.0/libgstapplemedia.a', 'lib/gstreamer-1.0/libgstapplemedia.la',
- 'lib/gstreamer-1.0/libgstopenglmixers.a', 'lib/gstreamer-1.0/libgstopenglmixers.la',
'lib/gstreamer-1.0/libgstshm.a', 'lib/gstreamer-1.0/libgstshm.la',
],
Platform.ANDROID: [
'lib/gstreamer-1.0/libgstopensles.a', 'lib/gstreamer-1.0/libgstopensles.la',
- 'lib/gstreamer-1.0/libgstopenglmixers.a', 'lib/gstreamer-1.0/libgstopenglmixers.la',
]
}
@@ -373,18 +361,29 @@ class Recipe(custom.GStreamer):
self.files_plugins_effects.remove('lib/gstreamer-1.0/libgstwebrtcdsp%(mext)s')
self.files_plugins_effects_devel.remove('lib/gstreamer-1.0/libgstwebrtcdsp.a')
self.files_plugins_effects_devel.remove('lib/gstreamer-1.0/libgstwebrtcdsp.la')
-
- if self.config.target_platform == Platform.WINDOWS:
- self.configure_options += \
- ' --disable-cog --disable-sdl '\
- '--disable-cdaudio'
+ self.meson_options['webrtcdsp'] = 'disabled'
+ self.meson_options['wasapi'] = 'enabled'
+ self.meson_options['d3dvideosink'] = 'enabled'
+ self.meson_options['directsound'] = 'enabled'
+ self.meson_options['winks'] = 'enabled'
+ self.meson_options['winscreencap'] = 'enabled'
+ else:
+ # webrtc-audio-processing headers require C++11, older GCCs require
+ # explicitly opting in (f.ex., mingw gcc and android)
+ self.meson_options['cpp_std'] = 'gnu++11'
+
+ if self.config.target_platform in (Platform.LINUX, Platform.DARWIN, Platform.IOS):
+ self.meson_options['shm'] = 'enabled'
+
+ if self.config.target_platform in (Platform.DARWIN, Platform.IOS):
+ self.meson_options['applemedia'] = 'enabled'
if self.config.target_platform in [ Platform.ANDROID, Platform.IOS ]:
- for d in ['libdvdnav']:
- self.deps.remove(d)
+ self.deps.remove('libdvdnav')
self.files_plugins_dvd.remove('lib/gstreamer-1.0/libgstresindvd%(mext)s')
self.files_plugins_dvd_devel.remove('lib/gstreamer-1.0/libgstresindvd.a')
self.files_plugins_dvd_devel.remove('lib/gstreamer-1.0/libgstresindvd.la')
+ self.meson_options['resindvd'] = 'disabled'
if self.config.variants.nodebug:
self.append_env('CFLAGS', '-DGST_LEVEL_MAX=GST_LEVEL_FIXME')
@@ -393,9 +392,3 @@ class Recipe(custom.GStreamer):
self.platform_files_plugins_capture[Platform.LINUX].remove('lib/gstreamer-1.0/libgstdvb%(mext)s')
self.platform_files_plugins_capture_devel[Platform.LINUX].remove('lib/gstreamer-1.0/libgstdvb.a')
self.platform_files_plugins_capture_devel[Platform.LINUX].remove('lib/gstreamer-1.0/libgstdvb.la')
-
- def configure (self):
- fix_android_ndk16_cxx (self.config, os.path.join(self.make_dir, 'ext', 'openh264'))
- fix_android_ndk16_cxx (self.config, os.path.join(self.make_dir, 'ext', 'soundtouch'))
- fix_android_ndk16_cxx (self.config, os.path.join(self.make_dir, 'ext', 'webrtcdsp'))
- super(recipe.Recipe, self).configure()
diff --git a/recipes/gst-plugins-base-1.0.recipe b/recipes/gst-plugins-base-1.0.recipe
index 28ae3d7a..ada648ee 100644
--- a/recipes/gst-plugins-base-1.0.recipe
+++ b/recipes/gst-plugins-base-1.0.recipe
@@ -3,9 +3,8 @@
class Recipe(custom.GStreamer):
name = 'gst-plugins-base-1.0'
- config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
- configure_options = "--enable-static --program-prefix= --disable-examples \
- --disable-gtk-doc --disable-fatal-warnings "
+ btype = BuildType.MESON
+ meson_options = {'examples': 'disabled', 'gtk_doc': 'disabled', 'gl': 'enabled'}
remotes = {'origin': 'https://anongit.freedesktop.org/git/gstreamer/gst-plugins-base'}
deps = ['glib', 'gstreamer-1.0', 'libxml2', 'libogg', 'pango', 'libtheora',
'libvisual', 'libvorbis', 'zlib', 'orc', 'opus', 'graphene',
@@ -222,8 +221,9 @@ class Recipe(custom.GStreamer):
self.files_plugins_sys_devel += [
'lib/gstreamer-1.0/libgstcdparanoia.a', 'lib/gstreamer-1.0/libgstcdparanoia.la',
]
+ self.meson_options['cdparanoia'] = 'enabled'
else:
- self.configure_options += ' --disable-cdparanoia'
+ self.meson_options['cdparanoia'] = 'disabled'
if self.config.variants.x11:
self.files_plugins_sys += [
@@ -235,16 +235,20 @@ class Recipe(custom.GStreamer):
'lib/gstreamer-1.0/libgstximagesink.a', 'lib/gstreamer-1.0/libgstximagesink.la',
'lib/gstreamer-1.0/libgstxvimagesink.a', 'lib/gstreamer-1.0/libgstxvimagesink.la',
]
+ self.meson_options['x11'] = 'enabled'
+ self.meson_options['xvideo'] = 'enabled'
else:
- self.configure_options += ' --disable-x --disable-xvideo '
+ self.meson_options['x11'] = 'disabled'
+ self.meson_options['xvideo'] = 'disabled'
if self.config.variants.alsa:
self.files_plugins_sys += ['lib/gstreamer-1.0/libgstalsa%(mext)s']
self.files_plugins_sys_devel += [
'lib/gstreamer-1.0/libgstalsa.a', 'lib/gstreamer-1.0/libgstalsa.la',
]
+ self.meson_options['alsa'] = 'enabled'
else:
- self.configure_options += ' --disable-alsa'
+ self.meson_options['alsa'] = 'disabled'
if self.config.variants.nodebug:
self.append_env('CFLAGS', '-DGST_LEVEL_MAX=GST_LEVEL_FIXME')
diff --git a/recipes/gst-plugins-good-1.0.recipe b/recipes/gst-plugins-good-1.0.recipe
index c02bbe09..ad5bc19b 100644
--- a/recipes/gst-plugins-good-1.0.recipe
+++ b/recipes/gst-plugins-good-1.0.recipe
@@ -4,10 +4,11 @@ from cerbero.utils import fix_android_ndk16_cxx
class Recipe(custom.GStreamer):
name = 'gst-plugins-good-1.0'
- config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
- configure_options = '--enable-static --disable-examples --disable-oss4 --disable-oss \
- --disable-dv1394 --disable-aalib --disable-libcaca --disable-jack --disable-shout2 \
- --disable-twolame --disable-qt --disable-gtk3 --disable-gtk-doc --disable-fatal-warnings '
+ btype = BuildType.MESON
+ meson_options = {'examples': 'disabled', 'oss': 'disabled', 'oss4': 'disabled',
+ 'dv1394': 'disabled', 'aalib': 'disabled', 'libcaca': 'disabled',
+ 'jack': 'disabled', 'shout2': 'disabled', 'twolame': 'disabled',
+ 'qt5': 'disabled', 'gtk3': 'disabled'}
remotes = {'origin': 'https://anongit.freedesktop.org/git/gstreamer/gst-plugins-good'}
deps = ['gstreamer-1.0', 'gst-plugins-base-1.0', 'libjpeg-turbo', 'libpng',
'speex', 'gdk-pixbuf', 'libsoup', 'mpg123', 'lame',
@@ -199,38 +200,43 @@ class Recipe(custom.GStreamer):
self.append_env('CFLAGS', '-DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1', '-DLIBSOUP_DOES_NOT_STEAL_OUR_CONTEXT=1')
self.append_env('OBJCFLAGS', '-DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1')
- if self.config.target_platform == Platform.WINDOWS:
- self.configure_options += ' --disable-aalib --disable-esd '
- elif self.config.target_platform == Platform.LINUX:
+ if self.config.target_platform == Platform.LINUX:
self.use_system_libs = True
+ if self.config.target_platform == Platform.WINDOWS:
+ self.meson_options['directsound'] = 'enabled'
+ elif self.config.target_platform == Platform.DARWIN:
+ self.meson_options['osxaudio'] = 'enabled'
+ self.meson_options['osxvideo'] = 'enabled'
+ elif self.config.target_platform == Platform.IOS:
+ self.meson_options['osxaudio'] = 'enabled'
+
if self.config.variants.v4l2:
self.files_plugins_capture += ['lib/gstreamer-1.0/libgstvideo4linux2%(mext)s']
self.files_plugins_capture_devel += [
'lib/gstreamer-1.0/libgstvideo4linux2.a', 'lib/gstreamer-1.0/libgstvideo4linux2.la',
]
+ self.meson_options['v4l2'] = 'enabled'
else:
- self.configure_options += ' --disable-gst_v4l2'
+ self.meson_options['v4l2'] = 'disabled'
if self.config.variants.x11:
self.files_plugins_capture += ['lib/gstreamer-1.0/libgstximagesrc%(mext)s']
self.files_plugins_capture_devel += [
'lib/gstreamer-1.0/libgstximagesrc.a', 'lib/gstreamer-1.0/libgstximagesrc.la',
]
+ self.meson_options['x11'] = 'enabled'
else:
- self.configure_options += ' --disable-x --disable-xvideo'
+ self.meson_options['x11'] = 'disabled'
if self.config.variants.pulse:
self.files_plugins_sys += ['lib/gstreamer-1.0/libgstpulseaudio%(mext)s']
self.files_plugins_sys_devel += [
'lib/gstreamer-1.0/libgstpulseaudio.a', 'lib/gstreamer-1.0/libgstpulseaudio.la',
]
+ self.meson_options['pulse'] = 'enabled'
else:
- self.configure_options += ' --disable-pulse'
+ self.meson_options['pulse'] = 'disabled'
if self.config.variants.nodebug:
self.append_env('CFLAGS', '-DGST_LEVEL_MAX=GST_LEVEL_FIXME')
-
- def configure(self):
- fix_android_ndk16_cxx (self.config, os.path.join(self.make_dir, 'ext', 'taglib'))
- super(recipe.Recipe, self).configure()
diff --git a/recipes/gst-plugins-ugly-1.0.recipe b/recipes/gst-plugins-ugly-1.0.recipe
index 039a4e14..d6a5b5d8 100644
--- a/recipes/gst-plugins-ugly-1.0.recipe
+++ b/recipes/gst-plugins-ugly-1.0.recipe
@@ -3,7 +3,10 @@
class Recipe(custom.GStreamer):
name = 'gst-plugins-ugly-1.0'
- config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
+ btype = BuildType.MESON
+ meson_options = {'examples': 'disabled', 'gtk_doc': 'disabled', 'a52dec': 'enabled',
+ 'dvdread': 'enabled', 'amrnb': 'enabled', 'amrwbdec': 'enabled',
+ 'x264': 'enabled'}
configure_options = "--enable-static --disable-examples --disable-iec958 --disable-mpegstream \
--disable-cdio --disable-sidplay --disable-gtk-doc --disable-fatal-warnings "
remotes = {'origin': 'https://anongit.freedesktop.org/git/gstreamer/gst-plugins-ugly'}
@@ -46,11 +49,11 @@ class Recipe(custom.GStreamer):
def prepare(self):
if self.config.target_platform in [ Platform.ANDROID, Platform.IOS ]:
- for d in ['libdvdread']:
- self.deps.remove(d)
+ self.deps.remove('libdvdread')
self.files_plugins_dvd.remove('lib/gstreamer-1.0/libgstdvdread%(mext)s')
self.files_plugins_dvd_devel.remove('lib/gstreamer-1.0/libgstdvdread.la')
self.files_plugins_dvd_devel.remove('lib/gstreamer-1.0/libgstdvdread.a')
+ self.meson_options['dvdread'] = 'disabled'
if self.config.variants.nodebug:
self.append_env('CFLAGS', '-DGST_LEVEL_MAX=GST_LEVEL_FIXME')
diff --git a/recipes/gst-rtsp-server-1.0.recipe b/recipes/gst-rtsp-server-1.0.recipe
index dfb58a6a..1851e7bc 100644
--- a/recipes/gst-rtsp-server-1.0.recipe
+++ b/recipes/gst-rtsp-server-1.0.recipe
@@ -2,8 +2,8 @@
class Recipe(custom.GStreamer):
name = 'gst-rtsp-server-1.0'
- config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
- configure_options = "--disable-examples --enable-static --disable-gtk-doc --disable-fatal-warnings "
+ btype = BuildType.MESON
+ meson_options = {'examples': 'disabled', 'gtk_doc': 'disabled'}
remotes = {'origin': 'https://anongit.freedesktop.org/git/gstreamer/gst-rtsp-server'}
deps = ['gstreamer-1.0', 'gst-plugins-base-1.0' ]
diff --git a/recipes/gst-validate.recipe b/recipes/gst-validate.recipe
index 859b83f4..5e81a327 100644
--- a/recipes/gst-validate.recipe
+++ b/recipes/gst-validate.recipe
@@ -3,9 +3,10 @@ from cerbero.utils import shell
class Recipe(custom.GStreamer):
name = 'gst-validate'
+ btype = BuildType.MESON
+ meson_options = {'gtk_doc': 'disabled'}
remotes = {'origin': 'https://anongit.freedesktop.org/git/gstreamer/gst-devtools'}
srcdir = 'validate'
- config_sh = 'sh ./autogen.sh --noconfigure && ./configure --enable-static --program-transform-name= '
deps = ['gstreamer-1.0', 'gst-plugins-base-1.0', 'json-glib']
files_bins = ['gst-validate-1.0', 'gst-validate-transcoding-1.0', 'gst-validate-media-check-1.0',
diff --git a/recipes/gstreamer-1.0.recipe b/recipes/gstreamer-1.0.recipe
index 909fd654..9181b8a3 100644
--- a/recipes/gstreamer-1.0.recipe
+++ b/recipes/gstreamer-1.0.recipe
@@ -3,9 +3,8 @@ import shutil
class Recipe(custom.GStreamer):
name = 'gstreamer-1.0'
- config_sh = 'sh ./autogen.sh --noconfigure && ./configure'
- configure_options = "--enable-static --program-prefix= --disable-examples \
- --disable-gtk-doc --disable-docbook --disable-fatal-warnings "
+ btype = BuildType.MESON
+ meson_options = {'examples': 'disabled', 'gtk_doc': 'disabled'}
remotes = {'origin': 'https://anongit.freedesktop.org/git/gstreamer/gstreamer'}
deps = ['glib', 'gtk-doc-lite']
@@ -70,7 +69,7 @@ class Recipe(custom.GStreamer):
if self.config.target_platform == Platform.IOS:
# iOS only supports static builds so plugins must be linked
# and registered statically.
- self.configure_options += ' --disable-registry '
+ self.meson_options['registry'] = 'false'
if self.config.variants.nodebug:
self.append_env('CFLAGS', '-DGST_LEVEL_MAX=GST_LEVEL_FIXME')