aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/package-management.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/package-management.scm')
-rw-r--r--gnu/packages/package-management.scm98
1 files changed, 85 insertions, 13 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 18a848edc2..a9485a7e7a 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -26,9 +27,12 @@
(define-module (gnu packages package-management)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
+ #:use-module (gnu packages attr)
+ #:use-module (gnu packages avahi)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages bdw-gc)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages bootstrap) ;for 'bootstrap-guile-origin'
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -36,6 +40,7 @@
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages docbook)
#:use-module (gnu packages file)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -208,12 +213,13 @@
(let* ((out (assoc-ref outputs "out"))
(guile (assoc-ref inputs "guile"))
(json (assoc-ref inputs "guile-json"))
+ (sqlite (assoc-ref inputs "guile-sqlite3"))
(git (assoc-ref inputs "guile-git"))
(bs (assoc-ref inputs
"guile-bytestructures"))
(ssh (assoc-ref inputs "guile-ssh"))
(gnutls (assoc-ref inputs "gnutls"))
- (deps (list json gnutls git bs ssh))
+ (deps (list json sqlite gnutls git bs ssh))
(effective
(read-line
(open-pipe* OPEN_READ
@@ -270,6 +276,7 @@
(propagated-inputs
`(("gnutls" ,gnutls)
("guile-json" ,guile-json)
+ ("guile-sqlite3" ,guile-sqlite3)
("guile-ssh" ,guile-ssh)
("guile-git" ,guile-git)))
@@ -287,23 +294,24 @@ the Nix package manager.")
;; Alias for backward compatibility.
(define-public guix-devel guix)
-(define-public guix-register
+(define-public guix-daemon
;; This package is for internal consumption: it allows us to quickly build
- ;; the 'guix-register' program, which is referred to by (guix config).
- ;; TODO: Remove this hack when 'guix-register' has been superseded by Scheme
- ;; code.
+ ;; the 'guix-daemon' program and use that in (guix self), used by 'guix
+ ;; pull'.
(package
(inherit guix)
(properties `((hidden? . #t)))
- (name "guix-register")
+ (name "guix-daemon")
;; Use a minimum set of dependencies.
(native-inputs
(fold alist-delete (package-native-inputs guix)
'("po4a" "graphviz" "help2man")))
- (propagated-inputs
+ (inputs
`(("gnutls" ,gnutls)
- ("guile-git" ,guile-git)))
+ ("guile-git" ,guile-git)
+ ,@(package-inputs guix)))
+ (propagated-inputs '())
(arguments
(substitute-keyword-arguments (package-arguments guix)
@@ -316,11 +324,21 @@ the Nix package manager.")
(invoke "make" "nix/libstore/schema.sql.hh")
(invoke "make" "-j" (number->string
(parallel-job-count))
- "guix-register")))
+ "guix-daemon")))
(delete 'copy-bootstrap-guile)
(replace 'install
- (lambda _
- (invoke "make" "install-sbinPROGRAMS")))
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "install-binPROGRAMS"
+ "install-nodist_pkglibexecSCRIPTS")
+
+ ;; We need to tell 'guix-daemon' which 'guix' command to use.
+ ;; Here we use a questionable hack where we hard-code
+ ;; "~root/.config", which could be wrong (XXX).
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* (find-files (string-append out "/libexec"))
+ (("exec \".*/bin/guix\"")
+ "exec ~root/.config/current/bin/guix"))
+ #t)))
(delete 'wrap-program)))))))
(define-public guile2.0-guix
@@ -528,13 +546,13 @@ transactions from C or Python.")
(define-public diffoscope
(package
(name "diffoscope")
- (version "95")
+ (version "96")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
- "0aksxxivxli6l3fylxgl771hw0h7l8x35l76cmj0d12zgx54w0a1"))))
+ "1x66f2x8miy3giff14higpcs70c0zb5d3gj6yn8ac6p183sngl72"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -883,3 +901,57 @@ Microsoft cabinet (.@dfn{CAB}) files.")
and sign Windows@tie{}Installer (.@dfn{MSI}) files. It aims to be a solution
for packaging and deployment of cross-compiled Windows applications.")
(license license:lgpl2.1+)))
+
+(define-public libostree
+ (package
+ (name "libostree")
+ (version "2018.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/ostreedev/ostree/releases/download/v"
+ version "/libostree-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0q82d6rvp119nx7ck7j63a591kz8vg7v465kf9ygh8kzg875l3xd"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Don't try to use the non-existing '/var/tmp' as test
+ ;; directory.
+ (setenv "TEST_TMPDIR" (getenv "TMPDIR"))
+ #t)))
+ ;; XXX: fails with:
+ ;; tap-driver.sh: internal error getting exit status
+ ;; tap-driver.sh: fatal: I/O or internal error
+ #:tests? #f))
+ (native-inputs
+ `(("attr" ,attr) ; for tests
+ ("bison" ,bison)
+ ("glib:bin" ,glib "bin") ; for 'glib-mkenums'
+ ("gobject-introspection" ,gobject-introspection)
+ ("pkg-config" ,pkg-config)
+ ("xsltproc" ,libxslt)))
+ (inputs
+ `(("avahi" ,avahi)
+ ("docbook-xml" ,docbook-xml-4.2)
+ ("docbook-xsl" ,docbook-xsl)
+ ("e2fsprogs" ,e2fsprogs)
+ ("fuse" ,fuse)
+ ("glib" ,glib)
+ ("gpgme" ,gpgme)
+ ("libarchive" ,libarchive)
+ ("libsoup" ,libsoup)
+ ("nettle" ,nettle) ; required by 'libarchive.la'
+ ("util-linux" ,util-linux)))
+ (home-page "https://ostree.readthedocs.io/en/latest/")
+ (synopsis "Operating system and container binary deployment and upgrades")
+ (description
+ "@code{libostree} is both a shared library and suite of command line
+tools that combines a \"git-like\" model for committing and downloading
+bootable filesystem trees, along with a layer for deploying them and managing
+the bootloader configuration.")
+ (license license:lgpl2.0+)))