Commit graph

201 commits

Author SHA1 Message Date
Nirbheek Chauhan
beb21f9254 meson: Add a new option to control the source for build-tools
Similar to orc, allow distros to force bison, flex, nasm, etc, to be
provided by the system.

Needed by the Homebrew folks:
https://github.com/Homebrew/homebrew-core/pull/125996#discussion_r1166410216

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4428>
2023-04-28 15:21:10 +05:30
Thibault Saunier
b14e675a27 gir: Checkout all .gir files and check that they are updated on the CI
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3010>
2023-04-22 09:32:32 -04:00
Thibault Saunier
5586511446 ci: Add a job to verify commit messages on MRs
This uses [gitlint] and is based on their linting rules with some minor
config so it matches our style pretty well.

[gitlint]: https://jorisroovers.com/gitlint/#configuration

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3980>
2023-02-24 00:22:19 +00:00
Nirbheek Chauhan
77b8547586 meson: Allow sysdeps to be forced as fallback subprojects
The original code was too complicated; likely created before the
provide section existed for wraps:

https://mesonbuild.com/Wrap-dependency-system-manual.html#provide-section

Now you can do --force-fallback-for=pygobject and it'll actually work.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3804>
2023-02-06 09:26:02 +00:00
Tim-Philipp Müller
41c69372b5 Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3775>
2023-01-23 23:04:53 +00:00
Tim-Philipp Müller
f13c65d977 Release 1.22.0 2023-01-23 19:41:07 +00:00
Tim-Philipp Müller
a9ec35b1ca Release 1.21.90 2023-01-13 19:08:48 +00:00
Stéphane Cerveau
ce50cb7413 gstreamer-full: use the basename of plugin_path to avoid the ':' detection
The absolute path on windows contains ':' which prevents
gstinitstaticplugins.py to work properly. Use the basename whic is good
enough for the script to make the list of plugins

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3526>
2022-12-05 13:15:50 +00:00
Tim-Philipp Müller
1f65d7cc5c Back to development 2022-12-05 02:29:08 +00:00
Tim-Philipp Müller
fd6a3948c6 Release 1.21.3 2022-12-05 01:28:21 +00:00
Tim-Philipp Müller
9eb081ea0a meson: Generate ChangeLog files for release tarballs on dist
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521>
2022-12-04 18:16:25 +00:00
Xavier Claessens
ef73db4210 meson: Add toplevel "gst-doc" alias target
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3442>
2022-12-02 15:41:32 +00:00
Tim-Philipp Müller
db450689db Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3358>
2022-11-08 02:08:08 +00:00
Tim-Philipp Müller
3e29ac35c4 Release 1.21.2 2022-11-07 23:54:03 +00:00
Tim-Philipp Müller
99bbb1ef35 Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115>
2022-10-04 03:57:31 +01:00
Tim-Philipp Müller
9820e58be6 Release 1.21.1 2022-10-04 01:18:20 +01:00
Nirbheek Chauhan
032ff74e5a meson: Do not modify default value of -Dtools for subprojects
See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1136
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2166>
2022-09-27 20:38:55 +00:00
Nirbheek Chauhan
139c332911 meson: Remove some dead code
We no longer create any symlinks.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2166>
2022-09-27 20:38:55 +00:00
Nirbheek Chauhan
6caa8524dd meson: Add a new option to control the source for orc
Previously we were unconditionally cloning the orc subproject because
we want the developer environment to use the latest orc. However, some
people want to use the system orc instead, or want to auto-detect
which to use, with the system orc getting preference. This requires
adding a new option to select that. See discussion at:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2556

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1282

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3062>
2022-09-22 22:31:21 +00:00
Nirbheek Chauhan
a0e6278dba meson: Use implicit builtin dirs in pkgconfig generation
Starting with Meson 0.62, meson automatically populates the variables
list in the pkgconfig file if you reference builtin directories in the
pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
We need this, because ${prefix}/libexec is a hard-coded value which is
incorrect on, for example, Debian.

Bump requirement to 0.62, and remove version compares that retained
support for older Meson versions.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
2022-09-21 21:08:11 +05:30
Xavier Claessens
5f0493d33a meson: Set install_tag on some targets
Trying to follow recommendation from Meson documentation:
https://mesonbuild.com/Installing.html#installation-tags

Move tools into 'bin' or 'bin-devel' categories to keep only libs and
plugins in the default 'runtime' category. This simplifies distribution
of GStreamer application skipping parts that are not needed, similarly
to what Cerbero does by hardcoding huge list of files.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017>
2022-09-20 10:08:15 +00:00
Thibault Saunier
a5e8208c46 docs: Generate gst-plugins-rs documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954>
2022-09-15 20:11:46 +00:00
Xavier Claessens
412362281f gst-full: Register GIO modules when glib-networking is a subproject
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2653>
2022-09-14 20:46:20 +00:00
Xavier Claessens
ef6f157205 meson: Subprjects can define both "plugins" and "gst_plugins"
If "gst_plugins" is defined we can ignore the value of legacy "plugins"
variable, subprojects could be using it for something else, which is the
case of gst-plugin-rs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2976>
2022-09-02 15:01:45 +00:00
Thibault Saunier
bc9c1e3956 meson: Namespace the plugins_doc_dep/libraries variables
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
2022-09-01 21:17:35 +00:00
Thibault Saunier
b5e90fe579 meson: Rename plugins list and make them "dependency" objects
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
2022-09-01 21:17:35 +00:00
Xavier Claessens
fe40a73973 meson: Make sure devenv uses tools linked on gst-full
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2959>
2022-08-31 13:23:56 +00:00
Nirbheek Chauhan
7a163dae4d meson: Improve certifi documentation on macOS
First, just installing certifi doesn't install the ca-cert in the
right location. The `Install Certificates.command` script also
symlinks the openssl cert.pem to the certifi ca cert file

