diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2024-05-02 00:13:10 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-02 00:13:10 +0000 |
commit | 2918b2c876b74d0ba5e333676ee86228f51c24e8 (patch) | |
tree | 3aa9efd04a7b013474abd0e659f2978ef07bddfa /pkgs/tools/package-management/nix | |
parent | a48f3268c7b745ffe9a057b3c5e5a2b97ef68c7a (diff) | |
parent | e32981ab32c921f0506a3a560512e3a34726eafe (diff) |
Merge master into haskell-updates
Diffstat (limited to 'pkgs/tools/package-management/nix')
-rw-r--r-- | pkgs/tools/package-management/nix/default.nix | 18 | ||||
-rw-r--r-- | pkgs/tools/package-management/nix/nix-perl.nix | 66 |
2 files changed, 69 insertions, 15 deletions
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 3eb49fb62b3d7..f36497cda34d3 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -179,6 +179,19 @@ in lib.makeExtensible (self: ({ hash = "sha256-Ugcc+lSq8nJP+mddMlGFnoG4Ix1lRFHWOal3299bqR8="; }; + git = common rec { + version = "2.23.0"; + suffix = "pre20240426_${lib.substring 0 8 src.rev}"; + src = fetchFromGitHub { + owner = "NixOS"; + repo = "nix"; + rev = "2f678331d59451dd6f1d9512cb6d92e4ecb9750f"; + hash = "sha256-4AwaLB/gTRgvZG4FmFY6OY52yeLAnj0a6rtJCz7TRXA="; + }; + }; + + latest = self.nix_2_21; + # The minimum Nix version supported by Nixpkgs # Note that some functionality *might* have been backported into this Nix version, # making this package an inaccurate representation of what features are available @@ -197,8 +210,6 @@ in lib.makeExtensible (self: ({ nix; stable = addFallbackPathsCheck self.nix_2_18; - - unstable = self.nix_2_22; } // lib.optionalAttrs config.allowAliases ( lib.listToAttrs (map ( minor: @@ -207,4 +218,7 @@ in lib.makeExtensible (self: ({ in lib.nameValuePair attr (throw "${attr} has been removed") ) (lib.range 4 17)) + // { + unstable = throw "nixVersions.unstable has been removed. For bleeding edge (Nix master, roughly weekly updated) use nixVersions.git, otherwise use nixVersions.latest."; + } ))) diff --git a/pkgs/tools/package-management/nix/nix-perl.nix b/pkgs/tools/package-management/nix/nix-perl.nix index 0796a0914f1f5..8fc2657657afb 100644 --- a/pkgs/tools/package-management/nix/nix-perl.nix +++ b/pkgs/tools/package-management/nix/nix-perl.nix @@ -9,35 +9,75 @@ , autoreconfHook , autoconf-archive , nlohmann_json +, xz , Security +, meson +, ninja +, bzip2 }: -stdenv.mkDerivation { +let + atLeast223 = lib.versionAtLeast nix.version "2.23"; + + mkConfigureOption = { mesonOption, autoconfOption, value }: + let + setFlagTo = if atLeast223 + then lib.mesonOption mesonOption + else lib.withFeatureAs true autoconfOption; + in + setFlagTo value; +in stdenv.mkDerivation (finalAttrs: { pname = "nix-perl"; inherit (nix) version src; postUnpack = "sourceRoot=$sourceRoot/perl"; - buildInputs = lib.optional (stdenv.isDarwin) Security; - - # This is not cross-compile safe, don't have time to fix right now - # but noting for future travellers. - nativeBuildInputs = [ - autoconf-archive - autoreconfHook + buildInputs = [ boost + bzip2 curl libsodium nix - nlohmann_json perl + xz + ] ++ lib.optional (stdenv.isDarwin) Security; + + # Not cross-safe since Nix checks for curl/perl via + # NEED_PROG/find_program, but both seem to be needed at runtime + # as well. + nativeBuildInputs = [ pkg-config + perl + curl + ] ++ (if atLeast223 then [ + meson + ninja + ] else [ + autoconf-archive + autoreconfHook + ]); + + # `perlPackages.Test2Harness` is marked broken for Darwin + doCheck = !stdenv.isDarwin; + + nativeCheckInputs = [ + perl.pkgs.Test2Harness ]; - configureFlags = [ - "--with-dbi=${perl.pkgs.DBI}/${perl.libPrefix}" - "--with-dbd-sqlite=${perl.pkgs.DBDSQLite}/${perl.libPrefix}" + ${if atLeast223 then "mesonFlags" else "configureFlags"} = [ + (mkConfigureOption { + mesonOption = "dbi_path"; + autoconfOption = "dbi"; + value = "${perl.pkgs.DBI}/${perl.libPrefix}"; + }) + (mkConfigureOption { + mesonOption = "dbd_sqlite_path"; + autoconfOption = "dbd-sqlite"; + value = "${perl.pkgs.DBDSQLite}/${perl.libPrefix}"; + }) + ] ++ lib.optionals atLeast223 [ + (lib.mesonEnable "tests" finalAttrs.doCheck) ]; preConfigure = "export NIX_STATE_DIR=$TMPDIR"; -} +}) |