aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/package-management.scm60
1 files changed, 59 insertions, 1 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 672ae9ad6b..40a7ad68bd 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -19,6 +19,8 @@
(define-module (gnu packages package-management)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module (gnu packages)
@@ -26,7 +28,11 @@
#:use-module ((gnu packages compression) #:select (bzip2 gzip))
#:use-module (gnu packages gnupg)
#:use-module (gnu packages sqlite)
- #:use-module (gnu packages pkg-config))
+ #:use-module (gnu packages graphviz)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages texinfo))
(define-public guix
(package
@@ -103,3 +109,55 @@ upgrades and roll-backs, per-user profiles, and much more. It is based on the
Nix package manager.")
(license gpl3+)))
+(define-public guix-devel
+ ;; Development version of Guix.
+ (let ((commit "20b1d19"))
+ (package (inherit guix)
+ (version (string-append "0.6." commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.sv.gnu.org/guix.git")
+ (commit commit)
+ (recursive? #t)))
+ (sha256
+ (base32
+ "0n278kzp586rzbhcghbj7am641yjc35pcb6n1r304myziwd0mz6r"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments guix)
+ ((#:phases phases)
+ `(alist-cons-before
+ 'configure 'bootstrap
+ (lambda _
+ ;; Comment out `git' invocations, since 'git-fetch' provides us
+ ;; with a checkout that includes sub-modules.
+ (substitute* "bootstrap"
+ (("git ")
+ "true git "))
+
+ ;; Keep a list of the files already available under nix/...
+ (call-with-output-file "ls-R"
+ (lambda (port)
+ (for-each (lambda (file)
+ (format port "~a~%" file))
+ (find-files "nix" ""))))
+
+ ;; ... and use that as a substitute to 'git ls-tree'.
+ (substitute* "nix/sync-with-upstream"
+ (("git ls-tree HEAD -- [[:graph:]]+")
+ "cat ls-R"))
+
+ ;; Make sure 'msgmerge' can modify the PO files.
+ (for-each (lambda (po)
+ (chmod po #o666))
+ (find-files "." "\\.po$"))
+
+ (zero? (system* "./bootstrap")))
+ ,phases))))
+ (native-inputs
+ `(("autoconf" ,(autoconf-wrapper))
+ ("automake" ,automake)
+ ("gettext" ,gnu-gettext)
+ ("texinfo" ,texinfo)
+ ("graphviz" ,graphviz)
+ ,@(package-native-inputs guix))))))