platform/upstream/gstreamer.git
4 years agosubprojects: libmicrodns: pin to 0.1.2 release
Tim-Philipp Müller [Tue, 7 Jul 2020 14:23:29 +0000 (15:23 +0100)]
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>

4 years agoAdd update-orc-dist target
Tim-Philipp Müller [Sat, 4 Jul 2020 14:00:35 +0000 (15:00 +0100)]
Add update-orc-dist target

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/168>

4 years agoBack to development
Tim-Philipp Müller [Fri, 3 Jul 2020 01:04:31 +0000 (02:04 +0100)]
Back to development

4 years agoRelease 1.17.2
Tim-Philipp Müller [Thu, 2 Jul 2020 23:37:52 +0000 (00:37 +0100)]
Release 1.17.2

4 years agoRevert "Revert "Add libavtp wrap file""
Ederson de Souza [Thu, 28 May 2020 23:13:18 +0000 (16:13 -0700)]
Revert "Revert "Add libavtp wrap file""

This reverts commit 1ec87d752a7a14304e98068520cbb216894dbfa7.

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>

4 years agomeson: pass doc option as required argument to gst-docs subproject
Mathieu Duponchelle [Wed, 24 Jun 2020 12:37:28 +0000 (14:37 +0200)]
meson: pass doc option as required argument to gst-docs subproject

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/166>

4 years agoBack to development
Tim-Philipp Müller [Fri, 19 Jun 2020 23:28:49 +0000 (00:28 +0100)]
Back to development

4 years agoRelease 1.17.1
Tim-Philipp Müller [Fri, 19 Jun 2020 18:28:22 +0000 (19:28 +0100)]
Release 1.17.1

4 years agoREADME: document updated meson requirement
Tim-Philipp Müller [Thu, 18 Jun 2020 15:42:33 +0000 (16:42 +0100)]
README: document updated meson requirement

4 years agomeson: bump meson requirement to 0.52 to align with effective requirement
Tim-Philipp Müller [Thu, 18 Jun 2020 14:41:18 +0000 (15:41 +0100)]
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>

4 years agogit-update: rename check-status to status
Stéphane Cerveau [Tue, 16 Jun 2020 12:57:42 +0000 (14:57 +0200)]
git-update: rename check-status to status

'Check' prefix is superfluous

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/163>

4 years agogit-update: Use --force when checking out manifest
Nirbheek Chauhan [Mon, 15 Jun 2020 18:28:17 +0000 (23:58 +0530)]
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 f5b44d31284cfa1b6d029fdfe69d6cdb9a8aeb36 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>

4 years agoREADME: Add a screenshot showing how to run meson on windows
Nirbheek Chauhan [Mon, 15 Jun 2020 15:28:57 +0000 (20:58 +0530)]
README: Add a screenshot showing how to run meson on windows

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/161>

4 years agogst-env: Copy instead of symlink on Windows
Nirbheek Chauhan [Mon, 15 Jun 2020 14:18:30 +0000 (19:48 +0530)]
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>

4 years agogst-env: Fix creation of gdb-autoload dirs on Windows
Nirbheek Chauhan [Mon, 15 Jun 2020 13:36:22 +0000 (19:06 +0530)]
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>

4 years agogst-env: Use meson-uninstalled pkgconfig files if available
Nirbheek Chauhan [Fri, 12 Jun 2020 13:29:17 +0000 (18:59 +0530)]
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>

4 years agomeson_options.txt: Add an option to enable/disable tests
Nirbheek Chauhan [Thu, 11 Jun 2020 07:49:18 +0000 (13:19 +0530)]
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>

4 years agomeson_options: disable gtk_doc by default
Tim-Philipp Müller [Fri, 5 Jun 2020 09:40:29 +0000 (10:40 +0100)]
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>

4 years agoopenh264: update to v2.1.1
Tim-Philipp Müller [Sun, 31 May 2020 10:11:18 +0000 (11:11 +0100)]
openh264: update to v2.1.1

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/154>

