From ed2d4ef4880e4767690c8abf3482233e623123a0 Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 31 May 2024 08:02:25 +0000 Subject: [PATCH] overlays/cross: update upstreaming status --- overlays/cross.nix | 221 ++++++++++++--------------------------------- 1 file changed, 58 insertions(+), 163 deletions(-) diff --git a/overlays/cross.nix b/overlays/cross.nix index b7e0618c..f95c739c 100644 --- a/overlays/cross.nix +++ b/overlays/cross.nix @@ -80,21 +80,7 @@ let }; in with final; { - # adwaita-qt6 = prev.adwaita-qt6.override { - # # adwaita-qt6 still uses the qt5 version of these libs by default? - # inherit (qt6) qtbase qtwayland; - # }; - # qt6 doesn't cross compile. the only thing that wants it is phosh/gnome, in order to - # configure qt6 apps to look stylistically like gtk apps. - # adwaita-qt6 isn't an input into any other packages we build -- it's just placed on the systemPackages. - # so... just set it to null and that's Good Enough (TM). - # adwaita-qt6 = derivation { name = "null-derivation"; builder = "/dev/null"; }; # null; - # adwaita-qt6 = stdenv.mkDerivation { name = "null-derivation"; }; - # adwaita-qt6 = emptyDirectory; - # same story as adwaita-qt6 - # qgnomeplatform-qt6 = emptyDirectory; - - # 2024/02/27: upstreaming is unblocked (but this solution no longer works) + # 2024/05/31: upstreaming is unblocked (but this solution no longer works) # apacheHttpd_2_4 = prev.apacheHttpd_2_4.overrideAttrs (upstream: { # configureFlags = upstream.configureFlags or [] ++ [ # "ap_cv_void_ptr_lt_long=no" # configure can't AC_TRY_RUN, and can't validate that sizeof (void*) == sizeof long @@ -166,7 +152,7 @@ in with final; { mesonFlags = lib.remove "-Dgtk_doc=true" upstream.mesonFlags; }); - # 2024/02/27: upstreaming is unblocked + # 2024/05/31: upstreaming is unblocked # cdrtools = prev.cdrtools.overrideAttrs (upstream: { # # can't get it to actually use our CC, even when specifying these explicitly # # CC = "${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; @@ -175,7 +161,7 @@ in with final; { # ]; # }); - # 2024/02/27: upstreaming is blocked on appstream, qtsvg + # 2024/05/31: upstreaming is blocked by qtsvg, appstream # clapper = prev.clapper.overrideAttrs (upstream: { # # use the host gjs (meson's find_program expects it to be executable) # postPatch = (upstream.postPatch or "") + '' @@ -184,18 +170,7 @@ in with final; { # ''; # }); - # conky = (prev.conky.override { - # # docbook2x dependency doesn't cross compile - # docsSupport = prev.stdenv.buildPlatform.canExecute prev.stdenv.hostPlatform; - # }).overrideAttrs (upstream: { - # nativeBuildInputs = upstream.nativeBuildInputs ++ [ - # # "Unable to find program 'git'" - # git - # # "bash: line 1: toluapp: command not found" - # toluapp - # ]; - # }); - + # 2024/05/31: upstreaming is blocked by qtsvg, appstream delfin = prev.delfin.overrideAttrs (upstream: { nativeBuildInputs = upstream.nativeBuildInputs ++ [ # fixes: loaders/meson.build:72:7: ERROR: Program 'msgfmt' not found or not executable @@ -208,7 +183,7 @@ in with final; { ''; }); - # 2023/12/08: upstreaming blocked on qtsvg (pipewire) + # 2024/05/31: upstreaming is blocked by qtsvg, appstream dialect = prev.dialect.overrideAttrs (upstream: { # blueprint-compiler runs on the build machine, but tries to load gobject-introspection types meant for the host. postPatch = (upstream.postPatch or "") + '' @@ -234,7 +209,7 @@ in with final; { strictDeps = true; }); - # 2023/12/08: upstreaming is blocked on rpm + # 2024/05/31: upstreaming is blocked on rpm # dtrx = prev.dtrx.override { # # `binutils` is the nix wrapper, which reads nix-related env vars # # before passing on to e.g. `ld`. @@ -248,7 +223,7 @@ in with final; { # # # }; - # 2024/02/27: upstreaming is unblocked + # 2024/05/31: upstreaming is unblocked # firejail = prev.firejail.overrideAttrs (upstream: { # # firejail executes its build outputs to produce the default filter list. # # i think we *could* copy the default filters from pkgsBuildBuild, but that doesn't seem future proof @@ -262,6 +237,7 @@ in with final; { # ''); # }); + # 2024/05/31: upstreaming is blocked by qtsvg, appstream flare-signal = prev.flare-signal.overrideAttrs (upstream: { # blueprint-compiler runs on the build machine, but tries to load gobject-introspection types meant for the host. postPatch = (upstream.postPatch or "") + '' @@ -298,7 +274,7 @@ in with final; { ''; }); - # 2024/02/27: upstreaming is blocked on appstream + # 2024/05/31: upstreaming is blocked on appstream flatpak = prev.flatpak.overrideAttrs (upstream: { # fixes "No package 'libxml-2.0' found" buildInputs = upstream.buildInputs ++ [ libxml2 ]; @@ -322,6 +298,7 @@ in with final; { ''; }); + # 2024/05/31: upstreaming is blocked by qtsvg, appstream fractal = prev.fractal.overrideAttrs (upstream: { postPatch = (upstream.postPatch or "") + '' substituteInPlace src/meson.build \ @@ -330,18 +307,8 @@ in with final; { ''; }); - # 2024/02/27: upstreaming is unblocked -- if i can rework to not use emulation - # fwupd-efi = prev.fwupd-efi.overrideAttrs (upstream: { - # # does not fix: "efi/meson.build:162:0: ERROR: Program or command 'gcc' not found or not executable" - # makeFlags = upstream.makeFlags or [] ++ [ "CC=${prev.stdenv.cc.targetPrefix}cc" ]; - # # does not fix: "efi/meson.build:162:0: ERROR: Program or command 'gcc' not found or not executable" - - # # nativeBuildInputs = upstream.nativeBuildInputs ++ lib.optionals (!prev.stdenv.buildPlatform.canExecute prev.stdenv.hostPlatform) [ - # # mesonEmulatorHook - # # ]; - # }); # solves (meson) "Run-time dependency libgcab-1.0 found: NO (tried pkgconfig and cmake)", and others. - # 2024/02/27: upstreaming is blocked on fwupd-efi + # 2024/05/31: upstreaming is unblocked # fwupd = (addBuildInputs # [ gcab ] # (mvToBuildInputs [ gnutls ] prev.fwupd) @@ -353,7 +320,7 @@ in with final; { # outputs = lib.remove "devdoc" upstream.outputs; # }); - # 2024/02/27: upstreaming is blocked on qtsvg (via pipewire) + # 2024/05/31: upstreaming is blocked on qtsvg (via pipewire) # required by epiphany, gnome-settings-daemon # N.B.: should be able to remove gnupg/ssh from {native}buildInputs when upstreaming gcr_4 = prev.gcr_4.overrideAttrs (upstream: { @@ -362,15 +329,8 @@ in with final; { "-Dgpg_path=${gnupg}/bin/gpg" ]; }); - # 2023/10/23: upstreaming: - # gcr = prev.gcr.overrideAttrs (upstream: { - # # removes build platform's gnupg from runtime closure - # mesonFlags = (upstream.mesonFlags or []) ++ [ - # "-Dgpg_path=${gnupg}/bin/gpg" - # ]; - # }); - # 2024/02/27: upstreaming is unblocked + # 2024/05/31: upstreaming is unblocked glycin-loaders = prev.glycin-loaders.overrideAttrs (upstream: { nativeBuildInputs = upstream.nativeBuildInputs ++ [ # fixes: loaders/meson.build:72:7: ERROR: Program 'msgfmt' not found or not executable @@ -392,10 +352,8 @@ in with final; { # buildInputs = (upstream.buildInputs or []) ++ [ prev.pkg-config ]; # }); # }); - # 2023/12/20: upstreaming is blocked on webp-pixbuf-loader - # gthumb = mvInputs { nativeBuildInputs = [ glib ]; } prev.gthumb; - # 2023/12/20: upstreaming is blocked on qtsvg (via pipewire) + # 2024/05/31: upstreaming is blocked on appstream, qtx11extras (via zbar) gnome-frog = prev.gnome-frog.overrideAttrs (upstream: { # blueprint-compiler runs on the build machine, but tries to load gobject-introspection types meant for the host. postPatch = (upstream.postPatch or "") + '' @@ -414,12 +372,12 @@ in with final; { }); # 2024/05/08: fix: "meson.build:85:11: ERROR: Dependency "dbus-1" not found, tried pkgconfig". - # 2024/05/13: upstreaming is bloked by dbus-python (fixed in staging), appstream (out for PR) + # 2024/05/31: upstreaming is blocked by qtsvg, appstream gnome-online-accounts = mvToBuildInputs [ dbus ] prev.gnome-online-accounts; gnome = prev.gnome.overrideScope (self: super: { evolution-data-server = super.evolution-data-server.overrideAttrs (upstream: { - # 2024/05/13: upstreaming is blocked by appstream (out for PR), libgweather (out for PR) + # 2024/05/31: upstreaming is blocked by appstream (out for PR), libgweather (out for PR) cmakeFlags = upstream.cmakeFlags ++ [ "-DCMAKE_CROSSCOMPILING_EMULATOR=${stdenv.hostPlatform.emulator buildPackages}" "-DENABLE_TESTS=no" @@ -451,11 +409,11 @@ in with final; { # ]; }); - # 2023/08/01: upstreaming is blocked on nautilus, gnome-user-share (apache-httpd, webp-pixbuf-loader) + # 2024/05/31: upstreaming is blocked on appstream (out for review), gnome-user-share (apache-httpd, webp-pixbuf-loader), qtsvg # fixes: "src/meson.build:106:0: ERROR: Program 'glib-compile-resources' not found or not executable" file-roller = mvToNativeInputs [ glib ] super.file-roller; - # 2023/12/08: upstreaming is blocked by evolution-data-server + # 2024/05/31: upstreaming is blocked by qtsvg, appstream (out for review), libgweather (out for review) geary = super.geary.overrideAttrs (upstream: { buildInputs = upstream.buildInputs ++ [ # glib @@ -464,23 +422,16 @@ in with final; { ]; }); - # 2024/02/27: upstreaming is unblocked + # 2024/05/31: upstreaming is unblocked # fixes: "src/meson.build:3:0: ERROR: Program 'glib-compile-resources' not found or not executable" # gnome-color-manager = mvToNativeInputs [ glib ] super.gnome-color-manager; - # 2023/08/01: upstreaming is blocked by apache-httpd, argyllcms, ibus, libavif, webp-pixbuf-loader + # 2024/05/31: upstreaming is blocked by a LOT: qtbase, qtsvg, webp-pixbuf-loader, libgweather, gnome-color-manager, appstream, apache-httpd, ibus # fixes "subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable" # gnome-control-center = mvToNativeInputs [ glib ] super.gnome-control-center; - # gnome-keyring = super.gnome-keyring.overrideAttrs (orig: { - # # 2024/02/27: upstreaming is unblocked; implemented but not for PR - # # - - # # this seems to work in practice, but leaves gkr with a reference to the build openssl, sqlite, xz, libxcrypt, glibc - # # fixes "configure.ac:374: error: possibly undefined macro: AM_PATH_LIBGCRYPT" - # nativeBuildInputs = orig.nativeBuildInputs ++ [ libgcrypt openssh glib ]; - # }); gnome-maps = super.gnome-maps.overrideAttrs (upstream: { - # 2023/11/21: upstreaming is blocked by libshumate, qtsvg (via pipewire/ffado) + # 2024/05/31: upstreaming is blocked by libgweather, appstream, qtsvg (via pipewire/ffado) postPatch = (upstream.postPatch or "") + '' # fixes: "ERROR: Program 'gjs' not found or not executable" substituteInPlace meson.build \ @@ -509,13 +460,13 @@ in with final; { # # ]; # }); # gnome-shell = super.gnome-shell.overrideAttrs (upstream: { - # # 2023/08/01: upstreaming is blocked on argyllcms, gnome-keyring, gnome-clocks, ibus, libavif, webp-pixbuf-loader + # # 2024/05/31: upstreaming is blocked on qtsvg, appstream, webp-pixbuf-loader, libgweather, ibus # nativeBuildInputs = upstream.nativeBuildInputs ++ [ # gjs # fixes "meson.build:128:0: ERROR: Program 'gjs' not found or not executable" # ]; # }); gnome-settings-daemon = super.gnome-settings-daemon.overrideAttrs (orig: { - # 2024/02/27: upstreaming is blocked on qtsvg (ffado) + # 2024/05/31: upstreaming is blocked on qtsvg (ffado), libgweather # gsd is required by xdg-desktop-portal-gtk # glib solves: "Program 'glib-mkenums mkenums' not found or not executable" nativeBuildInputs = orig.nativeBuildInputs ++ [ glib ]; @@ -567,6 +518,7 @@ in with final; { }); # gnome2 = prev.gnome2.overrideScope (self: super: { + # # 2024/05/31: upstreaming is unblocked # # GConf = ( # # # python3 -> nativeBuildInputs fixes "2to3: command not found" # # # glib.dev in nativeBuildInputs fixes "gconfmarshal.list: command not found" @@ -576,7 +528,8 @@ in with final; { # # (mvToNativeInputs [ python3 ] super.GConf); # # ); # # avoid gconf. last release was 2013: it's dead. - + # + # # 2024/05/31: upstreaming is blocked on gconf # # gnome_vfs = ( # # # fixes: "configure: error: gconftool-2 executable not found in your path - should be installed with GConf" # # # new error: "configure: error: cannot run test program while cross compiling" @@ -594,16 +547,17 @@ in with final; { # ''; # }); + # 2024/05/31: upstreaming is unblocked # hyprland = mvToNativeInputs [ hwdata ] prev.hyprland; # hyprland = prev.hyprland.overrideAttrs (_: { # depsBuildBuild = [ pkg-config ]; # }); - # 2024/02/27: upstreaming is blocked on gconf + # 2024/05/31: upstreaming is blocked on gconf # "setup: line 1595: ant: command not found" # i2p = mvToNativeInputs [ ant gettext ] prev.i2p; - # 2024/02/27: upstreaming is unblocked (see `pkgs/patched/ibus`) + # 2024/05/31: upstreaming is unblocked (see `pkgs/patched/ibus`) # ibus = prev.ibus.overrideAttrs (upstream: { # nativeBuildInputs = upstream.nativeBuildInputs or [] ++ [ # glib # fixes: ImportError: /nix/store/fi1rsalr11xg00dqwgzbf91jpl3zwygi-gobject-introspection-aarch64-unknown-linux-gnu-1.74.0/lib/gobject-introspection/giscanner/_giscanner.cpython-310-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory @@ -614,7 +568,7 @@ in with final; { # ]; # }); - # 2023/12/08: upstreaming is blocked on qtsvg + # 2024/05/31: upstreaming is blocked on appstream, qtsvg, lua, unicode-collation, etc iotas = prev.iotas.overrideAttrs (_: { # error: " is not allowed to refer to the following paths: " # disallowedReferences = []; @@ -625,23 +579,6 @@ in with final; { ''; }); - # javaPackages = prev.javaPackages // { - # compiler = prev.javaPackages.compiler // { - # # openjdk19 = ( - # # # fixes "configure: error: Could not find required tool for ZIPEXE" - # # # new failure: "checking for cc... [not found]" - # # (mvToNativeInputs - # # [ zip ] - # # prev.javaPackages.compiler.openjdk19 - # # ).overrideAttrs (_upstream: { - # # # avoid building `support/demos`, which segfaults - # # buildFlags = [ "product-images" ]; - # # doCheck = false; # pre-emptive - # # }) - # # ); - # }; - # }; - # jellyfin-media-player = mvToBuildInputs # [ libsForQt5.wrapQtAppsHook ] # this shouldn't be: but otherwise we get mixed qtbase deps # (prev.jellyfin-media-player.overrideAttrs (upstream: { @@ -659,7 +596,7 @@ in with final; { # nativeBuildInputs = lib.remove [ qt6.wrapQtAppsHook ] upstream.nativeBuildInputs; # }); - # 2023/12/08: upstreaming is blocked by qtsvg (pipewire) + # 2024/05/31: upstreaming is blocked by qtsvg, appstream komikku = prev.komikku.overrideAttrs (upstream: { # blueprint-compiler runs on the build machine, but tries to load gobject-introspection types meant for the host. postPatch = (upstream.postPatch or "") + '' @@ -701,14 +638,6 @@ in with final; { } ); - # 2024/02/27: upstreaming is unblocked - # out for PR: - # fixes "proto/meson.build:17:15: ERROR: Failed running '/nix/store/sx2814jd7xim65qbiqry94vkq2b4xv5b-python3-aarch64-unknown-linux-gnu-3.11.7-env/bin/python3', binary or interpreter not executable." - # source runs python during build only as a sanity check: we could instead disable that. - # this library is probably only used by xwayland: - # it's a dependency of waybar (via sway), but doesn't actually occur in the output! - # libei = prev.libei.override { python3 = buildPackages.python3; }; - # libgweather = prev.libgweather.overrideAttrs (upstream: { # nativeBuildInputs = (lib.remove gobject-introspection upstream.nativeBuildInputs) ++ [ # buildPackages.gobject-introspection # fails to fix "gi._error.GError: g-invoke-error-quark: Could not locate g_option_error_quark: /nix/store/dsx6kqmyg7f3dz9hwhz7m3jrac4vn3pc-glib-aarch64-unknown-linux-gnu-2.74.3/lib/libglib-2.0.so.0" @@ -740,7 +669,7 @@ in with final; { # ''; # }); - # 2024/02/27: upstreaming is blocked on appstream + # 2024/05/31: upstreaming is blocked on appstream # libpanel = prev.libpanel.overrideAttrs (upstream: { # doCheck = false; # # depsBuildBuild = (upstream.depsBuildBuild or []) ++ [ @@ -758,12 +687,6 @@ in with final; { # }); # libsForQt5 = prev.libsForQt5.overrideScope (self: super: { - # qgpgme = super.qgpgme.overrideAttrs (orig: { - # # fix so it can find the MOC compiler - # # it looks like it might not *need* to propagate qtbase, but so far unclear - # nativeBuildInputs = orig.nativeBuildInputs ++ [ self.qtbase ]; - # propagatedBuildInputs = lib.remove self.qtbase orig.propagatedBuildInputs; - # }); # phonon = super.phonon.overrideAttrs (orig: { # # fixes "ECM (required version >= 5.60), Extra CMake Modules" # buildInputs = orig.buildInputs ++ [ extra-cmake-modules ]; @@ -802,16 +725,7 @@ in with final; { # ]; # }); - # 2024/02/27: upstreaming is unblocked, out for PR: - # but i don't think either the pkg-config fix (which breaks binfmt cross) nor disabling docs is the right fix. - # libshumate = prev.libshumate.overrideAttrs (upstream: { - # # fixes "Build-time dependency gi-docgen found: NO (tried pkgconfig and cmake)" - # mesonFlags = (upstream.mesonFlags or []) ++ [ "-Dgtk_doc=false" ]; - # # alternative partial fix, but then it tries to link against the build glib - # # depsBuildBuild = (upstream.depsBuildBuild or []) ++ [ pkg-config ]; - # }); - - # 2023/12/19: upstreaming blocked on glycin-loaders + # 2024/05/31: upstreaming blocked on qtsvg, libgweather, appstream, glycin-loaders loupe = prev.loupe.overrideAttrs (upstream: { postPatch = (upstream.postPatch or "") + '' substituteInPlace src/meson.build \ @@ -820,6 +734,7 @@ in with final; { ''; }); + # 2024/05/31: upstreaming blocked on qtsvg, appstream, maybe others mepo = (prev.mepo.override { # nixpkgs mepo correctly puts `zig_0_11.hook` in nativeBuildInputs, # but for some reason that tries to use the host zig instead of the build zig. @@ -857,7 +772,7 @@ in with final; { # fixes: "ar: command not found" # `ar` is provided by bintools - # 2023/07/27: upstreaming is unblocked by deps; but turns out to not be this simple + # 2024/05/31: upstreaming is unblocked by deps; but turns out to not be this simple ncftp = addNativeInputs [ bintools ] prev.ncftp; # fixes "gdbus-codegen: command not found" # 2023/07/31: upstreaming is blocked on p11-kit, openfortivpn, qttranslations (qtbase) cross compilation @@ -878,7 +793,7 @@ in with final; { # fixes "gdbus-codegen: command not found" # fixes "gtk4-builder-tool: command not found" - # 2023/07/31: upstreaming is unblocked,implemented + # 2024/05/31: upstreaming is blocked on qtsvg # networkmanager-l2tp = addNativeInputs [ gtk4 ] # (mvToNativeInputs [ glib ] prev.networkmanager-l2tp); # fixes "properties/gresource.xml: Permission denied" @@ -901,7 +816,7 @@ in with final; { # networkmanager-vpnc = mvToNativeInputs [ glib ] prev.networkmanager-vpnc; # fixes "properties/gresource.xml: Permission denied" # - by providing glib-compile-resources - # 2023/07/27: upstreaming is blocked on p11-kit, coeurl cross compilation + # 2024/05/31: upstreaming is blocked on qtsvg, qtimageformats, qtx11extras # nheko = (prev.nheko.override { # gst_all_1 = gst_all_1 // { # # don't build gst-plugins-good with "qt5 support" @@ -913,8 +828,8 @@ in with final; { # # fixes "fatal error: lmdb++.h: No such file or directory # buildInputs = orig.buildInputs ++ [ lmdbxx ]; # }); - # 2023/08/02: upstreaming in PR: - # - needs (my) review + # 2024/05/31: upstreaming blocked on emacs (and maybe ruby, libgccjit?) + # - previous upstreaming attemt: # notmuch = prev.notmuch.overrideAttrs (upstream: { # # 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. @@ -969,7 +884,7 @@ in with final; { # }); # fixes (meson) "Program 'glib-mkenums mkenums' not found or not executable" - # 2023/07/27: upstreaming is blocked on p11-kit, argyllcms, libavif cross compilation + # 2024/05/31: upstreaming is blocked on appstream, libgweather, qtsvg # phoc = mvToNativeInputs [ wayland-scanner glib ] prev.phoc; # phosh = prev.phosh.overrideAttrs (upstream: { # buildInputs = upstream.buildInputs ++ [ @@ -982,6 +897,7 @@ in with final; { # # sed -i 's:gio_querymodules = :gio_querymodules = "${buildPackages.glib.dev}/bin/gio-querymodules" if True else :' build-aux/post_install.py # # ''; # }); + # 2024/05/31: upstreaming is blocked on qtsvg, libgweather, webp-pixbuf-loader, appstream, gnome-color-manager, apache-httpd, ibus, freerdp (mostly gnome-shell i think) # phosh-mobile-settings = mvInputs { # # fixes "meson.build:26:0: ERROR: Dependency "phosh-plugins" not found, tried pkgconfig" # # phosh is used only for its plugins; these are specified as a runtime dep in src. @@ -995,13 +911,7 @@ in with final; { # ]; # } prev.phosh-mobile-settings; - # pipewire = prev.pipewire.override { - # # avoid a dep on python3.10-PyQt5, which has mixed qt5 versions. - # # this means we lose firewire support (oh well..?) - # ffadoSupport = false; - # }; - - # 2023/12/13: upstreaming is blocked by qtsvg (via pipewire) + # 2024/05/31: upstreaming is blocked on qtsvg, appstream pwvucontrol = prev.pwvucontrol.overrideAttrs (upstream: let rustTargetPlatform = rust.toRustTarget stdenv.hostPlatform; @@ -1116,7 +1026,7 @@ in with final; { # }); # }); - # 2023/07/30: upstreaming requires some changes, as configure tries to invoke our `python` + # 2024/05/31: upstreaming is unblocked; requires some changes, as configure tries to invoke our `python` # implemented (broken) on servo cross-staging-2023-07-30 branch # rpm = prev.rpm.overrideAttrs (upstream: { # # fixes "python too old". might also be specifiable as a configure flag? @@ -1127,17 +1037,7 @@ in with final; { # }; # }); - # samba = prev.samba.overrideAttrs (_upstream: { - # # we get "cannot find C preprocessor: aarch64-unknown-linux-gnu-cpp", but ONLY when building with the ccache stdenv. - # # this solves that, but `CPP` must be a *single* path -- not an expression. - # # i do not understand how the original error arises, as my ccacheStdenv should match the API of the base stdenv (except for cpp being a symlink??). - # # but oh well, this fixes it. - # CPP = buildPackages.writeShellScript "cpp" '' - # exec ${lib.getBin stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc -E $@; - # ''; - # }); - - + # 2024/05/31: upstreaming is blocked by qtsvg, appstream snapshot = prev.snapshot.overrideAttrs (upstream: { # fixes "error: linker `cc` not found" postPatch = (upstream.postPatch or "") + '' @@ -1147,7 +1047,7 @@ in with final; { ''; }); - # 2023/12/19: upstreaming is blocked by qtsvg (via pipewire) + # 2024/05/31: upstreaming is blocked by qtsvg, appstream spot = prev.spot.overrideAttrs (upstream: let rustTargetPlatform = rust.toRustTarget stdenv.hostPlatform; @@ -1181,6 +1081,7 @@ in with final; { } ); + # 2024/05/31: upstreaming is unblocked # squeekboard = prev.squeekboard.overrideAttrs (upstream: { # # fixes: "meson.build:1:0: ERROR: 'rust' compiler binary not defined in cross or native file" # # new error: "meson.build:1:0: ERROR: Rust compiler rustc --target aarch64-unknown-linux-gnu -C linker=aarch64-unknown-linux-gnu-gcc can not compile programs." @@ -1224,7 +1125,7 @@ in with final; { # ]; # }); - # 2023/12/08: upstreaming is blocked by qtsvg (via pipewire) + # 2024/05/31: upstreaming is blocked by qtsvg, appstream tangram = prev.tangram.overrideAttrs (upstream: { # blueprint-compiler runs on the build machine, but tries to load gobject-introspection types meant for the host. # additionally, gsjpack has a shebang for the host gjs. patchShebangs --build doesn't fix that: just manually specify the build gjs @@ -1245,7 +1146,7 @@ in with final; { # fixes: "ar: command not found" # `ar` is provided by bintools - # 2024/02/27: upstreaming is blocked on gnustep-base cross compilation + # 2024/05/31: upstreaming is blocked on gnustep-base cross compilation unar = addNativeInputs [ bintools ] prev.unar; # unixODBCDrivers = prev.unixODBCDrivers // { # # TODO: should this package be deduped with toplevel psqlodbc in upstream nixpkgs? @@ -1260,6 +1161,8 @@ in with final; { # }); # }; + # 2024/05/31: upstreaming is unblocked + # - problem is fixed in a newer version of the package anyway, just needs updating (repo migration) # fixes: "Run-time dependency scdoc found: NO (tried pkgconfig)" unl0kr = prev.unl0kr.overrideAttrs (upstream: { postPatch = (upstream.postPatch or "") + '' @@ -1269,13 +1172,14 @@ in with final; { ''; }); + # 2024/05/31: upstreaming is blocked on hdf5, thrift, others # visidata = prev.visidata.override { # # 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. # h5py = null; # }; + # 2024/05/31: upstreaming is blocked on qtsvg, qtx11extras # vlc = prev.vlc.overrideAttrs (orig: { - # # 2023/11/21: upstreaming is blocked on qtsvg, qtx11extras # # fixes: "configure: error: could not find the LUA byte compiler" # # fixes: "configure: error: protoc compiler needed for chromecast was not found" # nativeBuildInputs = orig.nativeBuildInputs ++ [ lua5 protobuf ]; @@ -1287,11 +1191,11 @@ in with final; { # }); # fixes "perl: command not found" - # 2023/07/30: upstreaming is unblocked, but requires alternative fix + # 2024/05/31: upstreaming is unblocked, but requires alternative fix # - i think the build script tries to run the generated binary? # vpnc = mvToNativeInputs [ perl ] prev.vpnc; - # 2023/11/21: upstreaming is blocked on flatpak + # 2024/05/31: upstreaming is blocked on appstream xdg-desktop-portal = prev.xdg-desktop-portal.overrideAttrs (upstream: { nativeBuildInputs = upstream.nativeBuildInputs ++ [ # fixes "meson.build:117:8: ERROR: Program 'bwrap' not found or not executable" @@ -1315,8 +1219,7 @@ in with final; { ) ); - # 2024/02/27: upstreaming is blocked on wlroots-hyprland (libei) - # out for PR: + # 2024/02/27: upstreaming is blocked on hyprland # waybar = (prev.waybar.override { # runTests = false; #< upstream expects `catch2_3` as a runtime requirement # hyprlandSupport = false; # doesn't cross compile @@ -1343,7 +1246,7 @@ in with final; { # strictDeps = true; # }); - # 2024/02/27: upstreaming is unblocked + # 2024/05/31: upstreaming is unblocked webp-pixbuf-loader = prev.webp-pixbuf-loader.overrideAttrs (upstream: { # fixes: "Builder called die: Cannot wrap '/nix/store/kpp8qhzdjqgvw73llka5gpnsj0l4jlg8-gdk-pixbuf-aarch64-unknown-linux-gnu-2.42.10/bin/gdk-pixbuf-thumbnailer' because it is not an executable file" # gdk-pixbuf doesn't create a `bin/` directory when cross-compiling, breaks some thumbnailing stuff. @@ -1353,7 +1256,7 @@ in with final; { }); # XXX: aarch64 webp-pixbuf-loader wanted by gdk-pixbuf-loaders.cache.drv, wanted by aarch64 gnome-control-center - # 2023/12/08: upstreaming is blocked by qtsvg (via pipewire) + # 2024/05/31: upstreaming is blocked by qtsvg, appstream wike = prev.wike.overrideAttrs (upstream: { # error: " is not allowed to refer to the following paths: " # wike's meson build script sets host binaries to use build PYTHON @@ -1363,15 +1266,6 @@ in with final; { ''; }); - # 2024/02/29: upstreaming is blocked on libei (unless Xwayland config option is disabled in nixpkgs) - # out for PR: - # wlroots = prev.wlroots.overrideAttrs (upstream: { - # nativeBuildInputs = (upstream.nativeBuildInputs or []) ++ [ - # # incorrectly specified as `buildInputs` in nixpkgs. - # hwdata - # ]; - # }); - # wrapFirefox = prev.wrapFirefox.override { # buildPackages = buildPackages // { # # fixes "extract-binary-wrapper-cmd: line 2: strings: command not found" @@ -1384,6 +1278,7 @@ in with final; { # }; # }; + # 2024/05/31: upstreaming is unblocked # fixes `hostPrograms.moby.neovim` (but breaks eval of `hostPkgs.moby.neovim` :o) # wrapNeovimUnstable = neovim: config: (prev.wrapNeovimUnstable neovim config).overrideAttrs (upstream: { # # nvim wrapper has a sanity check that the plugins will load correctly.