Commit graph

419 commits

Author SHA1 Message Date
Nirbheek Chauhan 468232b6bc git-update: Make fetching of external repos non-fatal on the CI
Fixes intermittent failures when external repos have downtime. This is
common with GNOME Gitlab. Only error out on CI if a FDO gitlab repo
fails to fetch.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/240>
2021-04-08 15:21:07 +05:30
Andrey Moiseev d5b6cc88f9 gst-env: Windows: Fix looking for cmd_or_ps.ps1 in the wrong directory
At the point of get_windows_shell() execution, the current directory
equals DEFAULT_BUILDDIR=./build. But cmd_or_ps.ps1 is in SCRIPTDIR=./
(repo root). Point subprocess.check_output() to the correct directory.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/238>
2021-04-06 02:51:07 -07:00
Tim-Philipp Müller d3c4043db3 .gitignore: add more subproject checkouts
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/231>
2021-01-14 19:18:55 +00:00
Tim-Philipp Müller 334fdf5c3a subprojects: add libdv wrap
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/231>
2021-01-14 19:16:01 +00:00
Xavier Claessens a64eacd73b meson: Update zlib.wrap to use wrapdb instead of github fork
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/217>
2021-01-13 12:55:06 +00:00
Stéphane Cerveau f0f0662d9d gst-full: add way to test features presence
This test allows to test a list of features to be
registered in the library (or not).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199>
2020-12-11 12:50:16 +00:00
Stéphane Cerveau b6f61768d3 gst-full: add 'gst-full-' features options
These options allow to select a set of features from a given
plugin with the following syntax:

-Dgst-full-plugins=plugin1;plugin10
-Dgst-full-elements=plugin2:element1,element2
-Dgst-full-typefind-functions=plugins3:func
-Dgst-full-device-providers=plugin4,dp1
-Dgst-full-dynamic-types=plugin5:dt1

By default all the enabled plugin are registered and
gst-full-plugins will allow to include only a set of plugin

If a feature(element, typefind etc.) is selected from a plugin,
the plugin is removed from the plugins list.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199>
2020-12-11 12:50:16 +00:00
Arun Raghavan f0210bf92e gitignore: Add the webrtc-audio-processing subproject
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/227>
2020-12-03 06:40:15 -05:00
Stéphane Cerveau 52e7b2a8e0 gst-full: fix static build on Windows host
Static build needs a version script which is
not available on Windows.
Need to implement use of def file.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/226>
2020-11-23 17:32:08 +01:00
Tim-Philipp Müller 000b01c6f1 Add opus wrap
Now that Meson build system support has been merged upstream.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/225>
2020-11-16 19:23:20 +00:00
Nirbheek Chauhan 9898650a31 meson: Update expat.wrap for MSVC fix
This broke during the update in !206, and we didn't notice because the
CI doesn't update --reset the wraps, which will be fixed by
https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/375

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/224>
2020-11-05 13:09:46 +05:30
Nirbheek Chauhan e3d694195f gitignore: Add new subprojects to ignore list
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223>
2020-11-04 18:56:38 +05:30
Nirbheek Chauhan 81c3c9175b meson: Do not add MSVC warnings flags globally
These get added to *all* subprojects, including ones we do not
maintain such as ffmpeg which then emits thousands of warnings that
completely overwhelm the compile output.

We will add these in each gstreamer subproject separately.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223>
2020-11-04 18:41:36 +05:30
Guillaume Desmottes eba05e57a6 subprojects: add webrtc-audio-processing.wrap
Will be useful to build the iSAC plugin:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1124

Depends on https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/11

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/219>
2020-10-28 16:14:41 +01:00
Stéphane Cerveau 94260955ba gst-full: add warning for gst_init_static_plugins
As some compiler might not supported -Wl,--undefined
add a warning to the meson configure stage.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/211>
2020-10-28 14:15:52 +00:00
Stéphane Cerveau 89176610d2 Revert "subprojects: orc: pin to 0.4.29 release"
This reverts commit 8a2ac5c668.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/215>
2020-10-27 14:33:59 +01:00
Tim-Philipp Müller 2faa29909f libpsl.wrap: pin to 0.21.1 tag
So build failures on master don't break our build and CI.

