Stéphane Cerveau [Mon, 25 Nov 2019 20:40:05 +0000 (20:40 +0000)]
dev environment: update documentation
Add gst-dev.py usage with an external script.
Nirbheek Chauhan [Sat, 23 Nov 2019 19:13:37 +0000 (00:43 +0530)]
gst-worktree: Add sub-commands: add and rm
`add` behaves the same as before. `rm` removes worktrees.
`git worktree remove` on the gst-build worktree will delete the
subproject worktrees inside it, but will not remove the references to
them in the main repository's subproject worktrees. The `rm` command
will.
Nirbheek Chauhan [Sat, 23 Nov 2019 18:15:11 +0000 (23:45 +0530)]
Move checkout-branch-worktree to gst-worktree.py
We will add more actions to it than just 'checkout'. Also add
a wrapper shell script that calls gst-worktree.py with the correct
arguments.
Nirbheek Chauhan [Sat, 23 Nov 2019 18:09:54 +0000 (23:39 +0530)]
.gitignore: Ignore subproject package cache
Nirbheek Chauhan [Sat, 23 Nov 2019 11:36:51 +0000 (17:06 +0530)]
git-worktree: Fix indentation
Nirbheek Chauhan [Sat, 23 Nov 2019 11:33:07 +0000 (17:03 +0530)]
git-worktree: Allow multiple worktrees for subproject branches
It's pretty common to have the same branch for a subproject in
multiple worktrees. F.ex., when you want to test a feature branch
common to a few gstreamer subprojects but not the rest.
Nirbheek Chauhan [Sat, 23 Nov 2019 11:26:34 +0000 (16:56 +0530)]
git-worktree: Parse wrap files instead of meson introspect
meson introspect is the wrong approach since it:
* Requires a pre-existing build directory for some branch
* Gives us potentially incorrect information since it tells us
subproject details for the current branch, not the branch we're
checking out.
* Does not allow us to share the git repos for non-gst repos since it
can't tell us the git branches for them.
Instead, parse the wrap files in the branch we're checking out since
they're just INI-style config files.
Xavier Claessens [Mon, 3 Jun 2019 19:16:07 +0000 (15:16 -0400)]
Add sqlite.wrap from wrapdb
This allows building libsoup support on platforms that does not have
sqlite.
Jan Alexander Steffens (heftig) [Mon, 11 Nov 2019 11:41:23 +0000 (12:41 +0100)]
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.
Philippe Normand [Sat, 2 Nov 2019 15:27:16 +0000 (16:27 +0100)]
gst-env: Fix the gst plugin file path regex for Linux platforms
On Linux, the library file is stored in the platform triplet directory under the
lib directory (hence for example
lib/x86_64-linux-gnu/gstreamer-1.0/libgstfoo.so) so the regex needs to take this
into account.
With this change the LD_LIBRARY_PATH on Linux now contains only the directories
with gst libs, ignoring the plugins, as initially intended in
c6613d8da2191aaf2bd7d1ddd4130a289b02e1ba.
Fixes #56
Philippe Normand [Sat, 2 Nov 2019 15:23:45 +0000 (16:23 +0100)]
gst-env: Ensure target install filename is a list
At least in Meson 0.49, the target['install_name'] is a string, not a list, so
the heuristics declared in the is_library_target_and_not_plugin() can't apply
because Python is actually happy to iterate over a string without any warning.
Seungha Yang [Wed, 23 Oct 2019 07:54:43 +0000 (16:54 +0900)]
meson: Specify encoding as utf-8 for msvc
Some projects does not have this option which causes verbose warnings
Seungha Yang [Wed, 23 Oct 2019 07:51:24 +0000 (16:51 +0900)]
meson: Enable some msvc warnings
Enable following warnings
- unused variable
- unhandled enum value in switch/case
Those warnings might cause build error on CI pipeline, but not enabled
by default. For development environment, let's enable them to save
CI (and developer's time) resource.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-build/issues/31
Stephan Hesse [Sat, 2 Nov 2019 16:18:27 +0000 (17:18 +0100)]
instead of 'examples' use 'gst-examples' as option to build the respective subproject
we want to do this because the other "examples" in plugins (tests etc) need a lot deps (qt5 etc)
that are not needed by gst-examples itself.
Philippe Normand [Sat, 2 Nov 2019 09:44:57 +0000 (10:44 +0100)]
gst-env: Use locally built GStreamer utility programs
The host environment might not have gst-launch-1.0 and gst-inspect-1.0
installed.
Fixes #52
Ruben Gonzalez [Fri, 25 Oct 2019 14:04:52 +0000 (16:04 +0200)]
Add gst-examples in gitignore
Mathieu Duponchelle [Tue, 8 Oct 2019 16:06:58 +0000 (18:06 +0200)]
subprojects: add wrap for libmicrodns
This library is used by the newly-merged mdns device provider
for discovering devices advertised over multicast dns.
Ruben Gonzalez [Sun, 20 Oct 2019 19:21:27 +0000 (21:21 +0200)]
Add subprojects/gst-docs in gitignore
gst-docs in only build on Linux if hotdoc is in the PATH.
A correct gitigonore is important for modern tools like ripgrep,
fd or skim.
Thibault Saunier [Tue, 24 Sep 2019 16:36:54 +0000 (13:36 -0300)]
Update ffmpeg to 4.1.4
Thibault Saunier [Sat, 3 Aug 2019 02:22:16 +0000 (19:22 -0700)]
Add support for wine+mingw environments
Thibault Saunier [Sat, 3 Aug 2019 02:19:04 +0000 (19:19 -0700)]
Rename 'uninstalled' to development environment
In the case of wine, the env can not be uninstalled, also developers
do not necessiraly care about the fact that it is "uninstalled", the
important thing is that it is a development environment, meaning
that they can work on GStreamer or with GStreamer in the environment.
I still keep the `uninstalled` target to avoid changing people's
habits for now.
Thibault Saunier [Sat, 3 Aug 2019 00:47:41 +0000 (17:47 -0700)]
Remove msys2_setup as it is not used, not tested, not documentated
Nirbheek Chauhan [Thu, 19 Sep 2019 10:45:03 +0000 (16:15 +0530)]
gst-uninstalled: Don't add plugin paths to PATH or LD_LIBRARY_PATH
We don't need to do that, and adding it causes us to exceed the PATH
length limit on Windows, which makes the terminal completely unusable.
Xavier Claessens [Wed, 18 Sep 2019 15:22:19 +0000 (11:22 -0400)]
Add back gtk_doc option
This is needed to disable gtk_doc in subprojects that have that option
yielding.
Nirbheek Chauhan [Sun, 15 Sep 2019 02:36:10 +0000 (08:06 +0530)]
Update .gitignore
Nirbheek Chauhan [Sun, 15 Sep 2019 02:35:29 +0000 (08:05 +0530)]
Move to using GitHub binary releases
Can't update to 2.5.19 because of https://github.com/lexxmark/winflexbison/issues/48
Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/issues/43
Tim-Philipp Müller [Wed, 14 Aug 2019 17:51:43 +0000 (18:51 +0100)]
subprojects: proxy-libintl: fix push-url
Jordan Petridis [Mon, 29 Jul 2019 15:55:51 +0000 (18:55 +0300)]
Update the flexmeson windows binary version
The old binary/url is no longer available, and the layout of the
sourceforge archvie seems to have changed to include a new
old_versions/ directory where the previous binary is
relocated.
https://sourceforge.net/projects/winflexbison/files/old_versions/
While we could use that, it seem better to invest the effort to
adapt the scipt afterwards to use the github archives instead
https://github.com/lexxmark/winflexbison/releases
So for now bump the version to get the subproject building
till we switch to github releases.
Yeongjin Jeong [Mon, 29 Jul 2019 03:22:55 +0000 (12:22 +0900)]
uninstalled: Ensure bash prompt override even if bash script file does not exist
If automatic bash prompt override is enabled via the 'GST_BUILD_DISABLE_PS1_OVERRIDE',
We should set the bash prompt to have a visual indicator of the "gst-uninstalled" environment
even if bash script file does not exist.
Matthew Waters [Tue, 11 Jun 2019 04:45:04 +0000 (14:45 +1000)]
add gst-examples repository to subproject list
Nirbheek Chauhan [Fri, 19 Jul 2019 16:00:54 +0000 (21:30 +0530)]
gst-uninstalled: Fix loading of prefix libraries on Fedora 30
On Fedora 64-bit, libdir is 'lib64'. Just add it unconditionally
everywhere because we have no reliable way of detecting which distros
or OSes will use that.
Nirbheek Chauhan [Tue, 25 Jun 2019 15:25:36 +0000 (20:55 +0530)]
Don't allow people to run meson inside the uninstalled env
People should not run `meson` on gst-build inside the uninstalled env.
It will cause problems because meson will detect the already-built
libraries and pkg-config files.
This is not obvious to people, and they often make this mistake.
Nicolas Dufresne [Wed, 5 Jun 2019 01:04:45 +0000 (21:04 -0400)]
uninstalled: Fix --sysroot implementation
This option was added so we could remove the sysroot path from the env
when cross-build is used over NFS. Though, the implementation wasn't complete
and went unnoticed.
This moves the sysroot path removal into the helper that prepends env so
that no more env get forgotten. This notably fixes the PATH environment.
Nicolas Dufresne [Tue, 4 Jun 2019 19:30:43 +0000 (15:30 -0400)]
cross: Fix cross compilation meson error
The doc is not currently built in cross-compilation, but we still had
some meson code that eneded up being called and failed.
Niels De Graef [Fri, 31 May 2019 21:43:46 +0000 (23:43 +0200)]
meson: Bump minimal GLib version to 2.44
This means we can use some newer features and get rid of some
boilerplate code using the G_DECLARE_* macros.
As discussed on IRC, 2.44 is old enough by now to start depending on it.
Mathieu Duponchelle [Sat, 25 May 2019 10:02:37 +0000 (12:02 +0200)]
uninstalled: update XDG_DATA_DIRS to point to our devhelp index
When using hotdoc, one can build the documentation for a single
subproject (eg. the GL plugins). In that case, hotdoc will look
up links in devhelp indexes available in standard locations.
To make sure this case works, we thus need to add the path to
our devhelp index to XDG_DATA_DIRS. This also means when running
devhelp from inside the environment, the devhelp books produced
by hotdoc will now show up.
Mathieu Duponchelle [Sun, 26 May 2019 13:49:21 +0000 (15:49 +0200)]
meson: fix GstPluginsPath.json generation
The refactored code was only adding paths to plugins in projects
that build hotdoc, which is not the case of gst-python for example
Thibault Saunier [Thu, 16 May 2019 20:12:05 +0000 (16:12 -0400)]
uninstalled: Add libnice plugin to GST_PLUGIN_PATH
Thibault Saunier [Thu, 16 May 2019 13:26:47 +0000 (09:26 -0400)]
meson: Add a target to regenerate doc caches for all subprojects
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
Thibault Saunier [Thu, 16 May 2019 01:14:16 +0000 (21:14 -0400)]
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
Tim-Philipp Müller [Tue, 14 May 2019 22:21:54 +0000 (23:21 +0100)]
meson.build: Fix typo in log message
Thibault Saunier [Tue, 14 May 2019 21:51:38 +0000 (17:51 -0400)]
meson: Remove spurious subdir_done
Thibault Saunier [Fri, 19 Apr 2019 20:38:24 +0000 (16:38 -0400)]
git-update: Make sure to download all subproject before applying manifest
Otherwise we might be missing some subprojects update
Thibault Saunier [Mon, 12 Nov 2018 23:23:14 +0000 (20:23 -0300)]
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.
Thibault Saunier [Sun, 11 Nov 2018 23:06:04 +0000 (20:06 -0300)]
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.
Thibault Saunier [Sun, 28 Oct 2018 14:06:35 +0000 (14:06 +0000)]
Build documentation with hotdoc
Vivia Nikolaidou [Sat, 11 May 2019 09:03:18 +0000 (12:03 +0300)]
gst-uninstalled: Add gst-indent directory to $PATH
Nicolas Dufresne [Mon, 6 May 2019 20:07:28 +0000 (16:07 -0400)]
uninstalled: Add an option to strip off the sysroot path
As the data from meson is no longer relative path, it is not longer
possible to move gst-build around and run gst-uninstalled.py. This broke
cross-compilation usage, where you build on a host and run over NFS on
target. This adds an option to tell the script to strip off the host path
to the sysroot.
Thibault Saunier [Thu, 25 Apr 2019 17:29:19 +0000 (17:29 +0000)]
Fix link to meson "subprojects" documentation
Tim-Philipp Müller [Thu, 25 Apr 2019 16:21:02 +0000 (17:21 +0100)]
README: minor clarification
Fixes #30.
Thibault Saunier [Fri, 19 Apr 2019 20:33:54 +0000 (16:33 -0400)]
subprojects: Add a wrap for gst-docs
Preparing for building API documentation with hotdoc
Tim-Philipp Müller [Fri, 19 Apr 2019 01:34:33 +0000 (02:34 +0100)]
Build master again
Tim-Philipp Müller [Fri, 19 Apr 2019 01:23:51 +0000 (02:23 +0100)]
Build 1.16.0 release
Nirbheek Chauhan [Wed, 17 Apr 2019 11:58:43 +0000 (17:28 +0530)]
README: Add instructions for Windows with screenshots
Also add a note about installation
Nirbheek Chauhan [Wed, 17 Apr 2019 11:38:39 +0000 (17:08 +0530)]
Move cross-files to the data subdirectory
We will add more data soon.
Nirbheek Chauhan [Wed, 17 Apr 2019 11:14:28 +0000 (16:44 +0530)]
gitignore: Also ignore subproject symlinks
These subproject dirs are only ignored if they are directories if you
use a trailing slash.
Tim-Philipp Müller [Tue, 16 Apr 2019 15:48:58 +0000 (16:48 +0100)]
Build master again
Tim-Philipp Müller [Sun, 3 Mar 2019 20:58:38 +0000 (20:58 +0000)]
Build 1.15.90 release
Tim-Philipp Müller [Mon, 15 Apr 2019 08:49:34 +0000 (09:49 +0100)]
subprojects: libsoup: pin to latest release
Tim-Philipp Müller [Mon, 15 Apr 2019 08:49:10 +0000 (09:49 +0100)]
subprojects: orc: pin to 0.4.29 release
Mart Raudsepp [Tue, 16 Apr 2019 13:00:45 +0000 (16:00 +0300)]
gitignore: Add top-level libnice symlink
Missed adjustment from commit
d3029ec0d606016.
Nirbheek Chauhan [Mon, 15 Apr 2019 10:16:27 +0000 (15:46 +0530)]
ffmpeg.wrap: Bump to 4.1.3
Tested on Windows.
Nirbheek Chauhan [Mon, 15 Apr 2019 10:04:44 +0000 (15:34 +0530)]
gst-uninstalled: Try to use short names for env vars on Windows
Try even harder to not hit the maximum length limit for env var values
on Windows. Reduces the size by ~1000 characters on my machine.
Nirbheek Chauhan [Mon, 15 Apr 2019 10:02:36 +0000 (15:32 +0530)]
gst-uninstalled: De-dedup before prepending to an env var
Helps us avoid breaching the maximum length limit for env var values
on Windows.
Nirbheek Chauhan [Fri, 12 Apr 2019 05:22:37 +0000 (10:52 +0530)]
glib.wrap: Use the glib-2-60 stable branch instead of master
This fixes https://gitlab.freedesktop.org/gstreamer/gst-build/issues/21
Mathieu Duponchelle [Fri, 5 Apr 2019 13:27:37 +0000 (15:27 +0200)]
add libnice as a top-level subproject.
When relying on a system-wide libnice, we end up not building
the nice elements, which means we can't use them, and by extension
webrtcbin, in the uninstalled environment.
This also introduces a way to avoid checking the version of
a given subproject, and makes use of it for libnice and pygobject,
which only passed the version check by chance, as its current
major version is 3.
Nirbheek Chauhan [Mon, 1 Apr 2019 18:30:10 +0000 (00:00 +0530)]
README.md: Document how to build the qt5 plugin
Nirbheek Chauhan [Mon, 1 Apr 2019 18:25:14 +0000 (23:55 +0530)]
gst-uninstalled: Add qt5 DLLs to PATH on Windows
This is needed for using the qmlgl out of the box inside
gst-uninstalled. Of course this won't work if the user is using
a native file to specify the path to `qmake`.
Nirbheek Chauhan [Mon, 1 Apr 2019 18:06:33 +0000 (23:36 +0530)]
meson: Add a subproject wrap file for x264
This allows building x264enc from -ugly on all platforms.
Seungha Yang [Thu, 24 Jan 2019 17:13:08 +0000 (02:13 +0900)]
uninstalled: Add support PowerShell on Windows
... depending on detected shell program. For instance,
if the nearest ancestor process is PowerShell, run uninstalled
environment via PowerShell. Otherwise, $COMSPEC (most likely cmd.exe)
will be used.
Tim-Philipp Müller [Fri, 29 Mar 2019 13:23:51 +0000 (13:23 +0000)]
README: small updates
Nirbheek Chauhan [Fri, 22 Mar 2019 19:10:43 +0000 (00:40 +0530)]
Add FFmpeg.wrap and update .gitignore
Tested on Linux and Windows (MSVC)
Antonio Ospite [Fri, 8 Mar 2019 16:38:43 +0000 (17:38 +0100)]
gst-uninstalled: make the bash prompt override optional
When using a custom prompt the automatic override may not look good, so
provide a mechanism to disable it.
Document that the user will have to use GST_ENV manually when setting
the prompt to have a visual indicator of the gst-uninstalled
environment.
Thibault Saunier [Wed, 13 Mar 2019 22:08:59 +0000 (19:08 -0300)]
Add gst-integration-testsuites as a subproject
Tim-Philipp Müller [Sun, 3 Mar 2019 21:00:32 +0000 (21:00 +0000)]
Back to development
Tim-Philipp Müller [Sun, 3 Mar 2019 20:58:38 +0000 (20:58 +0000)]
Build 1.15.2 release
Tim-Philipp Müller [Mon, 18 Feb 2019 16:53:07 +0000 (16:53 +0000)]
meson: use new 'python' module instead of deprecated 'python3' one
https://github.com/mesonbuild/meson/pull/4169
Tim-Philipp Müller [Mon, 18 Feb 2019 16:13:07 +0000 (16:13 +0000)]
Configure subprojects in the right order
Use an array instead of a dict to make sure we iterate over
the list of subprojects in the right order, which is first
GStreamer core, then gst-plugins-base, then other things.
Without this subprojects might get configured in random order,
in which case gstreamer or gst-plugins-base libs might get picked
up via pkg-config if they are also available installed, instead of
being picked up from the subproject. This breaks all kinds of
assumptions in gst-build and will likely have strange effects
and/or lead to build failures such as
subprojects/gst-plugins-good/tests/check/meson.build:144:2:
ERROR: 'gstreamer-plugins-base-1.0' is not a pkgconfig dependency
Nirbheek Chauhan [Thu, 14 Feb 2019 08:31:52 +0000 (14:01 +0530)]
gst-uninstalled: Fix compatibility with meson 0.50
Starting with Meson 0.50, meson instrospect --targets uses a list
for the filename and install_filenames of each target. Handle both
lists and strings.
Nirbheek Chauhan [Fri, 8 Feb 2019 10:55:29 +0000 (16:25 +0530)]
Add subprojects/libsoup/ to .gitignore
Nirbheek Chauhan [Wed, 6 Feb 2019 10:14:11 +0000 (15:44 +0530)]
openh264.wrap: Update the upstream commit
Needed for building on Windows with MSVC.
Nirbheek Chauhan [Tue, 5 Feb 2019 17:13:30 +0000 (22:43 +0530)]
New subproject win-nasm to provide nasm on Windows
This is needed for building openh264 as a subproject. Currently it's
downloaded unconditionally since the download is very small.
Nirbheek Chauhan [Tue, 5 Feb 2019 12:23:10 +0000 (17:53 +0530)]
Add orc to gitignore
Nirbheek Chauhan [Tue, 5 Feb 2019 11:53:49 +0000 (17:23 +0530)]
scripts: Auto-detect whether we can enable colors
Also do the setup necessary on Windows to enable ANSI colours on the
console (if available). That code is copied from Meson and is Apache2
licensed.
Seungha Yang [Tue, 29 Jan 2019 01:58:21 +0000 (10:58 +0900)]
Add an orc wrap file for using orc subproject
Depending on the newly added 'orc' meson option, this make possible
to use orc subproject on gst-build.
Tim-Philipp Müller [Mon, 28 Jan 2019 22:19:19 +0000 (23:19 +0100)]
subprojects: use libffi and gl-headers from gstreamer gitlab repos
https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/28
Tim-Philipp Müller [Mon, 21 Jan 2019 17:38:07 +0000 (17:38 +0000)]
Configure gst-rtsp-server before gst-devtools
Since gst-devtools checks for gst-rtsp-server and will
happily pick up an external dep which isn't what we want
if we configure it as subproject afterwards.
This assumes meson dicts are always stable, which may
not necessarily be the case, but it seems to work in
practice for now.
See #16
Mathieu Duponchelle [Thu, 24 Jan 2019 16:11:59 +0000 (17:11 +0100)]
windows: unconditionally use flex / bison binaries
This to simplify the checks made when for example a flex binary
is available system wide: the build process was failing when
that system wide binary didn't have the required version. Instead
of adding more checks and making things more complex, let's just
always use our binary subproject.
Xavier Claessens [Wed, 23 Jan 2019 21:06:02 +0000 (16:06 -0500)]
Add wrap file for libsoup and libpsl
libpsl is a dependency if libsoup that has an upstream Meson build
system (in master only).
libsoup also needs libxml2 but we already have a wrap file for it.
The only remaining dependency that must come from the system is sqlite3.
Guillaume Desmottes [Fri, 4 Jan 2019 11:58:37 +0000 (12:58 +0100)]
gst-uninstalled: define GST_OMX_CONFIG_DIR
GST_OMX_CONFIG_DIR is used by gst-omx to load the gstomx.conf associated
with the selected OMX target.
Arun Raghavan [Sat, 29 Dec 2018 07:14:20 +0000 (12:44 +0530)]
gitignore: Add cscope files
Ignores top-level cscope files that might be used for a cross-project
cscope index.
Arun Raghavan [Sat, 29 Dec 2018 07:13:30 +0000 (12:43 +0530)]
gitignore: Add top-level pygobject symlink
Tim-Philipp Müller [Sat, 15 Dec 2018 15:39:03 +0000 (15:39 +0000)]
subprojects: use upstream libnice
Meson port is upstream now.
Tim-Philipp Müller [Fri, 14 Dec 2018 21:35:17 +0000 (21:35 +0000)]
subprojects: update libxml2 wrap to revision 5
Fixes build with MSVC.
Xavier Claessens [Mon, 3 Dec 2018 14:16:14 +0000 (09:16 -0500)]
Add example cross files
These are example cross files that will be used by the CI. They
could require manual editing to change hardcoded paths to toolchains
when used on different environment.
Thibault Saunier [Thu, 6 Dec 2018 13:47:04 +0000 (10:47 -0300)]
update: Re add support for manifests without a refname
Thibault Saunier [Thu, 6 Dec 2018 10:48:23 +0000 (07:48 -0300)]
update: Fetch the refname before checking out the specified sha
Working around freedesktop/freedesktop#95
Xavier Claessens [Thu, 22 Nov 2018 15:16:48 +0000 (10:16 -0500)]
Add 'nls' common option
Thibault Saunier [Mon, 26 Nov 2018 18:55:26 +0000 (15:55 -0300)]
Download libxml from http and not ftp
Thibault Saunier [Mon, 26 Nov 2018 17:48:18 +0000 (14:48 -0300)]
Add a libxml2 wrap to be used by GES