aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release-common.nix40
-rw-r--r--release.nix28
-rw-r--r--shell.nix23
3 files changed, 43 insertions, 48 deletions
diff --git a/release-common.nix b/release-common.nix
index f9df6fab9..0c12bc7ce 100644
--- a/release-common.nix
+++ b/release-common.nix
@@ -1,9 +1,11 @@
{ pkgs }:
+with pkgs;
+
rec {
# Use "busybox-sandbox-shell" if present,
# if not (legacy) fallback and hope it's sufficient.
- sh = pkgs.busybox-sandbox-shell or (pkgs.busybox.override {
+ sh = pkgs.busybox-sandbox-shell or (busybox.override {
useMusl = true;
enableStatic = true;
enableMinimal = true;
@@ -30,7 +32,41 @@ rec {
configureFlags =
[ "--disable-init-state"
"--enable-gc"
- ] ++ pkgs.lib.optionals pkgs.stdenv.isLinux [
+ ] ++ lib.optionals stdenv.isLinux [
"--with-sandbox-shell=${sh}/bin/busybox"
];
+
+ tarballDeps =
+ [ bison
+ flex
+ libxml2
+ libxslt
+ docbook5
+ docbook5_xsl
+ autoconf-archive
+ autoreconfHook
+ ];
+
+ buildDeps =
+ [ curl
+ bzip2 xz brotli
+ openssl pkgconfig sqlite boehmgc
+ boost
+
+ # Tests
+ git
+ mercurial
+ ]
+ ++ lib.optional stdenv.isLinux libseccomp
+ ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
+ ++ lib.optional (stdenv.isLinux || stdenv.isDarwin)
+ (aws-sdk-cpp.override {
+ apis = ["s3"];
+ customMemoryManagement = false;
+ });
+
+ perlDeps =
+ [ perl
+ perlPackages.DBDSQLite
+ ];
}
diff --git a/release.nix b/release.nix
index 2e9292955..7db5e20e1 100644
--- a/release.nix
+++ b/release.nix
@@ -14,6 +14,8 @@ let
tarball =
with pkgs;
+ with import ./release-common.nix { inherit pkgs; };
+
releaseTools.sourceTarball {
name = "nix-tarball";
version = builtins.readFile ./version;
@@ -21,13 +23,7 @@ let
src = nix;
inherit officialRelease;
- buildInputs =
- [ curl bison flex libxml2 libxslt
- bzip2 xz brotli
- pkgconfig sqlite libsodium boehmgc
- docbook5 docbook5_xsl
- autoconf-archive
- ] ++ lib.optional stdenv.isLinux libseccomp;
+ buildInputs = tarballDeps ++ buildDeps;
configureFlags = "--enable-gc";
@@ -67,23 +63,7 @@ let
name = "nix";
src = tarball;
- buildInputs =
- [ curl
- bzip2 xz brotli
- openssl pkgconfig sqlite boehmgc
- boost
-
- # Tests
- git
- mercurial
- ]
- ++ lib.optional stdenv.isLinux libseccomp
- ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
- ++ lib.optional (stdenv.isLinux || stdenv.isDarwin)
- (aws-sdk-cpp.override {
- apis = ["s3"];
- customMemoryManagement = false;
- });
+ buildInputs = buildDeps;
configureFlags = configureFlags ++
[ "--sysconfdir=/etc" ];
diff --git a/shell.nix b/shell.nix
index 09318dfd0..20cf4133b 100644
--- a/shell.nix
+++ b/shell.nix
@@ -7,28 +7,7 @@ with import ./release-common.nix { inherit pkgs; };
(if useClang then clangStdenv else stdenv).mkDerivation {
name = "nix";
- buildInputs =
- [ curl bison flex libxml2 libxslt
- bzip2 xz brotli
- pkgconfig sqlite libsodium boehmgc
- docbook5 docbook5_xsl
- autoconf-archive
- (aws-sdk-cpp.override {
- apis = ["s3"];
- customMemoryManagement = false;
- })
- autoreconfHook
- boost
-
- # For nix-perl
- perl
- perlPackages.DBDSQLite
-
- # Tests
- git
- mercurial
- ]
- ++ lib.optional stdenv.isLinux libseccomp;
+ buildInputs = buildDeps ++ tarballDeps ++ perlDeps;
inherit configureFlags;