https://github.com/rockdaboot/libpsl/pull/164

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/213>
2020-10-26 12:13:12 +00:00
Xavier Claessens 8046eda879 Meson: Use generated -uninstalled.pc files 2020-10-23 10:55:20 -04:00
Stéphane Cerveau a4f711e9e5 gst-full: add linker flag to keep gst_init_static_plugins
In a fully static link where an app link with gstreamer-full
the gst_init_static_plugins can be discarded because
no one references it.
Indeed the symbol is looked up by gst_init to call if it exists
and so it is not clearly referenced.

In order to avoid this issue, we use the linker flag
--undefined=gst_init_static_plugins to keep
the symbol.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/207>
2020-10-21 15:44:59 +02:00
Stéphane Cerveau f82527519c gst-full: use '-Wl,-Bsymbolic-functions' to reduce footprint
As most of the gst/glib modules, use this linker flag
to reduce footprint.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/204>
2020-10-14 16:05:13 +02:00
Stéphane Cerveau 139fbac92e gstreamer-full: add assert for global symbols
Add _gst_caps_features_any not null assert
Add _gst_caps_features_memory_system_memory as well

A bug has been detected when using -Bsymbolic in the link
of libgstreamer-full.so

This flag has been introduced to fix this issue:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/108

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/204>
2020-10-14 16:05:13 +02:00
Stéphane Cerveau 751aacd8fc Revert "gstreamer-full: Fix link with x264"
This reverts commit e236d4f71a.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/204>
2020-10-14 16:05:13 +02:00
Stéphane Cerveau d5dcbdb51b gst-full: use a default version script
Use a default version script instead of
Bsymbolic to get rid of x264 and ffmpeg
symbol relocation issue.

https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/108

Export only glib and gstreamer symbols.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/204>
2020-10-14 16:05:13 +02:00
Xavier Claessens 71616b9317 meson: Update expat.wrap with latest version
It fixes missing exported symbols:
2602bd52eb

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/206>
2020-10-13 17:08:53 +00:00
Philippe Normand 05f7066179 subprojects: Update libwpe and wpebackend-fdo for fallback support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/205>
2020-10-12 12:29:01 +00:00
Stéphane Cerveau bda7145460 gstreamer-full: add unit test
This test allows to test gstreamer-full behaviour

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/203>
2020-10-12 10:27:55 +02:00
Xavier Claessens b25e471eaf gstfull: Also include 'sources' from dependencies
It contains generated headers like mkenums.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/203>
2020-10-12 10:27:55 +02:00
Xavier Claessens 8a9d21ce18 gst-full: Add missing include directories to use it in subprojects
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/203>
2020-10-12 10:27:55 +02:00
Stéphane Cerveau b4256c219d gst-full: declare dependency
Declare the gstreamer-full dependency which can be used
later by 3rd party applications.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/203>
2020-10-12 10:27:55 +02:00
Stéphane Cerveau 30ea94f40c meson: move custom_subproject definition for gst-full
In order to let any subproject to use gstreamer-full
declare the subprojects after gstreamer-full definition.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/203>
2020-10-12 10:27:55 +02:00
Philippe Normand e7b9f6b04a wpebackend-fdo: Update to 1.9
This commit will be useful for the wpesrc audio support, and for CI/SHM purposes
in general.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/202>
2020-10-09 18:17:57 +00:00
Philippe Normand 852f8f7a53 Add libwpe subproject
This is a dependency of wpebackend-fdo.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/202>
2020-10-09 18:17:57 +00:00
Guillaume Desmottes 4a2e037fd6 gst-worktree: add support for wrap file without 'directory' field
The script is currently not usable because of pango.wrap not having the
'directory' field and relying on the default from the file name.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/201>
2020-10-07 15:02:23 +02:00
Stéphane Cerveau 9c90e6a1c3 libopenjp2: update wrap
Fix lcms2 and wxWidgets system dependencies.

https://github.com/mesonbuild/libopenjp2/pull/2

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/200>
2020-10-06 13:15:57 +00:00
Guillaume Desmottes 89faf739c9 meson: add gst-full-version-script option
Can be used to control the exact symbols exported, or not, in
libgstreamer-full.