4 years agoRevert "Add libavtp wrap file"
Edward Hervey [Thu, 28 May 2020 08:08:26 +0000 (10:08 +0200)]
Revert "Add libavtp wrap file"

This reverts commit 93074302b9f75378299ed10a3222fc1d9fcd457a.

Adding libavtp hasn't properly passed CI for some reason.

Reopens !148

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/152>

4 years agoAdd libavtp wrap file
Ederson de Souza [Wed, 13 May 2020 21:30:37 +0000 (14:30 -0700)]
Add libavtp wrap file

So that the avtp plugin on gst-plugins-bad cab be built and tested on
the CI.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/148>

4 years agoNotify that gst-rts-server has plugin
Thibault Saunier [Wed, 27 May 2020 13:59:16 +0000 (09:59 -0400)]
Notify that gst-rts-server has plugin

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/151>

4 years agoUpdate WPEBackend-FDO wrap file
Philippe Normand [Fri, 22 May 2020 10:46:06 +0000 (11:46 +0100)]
Update WPEBackend-FDO wrap file

Current git master for the 1.7.0 development version is now usable as a
subproject.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/149>

4 years agolibopenjp2 wrap: change default directory
Stéphane Cerveau [Mon, 25 May 2020 09:35:24 +0000 (11:35 +0200)]
libopenjp2 wrap: change default directory

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/150>

4 years agoAdd wpebackend-fdo wrap file
Philippe Normand [Wed, 13 May 2020 13:39:12 +0000 (14:39 +0100)]
Add wpebackend-fdo wrap file

This will allow the wpe plugin to require WPEBackend-FDO 1.7.x which has support
for headless SHM. Hence we should be able to enable the wpesrc integration tests
in CI.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/146>

4 years agowrap: add libopenjp2 for gst-plugins-bad
Stéphane Cerveau [Thu, 14 May 2020 15:16:11 +0000 (17:16 +0200)]
wrap: add libopenjp2 for gst-plugins-bad

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/147>

4 years agogst-env: fix program name in argparse
Víctor Manuel Jáquez Leal [Mon, 11 May 2020 10:31:57 +0000 (12:31 +0200)]
gst-env: fix program name in argparse

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/145>

4 years agosubprojects: ffmpeg: bump to 4.1.5
Tim-Philipp Müller [Mon, 11 May 2020 11:46:59 +0000 (12:46 +0100)]
subprojects: ffmpeg: bump to 4.1.5

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/144>

4 years agoAdd dav1d wrap file
Xavier Claessens [Wed, 11 Mar 2020 13:39:46 +0000 (09:39 -0400)]
Add dav1d wrap file

This is needed to build gst-plugins-rs with dav1d as subproject.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/130>

4 years agobuild: allow for changing subprojects with docs enabled
Matthew Waters [Thu, 23 Apr 2020 03:48:22 +0000 (13:48 +1000)]
build: allow for changing subprojects with docs enabled

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/60
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/142>

4 years agogst-env: Remove non-existent directory from PKG_CONFIG_PATH
Philippe Normand [Mon, 20 Apr 2020 13:49:16 +0000 (14:49 +0100)]
gst-env: Remove non-existent directory from PKG_CONFIG_PATH

There is no pkgconfig directory in -good.

4 years agogst-env: Also look for `builddir` when hunting for a build dir
Nirbheek Chauhan [Thu, 16 Apr 2020 14:08:29 +0000 (19:38 +0530)]
gst-env: Also look for `builddir` when hunting for a build dir

4 years agoREADME: Document which dependencies are available
Nirbheek Chauhan [Thu, 16 Apr 2020 13:27:07 +0000 (18:57 +0530)]
README: Document which dependencies are available

Also document how to build the Intel MSDK plugins, and how to
enable/disable plugins in general.

Closes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/90

4 years agoREADME: Document gst-worktree, remove checkout-branch-worktree
Nirbheek Chauhan [Thu, 16 Apr 2020 13:23:37 +0000 (18:53 +0530)]
README: Document gst-worktree, remove checkout-branch-worktree

