mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
Merge branch 'master' into core-updates
This commit is contained in:
commit
c17383f400
41 changed files with 1915 additions and 252 deletions
11
HACKING
11
HACKING
|
@ -46,9 +46,14 @@ configure Git to automatically sign commits, run:
|
|||
git config commit.gpgsign true
|
||||
git config user.signingkey CABBA6EA1DC0FF33
|
||||
|
||||
You can prevent yourself from accidentally pushing unsigned commits to Savannah
|
||||
by using the pre-push Git hook called 'pre-push'. It's located at
|
||||
'etc/git/pre-push'.
|
||||
You can prevent yourself from accidentally pushing unsigned commits to
|
||||
Savannah by using the pre-push Git hook called located at ‘etc/git/pre-push’:
|
||||
|
||||
cp etc/git/pre-push .git/hooks/pre-push
|
||||
|
||||
When pushing a commit on behalf of somebody else, please add a Signed-off-by
|
||||
line at the end of the commit log message (e.g. with ‘git am --signoff’).
|
||||
This improves tracking of who did what.
|
||||
|
||||
For anything else, please post to guix-patches@gnu.org and leave time for a
|
||||
review, without committing anything. If you didn’t receive any reply
|
||||
|
|
12
Makefile.am
12
Makefile.am
|
@ -129,7 +129,6 @@ MODULES = \
|
|||
guix/import/cabal.scm \
|
||||
guix/import/cran.scm \
|
||||
guix/import/hackage.scm \
|
||||
guix/import/stackage.scm \
|
||||
guix/import/elpa.scm \
|
||||
guix/scripts.scm \
|
||||
guix/scripts/download.scm \
|
||||
|
@ -168,15 +167,16 @@ if HAVE_GUILE_JSON
|
|||
|
||||
MODULES += \
|
||||
guix/docker.scm \
|
||||
guix/import/cpan.scm \
|
||||
guix/import/crate.scm \
|
||||
guix/import/gem.scm \
|
||||
guix/import/github.scm \
|
||||
guix/import/json.scm \
|
||||
guix/import/crate.scm \
|
||||
guix/scripts/import/crate.scm \
|
||||
guix/import/pypi.scm \
|
||||
guix/scripts/import/pypi.scm \
|
||||
guix/import/cpan.scm \
|
||||
guix/import/stackage.scm \
|
||||
guix/scripts/import/crate.scm \
|
||||
guix/scripts/import/gem.scm \
|
||||
guix/import/gem.scm
|
||||
guix/scripts/import/pypi.scm
|
||||
|
||||
endif
|
||||
|
||||
|
|
731
doc/guix.texi
731
doc/guix.texi
File diff suppressed because it is too large
Load diff
|
@ -12,6 +12,7 @@
|
|||
# Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com>
|
||||
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
# Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -424,6 +425,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/services/nfs.scm \
|
||||
%D%/services/shepherd.scm \
|
||||
%D%/services/herd.scm \
|
||||
%D%/services/pm.scm \
|
||||
%D%/services/sddm.scm \
|
||||
%D%/services/spice.scm \
|
||||
%D%/services/ssh.scm \
|
||||
|
@ -464,6 +466,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/tests/install.scm \
|
||||
%D%/tests/mail.scm \
|
||||
%D%/tests/messaging.scm \
|
||||
%D%/tests/networking.scm \
|
||||
%D%/tests/ssh.scm \
|
||||
%D%/tests/web.scm
|
||||
|
||||
|
@ -685,6 +688,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libevent-2.1-dns-tests.patch \
|
||||
%D%/packages/patches/libevent-2.1-skip-failing-test.patch \
|
||||
%D%/packages/patches/libextractor-ffmpeg-3.patch \
|
||||
%D%/packages/patches/libgit2-use-after-free.patch \
|
||||
%D%/packages/patches/libjxr-fix-function-signature.patch \
|
||||
%D%/packages/patches/libjxr-fix-typos.patch \
|
||||
%D%/packages/patches/liboop-mips64-deplibs-fix.patch \
|
||||
|
|
|
@ -52,8 +52,8 @@ (define-public audacity
|
|||
(inputs
|
||||
;; TODO: Add portSMF and libwidgetextra once they're packaged. In-tree
|
||||
;; versions shipping with Audacity are used for now.
|
||||
`(("wxwidgets" ,wxwidgets)
|
||||
("gtk" ,gtk+)
|
||||
`(("wxwidgets" ,wxwidgets-gtk2)
|
||||
("gtk" ,gtk+-2)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("jack" ,jack-1)
|
||||
("expat" ,expat)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -29,7 +29,7 @@ (define-module (gnu packages ccache)
|
|||
(define-public ccache
|
||||
(package
|
||||
(name "ccache")
|
||||
(version "3.3.3")
|
||||
(version "3.3.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -37,7 +37,7 @@ (define-public ccache
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v04ky2mhvx8gnqfbs9x2vvf4i9mzph4fwdg72s9xyhwv92sf0iv"))))
|
||||
"0ks0vk408mdppfbk8v38p46fqx3p30r9a9cwiia43373i7rmpw94"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl) ;for test.sh
|
||||
("which" ,(@ (gnu packages base) which))))
|
||||
|
|
|
@ -318,14 +318,14 @@ (define-public yadifa
|
|||
(define-public knot
|
||||
(package
|
||||
(name "knot")
|
||||
(version "2.4.1")
|
||||
(version "2.4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0k3hkc6vqj8yd479zdn80ki5f0vnjhrm4fka7kfj9z7mkgwxsr60"))
|
||||
"0licfnjl0mq9lzdn6frzdasrj65253xc9n33dhvxcjqr3z7pznip"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1080,6 +1081,26 @@ (define-public bbdb
|
|||
mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-aggressive-indent
|
||||
(package
|
||||
(name "emacs-aggressive-indent")
|
||||
(version "1.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/"
|
||||
"aggressive-indent-" version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://elpa.gnu.org/packages/aggressive-indent.html")
|
||||
(synopsis "Minor mode to aggressively keep your code always indented")
|
||||
(description
|
||||
"@code{aggressive-indent-mode} is a minor mode that keeps your code
|
||||
always indented. It reindents after every change, making it more reliable
|
||||
than @code{electric-indent-mode}.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-ag
|
||||
(package
|
||||
(name "emacs-ag")
|
||||
|
@ -1396,6 +1417,25 @@ (define-public emacs-d-mode
|
|||
work with Emacs 24 and 25.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-keyfreq
|
||||
(package
|
||||
(name "emacs-keyfreq")
|
||||
(version "20160516.716")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://melpa.org/packages/keyfreq-"
|
||||
version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"008hd7d06qskc3mx0bbdgpgy2pwxr8185fzlyqf9qjg49y74p6g8"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/dacap/keyfreq")
|
||||
(synopsis "Track Emacs command frequencies")
|
||||
(description "@code{emacs-keyfeq} tracks and shows how many times you used
|
||||
a command.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-undo-tree
|
||||
(package
|
||||
(name "emacs-undo-tree")
|
||||
|
@ -1443,6 +1483,25 @@ (define-public emacs-s
|
|||
strings.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-symon
|
||||
(package
|
||||
(name "emacs-symon")
|
||||
(version "20170224.33")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://melpa.org/packages/symon-"
|
||||
version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"109jd7yjhdrrf5jqpqyv543nb28g7065z58bji9pvxanzi4zl2iz"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "http://hins11.yu-yake.com/")
|
||||
(synopsis "Tiny graphical system monitor")
|
||||
(description
|
||||
"Tiny graphical system monitor for the Emacs minibuffer when idle.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-sx
|
||||
(package
|
||||
(name "emacs-sx")
|
||||
|
@ -3364,6 +3423,26 @@ (define-public emacs-goto-chg
|
|||
used for reverse direction.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-monroe
|
||||
(package
|
||||
(name "emacs-monroe")
|
||||
(version "20170220.540")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://melpa.org/packages/monroe-"
|
||||
version ".el"))
|
||||
(sha256
|
||||
(base32
|
||||
"06p0qdhg4arwij1qpiiiwsd0m1bbl1qwd20ij2bmhryrvrcpswq3"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "http://www.github.com/sanel/monroe")
|
||||
(synopsis "Clojure nREPL client for Emacs")
|
||||
(description
|
||||
"Monroe is a nREPL client for Emacs, focused on simplicity and easy
|
||||
distribution, primarily targeting Clojure users")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-writegood-mode
|
||||
(package
|
||||
(name "emacs-writegood-mode")
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
|
@ -674,3 +674,46 @@ (define-public python-pygame
|
|||
|
||||
(define-public python2-pygame
|
||||
(package-with-python2 python-pygame))
|
||||
|
||||
(define-public grafx2
|
||||
(package
|
||||
(name "grafx2")
|
||||
(version "2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; XXX: There is no URL that contains the version. :(
|
||||
(uri "http://pulkomandy.tk/projects/GrafX2/downloads/21")
|
||||
(sha256
|
||||
(base32
|
||||
"0svsy6rqmdj11b400c242i2ixihyz0hds0dgicqz6g6dcgmcl62q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'build 'change-to-src-directory
|
||||
(lambda _
|
||||
(chdir "src")
|
||||
#t)))
|
||||
#:make-flags
|
||||
;; SDL header files are referenced without the preceeding "SDL/".
|
||||
(list (string-append "CFLAGS=-I"
|
||||
(assoc-ref %build-inputs "sdl-union")
|
||||
"/include/SDL")
|
||||
(string-append "prefix="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:tests? #f)) ; no check target
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libpng" ,libpng)
|
||||
("lua" ,lua-5.1)
|
||||
("sdl-union" ,(sdl-union (list sdl sdl-image sdl-ttf)))))
|
||||
(synopsis "Bitmap paint program")
|
||||
(description "GrafX2 is a bitmap paint program inspired by the Amiga
|
||||
programs Deluxe Paint and Brilliance. Specializing in 256-color drawing, it
|
||||
includes a very large number of tools and effects that make it particularly
|
||||
suitable for pixel art, game graphics, and generally any detailed graphics
|
||||
painted with a mouse.")
|
||||
(home-page "http://pulkomandy.tk/projects/GrafX2")
|
||||
(license license:gpl2))) ; GPLv2 only
|
||||
|
|
|
@ -2528,7 +2528,7 @@ (define-public colord
|
|||
(define-public geoclue
|
||||
(package
|
||||
(name "geoclue")
|
||||
(version "2.4.4")
|
||||
(version "2.4.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2537,7 +2537,7 @@ (define-public geoclue
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0p1ibjf5vzjsahw5xif2si3lj6a00sxhll008jk7w1hj1jfznhww"))
|
||||
"1dnknrwln159dj7pdprnfa4zjprgslabxngmn11jyjwvbi2zfzf5"))
|
||||
(patches (search-patches "geoclue-config.patch"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
|
@ -3711,7 +3711,7 @@ (define-public simple-scan
|
|||
(define-public epiphany
|
||||
(package
|
||||
(name "epiphany")
|
||||
(version "3.22.6")
|
||||
(version "3.22.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
|
@ -3719,7 +3719,7 @@ (define-public epiphany
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hpwjwiviwh9dgc9cwq0gmr5jy40rvigjcq0cbg2nw2hqiyshzny"))))
|
||||
"1167x5s0kawkqngjnzml0a11ib18raxqc4p11kacivj4jv0pwnx1"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
;; FIXME: tests run under Xvfb, but fail with:
|
||||
|
|
|
@ -1025,7 +1025,7 @@ (define-public haunt
|
|||
(arguments
|
||||
`(#:modules ((ice-9 match) (ice-9 ftw)
|
||||
,@%gnu-build-system-modules)
|
||||
|
||||
#:tests? #f ; test suite is non-deterministic :(
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-haunt
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
|
|
@ -8234,4 +8234,65 @@ (define-public ghc-unexceptionalio
|
|||
handled safely, this is what you're left with.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public ghc-json
|
||||
(package
|
||||
(name "ghc-json")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://hackage.haskell.org/package/json/"
|
||||
"json-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18l5027vc68hnnxrxlnyl59vkkg95a92m1zzms0dqiby2r6pxdcn"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs
|
||||
`(("ghc-syb" ,ghc-syb)
|
||||
("ghc-mtl" ,ghc-mtl)
|
||||
("ghc-text" ,ghc-text)
|
||||
("ghc-parsec" ,ghc-parsec)))
|
||||
(home-page "http://hackage.haskell.org/package/json")
|
||||
(synopsis "Serializes Haskell data to and from JSON")
|
||||
(description "This package provides a parser and pretty printer for
|
||||
converting between Haskell values and JSON.
|
||||
JSON (JavaScript Object Notation) is a lightweight data-interchange format.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public shellcheck
|
||||
(package
|
||||
(name "shellcheck")
|
||||
(version "0.4.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/koalaman/shellcheck/archive/"
|
||||
"v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14r84fcn28rin339avlvca5g0kz832f01x8dpmwb5ql8mbc4rlxr"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs
|
||||
`(("ghc-quickcheck" ,ghc-quickcheck)
|
||||
("ghc-json" ,ghc-json)
|
||||
("ghc-mtl" ,ghc-mtl)
|
||||
("ghc-parsec" ,ghc-parsec)
|
||||
("ghc-regex-tdfa" ,ghc-regex-tdfa)))
|
||||
(home-page "https://github.com/koalaman/shellcheck")
|
||||
(synopsis "Static analysis for shell scripts")
|
||||
(description "@code{shellcheck} provides static analysis for
|
||||
@command{bash} and @command{sh} shell scripts.
|
||||
It gives warnings and suggestions in order to:
|
||||
|
||||
@enumerate
|
||||
@item Point out and clarify typical beginner's syntax issues that cause
|
||||
a shell to give cryptic error messages.
|
||||
@item Point out and clarify typical intermediate level semantic problems
|
||||
that cause a shell to behave strangely and counter-intuitively.
|
||||
@item Point out subtle caveats, corner cases and pitfalls that may cause an
|
||||
advanced user's otherwise working script to fail under future circumstances.
|
||||
@end enumerate")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;;; haskell.scm ends here
|
||||
|
|
|
@ -348,8 +348,8 @@ (define* (make-linux-libre version hash supported-systems
|
|||
|
||||
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
|
||||
|
||||
(define %linux-libre-version "4.10.4")
|
||||
(define %linux-libre-hash "0cmz4y8pb3sdag32bsrn7vg1i8v9rymfspg85ipkbamm53c7v54g")
|
||||
(define %linux-libre-version "4.10.5")
|
||||
(define %linux-libre-hash "0qxanna5a82vyh5yb3mv8vvx5i9kdzmq2p6q7xp1fy88x9gj11xb")
|
||||
|
||||
(define-public linux-libre
|
||||
(make-linux-libre %linux-libre-version
|
||||
|
@ -358,14 +358,14 @@ (define-public linux-libre
|
|||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.9
|
||||
(make-linux-libre "4.9.16"
|
||||
"0n7y7h7ps4l1pr9d0m75hkw41jnfyw301r343dsaznwc0lpq3ch7"
|
||||
(make-linux-libre "4.9.17"
|
||||
"1543b159s6v5z9l2bskw9rd6v8d98da8sppd34lz7nin6nk00cpk"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.4
|
||||
(make-linux-libre "4.4.55"
|
||||
"1m4h3wi4j573hny1yfi9qwkiicx2bx3gwy52zpr8bhxpyqz0d2dl"
|
||||
(make-linux-libre "4.4.56"
|
||||
"16fa4rf6vdyakvjis2ahvzdw87znsqgxd84458y86z2szwbaym7n"
|
||||
%intel-compatible-systems
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
|
@ -2054,6 +2054,7 @@ (define-public lm-sensors
|
|||
"https://github.com/groeck/lm-sensors/archive/V"
|
||||
(string-join (string-split version #\.) "-")
|
||||
".tar.gz")))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0knb09s9lvx0wzfsaizx3xq58q6kllqf7nkbwvir0wkgn31c2d73"))
|
||||
|
@ -3155,14 +3156,14 @@ (define-public module-init-tools
|
|||
(define-public mcelog
|
||||
(package
|
||||
(name "mcelog")
|
||||
(version "148")
|
||||
(version "149")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/"
|
||||
"mcelog.git/snapshot/v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d5g09ndfsnl56vyhb5xw0zxspnh0f937biw3agqhdfbvw40j9jr"))
|
||||
"08hd8bl9rgss990icb69srarrfwcg8k7py979ak753j92ybbkhdm"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -3489,7 +3490,7 @@ (define-public tlp
|
|||
(setenv "TLP_BIN" (string-append out "/bin"))
|
||||
(setenv "TLP_TLIB" (string-append out "/share/tlp-pm"))
|
||||
(setenv "TLP_ULIB" (string-append out "/lib/udev"))
|
||||
(setenv "TLP_CONF" (string-append out "/etc/tlp"))
|
||||
(setenv "TLP_CONF" "/etc/tlp")
|
||||
(setenv "TLP_SHCPL"
|
||||
(string-append out "/share/bash-completion/completions"))
|
||||
(setenv "TLP_MAN" (string-append out "/share/man")))))
|
||||
|
|
|
@ -892,7 +892,7 @@ (define-public compface
|
|||
(define-public claws-mail
|
||||
(package
|
||||
(name "claws-mail")
|
||||
(version "3.14.1")
|
||||
(version "3.15.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -900,7 +900,7 @@ (define-public claws-mail
|
|||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0df34gj4r5cbb92834hph19gnh7ih9rgmmw47rliyg8b9z01v6mp"))))
|
||||
"0bnwd3l04y6j1nw3h861rdy6k6lyjzsi51j04d33vbpq8c6jskaf"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("bogofilter" ,bogofilter)
|
||||
|
|
|
@ -70,6 +70,7 @@ (define-module (gnu packages maths)
|
|||
#:use-module (gnu packages less)
|
||||
#:use-module (gnu packages lisp)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages xorg)
|
||||
|
@ -495,7 +496,8 @@ (define-public gnuplot
|
|||
(inputs `(("readline" ,readline)
|
||||
("cairo" ,cairo)
|
||||
("pango" ,pango)
|
||||
("gd" ,gd)))
|
||||
("gd" ,gd)
|
||||
("lua" ,lua)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("texlive" ,texlive-minimal)))
|
||||
(home-page "http://www.gnuplot.info")
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
|
||||
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
|
||||
|
@ -236,14 +236,14 @@ (define-public cmus
|
|||
(define-public denemo
|
||||
(package
|
||||
(name "denemo")
|
||||
(version "2.0.14")
|
||||
(version "2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/denemo/denemo-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a7g38695g7jjypx25qp0dx0asrh72xwdj0mdhmb9pfyzlppq0wh"))))
|
||||
"0hggf8c4xcrjcxd5m00r788r7jg7g8ff54w2idfaqpj5j2ix3299"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
24
gnu/packages/patches/libgit2-use-after-free.patch
Normal file
24
gnu/packages/patches/libgit2-use-after-free.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
This patch is taken from <https://github.com/libgit2/libgit2/pull/4122>;
|
||||
we need it to fix the use-after-free error in 'git_commit_extract_signature'
|
||||
reported at <https://github.com/libgit2/libgit2/issues/4118>.
|
||||
|
||||
From ade0d9c658fdfc68d8046935f6908f033fe7a529 Mon Sep 17 00:00:00 2001
|
||||
From: Patrick Steinhardt <ps@pks.im>
|
||||
Date: Mon, 13 Feb 2017 13:46:17 +0100
|
||||
Subject: [PATCH 3/3] commit: avoid possible use-after-free
|
||||
|
||||
diff --git a/src/commit.c b/src/commit.c
|
||||
index 89a4db1..05b70a9 100644
|
||||
--- a/src/commit.c
|
||||
+++ b/src/commit.c
|
||||
@@ -766,8 +766,9 @@ int git_commit_extract_signature(git_buf *signature, git_buf *signed_data, git_r
|
||||
if (git_buf_oom(signature))
|
||||
goto oom;
|
||||
|
||||
+ error = git_buf_puts(signed_data, eol+1);
|
||||
git_odb_object_free(obj);
|
||||
- return git_buf_puts(signed_data, eol+1);
|
||||
+ return error;
|
||||
}
|
||||
|
||||
giterr_set(GITERR_OBJECT, "this commit is not signed");
|
|
@ -380,7 +380,7 @@ (define-public perl-base
|
|||
(define-public perl-b-hooks-endofscope
|
||||
(package
|
||||
(name "perl-b-hooks-endofscope")
|
||||
(version "0.13")
|
||||
(version "0.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -388,7 +388,7 @@ (define-public perl-b-hooks-endofscope
|
|||
"B-Hooks-EndOfScope-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1f5d0lbkwf23dfjn60g6fynmjhy5rxdyxcpdfb07srm73qpg2zpi"))))
|
||||
"0b70vbpabsy9ia366k330cz1zbdyb1pwhb0l7j28pmpih045iwwh"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-module-runtime" ,perl-module-runtime)
|
||||
|
@ -603,7 +603,7 @@ (define-public perl-cache-fastmmap
|
|||
(define-public perl-capture-tiny
|
||||
(package
|
||||
(name "perl-capture-tiny")
|
||||
(version "0.28")
|
||||
(version "0.46")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -612,7 +612,7 @@ (define-public perl-capture-tiny
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"117gmwipql1y5xnw9jil3lhdsrf2wsm9wjdzqj66x971n3fwm573"))))
|
||||
"05bhlx6d4nzamhkkh0pkckg7wlvaq6mazf7q1fbb5wpp1j1nlyjx"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Capture-Tiny")
|
||||
(synopsis "Capture STDOUT and STDERR from Perl, XS or external programs")
|
||||
|
@ -973,7 +973,7 @@ (define-public perl-class-inspector
|
|||
(define-public perl-class-load
|
||||
(package
|
||||
(name "perl-class-load")
|
||||
(version "0.22")
|
||||
(version "0.23")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -981,7 +981,7 @@ (define-public perl-class-load
|
|||
"Class-Load-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"049i285yj8hwgzj7nncjbs2bhxvpdk88wmx1d0nh0rdmh5hdnlmy"))))
|
||||
"13xjfh4fadq4pkq7fcj42b26544jl7gqdg2y3imnra9fwxwsbg7j"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build-tiny" ,perl-module-build-tiny)
|
||||
|
@ -1154,14 +1154,14 @@ (define-public perl-class-xsaccessor
|
|||
(define-public perl-clone
|
||||
(package
|
||||
(name "perl-clone")
|
||||
(version "0.37")
|
||||
(version "0.38")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/G/GA/GARU/"
|
||||
"Clone-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17fdhxpzrq2nwim3zkcrz4m9gjixp0i886yz54ysrshxy3k53wnr"))))
|
||||
"1s5xrv9zlckqqzyhxi0l9lwj9m6na2bz5hqxrkva2v7gnx5m7c4z"))))
|
||||
(build-system perl-build-system)
|
||||
(synopsis "Recursively copy Perl datatypes")
|
||||
(description
|
||||
|
@ -1175,7 +1175,7 @@ (define-public perl-clone
|
|||
(define-public perl-common-sense
|
||||
(package
|
||||
(name "perl-common-sense")
|
||||
(version "3.73")
|
||||
(version "3.74")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1183,7 +1183,7 @@ (define-public perl-common-sense
|
|||
"common-sense-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"047xwgpn5611zrhk4c8vk9pzcbk1q7n3q0lfiwhhq7k4fbjca441"))))
|
||||
"1wxv2s0hbjkrnssvxvsds0k213awg5pgdlrpkr6xkpnimc17s7vp"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/common-sense")
|
||||
(synopsis "Sane defaults for Perl programs")
|
||||
|
@ -1307,7 +1307,7 @@ (define-public perl-context-preserve
|
|||
(define-public perl-cpan-meta-check
|
||||
(package
|
||||
(name "perl-cpan-meta-check")
|
||||
(version "0.009")
|
||||
(version "0.011")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1315,7 +1315,7 @@ (define-public perl-cpan-meta-check
|
|||
"CPAN-Meta-Check-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qbk5dwvhd78qgq5x6nim2n0l78pylvlklpbrm56w9yss6pl6bgb"))))
|
||||
"0nxi0xhhd3dwhgri3l8z8gpz2ibvhm5k7jjls8xmnlh0v84p04kh"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs `(("perl-test-deep" ,perl-test-deep)))
|
||||
(propagated-inputs `(("perl-cpan-meta" ,perl-cpan-meta)))
|
||||
|
@ -2285,7 +2285,7 @@ (define-public perl-devel-lexalias
|
|||
(define-public perl-devel-overloadinfo
|
||||
(package
|
||||
(name "perl-devel-overloadinfo")
|
||||
(version "0.002")
|
||||
(version "0.004")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2293,8 +2293,10 @@ (define-public perl-devel-overloadinfo
|
|||
"Devel-OverloadInfo-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14gzjlsqhypqp0szqj6152qfn69snzydgk1yk6bji5zimzv86qyy"))))
|
||||
"0zckjhzdqa6smpp98y15mqafsyzwjxwrvk10snzhn2sb0r889s43"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-fatal" ,perl-test-fatal)))
|
||||
(propagated-inputs
|
||||
`(("perl-package-stash" ,perl-package-stash)
|
||||
("perl-sub-identify" ,perl-sub-identify)
|
||||
|
@ -2309,7 +2311,7 @@ (define-public perl-devel-overloadinfo
|
|||
(define-public perl-devel-partialdump
|
||||
(package
|
||||
(name "perl-devel-partialdump")
|
||||
(version "0.17")
|
||||
(version "0.18")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2317,7 +2319,7 @@ (define-public perl-devel-partialdump
|
|||
"Devel-PartialDump-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nr3qa68x4yp219kd17j1ks9c95qc9agfvz7ddnpn8p78f3kgwfn"))))
|
||||
"0i1khiyi4h4h8vfwn7xip5c53z2hb2rk6407f3csvrdsiibvy53q"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build-tiny" ,perl-module-build-tiny)
|
||||
|
@ -3002,6 +3004,34 @@ (define-public perl-file-path
|
|||
file system.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-file-pushd
|
||||
(package
|
||||
(name "perl-file-pushd")
|
||||
(version "1.014")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02rlqvyy7gly3dsqwaa81aisyy9c791b8xvwzczcbgmcwgzkgaxm"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page
|
||||
"http://search.cpan.org/dist/File-pushd")
|
||||
(synopsis
|
||||
"Change directory temporarily for a limited scope")
|
||||
(description "@code{File::pushd} does a temporary @code{chdir} that is
|
||||
easily and automatically reverted, similar to @code{pushd} in some Unix
|
||||
command shells. It works by creating an object that caches the original
|
||||
working directory. When the object is destroyed, the destructor calls
|
||||
@code{chdir} to revert to the original working directory. By storing the
|
||||
object in a lexical variable with a limited scope, this happens automatically
|
||||
at the end of the scope.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public perl-file-list
|
||||
(package
|
||||
(name "perl-file-list")
|
||||
|
@ -4316,7 +4346,7 @@ (define-public perl-module-runtime
|
|||
(define-public perl-module-runtime-conflicts
|
||||
(package
|
||||
(name "perl-module-runtime-conflicts")
|
||||
(version "0.001")
|
||||
(version "0.003")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -4324,7 +4354,7 @@ (define-public perl-module-runtime-conflicts
|
|||
"Module-Runtime-Conflicts-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0pz23ch78lbpn4kdbm04icgsmbr7jvmxwq1p5m4x2pap8qwd0wqg"))))
|
||||
"0x9qfg4pq70v1rl9dfk775fmca7ia308m24vfy8zww4c0dsxqz3h"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)))
|
||||
|
@ -4416,14 +4446,14 @@ (define-public perl-moo
|
|||
(define-public perl-moose
|
||||
(package
|
||||
(name "perl-moose")
|
||||
(version "2.1403")
|
||||
(version "2.2004")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
|
||||
"Moose-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16iaazikbnq2jjjac84jrdpfzm4qwqg1nbfgs11jlwn84q4jp1n3"))))
|
||||
"1c6jx2lnrh2mi9wlj2c0sirj6345xmbpr34ax8d85mcginzq3j74"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-cpan-meta-check" ,perl-cpan-meta-check)
|
||||
|
@ -5227,7 +5257,7 @@ (define-public perl-package-anon
|
|||
(define-public perl-package-deprecationmanager
|
||||
(package
|
||||
(name "perl-package-deprecationmanager")
|
||||
(version "0.13")
|
||||
(version "0.17")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5235,7 +5265,7 @@ (define-public perl-package-deprecationmanager
|
|||
"Package-DeprecationManager-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fkvq3xxwc3l5hg64dr9sj3l12dl59i44cg407qx9sd6r51j3qfi"))))
|
||||
"0jv8svfh1c1q4vxlkf8vjfbdq3n2sj3nx5llv1qrhp1b93d3lx0x"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-fatal" ,perl-test-fatal)
|
||||
|
@ -5375,7 +5405,7 @@ (define-public perl-params-util
|
|||
(define-public perl-params-validate
|
||||
(package
|
||||
(name "perl-params-validate")
|
||||
(version "1.17")
|
||||
(version "1.26")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5383,7 +5413,7 @@ (define-public perl-params-validate
|
|||
"Params-Validate-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wh23i9kkma6493c0q1kvy6wmahd6spg6xm3xbp2ar1iy1xhks5l"))))
|
||||
"1vbj78qd46ip09i06dsbb62jfwpzp4bg7yi617v98nvim77w66l2"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)
|
||||
|
@ -5997,7 +6027,7 @@ (define-public perl-sub-install
|
|||
(define-public perl-sub-name
|
||||
(package
|
||||
(name "perl-sub-name")
|
||||
(version "0.12")
|
||||
(version "0.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -6005,7 +6035,7 @@ (define-public perl-sub-name
|
|||
"Sub-Name-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sdlc8pv7vyyc48gzh70hbwzn0hzwl3zbcy2dkmfw8vjzgya5i06"))))
|
||||
"05viq8scqk29g964fsfvls2rhvlb8myz3jblwh5c2ivhw3gfjcmx"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-devel-checkbin" ,perl-devel-checkbin)))
|
||||
|
@ -6390,7 +6420,7 @@ (define-public perl-test-class-most
|
|||
(define-public perl-test-cleannamespaces
|
||||
(package
|
||||
(name "perl-test-cleannamespaces")
|
||||
(version "0.16")
|
||||
(version "0.22")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -6398,13 +6428,15 @@ (define-public perl-test-cleannamespaces
|
|||
"Test-CleanNamespaces-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ynrds515gcq954z34zm03rgcx0dskiaz7qj0k7k5gmrjj1kfycp"))))
|
||||
"1jma95agqqy7iwdcl6jbg1waqz7mjqng4l046lpknhfxjhcj4al6"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-requires" ,perl-test-requires)
|
||||
`(("perl-file-pushd" ,perl-file-pushd)
|
||||
("perl-test-requires" ,perl-test-requires)
|
||||
("perl-test-deep" ,perl-test-deep)
|
||||
("perl-test-warnings" ,perl-test-warnings)
|
||||
("perl-test-tester" ,perl-test-tester)))
|
||||
("perl-test-tester" ,perl-test-tester)
|
||||
("perl-test-needs" ,perl-test-needs)))
|
||||
(propagated-inputs
|
||||
`(("perl-namespace-clean" ,perl-namespace-clean)
|
||||
("perl-package-stash" ,perl-package-stash)
|
||||
|
@ -6496,7 +6528,7 @@ (define-public perl-test-directory
|
|||
(define-public perl-test-exception
|
||||
(package
|
||||
(name "perl-test-exception")
|
||||
(version "0.36")
|
||||
(version "0.43")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -6504,7 +6536,7 @@ (define-public perl-test-exception
|
|||
"Test-Exception-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zpwimspbq11wjrli481qk17aabzxab15cnnryflx45nzn3za2xk"))))
|
||||
"0cxm7s4bg0xpxa6l6996a6iq3brr4j7p4hssnkc6dxv4fzq16sqm"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)))
|
||||
|
@ -6733,6 +6765,34 @@ (define-public perl-test-most
|
|||
bit more fine-grained control over test suites.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-test-needs
|
||||
(package
|
||||
(name "perl-test-needs")
|
||||
(version "0.002005")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/H/HA/HAARG/Test-Needs-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16gkgpmr9hvkz382iaqd3500269lk2d44fqaw3dsrvc66nc36kss"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page
|
||||
"http://search.cpan.org/dist/Test-Needs")
|
||||
(synopsis
|
||||
"Skip tests when modules not available")
|
||||
(description "@code{Test::Needs} allows you to skip test scripts if
|
||||
modules are not available. The requested modules will be loaded, and
|
||||
optionally have their versions checked. If the module is missing, the test
|
||||
script will be skipped. Modules that are found but fail to compile will exit
|
||||
with an error rather than skip.
|
||||
|
||||
If used in a subtest, the remainder of the subtest will be skipped.")
|
||||
(license (package-license perl))))
|
||||
|
||||
(define-public perl-test-nowarnings
|
||||
(package
|
||||
(name "perl-test-nowarnings")
|
||||
|
@ -6913,14 +6973,14 @@ (define-public perl-test-sharedfork
|
|||
(define-public perl-test-simple
|
||||
(package
|
||||
(name "perl-test-simple")
|
||||
(version "1.302062")
|
||||
(version "1.302078")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
|
||||
"Test-Simple-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sjny65iwnin35lvc203pb07gyx9wrp3gmn6lfrjsbmi986hcab7"))))
|
||||
"05acl24kmz3dgr2nayy162yaf0kz92h1j5vkiavyv6mdh2lz6ixb"))))
|
||||
(build-system perl-build-system)
|
||||
(synopsis "Basic utilities for writing tests")
|
||||
(description
|
||||
|
@ -7021,7 +7081,7 @@ (define-public perl-test-warn
|
|||
(define-public perl-test-warnings
|
||||
(package
|
||||
(name "perl-test-warnings")
|
||||
(version "0.020")
|
||||
(version "0.026")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -7029,7 +7089,7 @@ (define-public perl-test-warnings
|
|||
"Test-Warnings-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x262kybrdnbiiw53m1axp4zyh4lsfb9mm2shmpm8lwf7sp30isi"))))
|
||||
"024srkwjckp15dxkni9lb1hc8bg4xwc52zz0iich8rv1nnqnhaxf"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Test-Warnings")
|
||||
(synopsis "Test for warnings and the lack of them")
|
||||
|
@ -7478,7 +7538,7 @@ (define-public perl-time-duration
|
|||
(define-public perl-time-duration-parse
|
||||
(package
|
||||
(name "perl-time-duration-parse")
|
||||
(version "0.11")
|
||||
(version "0.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -7486,7 +7546,7 @@ (define-public perl-time-duration-parse
|
|||
"Time-Duration-Parse-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yk4cqkldwzkfy9y9ngqrj7p7sbsrsfa26mrm8f70z5n5m8q31x0"))))
|
||||
"0affdzhsiy7dr6dzj2p6m9lynmjh53k31bprfsfa21pz8551hjj1"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-time-duration" ,perl-time-duration)))
|
||||
|
@ -7624,7 +7684,7 @@ (define-public perl-try-tiny
|
|||
"068vdbpacfawc3lkfs0b82xxl27h3l0gj14iada3vlwk8rps9yv0"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Try-Tiny")
|
||||
(synopsis "Minimal try/catch with proper preservation of $@")
|
||||
(synopsis "Minimal try/catch with proper preservation of $@@")
|
||||
(description "This module provides bare bones try/catch/finally statements
|
||||
that are designed to minimize common mistakes with eval blocks, and nothing
|
||||
else.")
|
||||
|
@ -7781,7 +7841,7 @@ (define-public perl-universal-isa
|
|||
(define-public perl-variable-magic
|
||||
(package
|
||||
(name "perl-variable-magic")
|
||||
(version "0.55")
|
||||
(version "0.61")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -7789,7 +7849,7 @@ (define-public perl-variable-magic
|
|||
"Variable-Magic-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xzh2vy45ph80bp09j5fcjy8ydgn8yaxsa0fj831q6p1spvyniwg"))))
|
||||
"1mx6z36c3wk61x6lag6kyws5g1cba68cw20vrb92wan7ahpfkbxq"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Variable-Magic")
|
||||
(synopsis "Associate user-defined magic to variables from Perl")
|
||||
|
@ -7854,7 +7914,7 @@ (define-public perl-xs-object-magic
|
|||
(define-public perl-yaml
|
||||
(package
|
||||
(name "perl-yaml")
|
||||
(version "1.14")
|
||||
(version "1.23")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -7862,7 +7922,7 @@ (define-public perl-yaml
|
|||
"YAML-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sswbkyisgny7ksw34n7zdaxrhsbbn7dgjb9gjybpzhcnml476kc"))))
|
||||
"0kf8mllrgnrmlvjijxc6srjj1y9i8rik5jpjvm8jh4yx70h9gn1a"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-yaml" ,perl-test-yaml)))
|
||||
|
@ -7953,7 +8013,7 @@ (define-public perl-cpan-meta
|
|||
(define-public perl-cpan-meta-requirements
|
||||
(package
|
||||
(name "perl-cpan-meta-requirements")
|
||||
(version "2.131")
|
||||
(version "2.140")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -7961,7 +8021,7 @@ (define-public perl-cpan-meta-requirements
|
|||
"CPAN-Meta-Requirements-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12p5s7w3cwcrbpcrxzanvpr0syswhwlqzbaki6m044c45jix2fss"))))
|
||||
"1a8zflgaayycmn3zvd3n64yypa4jyl1va0h51wpr5w46irg69608"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/CPAN-Meta-Requirements")
|
||||
(synopsis "Set of version requirements for a CPAN dist")
|
||||
|
@ -7975,7 +8035,7 @@ (define-public perl-cpan-meta-requirements
|
|||
(define-public perl-cpan-meta-yaml
|
||||
(package
|
||||
(name "perl-cpan-meta-yaml")
|
||||
(version "0.012")
|
||||
(version "0.018")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -7983,7 +8043,7 @@ (define-public perl-cpan-meta-yaml
|
|||
"CPAN-Meta-YAML-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0a0d62w8d81kkas4j1h48znk0f0vrpibl31gvz9r8hm77dbqqwkw"))))
|
||||
"150jh9l7baddl2587m23qs2l0pb395qsx9bhsgdsnn6y9k4zgjik"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;Tests require Test::More >= 0.99
|
||||
|
@ -8023,15 +8083,16 @@ (define-public perl-module-build
|
|||
(define-public perl-parse-cpan-meta
|
||||
(package
|
||||
(name "perl-parse-cpan-meta")
|
||||
(version "1.4414")
|
||||
(version "2.150010")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
;; This module is now known as CPAN::Meta on CPAN.
|
||||
(uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/"
|
||||
"Parse-CPAN-Meta-" version ".tar.gz"))
|
||||
"CPAN-Meta-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06ya2rg599qanqb1fxiyrd489mvmdgzbw4ph23hwjwpv9lahhxnd"))))
|
||||
"1mm3dfw3ffyzb2ikpqn9l6zyqrxijb4vyywmbx2l21ryqwp0zy74"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-cpan-meta-yaml" ,perl-cpan-meta-yaml)))
|
||||
|
@ -8044,7 +8105,7 @@ (define-public perl-parse-cpan-meta
|
|||
(define-public perl-scalar-list-utils
|
||||
(package
|
||||
(name "perl-scalar-list-utils")
|
||||
(version "1.41")
|
||||
(version "1.47")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -8052,7 +8113,7 @@ (define-public perl-scalar-list-utils
|
|||
"Scalar-List-Utils-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04l1q4hps9n8b1hk9kpgpc1cryim7pl9sfdyb7fz5nq4gmz307j7"))))
|
||||
"1qgg6zxqwziva5j1k5gjks4xmhmgklm551ni3zb74sd9f9rk90y4"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "http://search.cpan.org/dist/Scalar-List-Utils")
|
||||
(synopsis "Common Scalar and List utility subroutines")
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2015 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
|
||||
;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||
|
@ -1342,15 +1342,13 @@ (define-public python2-dogtail
|
|||
;; spaces in indentation" with Python 3.
|
||||
(package
|
||||
(name "python2-dogtail")
|
||||
(version "0.8.2")
|
||||
(version "0.9.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://fedorahosted.org/released/dogtail/dogtail-"
|
||||
version ".tar.gz"))
|
||||
(uri (pypi-uri "dogtail" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yc4cg7ip87z15gyd4wy2vzbywrjc52a3m8r8gqy2b50d65llcg1"))))
|
||||
"0p5wfssvzr9w0bvhllzbbd8fnp4cca2qxcpcsc33dchrmh5n552x"))))
|
||||
(build-system python-build-system)
|
||||
(arguments `(#:python ,python-2
|
||||
#:tests? #f)) ; invalid command "test"
|
||||
|
@ -6746,10 +6744,7 @@ (define-public python-appdirs
|
|||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://pypi.python.org/packages/source/a/appdirs/appdirs-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(uri (pypi-uri "appdirs" version))
|
||||
(sha256
|
||||
(base32
|
||||
"14id6wxi12lgyw0mg3bcfnf888ad07jz9yj46gfzhn186z8rcn4y"))))
|
||||
|
|
|
@ -224,12 +224,9 @@ (define-public rustc
|
|||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-configure
|
||||
(lambda _
|
||||
;; Detect target CPU correctly.
|
||||
(substitute* "configure"
|
||||
(("/usr/bin/env") (which "env")))
|
||||
;; Avoid curl as a build dependency.
|
||||
(substitute* "configure"
|
||||
(("probe_need CFG_CURL curl") ""))
|
||||
(("/usr/bin/env") (which "env")) ; Detect target CPU correctly.
|
||||
(("probe_need CFG_CURL curl") "")) ; Avoid curl as a build dependency.
|
||||
#t))
|
||||
(add-after 'unpack 'set-env
|
||||
(lambda _
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -99,14 +99,14 @@ (define (copy dir)
|
|||
(define-public samba
|
||||
(package
|
||||
(name "samba")
|
||||
(version "4.5.3")
|
||||
(version "4.5.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.samba.org/pub/samba/stable/"
|
||||
"samba-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jif95684swssqwp9v3i2r08cn3r2iddf6ly68db4wmvl5ac8vgh"))))
|
||||
"004lzl059bc2wvkmivxiy96y87l4ajjw16qvkqcdhf86z2dg0w5c"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -122,16 +122,17 @@ (define-public samba
|
|||
;; XXX: heimdal not packaged.
|
||||
"--bundled-libraries=com_err"
|
||||
(string-append "--prefix=" out)
|
||||
"--sysconfdir=/etc"
|
||||
"--sysconfdir=/etc"
|
||||
;; Install public and private libraries into
|
||||
;; a single directory to avoid RPATH issues.
|
||||
(string-append "--libdir=" libdir)
|
||||
(string-append "--with-privatelibdir=" libdir))))))
|
||||
(add-before 'install 'disable-etc-samba-directory-creation
|
||||
(add-before 'install 'disable-etc-samba-directory-creation
|
||||
(lambda _
|
||||
(substitute* "dynconfig/wscript"
|
||||
(("bld\\.INSTALL_DIRS\\(\"\",[[:blank:]]{1,}\"\\$\\{CONFIGDIR\\}[[:blank:]]{1,}")
|
||||
"bld.INSTALL_DIRS(\"\", \"")))))
|
||||
"bld.INSTALL_DIRS(\"\", \""))
|
||||
#t)))
|
||||
;; XXX: The test infrastructure attempts to set password with
|
||||
;; smbpasswd, which fails with "smbpasswd -L can only be used by root."
|
||||
;; So disable tests until there's a workaround.
|
||||
|
@ -170,14 +171,14 @@ (define-public samba
|
|||
(define-public talloc
|
||||
(package
|
||||
(name "talloc")
|
||||
(version "2.1.8")
|
||||
(version "2.1.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.samba.org/ftp/talloc/talloc-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c3ihyb0jd8mhvi7gg2mr5w1zl2habx6jlkbyxzyckad2q8lkl92"))))
|
||||
"0qhhf4ib9k65sri2ky115iya6j7dgg0dsdi1r03j4cm3i35x9aph"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -197,7 +198,7 @@ (define-public talloc
|
|||
(string-append "--prefix=" out)))))))))
|
||||
(inputs
|
||||
`(("python" ,python-2)))
|
||||
(home-page "http://talloc.samba.org")
|
||||
(home-page "https://talloc.samba.org")
|
||||
(synopsis "Hierarchical, reference counted memory pool system")
|
||||
(description
|
||||
"Talloc is a hierarchical, reference counted memory pool system with
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -271,8 +272,11 @@ (define-public corkscrew
|
|||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.agroman.net/corkscrew/corkscrew-"
|
||||
version ".tar.gz"))
|
||||
;; The agroman.net domain name expired on 2017-03-23, and the original
|
||||
;; "http://www.agroman.net/corkscrew/corkscrew-2.0.tar.gz" now returns
|
||||
;; bogus HTML. Perhaps it will yet return. Until then, use a mirror.
|
||||
(uri (string-append "https://downloads.openwrt.org/sources/"
|
||||
"corkscrew-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1gmhas4va6gd70i2x2mpxpwpgww6413mji29mg282jms3jscn3qd"))))
|
||||
(build-system gnu-build-system)
|
||||
|
@ -295,26 +299,31 @@ (define-public corkscrew
|
|||
(setenv "CONFIG_SHELL" bash)
|
||||
(zero? (apply system* bash
|
||||
(string-append "." "/configure")
|
||||
flags))))))))
|
||||
flags)))))
|
||||
(add-after 'install 'install-documentation
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(doc (string-append out "/share/doc/corkscrew")))
|
||||
(install-file "README" doc)
|
||||
#t))))))
|
||||
(home-page "http://www.agroman.net/corkscrew")
|
||||
(synopsis "Tunneling SSH through HTTP proxies")
|
||||
(synopsis "SSH tunneling through HTTP(S) proxies")
|
||||
(description
|
||||
"Corkscrew allows creating TCP tunnels through HTTP proxies. WARNING:
|
||||
At the moment only plain text authentication is supported, should you require
|
||||
to use it with your HTTP proxy. Digest based authentication may be supported
|
||||
in future and NTLM based authentication is most likey never be supported.")
|
||||
"Corkscrew tunnels SSH connections through most HTTP and HTTPS proxies.
|
||||
Proxy authentication is only supported through the plain-text HTTP basic
|
||||
authentication scheme.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mosh
|
||||
(package
|
||||
(name "mosh")
|
||||
(version "1.2.6")
|
||||
(version "1.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://mosh.org/mosh-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"118fhpm754wpklf1blnlq5xbvrxqml6rdfs3b07wg666zkxvg0ky"))))
|
||||
"0xikz40q873g9ihvz3x6bwkcb9hb8kcnp5wpcmb72pg5c7s143ij"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -112,14 +112,14 @@ (define-public bazaar
|
|||
(define-public git
|
||||
(package
|
||||
(name "git")
|
||||
(version "2.12.1")
|
||||
(version "2.12.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18mdlg4ws78s4asfrn6licm9v6qw4wp9m0kdjq0y2r5pci1nf4fv"))))
|
||||
"0jlccxx7l4c76h830y8lhrxr4kqksrxqlnmj3xb8sqbfa0irw6nj"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("native-perl" ,perl)
|
||||
|
@ -132,7 +132,7 @@ (define-public git
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1km0sbrqgni0q88abh4zb1m7xa9ld3d4qi36095b11a3vr6w7xgv"))))))
|
||||
"0n4mgw5mbrr1hm0y7xgwixf9p6gy61m6qm67ldagpxxhwq2dmlby"))))))
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("expat" ,expat)
|
||||
|
@ -343,13 +343,25 @@ (define-public libgit2
|
|||
(("/bin/cp") (which "cp"))
|
||||
(("/bin/rm") (which "rm")))
|
||||
#t))
|
||||
(add-after 'unpack 'apply-patch
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; XXX: For some reason adding the patch in 'patches', which
|
||||
;; leads to a new tarball with all timestamps reset and ordering
|
||||
;; by name (slightly different file order compared to the
|
||||
;; original tarball) leads to an obscure Python error while
|
||||
;; running 'generate.py':
|
||||
;; 'Module' object has no attribute 'callbacks'
|
||||
;; Thus, apply the patch here, which minimizes disruption.
|
||||
(let ((patch (assoc-ref inputs "patch")))
|
||||
(zero? (system* "patch" "-p1" "--force" "--input" patch)))))
|
||||
;; Run checks more verbosely.
|
||||
(replace 'check
|
||||
(lambda _ (zero? (system* "./libgit2_clar" "-v" "-Q")))))))
|
||||
(inputs
|
||||
`(("libssh2" ,libssh2)
|
||||
("libcurl" ,curl)
|
||||
("python" ,python-wrapper)))
|
||||
("python" ,python-wrapper)
|
||||
("patch" ,(search-patch "libgit2-use-after-free.patch"))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
|
|
|
@ -984,7 +984,7 @@ (define-public libvpx
|
|||
(define-public youtube-dl
|
||||
(package
|
||||
(name "youtube-dl")
|
||||
(version "2017.03.22")
|
||||
(version "2017.03.26")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://yt-dl.org/downloads/"
|
||||
|
@ -992,7 +992,7 @@ (define-public youtube-dl
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zz97g23diggcnqg2hjq9grijskly8ag727f1i509hl7z0lxkh69"))))
|
||||
"00ysv18p4rqg7sswbpjpmmvaih6nm135bpllqdlj4ns8kjqmh59j"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; The problem here is that the directory for the man page and completion
|
||||
|
|
|
@ -130,14 +130,14 @@ (define-public httpd
|
|||
(define-public nginx
|
||||
(package
|
||||
(name "nginx")
|
||||
(version "1.11.10")
|
||||
(version "1.11.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://nginx.org/download/nginx-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gak6pcsn1m8fsz0g95z4b72nn12ivy35vlxrmagfcvnn2mkr2vp"))))
|
||||
"0qkj4xqv2f986dwqwlkidmr6jpxhv3ds67pxd1pd4a4f4j0c8yjs"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("pcre" ,pcre)
|
||||
("openssl" ,openssl)
|
||||
|
|
|
@ -35,6 +35,7 @@ (define-module (gnu packages webkit)
|
|||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
|
@ -45,7 +46,6 @@ (define-module (gnu packages webkit)
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
@ -53,14 +53,14 @@ (define-module (gnu packages webkit)
|
|||
(define-public webkitgtk
|
||||
(package
|
||||
(name "webkitgtk")
|
||||
(version "2.14.5")
|
||||
(version "2.16.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.webkitgtk.org/releases/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17rnjs7yl198bkghzcc2cgh30sb5i03irb6wag3xchwv7b1z3a1w"))))
|
||||
"1p3w23n5bq30xg4qg0i9lmrk13vgck2l4wh8gmzwxwqfj7c738sy"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no tests
|
||||
|
@ -102,12 +102,12 @@ (define-public webkitgtk
|
|||
`(("at-spi2-core" ,at-spi2-core)
|
||||
("enchant" ,enchant)
|
||||
("geoclue" ,geoclue)
|
||||
("gnutls" ,gnutls)
|
||||
("gst-plugins-base" ,gst-plugins-base)
|
||||
("gtk+-2" ,gtk+-2)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
("hyphen" ,hyphen)
|
||||
("icu4c" ,icu4c)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libnotify" ,libnotify)
|
||||
("libpng" ,libpng)
|
||||
|
|
|
@ -472,7 +472,7 @@ (define-public slop
|
|||
(define-public maim
|
||||
(package
|
||||
(name "maim")
|
||||
(version "4.4.61")
|
||||
(version "4.4.62")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -481,7 +481,7 @@ (define-public maim
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14jksv05xyydbpb9v8k3jgq7sl72bh356iapymg02vwg519i1d5k"))))
|
||||
"08lnbsl9ialqik1ris6piz1g0fgq4r3767ycr4nziphw3kz89vr1"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; no "check" target
|
||||
|
@ -723,7 +723,7 @@ (define-public rxvt-unicode
|
|||
(lambda _
|
||||
(format #t
|
||||
"[Desktop Entry]~@
|
||||
Name=rxvt-unicode~@
|
||||
Name=rxvt-unicode (client)~@
|
||||
Comment=Rxvt clone with XFT and unicode support~@
|
||||
Exec=~a/bin/urxvtc~@
|
||||
TryExec=~@*~a/bin/urxvtc~@
|
||||
|
|
|
@ -124,6 +124,11 @@ (define-module (gnu services base)
|
|||
guix-service-type
|
||||
guix-publish-configuration
|
||||
guix-publish-configuration?
|
||||
guix-publish-configuration-guix
|
||||
guix-publish-configuration-port
|
||||
guix-publish-configuration-host
|
||||
guix-publish-configuration-compression-level
|
||||
guix-publish-configuration-nar-path
|
||||
guix-publish-service
|
||||
guix-publish-service-type
|
||||
|
||||
|
@ -1435,11 +1440,15 @@ (define-record-type* <guix-publish-configuration>
|
|||
(port guix-publish-configuration-port ;number
|
||||
(default 80))
|
||||
(host guix-publish-configuration-host ;string
|
||||
(default "localhost")))
|
||||
(default "localhost"))
|
||||
(compression-level guix-publish-compression-level ;integer
|
||||
(default 3))
|
||||
(nar-path guix-publish-nar-path ;string
|
||||
(default "nar")))
|
||||
|
||||
(define guix-publish-shepherd-service
|
||||
(match-lambda
|
||||
(($ <guix-publish-configuration> guix port host)
|
||||
(($ <guix-publish-configuration> guix port host compression nar-path)
|
||||
(list (shepherd-service
|
||||
(provision '(guix-publish))
|
||||
(requirement '(guix-daemon))
|
||||
|
@ -1447,6 +1456,8 @@ (define guix-publish-shepherd-service
|
|||
(list #$(file-append guix "/bin/guix")
|
||||
"publish" "-u" "guix-publish"
|
||||
"-p" #$(number->string port)
|
||||
"-C" #$(number->string compression)
|
||||
(string-append "--nar-path=" #$nar-path)
|
||||
(string-append "--listen=" #$host))))
|
||||
(stop #~(make-kill-destructor)))))))
|
||||
|
||||
|
@ -1475,6 +1486,7 @@ (define* (guix-publish-service #:key (guix guix) (port 80) (host "localhost"))
|
|||
This assumes that @file{/etc/guix} already contains a signing key pair as
|
||||
created by @command{guix archive --generate-key} (@pxref{Invoking guix
|
||||
archive}). If that is not the case, the service will fail to start."
|
||||
;; Deprecated.
|
||||
(service guix-publish-service-type
|
||||
(guix-publish-configuration (guix guix) (port port) (host host))))
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -36,6 +37,7 @@ (define-module (gnu services configuration)
|
|||
configuration-field-default-value-thunk
|
||||
configuration-field-documentation
|
||||
serialize-configuration
|
||||
define-maybe
|
||||
define-configuration
|
||||
validate-configuration
|
||||
generate-documentation
|
||||
|
@ -85,16 +87,27 @@ (define (validate-configuration config fields)
|
|||
(configuration-field-name field) val))))
|
||||
fields))
|
||||
|
||||
(define-syntax-rule (id ctx parts ...)
|
||||
"Assemble PARTS into a raw (unhygienic) identifier."
|
||||
(datum->syntax ctx (symbol-append (syntax->datum parts) ...)))
|
||||
|
||||
(define-syntax define-maybe
|
||||
(lambda (x)
|
||||
(syntax-case x ()
|
||||
((_ stem)
|
||||
(with-syntax
|
||||
((stem? (id #'stem #'stem #'?))
|
||||
(maybe-stem? (id #'stem #'maybe- #'stem #'?))
|
||||
(serialize-stem (id #'stem #'serialize- #'stem))
|
||||
(serialize-maybe-stem (id #'stem #'serialize-maybe- #'stem)))
|
||||
#'(begin
|
||||
(define (maybe-stem? val)
|
||||
(or (eq? val 'disabled) (stem? val)))
|
||||
(define (serialize-maybe-stem field-name val)
|
||||
(when (stem? val) (serialize-stem field-name val)))))))))
|
||||
|
||||
(define-syntax define-configuration
|
||||
(lambda (stx)
|
||||
(define (id ctx part . parts)
|
||||
(let ((part (syntax->datum part)))
|
||||
(datum->syntax
|
||||
ctx
|
||||
(match parts
|
||||
(() part)
|
||||
(parts (symbol-append part
|
||||
(syntax->datum (apply id ctx parts))))))))
|
||||
(syntax-case stx ()
|
||||
((_ stem (field (field-type def) doc) ...)
|
||||
(with-syntax (((field-getter ...)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -49,27 +50,11 @@ (define-module (gnu services messaging)
|
|||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define-syntax-rule (id ctx parts ...)
|
||||
"Assemble PARTS into a raw (unhygienic) identifier."
|
||||
(datum->syntax ctx (symbol-append (syntax->datum parts) ...)))
|
||||
|
||||
(define-syntax define-maybe
|
||||
(lambda (x)
|
||||
(syntax-case x ()
|
||||
((_ stem)
|
||||
(with-syntax
|
||||
((stem? (id #'stem #'stem #'?))
|
||||
(maybe-stem? (id #'stem #'maybe- #'stem #'?))
|
||||
(serialize-stem (id #'stem #'serialize- #'stem))
|
||||
(serialize-maybe-stem (id #'stem #'serialize-maybe- #'stem)))
|
||||
#'(begin
|
||||
(define (maybe-stem? val)
|
||||
(or (eq? val 'disabled) (stem? val)))
|
||||
(define (serialize-maybe-stem field-name val)
|
||||
(when (stem? val) (serialize-stem field-name val)))))))))
|
||||
|
||||
(define-syntax define-all-configurations
|
||||
(lambda (stx)
|
||||
(define-syntax-rule (id ctx parts ...)
|
||||
"Assemble PARTS into a raw (unhygienic) identifier."
|
||||
(datum->syntax ctx (symbol-append (syntax->datum parts) ...)))
|
||||
(define (make-pred arg)
|
||||
(lambda (field target)
|
||||
(and (memq (syntax->datum target) `(common ,arg)) field)))
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -61,6 +62,10 @@ (define-module (gnu services networking)
|
|||
ntp-service
|
||||
ntp-service-type
|
||||
|
||||
inetd-configuration
|
||||
inetd-entry
|
||||
inetd-service-type
|
||||
|
||||
tor-configuration
|
||||
tor-configuration?
|
||||
tor-hidden-service
|
||||
|
@ -430,6 +435,90 @@ (define* (ntp-service #:key (ntp ntp)
|
|||
(allow-large-adjustment?
|
||||
allow-large-adjustment?))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Inetd.
|
||||
;;;
|
||||
|
||||
(define-record-type* <inetd-configuration> inetd-configuration
|
||||
make-inetd-configuration
|
||||
inetd-configuration?
|
||||
(program inetd-configuration-program ;file-like
|
||||
(default (file-append inetutils "/libexec/inetd")))
|
||||
(entries inetd-configuration-entries ;list of <inetd-entry>
|
||||
(default '())))
|
||||
|
||||
(define-record-type* <inetd-entry> inetd-entry make-inetd-entry
|
||||
inetd-entry?
|
||||
(node inetd-entry-node ;string or #f
|
||||
(default #f))
|
||||
(name inetd-entry-name) ;string, from /etc/services
|
||||
|
||||
(socket-type inetd-entry-socket-type) ;stream | dgram | raw |
|
||||
;rdm | seqpacket
|
||||
(protocol inetd-entry-protocol) ;string, from /etc/protocols
|
||||
|
||||
(wait? inetd-entry-wait? ;Boolean
|
||||
(default #t))
|
||||
(user inetd-entry-user) ;string
|
||||
|
||||
(program inetd-entry-program ;string or file-like object
|
||||
(default "internal"))
|
||||
(arguments inetd-entry-arguments ;list of strings or file-like objects
|
||||
(default '())))
|
||||
|
||||
(define (inetd-config-file entries)
|
||||
(apply mixed-text-file "inetd.conf"
|
||||
(map
|
||||
(lambda (entry)
|
||||
(let* ((node (inetd-entry-node entry))
|
||||
(name (inetd-entry-name entry))
|
||||
(socket
|
||||
(if node (string-append node ":" name) name))
|
||||
(type
|
||||
(match (inetd-entry-socket-type entry)
|
||||
((or 'stream 'dgram 'raw 'rdm 'seqpacket)
|
||||
(symbol->string (inetd-entry-socket-type entry)))))
|
||||
(protocol (inetd-entry-protocol entry))
|
||||
(wait (if (inetd-entry-wait? entry) "wait" "nowait"))
|
||||
(user (inetd-entry-user entry))
|
||||
(program (inetd-entry-program entry))
|
||||
(args (inetd-entry-arguments entry)))
|
||||
#~(string-append
|
||||
(string-join
|
||||
(list #$@(list socket type protocol wait user program) #$@args)
|
||||
" ") "\n")))
|
||||
entries)))
|
||||
|
||||
(define inetd-shepherd-service
|
||||
(match-lambda
|
||||
(($ <inetd-configuration> program ()) '()) ; empty list of entries -> do nothing
|
||||
(($ <inetd-configuration> program entries)
|
||||
(list
|
||||
(shepherd-service
|
||||
(documentation "Run inetd.")
|
||||
(provision '(inetd))
|
||||
(requirement '(user-processes networking syslogd))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$program #$(inetd-config-file entries))
|
||||
#:pid-file "/var/run/inetd.pid"))
|
||||
(stop #~(make-kill-destructor)))))))
|
||||
|
||||
(define-public inetd-service-type
|
||||
(service-type
|
||||
(name 'inetd)
|
||||
(extensions
|
||||
(list (service-extension shepherd-root-service-type
|
||||
inetd-shepherd-service)))
|
||||
|
||||
;; The service can be extended with additional lists of entries.
|
||||
(compose concatenate)
|
||||
(extend (lambda (config entries)
|
||||
(inetd-configuration
|
||||
(inherit config)
|
||||
(entries (append (inetd-configuration-entries config)
|
||||
entries)))))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Tor.
|
||||
|
|
404
gnu/services/pm.scm
Normal file
404
gnu/services/pm.scm
Normal file
|
@ -0,0 +1,404 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software: you can redistribute it and/or modify
|
||||
;;; it under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation, either version 3 of the License, or
|
||||
;;; (at your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful,
|
||||
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu services pm)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix records)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services base)
|
||||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu services shepherd)
|
||||
#:use-module (gnu system shadow)
|
||||
#:export (tlp-service-type
|
||||
tlp-configuration))
|
||||
|
||||
(define (uglify-field-name field-name)
|
||||
(let ((str (symbol->string field-name)))
|
||||
(string-join (string-split
|
||||
(string-upcase
|
||||
(if (string-suffix? "?" str)
|
||||
(substring str 0 (1- (string-length str)))
|
||||
str))
|
||||
#\-)
|
||||
"_")))
|
||||
|
||||
(define (serialize-field field-name val)
|
||||
(format #t "~a=~a\n" (uglify-field-name field-name) val))
|
||||
|
||||
(define (serialize-boolean field-name val)
|
||||
(serialize-field field-name (if val "1" "0")))
|
||||
(define-maybe boolean)
|
||||
|
||||
(define (serialize-string field-name val)
|
||||
(serialize-field field-name val))
|
||||
(define-maybe string)
|
||||
|
||||
(define (space-separated-string-list? val)
|
||||
(and (list? val)
|
||||
(and-map (lambda (x)
|
||||
(and (string? x) (not (string-index x #\space))))
|
||||
val)))
|
||||
(define (serialize-space-separated-string-list field-name val)
|
||||
(serialize-field field-name
|
||||
(format #f "~s"
|
||||
(string-join val " "))))
|
||||
(define-maybe space-separated-string-list)
|
||||
|
||||
(define (non-negative-integer? val)
|
||||
(and (exact-integer? val) (not (negative? val))))
|
||||
(define (serialize-non-negative-integer field-name val)
|
||||
(serialize-field field-name val))
|
||||
(define-maybe non-negative-integer)
|
||||
|
||||
(define (on-off-boolean? val)
|
||||
(boolean? val))
|
||||
(define (serialize-on-off-boolean field-name val)
|
||||
(serialize-field field-name (if val "on" "off")))
|
||||
(define-maybe on-off-boolean)
|
||||
|
||||
(define (y-n-boolean? val)
|
||||
(boolean? val))
|
||||
(define (serialize-y-n-boolean field-name val)
|
||||
(serialize-field field-name (if val "Y" "N")))
|
||||
|
||||
(define-configuration tlp-configuration
|
||||
(tlp
|
||||
(package tlp)
|
||||
"The TLP package.")
|
||||
|
||||
(tlp-enable?
|
||||
(boolean #t)
|
||||
"Set to true if you wish to enable TLP.")
|
||||
|
||||
(tlp-default-mode
|
||||
(string "AC")
|
||||
"Default mode when no power supply can be detected. Alternatives are
|
||||
AC and BAT.")
|
||||
|
||||
(disk-idle-secs-on-ac
|
||||
(non-negative-integer 0)
|
||||
"Number of seconds Linux kernel has to wait after the disk goes idle,
|
||||
before syncing on AC.")
|
||||
|
||||
(disk-idle-secs-on-bat
|
||||
(non-negative-integer 2)
|
||||
"Same as @code{disk-idle-ac} but on BAT mode.")
|
||||
|
||||
(max-lost-work-secs-on-ac
|
||||
(non-negative-integer 15)
|
||||
"Dirty pages flushing periodicity, expressed in seconds.")
|
||||
|
||||
(max-lost-work-secs-on-bat
|
||||
(non-negative-integer 60)
|
||||
"Same as @code{max-lost-work-secs-on-ac} but on BAT mode.")
|
||||
|
||||
(cpu-scaling-governor-on-ac
|
||||
(maybe-space-separated-string-list 'disabled)
|
||||
"CPU frequency scaling governor on AC mode. With intel_pstate
|
||||
driver, alternatives are powersave and performance. With acpi-cpufreq driver,
|
||||
alternatives are ondemand, powersave, performance and conservative.")
|
||||
|
||||
(cpu-scaling-governor-on-bat
|
||||
(maybe-space-separated-string-list 'disabled)
|
||||
"Same as @code{cpu-scaling-governor-on-ac} but on BAT mode.")
|
||||
|
||||
(cpu-scaling-min-freq-on-ac
|
||||
(maybe-non-negative-integer 'disabled)
|
||||
"Set the min available frequency for the scaling governor on AC.")
|
||||
|
||||
(cpu-scaling-max-freq-on-ac
|
||||
(maybe-non-negative-integer 'disabled)
|
||||
"Set the max available frequency for the scaling governor on AC.")
|
||||
|
||||
(cpu-scaling-min-freq-on-bat
|
||||
(maybe-non-negative-integer 'disabled)
|
||||
"Set the min available frequency for the scaling governor on BAT.")
|
||||
|
||||
(cpu-scaling-max-freq-on-bat
|
||||
(maybe-non-negative-integer 'disabled)
|
||||
"Set the max available frequency for the scaling governor on BAT.")
|
||||
|
||||
(cpu-min-perf-on-ac
|
||||
(maybe-non-negative-integer 'disabled)
|
||||
"Limit the min P-state to control the power dissipation of the CPU,
|
||||
in AC mode. Values are stated as a percentage of the available performance.")
|
||||
|
||||
(cpu-max-perf-on-ac
|
||||
(maybe-non-negative-integer 'disabled)
|
||||
"Limit the max P-state to control the power dissipation of the CPU,
|
||||
in AC mode. Values are stated as a percentage of the available performance.")
|
||||
|
||||
(cpu-min-perf-on-bat
|
||||
(maybe-non-negative-integer 'disabled)
|
||||
"Same as @code{cpu-min-perf-on-ac} on BAT mode.")
|
||||
|
||||
(cpu-max-perf-on-bat
|
||||
(maybe-non-negative-integer 'disabled)
|
||||
"Same as @code{cpu-max-perf-on-ac} on BAT mode.")
|
||||
|
||||
(cpu-boost-on-ac?
|
||||
(maybe-boolean 'disabled)
|
||||
"Enable CPU turbo boost feature on AC mode.")
|
||||
|
||||
(cpu-boost-on-bat?
|
||||
(maybe-boolean 'disabled)
|
||||
"Same as @code{cpu-boost-on-ac?} on BAT mode.")
|
||||
|
||||
(sched-powersave-on-ac?
|
||||
(boolean #f)
|
||||
"Allow Linux kernel to minimize the number of CPU cores/hyper-threads
|
||||
used under light load conditions.")
|
||||
|
||||
(sched-powersave-on-bat?
|
||||
(boolean #t)
|
||||
"Same as @code{sched-powersave-on-ac?} but on BAT mode.")
|
||||
|
||||
(nmi-watchdog?
|
||||
(boolean #f)
|
||||
"Enable Linux kernel NMI watchdog.")
|
||||
|
||||
(phc-controls
|
||||
(maybe-string 'disabled)
|
||||
"For Linux kernels with PHC patch applied, change CPU voltages.
|
||||
An example value would be @samp{\"F:V F:V F:V F:V\"}.")
|
||||
|
||||
(energy-perf-policy-on-ac
|
||||
(string "performance")
|
||||
"Set CPU performance versus energy saving policy on AC. Alternatives are
|
||||
performance, normal, powersave.")
|
||||
|
||||
(energy-perf-policy-on-bat
|
||||
(string "powersave")
|
||||
"Same as @code{energy-perf-policy-ac} but on BAT mode.")
|
||||
|
||||
(disks-devices
|
||||
(space-separated-string-list '("sda"))
|
||||
"Hard disk devices.")
|
||||
|
||||
(disk-apm-level-on-ac
|
||||
(space-separated-string-list '("254" "254"))
|
||||
"Hard disk advanced power management level.")
|
||||
|
||||
(disk-apm-level-on-bat
|
||||
(space-separated-string-list '("128" "128"))
|
||||
"Same as @code{disk-apm-bat} but on BAT mode.")
|
||||
|
||||
(disk-spindown-timeout-on-ac
|
||||
(maybe-space-separated-string-list 'disabled)
|
||||
"Hard disk spin down timeout. One value has to be specified for
|
||||
each declared hard disk.")
|
||||
|
||||
(disk-spindown-timeout-on-bat
|
||||
(maybe-space-separated-string-list 'disabled)
|
||||
"Same as @code{disk-spindown-timeout-on-ac} but on BAT mode.")
|
||||
|
||||
(disk-iosched
|
||||
(maybe-space-separated-string-list 'disabled)
|
||||
"Select IO scheduler for disk devices. One value has to be specified
|
||||
for each declared hard disk. Example alternatives are cfq, deadline and noop.")
|
||||
|
||||
(sata-linkpwr-on-ac
|
||||
(string "max_performance")
|
||||
"SATA aggressive link power management (ALPM) level. Alternatives are
|
||||
min_power, medium_power, max_performance.")
|
||||
|
||||
(sata-linkpwr-on-bat
|
||||
(string "min_power")
|
||||
"Same as @code{sata-linkpwr-ac} but on BAT mode.")
|
||||
|
||||
(sata-linkpwr-blacklist
|
||||
(maybe-string 'disabled)
|
||||
"Exclude specified SATA host devices for link power management.")
|
||||
|
||||
(ahci-runtime-pm-on-ac?
|
||||
(maybe-on-off-boolean 'disabled)
|
||||
"Enable Runtime Power Management for AHCI controller and disks
|
||||
on AC mode.")
|
||||
|
||||
(ahci-runtime-pm-on-bat?
|
||||
(maybe-on-off-boolean 'disabled)
|
||||
"Same as @code{ahci-runtime-pm-on-ac} on BAT mode.")
|
||||
|
||||
(ahci-runtime-pm-timeout
|
||||
(non-negative-integer 15)
|
||||
"Seconds of inactivity before disk is suspended.")
|
||||
|
||||
(pcie-aspm-on-ac
|
||||
(string "performance")
|
||||
"PCI Express Active State Power Management level. Alternatives are
|
||||
default, performance, powersave.")
|
||||
|
||||
(pcie-aspm-on-bat
|
||||
(string "powersave")
|
||||
"Same as @code{pcie-aspm-ac} but on BAT mode.")
|
||||
|
||||
(radeon-power-profile-on-ac
|
||||
(string "high")
|
||||
"Radeon graphics clock speed level. Alternatives are
|
||||
low, mid, high, auto, default.")
|
||||
|
||||
(radeon-power-profile-on-bat
|
||||
(string "low")
|
||||
"Same as @code{radeon-power-ac} but on BAT mode.")
|
||||
|
||||
(radeon-dpm-state-on-ac
|
||||
(string "performance")
|
||||
"Radeon dynamic power management method (DPM). Alternatives are
|
||||
battery, performance.")
|
||||
|
||||
(radeon-dpm-state-on-bat
|
||||
(string "battery")
|
||||
"Same as @code{radeon-dpm-state-ac} but on BAT mode.")
|
||||
|
||||
(radeon-dpm-perf-level-on-ac
|
||||
(string "auto")
|
||||
"Radeon DPM performance level. Alternatives are
|
||||
auto, low, high.")
|
||||
|
||||
(radeon-dpm-perf-level-on-bat
|
||||
(string "auto")
|
||||
"Same as @code{radeon-dpm-perf-ac} but on BAT mode.")
|
||||
|
||||
(wifi-pwr-on-ac?
|
||||
(on-off-boolean #f)
|
||||
"Wifi power saving mode.")
|
||||
|
||||
(wifi-pwr-on-bat?
|
||||
(on-off-boolean #t)
|
||||
"Same as @code{wifi-power-ac?} but on BAT mode.")
|
||||
|
||||
(wol-disable?
|
||||
(y-n-boolean #t)
|
||||
"Disable wake on LAN.")
|
||||
|
||||
(sound-power-save-on-ac
|
||||
(non-negative-integer 0)
|
||||
"Timeout duration in seconds before activating audio power saving
|
||||
on Intel HDA and AC97 devices. A value of 0 disables power saving.")
|
||||
|
||||
(sound-power-save-on-bat
|
||||
(non-negative-integer 1)
|
||||
"Same as @code{sound-powersave-ac} but on BAT mode.")
|
||||
|
||||
(sound-power-save-controller?
|
||||
(y-n-boolean #t)
|
||||
"Disable controller in powersaving mode on Intel HDA devices.")
|
||||
|
||||
(bay-poweroff-on-bat?
|
||||
(boolean #f)
|
||||
"Enable optical drive in UltraBay/MediaBay on BAT mode.
|
||||
Drive can be powered on again by releasing (and reinserting) the eject lever
|
||||
or by pressing the disc eject button on newer models.")
|
||||
|
||||
(bay-device
|
||||
(string "sr0")
|
||||
"Name of the optical drive device to power off.")
|
||||
|
||||
(runtime-pm-on-ac
|
||||
(string "on")
|
||||
"Runtime Power Management for PCI(e) bus devices. Alternatives are
|
||||
on and auto.")
|
||||
|
||||
(runtime-pm-on-bat
|
||||
(string "auto")
|
||||
"Same as @code{runtime-pm-ac} but on BAT mode.")
|
||||
|
||||
(runtime-pm-all?
|
||||
(boolean #t)
|
||||
"Runtime Power Management for all PCI(e) bus devices, except
|
||||
blacklisted ones.")
|
||||
|
||||
(runtime-pm-blacklist
|
||||
(maybe-space-separated-string-list 'disabled)
|
||||
"Exclude specified PCI(e) devices adresses from Runtime Power Management.")
|
||||
|
||||
(runtime-pm-driver-blacklist
|
||||
(space-separated-string-list '("radeon" "nouveau"))
|
||||
"Exclude PCI(e) devices assigned to the specified drivers from
|
||||
Runtime Power Management.")
|
||||
|
||||
(usb-autosuspend?
|
||||
(boolean #t)
|
||||
"Enable USB autosuspend feature.")
|
||||
|
||||
(usb-blacklist
|
||||
(maybe-string 'disabled)
|
||||
"Exclude specified devices from USB autosuspend.")
|
||||
|
||||
(usb-blacklist-wwan?
|
||||
(boolean #t)
|
||||
"Exclude WWAN devices from USB autosuspend.")
|
||||
|
||||
(usb-whitelist
|
||||
(maybe-string 'disabled)
|
||||
"Include specified devices into USB autosuspend, even if they are
|
||||
already excluded by the driver or via @code{usb-blacklist-wwan?}.")
|
||||
|
||||
(usb-autosuspend-disable-on-shutdown?
|
||||
(maybe-boolean 'disabled)
|
||||
"Enable USB autosuspend before shutdown.")
|
||||
|
||||
(restore-device-state-on-startup?
|
||||
(boolean #f)
|
||||
"Restore radio device state (bluetooth, wifi, wwan) from previous
|
||||
shutdown on system startup."))
|
||||
|
||||
|
||||
(define (tlp-shepherd-service config)
|
||||
(let* ((tlp-bin (file-append
|
||||
(tlp-configuration-tlp config) "/bin/tlp"))
|
||||
(tlp-action (lambda args
|
||||
#~(lambda _
|
||||
(zero? (system* #$tlp-bin #$@args))))))
|
||||
(list (shepherd-service
|
||||
(documentation "Run TLP script.")
|
||||
(provision '(tlp))
|
||||
(requirement '(user-processes))
|
||||
(start (tlp-action "init" "start"))
|
||||
(stop (tlp-action "init" "stop"))))))
|
||||
|
||||
(define (tlp-activation config)
|
||||
(let* ((config-str (with-output-to-string
|
||||
(lambda ()
|
||||
(serialize-configuration
|
||||
config
|
||||
tlp-configuration-fields))))
|
||||
(config-file (plain-file "tlp" config-str)))
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(copy-file #$config-file "/etc/tlp")))))
|
||||
|
||||
(define tlp-service-type
|
||||
(service-type
|
||||
(name 'tlp)
|
||||
(extensions
|
||||
(list
|
||||
(service-extension shepherd-root-service-type
|
||||
tlp-shepherd-service)
|
||||
(service-extension udev-service-type
|
||||
(compose list tlp-configuration-tlp))
|
||||
(service-extension activation-service-type
|
||||
tlp-activation)))))
|
||||
|
||||
(define (generate-tlp-documentation)
|
||||
(generate-documentation
|
||||
`((tlp-configuration ,tlp-configuration-fields))
|
||||
'tlp-configuration))
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -279,7 +280,7 @@ (define-split-configuration openvpn-client-configuration
|
|||
|
||||
(key
|
||||
(string "/etc/openvpn/client.key")
|
||||
"The key of the machine the daemon is running on. It must be the whose
|
||||
"The key of the machine the daemon is running on. It must be the key whose
|
||||
certificate is @code{cert}.")
|
||||
|
||||
(comp-lzo?
|
||||
|
|
|
@ -183,8 +183,6 @@ (define setup-gfxterm-body
|
|||
(if (string-match "^(x86_64|i[3-6]86)-" system)
|
||||
"
|
||||
# Leave 'gfxmode' to 'auto'.
|
||||
insmod vbe
|
||||
insmod vga
|
||||
insmod video_bochs
|
||||
insmod video_cirrus
|
||||
insmod gfxterm
|
||||
|
@ -195,6 +193,10 @@ (define setup-gfxterm-body
|
|||
# which isn't convenient.
|
||||
insmod efi_gop
|
||||
insmod efi_uga
|
||||
else
|
||||
# These are specific to non-EFI Intel machines.
|
||||
insmod vbe
|
||||
insmod vga
|
||||
fi
|
||||
|
||||
terminal_output gfxterm
|
||||
|
|
149
gnu/tests/networking.scm
Normal file
149
gnu/tests/networking.scm
Normal file
|
@ -0,0 +1,149 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu tests networking)
|
||||
#:use-module (gnu tests)
|
||||
#:use-module (gnu system)
|
||||
#:use-module (gnu system grub)
|
||||
#:use-module (gnu system file-systems)
|
||||
#:use-module (gnu system shadow)
|
||||
#:use-module (gnu system vm)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services base)
|
||||
#:use-module (gnu services networking)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (gnu packages bash)
|
||||
#:export (%test-inetd))
|
||||
|
||||
(define %inetd-os
|
||||
;; Operating system with 2 inetd services.
|
||||
(operating-system
|
||||
(host-name "komputilo")
|
||||
(timezone "Europe/Brussels")
|
||||
(locale "en_US.utf8")
|
||||
|
||||
(bootloader (grub-configuration (device "/dev/sdX")))
|
||||
(file-systems %base-file-systems)
|
||||
(firmware '())
|
||||
(users %base-user-accounts)
|
||||
(services (cons* (dhcp-client-service)
|
||||
(service inetd-service-type
|
||||
(inetd-configuration
|
||||
(entries (list
|
||||
(inetd-entry
|
||||
(name "echo")
|
||||
(socket-type 'stream)
|
||||
(protocol "tcp")
|
||||
(wait? #f)
|
||||
(user "root"))
|
||||
(inetd-entry
|
||||
(name "dict")
|
||||
(socket-type 'stream)
|
||||
(protocol "tcp")
|
||||
(wait? #f)
|
||||
(user "root")
|
||||
(program (file-append bash
|
||||
"/bin/bash"))
|
||||
(arguments
|
||||
(list "bash" (plain-file "my-dict.sh" "\
|
||||
while read line
|
||||
do
|
||||
if [[ $line =~ ^DEFINE\\ (.*)$ ]]
|
||||
then
|
||||
case ${BASH_REMATCH[1]} in
|
||||
Guix)
|
||||
echo GNU Guix is a package management tool for the GNU system.
|
||||
;;
|
||||
G-expression)
|
||||
echo Like an S-expression but with a G.
|
||||
;;
|
||||
*)
|
||||
echo NO DEFINITION FOUND
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo ERROR
|
||||
fi
|
||||
done" ))))))))
|
||||
%base-services))))
|
||||
|
||||
(define* (run-inetd-test)
|
||||
"Run tests in %INETD-OS, where the inetd service provides an echo service on
|
||||
port 7, and a dict service on port 2628."
|
||||
(mlet* %store-monad ((os -> (marionette-operating-system %inetd-os))
|
||||
(command (system-qemu-image/shared-store-script
|
||||
os #:graphic? #f)))
|
||||
(define test
|
||||
(with-imported-modules '((gnu build marionette))
|
||||
#~(begin
|
||||
(use-modules (ice-9 rdelim)
|
||||
(srfi srfi-64)
|
||||
(gnu build marionette))
|
||||
(define marionette
|
||||
;; Forward guest ports 7 and 2628 to host ports 8007 and 8628.
|
||||
(make-marionette (list #$command "-net"
|
||||
(string-append
|
||||
"user"
|
||||
",hostfwd=tcp::8007-:7"
|
||||
",hostfwd=tcp::8628-:2628"))))
|
||||
|
||||
(mkdir #$output)
|
||||
(chdir #$output)
|
||||
|
||||
(test-begin "inetd")
|
||||
|
||||
;; Make sure the PID file is created.
|
||||
(test-assert "PID file"
|
||||
(marionette-eval
|
||||
'(file-exists? "/var/run/inetd.pid")
|
||||
marionette))
|
||||
|
||||
;; Test the echo service.
|
||||
(test-equal "echo response"
|
||||
"Hello, Guix!"
|
||||
(let ((echo (socket PF_INET SOCK_STREAM 0))
|
||||
(addr (make-socket-address AF_INET INADDR_LOOPBACK 8007)))
|
||||
(connect echo addr)
|
||||
(display "Hello, Guix!\n" echo)
|
||||
(let ((response (read-line echo)))
|
||||
(close echo)
|
||||
response)))
|
||||
|
||||
;; Test the dict service
|
||||
(test-equal "dict response"
|
||||
"GNU Guix is a package management tool for the GNU system."
|
||||
(let ((dict (socket PF_INET SOCK_STREAM 0))
|
||||
(addr (make-socket-address AF_INET INADDR_LOOPBACK 8628)))
|
||||
(connect dict addr)
|
||||
(display "DEFINE Guix\n" dict)
|
||||
(let ((response (read-line dict)))
|
||||
(close dict)
|
||||
response)))
|
||||
|
||||
(test-end)
|
||||
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
|
||||
|
||||
(gexp->derivation "inetd-test" test)))
|
||||
|
||||
(define %test-inetd
|
||||
(system-test
|
||||
(name "inetd")
|
||||
(description "Connect to a host with an INETD server.")
|
||||
(value (run-inetd-test))))
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -73,9 +74,12 @@ (define buf2 (make-bytevector len))
|
|||
(loop)))))))))))))
|
||||
|
||||
(define* (union-build output inputs
|
||||
#:key (log-port (current-error-port)))
|
||||
"Build in the OUTPUT directory a symlink tree that is the union of all
|
||||
the INPUTS."
|
||||
#:key (log-port (current-error-port))
|
||||
(create-all-directories? #f))
|
||||
"Build in the OUTPUT directory a symlink tree that is the union of all the
|
||||
INPUTS. As a special case, if CREATE-ALL-DIRECTORIES?, creates the
|
||||
subdirectories in the output directory to make sure the caller can modify them
|
||||
later."
|
||||
|
||||
(define (symlink* input output)
|
||||
(format log-port "`~a' ~~> `~a'~%" input output)
|
||||
|
@ -104,8 +108,11 @@ (define (resolve-collisions output dirs files)
|
|||
(define (union output inputs)
|
||||
(match inputs
|
||||
((input)
|
||||
;; There's only one input, so just make a link.
|
||||
(symlink* input output))
|
||||
;; There's only one input, so just make a link unless
|
||||
;; create-all-directories?.
|
||||
(if (and create-all-directories? (file-is-directory? input))
|
||||
(union-of-directories output inputs)
|
||||
(symlink* input output)))
|
||||
(_
|
||||
(call-with-values (lambda () (partition file-is-directory? inputs))
|
||||
(match-lambda*
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2017 Huang Ying <huang.ying.caritas@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -877,9 +878,12 @@ (define build
|
|||
#:substitutable? #f)
|
||||
(return #f))))
|
||||
|
||||
;; Several font packages may install font files into same directory, so
|
||||
;; fonts.dir and fonts.scale file should be generated here, instead of in
|
||||
;; packages.
|
||||
(define (fonts-dir-file manifest)
|
||||
"Return a derivation that builds the @file{fonts.dir} and @file{fonts.scale}
|
||||
files for the truetype fonts of the @var{manifest} entries."
|
||||
files for the fonts of the @var{manifest} entries."
|
||||
(define mkfontscale
|
||||
(module-ref (resolve-interface '(gnu packages xorg)) 'mkfontscale))
|
||||
|
||||
|
@ -891,29 +895,54 @@ (define build
|
|||
(use-modules (srfi srfi-26)
|
||||
(guix build utils)
|
||||
(guix build union))
|
||||
(let ((ttf-dirs (filter file-exists?
|
||||
(map (cut string-append <>
|
||||
"/share/fonts/truetype")
|
||||
'#$(manifest-inputs manifest)))))
|
||||
(let ((fonts-dirs (filter file-exists?
|
||||
(map (cut string-append <>
|
||||
"/share/fonts")
|
||||
'#$(manifest-inputs manifest)))))
|
||||
(mkdir #$output)
|
||||
(if (null? ttf-dirs)
|
||||
(if (null? fonts-dirs)
|
||||
(exit #t)
|
||||
(let* ((fonts-dir (string-append #$output "/share/fonts"))
|
||||
(ttf-dir (string-append fonts-dir "/truetype"))
|
||||
(let* ((share-dir (string-append #$output "/share"))
|
||||
(fonts-dir (string-append share-dir "/fonts"))
|
||||
(mkfontscale (string-append #+mkfontscale
|
||||
"/bin/mkfontscale"))
|
||||
(mkfontdir (string-append #+mkfontdir
|
||||
"/bin/mkfontdir")))
|
||||
(mkdir-p fonts-dir)
|
||||
(union-build ttf-dir ttf-dirs
|
||||
#:log-port (%make-void-port "w"))
|
||||
(with-directory-excursion ttf-dir
|
||||
(exit (and (zero? (system* mkfontscale))
|
||||
(zero? (system* mkfontdir))))))))))
|
||||
"/bin/mkfontdir"))
|
||||
(empty-file? (lambda (filename)
|
||||
(call-with-ascii-input-file filename
|
||||
(lambda (p)
|
||||
(eqv? #\0 (read-char p))))))
|
||||
(fonts-dir-file "fonts.dir")
|
||||
(fonts-scale-file "fonts.scale"))
|
||||
(mkdir-p share-dir)
|
||||
;; Create all sub-directories, because we may create fonts.dir
|
||||
;; and fonts.scale files in the sub-directories.
|
||||
(union-build fonts-dir fonts-dirs
|
||||
#:log-port (%make-void-port "w")
|
||||
#:create-all-directories? #t)
|
||||
(let ((directories (find-files fonts-dir
|
||||
(lambda (file stat)
|
||||
(eq? 'directory (stat:type stat)))
|
||||
#:directories? #t)))
|
||||
(for-each (lambda (dir)
|
||||
(with-directory-excursion dir
|
||||
(when (file-exists? fonts-scale-file)
|
||||
(delete-file fonts-scale-file))
|
||||
(when (file-exists? fonts-dir-file)
|
||||
(delete-file fonts-dir-file))
|
||||
(unless (and (zero? (system* mkfontscale))
|
||||
(zero? (system* mkfontdir)))
|
||||
(exit #f))
|
||||
(when (empty-file? fonts-scale-file)
|
||||
(delete-file fonts-scale-file))
|
||||
(when (empty-file? fonts-dir-file)
|
||||
(delete-file fonts-dir-file))))
|
||||
directories)))))))
|
||||
|
||||
(gexp->derivation "fonts-dir" build
|
||||
#:modules '((guix build utils)
|
||||
(guix build union))
|
||||
(guix build union)
|
||||
(srfi srfi-26))
|
||||
#:local-build? #t
|
||||
#:substitutable? #f))
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -347,10 +348,25 @@ (define (check-start-with-package-name synopsis)
|
|||
(_ "synopsis should not start with the package name")
|
||||
'synopsis)))
|
||||
|
||||
(define (check-texinfo-markup synopsis)
|
||||
"Check that SYNOPSIS can be parsed as a Texinfo fragment. If the
|
||||
markup is valid return a plain-text version of SYNOPSIS, otherwise #f."
|
||||
(catch #t
|
||||
(lambda () (texi->plain-text synopsis))
|
||||
(lambda (keys . args)
|
||||
(emit-warning package
|
||||
(_ "Texinfo markup in synopsis is invalid")
|
||||
'synopsis)
|
||||
#f)))
|
||||
|
||||
(define checks
|
||||
(list check-not-empty check-proper-start check-final-period
|
||||
check-start-article check-start-with-package-name
|
||||
check-synopsis-length))
|
||||
(list check-not-empty
|
||||
check-proper-start
|
||||
check-final-period
|
||||
check-start-article
|
||||
check-start-with-package-name
|
||||
check-synopsis-length
|
||||
check-texinfo-markup))
|
||||
|
||||
(match (package-synopsis package)
|
||||
((? string? synopsis)
|
||||
|
|
17
guix/ui.scm
17
guix/ui.scm
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
||||
;;; Copyright © 2014, 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2014, 2015, 2017 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
|
||||
|
@ -81,6 +81,7 @@ (define-module (guix ui)
|
|||
fill-paragraph
|
||||
texi->plain-text
|
||||
package-description-string
|
||||
package-synopsis-string
|
||||
string->recutils
|
||||
package->recutils
|
||||
package-specification->name+version+output
|
||||
|
@ -848,10 +849,18 @@ (define (texi->plain-text str)
|
|||
(with-fluids ((%default-port-encoding "UTF-8"))
|
||||
(stexi->plain-text (texi-fragment->stexi str))))
|
||||
|
||||
(define (package-field-string package field-accessor)
|
||||
"Return a plain-text representation of PACKAGE field."
|
||||
(and=> (field-accessor package)
|
||||
(compose texi->plain-text P_)))
|
||||
|
||||
(define (package-description-string package)
|
||||
"Return a plain-text representation of PACKAGE description field."
|
||||
(and=> (package-description package)
|
||||
(compose texi->plain-text P_)))
|
||||
(package-field-string package package-description))
|
||||
|
||||
(define (package-synopsis-string package)
|
||||
"Return a plain-text representation of PACKAGE synopsis field."
|
||||
(package-field-string package package-synopsis))
|
||||
|
||||
(define (string->recutils str)
|
||||
"Return a version of STR where newlines have been replaced by newlines
|
||||
|
@ -914,7 +923,7 @@ (define (package<? p1 p2)
|
|||
(string-map (match-lambda
|
||||
(#\newline #\space)
|
||||
(chr chr))
|
||||
(or (and=> (package-synopsis p) P_)
|
||||
(or (and=> (package-synopsis-string p) P_)
|
||||
"")))
|
||||
(format port "~a~2%"
|
||||
(string->recutils
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -167,6 +168,13 @@ (define-syntax-rule (with-warnings body ...)
|
|||
(check-synopsis-style pkg)))
|
||||
"synopsis should not be empty")))
|
||||
|
||||
(test-assert "synopsis: valid Texinfo markup"
|
||||
(->bool
|
||||
(string-contains
|
||||
(with-warnings
|
||||
(check-synopsis-style (dummy-package "x" (synopsis "Bad $@ texinfo"))))
|
||||
"Texinfo markup in synopsis is invalid")))
|
||||
|
||||
(test-assert "synopsis: does not start with an upper-case letter"
|
||||
(->bool
|
||||
(string-contains (with-warnings
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -124,4 +124,24 @@ (define %store
|
|||
;; new 'bin' sub-directory in the profile.
|
||||
(eq? 'directory (stat:type (lstat "bin"))))))))
|
||||
|
||||
(test-assert "union-build #:create-all-directories? #t"
|
||||
(let* ((build `(begin
|
||||
(use-modules (guix build union))
|
||||
(union-build (assoc-ref %outputs "out")
|
||||
(map cdr %build-inputs)
|
||||
#:create-all-directories? #t)))
|
||||
(input (package-derivation %store %bootstrap-guile))
|
||||
(drv (build-expression->derivation %store "union-test-all-dirs"
|
||||
build
|
||||
#:modules '((guix build union))
|
||||
#:inputs `(("g" ,input)))))
|
||||
(and (build-derivations %store (list drv))
|
||||
(with-directory-excursion (derivation->output-path drv)
|
||||
;; Even though there's only one input to the union,
|
||||
;; #:create-all-directories? #t must have created bin/ rather than
|
||||
;; making it a symlink to Guile's bin/.
|
||||
(and (file-exists? "bin/guile")
|
||||
(file-is-directory? "bin")
|
||||
(eq? 'symlink (stat:type (lstat "bin/guile"))))))))
|
||||
|
||||
(test-end)
|
||||
|
|
Loading…
Reference in a new issue