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>
```
BUILDDIR=$PWD/winebuild/
export WINEPREFIX=$BUILDDIR/wine-prefix/ && mkdir -p $WINEPREFIX
-# Setting the prefix is mandatory as it is used to setup symlinks during uninstalled development
+# Setting the prefix is mandatory as it is used to setup symlinks within the development environment
meson/meson.py $BUILDDIR --cross-file meson/cross/linux-mingw-w64-64bit.txt -Dgst-plugins-bad:vulkan=disabled -Dorc:gtk_doc=disabled --prefix=$BUILDDIR/wininstall/ -Djson-glib:gtk_doc=disabled
meson/meson.py install -C $BUILDDIR/
```
> __NOTE__: You should use `meson install -C $BUILDDIR` each time you make a change
-> instead of the usual `ninja -C build` as the environment is not uninstalled.
+> instead of the usual `ninja -C build` as this is not in the development environment.
#### The development environment
+++ /dev/null
-gst-env.py
\ No newline at end of file
gnome = import('gnome')
pkgconfig = import('pkgconfig')
python3 = import('python').find_installation()
-# Ensure that we're not being run from inside the gst-uninstalled env
+# Ensure that we're not being run from inside the development environment
# because that will confuse meson, and it might find the already-built
# gstreamer. It's fine if people run `ninja` as long as it doesn't run
# reconfigure because ninja doesn't care about the env.
-ensure_not_uninstalled = '''
+ensure_not_devenv = '''
import os
assert('GST_ENV' not in os.environ)
'''
-cmdres = run_command(python3, '-c', ensure_not_uninstalled, check: false)
+cmdres = run_command(python3, '-c', ensure_not_devenv, check: false)
if cmdres.returncode() != 0
- error('Do not run `ninja` or `meson` for gst-build inside the uninstalled environment, you will run into problems')
+ error('Do not run `ninja` or `meson` for gst-build inside the development environment, you will run into problems')
endif
# Install gst-indent pre-commit hook
endif
endif
-run_target('uninstalled', command : devenv_cmd)
run_target('devenv', command : devenv_cmd)
if orc_subproject.found() and orc_update_targets.length() > 0
pass
@classmethod
- def setup_uninstalled(cls, source_dir):
- """Set up paths for running 'uninstalled' (i.e. directly from the
- source dist)."""
+ def setup_devenv(cls, source_dir):
+ """Set up paths for running the development environment
+ (i.e. directly from the source dist)."""
pass
if cls.data_dir is None:
source_dir = os.path.dirname(
os.path.dirname(os.path.abspath(__file__)))
- cls.setup_uninstalled(source_dir)
+ cls.setup_devenv(source_dir)
def __new__(cls):
cls.locale_dir = os.path.join(data_prefix, "locale")
@classmethod
- def setup_uninstalled(cls, source_dir):
- """Set up paths for running 'uninstalled' (i.e. directly from the
- source dist)."""
+ def setup_devenv(cls, source_dir):
+ """Set up paths for running the development environment
+ (i.e. directly from the source dist)."""
# This is essential: The GUI module needs to find the .glade file.
cls.data_dir = os.path.join(source_dir, "data")
if data_dir:
installed = True
else:
- # Substitution has not been run, we are running uninstalled:
+ # Substitution has not been run, we are running within a development
+ # environment:
lib_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
installed = False
else:
# Assume that we reside inside the source dist.
source_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
- GstDebugViewer.Paths.setup_uninstalled(source_dir)
+ GstDebugViewer.Paths.setup_devenv(source_dir)
GstDebugViewer.run()
}
}
- /* Hack to make it work uninstalled */
+ /* Hack to make it work within the development environment */
dir = g_file_new_for_path ("data/scenarios");
_list_scenarios_in_dir (dir, kf);
g_object_unref (dir);
make sure the `PKG_CONFIG_PATH` environment variable is set to the
correct location (`$libdir/pkgconfig`).
-In the unlikely case that you are using an uninstalled GStreamer setup
-(ie. gst-uninstalled), you will need to use libtool to build the hello
+In the unlikely case that you are using the GStreamer development environment
+(ie. gst-env), you will need to use libtool to build the hello
world program, like this:
```
Makefile, or with autoconf using the pkg.m4 macro (providing
`PKG_CONFIG_CHECK`).
-## How do I develop against an uninstalled GStreamer copy?
+## How do I develop against a GStreamer copy within a development environment?
-It is possible to develop and compile against an uninstalled copy of GStreamer
-and its plugins, for example, against git checkouts. This enables you to test
-the latest version of GStreamer without interfering with your system-wide
-installation. See the [Building from source using
+It is possible to develop and compile against a copy of GStreamer and its
+plugins within a development environment, for example, against git checkouts.
+This enables you to test the latest version of GStreamer without interfering
+with your system-wide installation. See the [Building from source using
meson](installing/building-from-source-using-meson.md) documentation.
## How do I debug these funny shell scripts that libtool makes?
-When you link a program against uninstalled GStreamer using
-libtool, funny shell scripts are made to modify your shared object
-search path and then run your program. For instance, to debug
-`gst-launch`, try:
+When you link a program against a GStreamer within a development environment
+using libtool, funny shell scripts are made to modify your shared object search
+path and then run your program. For instance, to debug `gst-launch`, try:
```
libtool --mode=execute gdb /path/to/gst-launch
The GStreamer multimedia framework is a set of libraries and plugins split into a number of distinct modules which are released independently and which have so far been developed in separate git repositories in [freedesktop.org GitLab](https://gitlab.freedesktop.org/gstreamer/).
-In addition to these separate git repositories there was a `gst-build` meta-repository that would use the Meson build systems's subproject feature to download each individual module and then build everything in one go. It would also provide an uninstalled development environment that made it easy to work on GStreamer and use or test versions other than the system-installed GStreamer version.
+In addition to these separate git repositories there was a `gst-build` meta-repository that would use the Meson build systems's subproject feature to download each individual module and then build everything in one go. It would also provide a development environment that made it easy to work on GStreamer and use or test versions other than the system-installed GStreamer version.
All of these modules have now (as of 28 September 2021) been merged into a single git repository ("Mono repository" or "monorepo") which should simplify development workflows and continuous integration, especially where changes need to be made to multiple modules at once.
automatically.
-## Entering the "uninstalled" environment
+## Entering the development environment
GStreamer is made of several tools, plugins and components. In order to make it
easier for development and testing, there is a target (provided by `gst-build`
static void
initialize_web_extensions (WebKitWebContext *context)
{
- const gchar *local_path = gst_wpe_get_uninstalled_extension_path ();
+ const gchar *local_path = gst_wpe_get_devenv_extension_path ();
const gchar *path = g_file_test (local_path, G_FILE_TEST_IS_DIR) ? local_path : G_STRINGIFY (WPE_EXTENSION_INSTALL_DIR);
GST_INFO ("Loading WebExtension from %s", path);
webkit_web_context_set_web_extensions_directory (context, path);
GST_DEBUG_CATEGORY (wpe_view_debug);
GST_DEBUG_CATEGORY (wpe_src_debug);
-const gchar *gst_wpe_get_uninstalled_extension_path (void)
+const gchar *gst_wpe_get_devenv_extension_path (void)
{
return extension_path;
}
#include <gst/gst.h>
-const gchar *gst_wpe_get_uninstalled_extension_path (void);
+const gchar *gst_wpe_get_devenv_extension_path (void);
gchar *data;
gsize len;
- /* for gst-uninstalled */
+ /* for gst-env */
dict_path = g_getenv ("GST_TAG_LICENSE_TRANSLATIONS_DICT");
if (dict_path == NULL)
Setting this variable to an empty string will cause GStreamer not to
scan any system paths at all for plug-ins. This can be useful if you're
-running uninstalled (for development purposes) or while running
-testsuites.
+running a development environment (for development purposes) or while
+running testsuites.
**`GST_PLUGIN_PATH`, `GST_PLUGIN_PATH_1_0`.**
Setting this variable to an empty string will cause GStreamer not to
scan any system paths at all for plug-ins. This can be useful if you're
-running uninstalled (for development purposes) or while running
+running a development environment (for development purposes) or while running
testsuites.
**GST_PLUGIN_PATH, GST_PLUGIN_PATH_1_0.**
/* Load plugin the old fashioned way... */
/* We don't use a GError here because a failure to load some shared
- * objects as plugins is normal (particularly in the uninstalled case)
+ * objects as plugins is normal (particularly in the development environment case)
*/
newplugin = _priv_gst_plugin_load_file_for_registry (filename,
context->registry, NULL);
return TRUE;
/* can also skip .git and .deps dirs, those won't contain useful files.
- * This speeds up scanning a bit in uninstalled setups. */
+ * This speeds up scanning a bit in development environment setups. */
if (strcmp (dirent, ".git") == 0 || strcmp (dirent, ".deps") == 0)
return TRUE;