This may have been relevant 10 years ago ([DOUBT]), but it
sure as hell isn't now, and recursive symlinks are evil.
May it burn in hell, as that is where it belongs.
In preparation for the deprecation of `stdenv.isX`.
These shorthands are not conducive to cross-compilation because they
hide the platforms.
Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way
One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059
There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.
```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```
Always specify the preInstallPhases attribute as a list instead of a
string.
Append elements to the preInstallPhases Bash variable using appendToVar
instead of string or Bash array concatenation.
/nix/store/xxgjhia4jhnx9910vb7iw1cm9l6qwfd4-qemu-8.2.3/bin/qemu-ppc64: error while loading shared libraries: /build/glib-2.80.0/build/glib/libglib-2.0.so.0: ELF file data encoding not little-endian
Command '['/nix/store/054wr9piy48ww123yn2pcbkcsnvlx3fg-gobject-introspection-wrapped-1.80.1-dev/bin/g-ir-scanner-qemuwrapper', '/build/glib-2.80.0/build/tmp-introspectiyhf5flt/GLib-2.0', '--introspect-dump=/build/glib-2.80.0/build/tmp-introspectiyhf5flt/functions.txt,/build/glib-2.80.0/build/tmp-introspectiyhf5flt/dump.xml']' returned non-zero exit status 127.
I don't have a suitable environment for testing whether it's broken
big→little, but it seems likely.
Link: https://github.com/NixOS/nixpkgs/pull/309309#issuecomment-2100785761
Fixes: 98d8d1e587 ("glib: enable introspection on cross")
the disk space cost is less than 20Kb
They provide pretty printers for datascructures likes hash tables in
gdb.
To check that the scripts are loaded:
run gdb on any glib application (for example gio from the bin output)
run info auto-load python-scripts
observe scripts whose filename is libglib-...-gdb.py
The libraries are built for the host platform. glib should be
independent of the target platform as it is not a compiler.
Fixes build and in some cases eval of pkgsCross.*.buildPackages.glib and
in similar situations (e.g. pkgsStatic.buildPackages).
stdenv.isLinux is not a sufficient check for whether elfutils is
supported, because it's not supported on static Linux.
Fixes: 7517f8edd0 ("glib: switch elfutils in for abandoned libelf")
These have been introduced in GLib 2.77.0:
ade79bcb50
We missed them failing during the update because they are not build as a part of the main `glib` derivation.
https://gitlab.gnome.org/GNOME/glib/-/compare/2.77.3...2.78.0
NEWS look okay
- Error handling of invalid GKeyFile string escape sequences
- gdb: Workaround optimized out quark_seq_id
- meson: fix `gnetworking.h` install tag
- gthread: Annotate g_thread_exit() with G_NORETURN
- Fix gutils-user-database unit test
Changelog-reviewed-by: Bobby Rong <rjl931189261@126.com>
Changelog-reviewed-by: Jan Tojnar <jtojnar@gmail.com>
https://gitlab.gnome.org/GNOME/glib/-/compare/2.77.1...2.77.2
A few minor bugfixes. Other than this breaks darwin build this looks good.
Changelog-reviewed-by: Bobby Rong <rjl931189261@126.com>
Changelog-reviewed-by: Jan Tojnar <jtojnar@gmail.com>
https://gitlab.gnome.org/GNOME/glib/-/compare/2.76.4...2.77.1
Refreshed split-dev-programs.patch with 9f111c3416
NEWS look okay, all patches applies.
- Re-upgrade missing attribute debugs to criticals in `GFileInfo`
- Add `glib_valgrind_suppressions` variable to glib pkg-config file
Changelog-reviewed-by: Bobby Rong <rjl931189261@126.com>
Changelog-reviewed-by: Jan Tojnar <jtojnar@gmail.com>