Commit graph

50 commits

Author SHA1 Message Date
Nicolas Dufresne
63b8a5f22d scripts: Add a script to validate video formats list
These lists have complex ordering and are error prone even for trained
reviewers. This tool will parse the specified define in the specified file
and determin if there is any error, unknown formats or miss-ordering.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5304>
2023-09-10 19:06:06 -04:00
Jordan Petridis
182fa11c0e ci: Check the formatting of rust files
Part of #2930

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5235>
2023-08-27 07:58:09 +03:00
L. E. Segovia
c4b30174a3 gstreamer-full: Specify the pattern for MSVC static libraries
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5194>
2023-08-22 16:39:53 +00:00
L. E. Segovia
18a3dfa4a1 gstreamer-full: Properly export gst_init_static_plugins for Win32 PE
Currently, GStreamer relies throughout on ELF (and MachO)'s symbol
table preserving the function address, instead of marking it as
exportable, either through visibility:default or __declspec(dllexport).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5194>
2023-08-22 16:39:52 +00:00
Tim-Philipp Müller
da3229d0cc git-hooks: use bash for pre-commit-invoke-python
Since it contains bashisms.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5091>
2023-07-31 17:55:57 +00:00
Nirbheek Chauhan
fcf590a86e git-hooks: Not all OSes ship Python 3 under "python"
macOS doesn't, for instance. Use a shell script to detect which python
to run, which is always available on all OSes due to how git is
packaged on Windows.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5060>
2023-07-20 11:00:35 +00:00
Olivier Crête
48c43e5b7f gst-omx: Retire the whole package
The OpenMAX standard is long dead and even the Raspberry Pi OS
no longer supports it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4976>
2023-07-16 19:10:03 +00:00
L. E. Segovia
3dc1b12f13 git-hooks: Allow running the precommit hook in Windows
Windows based Python does not install a python3 executable, that one is
managed by the Microsoft Store as an alias exclusively.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4968>
2023-07-05 16:04:07 +00:00
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
Seungha Yang
f3f220d04b ci: Run gst-indent for some cpp files
Those files follow gst-indent style and it would be good to have
a consistent style

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4023>
2023-02-28 10:12:31 +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
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
Colin Kinloch
39f15af038 git: Show all suggestions on pre-commit hook
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3506>
2022-12-02 17:53:34 +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
Stéphane Cerveau
802c8674d4 gstreamer-full-static: autopep on script
Pass autopep on generate_init_static_plugins.py

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1637>
2022-05-25 12:13:47 +00:00
Stéphane Cerveau
a997108b18 gstreamer-full-static: Be more strict with plugin param
Check that the plugins are correctly separated by ";"
and do not accept "," or ":" inside.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1637>
2022-05-25 12:13:47 +00:00
Andoni Morales Alastruey
7604c7b088 csharp: check format in the pre-commit hook
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/983>
2022-04-05 08:28:50 +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
57bfb85bc5 hooks:python: Max line length should be 120
As we ignore line length in pycodestyle and we have many places with
line with more than 80 and less than 120 chars

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1121>
2021-10-14 12:59:29 +00:00
Stéphane Cerveau
7256ddb74a rebase-branch-from-old: few improvments
- Enhance the documentation
- Allow to revert cherry-pick
- coding style

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1094>
2021-10-13 17:03:09 +00:00
Benjamin Gaignard
285be1ad32 move-script: fix type in dateutil package name
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1080>
2021-10-12 18:23:38 +00:00
Stéphane Cerveau
01fa95d34a move-mrs-script: add url option
You can give as option:

