cross packages: reduce the emulated package set
This commit is contained in:
parent
4a886b9e9b
commit
aad572a058
|
@ -1,3 +1,7 @@
|
||||||
|
# cross compiling
|
||||||
|
# - for edge-casey things (e.g. `mesonEmulatorHook`, `depsBuildBuild`), see in nixpkgs:
|
||||||
|
# `git show da9a9a440415b236f22f57ba67a24ab3fb53f595`
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -54,26 +58,26 @@ in
|
||||||
cantarell-fonts # python3.10-skia-pathops
|
cantarell-fonts # python3.10-skia-pathops
|
||||||
cdrtools
|
cdrtools
|
||||||
colord
|
colord
|
||||||
duplicity # python3.10-s3transfer
|
# duplicity # python3.10-s3transfer
|
||||||
evince
|
evince
|
||||||
flakpak
|
flakpak
|
||||||
fuzzel
|
fuzzel
|
||||||
fwupd-efi
|
fwupd-efi
|
||||||
fwupd
|
fwupd
|
||||||
gcr
|
gcr_4 # meson ERROR: Program 'gpg2 gpg' not found or not executable
|
||||||
gmime
|
gmime
|
||||||
# gnome-keyring
|
# gnome-keyring
|
||||||
# gnome-remote-desktop
|
# gnome-remote-desktop
|
||||||
gnome-tour
|
# gnome-tour
|
||||||
# gnustep-base # (used by unar)
|
gnustep # (gnustep.base is used by unar; can't override individual members)
|
||||||
gocryptfs # gocryptfs-2.3-go-modules
|
gocryptfs # gocryptfs-2.3-go-modules
|
||||||
# grpc
|
# grpc
|
||||||
gst_all_1 # gst_all_1.gst-editing-services
|
gst_all_1 # gst_all_1.gst-editing-services
|
||||||
gupnp
|
gupnp
|
||||||
gupnp_1_6
|
gupnp_1_6
|
||||||
# gvfs
|
# gvfs # meson.build:312:2: ERROR: Assert failed: http required but libxml-2.0 not found
|
||||||
flatpak
|
flatpak
|
||||||
hdf5
|
hdf5 # configure: error: cannot run test program while cross compiling
|
||||||
http2
|
http2
|
||||||
ibus
|
ibus
|
||||||
kitty
|
kitty
|
||||||
|
@ -91,9 +95,9 @@ in
|
||||||
ostree
|
ostree
|
||||||
pam_mount
|
pam_mount
|
||||||
perl # perl5.36.0-Test-utf8
|
perl # perl5.36.0-Test-utf8
|
||||||
pipewire
|
# pipewire
|
||||||
psqlodbc
|
psqlodbc
|
||||||
pulseaudio # python3.10-defcon
|
# pulseaudio # python3.10-defcon
|
||||||
# qgnomeplatform
|
# qgnomeplatform
|
||||||
# qtbase
|
# qtbase
|
||||||
qt6 # psqlodbc
|
qt6 # psqlodbc
|
||||||
|
@ -103,25 +107,88 @@ in
|
||||||
squeekboard
|
squeekboard
|
||||||
sysprof
|
sysprof
|
||||||
tracker-miners # it just can't run tests
|
tracker-miners # it just can't run tests
|
||||||
twitter-color-emoji # python3.10-defcon
|
# twitter-color-emoji # python3.10-defcon
|
||||||
unar # python3.10-psycopg2
|
unar # meson.build:52:2: ERROR: Program 'gpg2 gpg' not found or not executable
|
||||||
visidata # python3.10-psycopg2
|
visidata # python3.10-psycopg2 python3.10-pandas python3.10-h5py
|
||||||
vpnc
|
vpnc
|
||||||
webp-pixbuf-loader
|
webp-pixbuf-loader
|
||||||
xdg-utils # perl5.36.0-File-BaseDir
|
xdg-utils # perl5.36.0-File-BaseDir
|
||||||
;
|
;
|
||||||
# pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
pipewire = prev.pipewire.overrideAttrs (orig: {
|
||||||
# (py-next: py-prev: {
|
# fix `spa/plugins/bluez5/meson.build:41:0: ERROR: Program 'gdbus-codegen' not found or not executable`
|
||||||
# defcon = py-prev.defcon.override { inherit (prev.emulated) stdenv; };
|
nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.glib ];
|
||||||
# # psycopg2 = py-prev.psycopg2.override { inherit prev.emulated.stdenv; };
|
});
|
||||||
# })
|
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||||
# ];
|
(py-next: py-prev: {
|
||||||
|
defcon = py-prev.defcon.overridePythonAttrs (orig: {
|
||||||
|
# TODO: diagnose and upstream
|
||||||
|
nativeBuildInputs = orig.nativeBuildInputs ++ orig.nativeCheckInputs;
|
||||||
|
});
|
||||||
|
executing = py-prev.executing.overridePythonAttrs (orig: {
|
||||||
|
# TODO: confirm & upstream
|
||||||
|
# test has an assertion that < 1s of CPU time elapsed => flakey
|
||||||
|
disabledTestPaths = orig.disabledTestPaths or [] ++ [
|
||||||
|
# "tests/test_main.py::TestStuff::test_many_source_for_filename_calls"
|
||||||
|
"tests/test_main.py"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
# h5py = py-prev.h5py.overridePythonAttrs (orig: {
|
||||||
|
# # XXX: can't upstream until its dependency, hdf5, is fixed. that looks TRICKY.
|
||||||
|
# # - the `setup_configure.py` in h5py tries to dlopen (and call into) the hdf5 lib to query the version and detect features like MPI
|
||||||
|
# # - it could be patched with ~10 LoC in the HDF5LibWrapper class.
|
||||||
|
# #
|
||||||
|
# # expose numpy and hdf5 as available at build time
|
||||||
|
# nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs ++ orig.buildInputs;
|
||||||
|
# buildInputs = [];
|
||||||
|
# # HDF5_DIR = "${hdf5}";
|
||||||
|
# });
|
||||||
|
mutatormath = py-prev.mutatormath.overridePythonAttrs (orig: {
|
||||||
|
# TODO: diagnose and upstream
|
||||||
|
nativeBuildInputs = orig.nativeBuildInputs or [] ++ orig.nativeCheckInputs;
|
||||||
|
});
|
||||||
|
pandas = py-prev.pandas.overridePythonAttrs (orig: {
|
||||||
|
# TODO: upstream
|
||||||
|
# XXX: we only actually need numpy when building in ~/nixpkgs repo: not sure why we need all the propagatedBuildInputs here.
|
||||||
|
# nativeBuildInputs = orig.nativeBuildInputs ++ [ py-next.numpy ];
|
||||||
|
nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs;
|
||||||
|
});
|
||||||
|
psycopg2 = py-prev.psycopg2.overridePythonAttrs (orig: {
|
||||||
|
# TODO: upstream
|
||||||
|
# - see: <https://github.com/NixOS/nixpkgs/issues/210265>
|
||||||
|
# """
|
||||||
|
# i was able to just add `postgresql` to the `buildInputs` (so that it's in both `buildInputs` and `nativeBuildInputs`):
|
||||||
|
# it fixed the build for `pkgsCross.aarch64-multiplatform.python310Packages.psycopg2` but not for `armv7l-hf-multiplatform` that this issue description calls out.
|
||||||
|
#
|
||||||
|
# also i haven't deployed it yet to make sure this doesn't cause anything funky at runtime though.
|
||||||
|
# """
|
||||||
|
#
|
||||||
|
# psycopg2 *links* against libpg, so we need the host postgres available at build time!
|
||||||
|
# present-day nixpkgs only includes it in nativeBuildInputs
|
||||||
|
buildInputs = orig.buildInputs ++ [ next.postgresql ];
|
||||||
|
});
|
||||||
|
s3transfer = py-prev.s3transfer.overridePythonAttrs (orig: {
|
||||||
|
# TODO: this doesn't actually stop the unit tests from running!
|
||||||
|
# some (or all?) tests fail if the test runner isn't on the same platform as the host (?)
|
||||||
|
# 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)
|
||||||
|
disabledTestPaths = orig.disabledTestPaths ++ [
|
||||||
|
# "tests/functional/test_processpool.py::TestProcessPoolDownloader::test_cleans_up_tempfile_on_failure"
|
||||||
|
"tests/functional/test_processpool.py"
|
||||||
|
# "tests/unit/test_compat.py::TestBaseManager::test_can_provide_signal_handler_initializers_to_start"
|
||||||
|
"tests/unit/test_compat.py"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
# skia-pathops
|
||||||
|
# it tries to call `cc` during the build, but can't find it.
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
gnome = prev.gnome.overrideScope' (self: super: {
|
gnome = prev.gnome.overrideScope' (self: super: {
|
||||||
inherit (emulated.gnome)
|
inherit (emulated.gnome)
|
||||||
gnome-color-manager
|
gnome-color-manager
|
||||||
gnome-keyring
|
gnome-keyring
|
||||||
gnome-remote-desktop # TODO: figure out what's asking for this and remove it
|
# gnome-remote-desktop
|
||||||
|
gnome-settings-daemon # subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable
|
||||||
gnome-user-share
|
gnome-user-share
|
||||||
mutter
|
mutter
|
||||||
;
|
;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user