Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions pkgs/tools/package-management/nix-serve/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@
, perl
, makeWrapper
, nixosTests
, fetchpatch
}:

let
rev = "e4675e38ab54942e351c7686e40fabec822120b9";
sha256 = "1wm24p6pkxl1d7hrvf4ph6mwzawvqi22c60z9xzndn5xfyr4v0yr";
rev = "77ffa33d83d2c7c6551c5e420e938e92d72fec24";
sha256 = "sha256-MJRdVO2pt7wjOu5Hk0eVeNbk5bK5+Uo/Gh9XfO4OlMY=";
in

stdenv.mkDerivation {
Expand All @@ -23,6 +24,14 @@ stdenv.mkDerivation {
inherit rev sha256;
};

patches = [
# Part of https://github.com/edolstra/nix-serve/pull/61
(fetchpatch {
url = "https://github.com/edolstra/nix-serve/commit/9e434fff4486afeb3cc3f631f6dc56492b204704.patch";
sha256 = "sha256-TxQ6q6UApTKsYIMdr/RyrkKSA3k47stV63bTbxchNTU=";
})
];

nativeBuildInputs = [ makeWrapper ];

dontBuild = true;
Expand Down
40 changes: 40 additions & 0 deletions pkgs/tools/package-management/nix-serve/nix-command.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
From 9e434fff4486afeb3cc3f631f6dc56492b204704 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
Date: Wed, 31 Jul 2024 23:53:31 +0200
Subject: [PATCH] add extra-experimental-features for nix-command

fixes https://github.com/NixOS/nixpkgs/pull/331230
---
nix-serve.psgi | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/nix-serve.psgi b/nix-serve.psgi
index 928fa3b..65a8680 100644
--- a/nix-serve.psgi
+++ b/nix-serve.psgi
@@ -64,7 +64,7 @@ my $app = sub {
return [404, ['Content-Type' => 'text/plain'], ["Incorrect NAR hash. Maybe the path has been recreated.\n"]]
unless $narHash eq "sha256:$expectedNarHash";
my $fh = new IO::Handle;
- open $fh, "-|", "nix", "dump-path", "--", $storePath;
+ open $fh, "-|", "nix", "--extra-experimental-features", "nix-command", "dump-path", "--", $storePath;
return [200, ['Content-Type' => 'text/plain', 'Content-Length' => $narSize], $fh];
}

@@ -75,14 +75,14 @@ my $app = sub {
return [404, ['Content-Type' => 'text/plain'], ["No such path.\n"]] unless $storePath;
my ($deriver, $narHash, $time, $narSize, $refs) = $store->queryPathInfo($storePath, 1) or die;
my $fh = new IO::Handle;
- open $fh, "-|", "nix", "dump-path", "--", $storePath;
+ open $fh, "-|", "nix", "--extra-experimental-features", "nix-command", "dump-path", "--", $storePath;
return [200, ['Content-Type' => 'text/plain', 'Content-Length' => $narSize], $fh];
}

elsif ($path =~ /^\/log\/([0-9a-z]+-[0-9a-zA-Z\+\-\.\_\?\=]+)/) {
my $storePath = "$Nix::Config::storeDir/$1";
my $fh = new IO::Handle;
- open $fh, "-|", "nix", "log", $storePath;
+ open $fh, "-|", "nix", "--extra-experimental-features", "nix-command", "log", $storePath;
return [200, ['Content-Type' => 'text/plain' ], $fh];
}

4 changes: 1 addition & 3 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -38044,9 +38044,7 @@ with pkgs;

nixpkgs-review = callPackage ../tools/package-management/nixpkgs-review { };

nix-serve = callPackage ../tools/package-management/nix-serve {
nix = nixVersions.nix_2_18;
};
nix-serve = callPackage ../tools/package-management/nix-serve { };

nix-serve-ng = haskell.lib.compose.justStaticExecutables haskellPackages.nix-serve-ng;

Expand Down