diff --git a/hosts/common/cross.nix b/hosts/common/cross.nix index 47021953..f7cc8abc 100644 --- a/hosts/common/cross.nix +++ b/hosts/common/cross.nix @@ -82,41 +82,35 @@ in inherit (emulated) # adwaita-qt # psqlodbc apacheHttpd # TODO: not properly patched (we only need mod_dnssd?) - appstream - blueman - brltty + appstream # meson.build:139:0: ERROR: Program 'gperf' not found or not executable cantarell-fonts # python3.10-skia-pathops - cdrtools - colord + colord # (meson) ERROR: An exe_wrapper is needed but was not found. Please define one in cross file and check the command and/or add it to PATH. # duplicity # python3.10-s3transfer - evince - flakpak - fuzzel + evince # "Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake)" fwupd-efi # efi/meson.build:162:0: ERROR: Program or command 'gcc' not found or not executable fwupd # "Run-time dependency libgcab-1.0 found: NO (tried pkgconfig and cmake)" gcr_4 # meson ERROR: Program 'gpg2 gpg' not found or not executable - gmime # gnome-keyring # gnome-remote-desktop # gnome-tour - gnustep # (gnustep.base is used by unar; can't override individual members) + gnustep # gnustep.base: "configure: error: Your compiler does not appear to implement the -fconstant-string-class option needed for support of strings." gocryptfs # gocryptfs-2.3-go-modules # grpc gst_all_1 # gst_all_1.gst-editing-services - gupnp - gupnp_1_6 + # gupnp_1_6 # subprojects/gi-docgen/meson.build:10:0: ERROR: python3 not found gvfs # meson.build:312:2: ERROR: Assert failed: http required but libxml-2.0 not found - flatpak + # flatpak hdf5 # configure: error: cannot run test program while cross compiling - http2 - ibus + # http2 + ibus # configure.ac:152: error: possibly undefined macro: AM_PATH_GLIB_2_0 kitty iio-sensor-proxy libgweather libHX libjcat # data/tests/meson.build:10:0: ERROR: Program 'gnutls-certtool certtool' not found or not executable - librest - librest_1_0 + # TODO: librest*: disable doc building with --disable-gtk-doc + librest # You must have gtk-doc >= 1.13 installed to build documentation + librest_1_0 # (meson) Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) libsForQt5 # qtbase # make: g++: No such file or directory # libuv mod_dnssd @@ -149,7 +143,10 @@ in tpm2-abrmd # configure: error: *** gdbus-codegen is required to build tpm2-abrmd; No package 'gio-unix-2.0' found tracker-miners # it just can't run tests twitter-color-emoji # /nix/store/0wk6nr1mryvylf5g5frckjam7g7p9gpi-bash-5.2-p15/bin/bash: line 1: pkg-config: command not found - unar # meson.build:52:2: ERROR: Program 'gpg2 gpg' not found or not executable + # unar has multiple failures: + # - "configure: error: Your compiler does not appear to implement the -fconstant-string-class option needed for support of strings. Please check for a more recent version or consider using --enable-nxconstantstring" + # - "/nix/store/0wk6nr1mryvylf5g5frckjam7g7p9gpi-bash-5.2-p15/bin/bash: line 1: ar: command not found" + unar visidata # python3.10-psycopg2 python3.10-pandas python3.10-h5py vpnc webp-pixbuf-loader @@ -159,17 +156,92 @@ in # xdg-utils # perl5.36.0-File-BaseDir / perl5.36.0-Module-Build ; + # apacheHttpdPackagesFor = apacheHttpd: self: + # let + # prevHttpdPkgs = lib.fix (emulated.apacheHttpdPackagesFor apacheHttpd); + # in + # (prev.apacheHttpdPackagesFor apacheHttpd self) // { + # # inherit (prevHttpdPkgs) mod_dnssd; + # mod_dnssd = prevHttpdPkgs.mod_dnssd.override { + # inherit (self) apacheHttpd; + # }; + # }; + # appstream = prev.appstream.override { + # # doesn't fix: "ld: error adding symbols: file in wrong format" + # inherit (emulated) stdenv; + # }; + + blueman = prev.blueman.overrideAttrs(orig: { + # configure: error: ifconfig or ip not found, install net-tools or iproute2 + nativeBuildInputs = orig.nativeBuildInputs ++ [ next.iproute2 ]; + }); + brltty = prev.brltty.override { + # configure: error: no acceptable C compiler found in $PATH + inherit (emulated) stdenv; + }; + cdrtools = prev.cdrtools.override { + # "configure: error: installation or configuration problem: C compiler cc not found." + inherit (emulated) stdenv; + }; + # colord = prev.colord.override { + # # doesn't fix: "ld: error adding symbols: file in wrong format" + # inherit (emulated) stdenv; + # }; + + # evince = prev.evince.override { + # # doesn't fix: "ld: error adding symbols: file in wrong format" + # inherit (emulated) stdenv; + # }; + fuzzel = prev.fuzzel.override { + # meson.build:100:0: ERROR: Dependency lookup for wayland-scanner with method 'pkgconfig' failed: Pkg-config binary for machine 0 not found. Giving up. + inherit (emulated) stdenv; + }; + # fwupd-efi = prev.fwupd-efi.override { + # # efi/meson.build:33:2: ERROR: Problem encountered: gnu-efi support requested, but headers were not found + # inherit (emulated) stdenv; + # }; # fwupd = prev.fwupd.overrideAttrs (orig: { # # solves (meson) "Run-time dependency libgcab-1.0 found: NO (tried pkgconfig and cmake)", and others. # # some of these are kinda sus. maybe upstream fwupd buildscript is iffy # buildInputs = orig.buildInputs ++ [ next.gcab next.gi-docgen next.gnutls next.pkg-config ]; # }); - libuv = prev.libuv.overrideAttrs (orig: { - # 2 tests fail: - # - not ok 261 - tcp_bind6_error_addrinuse - # - not ok 267 - tcp_bind_error_addrinuse_listen - doCheck = false; + + gmime = prev.gmime.overrideAttrs (orig: { + # "checking preferred charset formats for system iconv... cannot run test program while cross compiling" + configureFlags = orig.configureFlags ++ [ "ac_cv_have_iconv_detect_h=no" ]; }); + gupnp_1_6 = prev.gupnp_1_6.overrideAttrs (orig: { + # "subprojects/gi-docgen/meson.build:10:0: ERROR: python3 not found" + # this patch is copied from the default gupnp. + # TODO: upstream + outputs = [ "out" "dev" ] + ++ lib.optionals (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform) [ "devdoc" ]; + mesonFlags = [ + "-Dgtk_doc=${lib.boolToString (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform)}" + "-Dintrospection=${lib.boolToString (prev.stdenv.buildPlatform == prev.stdenv.hostPlatform)}" + ]; + }); + + gnome = prev.gnome.overrideScope' (self: super: { + inherit (emulated.gnome) + evolution-data-server # 'nix log /nix/store/ghlsq1jl5js5jiy24b4p1k67k4sgrnv7-libuv-1.44.2.drv' + gnome-color-manager + gnome-control-center # subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable + gnome-keyring + # TODO: remove gnome-remote-desktop (wanted by gnome-control-center) + gnome-remote-desktop # Program gdbus-codegen found: NO + gnome-settings-daemon # subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable + gnome-user-share + mutter # meson.build:237:2: ERROR: Dependency "gbm" not found, tried pkgconfig (it's provided by mesa) + ; + }); + + # gst_all_1.gst-editing-services = emulated.gst_all_1.gst-editing-services; + # gst_all_1 = prev.gst_all_1.overrideScope' (self: super: { + # inherit (emulated.gst_all_1) + # gst-editing-services + # ; + # }); # gvfs = prev.gvfs.overrideAttrs (orig: { # # meson.build:312:2: ERROR: Assert failed: http required but libxml-2.0 not found # # nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.libxml2 prev.mesonEmulatorHook ]; @@ -189,10 +261,44 @@ in # }) # ]; # }); + + # ibus = prev.ibus.override { + # # "_giscanner.cpython-310-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory" + # inherit (emulated) stdenv; + # }; + + # librest = prev.librest.overrideAttrs (orig: { + # # You must have gtk-doc >= 1.13 installed to build documentation (TODO: add '--disable-gtk-doc') + # inherit (emulated) stdenv; + # }); + # librest_1_0 = prev.librest_1_0.overrideAttrs (orig: { + # # Run-time dependency gi-docgen found: NO (tried pkgconfig and cmake) + # inherit (emulated) stdenv; + # }); + # libsForQt5 = prev.libsForQt5.overrideScope' (self: super: { + # inherit (emulated.libsForQt5) + # qtbase + # ; + # }); + + libuv = prev.libuv.overrideAttrs (orig: { + # 2 tests fail: + # - not ok 261 - tcp_bind6_error_addrinuse + # - not ok 267 - tcp_bind_error_addrinuse_listen + doCheck = false; + }); + + # perlPackageOverrides = _perl: { + # inherit (pkgs.emulated.perl.pkgs) + # Testutf8 + # ; + # }; + pipewire = prev.pipewire.overrideAttrs (orig: { # fix `spa/plugins/bluez5/meson.build:41:0: ERROR: Program 'gdbus-codegen' not found or not executable` nativeBuildInputs = orig.nativeBuildInputs ++ [ prev.glib ]; }); + pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [ (py-next: py-prev: { defcon = py-prev.defcon.overridePythonAttrs (orig: { @@ -250,51 +356,13 @@ in }) ]; - gnome = prev.gnome.overrideScope' (self: super: { - inherit (emulated.gnome) - evolution-data-server # 'nix log /nix/store/ghlsq1jl5js5jiy24b4p1k67k4sgrnv7-libuv-1.44.2.drv' - gnome-color-manager - gnome-control-center # subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable - gnome-keyring - # TODO: remove gnome-remote-desktop (wanted by gnome-control-center) - gnome-remote-desktop # Program gdbus-codegen found: NO - gnome-settings-daemon # subprojects/gvc/meson.build:30:0: ERROR: Program 'glib-mkenums mkenums' not found or not executable - gnome-user-share - mutter # meson.build:237:2: ERROR: Dependency "gbm" not found, tried pkgconfig (it's provided by mesa) - ; - }); - - # gst_all_1.gst-editing-services = emulated.gst_all_1.gst-editing-services; - - # gst_all_1 = prev.gst_all_1.overrideScope' (self: super: { - # inherit (emulated.gst_all_1) - # gst-editing-services - # ; + # unar = (prev.unar.override { + # # "meson.build:52:2: ERROR: Program 'gpg2 gpg' not found or not executable" + # inherit (emulated) stdenv; + # }).overrideAttrs (orig: { + # nativeBuildInputs = orig.nativeBuildInputs ++ [ next.coreutils-full ]; # }); - - # libsForQt5 = prev.libsForQt5.overrideScope' (self: super: { - # inherit (emulated.libsForQt5) - # qtbase - # ; - # }); - - # apacheHttpdPackagesFor = apacheHttpd: self: - # let - # prevHttpdPkgs = lib.fix (emulated.apacheHttpdPackagesFor apacheHttpd); - # in - # (prev.apacheHttpdPackagesFor apacheHttpd self) // { - # # inherit (prevHttpdPkgs) mod_dnssd; - # mod_dnssd = prevHttpdPkgs.mod_dnssd.override { - # inherit (self) apacheHttpd; - # }; - # }; }) ]; - - # perlPackageOverrides = _perl: { - # inherit (pkgs.emulated.perl.pkgs) - # Testutf8 - # ; - # }; }; }