Closes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/72

4 years agoREADME: Use 'builddir' instead of 'build/'
Nirbheek Chauhan [Thu, 16 Apr 2020 13:17:03 +0000 (18:47 +0530)]
README: Use 'builddir' instead of 'build/'

`/` was added to make it clear that `build` is a directory and not
a meson sub-command. However, this can be confusing for Windows users.
use `builddir` which does the same job.

4 years agolibsoup: bump wrap to 2.70.0
ssethupa [Wed, 8 Apr 2020 02:55:29 +0000 (21:55 -0500)]
libsoup: bump wrap to 2.70.0

4 years agosubprojects: add libdrm wrap
Stéphane Cerveau [Fri, 3 Apr 2020 08:15:09 +0000 (10:15 +0200)]
subprojects: add libdrm wrap

4 years agosqlite: wrap use 3250100-2 patch to install lib
Stéphane Cerveau [Mon, 23 Mar 2020 11:05:54 +0000 (12:05 +0100)]
sqlite: wrap use 3250100-2 patch to install lib

In order to install the lib in DESTDIR, use the new
sqlite patch zip 3250100-2.

4 years agogst-env: Allow setting environment without git
Nicolas Dufresne [Wed, 25 Mar 2020 12:43:10 +0000 (08:43 -0400)]
gst-env: Allow setting environment without git

This is needed to use gst-uninstalled mode over NFS when gst-build is a
worktree. When this is the case, the .git is a file that links to the original
git tree, but this tree is unlikely to be visible over NFS. Instead of forcing
NFS contorsion, simply ignore the error.

4 years agogst-full: Use gst_dep dependency
Xavier Claessens [Tue, 17 Mar 2020 01:54:26 +0000 (21:54 -0400)]
gst-full: Use gst_dep dependency

It is needed because that dependency object brings generated headers
too.

4 years agogst-full: Create 'alpha' element
Xavier Claessens [Tue, 17 Mar 2020 01:53:29 +0000 (21:53 -0400)]
gst-full: Create 'alpha' element

It is the only plugin built by the CI, with coreelements.

4 years agoMeson: dict.has_key() method has no 'default' argument
Xavier Claessens [Thu, 12 Mar 2020 18:40:58 +0000 (14:40 -0400)]
Meson: dict.has_key() method has no 'default' argument

Meson silently accept those keyword arguments, will produce a warning in
the future: https://github.com/mesonbuild/meson/pull/6780

4 years agoMeson: Fix useless reconfigure when plugins libs change
Xavier Claessens [Wed, 11 Mar 2020 17:49:11 +0000 (13:49 -0400)]
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

4 years agoAdd example using gstreamer-full
Xavier Claessens [Mon, 16 Dec 2019 21:05:30 +0000 (16:05 -0500)]
Add example using gstreamer-full

It will be used by the CI to verify we can build it.

4 years agoAdd gstreamer-full library containing all plugins and their deps
Xavier Claessens [Tue, 17 Sep 2019 15:52:10 +0000 (11:52 -0400)]
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.

4 years agoSimplify generate_plugins_path.py script
Xavier Claessens [Tue, 17 Sep 2019 19:53:40 +0000 (15:53 -0400)]
Simplify generate_plugins_path.py script

This also fix an empty plugin name being prepended to the list.

4 years agoDisable vaapi feature by default
Nirbheek Chauhan [Mon, 2 Mar 2020 05:41:47 +0000 (11:11 +0530)]
Disable vaapi feature by default

Having vaapi decoders/encoders accidentally available by default often
causes strange test failures or weird behaviour since the plugins are
sometimes buggy or have different behaviour.

4 years agoDisable rust feature option by default
Nirbheek Chauhan [Mon, 2 Mar 2020 05:35:41 +0000 (11:05 +0530)]
Disable rust feature option by default

The only requirement for the rust plugins is that a rust toolchain be
present on the system. This is problematic:

1. This means gst-build on Windows is broken by default if you have
   a Rust toolchain, since glib can't be used uninstalled
