Commit graph

398 commits

Author SHA1 Message Date
Nirbheek Chauhan 01eb252f67 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.
2019-06-25 20:55:36 +05:30
Nicolas Dufresne 9c4cb201d0 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.
2019-06-04 21:09:11 -04:00
Nicolas Dufresne bb9c37dcf0 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.
2019-06-04 15:30:43 -04:00
Niels De Graef 6bd73861ca 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.
2019-05-31 21:44:35 +00:00
Mathieu Duponchelle dc325b42f5 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.
2019-05-29 00:34:50 +02:00
Mathieu Duponchelle 227c35b5d3 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
2019-05-26 15:51:06 +02:00
Thibault Saunier 4c6b301fa0 uninstalled: Add libnice plugin to GST_PLUGIN_PATH 2019-05-16 16:51:49 -04:00
Thibault Saunier 2c50c067d5 meson: Add a target to regenerate doc caches for all subprojects
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
2019-05-16 09:32:50 -04: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
Tim-Philipp Müller 54ce8e882b meson.build: Fix typo in log message 2019-05-14 23:22:18 +01:00
Thibault Saunier 4736387c1b meson: Remove spurious subdir_done 2019-05-14 17:51:38 -04:00
Thibault Saunier b46c29525f git-update: Make sure to download all subproject before applying manifest
Otherwise we might be missing some subprojects update
2019-05-13 11:42:42 -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
Thibault Saunier 3d24de2f24 Build documentation with hotdoc 2019-05-13 11:42:15 -04:00
Vivia Nikolaidou dde1b6ef3c gst-uninstalled: Add gst-indent directory to $PATH 2019-05-11 09:54:50 +00:00
Nicolas Dufresne a769bf6c6e 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.
2019-05-06 16:10:59 -04:00
Thibault Saunier 7fb7739337 Fix link to meson "subprojects" documentation 2019-04-25 17:29:19 +00:00
Tim-Philipp Müller f21a06f5d2 README: minor clarification
Fixes #30.
2019-04-25 17:21:02 +01:00
Thibault Saunier f0a550eac9 subprojects: Add a wrap for gst-docs
Preparing for building API documentation with hotdoc
2019-04-19 16:33:54 -04:00
Tim-Philipp Müller 96dd9f4093 Build master again 2019-04-19 11:07:28 +01:00
Tim-Philipp Müller 5114d22911 Build 1.16.0 release 2019-04-19 02:23:51 +01:00
Nirbheek Chauhan 57e876e339 README: Add instructions for Windows with screenshots
Also add a note about installation
2019-04-17 17:55:48 +05:30
Nirbheek Chauhan d4cc75ec1b Move cross-files to the data subdirectory
We will add more data soon.
2019-04-17 17:08:39 +05:30
Nirbheek Chauhan cb3db265fe gitignore: Also ignore subproject symlinks
These subproject dirs are only ignored if they are directories if you
use a trailing slash.
2019-04-17 16:44:28 +05:30
Tim-Philipp Müller 273d95a18d Build master again 2019-04-16 16:49:32 +01:00
Tim-Philipp Müller c0a8dd04b5 Build 1.15.90 release 2019-04-16 14:17:49 +00:00
Tim-Philipp Müller 462a2089ef subprojects: libsoup: pin to latest release 2019-04-16 14:17:49 +00:00
Tim-Philipp Müller 8a2ac5c668 subprojects: orc: pin to 0.4.29 release 2019-04-16 14:17:49 +00:00
Mart Raudsepp be1eae5df3 gitignore: Add top-level libnice symlink
Missed adjustment from commit d3029ec0d6.
2019-04-16 16:00:45 +03:00
Nirbheek Chauhan 6a3a7760f2 ffmpeg.wrap: Bump to 4.1.3
Tested on Windows.
2019-04-15 15:46:27 +05:30
Nirbheek Chauhan d422c2b791 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.
2019-04-15 15:36:08 +05:30
Nirbheek Chauhan c786776f27 gst-uninstalled: De-dedup before prepending to an env var
Helps us avoid breaching the maximum length limit for env var values
on Windows.
2019-04-15 15:32:36 +05:30
Nirbheek Chauhan 35e6c8b160 glib.wrap: Use the glib-2-60 stable branch instead of master
This fixes https://gitlab.freedesktop.org/gstreamer/gst-build/issues/21
2019-04-12 10:52:37 +05:30
Mathieu Duponchelle d3029ec0d6 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.
2019-04-05 15:27:37 +02:00
Nirbheek Chauhan acf83f17c2 README.md: Document how to build the qt5 plugin 2019-04-02 13:16:05 +00:00
Nirbheek Chauhan f46066011f 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`.
2019-04-02 13:16:05 +00:00
Nirbheek Chauhan 0f55b18c8c meson: Add a subproject wrap file for x264
This allows building x264enc from -ugly on all platforms.
2019-04-02 13:16:05 +00:00
Seungha Yang f42544cb6b 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.
2019-04-02 08:35:03 +00:00
Tim-Philipp Müller b0eea913a4 README: small updates 2019-03-29 13:24:10 +00:00
Nirbheek Chauhan fa32c47022 Add FFmpeg.wrap and update .gitignore
Tested on Linux and Windows (MSVC)
2019-03-27 19:00:56 +05:30
Antonio Ospite 8af2376bc0 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.
2019-03-17 21:08:08 +01:00
Thibault Saunier 887da9a04b Add gst-integration-testsuites as a subproject 2019-03-14 10:10:32 -03:00
Tim-Philipp Müller 406caf378d Back to development 2019-03-03 21:00:32 +00:00
Tim-Philipp Müller a603acf512 Build 1.15.2 release 2019-03-03 20:58:38 +00:00
Tim-Philipp Müller cb21aed7dc meson: use new 'python' module instead of deprecated 'python3' one
https://github.com/mesonbuild/meson/pull/4169
2019-02-18 16:53:07 +00:00
Tim-Philipp Müller 7ea556d034 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
2019-02-18 16:16:02 +00:00
Nirbheek Chauhan a9bcc8f0ee 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.
2019-02-14 14:01:52 +05:30
Nirbheek Chauhan 6f33955af4 Add subprojects/libsoup/ to .gitignore 2019-02-08 16:25:29 +05:30
Nirbheek Chauhan f256d118f0 openh264.wrap: Update the upstream commit
Needed for building on Windows with MSVC.
2019-02-06 15:44:11 +05:30