Commit graph

404 commits

Author SHA1 Message Date
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
Nirbheek Chauhan beeec59a01 gst-env: Prematurely skip all targets that aren't installed
Simplifies the code a bit.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/180>
2020-08-03 18:52:20 +00:00
Nirbheek Chauhan 84bd496035 Update .gitignore with subprojects and gdbinit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/180>
2020-08-03 18:52:20 +00:00
Nirbheek Chauhan 237f5cc4ee Add glib-networking as a subproject when glib is a subproject
We need gio modules for tls when building gstwebrtcbin, gstsoup, etc.

Control it via a new 'tls' option, since it requires either gnutls or
openssl.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/180>
2020-08-03 18:52:20 +00:00
Tim-Philipp Müller e9261b7f50 x264: update to latest stable 160.3011
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/183>
2020-07-30 15:52:38 +01:00
Tim-Philipp Müller df52da961d FFmpeg: update to 4.3.1
Fixes #54

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/182>
2020-07-25 13:44:26 +01:00
Stéphane Cerveau e236d4f71a gstreamer-full: Fix link with x264
If a static build is requested and x264 plugin has been enabled
the full link fails with:

/usr/bin/ld: subprojects/x264/libx264.a(cabac-a.o): relocation
R_X86_64_PC32 against symbol `x264_cabac_range_lps' can not be used when
making a shared object; recompile with -fPIC

Fixes #108

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/169>
2020-07-22 12:40:00 +02:00
Jan Alexander Steffens (heftig) 9fa22f5873 gst-env.py: Sort path sets before using prepend_env_var
Python `set`s have a random ordering. To avoid creating a random
environment, create sorted lists before iterating over them.

Our Rust crates instruct cargo to rebuild if `PKG_CONFIG_PATH` changes,
so this has been causing unnecessary rebuilds.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/177>
2020-07-21 21:13:56 +02:00
Seungha Yang 64029b1461 README: Document ARM64 native build on Windows
Add some guide for native ARM64 build on Windows

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/175>
2020-07-15 22:12:28 +09:00
Nirbheek Chauhan 856239a7a7 sqlite: Fix build on Windows with MSVC
We need to use the latest sqlite wrap version which fixes a bug where
symbols weren't getting exported and the import library couldn't be
created, so libsoup couldn't find sqlite.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/174>
2020-07-13 17:38:48 +05:30
Tim-Philipp Müller 80976dea2c Fix up update-orc-dist target for the case where there are no orc targets
See https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/168#note_561914

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/173>
2020-07-08 11:29:40 +01:00
Tim-Philipp Müller 02995c8417 meson: clean up workaround for older meson versions that's no longer needed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/172>
2020-07-07 18:48:49 +00:00
Tim-Philipp Müller 869f25a938 subprojects: libmicrodns: pin to 0.1.2 release
Now that there is a release with the meson build.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/170>
2020-07-07 15:23:29 +01:00
Tim-Philipp Müller ebf79cf723 Add update-orc-dist target
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/168>
2020-07-04 15:01:08 +01:00
Tim-Philipp Müller 45a09d4a81 Back to development 2020-07-03 02:04:31 +01:00
Tim-Philipp Müller 1016bf239c Release 1.17.2 2020-07-03 00:37:52 +01:00