Merge branch 'master' into staging

master
Marius Bakke 2019-02-14 00:20:28 +01:00
commit 6901878894
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
98 changed files with 32151 additions and 6001 deletions

View File

@ -2,7 +2,7 @@
#+TITLE: Hacking GNU Guix and Its Incredible Distro
Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
Copyright © 2012, 2013, 2014, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
Copyright © 2015, 2017 Mathieu Lirzin <mthl@gnu.org>
Copyright © 2017 Leo Famulari <leo@famulari.name>
Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
@ -41,8 +41,9 @@ make sure to run git pull --rebase.
All commits that are pushed to the central repository on Savannah must be
signed with an OpenPGP key, and the public key should be uploaded to your user
account on Savannah and to public key servers, such as pgp.mit.edu. To
configure Git to automatically sign commits, run:
account on Savannah and to public key servers, such as
pool.sks-keyservers.net. To configure Git to automatically sign commits,
run:
git config commit.gpgsign true
git config user.signingkey CABBA6EA1DC0FF33

View File

@ -19,7 +19,7 @@
(define-module (run-system-tests)
#:use-module (gnu tests)
#:use-module (guix store)
#:use-module (guix status)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module (guix monads)
#:use-module (guix derivations)
#:use-module (guix ui)

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
@ -29,7 +29,7 @@
;;; Code:
(define %artwork-repository
(let ((commit "6998d30425289b087c64f63e7415df2241e591db"))
(let ((commit "e951905f79dcc92fba9cd05d9190afa3ee2d1d50"))
(origin
(method git-fetch)
(uri (git-reference
@ -39,6 +39,6 @@
"-checkout"))
(sha256
(base32
"0k7j3pj9s3zqiqmfkapypssvzx3f12yr0cc2rbzxqfii0b4clp1j")))))
"1d79ackvs3bqk43ff91457qmdb6g4nwfknzs3dyrhni1ynk1i976")))))
;;; artwork.scm ends here

View File

@ -253,8 +253,9 @@ GNU_SYSTEM_MODULES = \
%D%/packages/jrnl.scm \
%D%/packages/jose.scm \
%D%/packages/julia.scm \
%D%/packages/kde.scm \
%D%/packages/kde.scm \
%D%/packages/kde-frameworks.scm \
%D%/packages/kde-plasma.scm \
%D%/packages/kerberos.scm \
%D%/packages/key-mon.scm \
%D%/packages/kodi.scm \
@ -811,6 +812,8 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-CVE-2017-1000366-pt1.patch \
%D%/packages/patches/glibc-CVE-2017-1000366-pt2.patch \
%D%/packages/patches/glibc-CVE-2017-1000366-pt3.patch \
%D%/packages/patches/glibc-CVE-2018-11236.patch \
%D%/packages/patches/glibc-CVE-2018-11237.patch \
%D%/packages/patches/glibc-allow-kernel-2.6.32.patch \
%D%/packages/patches/glibc-bootstrap-system.patch \
%D%/packages/patches/glibc-hidden-visibility-ldconfig.patch \
@ -827,6 +830,7 @@ dist_patch_DATA = \
%D%/packages/patches/glog-gcc-5-demangling.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnome-shell-theme.patch \
%D%/packages/patches/gnome-todo-libical-compat.patch \
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
%D%/packages/patches/gnucash-fix-test-transaction-failure.patch \
@ -928,7 +932,6 @@ dist_patch_DATA = \
%D%/packages/patches/ldc-bootstrap-disable-tests.patch \
%D%/packages/patches/ldc-disable-phobos-tests.patch \
%D%/packages/patches/ledger-fix-uninitialized.patch \
%D%/packages/patches/ledger-revert-boost-python-fix.patch \
%D%/packages/patches/liba52-enable-pic.patch \
%D%/packages/patches/liba52-link-with-libm.patch \
%D%/packages/patches/liba52-set-soname.patch \
@ -1194,6 +1197,7 @@ dist_patch_DATA = \
%D%/packages/patches/rct-add-missing-headers.patch \
%D%/packages/patches/readline-link-ncurses.patch \
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
%D%/packages/patches/red-eclipse-remove-gamma-name-hack.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
%D%/packages/patches/reptyr-fix-gcc-7.patch \
%D%/packages/patches/ripperx-missing-file.patch \
@ -1205,12 +1209,14 @@ dist_patch_DATA = \
%D%/packages/patches/ruby-concurrent-test-arm.patch \
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
%D%/packages/patches/runc-CVE-2019-5736.patch \
%D%/packages/patches/rust-1.19-mrustc.patch \
%D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \
%D%/packages/patches/rust-bootstrap-stage0-test.patch \
%D%/packages/patches/rust-coresimd-doctest.patch \
%D%/packages/patches/rust-reproducible-builds.patch \
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
%D%/packages/patches/scalapack-blacs-mpi-deprecations.patch \
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scotch-build-parallelism.patch \
%D%/packages/patches/scotch-integer-declarations.patch \

View File

@ -2,7 +2,7 @@
;;; Copyright © 2014 John Darringon <jmd@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,6 +24,8 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (gnu packages autotools)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages image)
#:use-module (guix build-system gnu))
@ -75,21 +77,28 @@ characters, and is highly robust.")
(define-public libdmtx
(package
(name "libdmtx")
(version "0.7.4")
(version "0.7.5")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/libdmtx/" name "/" version "/"
name "-" version ".tar.bz2"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/dmtx/libdmtx.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xnxx075ycy58n92yfda2z9zgd41h3d4ik5d9l197lzsqim5hb5n"))))
(base32 "0wk3fkxzf9ip75v8ia54v6ywx72ajp5s6777j4ay8barpbv869rj"))))
(build-system gnu-build-system)
(arguments
;; XXX Test suite is broken: https://github.com/dmtx/libdmtx/issues/22
`(#:tests? #f))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://libdmtx.sourceforge.net/")
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/dmtx")
(synopsis "Library for reading and writing Data Matrix 2D barcodes")
(description "libdmtx is software for reading and writing Data Matrix 2D
barcodes on Linux and Unix. At its core libdmtx is a shared library, allowing
barcodes of the modern ECC200 variety. libdmtx is a shared library, allowing
C/C++ programs to use its capabilities without restrictions or overhead.")
(license license:bsd-3)))

View File

@ -1892,19 +1892,17 @@ significantly faster and have minimal dependencies.")
(define-public lv2
(package
(name "lv2")
(version "1.14.0")
(version "1.16.0")
(source (origin
(method url-fetch)
(uri (string-append "http://lv2plug.in/spec/lv2-"
version ".tar.bz2"))
(sha256
(base32
"0chxwys3vnn3nxc9x2vchm74s9sx0vfra6y893byy12ci61jc1dq"))))
"1ppippbpdpv13ibs06b0bixnazwfhiw0d0ja6hx42jnkgdyp5hyy"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
;; XXX: The bundled waf does not work with Python 3.7.
#:python ,python-2
#:configure-flags '("--no-plugins")))
(inputs
;; Leaving off cairo and gtk+-2.0 which are needed for example plugins
@ -1920,22 +1918,6 @@ add functionality to support the needs of increasingly powerful audio
software.")
(license license:isc)))
(define-public lv2-devel
(let ((commit "39c7c726cd52b2863fcea356cafe1bcab2ba7f37")
(revision "1"))
(package (inherit lv2)
(name "lv2-devel")
(version (string-append "1.15.3-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "http://lv2plug.in/git/lv2.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1gp2rd99dfmpibvpixrqn115mrhybzf3if3h8bssf6siyi13f29r")))))))
(define-public lv2-mda-piano
(package
(name "lv2-mda-piano")
@ -3225,7 +3207,7 @@ with support for HD extensions.")
(define-public bs1770gain
(package
(name "bs1770gain")
(version "0.5.1")
(version "0.5.2")
(source
(origin
(method url-fetch)
@ -3233,7 +3215,7 @@ with support for HD extensions.")
version "/bs1770gain-" version ".tar.gz"))
(sha256
(base32
"0r4fbajgfmnwgl63hcm56f1j8m5f135q6j5jkzdvrrhpcj39yx06"))))
"1p6yz5q7czyf9ard65sp4kawdlkg40cfscr3b24znymmhs3p7rbk"))))
(build-system gnu-build-system)
(inputs `(("ffmpeg" ,ffmpeg)
("sox" ,sox)))

View File

@ -46,6 +46,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages dbm)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages ftp)
@ -1001,3 +1002,30 @@ de-duplicated before it is actually written to the storage back end to save
precious backup space.
@end itemize")
(license license:bsd-2)))
(define-public burp
(package
(name "burp")
(version "2.3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/burp/burp-" version
"/burp-" version ".tar.bz2"))
(sha256
(base32
"0in49c0ir7lb7jli0fcphdq1nh5rclhans4ngm7z7hzyxa4jrgri"))))
(build-system gnu-build-system)
(inputs
`(("librsync" ,librsync)
("openssl" ,openssl)
("uthash" ,uthash)
("zlib" ,zlib)))
(native-inputs
`(("check" ,check)
("pkg-config" ,pkg-config)))
(home-page "https://burp.grke.org")
(synopsis "Differential backup and restore")
(description "Burp is a network backup and restore program. It attempts
to reduce network traffic and the amount of space that is used by each
backup.")
(license license:agpl3)))

View File

@ -892,7 +892,10 @@ with the Linux kernel.")
"glibc-hidden-visibility-ldconfig.patch"
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"
"glibc-reinstate-prlimit64-fallback.patch"))))))
"glibc-reinstate-prlimit64-fallback.patch"
"glibc-CVE-2018-11236.patch"
"glibc-CVE-2018-11237.patch"))))
(properties `((lint-hidden-cve . ("CVE-2017-18269")))))) ; glibc-2.27-git-fixes
(define-public glibc-2.26
(package

View File

@ -27,6 +27,7 @@
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages cran)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (gnu packages graph)
#:use-module (gnu packages maths)
#:use-module (gnu packages statistics)
@ -1176,3 +1177,25 @@ Viewer (SAV) files, access data, and generate QC plots.")
"This package provides a quality control pipeline for ChIP-exo/nexus
sequencing data.")
(license license:gpl2+)))
(define-public r-dnacopy
(package
(name "r-dnacopy")
(version "1.56.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DNAcopy" version))
(sha256
(base32
"04cqdqxhva66xwh1s2vffi56b9fcrqd4slcrvqasj5lp2rkjli82"))))
(properties `((upstream-name . "DNAcopy")))
(build-system r-build-system)
(native-inputs `(("gfortran" ,gfortran)))
(home-page "https://bioconductor.org/packages/DNAcopy")
(synopsis "DNA copy number data analysis")
(description
"This package implements the @dfn{circular binary segmentation} (CBS)
algorithm to segment DNA copy number data and identify genomic regions with
abnormal copy number.")
(license license:gpl2+)))

View File

@ -12,6 +12,7 @@
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -612,16 +613,22 @@ intended to behave exactly the same as the original BWK awk.")
(define-public python-pybedtools
(package
(name "python-pybedtools")
(version "0.7.10")
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pybedtools" version))
(sha256
(base32
"0l2b2wrnj85azfqgr0zwr60f7j58vlla1hcgxvr9rwikpl8j72ji"))))
"1xl454ijvd4dzfvqgfahad49b49j7qy710fq9xh1rvk42z6x5ssf"))))
(build-system python-build-system)
(arguments
`(#:phases
`(#:modules ((ice-9 ftw)
(srfi srfi-1)
(srfi srfi-26)
(guix build utils)
(guix build python-build-system))
;; See https://github.com/daler/pybedtools/issues/192
#:phases
(modify-phases %standard-phases
;; See https://github.com/daler/pybedtools/issues/261
(add-after 'unpack 'disable-broken-tests
@ -631,21 +638,59 @@ intended to behave exactly the same as the original BWK awk.")
(substitute* "pybedtools/test/test_scripts.py"
(("def test_venn_mpl")
"def _do_not_test_venn_mpl"))
;; Requires internet access.
(substitute* "pybedtools/test/test_helpers.py"
;; Requires internet access.
(("def test_chromsizes")
"def _do_not_test_chromsizes"))
;; FIXME: these two fail for no good reason.
(substitute* "pybedtools/test/test1.py"
(("def test_issue_157")
"def _do_not_test_issue_157")
(("def test_to_dataframe")
"def _do_not_test_to_dataframe"))
#t)))))
"def _do_not_test_chromsizes")
;; Broken as a result of the workaround used in the check phase
;; (see: https://github.com/daler/pybedtools/issues/192).
(("def test_getting_example_beds")
"def _do_not_test_getting_example_beds"))
#t))
;; TODO: Remove phase after it's part of PYTHON-BUILD-SYSTEM.
;; build system.
;; Force the Cythonization of C++ files to guard against compilation
;; problems.
(add-after 'unpack 'remove-cython-generated-files
(lambda _
(let ((cython-sources (map (cut string-drop-right <> 4)
(find-files "." "\\.pyx$")))
(c/c++-files (find-files "." "\\.(c|cpp|cxx)$")))
(define (strip-extension filename)
(string-take filename (string-index-right filename #\.)))
(define (cythonized? c/c++-file)
(member (strip-extension c/c++-file) cython-sources))
(for-each delete-file (filter cythonized? c/c++-files))
#t)))
(add-after 'remove-cython-generated-files 'generate-cython-extensions
(lambda _
(invoke "python" "setup.py" "cythonize")))
(replace 'check
(lambda _
(let* ((cwd (getcwd))
(build-root-directory (string-append cwd "/build/"))
(build (string-append
build-root-directory
(find (cut string-prefix? "lib" <>)
(scandir (string-append
build-root-directory)))))
(scripts (string-append
build-root-directory
(find (cut string-prefix? "scripts" <>)
(scandir build-root-directory)))))
(setenv "PYTHONPATH"
(string-append build ":" (getenv "PYTHONPATH")))
;; Executable scripts such as 'intron_exon_reads.py' must be
;; available in the PATH.
(setenv "PATH"
(string-append scripts ":" (getenv "PATH"))))
;; The tests need to be run from elsewhere...
(mkdir-p "/tmp/test")
(copy-recursively "pybedtools/test" "/tmp/test")
(with-directory-excursion "/tmp/test"
(invoke "pytest")))))))
(propagated-inputs
;; Tests don't pass with Bedtools 2.27.1.
;; See https://github.com/daler/pybedtools/issues/260
`(("bedtools" ,bedtools-2.26)
`(("bedtools" ,bedtools)
("samtools" ,samtools)
("python-matplotlib" ,python-matplotlib)
("python-pysam" ,python-pysam)
@ -654,9 +699,11 @@ intended to behave exactly the same as the original BWK awk.")
`(("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-cython" ,python-cython)
("python-nose" ,python-nose)
("kentutils" ,kentutils) ; for bedGraphToBigWig
("python-six" ,python-six)))
("kentutils" ,kentutils) ; for bedGraphToBigWig
("python-six" ,python-six)
;; For the test suite.
("python-pytest" ,python-pytest)
("python-psutil" ,python-psutil)))
(home-page "https://pythonhosted.org/pybedtools/")
(synopsis "Python wrapper for BEDtools programs")
(description
@ -667,34 +714,7 @@ Python.")
(license license:gpl2+)))
(define-public python2-pybedtools
(let ((pkg (package-with-python2 python-pybedtools)))
(package (inherit pkg)
(arguments
`(#:modules ((ice-9 ftw)
(srfi srfi-1)
(srfi srfi-26)
(guix build utils)
(guix build python-build-system))
;; See https://github.com/daler/pybedtools/issues/192
,@(substitute-keyword-arguments (package-arguments pkg)
((#:phases phases)
`(modify-phases ,phases
(replace 'check
(lambda _
(let ((cwd (getcwd)))
(setenv "PYTHONPATH"
(string-append cwd "/build/"
(find (cut string-prefix? "lib" <>)
(scandir (string-append cwd "/build")))
":" (getenv "PYTHONPATH"))))
;; The tests need to be run from elsewhere...
(mkdir-p "/tmp/test")
(copy-recursively "pybedtools/test" "/tmp/test")
(with-directory-excursion "/tmp/test"
(invoke "nosetests"
;; This test fails for unknown reasons
"--exclude=.*test_getting_example_beds"))
#t))))))))))
(package-with-python2 python-pybedtools))
(define-public python-biom-format
(package
@ -14441,3 +14461,39 @@ Nanopolish can calculate an improved consensus sequence for a draft genome
assembly, detect base modifications, call SNPs (Single nucleotide
polymorphisms) and indels with respect to a reference genome and more.")
(license license:expat))))
(define-public cnvkit
(package
(name "cnvkit")
(version "0.9.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/etal/cnvkit.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0g2f78k68yglmj4fsfmgs8idqv3di9aj53fg0ld0hqljg8chhh82"))))
(build-system python-build-system)
(propagated-inputs
`(("python-biopython" ,python-biopython)
("python-future" ,python-future)
("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)
("python-reportlab" ,python-reportlab)
("python-pandas" ,python-pandas)
("python-pysam" ,python-pysam)
("python-pyfaidx" ,python-pyfaidx)
("python-scipy" ,python-scipy)
;; R packages
("r-dnacopy" ,r-dnacopy)))
(home-page "https://cnvkit.readthedocs.org/")
(synopsis "Copy number variant detection from targeted DNA sequencing")
(description
"CNVkit is a Python library and command-line software toolkit to infer
and visualize copy number from high-throughput DNA sequencing data. It is
designed for use with hybrid capture, including both whole-exome and custom
target panels, and short-read sequencing platforms such as Illumina and Ion
Torrent.")
(license license:asl2.0)))

View File

@ -7,7 +7,7 @@
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 nee <nee@cock.li>
;;;
;;; This file is part of GNU Guix.
@ -624,7 +624,25 @@ board-independent tools.")))
(make-u-boot-package "mx6cuboxi" "arm-linux-gnueabihf"))
(define-public u-boot-novena
(make-u-boot-package "novena" "arm-linux-gnueabihf"))
(let ((base (make-u-boot-package "novena" "arm-linux-gnueabihf")))
(package
(inherit base)
(description "U-Boot is a bootloader used mostly for ARM boards. It
also initializes the boards (RAM etc).
This U-Boot is built for Novena. Be advised that this version, contrary
to Novena upstream, does not load u-boot.img from the first patition.")
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'patch-novena-defconfig
;; Patch configuration to disable loading u-boot.img from FAT partition,
;; allowing it to be installed at a device offset.
(lambda _
(substitute* "configs/novena_defconfig"
(("CONFIG_SPL_FAT_SUPPORT=y") "# CONFIG_SPL_FAT_SUPPORT is not set"))
#t)))))))))
(define-public u-boot-cubieboard
(make-u-boot-package "Cubieboard" "arm-linux-gnueabihf"))
@ -755,7 +773,7 @@ tools, and more.")
(define-public os-prober
(package
(name "os-prober")
(version "1.76")
(version "1.77")
(source
(origin
(method url-fetch)
@ -763,15 +781,15 @@ tools, and more.")
version ".tar.xz"))
(sha256
(base32
"1vb45i76bqivlghrq7m3n07qfmmq4wxrkplqx8gywj011rhq19fk"))))
"0pvhrw4h05n21zw7ig3a3bi8aqdh6zxs0x1znz4g7vhspsps93ld"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 regex) ; for string-match
(srfi srfi-26)) ; for cut
(ice-9 regex) ; for string-match
(srfi srfi-26)) ; for cut
#:make-flags (list "CC=gcc")
#:tests? #f ; no tests
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(replace 'configure

View File

@ -10,7 +10,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
@ -540,14 +540,14 @@ archiving. Lzip is a clean implementation of the LZMA algorithm.")
(define-public lziprecover
(package
(name "lziprecover")
(version "1.20")
(version "1.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/" name "/"
name "-" version ".tar.gz"))
(uri (string-append "mirror://savannah/lzip/lziprecover/"
"lziprecover-" version ".tar.gz"))
(sha256
(base32
"0fpnmdxayvd1ff0rk9606dvr431ji6b1v71km4ww244rih1rmmzz"))))
"094w2z8fz41yaq0gkyr61cl7pb1d7kchpl5dka7rvm3qvbb7ncd2"))))
(build-system gnu-build-system)
(home-page "https://www.nongnu.org/lzip/lziprecover.html")
(synopsis "Recover and decompress data from damaged lzip files")
@ -1606,14 +1606,14 @@ of archives.")
(define-public lunzip
(package
(name "lunzip")
(version "1.10")
(version "1.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/"
name "/" name "-" version ".tar.gz"))
(uri (string-append "mirror://savannah/lzip/lunzip/"
"lunzip-" version ".tar.gz"))
(sha256
(base32 "1iw59br6nsxs7l1p875h8w3vxwr04xfhg5zyal64crvamhxkj5kl"))))
(base32 "19zq3gmlbia2krq4k4zs1j0xjdv7nsdzqvfb0pyca5n53h2mzb91"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -1633,14 +1633,14 @@ Lunzip is intended to be fully compatible with the regular lzip package.")
(define-public clzip
(package
(name "clzip")
(version "1.10")
(version "1.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/"
name "/" name "-" version ".tar.gz"))
(uri (string-append "mirror://savannah/lzip/clzip/"
"clzip-" version ".tar.gz"))
(sha256
(base32 "03xcmhl3dya4jrwmsqh09ikimpb36fr3vkh2bwfzz1sbcns0cdg3"))))
(base32 "1h14dmc9fi10gcdpdpbgq1bwvcxvivppilj64pf720x8mw915mfr"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -1659,17 +1659,15 @@ Clzip is intended to be fully compatible with the regular lzip package.")
(define-public lzlib
(package
(name "lzlib")
(version "1.10")
(version "1.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/"
name "/" name "-" version ".tar.gz"))
(uri (string-append "mirror://savannah/lzip/lzlib/"
"lzlib-" version ".tar.gz"))
(sha256
(base32 "0hqhnj2lzqacdbmmnpy91lsm1rd9zlngs1q6s9pyahsv1a0bfshx"))))
(base32 "0djdj4sg33rzi4k84cygvnp09bfsv6i8wy2k7i67rayib63myp3c"))))
(build-system gnu-build-system)
;; The included minilzip binary is only ~16 smaller than the real lzip.
;; It's used during the test suite, but don't be tempted to install it.
(arguments
`(#:configure-flags
(list "CC=gcc"
@ -1687,14 +1685,14 @@ corrupted input.")
(define-public plzip
(package
(name "plzip")
(version "1.7")
(version "1.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/lzip/"
name "/" name "-" version ".tar.gz"))
(uri (string-append "mirror://savannah/lzip/plzip/"
"plzip-" version ".tar.gz"))
(sha256
(base32 "1dzjp9r7krwpsn224bhcqbzd5aj5b4556sdi9yzl2bzbk3fjrqlm"))))
(base32 "04indil809qgfmz776imb3dnhkysh7zk28jcv3mw0ahl2lyaxbzd"))))
(build-system gnu-build-system)
(inputs
`(("lzlib" ,lzlib)))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
;;;
;;; This file is part of GNU Guix.
@ -42,14 +43,15 @@
(package
(name "coq")
(version "8.8.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/coq/coq/archive/V"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0i2hs0i6rp27cy8zd0mx7jscqw5cx2y0diw0pxgij66s3yr47y7r"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/coq/coq.git")
(commit (string-append "V" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03v8b57mz3ivsijwxy51avzwiyhla5ijaf98a5a2q29yabdq8dkp"))))
(native-search-paths
(list (search-path-specification
(variable "COQPATH")
@ -63,6 +65,10 @@
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'make-git-checkout-writable
(lambda _
(for-each make-file-writable (find-files "."))
#t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -279,20 +285,22 @@ assistant.")
(package
(name "coq-mathcomp")
(version "1.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/math-comp/math-comp/archive/mathcomp-"
version ".tar.gz"))
(sha256
(base32
"05zgyi4wmasi1rcyn5jq42w0bi9713q9m8dl1fdgl66nmacixh39"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/math-comp/math-comp.git")
(commit (string-append "mathcomp-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1cdzi67jj440xkdpxm10aly80zpn56vjzj2ygb67iq3xpljlv95h"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)))
(arguments
`(#:tests? #f; No need to test formally-verified programs :)
`(#:tests? #f ; no need to test formally-verified programs :)
#:phases
(modify-phases %standard-phases
(delete 'configure)
@ -492,3 +500,44 @@ work on a decision procedure for the equational theory of an extension of the
sigma-calculus by Abadi et al. The library is completely written in Coq and
uses Ltac to synthesize the substitution operation.")
(license license:bsd-3))))
(define-public coq-equations
(package
(name "coq-equations")
(version "1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattam82/Coq-Equations.git")
(commit (string-append "v" version "-8.8"))))
(file-name (git-file-name name version))
(sha256
(base32
"129rxsdsf88vjcw0xhm74yax1hmnk6f8n9ksg0hcyyjq1ijddiwa"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("coq" ,coq)
("camlp5" ,camlp5)))
(arguments
`(#:test-target "test-suite"
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(invoke "coq_makefile" "-f" "_CoqProject" "-o" "Makefile")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/"))
(invoke "make"
(string-append "COQLIB=" (assoc-ref outputs "out")
"/lib/coq/")
"install"))))))
(home-page "https://mattam82.github.io/Coq-Equations/")
(synopsis "Function definition plugin for Coq")
(description "Equations provides a notation for writing programs
by dependent pattern-matching and (well-founded) recursion in Coq. It
compiles everything down to eliminators for inductive types, equality
and accessibility, providing a definitional extension to the Coq
kernel.")
(license license:lgpl2.1)))

