cross compilation fixes for previous nixpkgs update
This commit is contained in:
@@ -912,6 +912,16 @@ in {
|
|||||||
buildPackages.stdenv = emulated.stdenv; # it uses buildPackages.stdenv for HOST_CC
|
buildPackages.stdenv = emulated.stdenv; # it uses buildPackages.stdenv for HOST_CC
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
libavif = prev.libavif.overrideAttrs (upstream: {
|
||||||
|
# unique build failure encountered only when cross compiling WITH binfmt enabled.
|
||||||
|
# without binfmt it compiles fine.
|
||||||
|
postInstall = let
|
||||||
|
gdkPixbufModuleFile = "${placeholder "out"}/${final.gdk-pixbuf.binaryDir}/avif-loaders.cache";
|
||||||
|
in ''
|
||||||
|
GDK_PIXBUF_MODULE_FILE=${gdkPixbufModuleFile} \
|
||||||
|
gdk-pixbuf-query-loaders --update-cache
|
||||||
|
'';
|
||||||
|
});
|
||||||
# libgweather = rmNativeInputs [ final.glib ] (prev.libgweather.override {
|
# libgweather = rmNativeInputs [ final.glib ] (prev.libgweather.override {
|
||||||
# # alternative to emulating python3 is to specify it in `buildInputs` instead of `nativeBuildInputs` (upstream),
|
# # alternative to emulating python3 is to specify it in `buildInputs` instead of `nativeBuildInputs` (upstream),
|
||||||
# # but presumably that's just a different way to emulate it.
|
# # but presumably that's just a different way to emulate it.
|
||||||
@@ -1334,89 +1344,95 @@ in {
|
|||||||
# inherit (emulated) stdenv;
|
# inherit (emulated) stdenv;
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# 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
|
||||||
# # ];
|
# ];
|
||||||
# # });
|
# });
|
||||||
|
|
||||||
# # 2023/08/03: fix is in staging:
|
# 2023/08/03: fix is in staging:
|
||||||
# # - <https://github.com/NixOS/nixpkgs/pull/244135>
|
# - <https://github.com/NixOS/nixpkgs/pull/244135>
|
||||||
# # 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"
|
||||||
# # ];
|
# ];
|
||||||
# # });
|
# });
|
||||||
# # h5py = py-prev.h5py.overridePythonAttrs (orig: {
|
|
||||||
# # # XXX: can't upstream until its dependency, hdf5, is fixed. that looks TRICKY.
|
eyeD3 = py-prev.eyeD3.overrideAttrs (orig: {
|
||||||
# # # - the `setup_configure.py` in h5py tries to dlopen (and call into) the hdf5 lib to query the version and detect features like MPI
|
# weird double-wrapping of the output executable, but somehow with the build python ends up on PYTHONPATH
|
||||||
# # # - it could be patched with ~10 LoC in the HDF5LibWrapper class.
|
postInstall = "";
|
||||||
# # #
|
});
|
||||||
# # # expose numpy and hdf5 as available at build time
|
|
||||||
# # nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs ++ orig.buildInputs;
|
# h5py = py-prev.h5py.overridePythonAttrs (orig: {
|
||||||
# # buildInputs = [];
|
# # XXX: can't upstream until its dependency, hdf5, is fixed. that looks TRICKY.
|
||||||
# # # HDF5_DIR = "${hdf5}";
|
# # - 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.
|
||||||
# # 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."
|
# # expose numpy and hdf5 as available at build time
|
||||||
# # disabledTests = orig.disabledTests ++ [ "test_debug_magic_passes_through_generator" ];
|
# nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs ++ orig.buildInputs;
|
||||||
# # });
|
# buildInputs = [];
|
||||||
# # mutatormath = py-prev.mutatormath.overridePythonAttrs (orig: {
|
# # HDF5_DIR = "${hdf5}";
|
||||||
# # nativeBuildInputs = orig.nativeBuildInputs or [] ++ orig.nativeCheckInputs;
|
# });
|
||||||
# # });
|
# ipython = py-prev.ipython.overridePythonAttrs (orig: {
|
||||||
# # pandas = py-prev.pandas.overridePythonAttrs (orig: {
|
# # fixes "FAILED IPython/terminal/tests/test_debug_magic.py::test_debug_magic_passes_through_generators - pexpect.exceptions.TIMEOUT: Timeout exceeded."
|
||||||
# # # XXX: we only actually need numpy when building in ~/nixpkgs repo: not sure why we need all the propagatedBuildInputs here.
|
# disabledTests = orig.disabledTests ++ [ "test_debug_magic_passes_through_generator" ];
|
||||||
# # # nativeBuildInputs = orig.nativeBuildInputs ++ [ py-final.numpy ];
|
# });
|
||||||
# # nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs;
|
# mutatormath = py-prev.mutatormath.overridePythonAttrs (orig: {
|
||||||
# # });
|
# nativeBuildInputs = orig.nativeBuildInputs or [] ++ orig.nativeCheckInputs;
|
||||||
# # psycopg2 = py-prev.psycopg2.overridePythonAttrs (orig: {
|
# });
|
||||||
# # # TODO: upstream (see tracking issue)
|
# 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.
|
||||||
# # # psycopg2 *links* against libpg, so we need the host postgres available at build time!
|
# # nativeBuildInputs = orig.nativeBuildInputs ++ [ py-final.numpy ];
|
||||||
# # # present-day nixpkgs only includes it in nativeBuildInputs
|
# nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs;
|
||||||
# # buildInputs = orig.buildInputs ++ [ final.postgresql ];
|
# });
|
||||||
# # });
|
# psycopg2 = py-prev.psycopg2.overridePythonAttrs (orig: {
|
||||||
# # s3transfer = py-prev.s3transfer.overridePythonAttrs (orig: {
|
# # TODO: upstream (see tracking issue)
|
||||||
# # # tests explicitly expect host CPU == build CPU
|
# #
|
||||||
# # # Bail out! ERROR:../plugins/core.c:221:qemu_plugin_vcpu_init_hook: assertion failed: (success)
|
# # psycopg2 *links* against libpg, so we need the host postgres available at build time!
|
||||||
# # # Bail out! ERROR:../accel/tcg/cpu-exec.c:954:cpu_exec: assertion failed: (cpu == current_cpu)
|
# # present-day nixpkgs only includes it in nativeBuildInputs
|
||||||
# # disabledTestPaths = orig.disabledTestPaths ++ [
|
# buildInputs = orig.buildInputs ++ [ final.postgresql ];
|
||||||
# # # "tests/functional/test_processpool.py::TestProcessPoolDownloader::test_cleans_up_tempfile_on_failure"
|
# });
|
||||||
# # "tests/functional/test_processpool.py"
|
# s3transfer = py-prev.s3transfer.overridePythonAttrs (orig: {
|
||||||
# # # "tests/unit/test_compat.py::TestBaseManager::test_can_provide_signal_handler_initializers_to_start"
|
# # tests explicitly expect host CPU == build CPU
|
||||||
# # "tests/unit/test_compat.py"
|
# # 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 ++ [
|
||||||
# # scipy = py-prev.scipy.override {
|
# # "tests/functional/test_processpool.py::TestProcessPoolDownloader::test_cleans_up_tempfile_on_failure"
|
||||||
# # inherit (emulated) stdenv;
|
# "tests/functional/test_processpool.py"
|
||||||
# # };
|
# # "tests/unit/test_compat.py::TestBaseManager::test_can_provide_signal_handler_initializers_to_start"
|
||||||
# # scipy = py-prev.scipy.overridePythonAttrs (orig: {
|
# "tests/unit/test_compat.py"
|
||||||
# # # "/nix/store/yhz6yy9bp52x9fvcda4lr6kgsngxnv2l-python3.10-numpy-1.24.2/lib/python3.10/site-packages/numpy/core/include/../lib/libnpymath.a: error adding symbols: file in wrong format"
|
# ];
|
||||||
# # # mesonFlags = orig.mesonFlags or [] ++ [ "-Duse-pythran=false" ];
|
# });
|
||||||
# # # don't know how to plumb meson falgs through python apps
|
# scipy = py-prev.scipy.override {
|
||||||
# # # postPatch = orig.postPatch or "" + ''
|
# inherit (emulated) stdenv;
|
||||||
# # # sed -i "s/option('use-pythran', type: 'boolean', value: true,/option('use-pythran', type: 'boolean', value: false,/" meson_options.txt
|
# };
|
||||||
# # # '';
|
# scipy = py-prev.scipy.overridePythonAttrs (orig: {
|
||||||
# # SCIPY_USE_PYTHRAN = false;
|
# # "/nix/store/yhz6yy9bp52x9fvcda4lr6kgsngxnv2l-python3.10-numpy-1.24.2/lib/python3.10/site-packages/numpy/core/include/../lib/libnpymath.a: error adding symbols: file in wrong format"
|
||||||
# # nativeBuildInputs = lib.remove py-final.pythran orig.nativeBuildInputs;
|
# # mesonFlags = orig.mesonFlags or [] ++ [ "-Duse-pythran=false" ];
|
||||||
# # });
|
# # don't know how to plumb meson falgs through python apps
|
||||||
# # skia-pathops = ?
|
# # postPatch = orig.postPatch or "" + ''
|
||||||
# # it tries to call `cc` during the build, but can't find it.
|
# # sed -i "s/option('use-pythran', type: 'boolean', value: true,/option('use-pythran', type: 'boolean', value: false,/" meson_options.txt
|
||||||
# })
|
# # '';
|
||||||
# ];
|
# SCIPY_USE_PYTHRAN = false;
|
||||||
|
# nativeBuildInputs = lib.remove py-final.pythran orig.nativeBuildInputs;
|
||||||
|
# });
|
||||||
|
# skia-pathops = ?
|
||||||
|
# it tries to call `cc` during the build, but can't find it.
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
qt5 = let
|
qt5 = let
|
||||||
emulatedQt5 = prev.qt5.override {
|
emulatedQt5 = prev.qt5.override {
|
||||||
@@ -1907,6 +1923,7 @@ in {
|
|||||||
waybar = (prev.waybar.override {
|
waybar = (prev.waybar.override {
|
||||||
runTests = false;
|
runTests = false;
|
||||||
cavaSupport = false; # doesn't cross compile
|
cavaSupport = false; # doesn't cross compile
|
||||||
|
hyprlandSupport = false; # doesn't cross compile
|
||||||
# hopefully fixes: "/nix/store/sc1pz0zaqwpai24zh7xx0brjinflmc6v-aarch64-unknown-linux-gnu-binutils-2.40/bin/aarch64-unknown-linux-gnu-ld: /nix/store/ghxl1zrfnvh69dmv7xa1swcbyx06va4y-wayland-1.22.0/lib/libwayland-client.so: error adding symbols: file in wrong format"
|
# hopefully fixes: "/nix/store/sc1pz0zaqwpai24zh7xx0brjinflmc6v-aarch64-unknown-linux-gnu-binutils-2.40/bin/aarch64-unknown-linux-gnu-ld: /nix/store/ghxl1zrfnvh69dmv7xa1swcbyx06va4y-wayland-1.22.0/lib/libwayland-client.so: error adding symbols: file in wrong format"
|
||||||
wrapGAppsHook = final.wrapGAppsHook.override {
|
wrapGAppsHook = final.wrapGAppsHook.override {
|
||||||
isGraphical = false;
|
isGraphical = false;
|
||||||
|
Reference in New Issue
Block a user