add GNU Guix
This commit is contained in:
parent
5cfa68ab50
commit
b9960211ab
73
pkgs/tools/package-management/guix/default.nix
Normal file
73
pkgs/tools/package-management/guix/default.nix
Normal file
@ -0,0 +1,73 @@
|
||||
{ fetchurl, stdenv, guile, libgcrypt, sqlite, bzip2, pkgconfig }:
|
||||
|
||||
let
|
||||
# Getting the bootstrap Guile binary. This is normally performed by Guix's build system.
|
||||
base_url = arch:
|
||||
"http://alpha.gnu.org/gnu/guix/bootstrap/${arch}-linux/20130105/guile-2.0.7.tar.xz";
|
||||
boot_guile = {
|
||||
i686 = fetchurl {
|
||||
url = base_url "i686";
|
||||
sha256 = "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c";
|
||||
};
|
||||
x86_64 = fetchurl {
|
||||
url = base_url "x86_64";
|
||||
sha256 = "bc43210dcd146d242bef4d354b0aeac12c4ef3118c07502d17ffa8d49e15aa2c";
|
||||
};
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "guix-0.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://alpha.gnu.org/gnu/guix/${name}.tar.gz";
|
||||
sha256 = "140y0ywbgl6vxl4nwswz4vim2wwdiajxlksj24lnv40aw5hyvifr";
|
||||
};
|
||||
|
||||
configureFlags =
|
||||
[ "--localstatedir=/nix/var"
|
||||
"--with-libgcrypt-prefix=${libgcrypt}"
|
||||
];
|
||||
|
||||
preBuild =
|
||||
# Copy the bootstrap Guile tarballs like Guix's makefile normally does.
|
||||
'' cp -v "${boot_guile.i686}" gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
|
||||
cp -v "${boot_guile.x86_64}" gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
|
||||
'';
|
||||
|
||||
preCheck =
|
||||
# XXX: Skip this test (see commit 91fe0e20c7da2b706a1ac0e7b75235b6c1e6ed0a).
|
||||
'' sed -i tests/guix-package.sh -e's/guix package --version/exit 0/'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ guile libgcrypt sqlite bzip2 ];
|
||||
|
||||
doCheck = true;
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "Functional package manager with a Scheme interface";
|
||||
|
||||
longDescription = ''
|
||||
GNU Guix is a purely functional package manager for the GNU system, and a distribution thereof.
|
||||
|
||||
In addition to standard package management features, Guix supports
|
||||
transactional upgrades and roll-backs, unprivileged package management,
|
||||
per-user profiles, and garbage collection.
|
||||
|
||||
It provides Guile Scheme APIs, including high-level embedded
|
||||
domain-specific languages (EDSLs), to describe how packages are built
|
||||
and composed.
|
||||
|
||||
A user-land free software distribution for GNU/Linux comes as part of
|
||||
Guix.
|
||||
|
||||
Guix is based on the Nix package manager.
|
||||
'';
|
||||
|
||||
license = "GPLv3+";
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
|
||||
homepage = http://www.gnu.org/software/guix;
|
||||
};
|
||||
}
|
@ -9448,6 +9448,8 @@ let
|
||||
x11Support = true;
|
||||
});
|
||||
|
||||
guix = callPackage ../tools/package-management/guix { };
|
||||
|
||||
gxemul = callPackage ../misc/gxemul { };
|
||||
|
||||
hatari = callPackage ../misc/emulators/hatari { };
|
||||
|
Loading…
Reference in New Issue
Block a user