cross: send brightnessctl, libgweather (partially) upstream

This commit is contained in:
Colin 2023-08-28 11:14:51 +00:00
parent fe47d68fd3
commit 9a16942b16
2 changed files with 41 additions and 27 deletions

View File

@ -351,6 +351,17 @@ in [
saneCommit = "67df31a8984ab3067af5b65446d2808b0aedadc6"; saneCommit = "67df31a8984ab3067af5b65446d2808b0aedadc6";
hash = "sha256-qY0bjMoFneC5VJ467TeiuOycLYNaVO7Xo/0fCauDZAM="; hash = "sha256-qY0bjMoFneC5VJ467TeiuOycLYNaVO7Xo/0fCauDZAM=";
}) })
(fetchpatch' {
title = "brightnessctl: support cross compilation";
prUrl = "https://github.com/NixOS/nixpkgs/pull/251947";
saneCommit = "c7dce3df8c74ffcb8de3bf242b73712e5adc0227";
hash = "sha256-AheGnNL2BU+Wac/ohYbMHpbjgjY3e2iYZDAUFOwU3Sw=";
})
(fetchpatch' {
title = "libgweather: enable introspection on cross builds";
saneCommit = "7a2d0a90cc558ea71dfc78356e61b0675b995634";
hash = "sha256-5uOYxC4+ZMjIbO1oSA/8ffuftgHSbrGuKjw3EnCHakU=";
})
# (fetchpatch' { # (fetchpatch' {
# # N.B.: compiles, but runtime error on launch suggestive of some module not being shipped # # N.B.: compiles, but runtime error on launch suggestive of some module not being shipped

View File

@ -370,12 +370,13 @@ in {
# inherit (emulated) stdenv hare; # inherit (emulated) stdenv hare;
# }; # };
brightnessctl = prev.brightnessctl.overrideAttrs (upstream: { # 2023/08/27: out for review: <https://github.com/NixOS/nixpkgs/pull/251947>
postPatch = (upstream.postPatch or "") + '' # brightnessctl = prev.brightnessctl.overrideAttrs (upstream: {
substituteInPlace Makefile \ # postPatch = (upstream.postPatch or "") + ''
--replace 'pkg-config' "$PKG_CONFIG" # substituteInPlace Makefile \
''; # --replace 'pkg-config' "$PKG_CONFIG"
}); # '';
# });
# brltty = prev.brltty.override { # brltty = prev.brltty.override {
# # configure: error: no acceptable C compiler found in $PATH # # configure: error: no acceptable C compiler found in $PATH
@ -928,27 +929,29 @@ in {
# # fixes "Run-time dependency vapigen found: NO (tried pkgconfig)" # # fixes "Run-time dependency vapigen found: NO (tried pkgconfig)"
# buildInputs = upstream.buildInputs ++ [ final.vala ]; # buildInputs = upstream.buildInputs ++ [ final.vala ];
# }); # });
libgweather = (prev.libgweather.override {
# we need introspection for bindings, used by e.g. # TODO(2023/08/27): send out for PR: <https://github.com/NixOS/nixpkgs/compare/master...uninsane:nixpkgs:pr-cross-libgweather>
# - gnome.gnome-weather (javascript) # libgweather = (prev.libgweather.override {
# - sane-weather (python) # # we need introspection for bindings, used by e.g.
# # # - gnome.gnome-weather (javascript)
# enabling introspection on cross is tricky because `gen_locations_variant.py` # # - sane-weather (python)
# outputs binary files (Locations.bin) which use the endianness of the build machine # #
# OTOH, aarch64 and x86_64 have same endianness: why not just ignore the issue, then? # # enabling introspection on cross is tricky because `gen_locations_variant.py`
# upstream issue (loosely related): <https://gitlab.gnome.org/GNOME/libgweather/-/issues/154> # # outputs binary files (Locations.bin) which use the endianness of the build machine
withIntrospection = true; # # OTOH, aarch64 and x86_64 have same endianness: why not just ignore the issue, then?
}).overrideAttrs (upstream: { # # upstream issue (loosely related): <https://gitlab.gnome.org/GNOME/libgweather/-/issues/154>
# TODO: the `is_cross_build` change to meson.build is in nixpkgs, but specifies the wrong filepath # withIntrospection = true;
# (libgweather/meson.build instead of meson.build) # }).overrideAttrs (upstream: {
postPatch = (upstream.postPatch or "") + '' # # TODO: the `is_cross_build` change to meson.build is in nixpkgs, but specifies the wrong filepath
sed -i '2i import os; os.environ["GI_TYPELIB_PATH"] = ""' build-aux/meson/gen_locations_variant.py # # (libgweather/meson.build instead of meson.build)
substituteInPlace meson.build \ # postPatch = (upstream.postPatch or "") + ''
--replace "g_ir_scanner.found() and not meson.is_cross_build()" "g_ir_scanner.found()" # sed -i '2i import os; os.environ["GI_TYPELIB_PATH"] = ""' build-aux/meson/gen_locations_variant.py
substituteInPlace libgweather/meson.build \ # substituteInPlace meson.build \
--replace "dependency('vapigen'," "dependency('vapigen', native:true," # --replace "g_ir_scanner.found() and not meson.is_cross_build()" "g_ir_scanner.found()"
''; # substituteInPlace libgweather/meson.build \
}); # --replace "dependency('vapigen'," "dependency('vapigen', native:true,"
# '';
# });
# libsForQt5 = prev.libsForQt5.overrideScope' (self: super: { # libsForQt5 = prev.libsForQt5.overrideScope' (self: super: {
# qgpgme = super.qgpgme.overrideAttrs (orig: { # qgpgme = super.qgpgme.overrideAttrs (orig: {