cross.nix: doc improvements
This commit is contained in:
parent
0ee0b3c3bb
commit
8350386ea8
|
@ -1,10 +1,19 @@
|
||||||
# cross compiling
|
# cross compiling
|
||||||
|
#
|
||||||
|
# terminology:
|
||||||
|
# - buildPlatform is the machine on which a compiler is run.
|
||||||
|
# - hostPlatform is the machine on which a built package is run.
|
||||||
|
# - targetPlatform is used only by compilers which aren't multi-output.
|
||||||
|
# - specifies the platform for which a compiler will produce binaries after that compiler is built.
|
||||||
|
#
|
||||||
# - for edge-casey things, see in nixpkgs:
|
# - for edge-casey things, see in nixpkgs:
|
||||||
# - `git show da9a9a440415b236f22f57ba67a24ab3fb53f595`
|
# - `git show da9a9a440415b236f22f57ba67a24ab3fb53f595`
|
||||||
# - e.g. `mesonEmulatorHook`, `depsBuildBuild`, `python3.pythonForBuild`
|
# - e.g. `mesonEmulatorHook`, `depsBuildBuild`, `python3.pythonForBuild`
|
||||||
# - <doc/stdenv/cross-compilation.chapter.md>
|
# - <doc/stdenv/cross-compilation.chapter.md>
|
||||||
# - e.g. `makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];`
|
# - e.g. `makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];`
|
||||||
|
# - <nixpkgs:pkgs/development/libraries/gdk-pixbuf/default.nix>
|
||||||
|
# - `${stdenv.hostPlatform.emulator buildPackages} <command>`
|
||||||
|
# - to run code compiled for host platform
|
||||||
#
|
#
|
||||||
# build a particular package as evaluated here with:
|
# build a particular package as evaluated here with:
|
||||||
# - toplevel: `nix build '.#host-pkgs.moby-cross.xdg-utils'`
|
# - toplevel: `nix build '.#host-pkgs.moby-cross.xdg-utils'`
|
||||||
|
@ -43,12 +52,6 @@
|
||||||
# """
|
# """
|
||||||
|
|
||||||
# TODO:
|
# TODO:
|
||||||
# - ??.llvmPackages_14.llvm: "FAIL: LLVM-Unit :: ExecutionEngine/MCJIT/./MCJITTests/MCJITMultipleModuleTest.two_module_global_variables_case (43769 of 46988)"
|
|
||||||
# - nix log /nix/store/ib2yw6sajnhlmibxkrn7lj7chllbr85h-llvm-14.0.6.drv
|
|
||||||
# - wanted by clang-11-12-LLVMgold-path, compiler-rt-libc-12.0.1, clang-wrapper-12.0.1
|
|
||||||
# - ?..llvmPackages_12.llvm: "FAIL: LLVM-Unit :: ExecutionEngine/MCJIT/./MCJITTests/MCJITTest.return_global (2857 of 42084)"
|
|
||||||
# - nix log /nix/store/6vydavlxh1gvs0vmrkcx9qp67g3h7kcz-llvm-12.0.1.drv
|
|
||||||
# - wanted by sequoia, rav1e, rustc-1.66.1
|
|
||||||
# - `host-pkgs.desko.stdenv` fails build:
|
# - `host-pkgs.desko.stdenv` fails build:
|
||||||
# - #cross-compiling:nixos.org says pkgsCross.gnu64 IS KNOWN TO NOT COMPILE. let this go for now:
|
# - #cross-compiling:nixos.org says pkgsCross.gnu64 IS KNOWN TO NOT COMPILE. let this go for now:
|
||||||
# - make a `<machine>` (don't specifiy local/targetSystem) and `<machine>-cross` target.
|
# - make a `<machine>` (don't specifiy local/targetSystem) and `<machine>-cross` target.
|
||||||
|
@ -256,7 +259,7 @@ in
|
||||||
# hdf5 # configure: error: cannot run test program while cross compiling
|
# hdf5 # configure: error: cannot run test program while cross compiling
|
||||||
# http2
|
# http2
|
||||||
kitty # "FileNotFoundError: [Errno 2] No such file or directory: 'pkg-config'"
|
kitty # "FileNotFoundError: [Errno 2] No such file or directory: 'pkg-config'"
|
||||||
libgccjit # "../../gcc-9.5.0/gcc/jit/jit-result.c:52:3: error: 'dlclose' was not declared in this scope"
|
libgccjit # "../../gcc-9.5.0/gcc/jit/jit-result.c:52:3: error: 'dlclose' was not declared in this scope" (needed by emacs!)
|
||||||
# libsForQt5 # qtbase # make: g++: No such file or directory
|
# libsForQt5 # qtbase # make: g++: No such file or directory
|
||||||
libtiger # "src/tiger_internal.h:24:10: fatal error: pango/pango.h: No such file or directory"
|
libtiger # "src/tiger_internal.h:24:10: fatal error: pango/pango.h: No such file or directory"
|
||||||
# perlInterpreters # perl5.36.0-Module-Build perl5.36.0-Test-utf8 (see tracking issues ^)
|
# perlInterpreters # perl5.36.0-Module-Build perl5.36.0-Test-utf8 (see tracking issues ^)
|
||||||
|
@ -281,6 +284,7 @@ in
|
||||||
# mod_dnssd = prev.mod_dnssd.override {
|
# mod_dnssd = prev.mod_dnssd.override {
|
||||||
# inherit (emulated) stdenv;
|
# inherit (emulated) stdenv;
|
||||||
# };
|
# };
|
||||||
|
|
||||||
apacheHttpdPackagesFor = apacheHttpd: self:
|
apacheHttpdPackagesFor = apacheHttpd: self:
|
||||||
let
|
let
|
||||||
prevHttpdPkgs = prev.apacheHttpdPackagesFor apacheHttpd self;
|
prevHttpdPkgs = prev.apacheHttpdPackagesFor apacheHttpd self;
|
||||||
|
@ -290,6 +294,7 @@ in
|
||||||
inherit (emulated) stdenv;
|
inherit (emulated) stdenv;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# apacheHttpdPackagesFor = apacheHttpd: self:
|
# apacheHttpdPackagesFor = apacheHttpd: self:
|
||||||
# let
|
# let
|
||||||
# prevHttpdPkgs = lib.fix (emulated.apacheHttpdPackagesFor apacheHttpd);
|
# prevHttpdPkgs = lib.fix (emulated.apacheHttpdPackagesFor apacheHttpd);
|
||||||
|
@ -569,6 +574,7 @@ in
|
||||||
];
|
];
|
||||||
buildInputs = lib.remove next.gobject-introspection upstream.buildInputs;
|
buildInputs = lib.remove next.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
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
"-Dextensions_app=false"
|
"-Dextensions_app=false"
|
||||||
"-Dextensions_tool=false"
|
"-Dextensions_tool=false"
|
||||||
|
@ -658,7 +664,6 @@ in
|
||||||
gupnp_1_6 = prev.gupnp_1_6.overrideAttrs (orig: {
|
gupnp_1_6 = prev.gupnp_1_6.overrideAttrs (orig: {
|
||||||
# fixes "subprojects/gi-docgen/meson.build:10:0: ERROR: python3 not found"
|
# fixes "subprojects/gi-docgen/meson.build:10:0: ERROR: python3 not found"
|
||||||
# this patch is copied from the default gupnp.
|
# this patch is copied from the default gupnp.
|
||||||
# TODO: upstream
|
|
||||||
outputs = [ "out" "dev" ]
|
outputs = [ "out" "dev" ]
|
||||||
++ lib.optionals (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform) [ "devdoc" ];
|
++ lib.optionals (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform) [ "devdoc" ];
|
||||||
mesonFlags = [
|
mesonFlags = [
|
||||||
|
@ -975,7 +980,7 @@ in
|
||||||
inherit (emulated) stdenv;
|
inherit (emulated) stdenv;
|
||||||
};
|
};
|
||||||
pipewire = prev.pipewire.overrideAttrs (orig: {
|
pipewire = prev.pipewire.overrideAttrs (orig: {
|
||||||
# fix `spa/plugins/bluez5/meson.build:41:0: ERROR: Program 'gdbus-codegen' not found or not executable`
|
# fixes `spa/plugins/bluez5/meson.build:41:0: ERROR: Program 'gdbus-codegen' not found or not executable`
|
||||||
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib ];
|
nativeBuildInputs = orig.nativeBuildInputs ++ [ next.glib ];
|
||||||
});
|
});
|
||||||
psqlodbc = prev.psqlodbc.override {
|
psqlodbc = prev.psqlodbc.override {
|
||||||
|
@ -986,11 +991,9 @@ in
|
||||||
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||||
(py-next: py-prev: {
|
(py-next: py-prev: {
|
||||||
defcon = py-prev.defcon.overridePythonAttrs (orig: {
|
defcon = py-prev.defcon.overridePythonAttrs (orig: {
|
||||||
# TODO: diagnose and upstream
|
|
||||||
nativeBuildInputs = orig.nativeBuildInputs ++ orig.nativeCheckInputs;
|
nativeBuildInputs = orig.nativeBuildInputs ++ orig.nativeCheckInputs;
|
||||||
});
|
});
|
||||||
executing = py-prev.executing.overridePythonAttrs (orig: {
|
executing = py-prev.executing.overridePythonAttrs (orig: {
|
||||||
# TODO: confirm & upstream
|
|
||||||
# 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"
|
||||||
|
@ -1012,11 +1015,9 @@ in
|
||||||
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: {
|
||||||
# TODO: diagnose and upstream
|
|
||||||
nativeBuildInputs = orig.nativeBuildInputs or [] ++ orig.nativeCheckInputs;
|
nativeBuildInputs = orig.nativeBuildInputs or [] ++ orig.nativeCheckInputs;
|
||||||
});
|
});
|
||||||
pandas = py-prev.pandas.overridePythonAttrs (orig: {
|
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.
|
# 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 ++ [ py-next.numpy ];
|
||||||
nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs;
|
nativeBuildInputs = orig.nativeBuildInputs ++ orig.propagatedBuildInputs;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user