Second, we can make it more likely that users will notice this if we
make it a warning. If we ever get a bug report about this despite
these measures, we can try to make this an error.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2707>
2022-07-18 06:25:36 +00:00
Andoni Morales Alastruey
5a6aff05ec gstreamer-sharp: fix typo in script name
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2152>
2022-04-11 17:40:15 +00:00
Matthew Waters
bd5d24822a build/fuzzing: integrate fuzz targets into the build system
Currently disabled but may be enabled later.

Updates the existing fuzzing to use shared libraries as that's easier
for meson to deal with if there is a mix of static and shared libraries
on the system.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2123>
2022-04-07 08:17:35 +10:00
Stéphane Cerveau
3e07ce64aa meson: add the list of tools to summary
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2078>
2022-04-06 18:12:51 +00:00
Andoni Morales Alastruey
f89dff303a gstreamer-sharp: ensure a consitent code format
Use EditorConfig and dotnet-format to ensure a consistent
code style.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/983>
2022-04-05 08:28:50 +00:00
Thibault Saunier
2952a73f40 tools: Add support for building gstreamer tools against gst-full
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1581>
2022-03-30 17:43:17 +00:00
Nirbheek Chauhan
2913ab9dbf meson: Fix warning about build_root() and source_root()
```
../meson.build:384: WARNING: Project targeting '>= 0.60.0' but tried to use feature deprecated since '0.56.0': meson.build_root. use meson.project_build_root() or meson.global_build_root() instead.
../meson.build:385: WARNING: Project targeting '>= 0.60.0' but tried to use feature deprecated since '0.56.0': meson.source_root. use meson.project_source_root() or meson.global_source_root() instead.
...
WARNING: Deprecated features used:
 * 0.56.0: {'meson.source_root', 'meson.build_root'}
 ```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
2022-03-18 22:49:16 +00:00
Xavier Claessens
69863131bd Bump Meson requirement to >=0.60.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934>
2022-03-14 08:56:54 -04:00
Sebastian Fricke
d97e480dfe meson: Adjust ninja usage restriction info for devenv
The documentation within meson highlights, that `ninja` can be used
without problems for any case except `ninja reconfigure`. The warning
however describes to the user, that `ninja` shouldn't be used at all.
Fix the warning.

Fixes: 01eb252f67 Don't allow people to run meson inside the uninstalled env
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
2022-03-01 11:33:10 +00:00
Sebastian Fricke
0b6bbce012 Remove the uninstalled term
Remove the symbolic link `gst-uninstalled` which points to `gst-env`.
The `uninstalled` is the old name and the project should stick to a
single name for the procedure.
Remove the term from all the files, exceptions are variables from
dependencies like `uninstalled_variables` from pkgconfig and
`meson-uninstalled`.
Adjust mentions of the script in the documentation and README.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
2022-03-01 11:33:10 +00:00
Sebastian Fricke
0c8ff1a837 Revert "Allow running gst-uninstalled when gst-build is a subproject"
This reverts commit 879126a31c.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
2022-03-01 11:33:10 +00:00
Xavier Claessens
968a26e6f6 devenv: Prepend to GST_PLUGIN_PATH
Use may have their own GST_PLUGIN_PATH, or a custom user subproject
could have their own plugins too. This is also what gst-env.py does.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
2022-02-25 20:35:26 +00:00
Tim-Philipp Müller
701ed92d27 Back to development
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
2022-02-04 22:59:41 +00:00
Tim-Philipp Müller
f0b045a69b Release 1.20.0 2022-02-03 20:03:15 +00:00
Stéphane Cerveau
fb1c062626 gstreamer-full: warn if version-script not available
Instead of error out, warn user that the platform does not support
the version script.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1191>
2022-01-31 11:04:26 +00:00
Tim-Philipp Müller
31b5243e1d Release 1.19.90 2022-01-28 14:28:42 +00:00
Nirbheek Chauhan
1be6d6ccf5 meson: Add explicit check: kwarg to all run_command() calls
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:

2c079d855e
https://github.com/mesonbuild/meson/issues/9300

This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
2022-01-09 18:12:47 +05:30
Thibault Saunier
ccf64e369e meson: Allow using GStreamer plugins from custom_subprojects
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1490>
2022-01-03 16:27:04 -03:00
Thibault Saunier
6dec642d35 subprojects: Lower minimal pygobject version
It works just fine with PyGObject3.8, this min requirement was added in
547570cd79 without any justification for
such a high requirement while 3.8 is the min requirement for
`gst-python`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1419>
2021-12-14 15:44:58 +00:00
Seungha Yang
edbd307df9 meson: Disable symlink to gst modules
Symlink to directory usually makes IDE be confused,
and also any git command to the symlink would not work.
Disable the symlink since we don't see any advantage of the use case
at the moment.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/949>
2021-11-19 22:13:10 +00:00
Tim-Philipp Müller
a7b376011b Back to development 2021-11-03 19:31:23 +00:00
Tim-Philipp Müller
f513c289b0 Release 1.19.3 2021-11-03 15:43:43 +00:00
Xavier Claessens
1ec04817eb Allow Strawberry Perl on Windows with Meson >= 0.60.0
Meson now explicitly blacklists pkg-config.bat from Strawberry Perl and
thus building GStreamer on Windows has been fixed.

This allows for instance to build GStreamer on GitHub Action Windows
runners that have Strawberry Perl by default.

It is also useful when needing to build OpenSSL on the same Windows
machine because it requires Perl.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1263>
2021-10-31 20:07:39 +00:00