2. No output is printed on Windows at all while the rust plugins are
   being built. `custom_target()`'s `console:` keyword argument seems
   to be broken on some Windows shells.
3. Even on Linux/macOS having this enabled by default is problematic
   since it more than doubles the total build time.
4. The biggest issue with having it enabled by default is that it does
   not dependency tracking, so we always run `cargo`, which might
   update crates. This increases friction when you're working on
   unrelated code.

4 years agoRemove unused variable in meson.build
Nirbheek Chauhan [Mon, 2 Mar 2020 05:34:40 +0000 (11:04 +0530)]
Remove unused variable in meson.build

We don't use this anywhere. It's confusing.

4 years agomeson: Apply msvc warning level to cpp too
Seungha Yang [Sun, 1 Mar 2020 10:58:35 +0000 (19:58 +0900)]
meson: Apply msvc warning level to cpp too

We have c++ code as well.

4 years agolibsoup: Bump subproject version to 2.68.4
Xavier Claessens [Wed, 19 Feb 2020 15:22:25 +0000 (10:22 -0500)]
libsoup: Bump subproject version to 2.68.4

Older versions fails to build because the glib dependency was wrong.

Fixes: #75

4 years agogit-update: fix typo in message
Stéphane Cerveau [Thu, 27 Feb 2020 08:01:57 +0000 (09:01 +0100)]
git-update: fix typo in message

4 years agocross-files/android: Update paths and args for latest NDK
Nirbheek Chauhan [Fri, 21 Feb 2020 16:42:15 +0000 (22:12 +0530)]
cross-files/android: Update paths and args for latest NDK

-fuse-ld=gold was always needed, but we missed it while adding this.

The rest are new in NDK r21.

4 years agocross-files/android: cpu is aarch64, not arm64
Nirbheek Chauhan [Fri, 21 Feb 2020 16:38:03 +0000 (22:08 +0530)]
cross-files/android: cpu is aarch64, not arm64

Matching the value in glib:
https://gitlab.gnome.org/GNOME/glib/merge_requests/1376#note_719427

4 years agogit-update: provides a check status option
Stéphane Cerveau [Wed, 19 Feb 2020 15:18:39 +0000 (16:18 +0100)]
git-update: provides a check status option

Add --check-status to git-update python script
to provide the list of subprojects with their
git status (branch and state).

4 years agolibxml2: update wrap path to 2.9.7-6
Stéphane Cerveau [Wed, 19 Feb 2020 12:45:52 +0000 (13:45 +0100)]
libxml2: update wrap path to 2.9.7-6

This patch allows to fallback on zlib subproject

4 years agoNuke setup.py: It doesn't do anything special
Nirbheek Chauhan [Tue, 11 Feb 2020 20:26:23 +0000 (01:56 +0530)]
Nuke setup.py: It doesn't do anything special

It's just confusing for people to see that in the build root, and we
do not even mention this file in the README.

4 years agogst-worktree.py: Add execution permission
Nicolas Dufresne [Sun, 2 Feb 2020 22:44:00 +0000 (17:44 -0500)]
gst-worktree.py: Add execution permission

This allow doing ./gst-worktree.py directly.

4 years agogst-worktree: Allow creating a new branch
Nicolas Dufresne [Fri, 31 Jan 2020 18:56:05 +0000 (13:56 -0500)]
gst-worktree: Allow creating a new branch

This is useful when you want to create a worktree from let's say master
branch and start a new branch. This basically reproduce git-worktree -b
options.

4 years agodevenv: Fix path handling for gdb support
Thibault Saunier [Tue, 14 Jan 2020 23:02:20 +0000 (20:02 -0300)]
devenv: Fix path handling for gdb support

And enable gdb support only when gdb is avalaible

4 years agowin-flex-bison: Use gstreamer mirror as primary source
Nirbheek Chauhan [Sat, 18 Jan 2020 12:22:22 +0000 (17:52 +0530)]
win-flex-bison: Use gstreamer mirror as primary source