View File

@ -38,6 +38,7 @@
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
@ -45,6 +46,7 @@
#:use-module (gnu packages scanner)
#:use-module (gnu packages tls)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@ -380,6 +382,32 @@ device-specific programs to convert and print many types of files.")
("cups-filters" ,cups-filters)
("zlib" ,zlib)))))
(define-public cups-pk-helper
(package
(name "cups-pk-helper")
(version "0.2.6")
(source (origin
(method url-fetch)
(uri (string-append "https://freedesktop.org/software/"
name "/releases/" name "-" version ".tar.xz"))
(sha256
(base32
"0a52jw6rm7lr5nbyksiia0rn7sasyb5cjqcb95z1wxm2yprgi6lm"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)
("glib" ,glib)
("polkit" ,polkit)
("cups" ,cups)))
(home-page "https://www.freedesktop.org/wiki/Software/cups-pk-helper/")
(synopsis "PolicyKit helper to configure CUPS with fine-grained privileges")
(description
"This package provides the org.opensuse.CupsPkHelper.Mechanism DBus
system service which uses @file{cups-pk-helper-mechanism}. This package
should only be used as part of the Guix cups-pk-helper service.")
(license license:gpl2+)))
(define-public hplip
(package
(name "hplip")
@ -681,3 +709,27 @@ printers. It can only be used with printers that support the Epson ESC/P-R
language.")
(home-page "http://download.ebz.epson.net/dsc/search/01/search")
(license license:gpl2+)))
(define-public python-pycups
(package
(name "python-pycups")
(version "1.9.74")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycups" version ".tar.bz2"))
(sha256
(base32
"1ffp7sswhdsfpy88zg0cc8kl04wygkjs01rlm9f0spbwk8jhy2c6"))))
(build-system python-build-system)
(arguments
'(;; Tests require CUPS to be running
#:tests? #f))
(inputs
`(("cups" ,cups)))
(home-page "https://github.com/zdohnal/pycups")
(synopsis "Python bindings for libcups")
(description
"This package provides Python bindings for libcups, wrapping the CUPS
API.")
(license license:gpl2+)))

View File

@ -50,6 +50,7 @@
(define-public curl
(package
(name "curl")
(replacement curl-7.64.0)
(version "7.63.0")
(source (origin
(method url-fetch)
@ -141,6 +142,19 @@ tunneling, and so on.")
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
(define-public curl-7.64.0
(package
(inherit curl)
(version "7.64.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
"00b0mw4fc1pbmbh55maab24x3ijdvkbpl1s4njfa4jnl6kx16brg"))))))
(define-public kurly
(package
(name "kurly")

View File

@ -23,7 +23,7 @@
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
@ -1070,7 +1070,7 @@ extremely small.")
(define-public perl-dbi
(package
(name "perl-dbi")
(version "1.641")
(version "1.642")
(source (origin
(method url-fetch)
(uri (string-append
@ -1078,7 +1078,7 @@ extremely small.")
version ".tar.gz"))
(sha256
(base32
"1hf2x29bnqf2x1v4bdhji802z7n2mbg7h1amv8gdkqyhrlrfa2am"))))
"0pbzqazrx7pnw4nbyaf27in4b6yddkirbd2ws7mnqa2n7812a81z"))))
(build-system perl-build-system)
(synopsis "Database independent interface for Perl")
(description "This package provides an database interface for Perl.")
@ -1491,14 +1491,14 @@ sets, bitmaps and hyperloglogs.")
(define-public kyotocabinet
(package
(name "kyotocabinet")
(version "1.2.76")
(version "1.2.77")
(source (origin
(method url-fetch)
(uri (string-append "http://fallabs.com/kyotocabinet/pkg/"
name "-" version ".tar.gz"))
(sha256
(base32
"0g6js20x7vnpq4p8ghbw3mh9wpqksya9vwhzdx6dnlf354zjsal1"))))
"1rlx4307adbzd842b4npq6cwlw8h010ingxaz3qz1ijc70lr72an"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2015 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
@ -340,14 +340,14 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
(define-public gparted
(package
(name "gparted")
(version "0.32.0")
(version "0.33.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gparted/gparted/gparted-"
version "/gparted-" version ".tar.gz"))
(sha256
(base32 "1fjp4c8jc0kjbbih1x1vs9v40d9lncma642kflnmy0bixxnvh7df"))))
(base32 "1ml1ky3s75lbxr91p608q3prsdh9x899mw7nbgk252pqhg4vh8sh"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; tests require a network connection
@ -478,16 +478,16 @@ a card with a smaller capacity than stated.")
(define-public duperemove
(package
(name "duperemove")
(version "0.11")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/markfasheh/duperemove/archive/v"
version ".tar.gz"))
(sha256
(base32
"0rjmmh42yqw9a5j6sp31cqwxk3s97dsi4xz0wpxpllj7bsp3aiw5"))
(file-name (string-append name "-" version ".tar.gz"))))
(version "0.11.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/markfasheh/duperemove.git")
(commit (string-append "v" version))))
(sha256
(base32 "1scz76pvpljvrpfn176125xwaqwyy4pirlm11sc9spb2hyzknw2z"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -38,13 +38,13 @@
(define-public python-django
(package
(name "python-django")
(version "1.11.18")
(version "1.11.20")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
"19b6f020als9hr4q1im5282yn2b1hzf586n9kjrlkrslq7da3k3k"))))
"0h90kdq8r4y8wa73hdxmyy5psnwlg61dcq3qsa098cpfiyh9vaa3"))))
(build-system python-build-system)
(arguments
'(#:modules ((srfi srfi-1)

View File

@ -5,7 +5,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
@ -294,15 +294,14 @@ asynchronous fashion.")
(define-public nsd
(package
(name "nsd")
(version "4.1.25")
(version "4.1.26")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-"
version ".tar.gz"))
(sha256
(base32
"0zyzjd3wmq258jiry62ci1z23qfd0rc5ggnpmybc60xvpddgynwg"))))
(base32 "1x0mvj4872dzj1rr9adnchdm4dhn41xmc459p5j4s0r13m1l32lz"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -524,16 +523,16 @@ served by AS112. Stub and forward zones are supported.")
(define-public yadifa
(package
(name "yadifa")
(version "2.3.8")
(version "2.3.9")
(source
(let ((build "7713"))
(let ((build "8497"))
(origin
(method url-fetch)
(uri
(string-append "http://cdn.yadifa.eu/sites/default/files/releases/"
name "-" version "-" build ".tar.gz"))
"yadifa-" version "-" build ".tar.gz"))
(sha256
(base32 "15xhzg4crjcxascwpz6y8qpqcgypzv2p9bspdskp4nx1x1y4316c")))))
(base32 "0xvyr91sfgzkpw6g3h893ldbwnki3w2472n56rr18w67qghs1sa5")))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)))
@ -571,14 +570,14 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
(version "2.7.3")
(version "2.7.6")
(source (origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
name "-" version ".tar.xz"))
"knot-" version ".tar.xz"))
(sha256
(base32
"1pwjcv7hzhqawisibybma160k77a6f1v94xw6ay9c7j49vrw05w7"))
"18lpyq3vgr2ainmfiy14x7hcf1zxza66bhkpr54jaz2gy1viijx1"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -43,7 +43,7 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization))
(define %docker-version "18.09.0")
(define %docker-version "18.09.2")
(define-public python-docker-py
(package
@ -241,7 +241,7 @@ network attachments.")
(file-name (git-file-name name version))
(sha256
(base32
"1liqbx58grqih6m8hz9y20y5waflv19pv15l3wl64skap2bsn21c"))
"1zfpk2n8j6gnwbrxrh6d6pj24y60dhbanpf55shrm2yxz54ka36c"))
(patches
(search-patches "docker-engine-test-noinstall.patch"
"docker-fix-tests.patch"))))
@ -337,6 +337,7 @@ network attachments.")
(substitute-LookPath "blkid" "util-linux" "/sbin/blkid")
(substitute-LookPath "unpigz" "pigz" "/bin/unpigz")
(substitute-LookPath "iptables" "iptables" "/sbin/iptables")
(substitute-LookPath "iptables-legacy" "iptables" "/sbin/iptables")
(substitute-LookPath "ip" "iproute2" "/sbin/ip")
(substitute-Command "modprobe" "kmod" "/bin/modprobe")
(substitute-Command "pvcreate" "lvm2" "/sbin/pvcreate")
@ -483,7 +484,7 @@ provisioning etc.")
(file-name (git-file-name name version))
(sha256
(base32
"1ivisys20kphvbqlazc3bsg7pk0ykj9gjx5d4yg439x4n13jxwvb"))))
"0jzcqh1kqbfyj6ax7z67gihaqgjiz6ddz6rq6k458l68v7zn77r8"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/docker/cli"

View File

@ -124,10 +124,14 @@ markup) can be customized and extended by the user.")
(package
(name "doxygen")
(version "1.8.14")
(home-page "http://www.doxygen.nl/")
(source (origin
(method url-fetch)
(uri (string-append "http://ftp.stack.nl/pub/users/dimitri/"
name "-" version ".src.tar.gz"))
(uri (list (string-append home-page "files/doxygen-"
version ".src.tar.gz")
(string-append "mirror://sourceforge/doxygen/rel-"
version "/doxygen-" version
".src.tar.gz")))
(sha256
(base32
"0kcxymbam9jwiyjwyvwdjj0h74lbb6c467szsipzbxjyfl17wxfi"))
@ -150,7 +154,6 @@ markup) can be customized and extended by the user.")
(string-append
(assoc-ref inputs "bash") "/bin/sh")))
#t)))))
(home-page "http://www.stack.nl/~dimitri/doxygen/")
(synopsis "Generate documentation from annotated sources")
(description "Doxygen is the de facto standard tool for generating
documentation from annotated C++ sources, but it also supports other popular

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,7 +30,8 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils))
#:use-module (guix utils)
#:use-module (ice-9 match))
(define-public gnu-efi
(package
@ -195,6 +197,12 @@ and EFI variable management.")
(arguments
`(#:make-flags
(list "CC=gcc"
,@(match (%current-system)
("aarch64-linux"
'("ARCH=aarch64"))
("armhf-linux"
'("ARCH=arm"))
(_ '()))
(string-append "INCDIR=" (assoc-ref %build-inputs "gnu-efi")
"/include")
(string-append "LIBDIR=" (assoc-ref %build-inputs "gnu-efi")

View File

@ -8918,7 +8918,7 @@ outline-mode), so there is no such thing like an outshine mode, only
(define-public emacs-biblio
(package
(name "emacs-biblio")
(version "0.1")
(version "0.2")
(source
(origin
(method url-fetch)
@ -8927,7 +8927,7 @@ outline-mode), so there is no such thing like an outshine mode, only
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"109fvivsb4r0rbqljngqrmxqvbnbkqlivczx6brrvlr7ci625lhf"))))
"0vwrljmab8m1z83048gxx5mryml9f5pb3h0jpwkvqcl0ra152lzx"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-seq" ,emacs-seq)

View File

@ -109,7 +109,7 @@ single file can be mounted.")
(define-public disorderfs
(package
(name "disorderfs")
(version "0.5.5")
(version "0.5.6")
(source
(origin
(method git-fetch)
@ -119,7 +119,7 @@ single file can be mounted.")
(file-name (git-file-name name version))
(sha256
(base32
"18c32qcdzbxrzg7srnqnw1ls9yqqxyk9b996yxr6w2znw6x6n8v4"))))
"1zn2ydap8k9fwjl3ivgrg6l32s5p4ik6ca6j1idp7c77znlv6cpp"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -45,6 +45,7 @@
#:use-module (gnu packages dns)
#:use-module (gnu packages emacs)
#:use-module (gnu packages dbm)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages libedit)
@ -138,7 +139,7 @@ line client and a client based on Qt.")
(define-public ledger
(package
(name "ledger")
(version "3.1.1")
(version "3.1.2")
(source
(origin
(method git-fetch)
@ -147,39 +148,17 @@ line client and a client based on Qt.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1j4p7djkmdmd858hylrsc3inamh9z0vkfl98s9wiqfmrzw51pmxp"))
(patches (search-patches "ledger-revert-boost-python-fix.patch"
"ledger-fix-uninitialized.patch"))))
(base32 "0hwnipj2m9p95hhyv6kyq54m27g14r58gnsy2my883kxhpcyb2vc"))
(patches (search-patches "ledger-fix-uninitialized.patch"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
((guix build gnu-build-system) #:prefix gnu:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%cmake-build-system-modules
(guix build emacs-utils))
#:configure-flags
`(#:configure-flags
`("-DBUILD_DOCS:BOOL=ON"
"-DBUILD_WEB_DOCS:BOOL=ON"
"-DBUILD_EMACSLISP:BOOL=ON"
"-DUSE_PYTHON:BOOL=ON"
"-DCMAKE_INSTALL_LIBDIR:PATH=lib"
,(string-append "-DUTFCPP_INCLUDE_DIR:PATH="
(assoc-ref %build-inputs "utfcpp")
"/include"))
;; Skip failing test BaselineTest_cmd-org during the check phase.
;; This is a known upstream issue. See
;; https://github.com/ledger/ledger/issues/550
#:make-flags (list "ARGS=-E BaselineTest_cmd-org")
"-DCMAKE_INSTALL_LIBDIR:PATH=lib")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'boost-compat
(lambda _
(substitute* "src/utils.h"
;; This library moved in Boost 1.66. Remove for Ledger
;; versions > 3.1.1.
(("boost/uuid/sha1.hpp") "boost/uuid/detail/sha1.hpp"))
#t))
(add-before 'configure 'install-examples
(lambda* (#:key outputs #:allow-other-keys)
(let ((examples (string-append (assoc-ref outputs "out")
@ -195,18 +174,11 @@ line client and a client based on Qt.")
(setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))
#t))
(replace 'check (assoc-ref gnu:%standard-phases 'check))
(add-after 'install 'relocate-elisp
(lambda* (#:key outputs #:allow-other-keys)
(let* ((site-dir (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp"))
(guix-dir (string-append site-dir "/guix.d"))
(orig-dir (string-append site-dir "/ledger-mode"))
(dest-dir (string-append guix-dir "/ledger-mode")))
(mkdir-p guix-dir)
(rename-file orig-dir dest-dir)
(emacs-generate-autoloads ,name dest-dir)))))))
;; Skip failing test BaselineTest_cmd-org.
;; This is a known upstream issue. See
;; https://github.com/ledger/ledger/issues/550
(setenv "ARGS" "-E BaselineTest_cmd-org")
#t)))))
(inputs
`(("boost" ,boost)
("gmp" ,gmp)
@ -216,8 +188,7 @@ line client and a client based on Qt.")
("tzdata" ,tzdata)
("utfcpp" ,utfcpp)))
(native-inputs
`(("emacs" ,emacs-minimal)
("groff" ,groff)
`(("groff" ,groff)
("texinfo" ,texinfo)))
(home-page "https://ledger-cli.org/")
(synopsis "Command-line double-entry accounting program")
@ -243,8 +214,74 @@ in ability, and easy to use.")
license:asl2.0 ; src/strptime.cc
(license:non-copyleft
"file://src/wcwidth.cc"
"See src/wcwidth.cc in the distribution.")
license:gpl2+)))) ; lisp/*
"See src/wcwidth.cc in the distribution.")))))
(define-public emacs-ledger-mode
;; There have been no new releases since 2016.
(let ((commit "253a20dc62e137ed0ed8e1dd8614ecba116610ea")
(revision "1"))
(package
(name "emacs-ledger-mode")
(version (git-version "3.1.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ledger/ledger-mode.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "06wrgkqpgvk17vibrk2qikdlqn8y63jg86marp1wgmram92mb3jk"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%cmake-build-system-modules
(guix build emacs-utils))
#:tests? #f ; there are none
#:phases
(modify-phases %standard-phases
(add-after 'build 'build-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((target (string-append (assoc-ref outputs "out")
"/share/info")))
(mkdir-p target)
(invoke "makeinfo" "-o" target
"../source/doc/ledger-mode.texi"))
#t))
(add-after 'install 'relocate-elisp
(lambda* (#:key outputs #:allow-other-keys)
(let* ((site-dir (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp"))
(guix-dir (string-append site-dir "/guix.d"))
(orig-dir (string-append site-dir "/ledger-mode"))
(dest-dir (string-append guix-dir "/ledger-mode")))
(mkdir-p guix-dir)
(rename-file orig-dir dest-dir)
(emacs-generate-autoloads ,name dest-dir)
#t))))))
(native-inputs
`(("emacs-minimal" ,emacs-minimal)
("texinfo" ,texinfo)))
(home-page "https://ledger-cli.org/")
(synopsis "Command-line double-entry accounting program")
(description
"Ledger is a powerful, double-entry accounting system that is
accessed from the UNIX command-line. This may put off some users, since
there is no flashy UI, but for those who want unparalleled reporting
access to their data there are few alternatives.
Ledger uses text files for input. It reads the files and generates
reports; there is no other database or stored state. To use Ledger,
you create a file of your account names and transactions, run from the
command line with some options to specify input and requested reports, and
get output. The output is generally plain text, though you could generate
a graph or html instead. Ledger is simple in concept, surprisingly rich
in ability, and easy to use.
This package provides the Emacs mode.")
(license license:gpl2+))))
(define-public geierlein
(package
@ -591,7 +628,7 @@ Monero GUI client.")
(define-public python-trezor-agent
(package
(name "python-trezor-agent")
(version "0.9.4")
(version "0.13.0")
(source
(origin
(method git-fetch)
@ -600,11 +637,18 @@ Monero GUI client.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15aaqk79d9y9nbsfznf2iscz12z5ispcj8kr8v5bc0sqqj2brs12"))))
(base32 "0i4igkxi8fwdlbhg6nx27lhnc9v9nmrw4j5fvpnc202n6yjlc7x7"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-requires-backports-shutil-which
;; Remove requires on backport of shutil_which, as python 3.4+ has
;; a built-in implementation supported in python-trezor-agent.
(lambda _
(substitute* "setup.py"
(("'backports.shutil_which>=3.5.1',") ""))
#t))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs inputs #:allow-other-keys)
@ -612,15 +656,22 @@ Monero GUI client.")
(add-installed-pythonpath inputs outputs)
(invoke "py.test"))))))
(propagated-inputs
`(("python-ecdsa" ,python-ecdsa)
`(("python-configargparse" ,python-configargparse)
("python-daemon" ,python-daemon)
("python-docutils" ,python-docutils)
("python-ecdsa" ,python-ecdsa)
("python-ed25519" ,python-ed25519)
("python-mnemonic" ,python-mnemonic)
("python-pymsgbox" ,python-pymsgbox)
("python-semver" ,python-semver)
("python-unidecode" ,python-unidecode)))
("python-unidecode" ,python-unidecode)
("python-wheel" ,python-wheel)))
(native-inputs
`(("python-mock" ,python-mock)
`(("gnupg" ,gnupg)
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)))
(home-page "https://github.com/romanz/trezor-agent")
(synopsis "TREZOR SSH and GPG host support")
(synopsis "Use hardware wallets as SSH and GPG agent")
(description
"@code{libagent} is a library that allows using TREZOR, Keepkey and
Ledger Nano as a hardware SSH/GPG agent.")
@ -789,19 +840,32 @@ Then set the environment variable GNUPGHOME to
(define-public trezor-agent
(package
(name "trezor-agent")
(version "0.9.0")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "trezor_agent" version))
(sha256
(base32
"1i5cdamlf3c0ym600pjklij74p8ifj9cv7xrpnrfl1b8nkadswbz"))))
"144657c7bn0a667dq5fv5r6j7iilxf3h9agj29v1m2qpq40g0az8"))))
(arguments
;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
`(#:phases
(modify-phases %standard-phases
(add-after 'wrap 'fixup-agent-py
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
;; overwrite the wrapper with the real thing.
(install-file "./trezor_agent.py"
(string-append out "/bin"))
#t))))))
(build-system python-build-system)
(inputs
`(("python-trezor" ,python-trezor)
("python-trezor-agent" ,python-trezor-agent)))
(home-page "http://github.com/romanz/trezor-agent")
(native-inputs
`(("python-hidapi" ,python-hidapi)))
(home-page "https://github.com/romanz/trezor-agent")
(synopsis "Using Trezor as hardware SSH/GPG agent")
(description "This package allows using Trezor as a hardware SSH/GPG
agent.")

View File

@ -23,6 +23,7 @@
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
;;;
;;; This file is part of GNU Guix.
;;;
@ -857,6 +858,56 @@ Powerline support.")
designed to work well in user interface environments.")
(license license:silofl1.1)))
(define-public font-adobe-source-sans-pro
(package
(name "font-adobe-source-sans-pro")
(version "2.040R-ro-1.090R-it")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/adobe-fonts/source-sans-pro/archive/"
(regexp-substitute/global
;; The upstream tag uses "/" between the roman and italic
;; versions, so substitute our "-" separator here.
#f "R-ro-" version 'pre "R-ro/" 'post) ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1wpbhd2idps53ph8rg1mhr3vz4lsgbpjprcq10nliwcxdz9d8lv0"))))
(build-system font-build-system)
(home-page "https://github.com/adobe-fonts/source-sans-pro")
(synopsis
"Sans serif font family for user interface environments")
(description
"Source Sans Pro is a set of OpenType fonts that have been designed to
work well in user interface (UI) environments.")
(license license:silofl1.1)))
(define-public font-adobe-source-serif-pro
(package
(name "font-adobe-source-serif-pro")
(version "2.007R-ro-1.007R-it")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/adobe-fonts/source-serif-pro/archive/"
(regexp-substitute/global
;; The upstream tag uses "/" between the roman and italic
;; versions, so substitute our "-" separator here.
#f "R-ro-" version 'pre "R-ro/" 'post) ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1sws9k26ldqk375qsigk1zv8cq1xlvadjwvv3dqrcc3qzm1c7hwc"))))
(build-system font-build-system)
(home-page "https://github.com/adobe-fonts/source-serif-pro")
(synopsis
"Serif typeface to complement Source Sans Pro for setting text")
(description
"Source Serif Pro is a set of OpenType fonts to complement the Source
Sans Pro family.")
(license license:silofl1.1)))
(define-public font-fira-mono
(package
(name "font-fira-mono")

View File

@ -2843,7 +2843,9 @@ http://lavachat.symlynx.com/unix/")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1vs9k6f5fgsiy1n72imlqm8khjwm8cryc08zwd4gr7yxlxv45bs0"))))
"1vs9k6f5fgsiy1n72imlqm8khjwm8cryc08zwd4gr7yxlxv45bs0"))
(patches
(search-patches "red-eclipse-remove-gamma-name-hack.patch"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
@ -126,6 +126,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdesktop)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages samba)
#:use-module (gnu packages scanner)
#:use-module (gnu packages selinux)
@ -149,6 +150,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xorg)
#:use-module (gnu artwork)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
@ -159,6 +161,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@ -972,6 +975,88 @@ for translations, though this is only a dependency for the maintainers. This
database is translated at Transifex.")
(license license:gpl2+)))
(define-public system-config-printer
(package
(name "system-config-printer")
(version "1.5.11")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/zdohnal/system-config-printer/releases/"
"download/" version
"/system-config-printer-" version ".tar.xz"))
(sha256
(base32
"1lq0q51bhanirpjjvvh4xiafi8hgpk8r32h0dj6dn3f32z8pib9q"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
,@%glib-or-gtk-build-system-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-Makefile.am
(lambda _
;; The Makefile generates some scripts, so set a valid shebang
(substitute* "Makefile.am"
(("/bin/bash") (which "bash")))
(delete-file "configure")
#t))
(add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
;; Modify the man XML otherwise xmlto tries to access the network
(substitute* "man/system-config-printer.xml"
(("http://www.oasis-open.org/docbook/xml/4.1.2/")
(string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/")))
#t))
(add-after 'install 'wrap-for-python
(@@ (guix build python-build-system) wrap))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(for-each
(lambda (program)
(wrap-program program
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
(map (lambda (name)
(string-append out "/bin/" name))
'("system-config-printer"
"system-config-printer-applet"
"install-printerdriver"
"scp-dbus-service"))))
#t)))))
(inputs
`(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("gobject-introspection" ,gobject-introspection)
("python" ,python)
("cups" ,cups)
("python-dbus" ,python-dbus)
("python-pygobject" ,python-pygobject)
("python-pycups" ,python-pycups)
("python-requests" ,python-requests)
("python-pycairo" ,python-pycairo)
("libnotify" ,libnotify)
("packagekit" ,packagekit)))
(native-inputs
`(("pkg-config" ,pkg-config)
("desktop-file-utils" ,desktop-file-utils)
("glib" ,glib)
("autoconf" ,autoconf)
("automake" ,automake)
("intltool" ,intltool)
("xmlto" ,xmlto)
("docbook-xml" ,docbook-xml-4.1.2)
("docbook-xsl" ,docbook-xsl)
("libxml2" ,libxml2)))
(home-page "https://github.com/zdohnal/system-config-printer")
(synopsis "CUPS administration tool")
(description
"system-config-printer is a CUPS administration tool. It's written in
Python using GTK+, and uses the @acronym{IPP, Internet Printing Protocol} when
configuring CUPS.")
(license license:gpl2+)))
(define-public hicolor-icon-theme
(package
(name "hicolor-icon-theme")
@ -4572,16 +4657,6 @@ such as gzip tarballs.")
(out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/gnome-session")
`("PATH" ":" prefix (,(string-append glib "/bin"))))
#t)))
(add-after 'install 'disable-hardware-acceleration-check
(lambda* (#:key outputs #:allow-other-keys)
;; Do not abort if hardware acceleration is missing. This allows
;; GNOME to run in QEMU and on low-end devices.
(let ((out (assoc-ref outputs "out")))
(substitute* (string-append out
"/share/xsessions/gnome.desktop")
(("gnome-session")
"gnome-session --disable-acceleration-check"))
#t))))
#:configure-flags
@ -5580,11 +5655,37 @@ properties, screen resolution, and other GNOME parameters.")
name "-" version ".tar.xz"))
(sha256
(base32
"1f20x36ymkp1j667hb7s7byly2gqc4m0anldy3qwp38vm8437caq"))))
"1f20x36ymkp1j667hb7s7byly2gqc4m0anldy3qwp38vm8437caq"))
(patches (search-patches "gnome-shell-theme.patch"))
(modules '((guix build utils)))
(snippet
#~(begin
;; CSS files have to be regenerated from the .scss source
;; that 'gnome-shell-theme.patch' modifies.
(for-each delete-file
(find-files "data/theme"
"^gnome-shell.*\\.css$"))
;; Copy images for use on the GDM log-in screen.
(copy-file #$(file-append %artwork-repository
"/slim/0.x/background.png")
"data/theme/guix-background.png")
(invoke #+(file-append inkscape "/bin/inkscape")
"--export-png=data/theme/guix-logo.png"
#$(file-append %artwork-repository
"/logo/Guix-horizontal-white.svg"))
#t))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'build 'rebuild-css
(lambda _
;; Rebuild the CSS files from the .scss files that our patch
;; modifies.
(invoke "make" "-C" "data"
"theme/gnome-shell.css"
"theme/gnome-shell-high-contrast.css")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -5614,7 +5715,8 @@ properties, screen resolution, and other GNOME parameters.")
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("python" ,python)
("xsltproc" ,libxslt)))
("xsltproc" ,libxslt)
("ruby-sass" ,ruby-sass)))
(inputs
`(("accountsservice" ,accountsservice)
("caribou" ,caribou)
@ -6048,6 +6150,7 @@ associations for GNOME.")
("pinentry-gnome3" ,pinentry-gnome3)
("pulseaudio" ,pulseaudio)
("shared-mime-info" ,shared-mime-info)
("system-config-printer" ,system-config-printer)
("totem" ,totem)
("xdg-user-dirs" ,xdg-user-dirs)
("yelp" ,yelp)

View File

@ -138,7 +138,7 @@ generation.")
(define-public libassuan
(package
(name "libassuan")
(version "2.5.2")
(version "2.5.3")
(source
(origin
(method url-fetch)
@ -146,7 +146,7 @@ generation.")
version ".tar.bz2"))
(sha256
(base32
"1rw8nw6fx6ppxga6m4cqcp898lnlzf7vn3s5c2lzfxg3fzr1nswq"))))
"00p7cpvzf0q3qwcgg51r9d0vbab4qga2xi8wpk2fgd36710b1g4i"))))
(build-system gnu-build-system)
(propagated-inputs
`(("libgpg-error" ,libgpg-error)
@ -224,14 +224,14 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
(version "2.2.12")
(version "2.2.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"1jw282iy27j1qygym52aa44zxy7ly4bdadhd628hwr4q9j5hy0yv"))))
"1n0igfn9nwdajzkcgdx7apwm9m5rpw0fg6vwskmf1rpranlqgivn"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -147,7 +147,7 @@ between two other data points.")
(define-public gama
(package
(name "gama")
(version "2.02")
(version "2.03")
(source
(origin
(method url-fetch)
@ -155,7 +155,7 @@ between two other data points.")
version ".tar.gz"))
(sha256
(base32
"1r5rrmiqdg6dpxqla0f2mjwcjzlckdjpg4ar0cirmz78w78hf6vn"))))
"0d33yyasnx54c6i40rkr9by4qv92rqb8wkmp5r46nz7bbp9kpymv"))))
(build-system gnu-build-system)
(arguments '(#:parallel-tests? #f)) ; race condition
(native-inputs

View File

@ -1963,8 +1963,8 @@ format is also supported.")
(deprecated-package "mcron2" mcron))
(define-public guile-picture-language
(let ((commit "1531116036d1b5e0d2482ff2c8d77ad21f1d2bef")
(revision "1"))
(let ((commit "1ea8b78a8bceb4f7e5eaeb3e76987072267f99bb")
(revision "2"))
(package
(name "guile-picture-language")
(version (git-version "0" revision commit))
@ -1975,7 +1975,7 @@ format is also supported.")
(commit commit)))
(sha256
(base32
"04salmqf5x84vb3qkkxx47b64jyl290zsf3ik81l9hg6fwvvlmq3"))))
"1rvq6q2zq21x7dx0qq1hn568wglsl4bkd8gacbarcx1fs0rrxcqw"))))
(build-system guile-build-system)
(inputs
`(("guile" ,guile-2.2)))

View File

@ -11493,4 +11493,112 @@ imported with the correct Haskell types.")
Music Player Daemon.")
(license license:expat)))
(define-public ghc-alsa-core
(package
(name "ghc-alsa-core")
(version "0.5.0.1")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://hackage/package/alsa-core/alsa-core-"
version
".tar.gz"))
(sha256
(base32
"1avh4a419h9d2zsslg6j8hm87ppgsgqafz8ll037rk2yy1g4jl7b"))))
(build-system haskell-build-system)
(inputs
`(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
("alsa-lib" ,alsa-lib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.haskell.org/haskellwiki/ALSA")
(synopsis "Binding to the ALSA Library API (Exceptions)")
(description "This package provides access to ALSA infrastructure, that is
needed by both alsa-seq and alsa-pcm.")
(license license:bsd-3)))
(define-public ghc-base-unicode-symbols
(package
(name "ghc-base-unicode-symbols")
(version "0.2.3")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://hackage/package/base-unicode-symbols/base-unicode-symbols-"
version
".tar.gz"))
(sha256
(base32
"1ia6li7qjg1zkak4gf6mnbshw45mq9bfjr0jch58ds0lscmvwyzf"))))
(build-system haskell-build-system)
(home-page "http://www.haskell.org/haskellwiki/Unicode-symbols")
(synopsis "Unicode alternatives for common functions and operators")
(description "This package defines new symbols for a number of functions,
operators and types in the base package. All symbols are documented with
their actual definition and information regarding their Unicode code point.
They should be completely interchangeable with their definitions. For
further Unicode goodness you can enable the @code{UnicodeSyntax}
@url{https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exs.html#unicode-syntax,
language extension}. This extension enables Unicode characters to be used to
stand for certain ASCII character sequences, i.e. instead of @code{->},
instead of @code{forall} and many others.")
(license license:bsd-3)))
(define-public ghc-stylish-haskell
(package
(name "ghc-stylish-haskell")
(version "0.9.2.1")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://hackage/package/stylish-haskell/stylish-haskell-"
version
".tar.gz"))
(sha256
(base32
"1ls11fdx6snvfx8yykpidz142zzxwi5bazl49hgfqlwx50rqcp7w"))))
(build-system haskell-build-system)
(inputs
`(("ghc-aeson" ,ghc-aeson)
("ghc-file-embed" ,ghc-file-embed)
("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
("ghc-semigroups" ,ghc-semigroups)
("ghc-syb" ,ghc-syb)
("ghc-yaml" ,ghc-yaml)
("ghc-strict" ,ghc-strict)
("ghc-optparse-applicative"
,ghc-optparse-applicative)))
(native-inputs
`(("ghc-hunit" ,ghc-hunit)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
(home-page "https://github.com/jaspervdj/stylish-haskell")
(synopsis "Haskell code prettifier")
(description "Stylish-haskell is a Haskell code prettifier. The goal is
not to format all of the code in a file, to avoid \"getting in the way\".
However, this tool can e.g. clean up import statements and help doing various
tasks that get tedious very quickly. It can
@itemize
@item
Align and sort @code{import} statements
@item
Group and wrap @code{{-# LANGUAGE #-}} pragmas, remove (some) redundant
pragmas
@item
Remove trailing whitespaces
@item
Align branches in @code{case} and fields in records
@item
Convert line endings (customisable)
@item
Replace tabs by four spaces (turned off by default)
@item
Replace some ASCII sequences by their Unicode equivalent (turned off by
default)
@end itemize")
(license license:bsd-3)))
;;; haskell.scm ends here

View File

@ -7,7 +7,7 @@
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 nee <nee-git@hidamari.blue>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
@ -62,7 +62,7 @@
(define-public feh
(package
(name "feh")
(version "3.1.1")
(version "3.1.2")
(home-page "https://feh.finalrewind.org/")
(source (origin
(method url-fetch)
@ -70,7 +70,7 @@
name "-" version ".tar.bz2"))
(sha256
(base32
"1sy8z6rv5sy1bhk3846hgfdy96wdi874yr2fnxfprks46qp29l31"))))
"0qjhlrgr606gc9h96w9piyd13mx63jqfbxxnan41nrh76m8d0dka"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))

View File

@ -321,7 +321,7 @@ Currently all documentation resides in @file{pnglite.h}.")
(version "9c")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ijg.org/files/jpegsrc.v"
(uri (string-append "https://www.ijg.org/files/jpegsrc.v"
version ".tar.gz"))
(sha256 (base32
"08kixcf3a7s9x91174abjnk1xbvj4v8crdc73zi4k9h3jfbm00k5"))))
@ -342,14 +342,14 @@ lossless JPEG manipulations such as rotation, scaling or cropping:
@item wrjpgcom
@end enumerate")
(license license:ijg)
(home-page "http://www.ijg.org/")))
(home-page "https://www.ijg.org/")))
(define-public libjpeg-8
(package (inherit libjpeg)
(version "8d")
(source (origin
(method url-fetch)
(uri (string-append "http://www.ijg.org/files/jpegsrc.v"
(uri (string-append "https://www.ijg.org/files/jpegsrc.v"
version ".tar.gz"))
(sha256 (base32
"1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0"))))))

File diff suppressed because it is too large Load Diff

228
gnu/packages/kde-plasma.scm Normal file
View File

@ -0,0 +1,228 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages kde-plasma)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
#:use-module (gnu packages xorg))
(define-public kdecoration
(package
(name "kdecoration")
(version "5.14.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/" version
"/kdecoration-" version ".tar.xz"))
(sha256
(base32
"115pli0qpa8lx0jasg1886fcg7gb2kk8v6k8r8l8c820l97sq7in"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)))
(inputs
`(("ki18n" ,ki18n)
("qtbase" ,qtbase)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _ (setenv "QT_QPA_PLATFORM" "offscreen") #t)))))
(home-page "https://cgit.kde.org/kdecoration.git")
(synopsis "Plugin based library to create window decorations")
(description "KDecoration is a library to create window decorations.
These window decorations can be used by for example an X11 based window
manager which re-parents a Client window to a window decoration frame.")
(license license:lgpl3+)))
(define-public kscreenlocker
(package
(name "kscreenlocker")
(version "5.14.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/" version
"/kscreenlocker-" version ".tar.xz"))
(sha256
(base32
"16amr7pz0k6w5vkk1dwn2qi3s1mln0jypwmjazqq2lbwimn8k56m"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda* (#:key inputs outputs #:allow-other-keys)
(system (string-append (assoc-ref inputs "xorg-server")
"/bin/Xvfb :1 -screen 0 640x480x24 &"))
(setenv "DISPLAY" ":1")
#t))
(delete 'check)
;; Tests use the installed library and require a DBus session.
(add-after 'install 'check
(lambda _
(setenv "CTEST_OUTPUT_ON_FAILURE" "1")
(invoke "dbus-launch" "ctest" "."))))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)
;; For tests.
("dbus" ,dbus)
("xorg-server" ,xorg-server)))
(inputs
`(("kcmutils" ,kcmutils)
("kcrash" ,kcrash)
("kdeclarative" ,kdeclarative)
("kglobalaccel" ,kglobalaccel)
("ki18n" ,ki18n)
("kidletime" ,kidletime)
("knotifications" ,knotifications)
("ktextwidgets" ,ktextwidgets)
("kwayland" ,kwayland)
("kwindowsystem" ,kwindowsystem)
("kxmlgui" ,kxmlgui)
("libseccomp" ,libseccomp) ;for sandboxing the look'n'feel package
("libxcursor" ,libxcursor) ;missing in CMakeList.txt
("libxi" ,libxi) ;XInput, required for grabbing XInput2 devices
("linux-pam" ,linux-pam)
("logind" ,elogind) ;optional loginctl support
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("qtx11extras" ,qtx11extras)
("solid" ,solid)
("wayland" ,wayland)
("xcb-util-keysyms" ,xcb-util-keysyms)))
(home-page "https://cgit.kde.org/kscreenlocker.git")
(synopsis "Screen locking library")
(description
"@code{kscreenlocker} is a library for creating secure lock screens.")
(license license:gpl2+)))
(define-public libkscreen
(package
(name "libkscreen")
(version "5.14.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/" version "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1vyaml5ap9siw9idiny92li2bykd0nwjsmwmg0c7ad912j4g1s7y"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
;; For testing.
("dbus" ,dbus)))
(inputs
`(("kwayland" ,kwayland)
("libxrandr" ,libxrandr)
("qtbase" ,qtbase)
("qtx11extras" ,qtx11extras)))
(arguments
'(#:tests? #f ; FIXME: 55% tests passed, 5 tests failed out of 11
#:phases
(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; For the missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
;; Run the tests offscreen.
(setenv "QT_QPA_PLATFORM" "offscreen")
#t)))))
(home-page "https://community.kde.org/Solid/Projects/ScreenManagement")
(synopsis "KDE's screen management software")
(description "KScreen is the new screen management software for KDE Plasma
Workspaces which tries to be as magic and automatic as possible for users with
basic needs and easy to configure for those who want special setups.")
(license license:gpl2+)))
(define-public libksysguard
(package
(name "libksysguard")
(version "5.14.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde//stable/plasma/" version
"/libksysguard-" version ".tar.xz"))
(sha256
(base32
"11nz0g7dqvpvgsv0a7sai445vgfsfi25plj7jb1i46n7zf8i8mya"))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)))
(inputs
`(("kconfigwidgets" ,kconfigwidgets)
("kiconthemes" ,kiconthemes)
("kwindowsystem" ,kwindowsystem)
("ki18n" ,ki18n)
("kauth" ,kauth)
("kcompletion" ,kcompletion)
("kconfig" ,kconfig)
("kcoreaddons" ,kcoreaddons)
("kglobalaccel" ,kglobalaccel)
("kio" ,kio)
("kwidgetsaddons" ,kwidgetsaddons)
("kservice" ,kservice)
("qtbase" ,qtbase)
("qtscript" ,qtscript)
("qtwebkit" ,qtwebkit)
("qtx11extras" ,qtx11extras)
("plasma" ,plasma-framework)
("zlib" ,zlib)))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
`(,(string-append "-DKDE_INSTALL_DATADIR="
(assoc-ref %outputs "out") "/share"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-cmakelists
(lambda _
;; TODO: Verify: This should no longer be necessary, since
;; KF5AuthConfig.cmake.in contains this already.
(substitute* "processcore/CMakeLists.txt"
(("KAUTH_HELPER_INSTALL_DIR") "KDE_INSTALL_LIBEXECDIR"))))
(add-before 'check 'check-setup
(lambda _
;; make Qt render "offscreen", required for tests
(setenv "QT_QPA_PLATFORM" "offscreen")))
(replace 'check
(lambda _
;; TODO: Fix this failing test-case
(invoke "ctest" "-E" "processtest"))))))
(home-page "https://www.kde.org/info/plasma-5.13.4.php")
(synopsis "Network enabled task and system monitoring")
(description "KSysGuard can obtain information on system load and
manage running processes. It obtains this information by interacting
with a ksysguardd daemon, which may also run on a remote system.")
(license license:gpl3+)))

View File

@ -36,11 +36,11 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages graphics)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-plasma)
#:use-module (gnu packages llvm)
#:use-module (gnu packages maths)
#:use-module (gnu packages pdf)
@ -480,105 +480,6 @@ used in KDE development tools Kompare and KDevelop.")
;; source archive
(license (list license:gpl2+ license:lgpl2.0+ license:bsd-3))))
(define-public libkscreen
(package
(name "libkscreen")
(version "5.13.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/plasma/" version "/"
name "-" version ".tar.xz"))
(sha256
(base32 "04719va15i66qn1xqx318v6risxhp8bfcnhxh9mqm5h9qx5c6c4k"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
;; For testing.
("dbus" ,dbus)))
(inputs
`(("kwayland" ,kwayland)
("libxrandr" ,libxrandr)
("qtbase" ,qtbase)
("qtx11extras" ,qtx11extras)))
(arguments
'(#:tests? #f ; FIXME: 55% tests passed, 5 tests failed out of 11
#:phases
(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; For the missing '/etc/machine-id'.
(setenv "DBUS_FATAL_WARNINGS" "0")
;; Run the tests offscreen.
(setenv "QT_QPA_PLATFORM" "offscreen")
#t)))))
(home-page "https://community.kde.org/Solid/Projects/ScreenManagement")
(synopsis "KDE's screen management software")
(description "KScreen is the new screen management software for KDE Plasma
Workspaces which tries to be as magic and automatic as possible for users with
basic needs and easy to configure for those who want special setups.")
(license license:gpl2+)))
(define-public libksysguard
(package
(name "libksysguard")
(version "5.13.4")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde//stable/plasma/" version
"/libksysguard-" version ".tar.xz"))
(sha256
(base32
"0k8q5bxk9zyv7c3nny1c399v8acqs618nw39q20pj2qdijl9ibvh"))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)))
(inputs
`(("kconfigwidgets" ,kconfigwidgets)
("kiconthemes" ,kiconthemes)
("kwindowsystem" ,kwindowsystem)
("ki18n" ,ki18n)
("kauth" ,kauth)
("kcompletion" ,kcompletion)
("kconfig" ,kconfig)
("kcoreaddons" ,kcoreaddons)
("kwidgetsaddons" ,kwidgetsaddons)
("kservice" ,kservice)
("qtbase" ,qtbase)
("qtscript" ,qtscript)
("qtwebkit" ,qtwebkit)
("qtx11extras" ,qtx11extras)
("plasma" ,plasma-framework)
("zlib" ,zlib)))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
`(,(string-append "-DKDE_INSTALL_DATADIR="
(assoc-ref %outputs "out") "/share"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-cmakelists
(lambda _
;; TODO: Verify: This should no longer be necessary, since
;; KF5AuthConfig.cmake.in contains this already.
(substitute* "processcore/CMakeLists.txt"
(("KAUTH_HELPER_INSTALL_DIR") "KDE_INSTALL_LIBEXECDIR"))))
(add-before 'check 'check-setup
(lambda _
;; make Qt render "offscreen", required for tests
(setenv "QT_QPA_PLATFORM" "offscreen")))
(replace 'check
(lambda _
;; TODO: Fix this failing test-case
(invoke "ctest" "-E" "processtest"))))))
(home-page "https://www.kde.org/info/plasma-5.13.4.php")
(synopsis "Network enabled task and system monitoring")
(description "KSysGuard can obtain information on system load and
manage running processes. It obtains this information by interacting
with a ksysguardd daemon, which may also run on a remote system.")
(license license:gpl3+)))
(define-public qca
(package
(name "qca")

View File

@ -7,7 +7,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
@ -413,8 +413,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
(define %linux-libre-version "4.20.7")
(define %linux-libre-hash "05jbpg4ivcbr8xi5ki03f4n57hnhc52nfjk1ik8czag7f4ph9v0b")
(define %linux-libre-version "4.20.8")
(define %linux-libre-hash "0qhwavylmkqqd84dym87ajzwnxc6rjpdijw7kbriqjmgjfsmf8sw")
(define %linux-libre-4.20-patches
(list %boot-logo-patch
@ -427,8 +427,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.20-patches
#:configuration-file kernel-config))
(define %linux-libre-4.19-version "4.19.20")
(define %linux-libre-4.19-hash "1rs4jvp88n23n9a6f037sn498fzl1fn96zsjjmjngb8nmjr1y9vp")
(define %linux-libre-4.19-version "4.19.21")
(define %linux-libre-4.19-hash "064vwfkcmc8ad37m1ziqc14vhvx3mba12rc9220xng3a48gwpi2m")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
@ -441,8 +441,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.19-patches
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.98")
(define %linux-libre-4.14-hash "165wlqqpb16zhrwihsb75y153xyz8q5dbi14xim7jsnvwlbh5i79")
(define %linux-libre-4.14-version "4.14.99")
(define %linux-libre-4.14-hash "1d9h4l22j3jy1bkq8i4g6axwpq04jbsys4bg6bx8sbl590c9lrwx")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -451,8 +451,8 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.155"
"0fyj8dqhpqi3jh6i58avyvmg4mp9bplnpiffpp3fdka4v85lx152"
(make-linux-libre "4.9.156"
"1ipmn5axlhfsfzqvwwyv7scrvfja39w7v68cnvbqiaq8fkjgffxg"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
@ -3031,7 +3031,7 @@ arrays when needed.")
(define-public multipath-tools
(package
(name "multipath-tools")
(version "0.7.7")
(version "0.7.9")
(source (origin
(method url-fetch)
(uri (string-append "https://git.opensvc.com/?p=multipath-tools/"
@ -3039,7 +3039,7 @@ arrays when needed.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1lirhjjv37jnf42r1ylrhi8kbzx9j9xnyfzvxpp6bzcp0fawigig"))
"1jhi6bhl4ih75rfmyyjxd35ghgch5ls1gw40cjxwy9d6bd41z6q1"))
(modules '((guix build utils)))
(snippet
'(begin
@ -3077,7 +3077,7 @@ arrays when needed.")
(("/usr/include/libudev.h")
(string-append udev "/include/libudev.h")))
#t)))
(delete 'configure))))
(delete 'configure)))) ; no configure script
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
@ -3102,7 +3102,7 @@ Linux Device Mapper multipathing driver:
@code{dm} multipath devices.
@item @command{kpartx} - Create device maps from partition tables.
@end enumerate")
(license (list license:gpl2+ ; Main distribution.
(license (list license:gpl2+ ; main distribution
license:lgpl2.0+)))) ; libmpathcmd/mpath_cmd.h
(define-public libaio

View File

@ -43,8 +43,8 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages kde-plasma)
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
#:use-module (gnu packages lxde)

View File

@ -8,7 +8,7 @@
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
@ -1066,7 +1066,7 @@ which can add many functionalities to the base client.")
(define-public msmtp
(package
(name "msmtp")
(version "1.8.2")
(version "1.8.3")
(source
(origin
(method url-fetch)
@ -1074,7 +1074,7 @@ which can add many functionalities to the base client.")
"/msmtp-" version ".tar.xz"))
(sha256
(base32
"14w7lmw1jxlganfk089b0ib23y5917mxbg3xqpid007dd4cmq66i"))))
"1d4jdgrx4czp66nnwdsy938lzr4llhwyy0715pwg0j6h6gyyxciw"))))
(build-system gnu-build-system)
(inputs
`(("libsecret" ,libsecret)
@ -1200,15 +1200,16 @@ facilities for checking incoming mail.")
(define-public dovecot
(package
(name "dovecot")
(version "2.3.4")
(version "2.3.4.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.dovecot.org/releases/"
(version-major+minor version) "/"
name "-" version ".tar.gz"))
(sha256 (base32
"01ggzf7b3jpl89mjiqr7xbpbs181g2gjf6wzg70qaqfzz3ppc6yr"))))
(sha256
(base32
"01xa8d08c0j51w5kmqb3vnzrvh17hkzx5a5p7fb5hgn3wln3x1xq"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -1729,27 +1730,23 @@ maintained.")
(define-public khard
(package
(name "khard")
(version "0.12.2")
(version "0.13.0")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"01y52qmab4cw9wmx87aahnxbyaxrxw8j2wx06mpcqsfvgk8d54wi"))))
"1lyjiskc6ckjjylzr04dnm66p3cnn7vlysw9c27qls3y3ywx14zw"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/khard")))
(copy-recursively "misc/khard" doc)
#t))))
;; Tests are currently only runnable without preexisting data on
;; the development branch:
;; https://github.com/scheibler/khard/issues/176
#:tests? #f))
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/khard")))
(copy-recursively "misc/khard" doc)
#t))))))
(propagated-inputs
`(("python-atomicwrites" ,python-atomicwrites)
("python-configobj" ,python-configobj)
@ -2596,14 +2593,14 @@ servers. The 4rev1 and 4 versions of IMAP are supported.")
(define-public urlscan
(package
(name "urlscan")
(version "0.9.1")
(version "0.9.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "urlscan" version))
(sha256
(base32
"0vpdyrx51sg9a8kswa7ibbcgcpvc7r03aq8x4n4c7v2xg0v3c7wb"))))
"1zldck7vnp7z04aacbx3cprf5kzha4gfhjmss4iv2lh5nccxjfzx"))))
(build-system python-build-system)
(propagated-inputs
`(("python-urwid" ,python-urwid)))

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016, 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@ -584,7 +584,8 @@ problems in numerical linear algebra.")
version ".tgz"))
(sha256
(base32
"0p1r61ss1fq0bs8ynnx7xq4wwsdvs32ljvwjnx6yxr8gd6pawx0c"))))
"0p1r61ss1fq0bs8ynnx7xq4wwsdvs32ljvwjnx6yxr8gd6pawx0c"))
(patches (search-patches "scalapack-blacs-mpi-deprecations.patch"))))
(build-system cmake-build-system)
(inputs
`(("mpi" ,openmpi)
@ -1635,7 +1636,7 @@ September 2004}")
(define-public petsc
(package
(name "petsc")
(version "3.10.2")
(version "3.10.3")
(source
(origin
(method url-fetch)
@ -1643,7 +1644,7 @@ September 2004}")
(uri (string-append "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/"
"petsc-lite-" version ".tar.gz"))
(sha256
(base32 "0bl64pydak3rblnjffi482r8bin4xim9sb37ksl2jkcxf0i0irsi"))))
(base32 "10p9ap1rp6k8k2g8zdc505kdlsc3976fjymyp393sccjapm50dph"))))
(outputs '("out" ;libraries and headers
"examples")) ;~30MiB of examples
(build-system gnu-build-system)
@ -3973,6 +3974,96 @@ as equations, scalars, vectors, and matrices.")
theories} (SMT) solver. It provides a C/C++ API, as well as Python bindings.")
(license license:expat)))
(define-public elpa
(package
(name "elpa")
(version "2018.11.001")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.mpcdf.mpg.de/html/Releases/"
version "/elpa-" version ".tar.gz"))
(sha256
(base32
"05hv3v5i6xmziaizw350ff72y1c3k662r85fm3xfdrkclj5zw9yc"))))
(build-system gnu-build-system)
(native-inputs
`(("fortran" ,gfortran)
("perl" ,perl))) ;for configure and deps
(inputs
`(("blas" ,openblas)))
(arguments
`(#:configure-flags
`("--enable-openmp"
"--with-mpi=no"
;; ELPA unfortunately does not support runtime dispatch, so we can
;; only enable the "generic" kernels. See the "Cross compilation"
;; section of INSTALL.md.
"--enable-generic"
"--disable-sse" "--disable-sse-assembly" ;Require SSE3
"--disable-avx" "--disable-avx2" "--disable-avx512"
,(string-append "CFLAGS=-O3 "
"-funsafe-loop-optimizations -funsafe-math-optimizations "
"-ftree-vect-loop-version -ftree-vectorize "
,(let ((system (or (%current-target-system)
(%current-system))))
(cond
((or (string-prefix? "x86_64" system)
(string-prefix? "i686" system))
"-msse2")
(else "")))))
#:parallel-tests? #f ;tests are multi-threaded, via BLAS
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-header-generation
(lambda _
(substitute* "configure"
(("^ *make.*top_srcdir=\"\\$srcdir\"" &)
(string-append & " CPP=\"$CPP\"")))
#t))
(add-before 'check 'setup-tests
(lambda _
;; Decrease test time and RAM use by computing fewer eigenvalues.
;; The flags are (MATRIX-SIZE, EIGENVALUES, BLOCK-SIZE), where
;; the default is (500, 250, 16) for C tests and (5000, 150, 16)
;; for Fortran. This also causes several tests to pass that
;; otherwise would otherwise fail with matrix size 5000; possibly
;; due to floating point tolerances that are too tight.
(setenv "TEST_FLAGS" "1500 50 16") ;from elpa.spec
(setenv "OMP_NUM_THREADS" (number->string (parallel-job-count)))
(substitute* "Makefile"
;; Test scripts are generated, patch the shebang
(("#!/bin/bash") (string-append "#!" (which "sh"))))
#t)))))
(home-page "http://elpa.mpcdf.mpg.de")
(synopsis "Eigenvalue solvers for symmetric matrices")
(description
"The ELPA library provides efficient and scalable direct eigensolvers for
symmetric matrices.")
(license license:lgpl3)))
(define-public elpa-openmpi
(package (inherit elpa)
(name "elpa-openmpi")
(inputs
`(("mpi" ,openmpi)
("scalapack" ,scalapack)
,@(package-inputs elpa)))
(arguments
(substitute-keyword-arguments (package-arguments elpa)
((#:configure-flags cf '())
`(cons "--with-mpi=yes" (delete "--with-mpi=no" ,cf)))
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(add-before 'check 'mpi-setup
(lambda _
;; Tests use 2 mpi tasks by default, use our remaining build
;; cores as OpenMP threads.
(setenv "OMP_NUM_THREADS" (number->string
(max (quotient (parallel-job-count) 2)
1)))
(,%openmpi-setup)))))))
(synopsis "Eigenvalue solvers for symmetric matrices (with MPI support)")))
(define-public elemental
(package
(name "elemental")

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Tobias Geerinckx-Rite <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -20,6 +21,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system ant)
#:use-module (gnu packages)
@ -79,12 +81,14 @@ provides the Maven plugin generating the component metadata.")))
(name "maven-resolver-api")
(version "1.3.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/apache/maven-resolver/"
"archive/maven-resolver-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/apache/maven-resolver.git")
(commit (string-append "maven-resolver-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0gfkf8g5zbjh6ciq3dnby9m5irhrbyc7d2jzic9l8xx6hl61q6mm"))))
"1x1gll8nkfl6zgnab78fxxvvhg42b2grxgdh1wp2h4qxsjkxg93d"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "maven-resolver-api.jar"

