cross: comment out packages i haven't used for an extended time

This commit is contained in:
2023-08-04 05:20:20 +00:00
parent 21e22096b1
commit f3af31c727

View File

@@ -171,39 +171,24 @@ in {
# # TODO: we could link farm, or we could skip straight to cross compilation and not emulate stdenv # # TODO: we could link farm, or we could skip straight to cross compilation and not emulate stdenv
# }); # });
# mod_dnssd = prev.mod_dnssd.override {
# inherit (emulated) stdenv;
# };
apacheHttpdPackagesFor = apacheHttpd: self:
let
prevHttpdPkgs = prev.apacheHttpdPackagesFor apacheHttpd self;
in prevHttpdPkgs // {
# fixes "configure: error: *** Sorry, could not find apxs ***"
# mod_dnssd = prevHttpdPkgs.mod_dnssd.override {
# inherit (emulated) stdenv;
# };
# TODO: the below apxs doesn't have a valid shebang (#!/replace/with/...).
# we can't replace it at the origin?
mod_dnssd = prevHttpdPkgs.mod_dnssd.overrideAttrs (upstream: {
configureFlags = upstream.configureFlags ++ [
"--with-apxs=${self.apacheHttpd.dev}/bin"
];
});
};
# apacheHttpdPackagesFor = apacheHttpd: self: # apacheHttpdPackagesFor = apacheHttpd: self:
# let # let
# prevHttpdPkgs = lib.fix (emulated.apacheHttpdPackagesFor apacheHttpd); # prevHttpdPkgs = prev.apacheHttpdPackagesFor apacheHttpd self;
# in # in prevHttpdPkgs // {
# (prev.apacheHttpdPackagesFor apacheHttpd self) // { # # fixes "configure: error: *** Sorry, could not find apxs ***"
# # inherit (prevHttpdPkgs) mod_dnssd; # # mod_dnssd = prevHttpdPkgs.mod_dnssd.override {
# mod_dnssd = prevHttpdPkgs.mod_dnssd.override { # # inherit (emulated) stdenv;
# inherit (self) apacheHttpd; # # };
# }; # # N.B.: the below apxs doesn't have a valid shebang (#!/replace/with/...).
# }; # # we can't replace it at the origin?
# mod_dnssd = prevHttpdPkgs.mod_dnssd.overrideAttrs (upstream: {
# configureFlags = upstream.configureFlags ++ [
# "--with-apxs=${self.apacheHttpd.dev}/bin"
# ];
# });
# };
# 2023/07/31: upstreaming is unblocked,implemented on servo # 2023/08/03: upstreaming is unblocked,implemented on servo, but has x86 in the runtime closure
# blueman = prev.blueman.overrideAttrs (orig: { # blueman = prev.blueman.overrideAttrs (orig: {
# # configure: error: ifconfig or ip not found, install net-tools or iproute2 # # configure: error: ifconfig or ip not found, install net-tools or iproute2
# nativeBuildInputs = orig.nativeBuildInputs ++ [ final.iproute2 ]; # nativeBuildInputs = orig.nativeBuildInputs ++ [ final.iproute2 ];
@@ -303,11 +288,11 @@ in {
# # fixes "configure: error: cannot run test program while cross compiling" # # fixes "configure: error: cannot run test program while cross compiling"
# inherit (emulated) stdenv; # inherit (emulated) stdenv;
# }; # };
emacs = prev.emacs.override { # emacs = prev.emacs.override {
nativeComp = false; # will be renamed to `withNativeCompilation` in future # nativeComp = false; # will be renamed to `withNativeCompilation` in future
# TODO: we can specify 'action-if-cross-compiling' to actually invoke the test programs: # # future: we can specify 'action-if-cross-compiling' to actually invoke the test programs:
# <https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Runtime.html> # # <https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Runtime.html>
}; # };
firefox-extensions = prev.firefox-extensions.overrideScope' (self: super: { firefox-extensions = prev.firefox-extensions.overrideScope' (self: super: {
unwrapped = super.unwrapped // { unwrapped = super.unwrapped // {
@@ -319,16 +304,16 @@ in {
}); });
# 2023/07/31: upstreaming is blocked on ostree dep # 2023/07/31: upstreaming is blocked on ostree dep
flatpak = prev.flatpak.overrideAttrs (upstream: { # flatpak = prev.flatpak.overrideAttrs (upstream: {
# fixes "No package 'libxml-2.0' found" # # fixes "No package 'libxml-2.0' found"
buildInputs = upstream.buildInputs ++ [ final.libxml2 ]; # buildInputs = upstream.buildInputs ++ [ final.libxml2 ];
configureFlags = upstream.configureFlags ++ [ # configureFlags = upstream.configureFlags ++ [
"--enable-selinux-module=no" # fixes "checking for /usr/share/selinux/devel/Makefile... configure: error: cannot check for file existence when cross compiling" # "--enable-selinux-module=no" # fixes "checking for /usr/share/selinux/devel/Makefile... configure: error: cannot check for file existence when cross compiling"
"--disable-gtk-doc" # fixes "You must have gtk-doc >= 1.20 installed to build documentation for Flatpak" # "--disable-gtk-doc" # fixes "You must have gtk-doc >= 1.20 installed to build documentation for Flatpak"
]; # ];
}); # });
# TODO: use `buildRustPackage`? # future: use `buildRustPackage`?
# - find another rust package that uses a `-sys` crate (with a build script)? # - find another rust package that uses a `-sys` crate (with a build script)?
# - `halloy` uses openssl-sys (1 patch version ahead of fractal), builds # - `halloy` uses openssl-sys (1 patch version ahead of fractal), builds
# - uses `cargoBuildHook`, which sets the x86 CC # - uses `cargoBuildHook`, which sets the x86 CC
@@ -390,6 +375,7 @@ in {
# }); # });
# solves (meson) "Run-time dependency libgcab-1.0 found: NO (tried pkgconfig and cmake)", and others. # solves (meson) "Run-time dependency libgcab-1.0 found: NO (tried pkgconfig and cmake)", and others.
# 2023/07/31: upstreaming is blocked on argyllcms, fwupd-efi, libavif # 2023/07/31: upstreaming is blocked on argyllcms, fwupd-efi, libavif
# TODO: can i purge fwupd from my system?
fwupd = (addBuildInputs fwupd = (addBuildInputs
[ final.gcab ] [ final.gcab ]
(mvToBuildInputs [ final.gnutls ] prev.fwupd) (mvToBuildInputs [ final.gnutls ] prev.fwupd)
@@ -433,7 +419,7 @@ in {
# - that's an explicit choice/limitation in nixpkgs upstream # - that's an explicit choice/limitation in nixpkgs upstream
# - TODO: vapi stuff is contained in <dconf.dev:/share/vala/vapi/dconf.vapi> # - TODO: vapi stuff is contained in <dconf.dev:/share/vala/vapi/dconf.vapi>
# it's cross-platform; should be possible to ship dconf only in buildInputs & point dconf-editor to the right place # it's cross-platform; should be possible to ship dconf only in buildInputs & point dconf-editor to the right place
dconf-editor = addNativeInputs [ final.dconf ] super.dconf-editor; # dconf-editor = addNativeInputs [ final.dconf ] super.dconf-editor;
evince = super.evince.overrideAttrs (orig: { evince = super.evince.overrideAttrs (orig: {
# 2023/07/31: upstreaming is blocked on libavif # 2023/07/31: upstreaming is blocked on libavif
# fixes (meson) "Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)" # fixes (meson) "Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)"
@@ -469,20 +455,20 @@ in {
file-roller = mvToNativeInputs [ final.glib ] super.file-roller; file-roller = mvToNativeInputs [ final.glib ] super.file-roller;
# 2023/08/01: upstreaming is unblocked # 2023/08/01: upstreaming is unblocked
# fixes: "meson.build:75:6: ERROR: Program 'gtk-update-icon-cache' not found or not executable" # fixes: "meson.build:75:6: ERROR: Program 'gtk-update-icon-cache' not found or not executable"
gnome-clocks = addNativeInputs [ final.gtk4 ] super.gnome-clocks; # gnome-clocks = addNativeInputs [ final.gtk4 ] super.gnome-clocks;
# 2023/07/31: upstreaming is blocked on argyllcms, libavif # 2023/07/31: upstreaming is blocked on argyllcms, libavif
# fixes: "src/meson.build:3:0: ERROR: Program 'glib-compile-resources' not found or not executable" # fixes: "src/meson.build:3:0: ERROR: Program 'glib-compile-resources' not found or not executable"
gnome-color-manager = mvToNativeInputs [ final.glib ] super.gnome-color-manager; # gnome-color-manager = mvToNativeInputs [ final.glib ] super.gnome-color-manager;
# 2023/08/01: upstreaming is blocked by apache-httpd, argyllcms, ibus, libavif, webp-pixbuf-loader # 2023/08/01: upstreaming is blocked by apache-httpd, argyllcms, ibus, libavif, webp-pixbuf-loader
# fixes "subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable" # fixes "subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable"
gnome-control-center = mvToNativeInputs [ final.glib ] super.gnome-control-center; # gnome-control-center = mvToNativeInputs [ final.glib ] super.gnome-control-center;
gnome-keyring = super.gnome-keyring.overrideAttrs (orig: { gnome-keyring = super.gnome-keyring.overrideAttrs (orig: {
# 2023/07/31: upstreaming is unblocked, but requires a different fix # 2023/07/31: upstreaming is unblocked, but requires a different fix
# fixes "configure.ac:374: error: possibly undefined macro: AM_PATH_LIBGCRYPT" # fixes "configure.ac:374: error: possibly undefined macro: AM_PATH_LIBGCRYPT"
nativeBuildInputs = orig.nativeBuildInputs ++ [ final.libgcrypt final.openssh final.glib ]; nativeBuildInputs = orig.nativeBuildInputs ++ [ final.libgcrypt final.openssh final.glib ];
}); });
# fixes: "Program gdbus-codegen found: NO" # fixes: "Program gdbus-codegen found: NO"
gnome-remote-desktop = mvToNativeInputs [ final.glib ] super.gnome-remote-desktop; # gnome-remote-desktop = mvToNativeInputs [ final.glib ] super.gnome-remote-desktop;
# gnome-shell = super.gnome-shell.overrideAttrs (orig: { # gnome-shell = super.gnome-shell.overrideAttrs (orig: {
# # fixes "meson.build:128:0: ERROR: Program 'gjs' not found or not executable" # # fixes "meson.build:128:0: ERROR: Program 'gjs' not found or not executable"
# # does not fix "_giscanner.cpython-310-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory" (python import failure) # # does not fix "_giscanner.cpython-310-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory" (python import failure)
@@ -501,34 +487,30 @@ in {
# # "-Dgtk_doc=${lib.boolToString (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform)}" # # "-Dgtk_doc=${lib.boolToString (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform)}"
# # ]; # # ];
# }); # });
gnome-shell = super.gnome-shell.overrideAttrs (upstream: { # gnome-shell = super.gnome-shell.overrideAttrs (upstream: {
# 2023/08/01: upstreaming is blocked on argyllcms, gnome-keyring, gnome-clocks, ibus, libavif, webp-pixbuf-loader # # 2023/08/01: upstreaming is blocked on argyllcms, gnome-keyring, gnome-clocks, ibus, libavif, webp-pixbuf-loader
nativeBuildInputs = upstream.nativeBuildInputs ++ [ # nativeBuildInputs = upstream.nativeBuildInputs ++ [
final.gjs # fixes "meson.build:128:0: ERROR: Program 'gjs' not found or not executable" # final.gjs # fixes "meson.build:128:0: ERROR: Program 'gjs' not found or not executable"
final.buildPackages.gobject-introspection # fixes "shew| Build-time dependency gobject-introspection-1.0 found: NO" # final.buildPackages.gobject-introspection # fixes "shew| Build-time dependency gobject-introspection-1.0 found: NO"
]; # ];
buildInputs = lib.remove final.gobject-introspection upstream.buildInputs; # buildInputs = lib.remove final.gobject-introspection upstream.buildInputs;
# try to reduce gobject-introspection/shew dependencies # # try to reduce gobject-introspection/shew dependencies
# TODO: these likely aren't all necessary # # TODO: these likely aren't all necessary
mesonFlags = [ # mesonFlags = [
"-Dextensions_app=false" # "-Dextensions_app=false"
"-Dextensions_tool=false" # "-Dextensions_tool=false"
"-Dman=false" # "-Dman=false"
"-Dgtk_doc=false" # "-Dgtk_doc=false"
# fixes "src/st/meson.build:198:2: ERROR: Dependency "libmutter-test-12" not found, tried pkgconfig" # # fixes "src/st/meson.build:198:2: ERROR: Dependency "libmutter-test-12" not found, tried pkgconfig"
"-Dtests=false" # "-Dtests=false"
]; # ];
outputs = [ "out" "dev" ]; # outputs = [ "out" "dev" ];
postPatch = upstream.postPatch or "" + '' # postPatch = upstream.postPatch or "" + ''
# disable introspection for the gvc (libgnome-volume-control) subproject # # disable introspection for the gvc (libgnome-volume-control) subproject
# to remove its dependency on gobject-introspection # # to remove its dependency on gobject-introspection
sed -i s/introspection=true/introspection=false/ meson.build # sed -i s/introspection=true/introspection=false/ meson.build
sed -i 's/libgvc_gir/# libgvc_gir/' meson.build src/meson.build # sed -i 's/libgvc_gir/# libgvc_gir/' meson.build src/meson.build
''; # '';
});
# gnome-settings-daemon = super.gnome-settings-daemon.overrideAttrs (orig: {
# # does not fix original error
# nativeBuildInputs = orig.nativeBuildInputs ++ [ final.mesonEmulatorHook ];
# }); # });
gnome-settings-daemon = super.gnome-settings-daemon.overrideAttrs (orig: { gnome-settings-daemon = super.gnome-settings-daemon.overrideAttrs (orig: {
# 2023/07/31: upstreaming is blocked on argyllcms, libavif # 2023/07/31: upstreaming is blocked on argyllcms, libavif
@@ -545,15 +527,15 @@ in {
}); });
# 2023/08/01: upstreaming is blocked on argyllcms, gnome-keyring, gnome-clocks, ibus, libavif, webp-pixbuf-loader (gnome-shell) # 2023/08/01: upstreaming is blocked on argyllcms, gnome-keyring, gnome-clocks, ibus, libavif, webp-pixbuf-loader (gnome-shell)
# fixes: "gdbus-codegen not found or executable" # fixes: "gdbus-codegen not found or executable"
gnome-session = mvToNativeInputs [ final.glib ] super.gnome-session; # gnome-session = mvToNativeInputs [ final.glib ] super.gnome-session;
gnome-terminal = super.gnome-terminal.overrideAttrs (orig: { # gnome-terminal = super.gnome-terminal.overrideAttrs (orig: {
# 2023/07/31: upstreaming is blocked on argyllcms, apache-httpd, gnome-keyring, libavif, gnome-clocks, ibus, webp-pixbuf-loader # # 2023/07/31: upstreaming is blocked on argyllcms, apache-httpd, gnome-keyring, libavif, gnome-clocks, ibus, webp-pixbuf-loader
# fixes "meson.build:343:0: ERROR: Dependency "libpcre2-8" not found, tried pkgconfig" # # fixes "meson.build:343:0: ERROR: Dependency "libpcre2-8" not found, tried pkgconfig"
buildInputs = orig.buildInputs ++ [ final.pcre2 ]; # buildInputs = orig.buildInputs ++ [ final.pcre2 ];
}); # });
# 2023/07/31: upstreaming is blocked on apache-httpd # 2023/07/31: upstreaming is blocked on apache-httpd
# fixes: meson.build:111:6: ERROR: Program 'glib-compile-schemas' not found or not executable # fixes: meson.build:111:6: ERROR: Program 'glib-compile-schemas' not found or not executable
gnome-user-share = addNativeInputs [ final.glib ] super.gnome-user-share; # gnome-user-share = addNativeInputs [ final.glib ] super.gnome-user-share;
mutter = (super.mutter.overrideAttrs (orig: { mutter = (super.mutter.overrideAttrs (orig: {
# 2023/07/31: upstreaming is blocked on argyllcms, libavif # 2023/07/31: upstreaming is blocked on argyllcms, libavif
nativeBuildInputs = orig.nativeBuildInputs ++ [ nativeBuildInputs = orig.nativeBuildInputs ++ [
@@ -634,26 +616,12 @@ in {
buildInputs = upstream.buildInputs ++ [ final.libxml2 ]; buildInputs = upstream.buildInputs ++ [ final.libxml2 ];
}); });
haskell = prev.haskell // {
packageOverrides = self: super:
let
super' = super // (prev.haskell.packageOverrides self super);
in
{
xml-conduit = super'.xml-conduit.overrideAttrs (upstream: {
# fails even when compiles on build platform:
# - `nix build '.#host-pkgs.moby.buildPackages.haskellPackages.xml-conduit'`
doCheck = false;
});
};
};
# hdf5 = prev.hdf5.override { # hdf5 = prev.hdf5.override {
# inherit (emulated) stdenv; # inherit (emulated) stdenv;
# }; # };
# "setup: line 1595: ant: command not found" # "setup: line 1595: ant: command not found"
i2p = mvToNativeInputs [ final.ant final.gettext ] prev.i2p; # i2p = mvToNativeInputs [ final.ant final.gettext ] prev.i2p;
# ibus = (prev.ibus.override { # ibus = (prev.ibus.override {
# inherit (emulated) # inherit (emulated)
@@ -682,7 +650,7 @@ in {
# iio-sensor-proxy = addNativeInputs [ final.glib ] prev.iio-sensor-proxy; # iio-sensor-proxy = addNativeInputs [ final.glib ] prev.iio-sensor-proxy;
# fixes: "make: gcc: No such file or directory" # fixes: "make: gcc: No such file or directory"
java-service-wrapper = useEmulatedStdenv prev.java-service-wrapper; # java-service-wrapper = useEmulatedStdenv prev.java-service-wrapper;
# javaPackages = prev.javaPackages // { # javaPackages = prev.javaPackages // {
# compiler = prev.javaPackages.compiler // { # compiler = prev.javaPackages.compiler // {
@@ -891,11 +859,11 @@ in {
# fixes "properties/gresource.xml: Permission denied" # fixes "properties/gresource.xml: Permission denied"
# - by providing glib-compile-resources # - by providing glib-compile-resources
# 2023/07/31: upstreaming is blocked on libavif cross compilation # 2023/07/31: upstreaming is blocked on libavif cross compilation
networkmanager-openconnect = mvToNativeInputs [ final.glib ] prev.networkmanager-openconnect; # networkmanager-openconnect = mvToNativeInputs [ final.glib ] prev.networkmanager-openconnect;
# fixes "properties/gresource.xml: Permission denied" # fixes "properties/gresource.xml: Permission denied"
# - by providing glib-compile-resources # - by providing glib-compile-resources
# 2023/07/31: upstreaming is unblocked,implemented # 2023/07/31: upstreaming is unblocked,implemented
networkmanager-openvpn = mvToNativeInputs [ final.glib ] prev.networkmanager-openvpn; # networkmanager-openvpn = mvToNativeInputs [ final.glib ] prev.networkmanager-openvpn;
# 2023/07/31: upstreaming is unblocked,implemented # 2023/07/31: upstreaming is unblocked,implemented
# networkmanager-sstp = ( # networkmanager-sstp = (
# # fixes "gdbus-codegen: command not found" # # fixes "gdbus-codegen: command not found"
@@ -905,7 +873,7 @@ in {
# ) # )
# ); # );
# 2023/07/31: upstreaming is blocked on vpnc cross compilation # 2023/07/31: upstreaming is blocked on vpnc cross compilation
networkmanager-vpnc = mvToNativeInputs [ final.glib ] prev.networkmanager-vpnc; # networkmanager-vpnc = mvToNativeInputs [ final.glib ] prev.networkmanager-vpnc;
# fixes "properties/gresource.xml: Permission denied" # fixes "properties/gresource.xml: Permission denied"
# - by providing glib-compile-resources # - by providing glib-compile-resources
# 2023/07/27: upstreaming is blocked on p11-kit, coeurl cross compilation # 2023/07/27: upstreaming is blocked on p11-kit, coeurl cross compilation
@@ -922,38 +890,38 @@ in {
}); });
# 2023/08/02: upstreaming in PR: <https://github.com/NixOS/nixpkgs/pull/225111/files> # 2023/08/02: upstreaming in PR: <https://github.com/NixOS/nixpkgs/pull/225111/files>
# - needs (my) review # - needs (my) review
notmuch = prev.notmuch.overrideAttrs (upstream: { # notmuch = prev.notmuch.overrideAttrs (upstream: {
# fixes "Error: The dependencies of notmuch could not be satisfied" (xapian, gmime, glib, talloc) # # fixes "Error: The dependencies of notmuch could not be satisfied" (xapian, gmime, glib, talloc)
# when cross-compiling, we only have a triple-prefixed pkg-config which notmuch's configure script doesn't know how to find. # # when cross-compiling, we only have a triple-prefixed pkg-config which notmuch's configure script doesn't know how to find.
# so just replace these with the nix-supplied env-var which resolves to the relevant pkg-config. # # so just replace these with the nix-supplied env-var which resolves to the relevant pkg-config.
postPatch = upstream.postPatch or "" + '' # postPatch = upstream.postPatch or "" + ''
sed -i 's/pkg-config/\$PKG_CONFIG/g' configure # sed -i 's/pkg-config/\$PKG_CONFIG/g' configure
''; # '';
XAPIAN_CONFIG = final.buildPackages.writeShellScript "xapian-config" '' # XAPIAN_CONFIG = final.buildPackages.writeShellScript "xapian-config" ''
exec ${lib.getBin final.xapian}/bin/xapian-config $@ # exec ${lib.getBin final.xapian}/bin/xapian-config $@
''; # '';
# depsBuildBuild = [ final.gnupg ]; # # depsBuildBuild = [ final.gnupg ];
nativeBuildInputs = upstream.nativeBuildInputs ++ [ # nativeBuildInputs = upstream.nativeBuildInputs ++ [
final.gnupg # nixpkgs specifies gpg as a buildInput instead of a nativeBuildInput # final.gnupg # nixpkgs specifies gpg as a buildInput instead of a nativeBuildInput
final.perl # used to build manpages # final.perl # used to build manpages
# final.pythonPackages.python # # final.pythonPackages.python
# final.shared-mime-info # # final.shared-mime-info
]; # ];
buildInputs = with final; [ # buildInputs = with final; [
xapian gmime3 talloc zlib # dependencies described in INSTALL # xapian gmime3 talloc zlib # dependencies described in INSTALL
# perl # # perl
# pythonPackages.python # # pythonPackages.python
ruby # notmuch links against ruby.so # ruby # notmuch links against ruby.so
]; # ];
# buildInputs = # # buildInputs =
# (lib.remove # # (lib.remove
# final.perl # # final.perl
# (lib.remove # # (lib.remove
# final.gmime # # final.gmime
# (lib.remove final.gnupg upstream.buildInputs) # # (lib.remove final.gnupg upstream.buildInputs)
# ) # # )
# ) ++ [ final.gmime ]; # # ) ++ [ final.gmime ];
}); # });
# notmuch = prev.notmuch.overrideAttrs (upstream: { # notmuch = prev.notmuch.overrideAttrs (upstream: {
# # fixes "Error: The dependencies of notmuch could not be satisfied" (xapian, gmime, glib, talloc) # # fixes "Error: The dependencies of notmuch could not be satisfied" (xapian, gmime, glib, talloc)
# # when cross-compiling, we only have a triple-prefixed pkg-config which notmuch's configure script doesn't know how to find. # # when cross-compiling, we only have a triple-prefixed pkg-config which notmuch's configure script doesn't know how to find.
@@ -1033,34 +1001,26 @@ in {
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
(py-final: py-prev: { (py-final: py-prev: {
aiohttp = py-prev.aiohttp.overridePythonAttrs (orig: { # aiohttp = py-prev.aiohttp.overridePythonAttrs (orig: {
# fixes "ModuleNotFoundError: No module named 'setuptools'" # # fixes "ModuleNotFoundError: No module named 'setuptools'"
propagatedBuildInputs = orig.propagatedBuildInputs ++ [ # propagatedBuildInputs = orig.propagatedBuildInputs ++ [
py-final.setuptools # py-final.setuptools
]; # ];
}); # });
cryptography = py-prev.cryptography.override { cryptography = py-prev.cryptography.override {
inherit (emulated) cargo rustc rustPlatform; # "cargo:warning=aarch64-unknown-linux-gnu-gcc: error: unrecognized command-line option -m64" inherit (emulated) cargo rustc rustPlatform; # "cargo:warning=aarch64-unknown-linux-gnu-gcc: error: unrecognized command-line option -m64"
}; };
defcon = py-prev.defcon.overridePythonAttrs (orig: { # defcon = py-prev.defcon.overridePythonAttrs (orig: {
nativeBuildInputs = orig.nativeBuildInputs ++ orig.nativeCheckInputs; # nativeBuildInputs = orig.nativeBuildInputs ++ orig.nativeCheckInputs;
}); # });
executing = py-prev.executing.overridePythonAttrs (orig: { # executing = py-prev.executing.overridePythonAttrs (orig: {
# test has an assertion that < 1s of CPU time elapsed => flakey # # test has an assertion that < 1s of CPU time elapsed => flakey
disabledTestPaths = orig.disabledTestPaths or [] ++ [ # disabledTestPaths = orig.disabledTestPaths or [] ++ [
# "tests/test_main.py::TestStuff::test_many_source_for_filename_calls" # # "tests/test_main.py::TestStuff::test_many_source_for_filename_calls"
"tests/test_main.py" # "tests/test_main.py"
]; # ];
});
# gssapi = py-prev.gssapi.overridePythonAttrs (_orig: {
# # 2023/07/29: upstreaming is unblocked,implemented on servo pr/cross-2023-07-28 branch
# # "krb5-aarch64-unknown-linux-gnu-1.20.1/lib/libgssapi_krb5.so: cannot open shared object file"
# # setup.py only needs this to detect if kerberos was configured with gssapi support (not sure why it doesn't call krb5-config for that?)
# # it doesn't actually link or use anything from the build krb5 except a "canary" symobl.
# # GSSAPI_MAIN_LIB = "${final.buildPackages.krb5}/lib/libgssapi_krb5.so";
# env.GSSAPI_SUPPORT_DETECT = lib.boolToString (prev.stdenv.buildPlatform.canExecute prev.stdenv.hostPlatform);
# }); # });
# h5py = py-prev.h5py.overridePythonAttrs (orig: { # h5py = py-prev.h5py.overridePythonAttrs (orig: {
# # XXX: can't upstream until its dependency, hdf5, is fixed. that looks TRICKY. # # XXX: can't upstream until its dependency, hdf5, is fixed. that looks TRICKY.
@@ -1072,36 +1032,36 @@ in {
# buildInputs = []; # buildInputs = [];
# # HDF5_DIR = "${hdf5}"; # # HDF5_DIR = "${hdf5}";
# }); # });
ipython = py-prev.ipython.overridePythonAttrs (orig: { # ipython = py-prev.ipython.overridePythonAttrs (orig: {
# fixes "FAILED IPython/terminal/tests/test_debug_magic.py::test_debug_magic_passes_through_generators - pexpect.exceptions.TIMEOUT: Timeout exceeded." # # fixes "FAILED IPython/terminal/tests/test_debug_magic.py::test_debug_magic_passes_through_generators - pexpect.exceptions.TIMEOUT: Timeout exceeded."
disabledTests = orig.disabledTests ++ [ "test_debug_magic_passes_through_generator" ]; # disabledTests = orig.disabledTests ++ [ "test_debug_magic_passes_through_generator" ];
}); # });
mutatormath = py-prev.mutatormath.overridePythonAttrs (orig: { # mutatormath = py-prev.mutatormath.overridePythonAttrs (orig: {
nativeBuildInputs = orig.nativeBuildInputs or [] ++ orig.nativeCheckInputs; # nativeBuildInputs = orig.nativeBuildInputs or [] ++ orig.nativeCheckInputs;
}); # });
pandas = py-prev.pandas.overridePythonAttrs (orig: { # pandas = py-prev.pandas.overridePythonAttrs (orig: {
# XXX: we only actually need numpy when building in ~/nixpkgs repo: not sure why we need all the propagatedBuildInputs here. # # XXX: we only actually need numpy when building in ~/nixpkgs repo: not sure why we need all the propagatedBuildInputs here.
# nativeBuildInputs = orig.nativeBuildInputs ++ [ py-final.numpy ]; # # nativeBuildInputs = orig.nativeBuildInputs ++ [ py-final.numpy ];
nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs; # nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs;
}); # });
psycopg2 = py-prev.psycopg2.overridePythonAttrs (orig: { # psycopg2 = py-prev.psycopg2.overridePythonAttrs (orig: {
# TODO: upstream (see tracking issue) # # TODO: upstream (see tracking issue)
# # #
# psycopg2 *links* against libpg, so we need the host postgres available at build time! # # psycopg2 *links* against libpg, so we need the host postgres available at build time!
# present-day nixpkgs only includes it in nativeBuildInputs # # present-day nixpkgs only includes it in nativeBuildInputs
buildInputs = orig.buildInputs ++ [ final.postgresql ]; # buildInputs = orig.buildInputs ++ [ final.postgresql ];
}); # });
s3transfer = py-prev.s3transfer.overridePythonAttrs (orig: { # s3transfer = py-prev.s3transfer.overridePythonAttrs (orig: {
# tests explicitly expect host CPU == build CPU # # tests explicitly expect host CPU == build CPU
# Bail out! ERROR:../plugins/core.c:221:qemu_plugin_vcpu_init_hook: assertion failed: (success) # # Bail out! ERROR:../plugins/core.c:221:qemu_plugin_vcpu_init_hook: assertion failed: (success)
# Bail out! ERROR:../accel/tcg/cpu-exec.c:954:cpu_exec: assertion failed: (cpu == current_cpu) # # Bail out! ERROR:../accel/tcg/cpu-exec.c:954:cpu_exec: assertion failed: (cpu == current_cpu)
disabledTestPaths = orig.disabledTestPaths ++ [ # disabledTestPaths = orig.disabledTestPaths ++ [
# "tests/functional/test_processpool.py::TestProcessPoolDownloader::test_cleans_up_tempfile_on_failure" # # "tests/functional/test_processpool.py::TestProcessPoolDownloader::test_cleans_up_tempfile_on_failure"
"tests/functional/test_processpool.py" # "tests/functional/test_processpool.py"
# "tests/unit/test_compat.py::TestBaseManager::test_can_provide_signal_handler_initializers_to_start" # # "tests/unit/test_compat.py::TestBaseManager::test_can_provide_signal_handler_initializers_to_start"
"tests/unit/test_compat.py" # "tests/unit/test_compat.py"
]; # ];
}); # });
# scipy = py-prev.scipy.override { # scipy = py-prev.scipy.override {
# inherit (emulated) stdenv; # inherit (emulated) stdenv;
# }; # };
@@ -1423,18 +1383,18 @@ in {
# `ar` is provided by bintools # `ar` is provided by bintools
# 2023/07/27: upstreaming is blocked on p11-kit, gnustep cross compilation # 2023/07/27: upstreaming is blocked on p11-kit, gnustep cross compilation
unar = addNativeInputs [ final.bintools ] prev.unar; unar = addNativeInputs [ final.bintools ] prev.unar;
unixODBCDrivers = prev.unixODBCDrivers // { # unixODBCDrivers = prev.unixODBCDrivers // {
# TODO: should this package be deduped with toplevel psqlodbc in upstream nixpkgs? # # TODO: should this package be deduped with toplevel psqlodbc in upstream nixpkgs?
psql = prev.unixODBCDrivers.psql.overrideAttrs (_upstream: { # psql = prev.unixODBCDrivers.psql.overrideAttrs (_upstream: {
# XXX: these are both available as configureFlags, if we prefer that (we probably do, so as to make them available only during specific parts of the build). # # XXX: these are both available as configureFlags, if we prefer that (we probably do, so as to make them available only during specific parts of the build).
ODBC_CONFIG = final.buildPackages.writeShellScript "odbc_config" '' # ODBC_CONFIG = final.buildPackages.writeShellScript "odbc_config" ''
exec ${final.stdenv.hostPlatform.emulator final.buildPackages} ${final.unixODBC}/bin/odbc_config $@ # exec ${final.stdenv.hostPlatform.emulator final.buildPackages} ${final.unixODBC}/bin/odbc_config $@
''; # '';
PG_CONFIG = final.buildPackages.writeShellScript "pg_config" '' # PG_CONFIG = final.buildPackages.writeShellScript "pg_config" ''
exec ${final.stdenv.hostPlatform.emulator final.buildPackages} ${final.postgresql}/bin/pg_config $@ # exec ${final.stdenv.hostPlatform.emulator final.buildPackages} ${final.postgresql}/bin/pg_config $@
''; # '';
}); # });
}; # };
# 2023/07/31: upstreaming is unblocked,implemented # 2023/07/31: upstreaming is unblocked,implemented
# upower = prev.upower.overrideAttrs (upstream: { # upower = prev.upower.overrideAttrs (upstream: {
# # cross-compiled builds seem to not create the installedTest files # # cross-compiled builds seem to not create the installedTest files
@@ -1443,11 +1403,11 @@ in {
# postFixup = ""; # postFixup = "";
# }); # });
visidata = prev.visidata.override { # visidata = prev.visidata.override {
# hdf5 / h5py don't cross-compile, but i don't use that file format anyway. # # hdf5 / h5py don't cross-compile, but i don't use that file format anyway.
# setting this to null means visidata will work as normal but not be able to load hdf files. # # setting this to null means visidata will work as normal but not be able to load hdf files.
h5py = null; # h5py = null;
}; # };
# 2023/07/27: upstreaming is blocked on p11-kit, qtbase cross compilation # 2023/07/27: upstreaming is blocked on p11-kit, qtbase cross compilation
vlc = prev.vlc.overrideAttrs (orig: { vlc = prev.vlc.overrideAttrs (orig: {
# fixes: "configure: error: could not find the LUA byte compiler" # fixes: "configure: error: could not find the LUA byte compiler"
@@ -1474,11 +1434,11 @@ in {
# isGraphical = false; # isGraphical = false;
# # gtk3 = final.emptyDirectory; # # gtk3 = final.emptyDirectory;
# }; # };
xapian = prev.xapian.overrideAttrs (upstream: { # xapian = prev.xapian.overrideAttrs (upstream: {
# the output has #!/bin/sh scripts. # # the output has #!/bin/sh scripts.
# - shebangs get re-written on native build, but not cross build # # - shebangs get re-written on native build, but not cross build
buildInputs = upstream.buildInputs ++ [ final.bash ]; # buildInputs = upstream.buildInputs ++ [ final.bash ];
}); # });
# fixes "No package 'xdg-desktop-portal' found" # fixes "No package 'xdg-desktop-portal' found"
# 2023/07/27: upstreaming is blocked on p11-kit,argyllcms cross compilation # 2023/07/27: upstreaming is blocked on p11-kit,argyllcms cross compilation
xdg-desktop-portal-gtk = mvToBuildInputs [ final.xdg-desktop-portal ] prev.xdg-desktop-portal-gtk; xdg-desktop-portal-gtk = mvToBuildInputs [ final.xdg-desktop-portal ] prev.xdg-desktop-portal-gtk;