Use the gstreamer mirror as the primary source and fallback to
upstream if it's down.

4 years agowin-nasm: Use gstreamer mirror as primary source
Nirbheek Chauhan [Sat, 18 Jan 2020 12:07:46 +0000 (17:37 +0530)]
win-nasm: Use gstreamer mirror as primary source

nasm.us went down today and broke all our CI. Use the gstreamer mirror
as the primary source and fallback to nasm.us if that's down.

4 years agowin-nasm: Error out if accidentally called on non-Windows
Nirbheek Chauhan [Sat, 18 Jan 2020 12:08:47 +0000 (17:38 +0530)]
win-nasm: Error out if accidentally called on non-Windows

4 years agofetch wrap patches from github
Guillaume Desmottes [Thu, 16 Jan 2020 07:51:26 +0000 (13:21 +0530)]
fetch wrap patches from github

wrapdb.mesonbuild.com has been down for a few days now.

Fix #71

4 years agomeson: bump glib subproject wrap to GLib 2.62
Tim-Philipp Müller [Sun, 12 Jan 2020 01:03:46 +0000 (01:03 +0000)]
meson: bump glib subproject wrap to GLib 2.62

4 years agouninstalled: Add support for GStreamer and GLib gdb scripts
Thibault Saunier [Fri, 21 Jun 2019 20:40:34 +0000 (16:40 -0400)]
uninstalled: Add support for GStreamer and GLib gdb scripts

4 years agomeson: add graphene subproject
Tim-Philipp Müller [Wed, 8 Jan 2020 17:40:43 +0000 (17:40 +0000)]
meson: add graphene subproject

So we can build all the OpenGL elements.

4 years agodev environment: allow printing only env without starting a shell
Charlie Turner [Mon, 6 Jan 2020 13:22:54 +0000 (13:22 +0000)]
dev environment: allow printing only env without starting a shell

allow for workflows that don't want the gst scripts to start shells,
this can be awkward for higher-level scripts setting up shells
themselves.

this is especially useful in combination with eval, and mimics the sort
of thing you can do with ssh-agent -s.

4 years agogitignore: Ignore libxml2 and sqlite
Seungha Yang [Mon, 22 Jul 2019 11:56:01 +0000 (20:56 +0900)]
gitignore: Ignore libxml2 and sqlite

Add more things to ignore.

4 years agogit-update: try updating cargo deps
Guillaume Desmottes [Thu, 21 Nov 2019 10:40:32 +0000 (16:10 +0530)]
git-update: try updating cargo deps

May prevent build errors if a newer version gstreamer-rs or
gst-plugins-rs depend on an updated version of a git dependency.

4 years agoadd gst-plugins-rs
Guillaume Desmottes [Tue, 19 Nov 2019 09:04:05 +0000 (14:34 +0530)]
add gst-plugins-rs

Fix #63

4 years agoenv: preprend gst-build/prefix/etc/xdg to XDG_CONFIG_DIRS
Julien Isorce [Sat, 21 Dec 2019 19:01:47 +0000 (11:01 -0800)]
env: preprend gst-build/prefix/etc/xdg to XDG_CONFIG_DIRS

So gst-build/prefix/etc/xdg/tizonia/tizonia.conf can be found.
Which one contains path to tizonia plugins. Useful when
compiling tizonia-openmax-il and installing it in gst-build
's prefix location:
  autoreconf -ifs
  ./configure --disable-player
              --without-libspotify
              --prefix=path_to_gst-build/prefix/
  make && make install

Allows the following to work:
  gst-launch-1.0 videotestsrc ! vp8enc ! omxvp8dec ! xvimagesink

4 years agogst-env: Automatically set the prompt for zsh too
Nirbheek Chauhan [Sun, 22 Dec 2019 14:46:25 +0000 (20:16 +0530)]
gst-env: Automatically set the prompt for zsh too

4 years agoREADME: Remove now-useless Fish prompt setup docs
Philippe Normand [Fri, 20 Dec 2019 18:34:05 +0000 (19:34 +0100)]
README: Remove now-useless Fish prompt setup docs

