The pcfile argument passed to get_target_install_filename() is
guaranteed to be a Path() object so use the .open() method to open the
file instead of the standard open() function.
This makes it possible to run gst-env.py on older systems with pyhton3.5
where the standard open() function cannot handle Path arguments.
The change fixes errors like the following:
-----------------------------------------------------------------------
$ ninja -C build/ devenv
ninja: Entering directory `build/'
[0/1] Running external command devenv
Traceback (most recent call last):
File "/home/ao2/gst-build/gst-env.py", line 493, in <module>
env = get_subprocess_env(options, gst_version)
File "/home/ao2/gst-build/gst-env.py", line 342, in get_subprocess_env
elif is_gio_module(target, filename, options.builddir):
File "/home/ao2/gst-build/gst-env.py", line 121, in is_gio_module
giomoduledir = PurePath(get_pkgconfig_variable(builddir, 'gio-2.0', 'giomoduledir'))
File "/home/ao2/gst-build/gst-env.py", line 110, in get_pkgconfig_variable
return get_pkgconfig_variable_from_pcfile(pcfile, varname)
File "/home/ao2/gst-build/gst-env.py", line 89, in get_pkgconfig_variable_from_pcfile
with open(pcfile, 'r', encoding='utf-8') as f:
TypeError: invalid file: PosixPath('/home/ao2/gst-build/build/meson-private/gio-2.0.pc')
FAILED: meson-devenv
-----------------------------------------------------------------------
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/192>
If a static build is requested and x264 plugin has been enabled
the full link fails with:
/usr/bin/ld: subprojects/x264/libx264.a(cabac-a.o): relocation
R_X86_64_PC32 against symbol `x264_cabac_range_lps' can not be used when
making a shared object; recompile with -fPIC
Fixes#108
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/169>
Python `set`s have a random ordering. To avoid creating a random
environment, create sorted lists before iterating over them.
Our Rust crates instruct cargo to rebuild if `PKG_CONFIG_PATH` changes,
so this has been causing unnecessary rebuilds.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/177>
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>
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 f5b44d3128 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>
`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>