Commit graph

440 commits

Author SHA1 Message Date
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
Ederson de Souza
a910ea6192 Revert "Revert "Add libavtp wrap file""
This reverts commit 1ec87d752a.

As the avtp plugin on gst-plugins-bad is now ensured to be built only on
Linux, this patch can come back.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/153>
2020-06-30 15:47:18 -07:00
Mathieu Duponchelle
4a3ceaa498 meson: pass doc option as required argument to gst-docs subproject
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/166>
2020-06-24 14:37:28 +02:00
Tim-Philipp Müller
075ed8610f Back to development 2020-06-20 01:05:03 +01:00
Tim-Philipp Müller
7dc67a389d Release 1.17.1 2020-06-19 19:28:22 +01:00
Tim-Philipp Müller
d47dddb78c README: document updated meson requirement 2020-06-18 16:42:33 +01:00
Tim-Philipp Müller
398576dfdb meson: bump meson requirement to 0.52 to align with effective requirement
Latest libnice requires 0.52, so it probably makes sense to
update the meson requirement in gst-build for that, so we
have good out-of-the-box developer experience for people,
with webrtc working out of the box.

Might also make it easier to backport things later.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/164>
2020-06-18 15:41:18 +01:00
Stéphane Cerveau
cb94bb1623 git-update: rename check-status to status
'Check' prefix is superfluous

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/163>
2020-06-16 14:57:42 +02:00
Nirbheek Chauhan
4d60e89a99 git-update: Use --force when checking out manifest
When we have a manifest, we DEFINITELY want exactly that, please throw
away any local changes, thanks. Fixes CI:

https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/3105690

```
 Checking out f5b44d3128 in gst-devtools
Could not rebase subprojects\gst-devtools, please fix and try again. Error:
error: Your local changes to the following files would be overwritten by checkout:
	docs/plugins/fakesrc.simple.validatetest.yaml
Please commit your changes or stash them before you switch branches.
Aborting
 Command '['git', 'checkout', '--detach', 'f5b44d31284cfa1b6d029fdfe69d6cdb9a8aeb36']' returned non-zero exit status 1.
 ```

This is probably caused by some shared cache shenanigans, but forcing
is also what we want anyway in this case.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/162>
2020-06-16 00:38:53 +05:30
Nirbheek Chauhan
9782400920 README: Add a screenshot showing how to run meson on windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/161>
2020-06-15 21:01:01 +05:30
Nirbheek Chauhan
77cd988ac8 gst-env: Copy instead of symlink on Windows
os.symlink needs admin privs in most cases.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/160>
2020-06-15 19:59:22 +05:30
Nirbheek Chauhan
d570c770ad gst-env: Fix creation of gdb-autoload dirs on Windows
`bdir[1:]` is supposed to convert `/path/to/bdir` to `path/to/bdir`
which is only correct on UNIX. On Windows it will convert
`C:\path\to\bdir` to `:\path\to\bdir` which is totally wrong.

Use pathlib instead, which makes it trivial to do the conversion using
`joinpath(*bdir.parts)`

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/160>
2020-06-15 19:06:22 +05:30
Nirbheek Chauhan
8b9073367f gst-env: Use meson-uninstalled pkgconfig files if available
This allows people to use the development environment for building
projects when glib is built as a subproject.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/158>
2020-06-12 19:21:52 +05:30
Nirbheek Chauhan
5234b05f92 meson_options.txt: Add an option to enable/disable tests
All subproject options yield to this.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/157>
2020-06-11 13:19:18 +05:30
Tim-Philipp Müller
8ecede2ff1 meson_options: disable gtk_doc by default
We don't need to build documentation for
gtk-doc using subprojects, not by default
at least, and our 'auto' option would
override the subproject 'disabled' default
in libnice's case.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/155>
2020-06-05 10:40:29 +01:00