View File

@ -1238,7 +1238,7 @@ with several different talk daemons at the same time.")
(define-public gloox
(package
(name "gloox")
(version "1.0.21")
(version "1.0.22")
(source
(origin
(method url-fetch)
@ -1246,7 +1246,7 @@ with several different talk daemons at the same time.")
version ".tar.bz2"))
(sha256
(base32
"1k57qgif1yii515m6jaqaibkdysfab6394bpawd2l67321f1a4rw"))))
"0r69gq8if9yy1amjzl7qrq9lzhhna7qgz905ln4wvkwchha1ppja"))))
(build-system gnu-build-system)
(inputs
`(("libidn" ,libidn)

View File

@ -4,7 +4,7 @@
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2018, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@ -91,7 +91,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd
(package
(name "mpd")
(version "0.20.23")
(version "0.21.4")
(source (origin
(method url-fetch)
(uri
@ -100,18 +100,19 @@ interfacing MPD in the C, C++ & Objective C languages.")
"/mpd-" version ".tar.xz"))
(sha256
(base32
"1smg6hab4kwrzsw1k7vlpya3ampdk8psnmkrzxlgb43j4fgmygjh"))))
(build-system gnu-build-system)
"1ix52vfa8k8my4xyr8b0phg8605b2xchyzyva908m08vpzm14w94"))))
(build-system meson-build-system)
(arguments
`(#:phases
`(#:configure-flags '("-Ddocumentation=true") ; The default is 'false'...
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-service-files
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(systemd (string-append out "/etc/systemd/system"))
(systemd-user (string-append out "/etc/systemd/user")))
(install-file "systemd/system/mpd.service" systemd)
(install-file "systemd/user/mpd.service" systemd-user)
(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 `(("ao" ,ao)
("alsa-lib" ,alsa-lib)
@ -134,7 +135,11 @@ interfacing MPD in the C, C++ & Objective C languages.")
("pulseaudio" ,pulseaudio)
("sqlite" ,sqlite)
("zlib" ,zlib)))
(native-inputs `(("pkg-config" ,pkg-config)))
;; MPD > 0.21 requires > GCC 6
(native-inputs `(("gcc" ,gcc-8)
("gcc-lib" ,gcc-8 "lib")
("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx)))
;; Missing optional inputs:
;; libyajl
;; libcdio_paranoia

View File

@ -3374,7 +3374,7 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.")
("python-rdflib" ,python-rdflib)
("python" ,python)
("jack" ,jack-1)
("lv2" ,lv2-devel)
("lv2" ,lv2)
("lilv" ,lilv)
("raul" ,raul-devel)
("ganv" ,ganv-devel)

View File

@ -135,7 +135,9 @@
;; 'gsc', so look for that instead.
(substitute* "converter/other/pstopnm.c"
(("\"%s/gs\"")
"\"%s/gsc\"")))
"\"%s/gsc\"")
(("/usr/bin/gs")
(string-append (assoc-ref inputs "ghostscript") "/bin/gsc"))))
#t))
(add-before 'check 'setup-check
(lambda _

View File

@ -16,7 +16,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017, 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Adam Van Ymeren <adam@vany.ca>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
@ -98,6 +98,7 @@
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages web)
#:use-module (gnu packages wm)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
@ -1401,7 +1402,7 @@ procedure calls (RPCs).")
(define-public openvswitch
(package
(name "openvswitch")
(version "2.8.1")
(version "2.10.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -1409,7 +1410,7 @@ procedure calls (RPCs).")
version ".tar.gz"))
(sha256
(base32
"14rqqhfyv49irz8ag0qbv9jn8z0bn3qzxir3r074y16p4sg4674d"))))
"103wi6k8xal0z1pyy680gms56skagh6jawa2ja588ljr55jcg4sg"))))
(build-system gnu-build-system)
(arguments
'(;; FIXME: many tests fail with:
@ -2367,3 +2368,31 @@ communication over HTTP.")
be used to manage peer-to-peer network connections as needed for real time
communication.")
(license license:gpl3+)))
(define-public frrouting
(package
(name "frrouting")
(version "6.0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/FRRouting/frr/releases/"
"download/frr-" version "/frr-" version
".tar.xz"))
(sha256
(base32
"0xfrvi62w8qlh46f504ka0skb7pm0g0p8vmdng4w90gsbirlzpdd"))))
(build-system gnu-build-system)
(inputs
`(("c-ares" ,c-ares)
("json-c" ,json-c)
("readline" ,readline)))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("python-pytest" ,python-pytest)))
(home-page "https://frrouting.org/")
(synopsis "IP routing protocol suite")
(description "FRRouting (FRR) is an IP routing protocol suite which includes
protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP. ")
(license license:gpl2+)))

View File

@ -4683,6 +4683,110 @@ in-line tests in ocaml code. It is part of Jane Street's PPX rewriters
collection.")
(license license:expat)))
(define-public ocaml-bindlib
(package
(name "ocaml-bindlib")
(version "5.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rlepigre/ocaml-bindlib.git")
(commit (string-append "ocaml-bindlib_" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1f8kr81w8vsi4gv61xn1qbc6zrzkjp8l9ix0942vjh4gjxc74v75"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f ;no tests
#:use-make? #t
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(invoke "make")))
(replace 'install
(lambda _
(invoke "make" "install"))))))
(native-inputs
`(("ocamlbuild" ,ocamlbuild)
("ocaml-findlib" ,ocaml-findlib)))
(home-page "https://rlepigre.github.io/ocaml-bindlib/")
(synopsis "OCaml Bindlib library for bound variables")
(description "Bindlib is a library allowing the manipulation of data
structures with bound variables. It is particularly useful when writing ASTs
for programming languages, but also for manipulating terms of the λ-calculus
or quantified formulas.")
(license license:gpl3+)))
(define-public ocaml-earley
(package
(name "ocaml-earley")
(version "2.0.0")
(home-page "https://github.com/rlepigre/ocaml-earley")
(source
(origin
(method git-fetch)
(uri (git-reference
(url (string-append home-page ".git"))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"18k7bi7krc4bvqnhijz1q0pfr0nfahghfjifci8rh1q4i5zd0xz5"))))
(build-system dune-build-system)
(arguments
`(#:test-target "."))
(synopsis "Parsing library based on Earley Algorithm")
(description "Earley is a parser combinator library base on Earley's
algorithm. It is intended to be used in conjunction with an OCaml syntax
extension which allows the definition of parsers inside the language. There
is also support for writing OCaml syntax extensions in a camlp4 style.")
(license license:cecill-b)))
(define-public ocaml-timed
(package
(name "ocaml-timed")
(version "1.0")
(home-page "https://github.com/rlepigre/ocaml-timed")
(source (origin
(method git-fetch)
(uri (git-reference
(url (string-append home-page ".git"))
(commit (string-append name "_" version))))
(sha256
(base32
"0hfxz710faxy5yk97bkfnw87r732jcxxhmjppwrbfdb6pd0wks96"))
(file-name (git-file-name name version))))
(build-system ocaml-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(invoke "make")))
(replace 'install
(lambda _
(invoke "make" "install")))
(replace 'check
(lambda _
(invoke "make" "tests"))))))
(synopsis "Timed references for imperative state")
(description "Timed references for imperative state. This module provides
an alternative type for references (or mutable cells) supporting undo/redo
operations. In particular, an abstract notion of time is used to capture the
state of the references at any given point, so that it can be restored. Note
that usual reference operations only have a constant time / memory overhead
(compared to those of the standard library).
Moreover, we provide an alternative implementation based on the references
of the standard library (Pervasives module). However, it is less efficient
than the first one.")
(license license:expat)))
(define-public ocaml-biniou
(package
(name "ocaml-biniou")

View File

@ -107,8 +107,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.16.0")
(commit "4bddd12ad540d45a33a5f9f129b896843dca603f")
(revision 9))
(commit "2637cfd7a4894ef2a2a7da3bb46d8815c43d7e75")
(revision 10))
(package
(name "guix")
@ -124,7 +124,7 @@
(commit commit)))
(sha256
(base32
"1abn4ghb25kn0cmr9dbb3q3fxdcc0g2fnnmbrykxv111s6ahdmlw"))
"1m734gm45x9czqspsagdfxfgw5wiiinyq1s6zc9gfv7d3b2w472k"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -541,13 +541,13 @@ transactions from C or Python.")
(define-public diffoscope
(package
(name "diffoscope")
(version "106")
(version "111")
(source (origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
"0qrfp7nha2n2s9h5ibcf7rqji1amh4cqbcf80m6anim6p3ik26da"))))
"0sgqx3n0ny75bvcw10pfx61z67mdk5hx3mblw4gqnn2h9vc74qz1"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -952,7 +952,7 @@ the bootloader configuration.")
(define-public flatpak
(package
(name "flatpak")
(version "1.2.0")
(version "1.2.3")
(source
(origin
(method url-fetch)
@ -960,7 +960,7 @@ the bootloader configuration.")
version "/flatpak-" version ".tar.xz"))
(sha256
(base32
"1bdk6qmsvy4d80245x1si9qvrga2f2yalj9qfmf1lqj5ljxxxifv"))))
"0i0dn3w3545lvmjlzqj3j70lk8yrq64r9frp1rk6a161gwq20ixv"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;; Tests fail due to trying to create files where it can't.

View File

@ -7,7 +7,7 @@
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@ -48,7 +48,7 @@
(define-public parallel
(package
(name "parallel")
(version "20181222")
(version "20190122")
(source
(origin
(method url-fetch)
@ -56,7 +56,7 @@
version ".tar.bz2"))
(sha256
(base32
"0sd39nzgff3rpyzfwkffb5yxbdm5r6amrkslbgpjlrcrymy9z305"))))
"030rjhis8s47gkm05k4vc9p886cxvadpgzs8rqmgzvlc38h5ywxf"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -0,0 +1,149 @@
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=patch;h=5460617d1567657621107d895ee2dd83bc1f88f2
with ChangeLog removed
From 5460617d1567657621107d895ee2dd83bc1f88f2 Mon Sep 17 00:00:00 2001
From: Paul Pluzhnikov <ppluzhnikov@google.com>
Date: Tue, 8 May 2018 18:12:41 -0700
Subject: [PATCH] Fix BZ 22786: integer addition overflow may cause stack
buffer overflow when realpath() input length is close to SSIZE_MAX.
2018-05-09 Paul Pluzhnikov <ppluzhnikov@google.com>
[BZ #22786]
* stdlib/canonicalize.c (__realpath): Fix overflow in path length
computation.
* stdlib/Makefile (test-bz22786): New test.
* stdlib/test-bz22786.c: New test.
---
ChangeLog | 8 +++++
stdlib/Makefile | 2 +-
stdlib/canonicalize.c | 2 +-
stdlib/test-bz22786.c | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 100 insertions(+), 2 deletions(-)
create mode 100644 stdlib/test-bz22786.c
diff --git a/stdlib/Makefile b/stdlib/Makefile
index af1643c..1ddb1f9 100644
--- a/stdlib/Makefile
+++ b/stdlib/Makefile
@@ -84,7 +84,7 @@ tests := tst-strtol tst-strtod testmb testrand testsort testdiv \
tst-cxa_atexit tst-on_exit test-atexit-race \
test-at_quick_exit-race test-cxa_atexit-race \
test-on_exit-race test-dlclose-exit-race \
- tst-makecontext-align
+ tst-makecontext-align test-bz22786
tests-internal := tst-strtod1i tst-strtod3 tst-strtod4 tst-strtod5i \
tst-tls-atexit tst-tls-atexit-nodelete
diff --git a/stdlib/canonicalize.c b/stdlib/canonicalize.c
index 4135f3f..390fb43 100644
--- a/stdlib/canonicalize.c
+++ b/stdlib/canonicalize.c
@@ -181,7 +181,7 @@ __realpath (const char *name, char *resolved)
extra_buf = __alloca (path_max);
len = strlen (end);
- if ((long int) (n + len) >= path_max)
+ if (path_max - n <= len)
{
__set_errno (ENAMETOOLONG);
goto error;
diff --git a/stdlib/test-bz22786.c b/stdlib/test-bz22786.c
new file mode 100644
index 0000000..e7837f9
--- /dev/null
+++ b/stdlib/test-bz22786.c
@@ -0,0 +1,90 @@
+/* Bug 22786: test for buffer overflow in realpath.
+ Copyright (C) 2018 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+/* This file must be run from within a directory called "stdlib". */
+
+#include <errno.h>
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <support/test-driver.h>
+#include <libc-diag.h>
+
+static int
+do_test (void)
+{
+ const char dir[] = "bz22786";
+ const char lnk[] = "bz22786/symlink";
+
+ rmdir (dir);
+ if (mkdir (dir, 0755) != 0 && errno != EEXIST)
+ {
+ printf ("mkdir %s: %m\n", dir);
+ return EXIT_FAILURE;
+ }
+ if (symlink (".", lnk) != 0 && errno != EEXIST)
+ {
+ printf ("symlink (%s, %s): %m\n", dir, lnk);
+ return EXIT_FAILURE;
+ }
+
+ const size_t path_len = (size_t) INT_MAX + 1;
+
+ DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+ /* GCC 7 warns about too-large allocations; here we need such
+ allocation to succeed for the test to work. */
+ DIAG_IGNORE_NEEDS_COMMENT (7, "-Walloc-size-larger-than=");
+#endif
+ char *path = malloc (path_len);
+ DIAG_POP_NEEDS_COMMENT;
+
+ if (path == NULL)
+ {
+ printf ("malloc (%zu): %m\n", path_len);
+ return EXIT_UNSUPPORTED;
+ }
+
+ /* Construct very long path = "bz22786/symlink/aaaa....." */
+ char *p = mempcpy (path, lnk, sizeof (lnk) - 1);
+ *(p++) = '/';
+ memset (p, 'a', path_len - (path - p) - 2);
+ p[path_len - (path - p) - 1] = '\0';
+
+ /* This call crashes before the fix for bz22786 on 32-bit platforms. */
+ p = realpath (path, NULL);
+
+ if (p != NULL || errno != ENAMETOOLONG)
+ {
+ printf ("realpath: %s (%m)", p);
+ return EXIT_FAILURE;
+ }
+
+ /* Cleanup. */
+ unlink (lnk);
+ rmdir (dir);
+
+ return 0;
+}
+
+#define TEST_FUNCTION do_test
+#include <support/test-driver.c>
--
2.9.3

View File

@ -0,0 +1,55 @@
https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=patch;h=9aaaab7c6e4176e61c59b0a63c6ba906d875dc0e
with the ChangeLog removed
From 9aaaab7c6e4176e61c59b0a63c6ba906d875dc0e Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Tue, 22 May 2018 10:37:59 +0200
Subject: [PATCH] Don't write beyond destination in
__mempcpy_avx512_no_vzeroupper (bug 23196)
When compiled as mempcpy, the return value is the end of the destination
buffer, thus it cannot be used to refer to the start of it.
---
ChangeLog | 9 +++++++++
string/test-mempcpy.c | 1 +
sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S | 5 +++--
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/string/test-mempcpy.c b/string/test-mempcpy.c
index c08fba8..d98ecdd 100644
--- a/string/test-mempcpy.c
+++ b/string/test-mempcpy.c
@@ -18,6 +18,7 @@
<http://www.gnu.org/licenses/>. */
#define MEMCPY_RESULT(dst, len) (dst) + (len)
+#define MIN_PAGE_SIZE 131072
#define TEST_MAIN
#define TEST_NAME "mempcpy"
#include "test-string.h"
diff --git a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
index 23c0f7a..effc3ac 100644
--- a/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
+++ b/sysdeps/x86_64/multiarch/memmove-avx512-no-vzeroupper.S
@@ -336,6 +336,7 @@ L(preloop_large):
vmovups (%rsi), %zmm4
vmovups 0x40(%rsi), %zmm5
+ mov %rdi, %r11
/* Align destination for access with non-temporal stores in the loop. */
mov %rdi, %r8
and $-0x80, %rdi
@@ -366,8 +367,8 @@ L(gobble_256bytes_nt_loop):
cmp $256, %rdx
ja L(gobble_256bytes_nt_loop)
sfence
- vmovups %zmm4, (%rax)
- vmovups %zmm5, 0x40(%rax)
+ vmovups %zmm4, (%r11)
+ vmovups %zmm5, 0x40(%r11)
jmp L(check)
L(preloop_large_bkw):
--
2.9.3

View File

@ -0,0 +1,53 @@
Adjust GNOME-Shell so that it uses a Guix theme by default.
Patch by Ludovic Courtès <ludo@gnu.org>.
diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml
index 76aeaa5..8eaf32e 100644
--- a/data/gnome-shell-theme.gresource.xml
+++ b/data/gnome-shell-theme.gresource.xml
@@ -22,6 +22,8 @@
<file>no-events.svg</file>
<file>no-notifications.svg</file>
<file>noise-texture.png</file>
+ <file>guix-background.png</file>
+ <file>guix-logo.png</file>
<file>pad-osd.css</file>
<file>page-indicator-active.svg</file>
<file>page-indicator-inactive.svg</file>
diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss
index 54d9f39..b9badd0 100644
--- a/data/theme/gnome-shell-sass/_common.scss
+++ b/data/theme/gnome-shell-sass/_common.scss
@@ -1742,7 +1742,16 @@ $legacy_icon_size: 24px;
}
- .login-dialog-logo-bin { padding: 24px 0px; }
+ .login-dialog-logo-bin {
+ /* Make it a bit narrower than .login-dialog-user-list. */
+ width: 12em;
+ height: 8em;
+ background: url(resource:///org/gnome/shell/theme/guix-logo.png);
+ background-color: transparent;
+ background-repeat: no-repeat;
+ background-size: contain;
+ background-position: center; }
+
.login-dialog-banner { color: darken($osd_fg_color,10%); }
.login-dialog-button-box { spacing: 5px; }
.login-dialog-message-warning { color: $warning_color; }
@@ -1889,9 +1898,10 @@ $legacy_icon_size: 24px;
}
#lockDialogGroup {
- background: #2e3436 url(resource:///org/gnome/shell/theme/noise-texture.png);
- background-repeat: repeat;
-}
+ background: #2e3436 url(resource:///org/gnome/shell/theme/guix-background.png);
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center; }
#screenShieldNotifications {
StButton#vhandle, StButton#hhandle {

View File

@ -16,7 +16,7 @@ pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch
+ QLatin1Char pathSep(':');
+ QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/smbd");
+ it->append(QStringLiteral("/smbd"));
+ if (QFile::exists(*it)) {
+ return true;
+ }

View File

@ -1,39 +0,0 @@
From 01220484f428a447e9b00e071a0d85185f30e1de Mon Sep 17 00:00:00 2001
From: Alexis Hildebrandt <afh@surryhill.net>
Date: Wed, 22 Jun 2016 15:43:37 +0200
Subject: [PATCH] Revert "[python] Add fix for Boost.Python compile errors"
This reverts commit 11590e134eafa768ccc4a171cc7fb216e906095f.
---
src/py_commodity.cc | 3 ---
src/py_journal.cc | 3 ---
2 files changed, 6 deletions(-)
diff --git a/src/py_commodity.cc b/src/py_commodity.cc
index 5aafa6c..c457e64 100644
--- a/src/py_commodity.cc
+++ b/src/py_commodity.cc
@@ -243,9 +243,6 @@ namespace {
void export_commodity()
{
-#if BOOST_VERSION >= 106000
- python::register_ptr_to_python< shared_ptr<commodity_pool_t> >();
-#endif
class_< commodity_pool_t, shared_ptr<commodity_pool_t>,
boost::noncopyable > ("CommodityPool", no_init)
.add_property("null_commodity",
diff --git a/src/py_journal.cc b/src/py_journal.cc
index c1c38a9..879f954 100644
--- a/src/py_journal.cc
+++ b/src/py_journal.cc
@@ -232,9 +232,6 @@ void export_journal()
boost::noncopyable >("PostHandler")
;
-#if BOOST_VERSION >= 106000
- python::register_ptr_to_python< shared_ptr<collector_wrapper> >();
-#endif
class_< collector_wrapper, shared_ptr<collector_wrapper>,
boost::noncopyable >("PostCollectorWrapper", no_init)
.def("__len__", &collector_wrapper::length)

View File

@ -0,0 +1,52 @@
From b16b4963c1ad81bb9ef784bc4913a4c8ab5f1bb4 Mon Sep 17 00:00:00 2001
From: Lee Salzman <lsalzman@gmail.com>
Date: Tue, 12 Sep 2017 14:45:10 -0400
Subject: [PATCH] remove gamma name hack
---
src/engine/main.cpp | 6 +++---
src/shared/cube.h | 8 --------
2 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/src/engine/main.cpp b/src/engine/main.cpp
index 1032004d..77c9233a 100644
--- a/src/engine/main.cpp
+++ b/src/engine/main.cpp
@@ -278,10 +278,10 @@ static void setgamma(int val)
}
static int curgamma = 100;
-VARF(IDF_PERSIST, gamma, 30, 100, 300,
+VARFN(IDF_PERSIST, gamma, reqgamma, 30, 100, 300,
{
- if(initing || gamma == curgamma) return;
- curgamma = gamma;
+ if(initing || reqgamma == curgamma) return;
+ curgamma = reqgamma;
setgamma(curgamma);
});
diff --git a/src/shared/cube.h b/src/shared/cube.h
index 3864c492..7ff5e267 100644
--- a/src/shared/cube.h
+++ b/src/shared/cube.h
@@ -3,19 +3,11 @@
#define _FILE_OFFSET_BITS 64
-#ifdef __GNUC__
-#define gamma __gamma
-#endif
-
#ifdef WIN32
#define _USE_MATH_DEFINES
#endif
#include <math.h>
-#ifdef __GNUC__
-#undef gamma
-#endif
-
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

View File

@ -0,0 +1,343 @@
Fix CVE-2019-5736:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5736
https://seclists.org/oss-sec/2019/q1/119
Patch copied from upstream source repository:
https://github.com/opencontainers/runc/commit/0a8e4117e7f715d5fbeef398405813ce8e88558b
From 0a8e4117e7f715d5fbeef398405813ce8e88558b Mon Sep 17 00:00:00 2001
From: Aleksa Sarai <asarai@suse.de>
Date: Wed, 9 Jan 2019 13:40:01 +1100
Subject: [PATCH] nsenter: clone /proc/self/exe to avoid exposing host binary
to container
There are quite a few circumstances where /proc/self/exe pointing to a
pretty important container binary is a _bad_ thing, so to avoid this we
have to make a copy (preferably doing self-clean-up and not being
writeable).
We require memfd_create(2) -- though there is an O_TMPFILE fallback --
but we can always extend this to use a scratch MNT_DETACH overlayfs or
tmpfs. The main downside to this approach is no page-cache sharing for
the runc binary (which overlayfs would give us) but this is far less
complicated.
This is only done during nsenter so that it happens transparently to the
Go code, and any libcontainer users benefit from it. This also makes
ExtraFiles and --preserve-fds handling trivial (because we don't need to
worry about it).
Fixes: CVE-2019-5736
Co-developed-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Aleksa Sarai <asarai@suse.de>
---
libcontainer/nsenter/cloned_binary.c | 268 +++++++++++++++++++++++++++
libcontainer/nsenter/nsexec.c | 11 ++
2 files changed, 279 insertions(+)
create mode 100644 libcontainer/nsenter/cloned_binary.c
diff --git a/libcontainer/nsenter/cloned_binary.c b/libcontainer/nsenter/cloned_binary.c
new file mode 100644
index 000000000..c8a42c23f
--- /dev/null
+++ b/libcontainer/nsenter/cloned_binary.c
@@ -0,0 +1,268 @@
+/*
+ * Copyright (C) 2019 Aleksa Sarai <cyphar@cyphar.com>
+ * Copyright (C) 2019 SUSE LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define _GNU_SOURCE
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <string.h>
+#include <limits.h>
+#include <fcntl.h>
+#include <errno.h>
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/vfs.h>
+#include <sys/mman.h>
+#include <sys/sendfile.h>
+#include <sys/syscall.h>
+
+/* Use our own wrapper for memfd_create. */
+#if !defined(SYS_memfd_create) && defined(__NR_memfd_create)
+# define SYS_memfd_create __NR_memfd_create
+#endif
+#ifdef SYS_memfd_create
+# define HAVE_MEMFD_CREATE
+/* memfd_create(2) flags -- copied from <linux/memfd.h>. */
+# ifndef MFD_CLOEXEC
+# define MFD_CLOEXEC 0x0001U
+# define MFD_ALLOW_SEALING 0x0002U
+# endif
+int memfd_create(const char *name, unsigned int flags)
+{
+ return syscall(SYS_memfd_create, name, flags);
+}
+#endif
+
+/* This comes directly from <linux/fcntl.h>. */
+#ifndef F_LINUX_SPECIFIC_BASE
+# define F_LINUX_SPECIFIC_BASE 1024
+#endif
+#ifndef F_ADD_SEALS
+# define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
+# define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
+#endif
+#ifndef F_SEAL_SEAL
+# define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */
+# define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */
+# define F_SEAL_GROW 0x0004 /* prevent file from growing */
+# define F_SEAL_WRITE 0x0008 /* prevent writes */
+#endif
+
+#define RUNC_SENDFILE_MAX 0x7FFFF000 /* sendfile(2) is limited to 2GB. */
+#ifdef HAVE_MEMFD_CREATE
+# define RUNC_MEMFD_COMMENT "runc_cloned:/proc/self/exe"
+# define RUNC_MEMFD_SEALS \
+ (F_SEAL_SEAL | F_SEAL_SHRINK | F_SEAL_GROW | F_SEAL_WRITE)
+#endif
+
+static void *must_realloc(void *ptr, size_t size)
+{
+ void *old = ptr;
+ do {
+ ptr = realloc(old, size);
+ } while(!ptr);
+ return ptr;
+}
+
+/*
+ * Verify whether we are currently in a self-cloned program (namely, is
+ * /proc/self/exe a memfd). F_GET_SEALS will only succeed for memfds (or rather
+ * for shmem files), and we want to be sure it's actually sealed.
+ */
+static int is_self_cloned(void)
+{
+ int fd, ret, is_cloned = 0;
+
+ fd = open("/proc/self/exe", O_RDONLY|O_CLOEXEC);
+ if (fd < 0)
+ return -ENOTRECOVERABLE;
+
+#ifdef HAVE_MEMFD_CREATE
+ ret = fcntl(fd, F_GET_SEALS);
+ is_cloned = (ret == RUNC_MEMFD_SEALS);
+#else
+ struct stat statbuf = {0};
+ ret = fstat(fd, &statbuf);
+ if (ret >= 0)
+ is_cloned = (statbuf.st_nlink == 0);
+#endif
+ close(fd);
+ return is_cloned;
+}
+
+/*
+ * Basic wrapper around mmap(2) that gives you the file length so you can
+ * safely treat it as an ordinary buffer. Only gives you read access.
+ */
+static char *read_file(char *path, size_t *length)
+{
+ int fd;
+ char buf[4096], *copy = NULL;
+
+ if (!length)
+ return NULL;
+
+ fd = open(path, O_RDONLY | O_CLOEXEC);
+ if (fd < 0)
+ return NULL;
+
+ *length = 0;
+ for (;;) {
+ int n;
+
+ n = read(fd, buf, sizeof(buf));
+ if (n < 0)
+ goto error;
+ if (!n)
+ break;
+
+ copy = must_realloc(copy, (*length + n) * sizeof(*copy));
+ memcpy(copy + *length, buf, n);
+ *length += n;
+ }
+ close(fd);
+ return copy;
+
+error:
+ close(fd);
+ free(copy);
+ return NULL;
+}
+
+/*
+ * A poor-man's version of "xargs -0". Basically parses a given block of
+ * NUL-delimited data, within the given length and adds a pointer to each entry
+ * to the array of pointers.
+ */
+static int parse_xargs(char *data, int data_length, char ***output)
+{
+ int num = 0;
+ char *cur = data;
+
+ if (!data || *output != NULL)
+ return -1;
+
+ while (cur < data + data_length) {
+ num++;
+ *output = must_realloc(*output, (num + 1) * sizeof(**output));
+ (*output)[num - 1] = cur;
+ cur += strlen(cur) + 1;
+ }
+ (*output)[num] = NULL;
+ return num;
+}
+
+/*
+ * "Parse" out argv and envp from /proc/self/cmdline and /proc/self/environ.
+ * This is necessary because we are running in a context where we don't have a
+ * main() that we can just get the arguments from.
+ */
+static int fetchve(char ***argv, char ***envp)
+{
+ char *cmdline = NULL, *environ = NULL;
+ size_t cmdline_size, environ_size;
+
+ cmdline = read_file("/proc/self/cmdline", &cmdline_size);
+ if (!cmdline)
+ goto error;
+ environ = read_file("/proc/self/environ", &environ_size);
+ if (!environ)
+ goto error;
+
+ if (parse_xargs(cmdline, cmdline_size, argv) <= 0)
+ goto error;
+ if (parse_xargs(environ, environ_size, envp) <= 0)
+ goto error;
+
+ return 0;
+
+error:
+ free(environ);
+ free(cmdline);
+ return -EINVAL;
+}
+
+static int clone_binary(void)
+{
+ int binfd, memfd;
+ ssize_t sent = 0;
+
+#ifdef HAVE_MEMFD_CREATE
+ memfd = memfd_create(RUNC_MEMFD_COMMENT, MFD_CLOEXEC | MFD_ALLOW_SEALING);
+#else
+ memfd = open("/tmp", O_TMPFILE | O_EXCL | O_RDWR | O_CLOEXEC, 0711);
+#endif
+ if (memfd < 0)
+ return -ENOTRECOVERABLE;
+
+ binfd = open("/proc/self/exe", O_RDONLY | O_CLOEXEC);
+ if (binfd < 0)
+ goto error;
+
+ sent = sendfile(memfd, binfd, NULL, RUNC_SENDFILE_MAX);
+ close(binfd);
+ if (sent < 0)
+ goto error;
+
+#ifdef HAVE_MEMFD_CREATE
+ int err = fcntl(memfd, F_ADD_SEALS, RUNC_MEMFD_SEALS);
+ if (err < 0)
+ goto error;
+#else
+ /* Need to re-open "memfd" as read-only to avoid execve(2) giving -EXTBUSY. */
+ int newfd;
+ char *fdpath = NULL;
+
+ if (asprintf(&fdpath, "/proc/self/fd/%d", memfd) < 0)
+ goto error;
+ newfd = open(fdpath, O_RDONLY | O_CLOEXEC);
+ free(fdpath);
+ if (newfd < 0)
+ goto error;
+
+ close(memfd);
+ memfd = newfd;
+#endif
+ return memfd;
+
+error:
+ close(memfd);
+ return -EIO;
+}
+
+int ensure_cloned_binary(void)
+{
+ int execfd;
+ char **argv = NULL, **envp = NULL;
+
+ /* Check that we're not self-cloned, and if we are then bail. */
+ int cloned = is_self_cloned();
+ if (cloned > 0 || cloned == -ENOTRECOVERABLE)
+ return cloned;
+
+ if (fetchve(&argv, &envp) < 0)
+ return -EINVAL;
+
+ execfd = clone_binary();
+ if (execfd < 0)
+ return -EIO;
+
+ fexecve(execfd, argv, envp);
+ return -ENOEXEC;
+}
diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c
index 28269dfc0..7750af35e 100644
--- a/libcontainer/nsenter/nsexec.c
+++ b/libcontainer/nsenter/nsexec.c
@@ -534,6 +534,9 @@ void join_namespaces(char *nslist)
free(namespaces);
}
+/* Defined in cloned_binary.c. */
+extern int ensure_cloned_binary(void);
+
void nsexec(void)
{
int pipenum;
@@ -549,6 +552,14 @@ void nsexec(void)
if (pipenum == -1)
return;
+ /*
+ * We need to re-exec if we are not in a cloned binary. This is necessary
+ * to ensure that containers won't be able to access the host binary
+ * through /proc/self/exe. See CVE-2019-5736.
+ */
+ if (ensure_cloned_binary() < 0)
+ bail("could not ensure we are a cloned binary");
+
/* Parse all of the netlink configuration. */
nl_parse(pipenum, &config);

View File

@ -0,0 +1,170 @@
From f11c3f094ed5ca727ec819983425b6641db8227c Mon Sep 17 00:00:00 2001
From: Eric Bavier <bavier@member.fsf.org>
Date: Wed, 13 Feb 2019 09:32:11 -0600
Subject: [PATCH] BLACS: Remove use of long-deprecated MPI1 functions.
* BLACS/SRC/blacs_get_.c: 'MPI_Attr_get' -> 'MPI_Comm_get_attr'.
* BLACS/SRC/cgamn2d_.c, BLACS/SRC/cgamx2d_.c, BLACS/SRC/dgamn2d_.c,
BLACS/SRC/dgamx2d_.c, BLACS/SRC/igamn2d_.c, BLACS/SRC/igamx2d_.c,
BLACS/SRC/sgamn2d_.c, BLACS/SRC/sgamx2d_.c, BLACS/SRC/zgamn2d_.c,
BLACS/SRC/zgamx2d_.c: 'MPI_Type_struct' -> 'MPI_Type_create_struct'.
---
BLACS/SRC/blacs_get_.c | 2 +-
BLACS/SRC/cgamn2d_.c | 2 +-
BLACS/SRC/cgamx2d_.c | 2 +-
BLACS/SRC/dgamn2d_.c | 2 +-
BLACS/SRC/dgamx2d_.c | 2 +-
BLACS/SRC/igamn2d_.c | 2 +-
BLACS/SRC/igamx2d_.c | 2 +-
BLACS/SRC/sgamn2d_.c | 2 +-
BLACS/SRC/sgamx2d_.c | 2 +-
BLACS/SRC/zgamn2d_.c | 2 +-
BLACS/SRC/zgamx2d_.c | 2 +-
11 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/BLACS/SRC/blacs_get_.c b/BLACS/SRC/blacs_get_.c
index e979767..d4b04cf 100644
--- a/BLACS/SRC/blacs_get_.c
+++ b/BLACS/SRC/blacs_get_.c
@@ -23,7 +23,7 @@ F_VOID_FUNC blacs_get_(int *ConTxt, int *what, int *val)
case SGET_MSGIDS:
if (BI_COMM_WORLD == NULL) Cblacs_pinfo(val, &val[1]);
iptr = &val[1];
- ierr=MPI_Attr_get(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val);
+ ierr=MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val);
val[0] = 0;
val[1] = *iptr;
break;
diff --git a/BLACS/SRC/cgamn2d_.c b/BLACS/SRC/cgamn2d_.c
index 2db6ccb..6958f32 100644
--- a/BLACS/SRC/cgamn2d_.c
+++ b/BLACS/SRC/cgamn2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC cgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/cgamx2d_.c b/BLACS/SRC/cgamx2d_.c
index 707c0b6..f802d01 100644
--- a/BLACS/SRC/cgamx2d_.c
+++ b/BLACS/SRC/cgamx2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC cgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/dgamn2d_.c b/BLACS/SRC/dgamn2d_.c
index dff23b4..a2627ac 100644
--- a/BLACS/SRC/dgamn2d_.c
+++ b/BLACS/SRC/dgamn2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC dgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/dgamx2d_.c b/BLACS/SRC/dgamx2d_.c
index a51f731..2a644d0 100644
--- a/BLACS/SRC/dgamx2d_.c
+++ b/BLACS/SRC/dgamx2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC dgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/igamn2d_.c b/BLACS/SRC/igamn2d_.c
index 16bc003..f6a7859 100644
--- a/BLACS/SRC/igamn2d_.c
+++ b/BLACS/SRC/igamn2d_.c
@@ -218,7 +218,7 @@ F_VOID_FUNC igamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/igamx2d_.c b/BLACS/SRC/igamx2d_.c
index 8165cbe..a7cfcc6 100644
--- a/BLACS/SRC/igamx2d_.c
+++ b/BLACS/SRC/igamx2d_.c
@@ -218,7 +218,7 @@ F_VOID_FUNC igamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/sgamn2d_.c b/BLACS/SRC/sgamn2d_.c
index d6c95e5..569c797 100644
--- a/BLACS/SRC/sgamn2d_.c
+++ b/BLACS/SRC/sgamn2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC sgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/sgamx2d_.c b/BLACS/SRC/sgamx2d_.c
index 4b0af6f..8897ece 100644
--- a/BLACS/SRC/sgamx2d_.c
+++ b/BLACS/SRC/sgamx2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC sgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/zgamn2d_.c b/BLACS/SRC/zgamn2d_.c
index 9de2b23..37897df 100644
--- a/BLACS/SRC/zgamn2d_.c
+++ b/BLACS/SRC/zgamn2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC zgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
diff --git a/BLACS/SRC/zgamx2d_.c b/BLACS/SRC/zgamx2d_.c
index 414c381..0e9d474 100644
--- a/BLACS/SRC/zgamx2d_.c
+++ b/BLACS/SRC/zgamx2d_.c
@@ -221,7 +221,7 @@ F_VOID_FUNC zgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
{
#endif
i = 2;
- ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
+ ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
ierr=MPI_Type_commit(&MyType);
bp->N = bp2->N = 1;
bp->dtype = bp2->dtype = MyType;
--
2.20.1

View File

@ -748,18 +748,20 @@ using a stylus.")
(define-public python-reportlab
(package
(name "python-reportlab")
(version "3.4.0")
(version "3.5.13")
(source (origin
(method url-fetch)
(uri (pypi-uri "reportlab" version))
(sha256
(base32
"0hy304pzsz9lblmk7mrbk2682bi911lxgvzx2kcfpmfzb5gg7sjv"))))
"1wxgcj46rm83qz97i8ygvd59bks60kr6vvnz12ygw640z58ff5k1"))))
(build-system python-build-system)
(arguments
'(;; FIXME: There is one test failure, but it does not cause the
;; build to fail. No time to investigate right now.
#:test-target "tests"))
(inputs
`(("freetype" ,freetype)))
(propagated-inputs
`(("python-pillow" ,python-pillow)))
(home-page "https://www.reportlab.com")

View File

@ -743,14 +743,14 @@ file, and more.")
(define-public python-ecpy
(package
(name "python-ecpy")
(version "0.8.2")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ECPy" version))
(sha256
(base32
"090fqnj8z0xm44jrfpll7j45r68m6kp7mjr7yxzg93j42h3sj285"))))
"1gc3i5s93zq6x1nkaxkq1dvmsc12vmrw0hns9f5s1hcb78ni52c8"))))
(build-system python-build-system)
(propagated-inputs
`(("python-future" ,python-future)))
@ -803,14 +803,14 @@ protocol (Javascript Object Signing and Encryption).")
(define-public python-pycryptodome
(package
(name "python-pycryptodome")
(version "3.7.2")
(version "3.7.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycryptodome" version))
(sha256
(base32
"1xxf5cyhlc5ak5skf4zgqz9yk5fj5g70hd06hc1jym995lxpxz7m"))))
"0dh6ky5ngxayyn5f6n7gdamjl49g3khz6pdx9sdnag1zwi8248hs"))))
(build-system python-build-system)
(home-page "https://www.pycryptodome.org")
(synopsis "Cryptographic library for Python")

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015, 2016, 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
@ -1938,6 +1938,40 @@ easier to build concurrent applications.")
(define-public python2-pykka
(package-with-python2 python-pykka))
(define-public python-pymsgbox
(package
(name "python-pymsgbox")
(version "1.0.6")
(source
(origin
(method git-fetch)
(uri (git-reference
;; LICENSE.txt is not present on pypi
(url "https://github.com/asweigart/PyMsgBox")
(commit "55926b55f46caa969c5ddb87990ebea2737bd66f")))
(file-name (git-file-name name version))
(sha256
(base32
"0zy7rjfpwlrd8b64j7jk2lb8m2npc21rnpwakpfvwgl4nxdy80rg"))))
(arguments
;; Circular dependency to run tests:
;; Tests need pyautogui, which depends on pymsgbox.
'(#:tests? #f))
(build-system python-build-system)
(home-page "https://github.com/asweigart/PyMsgBox")
(synopsis "Python module for JavaScript-like message boxes")
(description
"PyMsgBox is a simple, cross-platform, pure Python module for
JavaScript-like message boxes. Types of dialog boxes include:
@enumerate
@item alert
@item confirm
@item prompt
@item password
@end enumerate
")
(license license:bsd-3)))
(define-public python-pympler
(package
(name "python-pympler")
@ -2189,6 +2223,57 @@ logging and tracing of the execution.")
(define-public python2-joblib
(package-with-python2 python-joblib))
(define-public python-daemon
(package
(name "python-daemon")
(version "2.2.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-daemon" version))
(sha256
(base32
"09fcjdjzk9ywmpnrj62iyxqgcygzdafsz41qlrk2dknzbagcmzmg"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'disable-tests
(lambda _
;; FIXME: Determine why test fails
(substitute* "test/test_daemon.py"
(("test_detaches_process_context")
"skip_test_detaches_process_context"))
#t)))))
(propagated-inputs
`(("python-lockfile" ,python-lockfile)))
(native-inputs
`(("python-unittest2" ,python-unittest2)
("python-testtools" ,python-testtools)
("python-testscenarios" ,python-testscenarios)
("python-mock" ,python-mock)
("python-docutils" ,python-docutils)))
(home-page "https://pagure.io/python-daemon/")
(synopsis "Python library for making a Unix daemon process")
(description "Python-daemon is a library that assists a Python program to
turn itself into a well-behaved Unix daemon process, as specified in PEP 3143.
This library provides a @code{DaemonContext} class that manages the following
important tasks for becoming a daemon process:
@enumerate
@item Detach the process into its own process group.
@item Set process environment appropriate for running inside a chroot.
@item Renounce suid and sgid privileges.
@item Close all open file descriptors.
@item Change the working directory, uid, gid, and umask.
@item Set appropriate signal handlers.
@item Open new file descriptors for stdin, stdout, and stderr.
@item Manage a specified PID lock file.
@item Register cleanup functions for at-exit processing.
@end enumerate")
;; Only setup.py is gpl3+, everything else is apache 2.0 licensed.
(license (list license:asl2.0 license:gpl3+))))
(define-public python-docutils
(package
(name "python-docutils")
@ -2493,6 +2578,84 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
Language (TOML) configuration files.")
(license license:expat)))
(define-public python-jsonrpc-server
(package
(name "python-jsonrpc-server")
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-jsonrpc-server" version))
(sha256
(base32
"0m4ykpcdy52x37n1ikysp07j7p8ialcdvvvsrjp3545sn7iiid09"))))
(build-system python-build-system)
(propagated-inputs
`(("python-future" ,python-future)
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)))
(home-page
"https://github.com/palantir/python-jsonrpc-server")
(synopsis "JSON RPC 2.0 server library")
(description
"This packages provides a JSON RPC 2.0 server library for Python.")
(license license:expat)))
(define-public python-pydocstyle
(package
(name "python-pydocstyle")
(version "3.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pydocstyle" version))
(sha256
(base32
"1m1xv9clkg9lgzyza6dnj359z04vh5g0h49nhzghv7lg81gchhap"))))
(build-system python-build-system)
(propagated-inputs
`(("python-six" ,python-six)
("python-snowballstemmer" ,python-snowballstemmer)))
(home-page
"https://github.com/PyCQA/pydocstyle/")
(synopsis "Python docstring style checker")
(description
"This package provides a style checker for the Python Language
Server (PLS).")
(license license:expat)))
(define-public python-language-server
(package
(name "python-language-server")
(version "0.22.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-language-server" version))
(sha256
(base32
"04pbxl06hg0ddm2xx99jn9jh40yv0mmzdjw8pqd2rbcdg42hhia6"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pluggy" ,python-pluggy)
("python-jsonrpc-server" ,python-jsonrpc-server)
("python-jedi" ,python-jedi)
("python-yapf" ,python-yapf)
("python-pyflakes" ,python-pyflakes)
("python-pydocstyle" ,python-pydocstyle)
("python-pycodestyle" ,python-pycodestyle)
("python-mccabe" ,python-mccabe)
("python-rope" ,python-rope)
("python-autopep8" ,python-autopep8)))
(home-page "https://github.com/palantir/python-language-server")
(synopsis "Python implementation of the Language Server Protocol")
(description
"The Python Language Server (pyls) is an implementation of the Python 3
language specification for the Language Server Protocol (LSP). This tool is
used in text editing environments to provide a complete and integrated
feature-set for programming Python effectively.")
(license license:expat)))
(define-public python-black
(package
(name "python-black")
@ -2635,14 +2798,14 @@ and is very extensible.")
(define-public python-cython
(package
(name "python-cython")
(version "0.28.4")
(version "0.29.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cython" version))
(sha256
(base32
"0imw9s2rbrh32clbl10csnwmig9p3nzkrd2baxxxfmnrsc42pb3n"))))
"1wfb68g115gmf3mv23w0hh972b0ll85gpb92ci28x6h997br0llx"))))
(build-system python-build-system)
;; we need the full python package and not just the python-wrapper
;; because we need libpython3.3m.so
@ -8761,8 +8924,7 @@ Python. It generates C++ code and a Makefile."))
(base32
"1cppm0pa9aqgsbkq130lskrzmrvjs5vpiavjjbhpz2fdw52w8251"))))
(arguments
;; Rope is currently python-2 only.
;; https://github.com/python-rope/rope/issues/57
;; Rope has only partial python3 support, see `python-rope'
`(#:python ,python-2))
(build-system python-build-system)
(native-inputs
@ -8775,6 +8937,16 @@ and parameters in Python 2 source code. These refactorings can also be applied
to occurrences in strings and comments.")
(license license:gpl2)))
(define-public python-rope
(package
(inherit python2-rope)
(name "python-rope")
(arguments `(#:python ,python-wrapper
;; XXX: Only partial python3 support, results in some failing
;; tests: <https://github.com/python-rope/rope/issues/247>.
#:tests? #f))
(properties `((python2-variant . ,(delay python2-rope))))))
(define-public python-py3status
(package
(name "python-py3status")

View File

@ -2173,6 +2173,11 @@ different kinds of sliders, and much more.")
(arguments
`(#:tests? #f ; no apparent tests; it might be necessary to set
; ENABLE_API_TESTS, see CMakeLists.txt
;; Parallel builds fail due to a race condition:
;; <https://bugs.gnu.org/34062>.
#:parallel-build? #f
#:configure-flags (list ;"-DENABLE_API_TESTS=TRUE"
"-DPORT=Qt"
"-DUSE_LIBHYPHEN=OFF"

View File

@ -47,14 +47,14 @@
(define-public xapian
(package
(name "xapian")
(version "1.4.9")
(version "1.4.10")
;; Note: When updating Xapian, remember to update xapian-bindings below.
(source (origin
(method url-fetch)
(uri (string-append "https://oligarchy.co.uk/xapian/" version
"/xapian-core-" version ".tar.xz"))
(sha256
(base32 "1k7m7m9jld96k16ansfw2w3c354pvd8ibhnrb6dw012g06fw7sfd"))))
(base32 "1f4vf1w1yvsn9mn462q6snc8wkmfpifp8wrlzs4aqi45w0kr6rk8"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)
("util-linux" ,util-linux)))
@ -92,7 +92,7 @@ rich set of boolean query operators.")
"/xapian-bindings-" version ".tar.xz"))
(sha256
(base32
"0ll3z3418r7bzxs4kyini2cbci5xl8i5scl3wyx88s2v4ak56bcz"))))
"0zqx5gcwm2mhx41fnfx30z9c31x96g5pskyrmx3c556mnklfpask"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-python3")

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 Claes Wallin <claes.wallin@greatsinodevelopment.com>
;;; Copyright © 2016 Eric Le Bihan <eric.le.bihan.dev@free.fr>
;;; Copyright © 2017 Z. Ren <zren@dlut.edu.cn>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -105,7 +105,7 @@ complexity.")))
(define-public s6
(package
(name "s6")
(version "2.7.2.1")
(version "2.7.2.2")
(source
(origin
(method url-fetch)
@ -113,7 +113,7 @@ complexity.")))
version ".tar.gz"))
(sha256
(base32
"0vyl4wr2l4mp9ams0dyg224qxhl8ksxsv2shs6606lhhp9g1rb6b"))))
"0psjmfidjdciswakw9agzzniqfmhrr21765m0q77kwxg7iisgpsq"))))
(build-system gnu-build-system)
(inputs `(("skalibs" ,skalibs)
("execline" ,execline)))

View File

@ -456,6 +456,9 @@ TCP, not the SSH protocol.")
"0rgavbzw7jrs5wslxm0dnwx2m409yzxd9hazd92r7kx8xikr3yzj"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; there is no "make check" or anything similar
;; TODO: Investigate unbundling libtommath and libtomcrypt or at least
;; cherry-picking important bug fixes from them. See <bugs.gnu.org/24674>
;; for more information.
(inputs `(("zlib" ,zlib)))
(synopsis "Small SSH server and client")
(description "Dropbear is a relatively small SSH server and

View File

@ -78,13 +78,13 @@ a custom raw video format with a simple container.")
(define-public dwm
(package
(name "dwm")
(version "6.1")
(version "6.2")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.suckless.org/dwm/dwm-"
version ".tar.gz"))
(sha256
(base32 "1zkmwb6df6m254shx06ly90c0q4jl70skk1pvkixpb7hcxhwbxn2"))))
(base32 "03hirnj8saxnsfqiszwl2ds7p0avg20izv9vdqyambks00p2x44p"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
@ -137,14 +137,14 @@ optimising the environment for the application in use and the task performed.")
(define-public dmenu
(package
(name "dmenu")
(version "4.8")
(version "4.9")
(source (origin
(method url-fetch)
(uri (string-append "https://dl.suckless.org/tools/dmenu-"
version ".tar.gz"))
(sha256
(base32
"0qfvfrj10xlwd9hkvb57wshryan65bl6423h0qhiw1h76rf5lqgy"))))
"0ia9nqr83bv6x247q30bal0v42chcj9qcjgv59xs6xj46m7iz5xk"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests

View File

@ -30,7 +30,7 @@
(define-public syncthing
(package
(name "syncthing")
(version "1.0.0")
(version "1.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@ -38,7 +38,7 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
"0992nsdiw374pbh1dywg7c2jijzy4xmsv0b7q5p76xn2yyg5yhr7"))
"0gas07lxm5d2c21axgcs90r779rj9sk3jymnnffxz457rvpr2qn3"))
;; Since the update to Go 1.11, Go programs have been keeping
;; spurious references to all their dependencies:
;; <https://bugs.gnu.org/33620>.

View File

@ -531,13 +531,13 @@ netcat implementation that supports TLS.")
(package
(name "python-acme")
;; Remember to update the hash of certbot when updating python-acme.
(version "0.30.2")
(version "0.31.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "acme" version))
(sha256
(base32
"1wmqxrl4w9w79jd16bmxp8g3xbrx3az4137zbip8x44zrrzmnni9"))))
"1gxjv09c695lj8swspa390nch117i60qkrgy135383vfk00jsp3y"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -588,7 +588,7 @@ netcat implementation that supports TLS.")
(uri (pypi-uri name version))
(sha256
(base32
"0vkpqwps1c8ja140kiiz2cws9hqjrbkx58wbji3qxv9cap5qfi2k"))))
"0wq4jgyzli684h154w26xplp0fzyks2vlrnmhafhyb0h1bw9cc8c"))))
(build-system python-build-system)
(arguments
`(,@(substitute-keyword-arguments (package-arguments python-acme)

View File

@ -32,14 +32,14 @@
(define-public miniupnpc
(package
(name "miniupnpc")
(version "2.1")
(version "2.1.20190210")
(source
(origin
(method url-fetch)
(uri (string-append "https://miniupnp.tuxfamily.org/files/"
name "-" version ".tar.gz"))
(sha256
(base32 "1ik440yspbp3clr4m01xsl9skwyrzcvzb5nbm3i0g9x53vhbb7z1"))))
(base32 "05w8p51yd71ksapajb9nag464ncakk72v9dxr01y168wix707d49"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))

View File

@ -683,14 +683,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).")
(define-public ffmpeg
(package
(name "ffmpeg")
(version "4.1")
(version "4.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"150rrm549fy1x71c9whmyi5knyd9sliwvmcsm438bdgg4v8c93m3"))))
"11id9pm4azfrhpa4vr2yaw31dzgd55kl1zsxwn24sczx9n14jdrp"))))
(build-system gnu-build-system)
(inputs
`(("fontconfig" ,fontconfig)
@ -992,7 +992,7 @@ videoformats depend on the configuration flags of ffmpeg.")
("libva" ,libva)
("libvdpau" ,libvdpau)
("libvorbis" ,libvorbis)
("libvpx" ,libvpx)
("libvpx" ,libvpx-1.7)
("libtheora" ,libtheora)
("libx264" ,libx264)
("libxext" ,libxext)
@ -2877,7 +2877,17 @@ programmers to access a standard API to open and decompress media files.")
(add-before 'configure 'fix-ldflags
(lambda _
(setenv "LDFLAGS" "-pthread")
#t)))))
#t))
(add-after 'unpack 'fix-boost-headers
(lambda _
(substitute*
'("src/subtitles_provider_libass.cpp"
"src/colour_button.cpp"
"src/video_provider_dummy.cpp"
"./src/video_frame.cpp")
(("#include <boost/gil/gil_all.hpp>")
"#include <boost/gil.hpp>"))
#t)))))
(inputs
`(("boost" ,boost)
("desktop-file-utils" ,desktop-file-utils)

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@ -519,7 +519,7 @@ commit or run any Git arbitrary command.")
(define-public vim-airline
(package
(name "vim-airline")
(version "0.9")
(version "0.10")
(source
(origin
(method git-fetch)
@ -529,7 +529,7 @@ commit or run any Git arbitrary command.")
(file-name (git-file-name name version))
(sha256
(base32
"0hq3304rhakx7x1v7wll7gxinmfz6561bq97qpj8jrk19rhcab75"))))
"0k3c6p3xy6514n1n347ci4q9xjm9wwqirpdysam6f7r39crgmfhd"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f

View File

@ -847,15 +847,17 @@ monitor/GPU.")
(define-public runc
(package
(name "runc")
(version "1.0.0-rc5")
(version "1.0.0-rc6")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/opencontainers/runc/releases/"
"download/v" version "/runc.tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(patches (search-patches "runc-CVE-2019-5736.patch"))
(sha256
(base32
"081avdzwnqpk368wbaihlzsypaxpj42d7699h7jgp0fks14x4103"))))
"1c7832dq70slkjh8qp2civ1wxhhdd2hrx84pq7db1mmqc9fdr3cc"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/opencontainers/runc"

View File

@ -164,17 +164,17 @@ and its related documentation.")
(name "mod-wsgi")
(version "4.5.22")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/GrahamDumpleton/mod_wsgi/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/GrahamDumpleton/mod_wsgi.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0n1yhmrfp8mjbsngmyjl937c6rc0069p6wdi1lknrbn1q42hzw6q"))))
"1q90xw2cbhka5gcd6yc69iir73x4gm7fm75qpkins2ryfl6w1q3f"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;; TODO: Can't figure out if there are tests
'(#:tests? #f ; TODO: can't figure out if there are tests
#:make-flags (list
(string-append "DESTDIR="
(assoc-ref %outputs "out"))
@ -413,16 +413,16 @@ APIs.")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/gnosek/fcgiwrap/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/gnosek/fcgiwrap.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"07y6s4mm86cv7p1ljz94sxnqa89y9amn3vzwsnbq5hrl4vdy0zac"))))
(base32 "1ryw66h9aazi83amk8l7ha8k5g0c7qvk5g6jv376a1ws9xk2qw6f"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests included
`(#:tests? #f ; no tests included
#:make-flags (list "CC=gcc")))
(native-inputs
`(("autoconf" ,autoconf)
@ -620,17 +620,17 @@ project)
(name "qjson")
(version "0.9.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/flavio/qjson/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/flavio/qjson.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1m0h4rajj99hv9w4i381a8x81lxiv167lxk10ncvphpkfxs624p8"))))
"1f4wnxzx0qdmxzc7hqk28m0sva7z9p9xmxm6aifvjlp0ha6pmfxs"))))
(build-system cmake-build-system)
(arguments
;; The tests require a X server
;; The tests require a running X server.
`(#:configure-flags '("-DQJSON_BUILD_TESTS=ON"
"-DCMAKE_CXX_FLAGS=-std=gnu++11 -fPIC")
#:phases
@ -747,14 +747,14 @@ current version of any major web browser.")
(name "rapidjson")
(version "1.1.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/miloyip/rapidjson/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/miloyip/rapidjson.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"13nrpvw8f1wx0ga7svbzld7pgrv8l172nangpipnj7jaf0lysz5z"))
"1jixgb8w97l9gdh3inihz7avz7i770gy2j2irvvlyrq3wi41f5ab"))
(modules '((guix build utils)))
(snippet
'(begin
@ -786,13 +786,14 @@ style API.")
(name "libyajl")
(version "2.1.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/lloyd/yajl/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/lloyd/yajl.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0nmcqpaiq4pv7dymyg3n3jsd57yhp5npxl26a1hzw3m3lmj37drz"))))
"00yj06drb6izcxfxfqlhimlrb089kka0w0x8k27pyzyiq7qzcvml"))))
(build-system cmake-build-system)
(arguments
'(#:phases
@ -992,13 +993,14 @@ of people.")
(name "websockify")
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/novnc/websockify/archive/v"
version "/archive.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/novnc/websockify.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1kjq6gibsvbb6zx5gi8hgh7110x62pbwcqkwapf3k7s27w5y907h"))))
"0pcic8qs0gdwrfjgfaf893jyddaw97wcjm2mmvwn0xyhmy8mbmw1"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; FIXME: 2 out of 6 tests fail with "ImportError: No module
@ -4779,13 +4781,13 @@ deployments.")
(package
(name "varnish")
(home-page "https://varnish-cache.org/")
(version "6.0.0")
(version "6.1.1")
(source (origin
(method url-fetch)
(uri (string-append home-page "_downloads/varnish-" version ".tgz"))
(sha256
(base32
"1vhbdch33m6ig4ijy57zvrramhs9n7cba85wd8rizgxjjnf87cn7"))))
"0gf9hzzrr1lndbbqi8cwlfasi7l517cy3nbgna88i78lm247rvp0"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")
@ -4793,6 +4795,10 @@ deployments.")
(string-append "PTHREAD_CC="
(assoc-ref %build-inputs "gcc")
"/bin/gcc")
;; XXX: Disable PCRE-JIT to work around a segmentation
;; fault when using jemalloc 5.x:
;; <https://github.com/varnishcache/varnish-cache/issues/2817>
"--disable-pcre-jit"
"--localstatedir=/var")
#:phases
(modify-phases %standard-phases
@ -4827,6 +4833,7 @@ deployments.")
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx)
("rst2man" ,python-docutils)))
(inputs
`(("jemalloc" ,jemalloc)

View File

@ -5,7 +5,7 @@
;;; Copyright © 2015 xd1le <elisp.vim@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
@ -675,20 +675,27 @@ drags, snap-to-border support, and virtual desktops.")
`(#:make-flags '("CPPFLAGS=-U__TIME__") ;ugly, but for reproducibility
#:phases
(modify-phases %standard-phases
(add-after
'install 'install-xsession
(lambda _
(let ((xsessions (string-append %output "/share/xsessions")))
(mkdir-p xsessions)
(call-with-output-file
(string-append xsessions "/fluxbox.desktop")
(lambda (port)
(format port "~
[Desktop Entry]~@
Name=~a~@
Comment=~a~@
Exec=~a/bin/startfluxbox~@
Type=Application~%" ,name ,synopsis %output)))))))))
(add-after 'install 'install-vim-files
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(syntax (string-append out "/share/vim/vimfiles/syntax")))
(copy-recursively "3rd/vim/vim/syntax" syntax)
#t)))
(add-after 'install 'install-xsession
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(xsessions (string-append out "/share/xsessions")))
(mkdir-p xsessions)
(call-with-output-file
(string-append xsessions "/fluxbox.desktop")
(lambda (port)
(format port "~
[Desktop Entry]~@
Name=~a~@
Comment=~a~@
Exec=~a/bin/startfluxbox~@
Type=Application~%" ,name ,synopsis out)))
#t))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs

View File

@ -302,7 +302,7 @@ following the mouse.")
(source (origin
(method url-fetch)
(uri (string-append
"http://cairographics.org/releases/pixman-"
"https://www.cairographics.org/releases/pixman-"
version ".tar.gz"))
(sha256
(base32

View File

@ -6366,16 +6366,16 @@ output.")
(define-public console-setup
(package
(name "console-setup")
(version "1.188")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/installer-team/console-setup.git")
(commit version)))
(sha256
(base32
"1741mg2wc5wa63clkijmv04zd6jxhc7c6aq7mkhqw1r4dhfhih19"))
(file-name (git-file-name name version))))
(version "1.189")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/installer-team/console-setup.git")
(commit version)))
(sha256
(base32 "09rfnnhwjm98im711v6jrgl49iy5n1b26x12zzk5rw6g1667mz86"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:make-flags

View File

@ -39,6 +39,7 @@
#:use-module (gnu system pam)
#:use-module (gnu packages glib)
#:use-module (gnu packages admin)
#:use-module (gnu packages cups)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gnome)
#:use-module (gnu packages xfce)
@ -800,6 +801,21 @@ acquire the capability to modify their system configuration.
accountsservice web site} for more information."
(service accountsservice-service-type accountsservice))
;;;
;;; cups-pk-helper service.
;;;
(define cups-pk-helper-service-type
(service-type
(name 'cups-pk-helper)
(description
"PolicyKit helper to configure CUPS with fine-grained privileges.")
(extensions
(list (service-extension dbus-root-service-type list)
(service-extension polkit-service-type list)))
(default-value cups-pk-helper)))
;;;
;;; GNOME desktop service.
@ -990,6 +1006,7 @@ as expected.")))
(udisks-service)
(upower-service)
(accountsservice-service)
(service cups-pk-helper-service-type)
(colord-service)
(geoclue-service)
(service polkit-service-type)

View File

@ -71,13 +71,16 @@
(documentation "Docker daemon.")
(provision '(dockerd))
(requirement '(containerd
dbus-system
elogind
file-system-/sys/fs/cgroup/blkio
file-system-/sys/fs/cgroup/cpu
file-system-/sys/fs/cgroup/cpuset
file-system-/sys/fs/cgroup/devices
file-system-/sys/fs/cgroup/memory
; TODO: file-system-/sys/fs/cgroup/pids
))
networking
udev))
(start #~(make-forkexec-constructor
(list (string-append #$docker "/bin/dockerd")
"-p" "/var/run/docker.pid")

View File

@ -657,7 +657,7 @@ makes the good ol' XlockMore usable."
"WaylandEnable=false\n"
"\n"
"[debug]\n"
"Enable=true\n"
"#Enable=true\n"
"\n"
"[security]\n"
"#DisallowTCP=true\n"

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@ -134,7 +134,9 @@
;; Guile-Gcrypt, Guile-SQLite3, and their propagated inputs.
(append-map (lambda (package)
(cons package
(package-transitive-propagated-inputs package)))
(match (package-transitive-propagated-inputs package)
(((labels packages) ...)
packages))))
(list guile-gcrypt guile-sqlite3)))
(define* (expression->derivation-in-linux-vm name exp

View File

@ -300,6 +300,14 @@ Log progress and checkout info to LOG-PORT."
#:select? (negate dot-git?))
commit)))
(define (print-git-error port key args default-printer)
(match args
(((? git-error? error) . _)
(format port (G_ "Git error: ~a~%")
(git-error-message error)))))
(set-exception-printer! 'git-error print-git-error)
;;;
;;; Checkouts.

View File

@ -61,6 +61,7 @@
inferior-object?
inferior-packages
inferior-available-packages
lookup-inferior-packages
inferior-package?
@ -256,6 +257,31 @@ equivalent. Return #f if the inferior could not be launched."
vlist-null
(inferior-packages inferior)))
(define (inferior-available-packages inferior)
"Return the list of name/version pairs corresponding to the set of packages
available in INFERIOR.
This is faster and requires less resource-intensive than calling
'inferior-packages'."
(if (inferior-eval '(defined? 'fold-available-packages)
inferior)
(inferior-eval '(fold-available-packages
(lambda* (name version result
#:key supported? deprecated?
#:allow-other-keys)
(if (and supported? (not deprecated?))
(acons name version result)
result))
'())
inferior)
;; As a last resort, if INFERIOR is old and lacks
;; 'fold-available-packages', fall back to 'inferior-packages'.
(map (lambda (package)
(cons (inferior-package-name package)
(inferior-package-version package)))
(inferior-packages inferior))))
(define* (lookup-inferior-packages inferior name #:optional version)
"Return the sorted list of inferior packages matching NAME in INFERIOR, with
highest version numbers first. If VERSION is true, return only packages with

View File

@ -23,7 +23,7 @@
#:use-module ((guix build utils) #:select (mkdir-p))
#:use-module ((guix serialization) #:select (restore-file))
#:use-module (guix store)
#:use-module (guix status)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module (guix grafts)
#:use-module (guix packages)
#:use-module (guix derivations)

View File

@ -47,7 +47,7 @@
#:autoload (guix download) (download-to-store)
#:autoload (guix git-download) (git-reference?)
#:autoload (guix git) (git-checkout?)
#:use-module (guix status)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module ((guix progress) #:select (current-terminal-columns))
#:use-module ((guix build syscalls) #:select (terminal-columns))
#:export (%standard-build-options

View File

@ -21,7 +21,7 @@
#:use-module (guix scripts)
#:use-module (guix ssh)
#:use-module (guix store)
#:use-module (guix status)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module (guix utils)
#:use-module (guix derivations)
#:use-module (guix scripts build)

View File

@ -21,7 +21,7 @@
(define-module (guix scripts environment)
#:use-module (guix ui)
#:use-module (guix store)
#:use-module (guix status)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module (guix grafts)
#:use-module (guix derivations)
#:use-module (guix packages)

View File

@ -26,7 +26,7 @@
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix store)
#:use-module (guix status)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module (guix grafts)
#:use-module (guix monads)
#:use-module (guix modules)
@ -104,7 +104,9 @@ found."
;; Guile-Gcrypt, Guile-SQLite3, and their propagated inputs.
(append-map (lambda (package)
(cons package
(package-transitive-propagated-inputs package)))
(match (package-transitive-propagated-inputs package)
(((labels packages) ...)
packages))))
(list guile-gcrypt guile-sqlite3)))
(define (store-database items)

View File

@ -24,7 +24,7 @@
(define-module (guix scripts package)
#:use-module (guix ui)
#:use-module (guix status)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module (guix store)
#:use-module (guix grafts)
#:use-module (guix derivations)
@ -55,6 +55,7 @@
#:autoload (gnu packages bootstrap) (%bootstrap-guile)
#:export (build-and-use-profile
delete-generations
delete-matching-generations
display-search-paths
guix-package))

View File

@ -20,7 +20,7 @@
(define-module (guix scripts pull)
#:use-module (guix ui)
#:use-module (guix utils)
#:use-module (guix status)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module (guix scripts)
#:use-module (guix store)
#:use-module (guix config)
@ -45,6 +45,7 @@
#:select (%bootstrap-guile))
#:use-module ((gnu packages certs) #:select (le-certs))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
@ -169,11 +170,14 @@ Download and deploy the latest version of Guix.\n"))
(reverse (profile-generations profile)))
((current previous _ ...)
(newline)
(let ((old (fold-packages (lambda (package result)
(alist-cons (package-name package)
(package-version package)
result))
'()))
(let ((old (fold-available-packages
(lambda* (name version result
#:key supported? deprecated?
#:allow-other-keys)
(if (and supported? (not deprecated?))
(alist-cons name version result)
result))
'()))
(new (profile-package-alist
(generation-file-name profile current))))
(display-new/upgraded-packages old new
@ -338,24 +342,24 @@ way and displaying details about the channel's source code."
(define profile-package-alist
(mlambda (profile)
"Return a name/version alist representing the packages in PROFILE."
(fold (lambda (package lst)
(alist-cons (inferior-package-name package)
(inferior-package-version package)
lst))
'()
(let* ((inferior (open-inferior profile))
(packages (inferior-packages inferior)))
(close-inferior inferior)
packages))))
(let* ((inferior (open-inferior profile))
(packages (inferior-available-packages inferior)))
(close-inferior inferior)
packages)))
(define* (display-new/upgraded-packages alist1 alist2
#:key (heading ""))
"Given the two package name/version alists ALIST1 and ALIST2, display the
list of new and upgraded packages going from ALIST1 to ALIST2. When ALIST1
and ALIST2 differ, display HEADING upfront."
(define (new/upgraded-packages alist1 alist2)
"Compare ALIST1 and ALIST2, both of which are lists of package name/version
pairs, and return two values: the list of packages new in ALIST2, and the list
of packages upgraded in ALIST2."
(let* ((old (fold (match-lambda*
(((name . version) table)
(vhash-cons name version table)))
(match (vhash-assoc name table)
(#f
(vhash-cons name version table))
((_ . previous-version)
(if (version>? version previous-version)
(vhash-cons name version table)
table)))))
vlist-null
alist1))
(new (remove (match-lambda
@ -364,14 +368,21 @@ and ALIST2 differ, display HEADING upfront."
alist2))
(upgraded (filter-map (match-lambda
((name . new-version)
(match (vhash-fold* cons '() name old)
(() #f)
((= (cut sort <> version>?) old-versions)
(and (version>? new-version
(first old-versions))
(match (vhash-assoc name old)
(#f #f)
((_ . old-version)
(and (version>? new-version old-version)
(string-append name "@"
new-version))))))
alist2)))
(values new upgraded)))
(define* (display-new/upgraded-packages alist1 alist2
#:key (heading ""))
"Given the two package name/version alists ALIST1 and ALIST2, display the
list of new and upgraded packages going from ALIST1 to ALIST2. When ALIST1
and ALIST2 differ, display HEADING upfront."
(let-values (((new upgraded) (new/upgraded-packages alist1 alist2)))
(unless (and (null? new) (null? upgraded))
(display heading))

View File

@ -23,7 +23,7 @@
(define-module (guix scripts system)
#:use-module (guix config)
#:use-module (guix ui)
#:use-module (guix status)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module (guix store)
#:autoload (guix store database) (register-path)
#:use-module (guix grafts)
@ -36,6 +36,8 @@
#:use-module (guix profiles)
#:use-module (guix scripts)
#:use-module (guix scripts build)
#:autoload (guix scripts package) (delete-generations
delete-matching-generations)
#:use-module (guix graph)
#:use-module (guix scripts graph)
#:use-module (guix build utils)
@ -490,7 +492,8 @@ STORE is an open connection to the store."
;; Make the specified system generation the default entry.
(params (profile-boot-parameters %system-profile (list number)))
(old-generations (delv number (generation-numbers %system-profile)))
(old-generations
(delv number (reverse (generation-numbers %system-profile))))
(old-params (profile-boot-parameters
%system-profile old-generations))
(entries (map boot-parameters->menu-entry params))
@ -962,10 +965,12 @@ Some ACTIONS support additional ARGS.\n"))
reconfigure switch to a new operating system configuration\n"))
(display (G_ "\
roll-back switch to the previous operating system configuration\n"))
(display (G_ "\
list-generations list the system generations\n"))
(display (G_ "\
switch-generation switch to an existing operating system configuration\n"))
(display (G_ "\
list-generations list the system generations\n"))
delete-generations delete old system generations\n"))
(display (G_ "\
build build the operating system without installing anything\n"))
(display (G_ "\
@ -1202,6 +1207,14 @@ argument list and OPTS is the option alist."
(apply (resolve-subcommand "search") args))
;; The following commands need to use the store, but they do not need an
;; operating system configuration file.
((delete-generations)
(let ((pattern (match args
(() "")
((pattern) pattern)
(x (leave (G_ "wrong number of arguments~%"))))))
(with-store store
(delete-matching-generations store %system-profile pattern)
(reinstall-bootloader store (generation-number %system-profile)))))
((switch-generation)
(let ((pattern (match args
((pattern) pattern)
@ -1228,7 +1241,8 @@ argument list and OPTS is the option alist."
(let ((action (string->symbol arg)))
(case action
((build container vm vm-image disk-image reconfigure init
extension-graph shepherd-graph list-generations roll-back
extension-graph shepherd-graph
list-generations delete-generations roll-back
switch-generation search docker-image)
(alist-cons 'action action result))
(else (leave (G_ "~a: unknown action~%") action))))))

View File

@ -506,6 +506,7 @@ addition to build events."
(match event
(('build-started drv . _)
(erase-current-line*)
(let ((properties (derivation-properties
(read-derivation-from-file drv))))
(match (assq-ref properties 'type)
@ -552,10 +553,12 @@ addition to build events."
(format port (info (G_ "View build log at '~a'.")) log)))
(newline port))
(('substituter-started item _ ...)
(erase-current-line*)
(when (or print-log? (not (extended-build-trace-supported?)))
(format port (info (G_ "substituting ~a...")) item)
(newline port)))
(('download-started item uri _ ...)
(erase-current-line*)
(format port (info (G_ "downloading from ~a...")) uri)
(newline port))
(('download-progress item uri

View File

@ -374,9 +374,16 @@ ARGS is the list of arguments received by the 'throw' handler."
(report-error (G_ "exception thrown: ~s~%") obj))
(when (fix-hint? obj)
(display-hint (condition-fix-hint obj))))
((error args ...)
((key args ...)
(report-error (G_ "failed to load '~a':~%") file)
(apply display-error frame (current-error-port) args))))
(match args
(((? symbol? proc) (? string? message) (args ...) . rest)
(display-error frame (current-error-port) proc message
args rest))
(_
;; Some exceptions like 'git-error' do not follow Guile's convention
;; above and need to be printed with 'print-exception'.
(print-exception (current-error-port) frame key args))))))
(define (warn-about-load-error file args) ;FIXME: factorize with ↑
"Report the failure to load FILE, a user-provided Scheme file, without

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -89,6 +89,26 @@
(close-inferior inferior)
result))))
(test-equal "inferior-available-packages"
(take (sort (fold-available-packages
(lambda* (name version result
#:key supported? deprecated?
#:allow-other-keys)
(if (and supported? (not deprecated?))
(alist-cons name version result)
result))
'())
(lambda (x y)
(string<? (car x) (car y))))
10)
(let* ((inferior (open-inferior %top-builddir
#:command "scripts/guix"))
(packages (inferior-available-packages inferior)))
(close-inferior inferior)
(take (sort packages (lambda (x y)
(string<? (car x) (car y))))
10)))
(test-equal "lookup-inferior-packages"
(let ((->list (lambda (package)
(list (package-name package)