From fd58896c0cfb1d7eb6bee2da5c6171796ba3d957 Mon Sep 17 00:00:00 2001 From: Colin Date: Mon, 31 Jul 2023 00:03:21 +0000 Subject: [PATCH] cross: no longer emulate perl packages --- nixpatches/list.nix | 26 ++++++++++++++++++++++++++ overlays/cross.nix | 44 ++++++++++++++++++++++++++------------------ 2 files changed, 52 insertions(+), 18 deletions(-) diff --git a/nixpatches/list.nix b/nixpatches/list.nix index 6824f958..b17a0007 100644 --- a/nixpatches/list.nix +++ b/nixpatches/list.nix @@ -238,6 +238,32 @@ in [ hash = "sha256-jEQeGAcDGrv0TYouBTfn5ubWaosWg/ecmUW0ii1QIVs="; }) + (fetchpatch' { + title = "wvkbd: support cross compilation"; + saneCommit = "34379f5770662b483ab0cbe252cf23dd663d84dc"; + hash = "sha256-Duim5hPBtfGePBte29ZUtojyRAts9lQlbleUsTJNkwI="; + }) + (fetchpatch' { + title = "python310Packages.gssapi: support cross compilation"; + saneCommit = "4766ae46f863734fbe96dc4e537870b6b3894cf4"; + hash = "sha256-qCAJjPRoH8nvKzB+uwDQtGQbFfHS/MiY7m1J0BMl7tY="; + }) + (fetchpatch' { + title = "perlPackages.FileBaseDir: 0.08 -> 0.09"; + saneCommit = "acc990b04bbe8c99587eadccc65f100c326ec204"; + hash = "sha256-8s789GGARJH1i088OGBjGGnL2l5m8Q+iBPS213QsS6A="; + }) + (fetchpatch' { + title = "xdg-utils: enable cross compilation"; + saneCommit = "b7aa5e0c1ec06723cf1594de192703a65be21497"; + hash = "sha256-4iE2EDIe3nSkB8xFXucyCH7k2oiIoBiuYZYAtF31G38="; + }) + (fetchpatch' { + title = "perlPackages.TestFile: 1.443 -> 1.993"; + saneCommit = "6cf080fb51d034f9c2ddd60cef7dee7d041afd3e"; + hash = "sha256-fAZpduh3JZeFixJ4yX0wkh/GRp0gYKsTT+XkNdpK7CU="; + }) + # (fetchpatch' { # # N.B.: compiles, but runtime error on launch suggestive of some module not being shipped # title = "matrix-appservice-irc: 0.38.0 -> 1.0.0"; diff --git a/overlays/cross.nix b/overlays/cross.nix index fbed476f..e2e810bf 100644 --- a/overlays/cross.nix +++ b/overlays/cross.nix @@ -3,6 +3,14 @@ # - xdg-utils is blocked on perl5.36.0-Module-Build # - needed for File-BaseDir, used by File-MimeInfo # - File-BaseDir can be updated to v0.09, which cross compiles with ease +# +# perlInterpters: +# - Test-utf8 fails cross (wants Fcntl, for `flock` and `seek`) +# - (already on latest release; upstream is dead) +# - Test-File depends on Test-utf8 +# - on 1.443; 1.993 is out, NO LONGER USES Test-utf8 +# - File-Copy-Recursive depends on Test-File +# - used by imapsync? final: prev: let @@ -91,7 +99,7 @@ in { # libgccjit # "../../gcc-9.5.0/gcc/jit/jit-result.c:52:3: error: 'dlclose' was not declared in this scope" (needed by emacs!) # libsForQt5 # if we emulate qt5, we're better off emulating libsForQt5 else qt complains about multiple versions of qtbase mepo # /build/source/src/sdlshim.zig:1:20: error: C import failed - 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 ^) # qgnomeplatform # qtbase # qt5 # qt5.qtbase, qt5.qtx11extras fails, but we can't selectively emulate them. @@ -1022,14 +1030,14 @@ in { "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); - }); + # 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: { # # 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 @@ -1470,13 +1478,13 @@ in { }); # 2023/07/28: upstreaming is unblocked; implemented on servo pr/cross-2023-07-28 branch - wvkbd = ( - # "wayland-scanner: no such program" - mvToNativeInputs [ final.wayland-scanner ] prev.wvkbd - ).overrideAttrs (upstream: { - postPatch = upstream.postPatch or "" + '' - substituteInPlace Makefile \ - --replace "pkg-config" "$PKG_CONFIG" - ''; - }); + # wvkbd = ( + # # "wayland-scanner: no such program" + # mvToNativeInputs [ final.wayland-scanner ] prev.wvkbd + # ).overrideAttrs (upstream: { + # postPatch = upstream.postPatch or "" + '' + # substituteInPlace Makefile \ + # --replace "pkg-config" "$PKG_CONFIG" + # ''; + # }); }