--url
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/960>
2021-10-10 19:50:10 +00:00
Stéphane Cerveau
442672cfdd move-mrs-script: add a list only options
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/960>
2021-10-10 19:50:10 +00:00
Xavier Claessens
cf912f6d15 ci: Fix gst-indent path
It used to be downloaded into PATH, but we can now instead run it from
git. Also move it to top source dir instead of gstreamer subproject.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/931>
2021-10-05 23:44:03 +03:00
Nicolas Dufresne
f54c2a2bac move_mrs: Disable our commit hook during the move
As GNU indent version can be different on the user system, we see some
differences during migration thas causes conflicts. Making cherry-pick
difficults to recover without breaking the style temporily. Note that
cherry-pick continuation does not allow passing the -n option to skip
the hooks.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1017>
2021-10-04 12:56:47 +00:00
Nicolas Dufresne
3d25ff10a9 move_mrs: Fix coding style using autopep8
And some small edits for:
- E741 ambiguous variable name 'l'
- E722 do not use bare 'except'
- W504 line break after binary operator

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1017>
2021-10-04 12:56:47 +00:00
Thibault Saunier
b6112ca6f9 move-script: Do not expect user to be members of the gstreamer project
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/990>
2021-09-30 12:54:20 -03:00
Thibault Saunier
ba0c2cbbf7 move-script: Handle users not having forked gstreamer core
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/990>
2021-09-30 12:54:20 -03:00
Thibault Saunier
18378ec8c7 scripts:move_mrs: Revert cherry-picking when aborting
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/959>
2021-09-29 22:10:27 +00:00
Thibault Saunier
df7e5fb938 move-mrs-script: Add an option to select which modules and MR to work on
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/919>
2021-09-28 15:50:27 +00:00
Thibault Saunier
83c501eaac move-mrs-script: Add options to use python gitlab config files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/919>
2021-09-28 15:50:27 +00:00
Thibault Saunier
c722bedf1d move-mrs-script: Get back to checked out branch
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/919>
2021-09-28 15:50:27 +00:00
Thibault Saunier
6d2f033dbb scripts: Add a script to rebase branches from old modules into monorepo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/919>
2021-09-28 15:50:27 +00:00
Thibault Saunier
66da54964e move-mrs-script: Add prefix to mr titles if no provided
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/919>
2021-09-28 15:50:27 +00:00
Thibault Saunier
1f9ba47228 move-mrs-script: Add a notion of when comments where added
And resolve already resolved discussions

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/919>
2021-09-28 15:50:27 +00:00
Thibault Saunier
085a4a9ec4 Add a scripts to ease moving pending MRs to the monorepo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/919>
2021-09-28 15:50:27 +00:00
Nicolas Dufresne
3037fde5eb Move commit gst-indent hook to the root
This renable at meson setup time the installation of the gst-indent
commit hook. The hooks were kept from gst-devtools as this set supports
both C checks and Python checks.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/904>
2021-09-24 17:47:01 -03:00
Thibault Saunier
091946a478 ci: Port CI to the new monorepo
Main differences with previous setup are:
- No manifest creation
- gst-indent is executed only when the bot is assigned (instead of the manifest task)
- Cerbero jobs are triggered in the cerbero repo
- Remove cerbero and android related files as they now are in cerbero
  itself.
- Update `container.ps1` to the new file layout

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/891>
2021-09-24 16:21:18 -03:00
Stéphane Cerveau
23f4266bbd gstreamer-full: fix empty -Dgst-full-plugins=
When this option was given empty, when for example we don't
want any plugin in gstreamer full, the
build process was failing because an empty
plugin was created in gstinitstaticplugins.c.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/244>
2021-05-18 14:41:41 +02:00
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
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
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
7ef372db76 Meson: Fix useless reconfigure when plugins libs change
This is a workaround for a Meson bug that incorrectly trigger
reconfigure when files change in build directory. This commit can be
reverted once GStreamer depends on Meson >=0.54.0.
See https://github.com/mesonbuild/meson/pull/6770

Fixes: #85
2020-03-11 13:49:11 -04:00
Xavier Claessens
35285c51b8 Add gstreamer-full library containing all plugins and their deps
When building with -Ddefault_library=static, also build a single library
containing all built plugins. Any external dependencies are still
dynamically linked.

A monolithic library is easier to distribute, and in some envs like
Android is required.
2020-03-04 08:23:52 -05:00
Xavier Claessens
7cf00627be Simplify generate_plugins_path.py script
This also fix an empty plugin name being prepended to the list.
2020-03-04 08:18:09 -05:00
Jan Alexander Steffens (heftig)
49fea2520f
python: Avoid using 'is' to compare strings
This is the wrong operator to use, which only seems to work because
`os.name` and `'nt'` happen to be the same object. Python 3.8 also
produces a `SyntaxWarning` when encountering this pattern.
2019-11-11 12:41:44 +01:00
Thibault Saunier
3d8662ebfe Add support for wine+mingw environments 2019-10-01 09:20:25 -03:00
Thibault Saunier
802e18519b Avoid making a dependency between plugins and the build.ninja file
Basically meson detects that we pass file paths to run_command to regenerate the build.ninja file when those change
2019-05-15 23:23:46 -04:00
Thibault Saunier
fda8379411 scripts: Add a script to check that all repos are clean
This is useful to check that a build didn't result in changes in the
code/generated files

This will be used to check that the plugins documentation cache file is
properly commited, and that necessary workaround for particular case
are adopted.
2019-05-13 11:42:15 -04:00
Thibault Saunier
fbb81c6c78 Generate the GST_PLUGIN_PATH using the plugins variable in subprojects
To build the documentation, we are maintaining a 'standardise' `plugins`
variable accross all modules to list all plugins and generate
documentation for them.

This is also used to get the right plugin path when inspecting plugins
for the documentation.
2019-05-13 11:42:15 -04:00