After commit e13e6758e343d8012a2b15a9621d02f57fcbab93 there's no need to
manually configure the prompt.

4 years agogst-env: Don't put helper binaries in PATH
Nirbheek Chauhan [Wed, 18 Dec 2019 22:09:37 +0000 (03:39 +0530)]
gst-env: Don't put helper binaries in PATH

Check if the executable would be installed into bindir before adding
it to PATH in the uninstalled shell.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/issues/67

4 years agogst-env: Fix shell name check
Nirbheek Chauhan [Wed, 18 Dec 2019 21:15:44 +0000 (02:45 +0530)]
gst-env: Fix shell name check

We should use `endswith`, not `in`. Else we'll match paths like:

`/home/arbash/.local/bin/fish` as a bash shell, not a fish shell.

4 years agogst-env: Set the prompt for fish to be same as bash
Nirbheek Chauhan [Wed, 18 Dec 2019 21:09:01 +0000 (02:39 +0530)]
gst-env: Set the prompt for fish to be same as bash

4 years agogst-env: Ignore SIGINT when using the fish shell
Nirbheek Chauhan [Wed, 18 Dec 2019 20:44:30 +0000 (02:14 +0530)]
gst-env: Ignore SIGINT when using the fish shell

After discussion with fish upstream it looks like it will take some
work to fix this issue.

https://github.com/fish-shell/fish-shell/pull/6426#issuecomment-567174105

In the meantime, this only happens when there's no command running in
the terminal, and in that case the shell just ignores it anyway. So
just do that in `gst-env.py`.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/issues/18

4 years agoBump libsoup wrap to latest stable release
Xavier Claessens [Wed, 4 Dec 2019 00:41:24 +0000 (19:41 -0500)]
Bump libsoup wrap to latest stable release

It contains fix to properly fallback to libxml2 and sqlite subprojects,
as well as using feature options.

4 years agodev environment: update documentation
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.

4 years agogst-worktree: Add sub-commands: add and rm
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.

4 years agoMove checkout-branch-worktree to gst-worktree.py
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.

4 years ago.gitignore: Ignore subproject package cache
Nirbheek Chauhan [Sat, 23 Nov 2019 18:09:54 +0000 (23:39 +0530)]
.gitignore: Ignore subproject package cache

4 years agogit-worktree: Fix indentation
Nirbheek Chauhan [Sat, 23 Nov 2019 11:36:51 +0000 (17:06 +0530)]
git-worktree: Fix indentation

4 years agogit-worktree: Allow multiple worktrees for subproject branches
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.

4 years agogit-worktree: Parse wrap files instead of meson introspect
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.

4 years agoAdd sqlite.wrap from wrapdb
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.

4 years agopython: Avoid using 'is' to compare strings
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.

4 years agogst-env: Fix the gst plugin file path regex for Linux platforms
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

4 years agogst-env: Ensure target install filename is a list
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.

4 years agomeson: Specify encoding as utf-8 for msvc
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

4 years agomeson: Enable some msvc 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

5 years agoinstead of 'examples' use 'gst-examples' as option to build the respective subproject
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.

5 years agogst-env: Use locally built GStreamer utility programs
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

5 years agoAdd gst-examples in gitignore
Ruben Gonzalez [Fri, 25 Oct 2019 14:04:52 +0000 (16:04 +0200)]
Add gst-examples in gitignore

5 years agosubprojects: add wrap for libmicrodns
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.

5 years agoAdd subprojects/gst-docs in gitignore
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.

5 years agoUpdate ffmpeg to 4.1.4
Thibault Saunier [Tue, 24 Sep 2019 16:36:54 +0000 (13:36 -0300)]
Update ffmpeg to 4.1.4

5 years agoAdd support for wine+mingw environments
Thibault Saunier [Sat, 3 Aug 2019 02:22:16 +0000 (19:22 -0700)]
Add support for wine+mingw environments

5 years agoRename 'uninstalled' to development environment
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.