diff --git a/flake.lock b/flake.lock index cfdfff95..d429c05a 100644 --- a/flake.lock +++ b/flake.lock @@ -66,11 +66,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1681613598, - "narHash": "sha256-Ogkoma0ytYcDoMR2N7CZFABPo+i0NNo26dPngru9tPc=", + "lastModified": 1682173319, + "narHash": "sha256-tPhOpJJ+wrWIusvGgIB2+x6ILfDkEgQMX0BTtM5vd/4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1040ce5f652b586da95dfd80d48a745e107b9eac", + "rev": "ee7ec1c71adc47d2e3c2d5eb0d6b8fbbd42a8d1c", "type": "github" }, "original": { @@ -82,16 +82,16 @@ }, "nixpkgs-unpatched": { "locked": { - "lastModified": 1681648924, - "narHash": "sha256-pzi3HISK8+7mpEtv08Yr80wswyHKsz+RP1CROG1Qf6s=", + "lastModified": 1682272886, + "narHash": "sha256-fBeoSYSvFeZte9jVxUlyKbWQdzLjfMrXK3Dhwg/usoI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f294325aed382b66c7a188482101b0f336d1d7db", + "rev": "7d385961ebe582fed4e850a326d8d200be79f6b8", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-unstable", + "ref": "staging-next", "repo": "nixpkgs", "type": "github" } @@ -113,11 +113,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1681721408, - "narHash": "sha256-NWCbZKOQEXz1hA2YDFxdd+fVrrw9edbG1DvbbLf7KUY=", + "lastModified": 1682218555, + "narHash": "sha256-kojMklCNBnPe8KtRvJvBtFGU/gPAqRKYpZEqyehHfn4=", "owner": "Mic92", "repo": "sops-nix", - "rev": "de6514f8fe1b3c2b57307569a0898bc4be9ae1c5", + "rev": "8a95e6f8cd160a05c2b560e66f702432a53b59ac", "type": "github" }, "original": { @@ -134,11 +134,11 @@ ] }, "locked": { - "lastModified": 1680517067, - "narHash": "sha256-8Ew0IDRuzEGFUjIGqk7EjuB/NL80HDIvlR1YY4Iw95M=", + "lastModified": 1681952179, + "narHash": "sha256-GfI682y7LJXj6p0kcYIyzVKFNKtkEbxvMGu5VjSPeN4=", "ref": "refs/heads/master", - "rev": "2970c6080187975a1fc996f541167e697d4ebebc", - "revCount": 187, + "rev": "3b9ce28b7a65d516eedddac67a224493399e5b1e", + "revCount": 190, "type": "git", "url": "https://git.uninsane.org/colin/uninsane" }, diff --git a/flake.nix b/flake.nix index bbb2872e..05d91d8c 100644 --- a/flake.nix +++ b/flake.nix @@ -43,8 +43,8 @@ # - use `staging` if no staging-next branch has been cut. # # - nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=nixos-unstable"; - # nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=staging-next"; + # nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=staging-next"; # nixpkgs-unpatched.url = "github:nixos/nixpkgs?ref=staging"; mobile-nixos = { diff --git a/hosts/common/cross/default.nix b/hosts/common/cross/default.nix index ee4206b4..11314f91 100644 --- a/hosts/common/cross/default.nix +++ b/hosts/common/cross/default.nix @@ -267,66 +267,67 @@ in # the configuration of which specific package set `pkgs.cross` refers to happens elsewhere; # here we just define them all. - nixpkgs.config.perlPackageOverrides = pkgs: (with pkgs; with pkgs.perlPackages; { - # these are the upstream nixpkgs perl modules, but with `nativeBuildInputs = [ perl ]` - # to fix cross compilation errors - # TODO: try this PR: https://github.com/NixOS/nixpkgs/pull/225640 - ModuleBuild = buildPerlPackage { - pname = "Module-Build"; - version = "0.4231"; - src = fetchurl { - url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4231.tar.gz"; - hash = "sha256-fg9MaSwXQMGshOoU1+o9i8eYsvsmwJh3Ip4E9DCytxc="; - }; - # support cross-compilation by removing unnecessary File::Temp version check - # postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' - # sed -i '/File::Temp/d' Build.PL - # ''; - nativeBuildInputs = [ perl ]; - meta = { - description = "Build and install Perl modules"; - license = with lib.licenses; [ artistic1 gpl1Plus ]; - mainProgram = "config_data"; - }; - }; - FileBaseDir = buildPerlModule { - version = "0.08"; - pname = "File-BaseDir"; - src = fetchurl { - url = "mirror://cpan/authors/id/K/KI/KIMRYAN/File-BaseDir-0.08.tar.gz"; - hash = "sha256-wGX80+LyKudpk3vMlxuR+AKU1QCfrBQL+6g799NTBeM="; - }; - configurePhase = '' - runHook preConfigure - perl Build.PL PREFIX="$out" prefix="$out" - ''; - nativeBuildInputs = [ perl ]; - propagatedBuildInputs = [ IPCSystemSimple ]; - buildInputs = [ FileWhich ]; - meta = { - description = "Use the Freedesktop.org base directory specification"; - license = with lib.licenses; [ artistic1 gpl1Plus ]; - }; - }; - # fixes: "FAILED IPython/terminal/tests/test_debug_magic.py::test_debug_magic_passes_through_generators - pexpect.exceptions.TIMEOUT: Timeout exceeded." - Testutf8 = buildPerlPackage { - pname = "Test-utf8"; - version = "1.02"; - src = fetchurl { - url = "mirror://cpan/authors/id/M/MA/MARKF/Test-utf8-1.02.tar.gz"; - hash = "sha256-34LwnFlAgwslpJ8cgWL6JNNx5gKIDt742aTUv9Zri9c="; - }; - nativeBuildInputs = [ perl ]; - meta = { - description = "Handy utf8 tests"; - homepage = "https://github.com/2shortplanks/Test-utf8/tree"; - license = with lib.licenses; [ artistic1 gpl1Plus ]; - }; - }; - # inherit (pkgs.emulated.perl.pkgs) - # Testutf8 - # ; - }); + # nixpkgs.config.perlPackageOverrides = pkgs': (with pkgs'; with pkgs'.perlPackages; { + # # these are the upstream nixpkgs perl modules, but with `nativeBuildInputs = [ perl ]` + # # to fix cross compilation errors + # # see + # # TODO: try this PR: https://github.com/NixOS/nixpkgs/pull/225640 + # ModuleBuild = buildPerlPackage { + # pname = "Module-Build"; + # version = "0.4231"; + # src = pkgs.fetchurl { + # url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4231.tar.gz"; + # hash = "sha256-fg9MaSwXQMGshOoU1+o9i8eYsvsmwJh3Ip4E9DCytxc="; + # }; + # # support cross-compilation by removing unnecessary File::Temp version check + # # postPatch = lib.optionalString (pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform) '' + # # sed -i '/File::Temp/d' Build.PL + # # ''; + # nativeBuildInputs = [ perl ]; + # meta = { + # description = "Build and install Perl modules"; + # license = with lib.licenses; [ artistic1 gpl1Plus ]; + # mainProgram = "config_data"; + # }; + # }; + # FileBaseDir = buildPerlModule { + # version = "0.08"; + # pname = "File-BaseDir"; + # src = pkgs.fetchurl { + # url = "mirror://cpan/authors/id/K/KI/KIMRYAN/File-BaseDir-0.08.tar.gz"; + # hash = "sha256-wGX80+LyKudpk3vMlxuR+AKU1QCfrBQL+6g799NTBeM="; + # }; + # configurePhase = '' + # runHook preConfigure + # perl Build.PL PREFIX="$out" prefix="$out" + # ''; + # nativeBuildInputs = [ perl ]; + # propagatedBuildInputs = [ IPCSystemSimple ]; + # buildInputs = [ FileWhich ]; + # meta = { + # description = "Use the Freedesktop.org base directory specification"; + # license = with lib.licenses; [ artistic1 gpl1Plus ]; + # }; + # }; + # # fixes: "FAILED IPython/terminal/tests/test_debug_magic.py::test_debug_magic_passes_through_generators - pexpect.exceptions.TIMEOUT: Timeout exceeded." + # Testutf8 = buildPerlPackage { + # pname = "Test-utf8"; + # version = "1.02"; + # src = pkgs.fetchurl { + # url = "mirror://cpan/authors/id/M/MA/MARKF/Test-utf8-1.02.tar.gz"; + # hash = "sha256-34LwnFlAgwslpJ8cgWL6JNNx5gKIDt742aTUv9Zri9c="; + # }; + # nativeBuildInputs = [ perl ]; + # meta = { + # description = "Handy utf8 tests"; + # homepage = "https://github.com/2shortplanks/Test-utf8/tree"; + # license = with lib.licenses; [ artistic1 gpl1Plus ]; + # }; + # }; + # # inherit (pkgs.emulated.perl.pkgs) + # # Testutf8 + # # ; + # }); # XXX: replaceStdenv only affects non-cross stages # nixpkgs.config.replaceStdenv = { pkgs }: pkgs.ccacheStdenv; nixpkgs.overlays = crossOnlyUniversalOverlays ++ [ @@ -411,10 +412,11 @@ in # nixpkgs hdf5 is at commit 3e847e003632bdd5fdc189ccbffe25ad2661e16f # hdf5 # configure: error: cannot run test program while cross compiling # http2 + ibus jellyfin-web # in node-dependencies-jellyfin-web: "node: command not found" (nodePackages don't cross compile) # 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 - # 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.qtx11extras fails, but we can't selectively emulate it @@ -889,17 +891,20 @@ in i2p = mvToNativeInputs [ next.ant next.gettext ] prev.i2p; # ibus = (prev.ibus.override { - # # fixes: "configure.ac:152: error: possibly undefined macro: AM_PATH_GLIB_2_0" - # inherit (emulated) stdenv; - ibus = prev.ibus.overrideAttrs (upstream: { - nativeBuildInputs = upstream.nativeBuildInputs or [] ++ [ - next.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 - next.buildPackages.gobject-introspection # fixes "_giscanner.cpython-310-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory" - ]; - buildInputs = lib.remove next.gobject-introspection upstream.buildInputs ++ [ - next.vala # fixes: "Package `ibus-1.0' not found in specified Vala API directories or GObject-Introspection GIR directories" - ]; - }); + # inherit (emulated) + # stdenv # fixes: "configure: error: cannot run test program while cross compiling" + # gobject-introspection # "cannot open shared object ..." + # ; + # }); + # .overrideAttrs (upstream: { + # nativeBuildInputs = upstream.nativeBuildInputs or [] ++ [ + # next.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 + # next.buildPackages.gobject-introspection # fixes "_giscanner.cpython-310-x86_64-linux-gnu.so: cannot open shared object file: No such file or directory" + # ]; + # buildInputs = lib.remove next.gobject-introspection upstream.buildInputs ++ [ + # next.vala # fixes: "Package `ibus-1.0' not found in specified Vala API directories or GObject-Introspection GIR directories" + # ]; + # }); # fixes "./autogen.sh: line 26: gtkdocize: not found" iio-sensor-proxy = mvToNativeInputs [ next.glib next.gtk-doc ] prev.iio-sensor-proxy; @@ -916,19 +921,19 @@ in openjdk8-bootstrap = useEmulatedStdenv prev.javaPackages.compiler.openjdk8-bootstrap; # fixes "configure: error: Could not find required tool for WHICH" openjdk8 = useEmulatedStdenv prev.javaPackages.compiler.openjdk8; - openjdk19 = ( - # fixes "configure: error: Could not find required tool for ZIPEXE" - # new failure: "checking for cc... [not found]" - (mvToNativeInputs - [ next.zip ] - (useEmulatedStdenv prev.javaPackages.compiler.openjdk19) - ).overrideAttrs (_upstream: { - # avoid building `support/demos`, which segfaults - buildFlags = [ "product-images" ]; - doCheck = false; # pre-emptive - }) - ); - # openjdk19 = emulated.javaPackages.compiler.openjdk19; + # openjdk19 = ( + # # fixes "configure: error: Could not find required tool for ZIPEXE" + # # new failure: "checking for cc... [not found]" + # (mvToNativeInputs + # [ next.zip ] + # (useEmulatedStdenv prev.javaPackages.compiler.openjdk19) + # ).overrideAttrs (_upstream: { + # # avoid building `support/demos`, which segfaults + # buildFlags = [ "product-images" ]; + # doCheck = false; # pre-emptive + # }) + # ); + openjdk19 = emulated.javaPackages.compiler.openjdk19; }; }; @@ -1175,6 +1180,10 @@ in ]; }); + cryptography = py-prev.cryptography.override { + inherit (emulated) rustPlatform; # "cargo:warning=aarch64-unknown-linux-gnu-gcc: error: unrecognized command-line option ‘-m64’" + }; + defcon = py-prev.defcon.overridePythonAttrs (orig: { nativeBuildInputs = orig.nativeBuildInputs ++ orig.nativeCheckInputs; }); diff --git a/nixpatches/list.nix b/nixpatches/list.nix index c2d79aff..17692f24 100644 --- a/nixpatches/list.nix +++ b/nixpatches/list.nix @@ -38,11 +38,11 @@ hash = "sha256-RbQzAtFTr7Nrk2YBcHpKQMYoPlFMVSXNl96B/lkKluQ="; }) - # 2023-04-18: obsidian: update electron_21 -> 24 (merged; waiting to reach downstream branches) - (fetchpatch { - url = "https://github.com/NixOS/nixpkgs/pull/226591.diff"; - hash = "sha256-5Nv529giGtsU9z1WPIxOOLNlAwCw2MCYEaHAap/E0NI="; - }) + # 2023-04-20: perl: fix modules for compatibility with miniperl + # (fetchpatch { + # url = "https://github.com/NixOS/nixpkgs/pull/225640.diff"; + # hash = "sha256-MNG8C0OgdPnFQ8SF2loiEhXJuP2z4n9pkXr8Zh4X7QU="; + # }) # # kaiteki: init at 2022-09-03 # vendorHash changes too frequently (might not be reproducible). diff --git a/overlays/pins.nix b/overlays/pins.nix index ca562e9c..dded29a2 100644 --- a/overlays/pins.nix +++ b/overlays/pins.nix @@ -18,4 +18,15 @@ # chromium can take 4 hours to build from source, with no signs of progress. # disable it if you're in a rush. # chromium = next.emptyDirectory; + + # TODO(2023/04/24): remove this. it's upstreamed for next staging-next `nix flake update` + sway-unwrapped = prev.sway-unwrapped.overrideAttrs (upstream: { + patches = upstream.patches or [] ++ [ + (next.fetchpatch { + name = "LIBINPUT_CONFIG_ACCEL_PROFILE_CUSTOM.patch"; + url = "https://github.com/swaywm/sway/commit/dee032d0a0ecd958c902b88302dc59703d703c7f.diff"; + hash = "sha256-dx+7MpEiAkxTBnJcsT3/1BO8rYRfNLecXmpAvhqGMD0="; + }) + ]; + }); })