with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper
this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
glib expression is messy enough as is.
Also rename the `glib-schema-to-var` argument to `schemaIdToVariableMapping` to better match Nixpkgs coding style.
https://gitlab.gnome.org/GNOME/glib/-/compare/2.74.0...2.74.1
- Docs no longer can be generated in static builds.
- Drop merged patches.
- Add a comment to an undocumented patch.
- Drop huge with statement.
- Drop meson override not needed since a4a300dfff
Changelog-Reviewed-By: Jan Tojnar <jtojnar@gmail.com>
Since 9f309c8792 ("stdenv: mesonFlags: use canExecute in needs_exe_wrapper"),
glib's tests are built (but not run by default) in pkgsStatic. This
broke the build because some of the tests required shared libraries.
This patch (which is awaiting review upstream) disables building those
libraries and any tests that depend on them in a static-only build.
This will allow OfBorg to run the GLib tests, which it didn't do
before. To do this correctly for the glib we're building, we need to
override it rather than taking glib as an input.
finalAttrs.finalPackage is not overrideable, so instead we need to use
overrideAttrs. Since we can now consult finalAttrs.doCheck, there's
no longer any need for a separate doCheck option, so I've removed it
in favour of overrideAttrs.
This patch shouldn't have any effect on builds that don't run the
tests, so it doesn't need to be conditionally applied. Applying it
unconditionally will make it easier to notice if it breaks e.g. when
updating glib.
Doing this in preCheck means that the tests will already have been
built before the substitutions are made, so they'll have to be rebuilt
after the substitutions. Move the substitution earlier in the build,
to avoid this unnecessary extra work.
I've made the substitutions run even if tests aren't being run, to
avoid a repeat of the situation where a glib update breaks the tests
due to paths changing.
Since the switch to Meson, we're already in the build directory in
preCheck, so we need to update the relative paths we're using
accordingly.
Fixes: 0149459f42 ("glib: 2.56.0 → 2.58.1")
/bin/true hasn't been hardcoded in this file since Glib 2.55.0.
2.56.0, the first stable version to include this change, was released
in 2018.
Fixes: 0973618e4e ("gnome3: automated update")
Previously, bash completion scripts were installed in the "out"
output, which didn't contain any binaries. With this change, the
completion scripts are installed in the outputs containing the
corresponding binaries. Namely, gapplication, gdbus, gio, and
gsettings completion scripts go to $bin, and gresource to $dev. The
result is that the completions work out of the box, when the binaries
are available to the user.
This change adds man pages for commands provided by glib. Namely, the
$bin output now includes man pages (section 1) for:
gapplication gdbus gio gsettings
The $dev output for:
gdbus-codegen gio-querymodules glib-compile-resources
glib-compile-schemas glib-genmarshal glib-gettextize glib-mkenums
gobject-query gresource gtester-report gtester