Merge branch 'master' into core-updates

This commit is contained in:
Marius Bakke 2018-09-20 13:37:58 +02:00
commit 2817ac3c18
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
68 changed files with 1299 additions and 557 deletions

View file

@ -330,12 +330,11 @@ (define (load-manifest manifest)
(set-current-module (make-user-module '((guix profiles) (gnu)))) (set-current-module (make-user-module '((guix profiles) (gnu))))
(primitive-load manifest)))) (primitive-load manifest))))
(parameterize ((%graft? #f)) (delete-duplicates!
(delete-duplicates! (map manifest-entry-item
(map manifest-entry-item (append-map (compose manifest-entries
(append-map (compose manifest-entries load-manifest)
load-manifest) manifests))))
manifests)))))
;;; ;;;

View file

@ -7268,6 +7268,36 @@ The following options can be used to customize GnuPG operation:
Use @var{command} as the GnuPG 2.x command. @var{command} is searched Use @var{command} as the GnuPG 2.x command. @var{command} is searched
for in @code{$PATH}. for in @code{$PATH}.
@item --keyring=@var{file}
Use @var{file} as the keyring for upstream keys. @var{file} must be in the
@dfn{keybox format}. Keybox files usually have a name ending in @file{.kbx}
and the GNU@tie{}Privacy Guard (GPG) can manipulate these files
(@pxref{kbxutil, @command{kbxutil},, gnupg, Using the GNU Privacy Guard}, for
information on a tool to manipulate keybox files).
When this option is omitted, @command{guix refresh} uses
@file{~/.config/guix/upstream/trustedkeys.kbx} as the keyring for upstream
signing keys. OpenPGP signatures are checked against keys from this keyring;
missing keys are downloaded to this keyring as well (see
@option{--key-download} below.)
You can export keys from your default GPG keyring into a keybox file using
commands like this one:
@example
gpg --export rms@@gnu.org | kbxutil --import-openpgp >> mykeyring.kbx
@end example
Likewise, you can fetch keys to a specific keybox file like this:
@example
gpg --no-default-keyring --keyring mykeyring.kbx \
--recv-keys @value{OPENPGP-SIGNING-KEY-ID}
@end example
@ref{GPG Configuration Options, @option{--keyring},, gnupg, Using the GNU
Privacy Guard}, for more information on GPG's @option{--keyring} option.
@item --key-download=@var{policy} @item --key-download=@var{policy}
Handle missing OpenPGP keys according to @var{policy}, which may be one Handle missing OpenPGP keys according to @var{policy}, which may be one
of: of:
@ -7711,6 +7741,13 @@ This is useful to precisely refer to a package, as in this example:
@example @example
guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)' guix graph -e '(@@@@ (gnu packages commencement) gnu-make-final)'
@end example @end example
@item --system=@var{system}
@itemx -s @var{system}
Display the graph for @var{system}---e.g., @code{i686-linux}.
The package dependency graph is largely architecture-independent, but there
are some architecture-dependent bits that this option allows you to visualize.
@end table @end table
@ -11575,6 +11612,54 @@ Thus, it can be instantiated like this:
@end lisp @end lisp
@end defvr @end defvr
@cindex iptables
@defvr {Scheme Variable} iptables-service-type
This is the service type to set up an iptables configuration. iptables is a
packet filtering framework supported by the Linux kernel. This service
supports configuring iptables for both IPv4 and IPv6. A simple example
configuration rejecting all incoming connections except those to the ssh port
22 is shown below.
@lisp
(service iptables-service-type
(iptables-configuration
(ipv4-rules (plain-file "iptables.rules" "*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
COMMIT
"))
(ipv6-rules (plain-file "ip6tables.rules" "*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp6-port-unreachable
COMMIT
"))))
@end lisp
@end defvr
@deftp {Data Type} iptables-configuration
The data type representing the configuration of iptables.
@table @asis
@item @code{iptables} (default: @code{iptables})
The iptables package that provides @code{iptables-restore} and
@code{ip6tables-restore}.
@item @code{ipv4-rules} (default: @code{%iptables-accept-all-rules})
The iptables rules to use. It will be passed to @code{iptables-restore}.
This may be any ``file-like'' object (@pxref{G-Expressions, file-like
objects}).
@item @code{ipv6-rules} (default: @code{%iptables-accept-all-rules})
The ip6tables rules to use. It will be passed to @code{ip6tables-restore}.
This may be any ``file-like'' object (@pxref{G-Expressions, file-like
objects}).
@end table
@end deftp
@cindex NTP @cindex NTP
@cindex real time clock @cindex real time clock
@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @ @deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @

View file

@ -31,7 +31,7 @@ (define-module (gnu bootloader u-boot)
u-boot-a20-olinuxino-lime-bootloader u-boot-a20-olinuxino-lime-bootloader
u-boot-a20-olinuxino-lime2-bootloader u-boot-a20-olinuxino-lime2-bootloader
u-boot-a20-olinuxino-micro-bootloader u-boot-a20-olinuxino-micro-bootloader
u-boot-banana-pi-m2-ultra-bootloader u-boot-bananapi-m2-ultra-bootloader
u-boot-beaglebone-black-bootloader u-boot-beaglebone-black-bootloader
u-boot-mx6cuboxi-bootloader u-boot-mx6cuboxi-bootloader
u-boot-nintendo-nes-classic-edition-bootloader u-boot-nintendo-nes-classic-edition-bootloader
@ -148,10 +148,10 @@ (define u-boot-a20-olinuxino-micro-bootloader
(inherit u-boot-allwinner-bootloader) (inherit u-boot-allwinner-bootloader)
(package u-boot-a20-olinuxino-micro))) (package u-boot-a20-olinuxino-micro)))
(define u-boot-banana-pi-m2-ultra-bootloader (define u-boot-bananapi-m2-ultra-bootloader
(bootloader (bootloader
(inherit u-boot-allwinner-bootloader) (inherit u-boot-allwinner-bootloader)
(package u-boot-banana-pi-m2-ultra))) (package u-boot-bananapi-m2-ultra)))
(define u-boot-mx6cuboxi-bootloader (define u-boot-mx6cuboxi-bootloader
(bootloader (bootloader

View file

@ -1012,7 +1012,7 @@ dist_patch_DATA = \
%D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/opensmtpd-fix-crash.patch \ %D%/packages/patches/opensmtpd-fix-crash.patch \
%D%/packages/patches/openssl-runpath.patch \ %D%/packages/patches/openssl-runpath.patch \
%D%/packages/patches/openssl-1.1.0-c-rehash-in.patch \ %D%/packages/patches/openssl-1.1-c-rehash-in.patch \
%D%/packages/patches/openssl-c-rehash-in.patch \ %D%/packages/patches/openssl-c-rehash-in.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \ %D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/osip-CVE-2017-7853.patch \ %D%/packages/patches/osip-CVE-2017-7853.patch \
@ -1231,7 +1231,6 @@ dist_patch_DATA = \
%D%/packages/patches/xapian-revert-5489fb2f8.patch \ %D%/packages/patches/xapian-revert-5489fb2f8.patch \
%D%/packages/patches/xboing-CVE-2004-0149.patch \ %D%/packages/patches/xboing-CVE-2004-0149.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \ %D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-ast-remove-mibstore.patch \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \ %D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
%D%/packages/patches/xf86-video-i128-remove-mibstore.patch \ %D%/packages/patches/xf86-video-i128-remove-mibstore.patch \
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \ %D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \

View file

@ -963,7 +963,7 @@ (define-public rottlog
(define-public sudo (define-public sudo
(package (package
(name "sudo") (name "sudo")
(version "1.8.25") (version "1.8.25p1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -973,7 +973,7 @@ (define-public sudo
version ".tar.gz"))) version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"0hfw6pcwjvv1vvnhb4n1p210306jm4npz99p9cfhbd33yrhhzkwx")) "0nqri46d4dpycj96zin2f2wszmhm7q9mr68hhj9sp81pgmx9rjcx"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1236,7 +1236,7 @@ (define-public wakelan
(define-public dmidecode (define-public dmidecode
(package (package
(name "dmidecode") (name "dmidecode")
(version "3.1") (version "3.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1244,7 +1244,7 @@ (define-public dmidecode
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1h0sg0lxa15nzf8s7884p6q7p6md9idm0c79wyqmk32l4ndwwrnp")))) "1pcfhcgs2ifdjwp7amnsr3lq95pgxpr150bjhdinvl505px0cw07"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases (delete 'configure)) '(#:phases (modify-phases %standard-phases (delete 'configure))
@ -2779,6 +2779,8 @@ (define-public python-pyudev
#t)))))) #t))))))
(inputs (inputs
`(("eudev" ,eudev))) `(("eudev" ,eudev)))
(propagated-inputs
`(("python-six" ,python-six)))
(native-inputs (native-inputs
`(("python-docutils" ,python-docutils) `(("python-docutils" ,python-docutils)
("python-hypothesis" ,python-hypothesis) ("python-hypothesis" ,python-hypothesis)

View file

@ -13699,3 +13699,27 @@ (define-public python-pygenometracks
options), bedgraph, links (represented as arcs), and Hi-C matrices. options), bedgraph, links (represented as arcs), and Hi-C matrices.
pyGenomeTracks can make plots with or without Hi-C data.") pyGenomeTracks can make plots with or without Hi-C data.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public python-hic2cool
(package
(name "python-hic2cool")
(version "0.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hic2cool" version))
(sha256
(base32
"0xy6mhfns2lzib1kcr6419jjp6pmh0qx8z8na55lmiwn0ds8q9cl"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; no tests included
(propagated-inputs
`(("python-cooler" ,python-cooler)))
(home-page "https://github.com/4dn-dcic/hic2cool")
(synopsis "Converter for .hic and .cool files")
(description
"This package provides a converter between @code{.hic} files (from
juicer) and single-resolution or multi-resolution @code{.cool} files (for
cooler). Both @code{hic} and @code{cool} files describe Hi-C contact
matrices.")
(license license:expat)))

View file

@ -382,7 +382,7 @@ (define u-boot
("sdl" ,sdl) ("sdl" ,sdl)
("swig" ,swig))) ("swig" ,swig)))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://www.denx.de/wiki/U-Boot/") (home-page "https://www.denx.de/wiki/U-Boot/")
(synopsis "ARM bootloader") (synopsis "ARM bootloader")
(description "U-Boot is a bootloader used mostly for ARM boards. It (description "U-Boot is a bootloader used mostly for ARM boards. It
also initializes the boards (RAM etc).") also initializes the boards (RAM etc).")
@ -571,7 +571,7 @@ (define-public u-boot-pine64-plus
`(("firmware" ,arm-trusted-firmware-pine64-plus) `(("firmware" ,arm-trusted-firmware-pine64-plus)
,@(package-native-inputs base)))))) ,@(package-native-inputs base))))))
(define-public u-boot-banana-pi-m2-ultra (define-public u-boot-bananapi-m2-ultra
(make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf")) (make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))
(define-public u-boot-a20-olinuxino-lime (define-public u-boot-a20-olinuxino-lime

View file

@ -31,7 +31,7 @@ (define-module (gnu packages busybox)
(define-public busybox (define-public busybox
(package (package
(name "busybox") (name "busybox")
(version "1.29.1") (version "1.29.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -39,7 +39,7 @@ (define-public busybox
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1hqlr5b3bsyb6avadz1z4za6pyl32r1krnpcpwwqilhnx8q0f9gw")))) "1dzg45vgy2w1xcd3p6h8d76ykhabbvk1h0lf8yb24ikrwlv8cr4p"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases

View file

@ -152,14 +152,14 @@ (define-public libcdio-paranoia
(define-public xorriso (define-public xorriso
(package (package
(name "xorriso") (name "xorriso")
(version "1.4.8") (version "1.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-" (uri (string-append "mirror://gnu/xorriso/xorriso-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"10c44yr3dpmwxa7rf23mwfsy1bahny3jpcg9ig0xjv090jg0d0pc")))) "0aq6lvlwlkxz56l5sbvgycr6j5c82ch2bv6zrnc2345ibfpafgx9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("acl" ,acl) `(("acl" ,acl)
@ -727,14 +727,14 @@ (define-public ccd2cue
(define-public libburn (define-public libburn
(package (package
(name "libburn") (name "libburn")
(version "1.4.8") (version "1.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://files.libburnia-project.org/releases/" (uri (string-append "http://files.libburnia-project.org/releases/"
"libburn-" version ".tar.gz")) "libburn-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"19lxnzn8bz70glrrrn2hs43gf5g7gfbcka9rcbckhv1pb7is509y")))) "1gg2kgnqvaa2fwghai62prxz6slpak1f6bvgjh8m4dn16v114asq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -749,14 +749,14 @@ (define-public libburn
(define-public libisofs (define-public libisofs
(package (package
(name "libisofs") (name "libisofs")
(version "1.4.8") (version "1.5.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://files.libburnia-project.org/releases/" (uri (string-append "http://files.libburnia-project.org/releases/"
"libisofs-" version ".tar.gz")) "libisofs-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0scvqb72qq24wcg814p1iw1dknldl21hr1hxsc1wy9vc6vgyk7fw")))) "001l3akf3wb6msl9man776w560iqyvsbwwzs7d7y7msx13irspys"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("zlib" ,zlib) `(("zlib" ,zlib)

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -50,13 +51,10 @@ (define-public cinnamon-desktop
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'autoconf (add-before 'bootstrap 'skip-premature-configure
(lambda _ (lambda _
(mkdir-p "m4") (setenv "NOCONFIGURE" "set")
(zero? #t)))))
(and (system* "glib-gettextize" "--force" "--copy")
(system* "intltoolize" "--force" "--copy" "--automake")
(system* "autoreconf" "--verbose" "--force" "--install"))))))))
;; TODO: package 'libgsystem'. ;; TODO: package 'libgsystem'.
(inputs (inputs
`(("accountsservice" ,accountsservice) `(("accountsservice" ,accountsservice)

View file

@ -5797,3 +5797,81 @@ (define-public r-abjutils
It also implements functions for text cleaning, such as accentuation It also implements functions for text cleaning, such as accentuation
removal.") removal.")
(license license:expat))) (license license:expat)))
(define-public r-abnormality
(package
(name "r-abnormality")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "abnormality" version))
(sha256
(base32 "1fzfskl9akl06nliy8hkv2a0pznpj8pwcypg3gj5r2nzvr3kan9v"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
("r-matrix" ,r-matrix)))
(home-page "https://cran.r-project.org/web/packages/abnormality/")
(synopsis "Measure a subject's abnormality with respect to a reference population")
(description
"This package contains functions to implement the methodology and
considerations laid out by Marks et al. in the article \"Measuring abnormality
in high dimensional spaces: applications in biomechanical gait analysis\".
Using high-dimensional datasets to measure a subject's overall level of
abnormality as compared to a reference population is often needed in outcomes
research.")
(license license:expat)))
(define-public r-abodoutlier
(package
(name "r-abodoutlier")
(version "0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "abodOutlier" version))
(sha256
(base32 "1pvhgxmh23br84r0fbmv7g53z2427birdja96a67vqgz18r3fdvj"))))
(properties `((upstream-name . "abodOutlier")))
(build-system r-build-system)
(propagated-inputs
`(("r-cluster" ,r-cluster)))
(home-page "https://cran.r-project.org/web/packages/abodOutlier/")
(synopsis "Angle-based outlier detection")
(description
"This package performs angle-based outlier detection on a given data
frame. It offers three methods to process data:
@enumerate
@item full but slow implementation using all the data that has cubic
complexity;
@item a fully randomized method;
@item a method using k-nearest neighbours.
@end enumerate
These algorithms are well suited for high dimensional data outlier
detection.")
(license license:expat)))
(define-public r-abps
(package
(name "r-abps")
(version "0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ABPS" version))
(sha256
(base32 "1k3f5i34f4w2khkszb4qhwwcpiy7gsfh82vjr6rypwg6rx5rjclq"))))
(properties `((upstream-name . "ABPS")))
(build-system r-build-system)
(propagated-inputs `(("r-kernlab" ,r-kernlab)))
(home-page "https://cran.r-project.org/web/packages/ABPS/")
(synopsis "Abnormal blood profile score to detect blood doping")
(description
"This package offers an implementation of the @dfn{Abnormal blood profile score} (ABPS).
The ABPS is a part of the Athlete biological passport program of the World
anti-doping agency, which combines several blood parameters into a single
score in order to detect blood doping. The package also contains functions to
calculate other scores used in anti-doping programs, such as the ratio of
hemoglobin to reticulocytes (OFF-score), as well as example data.")
(license license:gpl2+)))

View file

@ -574,14 +574,14 @@ (define-public foomatic-filters
(define-public foo2zjs (define-public foo2zjs
(package (package
(name "foo2zjs") (name "foo2zjs")
(version "20171202") (version "20180910")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; XXX: This is an unversioned URL! ;; XXX: This is an unversioned URL!
(uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz") (uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")
(sha256 (sha256
(base32 (base32
"10m1ksbzqsrsl4faqyl73ahfnj2hv1y3zrmr366zvjg7w3l6ag5n")))) "1clddqy4y4vvws0lllv1v90dfiihihdc23bn93c544yb3fvmwmr6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases '(#:phases (modify-phases %standard-phases

View file

@ -60,7 +60,7 @@ (define-public libserialport
(define-public libsigrokdecode (define-public libsigrokdecode
(package (package
(name "libsigrokdecode") (name "libsigrokdecode")
(version "0.5.1") (version "0.5.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -68,7 +68,7 @@ (define-public libsigrokdecode
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"07mmb6s62ncqqgsc6szilj2yxixf6gg99ggbzsjlbhp4b9aqnga9")))) "1w434nl1syjkvwl08lji3r9sr60lbxp1nqys8hqwzv2lgiwrx3g0"))))
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments
`(#:phases `(#:phases

View file

@ -579,16 +579,16 @@ (define-public magit-svn
(define-public emacs-magit-popup (define-public emacs-magit-popup
(package (package
(name "emacs-magit-popup") (name "emacs-magit-popup")
(version "2.12.3") (version "2.12.4")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/magit/magit-popup/archive/v" (url "https://github.com/magit/magit-popup.git")
version ".tar.gz")) (commit (string-append "v" version))))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1kz6vj67awkwf9y2wj6m3l2him3znm08z6bkdvnmfr6rwd96dr39")))) "08952nzn0cb6gxscqyiljk4fq2zxjvr3ism0lvgw0gs9hl5phiwx"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -7182,6 +7182,28 @@ (define-public emacs-dired-hacks
@end itemize\n") @end itemize\n")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-dired-sidebar
(let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
(revision "0"))
(package
(name "emacs-dired-sidebar")
(home-page "https://github.com/jojojames/dired-sidebar")
(version (git-version "0.0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dired-subtree" ,emacs-dired-hacks)))
(synopsis "Sidebar for Emacs using Dired")
(description
"This package provides a sidebar for Emacs similar to @code{NeoTree}
or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
(license license:gpl3+))))
(define-public emacs-which-key (define-public emacs-which-key
(package (package
(name "emacs-which-key") (name "emacs-which-key")

View file

@ -62,7 +62,7 @@ (define-module (gnu packages enlightenment)
(define-public efl (define-public efl
(package (package
(name "efl") (name "efl")
(version "1.21.0") (version "1.21.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -70,7 +70,7 @@ (define-public efl
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0jxfrcz2aq1synxzd6sh9nhxz7fg9qgz0idr8zj6gaiplmwbwrby")))) "0a5907h896pvpix7a6idc2fspzy6d78xrzf84k8y9fyvnd14nxs4"))))
(outputs '("out" ; 49 MB (outputs '("out" ; 49 MB
"include")) ; 17 MB "include")) ; 17 MB
(build-system gnu-build-system) (build-system gnu-build-system)
@ -251,7 +251,7 @@ (define-public rage
(define-public enlightenment (define-public enlightenment
(package (package
(name "enlightenment") (name "enlightenment")
(version "0.22.3") (version "0.22.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -259,7 +259,7 @@ (define-public enlightenment
name "/" name "-" version ".tar.xz")) name "/" name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"16zydv7z94aw3rywmb9gr8ya85k7b75h22wng95lfx1x0y1yb0ad")) "0ygy891rrw5c7lhk539nhif77j88phvz2h0fhx172iaridy9kx2r"))
(patches (search-patches "enlightenment-fix-setuid-path.patch")))) (patches (search-patches "enlightenment-fix-setuid-path.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -2694,7 +2694,7 @@ (define-public einstein
(define-public powwow (define-public powwow
(package (package
(name "powwow") (name "powwow")
(version "1.2.17") (version "1.2.18")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2703,11 +2703,11 @@ (define-public powwow
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1xmsg2y7qcvj67i9ilnih0mvfxcpni7fzrz343x9rdfnkkzf3pp8")))) "1gf0jc1vfv05lxij51n3c1dqn3aiiy2kj1v6q14an3wm7yl7cllp"))))
(inputs (inputs
`(("ncurses" ,ncurses))) `(("ncurses" ,ncurses)))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://www.hoopajoo.net/projects/powwow.html") (home-page "https://www.hoopajoo.net/projects/powwow.html")
(synopsis "MUD and telnet client") (synopsis "MUD and telnet client")
(description (description
"POWWOW is a client software which can be used for telnet as well as for "POWWOW is a client software which can be used for telnet as well as for

View file

@ -4156,7 +4156,7 @@ (define-public eolie
("gtkspell3" ,gtkspell3) ("gtkspell3" ,gtkspell3)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("webkitgtk" ,webkitgtk))) ("webkitgtk" ,webkitgtk)))
(home-page "https://github.com/gnumdk/eolie/") (home-page "https://wiki.gnome.org/Apps/Eolie")
(synopsis "Web browser for GNOME") (synopsis "Web browser for GNOME")
(description (description
"Eolie is a new web browser for GNOME. It features Firefox sync support, "Eolie is a new web browser for GNOME. It features Firefox sync support,
@ -4438,7 +4438,7 @@ (define-public gexiv2
(define-public shotwell (define-public shotwell
(package (package
(name "shotwell") (name "shotwell")
(version "0.28.0") (version "0.28.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -4446,7 +4446,7 @@ (define-public shotwell
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1d797nmlz9gs6ri0h65b76s40ss6ma6h6405xqx03lhg5xni3kmg")))) "03k7n2kmzqn11kf3733w7m6xjh2b5q9xr84za2hli11fjymzaxm9"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(propagated-inputs (propagated-inputs
`(("dconf" ,dconf))) `(("dconf" ,dconf)))

View file

@ -389,7 +389,7 @@ (define-public go-1.10
(package (package
(inherit go-1.9) (inherit go-1.9)
(name "go") (name "go")
(version "1.10.3") (version "1.10.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -397,7 +397,7 @@ (define-public go-1.10
name version ".src.tar.gz")) name version ".src.tar.gz"))
(sha256 (sha256
(base32 (base32
"1wjmw65nfkkzz084695gdgn13sbjcaafy2y5370d214pdk31qysn")))) "10ap5pan71y2hdwzv4cg8wx4sy8fkcz5520rm1ldjg25xmjlkr3g"))))
(arguments (arguments
(substitute-keyword-arguments (package-arguments go-1.9) (substitute-keyword-arguments (package-arguments go-1.9)
((#:phases phases) ((#:phases phases)

View file

@ -2175,4 +2175,31 @@ (define-public guile-sparql
using S-expressions.") using S-expressions.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public guile-debbugs
(package
(name "guile-debbugs")
(version "0.0.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-"
version ".tar.gz"))
(sha256
(base32
"16l8910p57im6s3j93xhdaqvgfy6ms5n97177mrch3y961z5hy0i"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile.in"
(("^godir = (.*)/ccache" _ prefix)
(string-append "godir = " prefix "/site-ccache"))))))
(build-system gnu-build-system)
(native-inputs
`(("guile" ,guile-2.2)
("pkg-config" ,pkg-config)))
(home-page "https://savannah.gnu.org/projects/guile-debbugs/")
(synopsis "Guile interface to the Debbugs bug tracking service")
(description
"This package provides a Guile library to communicate with a Debbugs bug
tracker's SOAP service, such as @url{https://bugs.gnu.org}.")
(license license:gpl3+)))
;;; guile.scm ends here ;;; guile.scm ends here

View file

@ -60,7 +60,7 @@ (define-module (gnu packages image-viewers)
(define-public feh (define-public feh
(package (package
(name "feh") (name "feh")
(version "2.27.1") (version "2.28")
(home-page "https://feh.finalrewind.org/") (home-page "https://feh.finalrewind.org/")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -68,7 +68,7 @@ (define-public feh
name "-" version ".tar.bz2")) name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"10zk76l491s22qrv86rax6cvpgwyl3qq0izl2pbk0k1z1kw3ihvf")))) "1nfka7w6pzj2bbwx8vydr2wwm7z8mrbqiy1xrq97c1g5bxy2vlhk"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (modify-phases %standard-phases (delete 'configure)) '(#:phases (modify-phases %standard-phases (delete 'configure))

View file

@ -267,8 +267,16 @@ (define-public libjpeg
"Libjpeg implements JPEG image encoding, decoding, and transcoding. "Libjpeg implements JPEG image encoding, decoding, and transcoding.
JPEG is a standardized compression method for full-color and gray-scale JPEG is a standardized compression method for full-color and gray-scale
images. images.
The included programs provide conversion between the JPEG format and It also includes programs that provide conversion between the JPEG format and
image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.") image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats, as well as
lossless JPEG manipulations such as rotation, scaling or cropping:
@enumerate
@item cjpeg
@item djpeg
@item jpegtran
@item rdjpgcom
@item wrjpgcom
@end enumerate")
(license license:ijg) (license license:ijg)
(home-page "http://www.ijg.org/"))) (home-page "http://www.ijg.org/")))
@ -1350,8 +1358,9 @@ (define-public libiptcdata
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://libiptcdata.sourceforge.net/") (home-page "http://libiptcdata.sourceforge.net/")
(synopsis "IPTC metadata manipulation library") (synopsis "IPTC metadata manipulation library")
(description "Libiptcdata is a C library for manipulating the International (description
Press Telecommunications Council (IPTC) metadata stored within multimedia files "Libiptcdata is a C library for manipulating the International Press
Telecommunications Council (@dfn{IPTC}) metadata stored within multimedia files
such as images. This metadata can include captions and keywords, often used by such as images. This metadata can include captions and keywords, often used by
popular photo management applications. The library provides routines for popular photo management applications. The library provides routines for
parsing, viewing, modifying, and saving this metadata.") parsing, viewing, modifying, and saving this metadata.")

View file

@ -654,19 +654,19 @@ (define-public libodfgen
(define-public libmwaw (define-public libmwaw
(package (package
(name "libmwaw") (name "libmwaw")
(version "0.3.12") (version "0.3.14")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-"
version "/" name "-" version ".tar.xz")) version "/" name "-" version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"1ryi1v38lgy5kv84fzjqkawidrg30y4hlqrz1v262792wzkad4bn")))) "1s9wyf8pyh3fbazq2d2b6fgi7s7bid60viw2xbdkmn2ywlfbza5c"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("doxygen" ,doxygen) `(("doxygen" ,doxygen)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(propagated-inputs ; in Requires field of .pkg (propagated-inputs ; in Requires field of .pkg
`(("librevenge" ,librevenge))) `(("librevenge" ,librevenge)))
(inputs (inputs
`(("boost" ,boost) `(("boost" ,boost)
@ -676,7 +676,7 @@ (define-public libmwaw
(description "Libmwaw contains some import filters for old Macintosh (description "Libmwaw contains some import filters for old Macintosh
text documents (MacWrite, ClarisWorks, ... ) and for some graphics and text documents (MacWrite, ClarisWorks, ... ) and for some graphics and
spreadsheet documents.") spreadsheet documents.")
(license (list mpl2.0 lgpl2.1+)))) ; dual license (license (list mpl2.0 lgpl2.1+)))) ; dual license
(define-public libstaroffice (define-public libstaroffice
(package (package
@ -704,19 +704,19 @@ (define-public libstaroffice
(define-public libwps (define-public libwps
(package (package
(name "libwps") (name "libwps")
(version "0.4.9") (version "0.4.10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/" (uri (string-append "mirror://sourceforge/" name "/" name "/"
name "-" version "/" name "-" version ".tar.xz")) name "-" version "/" name "-" version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"08j9nxnrzxsnq35d9l824ad8w8az42fivaxn8ajl85dv6g3v1ghk")))) "1ji9zd4wxmas03g8jyx0ih0amrqfazm5874a2v9rd7va50sf088l"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("doxygen" ,doxygen) `(("doxygen" ,doxygen)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(propagated-inputs ; in Requires field of .pkg (propagated-inputs ; in Requires field of .pkg
`(("librevenge" ,librevenge))) `(("librevenge" ,librevenge)))
(inputs (inputs
`(("boost" ,boost) `(("boost" ,boost)
@ -725,7 +725,7 @@ (define-public libwps
(synopsis "Import library for Microsoft Works text documents") (synopsis "Import library for Microsoft Works text documents")
(description "Libwps is a library for importing files in the Microsoft (description "Libwps is a library for importing files in the Microsoft
Works word processor file format.") Works word processor file format.")
(license (list mpl2.0 lgpl2.1+)))) ; dual license (license (list mpl2.0 lgpl2.1+)))) ; dual license
(define-public libzmf (define-public libzmf
(package (package

View file

@ -399,8 +399,8 @@ (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "a
;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP. ;; See : https://wiki.debian.org/DebianKernel/ARMMP.
(define %linux-libre-version "4.18.7") (define %linux-libre-version "4.18.8")
(define %linux-libre-hash "1gn3ip2blczfr5hl20x6c93z8v7h528kl423pzkcn22hin6717wd") (define %linux-libre-hash "163awpba1yd0x33xzj5dczimk4y96xc28syc4w2ad0qafgapng8l")
(define %linux-libre-4.18-patches (define %linux-libre-4.18-patches
(list %boot-logo-patch (list %boot-logo-patch
@ -430,8 +430,8 @@ (define-public linux-libre
#:patches %linux-libre-4.18-patches #:patches %linux-libre-4.18-patches
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.69") (define %linux-libre-4.14-version "4.14.70")
(define %linux-libre-4.14-hash "08pw5hywlx3rsavj74qa17fm9hmhaw2rb1d3ahaqmd1zzsddb3qf") (define %linux-libre-4.14-hash "138v51m6k57wnvlf9c22dad0w819mfb8f95i6w99mlg69qpwdvag")
(define-public linux-libre-4.14 (define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version (make-linux-libre %linux-libre-4.14-version
@ -440,14 +440,14 @@ (define-public linux-libre-4.14
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.9 (define-public linux-libre-4.9
(make-linux-libre "4.9.126" (make-linux-libre "4.9.127"
"0qa9zxa7isn20b9sbjcyrqfynd00phddv3yindp5dmvsng1kwxj8" "0q7h5gnl3ikic0pvwrxp78pz56yvijhz6s84gb92xywi1v3dd8mh"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.4 (define-public linux-libre-4.4
(make-linux-libre "4.4.155" (make-linux-libre "4.4.156"
"1gcnwrgv0xghr550lcl6dmxdl59drzbi02mwp78g8vjql6ihdfys" "13j4jb4hifh3fah2ysy2425fakwqqdh2z23lf4i0frxa1xl974h2"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))

View file

@ -8,6 +8,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -62,6 +63,7 @@ (define-module (gnu packages lisp)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages perl)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
@ -1009,8 +1011,8 @@ (define-public ecl-stumpwm
;; we expose the union of these as `sbcl-slynk'. The following variable ;; we expose the union of these as `sbcl-slynk'. The following variable
;; describes the base module. ;; describes the base module.
(define sbcl-slynk-boot0 (define sbcl-slynk-boot0
(let ((revision "1") (let ((revision "2")
(commit "5706cd45d484a4f25795abe8e643509d31968aa2")) (commit "cbf84c36c4eca8b032e3fd16177a7bc02df3ec4c"))
(package (package
(name "sbcl-slynk-boot0") (name "sbcl-slynk-boot0")
(version (string-append "1.0.0-beta-" revision "." (string-take commit 7))) (version (string-append "1.0.0-beta-" revision "." (string-take commit 7)))
@ -1022,7 +1024,7 @@ (define sbcl-slynk-boot0
(url "https://github.com/joaotavora/sly.git") (url "https://github.com/joaotavora/sly.git")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 "0h4gg3sndl2bf6jdnx9nrf14p9hhi43hagrl0f4v4l11hczl8w81")) (base32 "13dyhsravn591p7g6is01mp2ynzjnnj7pwgi57r6xqmd4611y9vh"))
(file-name (string-append "slynk-" version "-checkout")) (file-name (string-append "slynk-" version "-checkout"))
(modules '((guix build utils) (modules '((guix build utils)
(ice-9 ftw))) (ice-9 ftw)))
@ -1033,14 +1035,19 @@ (define sbcl-slynk-boot0
(substitute* "slynk/slynk.asd" (substitute* "slynk/slynk.asd"
(("\\.\\./contrib") (("\\.\\./contrib")
"contrib") "contrib")
(("\\(defsystem :slynk-util") (("\\(defsystem :slynk/util")
"(defsystem :slynk-util :depends-on (:slynk)")) "(defsystem :slynk/util :depends-on (:slynk)")
((":depends-on \\(:slynk :slynk/util\\)")
":depends-on (:slynk :slynk-util)"))
(substitute* "contrib/slynk-trace-dialog.lisp" (substitute* "contrib/slynk-trace-dialog.lisp"
(("\\(slynk::reset-inspector\\)") ; Causes problems on load (("\\(slynk::reset-inspector\\)") ; Causes problems on load
"nil")) "nil"))
(substitute* "contrib/slynk-profiler.lisp" (substitute* "contrib/slynk-profiler.lisp"
(("slynk:to-line") (("slynk:to-line")
"slynk-pprint-to-line")) "slynk-pprint-to-line"))
(substitute* "contrib/slynk-fancy-inspector.lisp"
(("slynk/util") "slynk-util")
((":compile-toplevel :load-toplevel") ""))
(rename-file "contrib" "slynk/contrib") (rename-file "contrib" "slynk/contrib")
;; Move slynk's contents into the base directory for easier ;; Move slynk's contents into the base directory for easier
;; access ;; access
@ -1080,15 +1087,20 @@ (define sbcl-slynk-arglists
(arguments (arguments
(substitute-keyword-arguments (package-arguments sbcl-slynk-boot0) (substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
((#:asd-file _ "") "slynk.asd") ((#:asd-file _ "") "slynk.asd")
((#:asd-system-name _ #f) #f))))) ((#:asd-system-name _ #f) "slynk/arglists")))))
(define ecl-slynk-arglists (define ecl-slynk-arglists
(sbcl-package->ecl-package sbcl-slynk-arglists)) (sbcl-package->ecl-package sbcl-slynk-arglists))
(define sbcl-slynk-util (define sbcl-slynk-util
(package (package
(inherit sbcl-slynk-arglists) (inherit sbcl-slynk-boot0)
(name "sbcl-slynk-util"))) (name "sbcl-slynk-util")
(inputs `(("slynk" ,sbcl-slynk-boot0)))
(arguments
(substitute-keyword-arguments (package-arguments sbcl-slynk-boot0)
((#:asd-file _ "") "slynk.asd")
((#:asd-system-name _ #f) "slynk/util")))))
(define ecl-slynk-util (define ecl-slynk-util
(sbcl-package->ecl-package sbcl-slynk-util)) (sbcl-package->ecl-package sbcl-slynk-util))
@ -1098,7 +1110,10 @@ (define sbcl-slynk-fancy-inspector
(inherit sbcl-slynk-arglists) (inherit sbcl-slynk-arglists)
(name "sbcl-slynk-fancy-inspector") (name "sbcl-slynk-fancy-inspector")
(inputs `(("slynk-util" ,sbcl-slynk-util) (inputs `(("slynk-util" ,sbcl-slynk-util)
,@(package-inputs sbcl-slynk-arglists))))) ,@(package-inputs sbcl-slynk-arglists)))
(arguments
(substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
((#:asd-system-name _ #f) "slynk/fancy-inspector")))))
(define ecl-slynk-fancy-inspector (define ecl-slynk-fancy-inspector
(sbcl-package->ecl-package sbcl-slynk-fancy-inspector)) (sbcl-package->ecl-package sbcl-slynk-fancy-inspector))
@ -1106,15 +1121,21 @@ (define ecl-slynk-fancy-inspector
(define sbcl-slynk-package-fu (define sbcl-slynk-package-fu
(package (package
(inherit sbcl-slynk-arglists) (inherit sbcl-slynk-arglists)
(name "sbcl-slynk-package-fu"))) (name "sbcl-slynk-package-fu")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
((#:asd-system-name _ #f) "slynk/package-fu")))))
(define ecl-slynk-package-fu (define ecl-slynk-package-fu
(sbcl-package->ecl-package sbcl-slynk-package-fu)) (sbcl-package->ecl-package sbcl-slynk-package-fu))
(define sbcl-slynk-mrepl (define sbcl-slynk-mrepl
(package (package
(inherit sbcl-slynk-arglists) (inherit sbcl-slynk-fancy-inspector)
(name "sbcl-slynk-mrepl"))) (name "sbcl-slynk-mrepl")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
((#:asd-system-name _ #f) "slynk/mrepl")))))
(define ecl-slynk-mrepl (define ecl-slynk-mrepl
(sbcl-package->ecl-package sbcl-slynk-mrepl)) (sbcl-package->ecl-package sbcl-slynk-mrepl))
@ -1122,7 +1143,10 @@ (define ecl-slynk-mrepl
(define sbcl-slynk-trace-dialog (define sbcl-slynk-trace-dialog
(package (package
(inherit sbcl-slynk-arglists) (inherit sbcl-slynk-arglists)
(name "sbcl-slynk-trace-dialog"))) (name "sbcl-slynk-trace-dialog")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
((#:asd-system-name _ #f) "slynk/trace-dialog")))))
(define ecl-slynk-trace-dialog (define ecl-slynk-trace-dialog
(sbcl-package->ecl-package sbcl-slynk-trace-dialog)) (sbcl-package->ecl-package sbcl-slynk-trace-dialog))
@ -1130,7 +1154,10 @@ (define ecl-slynk-trace-dialog
(define sbcl-slynk-profiler (define sbcl-slynk-profiler
(package (package
(inherit sbcl-slynk-arglists) (inherit sbcl-slynk-arglists)
(name "sbcl-slynk-profiler"))) (name "sbcl-slynk-profiler")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
((#:asd-system-name _ #f) "slynk/profiler")))))
(define ecl-slynk-profiler (define ecl-slynk-profiler
(sbcl-package->ecl-package sbcl-slynk-profiler)) (sbcl-package->ecl-package sbcl-slynk-profiler))
@ -1138,7 +1165,10 @@ (define ecl-slynk-profiler
(define sbcl-slynk-stickers (define sbcl-slynk-stickers
(package (package
(inherit sbcl-slynk-arglists) (inherit sbcl-slynk-arglists)
(name "sbcl-slynk-stickers"))) (name "sbcl-slynk-stickers")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
((#:asd-system-name _ #f) "slynk/stickers")))))
(define ecl-slynk-stickers (define ecl-slynk-stickers
(sbcl-package->ecl-package sbcl-slynk-stickers)) (sbcl-package->ecl-package sbcl-slynk-stickers))
@ -1146,7 +1176,10 @@ (define ecl-slynk-stickers
(define sbcl-slynk-indentation (define sbcl-slynk-indentation
(package (package
(inherit sbcl-slynk-arglists) (inherit sbcl-slynk-arglists)
(name "sbcl-slynk-indentation"))) (name "sbcl-slynk-indentation")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
((#:asd-system-name _ #f) "slynk/indentation")))))
(define ecl-slynk-indentation (define ecl-slynk-indentation
(sbcl-package->ecl-package sbcl-slynk-indentation)) (sbcl-package->ecl-package sbcl-slynk-indentation))
@ -1154,7 +1187,10 @@ (define ecl-slynk-indentation
(define sbcl-slynk-retro (define sbcl-slynk-retro
(package (package
(inherit sbcl-slynk-arglists) (inherit sbcl-slynk-arglists)
(name "sbcl-slynk-retro"))) (name "sbcl-slynk-retro")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-slynk-arglists)
((#:asd-system-name _ #f) "slynk/retro")))))
(define ecl-slynk-retro (define ecl-slynk-retro
(sbcl-package->ecl-package sbcl-slynk-retro)) (sbcl-package->ecl-package sbcl-slynk-retro))
@ -1442,3 +1478,47 @@ (define-public uglify-js
`(("sbcl" ,sbcl) `(("sbcl" ,sbcl)
("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js))) ("sbcl-cl-uglify-js" ,sbcl-cl-uglify-js)))
(synopsis "JavaScript compressor"))) (synopsis "JavaScript compressor")))
(define-public confusion-mdl
(let* ((commit "12a055581fc262225272df43287dae48281900f5"))
(package
(name "confusion-mdl")
(version "0.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url (string-append "https://gitlab.com/emacsomancer/" name))
(commit commit)))
(sha256
(base32
"1zi8kflzvwqg97ha1sa5xjisbjs5z1mvbpa772vfxiv5ksnpxp0d"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(apply invoke "make" "CC=gcc" make-flags)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "mdli" bin)
#t))))))
(native-inputs
`(("perl" ,perl)))
(inputs
`(("libgc" ,libgc)))
(synopsis "Interpreter for the MIT Design Language (MDL)")
(description "MDL (the MIT Design Language) is a descendant of Lisp. It
was originally developed in 1971 on the PDP-10 computer under the Incompatible
Timesharing System (ITS) to provide high level language support for the
Dynamic Modeling Group at MIT's Project MAC. Infocom built the original
PDP-10 Zork in MDL and their later ZIL (Zork Implementation Language) was
based on a subset of MDL. Confusion is a MDL interpreter that works just well
enough to play the original mainframe Zork all the way through.")
(home-page "http://www.russotto.net/git/mrussotto/confusion/src/master/src/README")
(license license:gpl3+))))

View file

@ -417,15 +417,7 @@ (define-public python-llvmlite
"twine_cfg_undefined_behavior.patch")) "twine_cfg_undefined_behavior.patch"))
(sha256 (sha256
(base32 (base32
"07h71n2m1mn9zcfgw04zglffknplb233zqbcd6pckq0wygkrxflp"))) "07h71n2m1mn9zcfgw04zglffknplb233zqbcd6pckq0wygkrxflp")))))))))))
(origin
(method url-fetch)
(uri (string-append "https://raw.githubusercontent.com/numba/"
"llvmlite/v" version "/conda-recipes/"
"0001-Transforms-Add-missing-header-for-InstructionCombini.patch"))
(sha256
(base32
"1pp0z9696l6j4dwz7ypjrm4vvkj0d3mlf1g8zmiyk08akw5lz0cb")))))))))))
(home-page "http://llvmlite.pydata.org") (home-page "http://llvmlite.pydata.org")
(synopsis "Wrapper around basic LLVM functionality") (synopsis "Wrapper around basic LLVM functionality")
(description (description

View file

@ -947,14 +947,15 @@ (define-public getmail
(define-public libetpan (define-public libetpan
(package (package
(name "libetpan") (name "libetpan")
(version "1.8") (version "1.9.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/dinhviethoa/" name (uri (git-reference
"/archive/" version ".tar.gz")) (url "https://github.com/dinhviethoa/libetpan.git")
(file-name (string-append name "-" version ".tar.gz")) (commit version)))
(file-name (git-file-name name version))
(sha256 (sha256
(base32 "1sxnaglp5hb0z78sgnfzva4x8m4flqhicvm1dz0krkxdmfsafrsf")))) (base32 "1628lb1qvxixl64ifvjjr839hmirpx532klhv2mr7m6gmn7nlci5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf-wrapper) (native-inputs `(("autoconf" ,autoconf-wrapper)
("automake" ,automake) ("automake" ,automake)
@ -978,7 +979,7 @@ (define-public libetpan
(invoke "sh" "autogen.sh")))) (invoke "sh" "autogen.sh"))))
#:configure-flags #:configure-flags
'("--disable-static" "--disable-db"))) '("--disable-static" "--disable-db")))
(home-page "http://www.etpan.org/libetpan.html") (home-page "https://www.etpan.org/libetpan.html")
(synopsis "Portable middleware for email access") (synopsis "Portable middleware for email access")
(description (description
"The purpose of this mail library is to provide a portable, efficient "The purpose of this mail library is to provide a portable, efficient

View file

@ -27,6 +27,7 @@
;;; Copyright © 2018 Nadya Voronova <voronovank@gmail.com> ;;; Copyright © 2018 Nadya Voronova <voronovank@gmail.com>
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Eric Brown <brown@fastmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -459,16 +460,15 @@ (define-public cddlib
(define-public arpack-ng (define-public arpack-ng
(package (package
(name "arpack-ng") (name "arpack-ng")
(version "3.6.2") (version "3.6.3")
(home-page "https://github.com/opencollab/arpack-ng") (home-page "https://github.com/opencollab/arpack-ng")
(source (source (origin
(origin (method git-fetch)
(method url-fetch) (uri (git-reference (url home-page) (commit version)))
(uri (string-append home-page "/archive/" version ".tar.gz")) (file-name (git-file-name name version))
(file-name (string-append name "-" version ".tar.gz")) (sha256
(sha256 (base32
(base32 "1wljl96yqxc9v8r49c37lscwkdp58kaacfb9p6s6nvpm31haax4y"))))
"16jrvdl0gh78rrfnvrcxwys4slwfh6qmwwjhfc9d6vwrvq184g37"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
@ -2084,7 +2084,8 @@ (define-public ruby-asciimath
(lambda _ (lambda _
(substitute* "spec/parser_spec.rb" (substitute* "spec/parser_spec.rb"
(("\\\\\"") (("\\\\\"")
"\""))))))) "\""))
#t)))))
(native-inputs (native-inputs
`(("bundler" ,bundler) `(("bundler" ,bundler)
("ruby-rspec" ,ruby-rspec))) ("ruby-rspec" ,ruby-rspec)))
@ -2873,6 +2874,18 @@ (define-public openblas
"OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD version.") "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD version.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public openblas-ilp64
(package (inherit openblas)
(name "openblas-ilp64")
(supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux"))
(arguments
(substitute-keyword-arguments (package-arguments openblas)
((#:make-flags flags '())
`(append (list "INTERFACE64=1" "LIBNAMESUFFIX=ilp64")
,flags))))
(synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)")
(license license:bsd-3)))
(define* (make-blis implementation #:optional substitutable?) (define* (make-blis implementation #:optional substitutable?)
"Return a BLIS package with the given IMPLEMENTATION (see config/ in the "Return a BLIS package with the given IMPLEMENTATION (see config/ in the
source tree for a list of implementations.) source tree for a list of implementations.)
@ -3217,7 +3230,7 @@ (define-public atlas
(define-public glm (define-public glm
(package (package
(name "glm") (name "glm")
(version "0.9.9.1") (version "0.9.9.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -3225,7 +3238,7 @@ (define-public glm
version "/glm-" version ".zip")) version "/glm-" version ".zip"))
(sha256 (sha256
(base32 (base32
"042a23hmxfs429czkmlg5ixf28aikzfbw18780prj2gcd4flgw8h")))) "1m2gws1d7l6h4mdn0ap74pfnm3vva3kk8rybdqd5x4lksd1mk6r0"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("unzip" ,unzip))) `(("unzip" ,unzip)))

View file

@ -33,6 +33,7 @@ (define-module (gnu packages mpd)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages avahi) #:use-module (gnu packages avahi)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
@ -185,7 +186,7 @@ (define-public mpd-mpc
(define-public ncmpc (define-public ncmpc
(package (package
(name "ncmpc") (name "ncmpc")
(version "0.29") (version "0.30")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -194,12 +195,23 @@ (define-public ncmpc
"/ncmpc-" version ".tar.xz")) "/ncmpc-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"04jzv1hfdvgbn391523jb2h3yhq9a40pjrg41sl3wf3jf6vajs7g")))) "18qj3cgqczgfk334x0ywxwa1ckrk9fbjyp34n4zzcxwaifshrzp3"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list "-Dcurses=ncurses"))) (list "-Dcurses=ncurses")
(inputs `(("glib" ,glib) #:phases
(modify-phases %standard-phases
(add-before 'configure 'expand-C++-include-path
;; Make <gcc>/include/c++/ext/string_conversions.h find <stdlib.h>.
(lambda* (#:key inputs #:allow-other-keys)
(let* ((path "CPLUS_INCLUDE_PATH")
(gcc (assoc-ref inputs "gcc"))
(c++ (string-append gcc "/include/c++")))
(setenv path (string-append c++ ":" (getenv path)))
#t))))))
(inputs `(("gcc", gcc-8) ; for its C++14 support
("glib" ,glib)
("libmpdclient" ,libmpdclient) ("libmpdclient" ,libmpdclient)
("ncurses" ,ncurses))) ("ncurses" ,ncurses)))
(native-inputs `(("gettext" ,gettext-minimal) ; for xgettext (native-inputs `(("gettext" ,gettext-minimal) ; for xgettext

View file

@ -49,7 +49,7 @@ (define-public mtools
(define-public exfat-utils (define-public exfat-utils
(package (package
(name "exfat-utils") (name "exfat-utils")
(version "1.2.8") (version "1.3.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -57,7 +57,7 @@ (define-public exfat-utils
version "/" name "-" version ".tar.gz")) version "/" name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"09yf41mgwp8wg0psq347d5razllilx1sd4ij9173nri47p9465jw")))) "0da8f8mm1sbwqp7prh78qk33xm0b8kk2d5is7mh2szlhgdxd1syz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://github.com/relan/exfat") (home-page "https://github.com/relan/exfat")
(synopsis "Utilities to manipulate exFAT file systems") (synopsis "Utilities to manipulate exFAT file systems")

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -62,9 +63,9 @@ (define-public gourmet
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'install (replace 'install
(lambda* (#:key make-flags #:allow-other-keys) (lambda* (#:key make-flags #:allow-other-keys)
(zero? (system* "python" "setup.py" "install" "--prefix" (invoke "python" "setup.py" "install" "--prefix"
(assoc-ref %outputs "out")))))))) (assoc-ref %outputs "out")))))))
(home-page "http://thinkle.github.io/gourmet/") (home-page "https://thinkle.github.io/gourmet/")
(synopsis "Recipe organizer") (synopsis "Recipe organizer")
(description (description
"Gourmet Recipe Manager is a recipe organizer that allows you to collect, "Gourmet Recipe Manager is a recipe organizer that allows you to collect,

View file

@ -457,7 +457,7 @@ (define-public hevea
(define-public coq (define-public coq
(package (package
(name "coq") (name "coq")
(version "8.8.0") (version "8.8.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/coq/coq/archive/V" (uri (string-append "https://github.com/coq/coq/archive/V"
@ -465,7 +465,7 @@ (define-public coq
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0g96k2x6lbddlmkmdaczvcpb2gwqi1ydbq9bv4gf9q38kv9w3xya")))) "13cyvbg8cgqkg9wz0ax7jq03srj9k0lyvny97fcka4ai1zrzwln8"))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "COQPATH") (variable "COQPATH")
@ -486,16 +486,16 @@ (define-public coq
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(mandir (string-append out "/share/man")) (mandir (string-append out "/share/man"))
(browser "icecat -remote \"OpenURL(%s,new-tab)\"")) (browser "icecat -remote \"OpenURL(%s,new-tab)\""))
(zero? (system* "./configure" (invoke "./configure"
"-prefix" out "-prefix" out
"-mandir" mandir "-mandir" mandir
"-browser" browser "-browser" browser
"-coqide" "opt"))))) "-coqide" "opt"))))
(replace 'build (replace 'build
(lambda _ (lambda _
(zero? (system* "make" "-j" (number->string (invoke "make"
(parallel-job-count)) "-j" (number->string (parallel-job-count))
"world")))) "world")))
(delete 'check) (delete 'check)
(add-after 'install 'check (add-after 'install 'check
(lambda _ (lambda _
@ -505,7 +505,7 @@ (define-public coq
(delete-file-recursively "coq-makefile/timing") (delete-file-recursively "coq-makefile/timing")
;; This one fails because we didn't build coqtop.byte. ;; This one fails because we didn't build coqtop.byte.
(delete-file-recursively "coq-makefile/findlib-package") (delete-file-recursively "coq-makefile/findlib-package")
(zero? (system* "make")))))))) (invoke "make")))))))
(home-page "https://coq.inria.fr") (home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic") (synopsis "Proof assistant for higher-order logic")
(description (description
@ -924,21 +924,20 @@ (define-public ocaml4.01-findlib
(define-public ocaml-ounit (define-public ocaml-ounit
(package (package
(name "ocaml-ounit") (name "ocaml-ounit")
(version "2.0.0") (version "2.0.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (ocaml-forge-uri "ounit" version 1258)) (uri (ocaml-forge-uri "ounit" version 1749))
(sha256 (sha256
(base32 (base32
"118xsadrx84pif9vaq13hv4yh22w9kmr0ypvhrs0viir1jr0ajjd")))) "03ifp9hjcxg4m5j190iy373jcn4039d3vy10kmd8p4lfciwzwc1f"))))
(build-system ocaml-build-system) (build-system ocaml-build-system)
(native-inputs (native-inputs
`(("libxml2" ,libxml2))) ; for xmllint `(("libxml2" ,libxml2))) ; for xmllint
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; Tests are done during build. (delete 'check)))) ; tests are run during build
(delete 'check))))
(home-page "http://ounit.forge.ocamlcore.org") (home-page "http://ounit.forge.ocamlcore.org")
(synopsis "Unit testing framework for OCaml") (synopsis "Unit testing framework for OCaml")
(description "Unit testing framework for OCaml. It is similar to JUnit and (description "Unit testing framework for OCaml. It is similar to JUnit and

View file

@ -6,14 +6,14 @@ to create symbolic links to certificates, for instance in the 'nss-certs'
package. package.
diff --git a/tools/c_rehash.in b/tools/c_rehash.in diff --git a/tools/c_rehash.in b/tools/c_rehash.in
index 2fef627..9d40eae 100644 index 421fd89208..93aca4e168 100644
--- a/tools/c_rehash.in --- a/tools/c_rehash.in
+++ b/tools/c_rehash.in +++ b/tools/c_rehash.in
@@ -1,4 +1,6 @@ @@ -1,4 +1,6 @@
-#!{- $config{hashbangperl} -} -#!{- $config{HASHBANGPERL} -}
+eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' +eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}'
+ & eval 'exec perl -wS "$0" $argv:q' + & eval 'exec perl -wS "$0" $argv:q'
+ if 0; + if 0;
# {- join("\n# ", @autowarntext) -} # {- join("\n# ", @autowarntext) -}
# Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. # Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved.

View file

@ -1,90 +0,0 @@
Removes references to mibstore.h and miInitializeBackingStore, which
have been removed from xorg-server. Zack Rusin <zackr@vmware.com>
wrote: "It was a noop for at least 5 years and it has been removed."
See: http://patches.openembedded.org/patch/46133/
diff -ru xf86-video-ast-0.93.10.orig/src/ast_2dtool.c xf86-video-ast-0.93.10/src/ast_2dtool.c
--- xf86-video-ast-0.93.10.orig/src/ast_2dtool.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_2dtool.c 2014-12-19 02:42:32.422383728 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
diff -ru xf86-video-ast-0.93.10.orig/src/ast_accel.c xf86-video-ast-0.93.10/src/ast_accel.c
--- xf86-video-ast-0.93.10.orig/src/ast_accel.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_accel.c 2014-12-19 02:41:55.534200809 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
diff -ru xf86-video-ast-0.93.10.orig/src/ast_cursor.c xf86-video-ast-0.93.10/src/ast_cursor.c
--- xf86-video-ast-0.93.10.orig/src/ast_cursor.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_cursor.c 2014-12-19 02:42:37.258407708 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
diff -ru xf86-video-ast-0.93.10.orig/src/ast_driver.c xf86-video-ast-0.93.10/src/ast_driver.c
--- xf86-video-ast-0.93.10.orig/src/ast_driver.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_driver.c 2014-12-19 02:42:50.710474414 -0500
@@ -31,7 +31,6 @@
#endif
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
@@ -865,7 +864,6 @@
}
#endif /* end of Accel_2D */
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);
diff -ru xf86-video-ast-0.93.10.orig/src/ast_mode.c xf86-video-ast-0.93.10/src/ast_mode.c
--- xf86-video-ast-0.93.10.orig/src/ast_mode.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_mode.c 2014-12-19 02:42:24.894346398 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
diff -ru xf86-video-ast-0.93.10.orig/src/ast_tool.c xf86-video-ast-0.93.10/src/ast_tool.c
--- xf86-video-ast-0.93.10.orig/src/ast_tool.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_tool.c 2014-12-19 02:42:03.930242443 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
diff -ru xf86-video-ast-0.93.10.orig/src/ast_vgatool.c xf86-video-ast-0.93.10/src/ast_vgatool.c
--- xf86-video-ast-0.93.10.orig/src/ast_vgatool.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_vgatool.c 2014-12-19 02:42:18.406314226 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"

View file

@ -2588,6 +2588,30 @@ (define-public perl-devel-checkbin
particular command is available.") particular command is available.")
(license (package-license perl)))) (license (package-license perl))))
(define-public perl-devel-checklib
(package
(name "perl-devel-checklib")
(version "1.13")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-"
version ".tar.gz"))
(sha256
(base32 "1a19qkwxwz3wqb16cdabymfbf9kiydiifw90nd5srpq5hy8gvb94"))))
(build-system perl-build-system)
(native-inputs
`(("perl-io-captureoutput" ,perl-io-captureoutput)
("perl-mock-config" ,perl-mock-config)))
(home-page "https://metacpan.org/release/Devel-CheckLib")
(synopsis "Check that a library is available")
(description
"@code{Devel::CheckLib} is a Perl module that checks whether a particular
C library and its headers are available. You can also check for the presence of
particular functions in a library, or even that those functions return
particular results.")
(license perl-license)))
(define-public perl-devel-checkcompiler (define-public perl-devel-checkcompiler
(package (package
(name "perl-devel-checkcompiler") (name "perl-devel-checkcompiler")

View file

@ -53,7 +53,7 @@ (define-module (gnu packages php)
(define-public php (define-public php
(package (package
(name "php") (name "php")
(version "7.2.8") (version "7.2.10")
(home-page "https://secure.php.net/") (home-page "https://secure.php.net/")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -61,7 +61,7 @@ (define-public php
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"03zv1y8ygzsir60617hinpji3f4irk79zbp3ar1b8zcapq40gfjk")) "1w0432i5wjga9z8x3rhc72h2ij1jd2aimg5xmhc0hg4f7951bhh1"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(with-directory-excursion "ext" '(with-directory-excursion "ext"
@ -227,6 +227,7 @@ (define-public php
;; but with different error messages. ;; but with different error messages.
;; Expects "illegal character", instead gets "unknown error (84)". ;; Expects "illegal character", instead gets "unknown error (84)".
"ext/iconv/tests/bug52211.phpt" "ext/iconv/tests/bug52211.phpt"
"ext/iconv/tests/bug60494.phpt"
;; Expects "wrong charset", gets unknown error (22). ;; Expects "wrong charset", gets unknown error (22).
"ext/iconv/tests/iconv_mime_decode_variation3.phpt" "ext/iconv/tests/iconv_mime_decode_variation3.phpt"
"ext/iconv/tests/iconv_strlen_error2.phpt" "ext/iconv/tests/iconv_strlen_error2.phpt"

View file

@ -4907,6 +4907,57 @@ (define-public python-urwidtrees
(define-public python2-urwidtrees (define-public python2-urwidtrees
(package-with-python2 python-urwidtrees)) (package-with-python2 python-urwidtrees))
(define-public python-ua-parser
(package
(name "python-ua-parser")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ua-parser" version))
(sha256
(base32
"1jwdf58rhchjzzrad405pviv0iq24xa2xmmmdgcm2c8s6b4wzfwp"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;no test suite in release
(native-inputs
`(("python-pyyaml" ,python-pyyaml)))
(home-page "https://github.com/ua-parser/uap-python")
(synopsis "User agent parser")
(description
"@code{ua-parser} is a Python port of Browserscope's user agent parser.")
(license license:asl2.0)))
(define-public python2-ua-parser
(package-with-python2 python-ua-parser))
(define-public python-user-agents
(package
(name "python-user-agents")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "user-agents" version))
(sha256
(base32
"0fc00cd3j8dahq1zzn8pkgfgd7lq37bp2scmdma2n1c049vicgb4"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;missing devices.json test file in release
(propagated-inputs
`(("python-ua-parser" ,python-ua-parser)))
(home-page "https://github.com/selwin/python-user-agents")
(synopsis "User Agent strings parsing library")
(description
"A library to identify devices (phones, tablets) and their capabilities by
parsing (browser/HTTP) user agent strings.")
(license license:expat)))
(define-public python2-user-agents
(package-with-python2 python-user-agents))
(define-public python-dbus (define-public python-dbus
(package (package
(name "python-dbus") (name "python-dbus")
@ -5118,13 +5169,13 @@ (define-public python-datrie
(define-public snakemake (define-public snakemake
(package (package
(name "snakemake") (name "snakemake")
(version "5.2.2") (version "5.2.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "snakemake" version)) (uri (pypi-uri "snakemake" version))
(sha256 (sha256
(base32 "18x36n78ph5v1fxk54gvdbc3d8nfncha78phifg3lqaa9gifgzxd")))) (base32 "0gj0xxgiq3mp9qyyrbfzldiaq1giliqw0in64nqiz7vx49myqj7z"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; TODO: Package missing test dependencies. ;; TODO: Package missing test dependencies.
@ -5142,7 +5193,8 @@ (define-public snakemake
"/bin/snakemake"))) "/bin/snakemake")))
#t))))) #t)))))
(propagated-inputs (propagated-inputs
`(("python-wrapt" ,python-wrapt) `(("python-gitpython" ,python-gitpython)
("python-wrapt" ,python-wrapt)
("python-requests" ,python-requests) ("python-requests" ,python-requests)
("python-appdirs" ,python-appdirs) ("python-appdirs" ,python-appdirs)
("python-configargparse" ,python-configargparse) ("python-configargparse" ,python-configargparse)
@ -10762,6 +10814,37 @@ (define-public python-ddt
(define-public python2-ddt (define-public python2-ddt
(package-with-python2 python-ddt)) (package-with-python2 python-ddt))
(define-public python-pycountry
(package
(name "python-pycountry")
(version "18.5.26")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycountry" version))
(sha256
(base32
"15q9j047s3yc9cfcxq1ch8b71f81na44cr6dydd5gxk0ki9a4akz"))))
(build-system python-build-system)
(home-page "https://bitbucket.org/flyingcircus/pycountry")
(synopsis "ISO databases for languages, countries, currencies, etc.")
(description
"@code{pycountry} provides the ISO databases for the standards:
@enumerate
@item 639-3 (Languages)
@item 3166 (Countries)
@item 3166-3 (Deleted Countries)
@item 3166-2 (Subdivisions of countries)
@item 4217 (Currencies)
@item 15924 (Scripts)
@end enumerate
It includes a copy from Debians pkg-isocodes and makes the data accessible
through a Python API.")
(license license:lgpl2.1+)))
(define-public python2-pycountry
(package-with-python2 python-pycountry))
(define-public python-pycosat (define-public python-pycosat
(package (package
(name "python-pycosat") (name "python-pycosat")
@ -11455,17 +11538,15 @@ (define-public python2-diff-match-patch
(define-public python-dirsync (define-public python-dirsync
(package (package
(name "python-dirsync") (name "python-dirsync")
(version "2.2.2") (version "2.2.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "dirsync" version ".zip")) (uri (pypi-uri "dirsync" version))
(sha256 (sha256
(base32 (base32
"1hcdvmkwd5512zbxpin0k7bx5bkgzy3swjx7d0kj1y45af6r75v2")))) "1r40fkanksagcszf1ag85mdr8w7rgc7196n6s1qlsk2abw6i7v0z"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs
`(("unzip" ,unzip)))
(propagated-inputs (propagated-inputs
`(("six" ,python-six))) `(("six" ,python-six)))
(home-page "https://bitbucket.org/tkhyn/dirsync") (home-page "https://bitbucket.org/tkhyn/dirsync")
@ -13716,16 +13797,16 @@ (define-public python2-gdrivefs
(define-public pybind11 (define-public pybind11
(package (package
(name "pybind11") (name "pybind11")
(version "2.2.3") (version "2.2.4")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/pybind/pybind11/archive/v" (url "https://github.com/pybind/pybind11.git")
version ".tar.gz")) (commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"1sj0x4fwsbnwdai5sxpw1l1vh8m5hpbkfk3zanxcbcgs39jpnfrs")) "0pa79ymcasv8br5ifbx7878id5py2jpjac3i20cqxr6gs9l6ivlv"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("python" ,python) `(("python" ,python)

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -80,14 +81,11 @@ (define-public ruby-debug-inspector
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
(and (invoke "rake" "compile")
(zero? (system* "rake" "compile")) (invoke "ruby" "-Ilib" "-e"
(zero? (string-append
(system* "require 'debug_inspector'; RubyVM::DebugInspector."
"ruby" "-Ilib" "-e" "open{|dc| p dc.backtrace_locations}")))))))
(string-append
"require 'debug_inspector'; RubyVM::DebugInspector."
"open{|dc| p dc.backtrace_locations}")))))))))
(synopsis "Ruby wrapper for the MRI 2.0 debug_inspector API") (synopsis "Ruby wrapper for the MRI 2.0 debug_inspector API")
(description (description
"This package provides a Ruby wrapper for the MRI 2.0 debug_inspector "This package provides a Ruby wrapper for the MRI 2.0 debug_inspector

View file

@ -1114,7 +1114,7 @@ (define-public ruby-permutation
#t)) #t))
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "ruby" "-Ilib" "test/test.rb"))))))) (invoke "ruby" "-Ilib" "test/test.rb"))))))
(synopsis "Library to perform operations with sequence permutations") (synopsis "Library to perform operations with sequence permutations")
(description "This package provides a Ruby library to perform different (description "This package provides a Ruby library to perform different
operations with permutations of sequences, such as strings and arrays.") operations with permutations of sequences, such as strings and arrays.")
@ -1618,7 +1618,7 @@ (define-public ruby-blankslate
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (zero? (system* "rspec" "spec/"))))))) (lambda _ (invoke "rspec" "spec/"))))))
(native-inputs (native-inputs
`(("bundler" ,bundler) `(("bundler" ,bundler)
("ruby-rspec" ,ruby-rspec))) ("ruby-rspec" ,ruby-rspec)))
@ -2028,7 +2028,7 @@ (define-public ruby-minitest-pretty-diff
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "script/test"))))))) (invoke "script/test"))))))
(native-inputs (native-inputs
`(("bundler" ,bundler) `(("bundler" ,bundler)
("ruby-turn" ,ruby-turn))) ("ruby-turn" ,ruby-turn)))
@ -2289,23 +2289,66 @@ (define-public ruby-multipart-post
(define-public ruby-multi-json (define-public ruby-multi-json
(package (package
(name "ruby-multi-json") (name "ruby-multi-json")
(version "1.12.2") (version "1.13.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (rubygems-uri "multi_json" version)) ;; Tests are not distributed at rubygems.org so download from GitHub
;; instead.
(uri (string-append "https://github.com/intridea/multi_json/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x")))) "1s64xqvrnrxmb59v6b2kchnisawg5ai9ky1w60dy6z6ws9la1xv4"))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
'(#:tests? #f)) ;; No testsuite included in the gem. `(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-signing-key-reference
(lambda _
(substitute* "multi_json.gemspec"
((".*spec.signing_key.*") ""))
#t)))))
(native-inputs
`(("bundler" ,bundler)
("ruby-rspec" ,ruby-rspec)
("ruby-yard" ,ruby-yard)
("ruby-json-pure" ,ruby-json-pure)
("ruby-oj" ,ruby-oj)
("ruby-yajl-ruby" ,ruby-yajl-ruby)))
(synopsis "Common interface to multiple JSON libraries for Ruby") (synopsis "Common interface to multiple JSON libraries for Ruby")
(description (description
"This package provides a common interface to multiple JSON libraries, "This package provides a common interface to multiple JSON libraries,
including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem,
NSJSONSerialization, gson.rb, JrJackson, and OkJson.") NSJSONSerialization, gson.rb, JrJackson, and OkJson.")
(home-page "http://github.com/intridea/multi_json") (home-page "https://github.com/intridea/multi_json")
(license license:expat)))
(define-public ruby-multi-test
(package
(name "ruby-multi-test")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "multi_test" version))
(sha256
(base32
"1sx356q81plr67hg16jfwz9hcqvnk03bd9n75pmdw8pfxjfy1yxd"))))
(build-system ruby-build-system)
(arguments
'(;; Tests require different sets of specific gem versions to be available,
;; and there is no gemfile that specifies the newest versions of
;; dependencies to be tested.
#:tests? #f))
(synopsis
"Interface to testing libraries loaded into a running Ruby process")
(description
"@code{multi_test} provides a uniform interface onto whatever testing
libraries that have been loaded into a running Ruby process to help control
rogue test/unit/autorun requires.")
(home-page "https://github.com/cucumber/multi_test")
(license license:expat))) (license license:expat)))
(define-public ruby-arel (define-public ruby-arel
@ -2560,7 +2603,7 @@ (define-public ruby-guard
#t)) #t))
(replace 'build (replace 'build
(lambda _ (lambda _
(zero? (system* "gem" "build" "guard.gemspec"))))))) (invoke "gem" "build" "guard.gemspec"))))))
(propagated-inputs (propagated-inputs
`(("ruby-formatador" ,ruby-formatador) `(("ruby-formatador" ,ruby-formatador)
("ruby-listen" ,ruby-listen) ("ruby-listen" ,ruby-listen)
@ -2675,7 +2718,7 @@ (define-public ruby-rb-inotify
;; list of files. ;; list of files.
(replace 'build (replace 'build
(lambda _ (lambda _
(zero? (system* "gem" "build" "rb-inotify.gemspec"))))))) (invoke "gem" "build" "rb-inotify.gemspec"))))))
(propagated-inputs (propagated-inputs
`(("ruby-ffi" ,ruby-ffi))) `(("ruby-ffi" ,ruby-ffi)))
(native-inputs (native-inputs
@ -2768,7 +2811,7 @@ (define-public ruby-tins
;; causes an error. ;; causes an error.
(substitute* "tins.gemspec" (substitute* "tins.gemspec"
(("\"lib/spruz\", ") "")) (("\"lib/spruz\", ") ""))
(zero? (system* "gem" "build" "tins.gemspec"))))))) (invoke "gem" "build" "tins.gemspec"))))))
(synopsis "Assorted tools for Ruby") (synopsis "Assorted tools for Ruby")
(description "Tins is a Ruby library providing assorted tools.") (description "Tins is a Ruby library providing assorted tools.")
(home-page "https://github.com/flori/tins") (home-page "https://github.com/flori/tins")
@ -2793,7 +2836,7 @@ (define-public ruby-gem-hadar
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'build (replace 'build
(lambda _ (lambda _
(zero? (system* "gem" "build" "gem_hadar.gemspec"))))))) (invoke "gem" "build" "gem_hadar.gemspec"))))))
(propagated-inputs (propagated-inputs
`(("git" ,git) `(("git" ,git)
("ruby-tins" ,ruby-tins) ("ruby-tins" ,ruby-tins)
@ -2870,7 +2913,7 @@ (define-public ruby-term-ansicolor
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'build (replace 'build
(lambda _ (lambda _
(zero? (system* "gem" "build" "term-ansicolor.gemspec"))))))) (invoke "gem" "build" "term-ansicolor.gemspec"))))))
(propagated-inputs (propagated-inputs
`(("ruby-tins" ,ruby-tins))) `(("ruby-tins" ,ruby-tins)))
(native-inputs (native-inputs
@ -2978,7 +3021,7 @@ (define-public ruby-json-pure
(lambda _ (lambda _
;; Regenerate gemspec so loosened dependency constraints are ;; Regenerate gemspec so loosened dependency constraints are
;; propagated. ;; propagated.
(zero? (system* "rake" "gemspec"))))))) (invoke "rake" "gemspec"))))))
(native-inputs (native-inputs
`(("bundler" ,bundler) `(("bundler" ,bundler)
("ragel" ,ragel) ("ragel" ,ragel)
@ -3062,8 +3105,8 @@ (define-public ruby-activesupport
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
;; There is no tests, instead attempt to load the library. ;; There are no tests, instead attempt to load the library.
(zero? (system* "ruby" "-Ilib" "-r" "active_support"))))))) (invoke "ruby" "-Ilib" "-r" "active_support"))))))
(propagated-inputs (propagated-inputs
`(("ruby-concurrent" ,ruby-concurrent) `(("ruby-concurrent" ,ruby-concurrent)
("ruby-i18n" ,ruby-i18n) ("ruby-i18n" ,ruby-i18n)
@ -3193,6 +3236,43 @@ (define-public ruby-sanitize
(home-page "https://github.com/rgrove/sanitize/") (home-page "https://github.com/rgrove/sanitize/")
(license license:expat))) (license license:expat)))
(define-public ruby-oj
(package
(name "ruby-oj")
(version "3.6.7")
(source
(origin
(method url-fetch)
;; Version on rubygems.org does not contain Rakefile, so download from
;; GitHub instead.
(uri (string-append "https://github.com/ohler55/oj/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1x28ga72jxlnmsd8g8c0fw81vlh54r0qgagw2lxsd3x3la091g2h"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "test_all"
#:phases
(modify-phases %standard-phases
(add-before 'check 'disable-bundler
(lambda _
(substitute* "Rakefile"
(("Bundler\\.with_clean_env") "1.times")
(("bundle exec ") "")))))))
(native-inputs
`(("bundler" ,bundler)
("ruby-rspec" ,ruby-rspec)
("ruby-rake-compiler" ,ruby-rake-compiler)))
(synopsis "JSON parser for Ruby optimized for speed")
(description
"Oj is a JSON parser and generator for Ruby, where the encoding and
decoding of JSON is implemented as a C extension to Ruby.")
(home-page "http://www.ohler.com/oj")
(license (list license:expat ; Ruby code
license:bsd-3)))) ; extension code
(define-public ruby-ox (define-public ruby-ox
(package (package
(name "ruby-ox") (name "ruby-ox")
@ -3236,7 +3316,7 @@ (define-public ruby-redcloth
;; existing gemspec. ;; existing gemspec.
(replace 'build (replace 'build
(lambda _ (lambda _
(zero? (system* "gem" "build" "redcloth.gemspec"))))))) (invoke "gem" "build" "redcloth.gemspec"))))))
(native-inputs (native-inputs
`(("bundler" ,bundler) `(("bundler" ,bundler)
("ruby-diff-lcs" ,ruby-diff-lcs) ("ruby-diff-lcs" ,ruby-diff-lcs)
@ -3314,9 +3394,9 @@ (define-public ruby-netrc
;; There is no Rakefile and minitest can only run one file at once, ;; There is no Rakefile and minitest can only run one file at once,
;; so we have to iterate over all test files. ;; so we have to iterate over all test files.
(lambda _ (lambda _
(and (map (lambda (file) (map (lambda (file)
(zero? (system* "ruby" "-Itest" file))) (invoke "ruby" "-Itest" file))
(find-files "./test" "test_.*\\.rb")))))))) (find-files "./test" "test_.*\\.rb")))))))
(native-inputs (native-inputs
`(("ruby-minitest" ,ruby-minitest))) `(("ruby-minitest" ,ruby-minitest)))
(synopsis "Library to read and update netrc files") (synopsis "Library to read and update netrc files")
@ -3341,7 +3421,7 @@ (define-public ruby-unf-ext
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'build 'build-ext (add-after 'build 'build-ext
(lambda _ (zero? (system* "rake" "compile:unf_ext"))))))) (lambda _ (invoke "rake" "compile:unf_ext"))))))
(native-inputs (native-inputs
`(("bundler" ,bundler) `(("bundler" ,bundler)
("ruby-rake-compiler" ,ruby-rake-compiler) ("ruby-rake-compiler" ,ruby-rake-compiler)
@ -3658,6 +3738,42 @@ (define-public ruby-bio-logger
(home-page "https://github.com/pjotrp/bioruby-logger-plugin") (home-page "https://github.com/pjotrp/bioruby-logger-plugin")
(license license:expat))) (license license:expat)))
(define-public ruby-yajl-ruby
(package
(name "ruby-yajl-ruby")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "yajl-ruby" version))
(sha256
(base32
"16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec"
#:phases
(modify-phases %standard-phases
(add-before 'check 'patch-test-to-update-load-path
(lambda _
(substitute* "spec/parsing/large_number_spec.rb"
(("require \"yajl\"")
"$LOAD_PATH << 'lib'; require 'yajl'"))
#t)))))
(native-inputs
`(("ruby-rake-compiler" ,ruby-rake-compiler)
("ruby-rspec" ,ruby-rspec)))
(synopsis "Streaming JSON parsing and encoding library for Ruby")
(description
"Ruby C bindings to the Yajl JSON stream-based parser library. The API
is compatible with the JSON gem, so yajl-ruby can act as a drop in
replacement.
A modified copy of yajl is used, and included in the package.")
(home-page "https://github.com/brianmario/yajl-ruby")
(license (list license:expat ; Ruby code, yajl_ext.c and yajl_ext.h
license:bsd-3)))) ; Included, modified copy of yajl
(define-public ruby-yard (define-public ruby-yard
(package (package
(name "ruby-yard") (name "ruby-yard")
@ -3681,7 +3797,7 @@ (define-public ruby-yard
;; $HOME needs to be set to somewhere writeable for tests to run ;; $HOME needs to be set to somewhere writeable for tests to run
(setenv "HOME" "/tmp") (setenv "HOME" "/tmp")
;; Run tests without using 'rake' to avoid dependencies. ;; Run tests without using 'rake' to avoid dependencies.
(zero? (system* "rspec"))))))) (invoke "rspec"))))))
(native-inputs (native-inputs
`(("ruby-rspec" ,ruby-rspec) `(("ruby-rspec" ,ruby-rspec)
("ruby-rack" ,ruby-rack))) ("ruby-rack" ,ruby-rack)))
@ -3868,7 +3984,7 @@ (define-public ruby-turn
;; without issue. ;; without issue.
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "ruby" "-Ilib" "bin/turn" "-h"))))))) (invoke "ruby" "-Ilib" "bin/turn" "-h"))))))
(propagated-inputs (propagated-inputs
`(("ruby-ansi" ,ruby-ansi) `(("ruby-ansi" ,ruby-ansi)
("ruby-minitest" ,ruby-minitest-4))) ("ruby-minitest" ,ruby-minitest-4)))
@ -4008,7 +4124,7 @@ (define-public ruby-sqlite3
#t)) #t))
(add-before 'check 'add-gemtest-file (add-before 'check 'add-gemtest-file
;; This file exists in the repository but is not distributed. ;; This file exists in the repository but is not distributed.
(lambda _ (zero? (system* "touch" ".gemtest"))))))) (lambda _ (invoke "touch" ".gemtest"))))))
(inputs (inputs
`(("sqlite" ,sqlite))) `(("sqlite" ,sqlite)))
(native-inputs (native-inputs
@ -4042,7 +4158,7 @@ (define-public ruby-shoulda-context
(lambda _ (lambda _
;; Do not run tests to avoid circular dependence with rails. ;; Do not run tests to avoid circular dependence with rails.
;; Instead just import the library to test. ;; Instead just import the library to test.
(zero? (system* "ruby" "-Ilib" "-r" "shoulda-context"))))))) (invoke "ruby" "-Ilib" "-r" "shoulda-context"))))))
(synopsis "Test::Unit context framework extracted from Shoulda") (synopsis "Test::Unit context framework extracted from Shoulda")
(description (description
"@code{shoulda-context} is the context framework extracted from Shoulda. "@code{shoulda-context} is the context framework extracted from Shoulda.
@ -4071,7 +4187,7 @@ (define-public ruby-shoulda-matchers
(lambda _ (lambda _
;; Do not run tests to avoid circular dependence with rails. Instead ;; Do not run tests to avoid circular dependence with rails. Instead
;; just import the library to test. ;; just import the library to test.
(zero? (system* "ruby" "-Ilib" "-r" "shoulda-matchers"))))))) (invoke "ruby" "-Ilib" "-r" "shoulda-matchers"))))))
(propagated-inputs (propagated-inputs
`(("ruby-activesupport" ,ruby-activesupport))) `(("ruby-activesupport" ,ruby-activesupport)))
(synopsis "Collection of testing matchers extracted from Shoulda") (synopsis "Collection of testing matchers extracted from Shoulda")
@ -4111,7 +4227,7 @@ (define-public ruby-shoulda
(replace 'check (replace 'check
;; Don't run tests to avoid circular dependence with rails. Instead ;; Don't run tests to avoid circular dependence with rails. Instead
;; just import the library to test. ;; just import the library to test.
(lambda _ (zero? (system* "ruby" "-Ilib" "-r" "shoulda"))))))) (lambda _ (invoke "ruby" "-Ilib" "-r" "shoulda"))))))
(propagated-inputs (propagated-inputs
`(("ruby-shoulda-context" ,ruby-shoulda-context) `(("ruby-shoulda-context" ,ruby-shoulda-context)
("ruby-shoulda-matchers" ,ruby-shoulda-matchers-2))) ("ruby-shoulda-matchers" ,ruby-shoulda-matchers-2)))
@ -4264,10 +4380,9 @@ (define-public ruby-httpclient
(replace 'check (replace 'check
(lambda* (#:key tests? #:allow-other-keys) (lambda* (#:key tests? #:allow-other-keys)
(if tests? (if tests?
(zero? (invoke "ruby"
(system* "ruby" "-Ilib"
"-Ilib" "test/runner.rb")
"test/runner.rb"))
#t)))))) #t))))))
(native-inputs (native-inputs
`(("ruby-rack" ,ruby-rack))) `(("ruby-rack" ,ruby-rack)))
@ -4306,7 +4421,7 @@ (define-public ruby-ansi
;; be require'd. ;; be require'd.
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "ruby" "-Ilib" "-r" "ansi")))) (invoke "ruby" "-Ilib" "-r" "ansi")))
(add-before 'validate-runpath 'replace-broken-symlink (add-before 'validate-runpath 'replace-broken-symlink
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -4377,7 +4492,7 @@ (define-public ruby-bio-commandeer
;; Run test without calling 'rake' so that jeweler is ;; Run test without calling 'rake' so that jeweler is
;; not required as an input. ;; not required as an input.
(lambda _ (lambda _
(zero? (system* "rspec" "spec/bio-commandeer_spec.rb"))))))) (invoke "rspec" "spec/bio-commandeer_spec.rb"))))))
(propagated-inputs (propagated-inputs
`(("ruby-bio-logger" ,ruby-bio-logger) `(("ruby-bio-logger" ,ruby-bio-logger)
("ruby-systemu" ,ruby-systemu))) ("ruby-systemu" ,ruby-systemu)))
@ -4414,7 +4529,7 @@ (define-public ruby-rubytest
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "ruby" "-Ilib" "-r" "rubytest"))))))) (invoke "ruby" "-Ilib" "-r" "rubytest"))))))
(propagated-inputs (propagated-inputs
`(("ruby-ansi" ,ruby-ansi))) `(("ruby-ansi" ,ruby-ansi)))
(synopsis "Universal test harness for Ruby") (synopsis "Universal test harness for Ruby")
@ -4444,7 +4559,7 @@ (define-public ruby-brass
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "ruby" "-Ilib" "-r" "brass"))))))) (invoke "ruby" "-Ilib" "-r" "brass"))))))
(synopsis "Basic foundational assertions framework") (synopsis "Basic foundational assertions framework")
(description (description
"BRASS (Bare-Metal Ruby Assertion System Standard) is a basic "BRASS (Bare-Metal Ruby Assertion System Standard) is a basic
@ -4472,7 +4587,7 @@ (define-public ruby-qed
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "ruby" "-Ilib" "bin/qed" "--copyright"))))))) (invoke "ruby" "-Ilib" "bin/qed" "--copyright"))))))
(propagated-inputs (propagated-inputs
`(("ruby-ansi" ,ruby-ansi) `(("ruby-ansi" ,ruby-ansi)
("ruby-brass" ,ruby-brass))) ("ruby-brass" ,ruby-brass)))
@ -4506,7 +4621,7 @@ (define-public ruby-ae
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (zero? (system* "qed")))) (lambda _ (invoke "qed")))
(add-before 'validate-runpath 'replace-broken-symlink (add-before 'validate-runpath 'replace-broken-symlink
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -4544,7 +4659,7 @@ (define-public ruby-lemon
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (lambda _ (zero? (system* "qed"))))))) (replace 'check (lambda _ (invoke "qed"))))))
(propagated-inputs (propagated-inputs
`(("ruby-ae" ,ruby-ae) `(("ruby-ae" ,ruby-ae)
("ruby-ansi" ,ruby-ansi) ("ruby-ansi" ,ruby-ansi)
@ -4600,8 +4715,8 @@ (define-public ruby-hashery
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
(and (zero? (system* "qed")) (invoke "qed")
(zero? (system* "rubytest" "-Ilib" "-Itest" "test/")))))))) (invoke "rubytest" "-Ilib" "-Itest" "test/"))))))
(native-inputs (native-inputs
`(("ruby-rubytest-cli" ,ruby-rubytest-cli) `(("ruby-rubytest-cli" ,ruby-rubytest-cli)
("ruby-qed" ,ruby-qed) ("ruby-qed" ,ruby-qed)
@ -4635,7 +4750,7 @@ (define-public ruby-rc4
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "rspec" "spec/rc4_spec.rb"))))))) (invoke "rspec" "spec/rc4_spec.rb"))))))
(native-inputs (native-inputs
`(("ruby-rspec" ,ruby-rspec-2))) `(("ruby-rspec" ,ruby-rspec-2)))
(synopsis "Implementation of the RC4 algorithm") (synopsis "Implementation of the RC4 algorithm")
@ -4889,7 +5004,7 @@ (define-public ruby-concurrent
(add-before 'check 'rake-compile (add-before 'check 'rake-compile
;; Fix the test error described at ;; Fix the test error described at
;; https://github.com/ruby-concurrency/concurrent-ruby/pull/408 ;; https://github.com/ruby-concurrency/concurrent-ruby/pull/408
(lambda _ (zero? (system* "rake" "compile")))) (lambda _ (invoke "rake" "compile")))
(add-before 'check 'remove-timecop-dependency (add-before 'check 'remove-timecop-dependency
;; Remove timecop-dependent tests as having timecop as a depedency ;; Remove timecop-dependent tests as having timecop as a depedency
;; causes circular depedencies. ;; causes circular depedencies.
@ -5757,7 +5872,7 @@ (define-public ruby-heredoc-unindent
(synopsis "Heredoc indentation cleaner") (synopsis "Heredoc indentation cleaner")
(description "This gem removes common margin from indented strings, such (description "This gem removes common margin from indented strings, such
as the ones produced by indented heredocs. In other words, it strips out as the ones produced by indented heredocs. In other words, it strips out
leading whitespace chars at the beggining of each line, but only as much as leading whitespace chars at the beginning of each line, but only as much as
the line with the smallest margin. the line with the smallest margin.
It is acknowledged that many strings defined by heredocs are just code and It is acknowledged that many strings defined by heredocs are just code and

View file

@ -200,7 +200,7 @@ (define-public mrustc
("rustc" ("rustc"
,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm")))) ,(rust-source "1.19.0" "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm"))))
(arguments (arguments
`(#:tests? #f `(#:test-target "local_tests"
#:make-flags (list (string-append "LLVM_CONFIG=" #:make-flags (list (string-append "LLVM_CONFIG="
(assoc-ref %build-inputs "llvm") (assoc-ref %build-inputs "llvm")
"/bin/llvm-config")) "/bin/llvm-config"))
@ -250,6 +250,7 @@ (define-public mrustc
(gcc (assoc-ref inputs "gcc"))) (gcc (assoc-ref inputs "gcc")))
;; These files are not reproducible. ;; These files are not reproducible.
(for-each delete-file (find-files "output" "\\.txt$")) (for-each delete-file (find-files "output" "\\.txt$"))
(delete-file-recursively "output/local_tests")
(mkdir-p lib) (mkdir-p lib)
(copy-recursively "output" lib/rust) (copy-recursively "output" lib/rust)
(mkdir-p bin) (mkdir-p bin)
@ -410,6 +411,8 @@ (define rust-1.19
"output/rustc-build/rustc" "output/rustc-build/rustc"
"-C" (string-append "linker=" "-C" (string-append "linker="
(getenv "CC")) (getenv "CC"))
;; Required for libterm.
"-Z" "force-unstable-if-unmarked"
"-L" "output/target-libs" "-L" "output/target-libs"
(string-append "src/" name "/lib.rs") (string-append "src/" name "/lib.rs")
"-o" "-o"
@ -429,7 +432,13 @@ (define rust-1.19
("libpanic_unwind") ("libpanic_unwind")
;; Uses "cc" to link. ;; Uses "cc" to link.
("libstd" "-l" "dl" "-l" "rt" "-l" "pthread") ("libstd" "-l" "dl" "-l" "rt" "-l" "pthread")
("libarena"))) ("libarena")
;; Test dependencies:
("libgetopts")
("libterm")
("libtest")))
#t))) #t)))
;; This phase is overridden by newer versions. ;; This phase is overridden by newer versions.
(replace 'check (replace 'check
@ -790,8 +799,8 @@ (define-public rust-1.26
(define-public rust (define-public rust
(let ((base-rust (let ((base-rust
(rust-bootstrapped-package rust-1.26 "1.27.0" (rust-bootstrapped-package rust-1.26 "1.27.2"
"089d7rhw55zpvnw71dj8vil6qrylvl4xjr4m8bywjj83d4zq1f9c" "0pg1s37bhx9zqbynxyydq5j6q7kij9vxkcv8maz0m25prm88r0cs"
#:patches #:patches
'("rust-coresimd-doctest.patch" '("rust-coresimd-doctest.patch"
"rust-bootstrap-stage0-test.patch" "rust-bootstrap-stage0-test.patch"

View file

@ -532,7 +532,7 @@ (define-public racket
(define-public gambit-c (define-public gambit-c
(package (package
(name "gambit-c") (name "gambit-c")
(version "4.8.9") (version "4.9.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -542,25 +542,14 @@ (define-public gambit-c
(string-map (lambda (c) (if (char=? c #\.) #\_ c)) version) (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
".tgz")) ".tgz"))
(sha256 (sha256
(base32 "16sg1s8myzxqpimj5ry6lfza0qfs157zj28bvmxwwgy89jd9m5v7")))) (base32 "19862w9ij0g5xrkskl4g89xbs17gp9cc6cfcdca6dlfkb3lk6xhp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags
;; According to the ./configure script, this makes the build slower and ;; According to the ./configure script, this makes the build slower and
;; use >= 1 GB memory, but makes Gambit much faster. ;; use >= 1 GB memory, but makes Gambit much faster.
'("--enable-single-host") '("--enable-single-host")))
#:phases (home-page "http://gambitscheme.org")
(modify-phases %standard-phases
(add-before 'check 'fix-tests
(lambda _
(substitute* '("tests/makefile")
;; '-:' is how run-time options are set. 'tl' sets some terminal
;; option, which makes it fail in our build environment. It
;; recommends using 'd-' as a solution, which sets the REPL
;; interaction channel to stdin/stdout.
(("gsi -:tl") "gsi -:d-,tl"))
#t)))))
(home-page "http://www.iro.umontreal.ca/~gambit/")
(synopsis "Efficient Scheme interpreter and compiler") (synopsis "Efficient Scheme interpreter and compiler")
(description (description
"Gambit consists of two main programs: gsi, the Gambit Scheme "Gambit consists of two main programs: gsi, the Gambit Scheme

View file

@ -27,28 +27,37 @@ (define-module (gnu packages scsi)
(define-public sg3-utils (define-public sg3-utils
(package (package
(name "sg3-utils") (name "sg3-utils")
(version "1.43") (version "1.44")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://sg.danny.cz/sg/p/sg3_utils-" (uri (string-append "http://sg.danny.cz/sg/p/sg3_utils-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"04l58wvncqk6lfh4lashsl3ccsa1114hkd6vwi1h1cbmq2fw9c8v")))) "01avlgrbxlij8spish4i69ji1m49biz4mbayzzc2qx0hcl8ar56a"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://sg.danny.cz/sg/sg3_utils.html") (home-page "http://sg.danny.cz/sg/sg3_utils.html")
(synopsis "SCSI device utilities") (synopsis "SCSI device utilities")
(description (description
"sg3-utils is a collection of utilities for devices that use the Small "sg3-utils is a collection of utilities for devices that use the Small
Computer System Interface (SCSI) command set. It includes utilities to read Computer System Interface (@dfn{SCSI}) command set. It includes utilities to
data from, write data to, control, modify, and query the state of SCSI read data from, write data to, control, modify, and query the state of SCSI
devices. For example, this package provides command-line tools to copy data devices.
based on @code{dd} syntax and semantics (called @code{sg_dd}, @code{sgp_dd}
and @code{sgm_dd}), check INQUIRY data and VPD pages (@code{sg_inq}), check For example, this package provides command-line tools to:
mode and log pages (@code{sginfo}, @code{sg_modes} and @code{sg_logs}), spin @itemize
up and down disks (@code{sg_start}), do self tests (@code{sg_senddiag}), parse @item copy data based on @code{dd} syntax and semantics (called @command{sg_dd},
sense data (@code{sg_decode_sense}), and perform various other functions. In @command{sgp_dd}, and @command{sgm_dd})
addition, this package includes a library, called libsgutils, which can be @item check @code{INQUIRY} data and @code{VPD pages} (@command{sg_inq})
@item check mode and log pages (@command{sginfo}, @command{sg_modes}, and
@command{sg_logs})
@item spin up and down disks (@command{sg_start})
@item do self-tests (@code{sg_senddiag})
@item parse sense data (@code{sg_decode_sense})
@item and perform various other functions.
@end itemize
In addition, this package includes a library, called libsgutils, which can be
used in C and C++ programs to interact with SCSI devices.") used in C and C++ programs to interact with SCSI devices.")
;; See README: "All utilities and libraries have either a "2 clause" BSD ;; See README: "All utilities and libraries have either a "2 clause" BSD
;; license or are "GPL-2ed". [...] That BSD license was updated from the ;; license or are "GPL-2ed". [...] That BSD license was updated from the

View file

@ -56,7 +56,7 @@ (define-module (gnu packages security-token)
(define-public ccid (define-public ccid
(package (package
(name "ccid") (name "ccid")
(version "1.4.29") (version "1.4.30")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -64,7 +64,7 @@ (define-public ccid
name "-" version ".tar.bz2")) name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0kdqmbma6sclsrbxy9w85h7cs0v11if4nc2r9v09613k8pl2lhx5")))) "0z7zafdg75fr1adlv2x0zz34s07gljcjg2lsz76s1048w1xhh5xc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags (list (string-append "--enable-usbdropdir=" %output `(#:configure-flags (list (string-append "--enable-usbdropdir=" %output
@ -77,7 +77,7 @@ (define-public ccid
(("/bin/echo") (which "echo"))) (("/bin/echo") (which "echo")))
#t))))) #t)))))
(native-inputs (native-inputs
`(("pcsc-lite" ,pcsc-lite) ; only required for headers `(("pcsc-lite" ,pcsc-lite) ; only required for headers
("perl" ,perl) ("perl" ,perl)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(inputs (inputs
@ -220,7 +220,7 @@ (define-public ykclient
(define-public opensc (define-public opensc
(package (package
(name "opensc") (name "opensc")
(version "0.18.0") (version "0.19.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -228,7 +228,7 @@ (define-public opensc
version "/opensc-" version ".tar.gz")) version "/opensc-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0mrpik6ifzh27ws7h0viv8nwgcdj3fp5whaldmj0zhfi1l1zzh4v")))) "09jqzl18z5qfrf4vf2nvbpdm3mphpgfkl3ww1clkaxh2z56hwnic"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -155,23 +155,18 @@ (define-public rc
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/rakitzis/rc.git") (url "https://github.com/rakitzis/rc.git")
;; commit name 'release: rc-1.7.4' (commit (string-append "v" version))))
(commit "c884da53a7c885d46ace2b92de78946855b18e92")))
(sha256 (sha256
(base32 (base32
"00mgzvrrh9w96xa85g4gjbsvq02f08k4jwjcdnxq7kyh5xgiw95l")) "0vj1h4pcg13vxsiydmmk87dr2sra9h4gwx0c4q6fjsiw4in78rrd"))
(file-name (string-append name "-" version "-checkout")))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
'("--with-edit=gnu") '("--with-edit=gnu")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after (add-before 'bootstrap 'patch-trip.rc
'unpack 'autoreconf
(lambda _ (zero? (system* "autoreconf" "-vfi"))))
(add-before
'autoreconf 'patch-trip.rc
(lambda _ (lambda _
(substitute* "trip.rc" (substitute* "trip.rc"
(("/bin/pwd") (which "pwd")) (("/bin/pwd") (which "pwd"))
@ -292,7 +287,7 @@ (define-public tcsh
(define-public zsh (define-public zsh
(package (package
(name "zsh") (name "zsh")
(version "5.6.1") (version "5.6.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append (uri (list (string-append
@ -303,7 +298,7 @@ (define-public zsh
".tar.xz"))) ".tar.xz")))
(sha256 (sha256
(base32 (base32
"1s5kzfbfvixibb1sbzmmlrrx898zqwi5cfmnnq4bhcbx64zparlm")))) "17iffliqcj4hv91g0bd2sxsyfcz51mfyh97sp2iyrs2p0mndc2x5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre") (arguments `(#:configure-flags '("--with-tcsetpgrp" "--enable-pcre")
#:phases #:phases
@ -422,7 +417,7 @@ (define-public scsh
#t)) #t))
(add-after 'unpack 'autoreconf (add-after 'unpack 'autoreconf
(lambda _ (lambda _
(zero? (system* "autoreconf"))))))) (invoke "autoreconf"))))))
(inputs (inputs
`(("scheme48" ,scheme48) `(("scheme48" ,scheme48)
("scheme48-rx" ,scheme48-rx))) ("scheme48-rx" ,scheme48-rx)))
@ -628,7 +623,7 @@ (define-public mksh
(replace 'build (replace 'build
(lambda _ (lambda _
(setenv "CC" "gcc") (setenv "CC" "gcc")
(zero? (system* (which "sh") "Build.sh")))) (invoke (which "sh") "Build.sh")))
(replace 'install (replace 'install
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
@ -637,7 +632,8 @@ (define-public mksh
(install-file "mksh" bin) (install-file "mksh" bin)
(with-directory-excursion bin (with-directory-excursion bin
(symlink "mksh" "ksh")) (symlink "mksh" "ksh"))
(install-file "mksh.1" man))))))) (install-file "mksh.1" man)
#t))))))
(home-page "https://www.mirbsd.org/mksh.htm") (home-page "https://www.mirbsd.org/mksh.htm")
(synopsis "Korn Shell from MirBSD") (synopsis "Korn Shell from MirBSD")
(description "mksh is an actively developed free implementation of the (description "mksh is an actively developed free implementation of the

View file

@ -7,7 +7,7 @@
;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com> ;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -314,7 +314,7 @@ (define-public libiax2
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
(add-after 'unpack 'autoconf (add-after 'unpack 'autoconf
(lambda _ (lambda _
(zero? (system* "autoreconf" "-vfi"))))))) (invoke "autoreconf" "-vfi"))))))
(home-page "https://gitlab.savoirfairelinux.com/sflphone/libiax2") (home-page "https://gitlab.savoirfairelinux.com/sflphone/libiax2")
(synopsis "Inter-Asterisk-Protocol library") (synopsis "Inter-Asterisk-Protocol library")
(description "LibIAX2 implements the Inter-Asterisk-Protocol for relaying (description "LibIAX2 implements the Inter-Asterisk-Protocol for relaying
@ -393,27 +393,27 @@ (define-public mumble
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "qmake" "main.pro" "-recursive" (invoke "qmake" "main.pro" "-recursive"
(string-append "CONFIG+=" (string-append "CONFIG+="
(string-join (string-join
(list "no-update" (list "no-update"
"no-ice" "no-ice"
"no-embed-qt-translations" "no-embed-qt-translations"
"no-bundled-speex" "no-bundled-speex"
"pch" "pch"
"no-bundled-opus" "no-bundled-opus"
"no-celt" "no-celt"
"no-alsa" "no-alsa"
"no-oss" "no-oss"
"no-portaudio" "no-portaudio"
"speechd" "speechd"
"no-g15" "no-g15"
"no-bonjour" "no-bonjour"
"release"))) "release")))
(string-append "DEFINES+=" (string-append "DEFINES+="
"PLUGIN_PATH=" "PLUGIN_PATH="
(assoc-ref outputs "out") (assoc-ref outputs "out")
"/lib/mumble"))))) "/lib/mumble"))))
(add-before 'configure 'fix-libspeechd-include (add-before 'configure 'fix-libspeechd-include
(lambda _ (lambda _
(substitute* "src/mumble/TextToSpeech_unix.cpp" (substitute* "src/mumble/TextToSpeech_unix.cpp"

View file

@ -243,14 +243,14 @@ (define-public python2-isodate
(define-public python-iso8601 (define-public python-iso8601
(package (package
(name "python-iso8601") (name "python-iso8601")
(version "0.1.11") (version "0.1.12")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "iso8601" version)) (uri (pypi-uri "iso8601" version))
(sha256 (sha256
(base32 (base32
"0c7gh3lsdjds262h0v1sqc66l7hqgfwbakn96qrhdbl0i3vm5yz8")))) "10nyvvnrhw2w3p09v1ica4lgj6f4g9j3kkfx17qmraiq3w7b5i29"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
`(("python-pytest" ,python-pytest))) `(("python-pytest" ,python-pytest)))

View file

@ -394,7 +394,7 @@ (define-public openssl-next
(package (package
(inherit openssl) (inherit openssl)
(name "openssl") (name "openssl")
(version "1.1.0i") (version "1.1.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (list (string-append "https://www.openssl.org/source/openssl-" (uri (list (string-append "https://www.openssl.org/source/openssl-"
@ -404,13 +404,13 @@ (define-public openssl-next
(string-append "ftp://ftp.openssl.org/source/old/" (string-append "ftp://ftp.openssl.org/source/old/"
(string-trim-right version char-set:letter) (string-trim-right version char-set:letter)
"/" name "-" version ".tar.gz"))) "/" name "-" version ".tar.gz")))
(patches (search-patches "openssl-1.1.0-c-rehash-in.patch")) (patches (search-patches "openssl-1.1-c-rehash-in.patch"))
(sha256 (sha256
(base32 (base32
"16fgaf113p6s5ixw227sycvihh3zx6f6rf0hvjjhxk68m12cigzb")))) "0gbab2fjgms1kx5xjvqx8bxhr98k4r8l2fa8vw7kvh491xd8fdi8"))))
(outputs '("out" (outputs '("out"
"doc" ; 1.3MiB of man3 pages "doc" ; 6.7 MiB of man3 pages and full HTML documentation
"static")) ; 5.5MiB of .a files "static")) ; 6.4 MiB of .a files
(arguments (arguments
(substitute-keyword-arguments (package-arguments openssl) (substitute-keyword-arguments (package-arguments openssl)
((#:phases phases) ((#:phases phases)
@ -423,6 +423,11 @@ (define-public openssl-next
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))) (lib (string-append out "/lib")))
;; It's not a shebang so patch-source-shebangs misses it.
(substitute* "config"
(("/usr/bin/env")
(string-append (assoc-ref %build-inputs "coreutils")
"/bin/env")))
(invoke "./config" (invoke "./config"
"shared" ;build shared libraries "shared" ;build shared libraries
"--libdir=lib" "--libdir=lib"
@ -444,6 +449,21 @@ (define-public openssl-next
'("-mfpu=vfpv3") '("-mfpu=vfpv3")
'()))))) '())))))
(delete 'move-man3-pages)
(add-after 'install 'move-extra-documentation
(lambda* (#:key outputs #:allow-other-keys)
;; Move man3 pages and full HTML documentation to "doc".
(let* ((out (assoc-ref outputs "out"))
(man3 (string-append out "/share/man/man3"))
(html (string-append out "/share/doc/openssl"))
(doc (assoc-ref outputs "doc"))
(man-target (string-append doc "/share/man/man3"))
(html-target (string-append doc "/share/doc/openssl")))
(copy-recursively man3 man-target)
(delete-file-recursively man3)
(copy-recursively html html-target)
(delete-file-recursively html)
#t)))
;; XXX: Duplicate this phase to make sure 'version' evaluates ;; XXX: Duplicate this phase to make sure 'version' evaluates
;; in the current scope and not the inherited one. ;; in the current scope and not the inherited one.
(replace 'remove-miscellany (replace 'remove-miscellany
@ -806,7 +826,7 @@ (define-public acme-client
(define-public mbedtls-apache (define-public mbedtls-apache
(package (package
(name "mbedtls-apache") (name "mbedtls-apache")
(version "2.7.5") (version "2.7.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -816,7 +836,7 @@ (define-public mbedtls-apache
version "-apache.tgz")) version "-apache.tgz"))
(sha256 (sha256
(base32 (base32
"0h4vks2z68bkwzg093mn0a7aqsva8rxr4m971n4bkasa17cjlc51")))) "0fl2nrxvlgx9ja7yy3kd1zadpr98fxbvn3f6fl2mj87gryhkfqlk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -309,6 +309,13 @@ (define-public git
(let* ((netrc (assoc-ref outputs "credential-netrc"))) (let* ((netrc (assoc-ref outputs "credential-netrc")))
(install-file "contrib/credential/netrc/git-credential-netrc" (install-file "contrib/credential/netrc/git-credential-netrc"
(string-append netrc "/bin")) (string-append netrc "/bin"))
;; Previously, Git.pm was automatically found by netrc.
;; Perl 5.26 changed how it locates modules so that @INC no
;; longer includes the current working directory (the Perl
;; community calls this "dotless @INC").
(wrap-program (string-append netrc "/bin/git-credential-netrc")
`("PERL5LIB" ":" prefix
(,(string-append (assoc-ref outputs "out") "/share/perl5"))))
#t))) #t)))
(add-after 'install 'split (add-after 'install 'split
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)

View file

@ -1427,16 +1427,16 @@ (define-public you-get
(define-public youtube-viewer (define-public youtube-viewer
(package (package
(name "youtube-viewer") (name "youtube-viewer")
(version "3.3.4") (version "3.4.1")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append (uri (git-reference
"https://github.com/trizen/youtube-viewer/archive/" (url "https://github.com/trizen/youtube-viewer.git")
version ".tar.gz")) (commit version)))
(file-name (string-append name "-" version ".tar.gz")) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1dqaxkz5svv0lmxds6lppcpzhkq6gar2raw9gx6imrd7yz02fpgn")))) "0axgb95lx81psgrb2a5rfdd8gl4mhsrzf41jas6l58d1xkaj54ri"))))
(build-system perl-build-system) (build-system perl-build-system)
(native-inputs (native-inputs
`(("perl-module-build" ,perl-module-build))) `(("perl-module-build" ,perl-module-build)))

View file

@ -873,7 +873,7 @@ (define-public runc
(define-public umoci (define-public umoci
(package (package
(name "umoci") (name "umoci")
(version "0.4.0") (version "0.4.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -882,7 +882,7 @@ (define-public umoci
(file-name (string-append "umoci-" version ".tar.xz")) (file-name (string-append "umoci-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0hg7hs4dagj2fgymm4b4s68k1v2k2093s3jg0d94j0ixhfmyg9nd")))) "1rq5jxcss9cmy05x9b2kh9ld57ribi8hgnx2w67jpmf343b83m4q"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
'(#:import-path "github.com/openSUSE/umoci" '(#:import-path "github.com/openSUSE/umoci"

View file

@ -71,7 +71,7 @@ (define-module (gnu packages wine)
(define-public wine (define-public wine
(package (package
(name "wine") (name "wine")
(version "3.0.2") (version "3.0.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://dl.winehq.org/wine/source/" (uri (string-append "https://dl.winehq.org/wine/source/"
@ -79,7 +79,7 @@ (define-public wine
"/wine-" version ".tar.xz")) "/wine-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1zv3nk31s758ghp4795ym3w8l5868c2dllmjx9245qh9ahvp3mya")))) "18add8wqqz7y1aj8x0dcba7pqj9jkbhngwjv4yjmar3gxacmjr7b"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config) (native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gettext-minimal) ("gettext" ,gettext-minimal)
@ -225,7 +225,7 @@ (define-public wine64
(define-public wine-staging-patchset-data (define-public wine-staging-patchset-data
(package (package
(name "wine-staging-patchset-data") (name "wine-staging-patchset-data")
(version "3.15") (version "3.16")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -235,7 +235,7 @@ (define-public wine-staging-patchset-data
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1rgbx4qnxaarkq5n8nvj57q0rhxcqbwm5897ws962fgxh6zymg9n")))) "0c1bs9qpxlvld6jkwjri2v8jaixxn1r5b0m9r5hnkfrnpl7z7cfv"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(native-inputs (native-inputs
`(("bash" ,bash) `(("bash" ,bash)
@ -281,7 +281,7 @@ (define-public wine-staging
(file-name (string-append name "-" version ".tar.xz")) (file-name (string-append name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"07mmd8r70ciqrxzdg2m2mg34kcnb43dk9nw1ljm8jbcznsawv8ic")))) "0g55l41apiwgblfk9ihzd96003gd32w5ng79f96hmiwhyzwbqhxd"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf (inputs `(("autoconf" ,autoconf) ; for autoreconf
("gtk+" ,gtk+) ("gtk+" ,gtk+)
("libva" ,libva) ("libva" ,libva)

View file

@ -476,9 +476,8 @@ (define-public scrot
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/scrot"))) (doc (string-append out "/share/doc/scrot")))
(mkdir-p doc) (mkdir-p doc)
(zero? (invoke "make" "install"
(system* "make" "install" (string-append "docsdir=" doc))))))))
(string-append "docsdir=" doc)))))))))
(inputs (inputs
`(("libx11" ,libx11) `(("libx11" ,libx11)
("giblib" ,giblib))) ("giblib" ,giblib)))
@ -585,10 +584,9 @@ (define-public unclutter
(man1 (string-append out "/share/man/man1"))) (man1 (string-append out "/share/man/man1")))
(mkdir-p bin) (mkdir-p bin)
(mkdir-p man1) (mkdir-p man1)
(zero? (invoke "make" "install" "install.man"
(system* "make" "install" "install.man" (string-append "BINDIR=" bin)
(string-append "BINDIR=" bin) (string-append "MANDIR=" man1))))))))
(string-append "MANDIR=" man1)))))))))
(inputs `(("libx11" ,libx11))) (inputs `(("libx11" ,libx11)))
(home-page "http://ftp.x.org/contrib/utilities/") (home-page "http://ftp.x.org/contrib/utilities/")
(synopsis "Hide idle mouse cursor") (synopsis "Hide idle mouse cursor")
@ -1344,7 +1342,7 @@ (define-public nxbelld
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(add-before 'configure 'autoreconf (add-before 'configure 'autoreconf
(lambda _ (lambda _
(zero? (system* "autoreconf" "-vfi"))))))) (invoke "autoreconf" "-vfi"))))))
(native-inputs `(("autoconf" ,autoconf) (native-inputs `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
@ -1403,7 +1401,7 @@ (define-public xautolock
#t))) #t)))
(add-after 'install 'install/man (add-after 'install 'install/man
(lambda _ (lambda _
(zero? (system* "make" "install.man"))))))) (invoke "make" "install.man"))))))
(home-page "http://ibiblio.org/pub/Linux/X11/screensavers/") (home-page "http://ibiblio.org/pub/Linux/X11/screensavers/")
(synopsis "Program launcher for idle X sessions") (synopsis "Program launcher for idle X sessions")
(description "Xautolock monitors input devices under the X Window (description "Xautolock monitors input devices under the X Window

View file

@ -387,7 +387,7 @@ (define opus-tools
(define opusfile (define opusfile
(package (package
(name "opusfile") (name "opusfile")
(version "0.10") (version "0.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -395,7 +395,7 @@ (define opusfile
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0bs1376sd131qdh7198jp64vv5d17az5wyy4y7srrvw7p8k3bq28")))) "1gq3aszzl5glgbajw5p1f5a1kdyf23w5vjdmwwrk246syin9pkkl"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("opus" ,opus))) `(("opus" ,opus)))

View file

@ -2645,33 +2645,27 @@ (define-public xf86-video-ark
"xf86-video-ark is an Ark Logic video driver for the Xorg X server.") "xf86-video-ark is an Ark Logic video driver for the Xorg X server.")
(license license:x11))) (license license:x11)))
;; This driver depends on XAA which has been removed from xorg-server. (define-public xf86-video-ast
;; (package
;; (define-public xf86-video-ast (name "xf86-video-ast")
;; (package (version "1.1.5")
;; (name "xf86-video-ast") (home-page "https://cgit.freedesktop.org/xorg/driver/xf86-video-ast/")
;; (version "0.93.10") (source (origin
;; (source (method url-fetch)
;; (origin (uri (string-append
;; (method url-fetch) "mirror://xorg/individual/driver/xf86-video-ast-"
;; (uri (string-append version ".tar.bz2"))
;; "mirror://xorg/individual/driver/xf86-video-ast-" (sha256
;; version (base32
;; ".tar.bz2")) "1pm2cy81ma7ldsw0yfk28b33h9z2hcj5rccrxhfxfgvxsiavrnqy"))))
;; (sha256 (build-system gnu-build-system)
;; (base32 (inputs `(("xorg-server" ,xorg-server)))
;; "1q64z8qqa0ix3cymqiwk1s3sphd1fvvz30lvyxhgkgciygz6dm69")) (native-inputs `(("pkg-config" ,pkg-config)))
;; (patches (search-patches "xf86-video-ast-remove-mibstore.patch")))) (synopsis "ASpeed Technologies video driver for X server")
;; (build-system gnu-build-system) (description
;; (inputs `(("xorg-server" ,xorg-server))) "xf86-video-ast is an ASpeed Technologies video driver for the Xorg
;; (native-inputs `(("pkg-config" ,pkg-config))) X server.")
;; (home-page "https://www.x.org/wiki/") (license license:x11)))
;; (synopsis "ASpeed Technologies video driver for X server")
;; (description
;; "xf86-video-ast is an ASpeed Technologies video driver for the Xorg
;; X server.")
;; (license license:x11)))
(define-public xf86-video-ati (define-public xf86-video-ati
(package (package

View file

@ -1846,16 +1846,9 @@ (define udev-shepherd-service
(documentation "Populate the /dev directory, dynamically.") (documentation "Populate the /dev directory, dynamically.")
(start #~(lambda () (start #~(lambda ()
(define find
(@ (srfi srfi-1) find))
(define udevd (define udevd
;; Choose the right 'udevd'. ;; 'udevd' from eudev.
(find file-exists? #$(file-append udev "/sbin/udevd"))
(map (lambda (suffix)
(string-append #$udev suffix))
'("/libexec/udev/udevd" ;udev
"/sbin/udevd")))) ;eudev
(define (wait-for-udevd) (define (wait-for-udevd)
;; Wait until someone's listening on udevd's control ;; Wait until someone's listening on udevd's control
@ -1891,24 +1884,20 @@ (define (wait-for-udevd)
(make-static-device-nodes directory) (make-static-device-nodes directory)
(umask old-umask)) (umask old-umask))
(let ((pid (primitive-fork))) (let ((pid (fork+exec-command (list udevd))))
(case pid ;; Wait until udevd is up and running. This appears to
((0) ;; be needed so that the events triggered below are
(exec-command (list udevd))) ;; actually handled.
(else (wait-for-udevd)
;; Wait until udevd is up and running. This
;; appears to be needed so that the events
;; triggered below are actually handled.
(wait-for-udevd)
;; Trigger device node creation. ;; Trigger device node creation.
(system* #$(file-append udev "/bin/udevadm") (system* #$(file-append udev "/bin/udevadm")
"trigger" "--action=add") "trigger" "--action=add")
;; Wait for things to settle down. ;; Wait for things to settle down.
(system* #$(file-append udev "/bin/udevadm") (system* #$(file-append udev "/bin/udevadm")
"settle") "settle")
pid))))) pid)))
(stop #~(make-kill-destructor)) (stop #~(make-kill-destructor))
;; When halting the system, 'udev' is actually killed by ;; When halting the system, 'udev' is actually killed by
@ -2133,7 +2122,7 @@ (define static-networking-shepherd-service
AF_INET INADDR_ANY 0))) AF_INET INADDR_ANY 0)))
(set-network-interface-flags sock #$interface 0) (set-network-interface-flags sock #$interface 0)
(close-port sock) (close-port sock)
: #f))) #f)))
(respawn? #f)))))) (respawn? #f))))))
(define (static-networking-etc-files interfaces) (define (static-networking-etc-files interfaces)

View file

@ -8,6 +8,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -103,7 +104,14 @@ (define-module (gnu services networking)
wpa-supplicant-service-type wpa-supplicant-service-type
openvswitch-service-type openvswitch-service-type
openvswitch-configuration)) openvswitch-configuration
iptables-configuration
iptables-configuration?
iptables-configuration-iptables
iptables-configuration-ipv4-rules
iptables-configuration-ipv6-rules
iptables-service-type))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -1108,4 +1116,50 @@ (define openvswitch-service-type
switch designed to enable massive network automation through programmatic switch designed to enable massive network automation through programmatic
extension."))) extension.")))
;;;
;;; iptables
;;;
(define %iptables-accept-all-rules
(plain-file "iptables-accept-all.rules"
"*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
COMMIT
"))
(define-record-type* <iptables-configuration>
iptables-configuration make-iptables-configuration iptables-configuration?
(iptables iptables-configuration-iptables
(default iptables))
(ipv4-rules iptables-configuration-ipv4-rules
(default %iptables-accept-all-rules))
(ipv6-rules iptables-configuration-ipv6-rules
(default %iptables-accept-all-rules)))
(define iptables-shepherd-service
(match-lambda
(($ <iptables-configuration> iptables ipv4-rules ipv6-rules)
(let ((iptables-restore (file-append iptables "/sbin/iptables-restore"))
(ip6tables-restore (file-append iptables "/sbin/ip6tables-restore")))
(shepherd-service
(documentation "Packet filtering framework")
(provision '(iptables))
(start #~(lambda _
(invoke #$iptables-restore #$ipv4-rules)
(invoke #$ip6tables-restore #$ipv6-rules)))
(stop #~(lambda _
(invoke #$iptables-restore #$%iptables-accept-all-rules)
(invoke #$ip6tables-restore #$%iptables-accept-all-rules))))))))
(define iptables-service-type
(service-type
(name 'iptables)
(description
"Run @command{iptables-restore}, setting up the specified rules.")
(extensions
(list (service-extension shepherd-root-service-type
(compose list iptables-shepherd-service))))))
;;; networking.scm ends here ;;; networking.scm ends here

View file

@ -47,7 +47,7 @@ (define-module (gnu system install)
a20-olinuxino-lime-installation-os a20-olinuxino-lime-installation-os
a20-olinuxino-lime2-emmc-installation-os a20-olinuxino-lime2-emmc-installation-os
a20-olinuxino-micro-installation-os a20-olinuxino-micro-installation-os
banana-pi-m2-ultra-installation-os bananapi-m2-ultra-installation-os
beaglebone-black-installation-os beaglebone-black-installation-os
mx6cuboxi-installation-os mx6cuboxi-installation-os
nintendo-nes-classic-edition-installation-os nintendo-nes-classic-edition-installation-os
@ -448,8 +448,8 @@ (define a20-olinuxino-micro-installation-os
"/dev/mmcblk0" ; SD card storage "/dev/mmcblk0" ; SD card storage
"ttyS0")) "ttyS0"))
(define banana-pi-m2-ultra-installation-os (define bananapi-m2-ultra-installation-os
(embedded-installation-os u-boot-banana-pi-m2-ultra-bootloader (embedded-installation-os u-boot-bananapi-m2-ultra-bootloader
"/dev/mmcblk1" ; eMMC storage "/dev/mmcblk1" ; eMMC storage
"ttyS0")) "ttyS0"))

View file

@ -2,6 +2,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -29,9 +30,11 @@ (define-module (gnu tests networking)
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix monads) #:use-module (guix monads)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages linux)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu services shepherd) #:use-module (gnu services shepherd)
#:export (%test-inetd %test-openvswitch %test-dhcpd %test-tor)) #:use-module (ice-9 match)
#:export (%test-inetd %test-openvswitch %test-dhcpd %test-tor %test-iptables))
(define %inetd-os (define %inetd-os
;; Operating system with 2 inetd services. ;; Operating system with 2 inetd services.
@ -434,3 +437,127 @@ (define %test-tor
(name "tor") (name "tor")
(description "Test a running Tor daemon configuration.") (description "Test a running Tor daemon configuration.")
(value (run-tor-test)))) (value (run-tor-test))))
(define* (run-iptables-test)
"Run tests of 'iptables-service-type'."
(define iptables-rules
"*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 7 -j REJECT --reject-with icmp-port-unreachable
COMMIT
")
(define ip6tables-rules
"*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 7 -j REJECT --reject-with icmp6-port-unreachable
COMMIT
")
(define inetd-echo-port 7)
(define os
(marionette-operating-system
(simple-operating-system
(dhcp-client-service)
(service inetd-service-type
(inetd-configuration
(entries (list
(inetd-entry
(name "echo")
(socket-type 'stream)
(protocol "tcp")
(wait? #f)
(user "root"))))))
(service iptables-service-type
(iptables-configuration
(ipv4-rules (plain-file "iptables.rules" iptables-rules))
(ipv6-rules (plain-file "ip6tables.rules" ip6tables-rules)))))
#:imported-modules '((gnu services herd))
#:requirements '(inetd iptables)))
(define test
(with-imported-modules '((gnu build marionette))
#~(begin
(use-modules (srfi srfi-64)
(gnu build marionette))
(define marionette
(make-marionette (list #$(virtual-machine os))))
(define (dump-iptables iptables-save marionette)
(marionette-eval
`(begin
(use-modules (ice-9 popen)
(ice-9 rdelim)
(ice-9 regex))
(call-with-output-string
(lambda (out)
(call-with-port
(open-pipe* OPEN_READ ,iptables-save)
(lambda (in)
(let loop ((line (read-line in)))
;; iptables-save does not output rules in the exact
;; same format we loaded using iptables-restore. It
;; adds comments, packet counters, etc. We remove
;; these additions.
(unless (eof-object? line)
(cond
;; Remove comments
((string-match "^#" line) #t)
;; Remove packet counters
((string-match "^:([A-Z]*) ([A-Z]*) .*" line)
=> (lambda (match-record)
(format out ":~a ~a~%"
(match:substring match-record 1)
(match:substring match-record 2))))
;; Pass other lines without modification
(else (display line out)
(newline out)))
(loop (read-line in)))))))))
marionette))
(mkdir #$output)
(chdir #$output)
(test-begin "iptables")
(test-equal "iptables-save dumps the same rules that were loaded"
(dump-iptables #$(file-append iptables "/sbin/iptables-save")
marionette)
#$iptables-rules)
(test-equal "ip6tables-save dumps the same rules that were loaded"
(dump-iptables #$(file-append iptables "/sbin/ip6tables-save")
marionette)
#$ip6tables-rules)
(test-error "iptables firewall blocks access to inetd echo service"
'misc-error
(wait-for-tcp-port inetd-echo-port marionette #:timeout 5))
;; TODO: This test freezes up at the login prompt without any
;; relevant messages on the console. Perhaps it is waiting for some
;; timeout. Find and fix this issue.
;; (test-assert "inetd echo service is accessible after iptables firewall is stopped"
;; (begin
;; (marionette-eval
;; '(begin
;; (use-modules (gnu services herd))
;; (stop-service 'iptables))
;; marionette)
;; (wait-for-tcp-port inetd-echo-port marionette #:timeout 5)))
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
(gexp->derivation "iptables" test))
(define %test-iptables
(system-test
(name "iptables")
(description "Test a running iptables daemon.")
(value (run-iptables-test))))

View file

@ -81,6 +81,20 @@ (define (normalize-string str)
"Replace invalid characters in STR with a hyphen." "Replace invalid characters in STR with a hyphen."
(string-join (string-tokenize str valid-char-set) "-")) (string-join (string-tokenize str valid-char-set) "-"))
(define (normalize-dependency dependency)
"Normalize the name of DEPENDENCY. Handles dependency definitions of the
dependency-def form described by
<https://common-lisp.net/project/asdf/asdf.html#The-defsystem-grammar>."
(match dependency
((':version name rest ...)
`(:version ,(normalize-string name) ,@rest))
((':feature feature-specification dependency-specification)
`(:feature
,feature-specification
,(normalize-dependency dependency-specification)))
((? string? name) (normalize-string name))
(require-specification require-specification)))
(define (inputs->asd-file-map inputs) (define (inputs->asd-file-map inputs)
"Produce a hash table of the form (system . asd-file), where system is the "Produce a hash table of the form (system . asd-file), where system is the
name of an ASD system, and asd-file is the full path to its definition." name of an ASD system, and asd-file is the full path to its definition."
@ -105,9 +119,9 @@ (define (wrap-output-translations translations)
(define (lisp-eval-program program) (define (lisp-eval-program program)
"Evaluate PROGRAM with a given LISP implementation." "Evaluate PROGRAM with a given LISP implementation."
(unless (zero? (apply system* (define invocation (lisp-invocation program))
(lisp-invocation program))) (format #t "Invoking ~a: ~{~s ~}~%" (%lisp-type) invocation)
(error "lisp-eval-program failed!" (%lisp) program))) (apply invoke invocation))
(define (spread-statements program argument-name) (define (spread-statements program argument-name)
"Return a list with the statements from PROGRAM spread between "Return a list with the statements from PROGRAM spread between
@ -138,8 +152,7 @@ (define (compile-system system asd-file)
first." first."
(lisp-eval-program (lisp-eval-program
`((require :asdf) `((require :asdf)
(let ((*package* (find-package :asdf))) (asdf:load-asd (truename ,asd-file) :name ,(normalize-string system))
(load ,asd-file))
(asdf:operate 'asdf:compile-bundle-op ,system)))) (asdf:operate 'asdf:compile-bundle-op ,system))))
(define (system-dependencies system asd-file) (define (system-dependencies system asd-file)
@ -148,8 +161,7 @@ (define (system-dependencies system asd-file)
(define deps-file ".deps.sexp") (define deps-file ".deps.sexp")
(define program (define program
`((require :asdf) `((require :asdf)
(let ((*package* (find-package :asdf))) (asdf:load-asd (truename ,asd-file) :name ,(normalize-string system))
(load ,asd-file))
(with-open-file (with-open-file
(stream ,deps-file :direction :output) (stream ,deps-file :direction :output)
(format stream (format stream
@ -189,19 +201,18 @@ (define (test-system system asd-file test-asd-file)
Also load TEST-ASD-FILE if necessary." Also load TEST-ASD-FILE if necessary."
(lisp-eval-program (lisp-eval-program
`((require :asdf) `((require :asdf)
(let ((*package* (find-package :asdf))) (asdf:load-asd (truename ,asd-file) :name ,(normalize-string system))
(load ,asd-file) ,@(if test-asd-file
,@(if test-asd-file `((asdf:load-asd (truename ,test-asd-file)))
`((load ,test-asd-file)) ;; Try some likely files.
;; Try some likely files. (map (lambda (file)
(map (lambda (file) `(when (uiop:file-exists-p ,file)
`(when (uiop:file-exists-p ,file) (asdf:load-asd (truename ,file))))
(load ,file))) (list
(list (string-append system "-tests.asd")
(string-append system "-tests.asd") (string-append system "-test.asd")
(string-append system "-test.asd") "tests.asd"
"tests.asd" "test.asd")))
"test.asd"))))
(asdf:test-system ,system)))) (asdf:test-system ,system))))
(define (string->lisp-keyword . strings) (define (string->lisp-keyword . strings)
@ -273,16 +284,24 @@ (define dependencies
(system-dependencies system system-asd-file))) (system-dependencies system system-asd-file)))
(if (eq? 'NIL deps) (if (eq? 'NIL deps)
'() '()
(map normalize-string deps)))) (map normalize-dependency deps))))
(define lisp-input-map (define lisp-input-map
(inputs->asd-file-map inputs)) (inputs->asd-file-map inputs))
(define dependency-name
(match-lambda
((':version name _ ...) name)
((':feature _ dependency-specification)
(dependency-name dependency-specification))
((? string? name) name)
(_ #f)))
(define registry (define registry
(filter-map hash-get-handle (filter-map hash-get-handle
(make-list (length dependencies) (make-list (length dependencies)
lisp-input-map) lisp-input-map)
dependencies)) (map dependency-name dependencies)))
(call-with-output-file asd-file (call-with-output-file asd-file
(lambda (port) (lambda (port)

View file

@ -207,10 +207,16 @@ (define core-instance
(guix-channel? (channel-instance-channel instance))) (guix-channel? (channel-instance-channel instance)))
instances)) instances))
;; Guile-Gcrypt is a dependency of CORE-INSTANCE. (define dependencies
(define guile-gcrypt ;; Dependencies of CORE-INSTANCE.
(module-ref (resolve-interface '(gnu packages gnupg)) ;; FIXME: It would be best not to hard-wire this information here and
'guile-gcrypt)) ;; instead query it to CORE-INSTANCE.
(list (module-ref (resolve-interface '(gnu packages gnupg))
'guile-gcrypt)
(module-ref (resolve-interface '(gnu packages guile))
'guile-git)
(module-ref (resolve-interface '(gnu packages guile))
'guile-bytestructures)))
(mlet %store-monad ((core (build-channel-instance core-instance))) (mlet %store-monad ((core (build-channel-instance core-instance)))
(mapm %store-monad (mapm %store-monad
@ -218,7 +224,7 @@ (define guile-gcrypt
(if (eq? instance core-instance) (if (eq? instance core-instance)
(return core) (return core)
(build-channel-instance instance (build-channel-instance instance
(list core guile-gcrypt)))) (cons core dependencies))))
instances))) instances)))
(define (whole-package-for-legacy name modules) (define (whole-package-for-legacy name modules)

View file

@ -179,24 +179,28 @@ (define (git-file-list directory)
(define (git-predicate directory) (define (git-predicate directory)
"Return a predicate that returns true if a file is part of the Git checkout "Return a predicate that returns true if a file is part of the Git checkout
living at DIRECTORY. Upon Git failure, return #f instead of a predicate. living at DIRECTORY. If DIRECTORY does not lie within a Git checkout, and
upon Git errors, return #f instead of a predicate.
The returned predicate takes two arguments FILE and STAT where FILE is an The returned predicate takes two arguments FILE and STAT where FILE is an
absolute file name and STAT is the result of 'lstat'." absolute file name and STAT is the result of 'lstat'."
(let* ((files (git-file-list directory)) (catch 'git-error
(inodes (fold (lambda (file result) (lambda ()
(let ((stat (let* ((files (git-file-list directory))
(lstat (string-append directory "/" (inodes (fold (lambda (file result)
file)))) (let ((stat
(vhash-consv (stat:ino stat) (stat:dev stat) (lstat (string-append directory "/"
result))) file))))
vlist-null (vhash-consv (stat:ino stat) (stat:dev stat)
files))) result)))
(lambda (file stat) vlist-null
;; Comparing file names is always tricky business so we rely on inode files)))
;; numbers instead. (lambda (file stat)
(match (vhash-assv (stat:ino stat) inodes) ;; Comparing file names is always tricky business so we rely on inode
((_ . dev) (= dev (stat:dev stat))) ;; numbers instead.
(#f #f))))) (match (vhash-assv (stat:ino stat) inodes)
((_ . dev) (= dev (stat:dev stat)))
(#f #f)))))
(const #f)))
;;; git-download.scm ends here ;;; git-download.scm ends here

View file

@ -36,7 +36,8 @@ (define-module (guix git)
latest-repository-commit)) latest-repository-commit))
(define %repository-cache-directory (define %repository-cache-directory
(make-parameter "/var/cache/guix/checkouts")) (make-parameter (string-append (cache-directory #:ensure? #f)
"/checkouts")))
(define-syntax-rule (with-libgit2 thunk ...) (define-syntax-rule (with-libgit2 thunk ...)
(begin (begin

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2010, 2011, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2010, 2011, 2013, 2014, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -24,9 +24,12 @@ (define-module (guix gnupg)
#:use-module (ice-9 rdelim) #:use-module (ice-9 rdelim)
#:use-module (ice-9 i18n) #:use-module (ice-9 i18n)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (guix ui) #:use-module (guix i18n)
#:use-module ((guix utils) #:select (config-directory))
#:use-module ((guix build utils) #:select (mkdir-p))
#:export (%gpg-command #:export (%gpg-command
%openpgp-key-server %openpgp-key-server
current-keyring
gnupg-verify gnupg-verify
gnupg-verify* gnupg-verify*
gnupg-status-good-signature? gnupg-status-good-signature?
@ -42,13 +45,25 @@ (define %gpg-command
;; The GnuPG 2.x command-line program name. ;; The GnuPG 2.x command-line program name.
(make-parameter (or (getenv "GUIX_GPG_COMMAND") "gpg"))) (make-parameter (or (getenv "GUIX_GPG_COMMAND") "gpg")))
(define %gpgv-command
;; The 'gpgv' program.
(make-parameter (or (getenv "GUIX_GPGV_COMMAND") "gpgv")))
(define current-keyring
;; The default keyring of "trusted keys".
(make-parameter (string-append (config-directory #:ensure? #f)
"/gpg/trustedkeys.kbx")))
(define %openpgp-key-server (define %openpgp-key-server
;; The default key server. Note that keys.gnupg.net appears to be ;; The default key server. Note that keys.gnupg.net appears to be
;; unreliable. ;; unreliable.
(make-parameter "pgp.mit.edu")) (make-parameter "pgp.mit.edu"))
(define (gnupg-verify sig file) (define* (gnupg-verify sig file
"Verify signature SIG for FILE. Return a status s-exp if GnuPG failed." #:optional (keyring (current-keyring)))
"Verify signature SIG for FILE against the keys in KEYRING. All the keys in
KEYRING as assumed to be \"trusted\", whether or not they expired or were
revoked. Return a status s-exp if GnuPG failed."
(define (status-line->sexp line) (define (status-line->sexp line)
;; See file `doc/DETAILS' in GnuPG. ;; See file `doc/DETAILS' in GnuPG.
@ -117,8 +132,8 @@ (define (parse-status input)
(loop (read-line input) (loop (read-line input)
(cons (status-line->sexp line) result))))) (cons (status-line->sexp line) result)))))
(let* ((pipe (open-pipe* OPEN_READ (%gpg-command) "--status-fd=1" (let* ((pipe (open-pipe* OPEN_READ (%gpgv-command) "--status-fd=1"
"--verify" sig file)) "--keyring" keyring sig file))
(status (parse-status pipe))) (status (parse-status pipe)))
;; Ignore PIPE's exit status since STATUS above should contain all the ;; Ignore PIPE's exit status since STATUS above should contain all the
;; info we need. ;; info we need.
@ -145,12 +160,21 @@ (define (gnupg-status-missing-key? status)
(_ #f))) (_ #f)))
status)) status))
(define (gnupg-receive-keys key-id server) (define* (gnupg-receive-keys key-id server
(system* (%gpg-command) "--keyserver" server "--recv-keys" key-id)) #:optional (keyring (current-keyring)))
(unless (file-exists? keyring)
(mkdir-p (dirname keyring))
(call-with-output-file keyring (const #t))) ;create an empty keybox
(system* (%gpg-command) "--keyserver" server
"--no-default-keyring" "--keyring" keyring
"--recv-keys" key-id))
(define* (gnupg-verify* sig file (define* (gnupg-verify* sig file
#:key (key-download 'interactive) #:key
(server (%openpgp-key-server))) (key-download 'interactive)
(server (%openpgp-key-server))
(keyring (current-keyring)))
"Like `gnupg-verify', but try downloading the public key if it's missing. "Like `gnupg-verify', but try downloading the public key if it's missing.
Return #t if the signature was good, #f otherwise. KEY-DOWNLOAD specifies a Return #t if the signature was good, #f otherwise. KEY-DOWNLOAD specifies a
download policy for missing OpenPGP keys; allowed values: 'always', 'never', download policy for missing OpenPGP keys; allowed values: 'always', 'never',
@ -161,15 +185,17 @@ (define* (gnupg-verify* sig file
(define (download-and-try-again) (define (download-and-try-again)
;; Download the missing key and try again. ;; Download the missing key and try again.
(begin (begin
(gnupg-receive-keys missing server) (gnupg-receive-keys missing server keyring)
(gnupg-status-good-signature? (gnupg-verify sig file)))) (gnupg-status-good-signature? (gnupg-verify sig file
keyring))))
(define (receive?) (define (receive?)
(let ((answer (let ((answer
(begin (format #t (G_ "~a~a~%") (begin
"Would you like to download this key " (format #t (G_ "Would you like to add this key \
"and add it to your keyring?") to keyring '~a'?~%")
(read-line)))) keyring)
(read-line))))
(string-match (locale-yes-regexp) answer))) (string-match (locale-yes-regexp) answer)))
(and missing (and missing

View file

@ -134,8 +134,10 @@ (define number
;; Show most recently installed packages last. ;; Show most recently installed packages last.
(reverse (reverse
(manifest-entries (manifest-entries
(profile-manifest (generation-file-name profile (profile-manifest
number))))))))) (if (zero? number)
profile
(generation-file-name profile number))))))))))
(display-package-search-path fmt)) (display-package-search-path fmt))

View file

@ -439,6 +439,10 @@ (define %options
(option '(#\e "expression") #t #f (option '(#\e "expression") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'expression arg result))) (alist-cons 'expression arg result)))
(option '(#\s "system") #t #f
(lambda (opt name arg result)
(alist-cons 'system arg
(alist-delete 'system result eq?))))
(option '(#\h "help") #f #f (option '(#\h "help") #f #f
(lambda args (lambda args
(show-help) (show-help)
@ -462,6 +466,8 @@ (define (show-help)
--list-types list the available graph types")) --list-types list the available graph types"))
(display (G_ " (display (G_ "
-e, --expression=EXPR consider the package EXPR evaluates to")) -e, --expression=EXPR consider the package EXPR evaluates to"))
(display (G_ "
-s, --system=SYSTEM consider the graph for SYSTEM--e.g., \"i686-linux\""))
(newline) (newline)
(display (G_ " (display (G_ "
-h, --help display this help and exit")) -h, --help display this help and exit"))
@ -472,7 +478,8 @@ (define (show-help)
(define %default-options (define %default-options
`((node-type . ,%package-node-type) `((node-type . ,%package-node-type)
(backend . ,%graphviz-backend))) (backend . ,%graphviz-backend)
(system . ,(%current-system))))
;;; ;;;
@ -508,7 +515,8 @@ (define (guix-graph . args)
(export-graph (concatenate nodes) (export-graph (concatenate nodes)
(current-output-port) (current-output-port)
#:node-type type #:node-type type
#:backend backend))))))) #:backend backend))
#:system (assq-ref opts 'system))))))
#t) #t)
;;; graph.scm ends here ;;; graph.scm ends here

View file

@ -176,17 +176,18 @@ (define (honor-lets-encrypt-certificates! store)
(certs (string-append (derivation->output-path drv) (certs (string-append (derivation->output-path drv)
"/etc/ssl/certs"))) "/etc/ssl/certs")))
(build-derivations store (list drv)) (build-derivations store (list drv))
(set-tls-certificate-locations! certs)))
;; In the past Guile-Git would not provide this procedure. (define (honor-x509-certificates store)
(if (module-defined? (resolve-interface '(git)) "Use the right X.509 certificates for Git checkouts over HTTPS."
'set-tls-certificate-locations!) (let ((file (getenv "SSL_CERT_FILE"))
(set-tls-certificate-locations! certs) (directory (or (getenv "SSL_CERT_DIR") "/etc/ssl/certs")))
(begin (if (or (and file (file-exists? file))
;; In this case we end up using whichever certificates OpenSSL (and=> (stat directory #f)
;; chooses to use: $SSL_CERT_FILE, $SSL_CERT_DIR, or /etc/ssl/certs. (lambda (st)
(warning (G_ "cannot enforce use of the Let's Encrypt \ (> (stat:nlink st) 2))))
certificates~%")) (set-tls-certificate-locations! directory file)
(warning (G_ "please upgrade Guile-Git~%")))))) (honor-lets-encrypt-certificates! store))))
(define (report-git-error error) (define (report-git-error error)
"Report the given Guile-Git error." "Report the given Guile-Git error."
@ -233,7 +234,9 @@ (define (display-profile-content profile number)
;; Show most recently installed packages last. ;; Show most recently installed packages last.
(reverse (reverse
(manifest-entries (manifest-entries
(profile-manifest (generation-file-name profile number)))))) (profile-manifest (if (zero? number)
profile
(generation-file-name profile number)))))))
(define (indented-string str indent) (define (indented-string str indent)
"Return STR with each newline preceded by IDENT spaces." "Return STR with each newline preceded by IDENT spaces."
@ -431,13 +434,7 @@ (define (guix-pull . args)
(parameterize ((%graft? (assoc-ref opts 'graft?)) (parameterize ((%graft? (assoc-ref opts 'graft?))
(%repository-cache-directory cache)) (%repository-cache-directory cache))
(set-build-options-from-command-line store opts) (set-build-options-from-command-line store opts)
(honor-x509-certificates store)
;; When certificates are already installed, use them.
;; Otherwise, use the Let's Encrypt certificates, which we
;; know Savannah uses.
(let ((certs (or (getenv "SSL_CERT_DIR") "/etc/ssl/certs")))
(unless (file-exists? certs)
(honor-lets-encrypt-certificates! store)))
(let ((instances (latest-channel-instances store channels))) (let ((instances (latest-channel-instances store channels)))
(format (current-error-port) (format (current-error-port)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
@ -89,6 +89,9 @@ (define %options
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'list-dependent? #t result))) (alist-cons 'list-dependent? #t result)))
(option '("keyring") #t #f
(lambda (opt name arg result)
(alist-cons 'keyring arg result)))
(option '("key-server") #t #f (option '("key-server") #t #f
(lambda (opt name arg result) (lambda (opt name arg result)
(alist-cons 'key-server arg result))) (alist-cons 'key-server arg result)))
@ -138,6 +141,8 @@ (define (show-help)
-l, --list-dependent list top-level dependent packages that would need to -l, --list-dependent list top-level dependent packages that would need to
be rebuilt as a result of upgrading PACKAGE...")) be rebuilt as a result of upgrading PACKAGE..."))
(newline) (newline)
(display (G_ "
--keyring=FILE use FILE as the keyring of upstream OpenPGP keys"))
(display (G_ " (display (G_ "
--key-server=HOST use HOST as the OpenPGP key server")) --key-server=HOST use HOST as the OpenPGP key server"))
(display (G_ " (display (G_ "
@ -437,7 +442,11 @@ (define core-package?
(%openpgp-key-server))) (%openpgp-key-server)))
(%gpg-command (%gpg-command
(or (assoc-ref opts 'gpg-command) (or (assoc-ref opts 'gpg-command)
(%gpg-command)))) (%gpg-command)))
(current-keyring
(or (assoc-ref opts 'keyring)
(string-append (config-directory)
"/upstream/trustedkeys.kbx"))))
(for-each (for-each
(cut update-package store <> updaters (cut update-package store <> updaters
#:key-download key-download #:key-download key-download

View file

@ -770,6 +770,7 @@ (define total 0)
(define (flush) (define (flush)
(put-bytevector port buffer 0 total) (put-bytevector port buffer 0 total)
(force-output port)
(set! total 0)) (set! total 0))
(define (write bv offset count) (define (write bv offset count)
@ -927,6 +928,7 @@ (define add-to-store
(write-int (if recursive? 1 0) port) (write-int (if recursive? 1 0) port)
(write-string hash-algo port) (write-string hash-algo port)
(write-file file-name port #:select? select?) (write-file file-name port #:select? select?)
(write-buffered-output server)
(let loop ((done? (process-stderr server))) (let loop ((done? (process-stderr server)))
(or done? (loop (process-stderr server)))) (or done? (loop (process-stderr server))))
(read-store-path port))))) (read-store-path port)))))
@ -1042,6 +1044,7 @@ (define cache
#:file-port file-port #:file-port file-port
#:symlink-target symlink-target #:symlink-target symlink-target
#:directory-entries directory-entries) #:directory-entries directory-entries)
(write-buffered-output server)
(let loop ((done? (process-stderr server))) (let loop ((done? (process-stderr server)))
(or done? (loop (process-stderr server)))) (or done? (loop (process-stderr server))))
(let ((result (read-store-path port))) (let ((result (read-store-path port)))

View file

@ -51,7 +51,12 @@ (define %tar-bootstrap %bootstrap-coreutils&co)
(test-begin "pack") (test-begin "pack")
(unless (network-reachable?) (test-skip 1)) ;; FIXME: The following test would rebuild the world (and likely fail) as a
;; consequence of commit c45477d2a1a651485feede20fe0f3d15aec48b39 (and related
;; changes) that made guile-sqlite3 a dependency of the derivation.
;; See <https://bugs.gnu.org/32184>.
(test-skip 1)
(test-assertm "self-contained-tarball" (test-assertm "self-contained-tarball"
(mlet* %store-monad (mlet* %store-monad
((profile (profile-derivation (packages->manifest ((profile (profile-derivation (packages->manifest