gnu: Python: use /nix/.../sh instead of /bin/sh in the subprocess module
[jackhill/guix/guix.git] / gnu / packages / package-management.scm
CommitLineData
bbe8d8f0 1;;; GNU Guix --- Functional package management for GNU
49a8b80d 2;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
bbe8d8f0
LC
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages package-management)
20 #:use-module (guix packages)
21 #:use-module (guix download)
22 #:use-module (guix build-system gnu)
23 #:use-module ((guix licenses) #:select (gpl3+))
8a43ff10 24 #:use-module (gnu packages)
bbe8d8f0 25 #:use-module (gnu packages guile)
2d195e67 26 #:use-module ((gnu packages compression) #:select (bzip2 gzip))
bbe8d8f0
LC
27 #:use-module (gnu packages gnupg)
28 #:use-module (gnu packages sqlite)
29 #:use-module (gnu packages pkg-config))
30
31(define-public guix
32 (package
33 (name "guix")
8a43ff10 34 (version "0.5")
bbe8d8f0
LC
35 (source (origin
36 (method url-fetch)
37 (uri (string-append "ftp://alpha.gnu.org/gnu/guix/guix-"
38 version ".tar.gz"))
39 (sha256
40 (base32
8a43ff10
LC
41 "15azhc3lb1m64545q8cs8dzcgjbd2wjxhl6nw0rq6lnvrxz2wjmv"))
42 (patches (list (search-patch "guix-test-networking.patch")))))
bbe8d8f0
LC
43 (build-system gnu-build-system)
44 (arguments
45 `(#:configure-flags (list
49a8b80d 46 "--localstatedir=/var"
bbe8d8f0
LC
47 (string-append "--with-libgcrypt-prefix="
48 (assoc-ref %build-inputs
49 "libgcrypt")))
50 #:phases (alist-cons-before
51 'configure 'copy-bootstrap-guile
52 (lambda* (#:key system inputs #:allow-other-keys)
53 (define (copy arch)
54 (let ((guile (assoc-ref inputs
55 (string-append "boot-guile/"
56 arch)))
57 (target (string-append "gnu/packages/bootstrap/"
58 arch "-linux/"
8a43ff10 59 "/guile-2.0.9.tar.xz")))
bbe8d8f0
LC
60 (copy-file guile target)))
61
62 (copy "i686")
63 (copy "x86_64")
8a43ff10 64 (copy "mips64el")
bbe8d8f0
LC
65 #t)
66 %standard-phases)))
67 (inputs
68 (let ((boot-guile (lambda (arch hash)
69 (origin
70 (method url-fetch)
71 (uri (string-append
72 "http://alpha.gnu.org/gnu/guix/bootstrap/"
73 arch "-linux"
8a43ff10 74 "/20131110/guile-2.0.9.tar.xz"))
bbe8d8f0
LC
75 (sha256 hash)))))
76 `(("bzip2" ,bzip2)
2d195e67
LC
77 ("gzip" ,gzip)
78
bbe8d8f0
LC
79 ("sqlite" ,sqlite)
80 ("libgcrypt" ,libgcrypt)
81 ("guile" ,guile-2.0)
82 ("pkg-config" ,pkg-config)
83
84 ("boot-guile/i686"
85 ,(boot-guile "i686"
86 (base32
8a43ff10 87 "0im800m30abgh7msh331pcbjvb4n02smz5cfzf1srv0kpx3csmxp")))
bbe8d8f0
LC
88 ("boot-guile/x86_64"
89 ,(boot-guile "x86_64"
90 (base32
8a43ff10
LC
91 "1w2p5zyrglzzniqgvyn1b55vprfzhgk8vzbzkkbdgl5248si0yq3")))
92 ("boot-guile/mips64el"
93 ,(boot-guile "mips64el"
94 (base32
95 "0fzp93lvi0hn54acc0fpvhc7bvl0yc853k62l958cihk03q80ilr"))))))
bbe8d8f0 96 (home-page "http://www.gnu.org/software/guix")
79c311b8 97 (synopsis "Functional package manager for installed software packages and versions")
bbe8d8f0 98 (description
79c311b8
LC
99 "GNU Guix is a functional package manager for the GNU system, and is
100also a distribution thereof. It includes a virtual machine image. Besides
101the usual package management features, it also supports transactional
102upgrades and roll-backs, per-user profiles, and much more. It is based on the
103Nix package manager.")
bbe8d8f0 104 (license gpl3+)))
30f25b03 105