This is useful when building a tailored libgstreamer-full aimed
to be run with some specific binaries. By using such version script
one can reduce the size of the generated lib by letting the linker
garbage collect all the unused APIs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/195>
2020-10-06 12:54:19 +00:00
Xavier Claessens a9731bdcb7 Add pango.wrap file and its dependencies
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/196>
2020-10-06 12:35:14 +00:00
Stéphane Cerveau c96dcd2698 meson: make good and base optional
Be able to disable the base/good build on demand
By default its always enabled.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/178>
2020-10-06 09:48:20 +02:00
Xavier Claessens 89913b2f83 gst-full: Prevent multiple calls to gst_init_static_plugins()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/191>
2020-10-05 17:17:46 -04:00
Xavier Claessens d4f95054e1 README: Document gstreamer-full-1.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/191>
2020-10-05 17:17:46 -04:00
Xavier Claessens 4dc93ef130 gst-full: Remove gstinitstaticplugins.h
That header is not needed any more because gst_init() now calls
gst_init_static_plugins() automatically when available.

This is an API break compared to 1.18, but release notes made it clear
it was an experimental feature.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/191>
2020-10-05 17:17:46 -04:00
Nirbheek Chauhan debe544d3f windows: Detect Strawberry Perl and error out early
This is going to fail during the compile phase because Strawberry Perl
ships with its own pkg-config and pkgconfig files for zlib/libffi with
unusable values.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/41

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/197>
2020-10-01 23:11:24 +05:30
Antonio Ospite fa9627eb75 gst-env: use Path.open() in get_pkgconfig_variable_from_pcfile()
The pcfile argument passed to get_target_install_filename() is
guaranteed to be a Path() object so use the .open() method to open the
file instead of the standard open() function.

This makes it possible to run gst-env.py on older systems with pyhton3.5
where the standard open() function cannot handle Path arguments.

The change fixes errors like the following:

-----------------------------------------------------------------------
$ ninja -C build/ devenv
ninja: Entering directory `build/'
[0/1] Running external command devenv
Traceback (most recent call last):
  File "/home/ao2/gst-build/gst-env.py", line 493, in <module>
    env = get_subprocess_env(options, gst_version)
  File "/home/ao2/gst-build/gst-env.py", line 342, in get_subprocess_env
    elif is_gio_module(target, filename, options.builddir):
  File "/home/ao2/gst-build/gst-env.py", line 121, in is_gio_module
    giomoduledir = PurePath(get_pkgconfig_variable(builddir, 'gio-2.0', 'giomoduledir'))
  File "/home/ao2/gst-build/gst-env.py", line 110, in get_pkgconfig_variable
    return get_pkgconfig_variable_from_pcfile(pcfile, varname)
  File "/home/ao2/gst-build/gst-env.py", line 89, in get_pkgconfig_variable_from_pcfile
    with open(pcfile, 'r', encoding='utf-8') as f:
TypeError: invalid file: PosixPath('/home/ao2/gst-build/build/meson-private/gio-2.0.pc')
FAILED: meson-devenv
-----------------------------------------------------------------------

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/192>
2020-09-24 13:50:09 +02:00
Nicolas Dufresne 9e8ce49ac4 meson: Add qt5 feature
This allow disabling qt5 across GStreamer with a single configuration.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/190>
2020-09-19 00:25:18 +00:00
Jordan Petridis 5758e5461f {pygobject,pycairo}.wrap: point to stable refs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/189>
2020-09-15 15:51:42 +03:00
Tim-Philipp Müller be984e88db Back to development 2020-09-08 16:59:25 +01:00
Tim-Philipp Müller 32d3a2544d Release 1.18.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/186>
2020-09-08 09:59:40 +01:00
Guillaume Desmottes 789b048b7c cross-files: update README
- fix cross file path in example;
- make_standalone_toolchain.py has been deprecated, it's now recommended
to use prebuilt toolchains.
2020-08-27 16:45:09 +02:00
Tim-Philipp Müller dd2bf7996c Release 1.17.90 2020-08-20 16:17:01 +01:00
Nirbheek Chauhan 2a4d7f2264 gst-env: Load gio modules in the devenv
By setting GIO_EXTRA_MODULES we can ensure that any gio modules we
built are loaded by the devenv.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/180>
2020-08-03 18:52:20 +00:00
Nirbheek Chauhan ef4059d4ad gst-env: Factor out some common code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/180>
2020-08-03 18:52:20 +00:00