Merge branch 'master' into core-updates

This commit is contained in:
Ludovic Courtès 2019-06-27 23:33:48 +02:00
commit 5cc1075a76
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
94 changed files with 3456 additions and 903 deletions

View File

@ -91,6 +91,8 @@ to 'make'."
(match (command-line)
((_ . files)
(catch #t
(lambda ()
(compile-files srcdir (getcwd)
(filter file-needs-compilation? files)
#:workers (parallel-job-count)
@ -107,4 +109,27 @@ to 'make'."
(% (+ total completed 1)
(* 2 total))
(scm->go file))
(force-output))))))
(force-output)))))
(lambda _
(primitive-exit 1))
(lambda args
;; Try to report the error in an intelligible way.
(let* ((stack (make-stack #t))
(frame (if (> (stack-length stack) 1)
(stack-ref stack 1) ;skip the 'throw' frame
(stack-ref stack 0)))
(ui (false-if-exception
(resolve-module '(guix ui))))
(report (and ui
(false-if-exception
(module-ref ui 'report-load-error)))))
(if report
;; In Guile <= 2.2.5, 'current-load-port' was not exported.
(let ((load-port ((module-ref (resolve-module '(ice-9 ports))
'current-load-port))))
(report (or (and=> load-port port-filename) "?.scm")
args frame))
(begin
(print-exception (current-error-port) frame
(car args) (cdr args))
(display-backtrace stack (current-error-port)))))))))

View File

@ -2430,13 +2430,14 @@ The resulting file will be much smaller than 50 GB (typically less than
Boot the USB installation image in an VM:
@example
qemu-system-x86_64 -m 1024 -smp 1 \
qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \
-net user -net nic,model=virtio -boot menu=on \
-drive file=guix-system-install-@value{VERSION}.@var{system}.iso \
-drive file=guixsd.img
@end example
The ordering of the drives matters.
The ordering of the drives matters. @code{-enable-kvm} is optional, but
significantly improves performance, @pxref{Running Guix in a VM}.
In the VM console, quickly press the @kbd{F12} key to enter the boot
menu. Then press the @kbd{2} key and the @kbd{RET} key to validate your
@ -12735,10 +12736,35 @@ NetworkManager will update @code{resolv.conf} to reflect the nameservers
provided by currently active connections.
@item dnsmasq
NetworkManager will run @code{dnsmasq} as a local caching nameserver,
using a "split DNS" configuration if you are connected to a VPN, and
NetworkManager will run @code{dnsmasq} as a local caching nameserver, using a
@dfn{conditional forwarding} configuration if you are connected to a VPN, and
then update @code{resolv.conf} to point to the local nameserver.
With this setting, you can share your network connection. For example when
you want to share your network connection to another laptop @i{via} an
Ethernet cable, you can open @command{nm-connection-editor} and configure the
Wired connection's method for IPv4 and IPv6 to be ``Shared to other computers''
and reestablish the connection (or reboot).
You can also set up a @dfn{host-to-guest connection} to QEMU VMs
(@pxref{Installing Guix in a VM}). With a host-to-guest connection, you can
e.g.@: access a Web server running on the VM (@pxref{Web Services}) from a Web
browser on your host system, or connect to the VM @i{via} SSH
(@pxref{Networking Services, @code{openssh-service-type}}). To set up a
host-to-guest connection, run this command once:
@example
nmcli connection add type tun \
connection.interface-name tap0 \
tun.mode tap tun.owner $(id -u) \
ipv4.method shared \
ipv4.addresses 172.28.112.1/24
@end example
Then each time you launch your QEMU VM (@pxref{Running Guix in a VM}), pass
@option{-nic tap,ifname=tap0,script=no,downscript=no} to
@command{qemu-system-...}.
@item none
NetworkManager will not modify @code{resolv.conf}.
@end table

View File

@ -19,7 +19,6 @@
(define-module (gnu build accounts)
#:use-module (guix records)
#:use-module (guix combinators)
#:use-module ((guix build syscalls) #:select (fdatasync))
#:use-module (gnu system accounts)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
@ -231,14 +230,6 @@ each field."
;; grab this lock with 'with-file-lock' when they access the databases.
"/etc/.pwd.lock")
(define-syntax-rule (catch-ENOSYS exp)
(catch 'system-error
(lambda () exp)
(lambda args
(if (= ENOSYS (system-error-errno args))
#f
(apply throw args)))))
(define (database-writer file mode entry->string)
(lambda* (entries #:optional (file-or-port file))
"Write ENTRIES to FILE-OR-PORT. When FILE-OR-PORT is a file name, write
@ -259,10 +250,7 @@ to it atomically and set the appropriate permissions."
(chmod port mode)
(write-entries port)
;; XXX: When booting with the statically-linked Guile,
;; 'fdatasync' is unavailable.
(catch-ENOSYS (fdatasync port))
(fsync port)
(close-port port)
(rename-file template file-or-port))
(lambda ()

View File

@ -22,7 +22,6 @@
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (srfi srfi-98)
#:use-module (guix utils)
#:use-module (guix build utils)
#:use-module (guix build syscalls)
#:use-module (gnu system file-systems) ;<file-system>
@ -279,6 +278,21 @@ that host UIDs (respectively GIDs) map to in the namespace."
(_ ;unexpected termination
#f)))))))))
;; FIXME: This is copied from (guix utils), which we cannot use because it
;; would pull (guix config) and all.
(define (call-with-temporary-directory proc)
"Call PROC with a name of a temporary directory; close the directory and
delete it when leaving the dynamic extent of this call."
(let* ((directory (or (getenv "TMPDIR") "/tmp"))
(template (string-append directory "/guix-directory.XXXXXX"))
(tmp-dir (mkdtemp! template)))
(dynamic-wind
(const #t)
(lambda ()
(proc tmp-dir))
(lambda ()
(false-if-exception (delete-file-recursively tmp-dir))))))
(define* (call-with-container mounts thunk #:key (namespaces %namespaces)
(host-uids 1) (guest-uid 0) (guest-gid 0))
"Run THUNK in a new container process and return its exit status.

View File

@ -20,6 +20,7 @@
# Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
#
# This file is part of GNU Guix.
#
@ -195,6 +196,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gcc.scm \
%D%/packages/gd.scm \
%D%/packages/gdb.scm \
%D%/packages/genealogy.scm \
%D%/packages/genimage.scm \
%D%/packages/geo.scm \
%D%/packages/gettext.scm \
@ -956,7 +958,6 @@ dist_patch_DATA = \
%D%/packages/patches/java-xerces-xjavac_taskdef.patch \
%D%/packages/patches/jbig2dec-ignore-testtest.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/khmer-use-libraries.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \
%D%/packages/patches/kiki-level-selection-crash.patch \
@ -978,9 +979,14 @@ dist_patch_DATA = \
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
%D%/packages/patches/kodi-skip-test-449.patch \
%D%/packages/patches/laby-make-install.patch \
%D%/packages/patches/lcalc-default-parameters-1.patch \
%D%/packages/patches/lcalc-default-parameters-2.patch \
%D%/packages/patches/lcalc-lcommon-h.patch \
%D%/packages/patches/lcalc-using-namespace-std.patch \
%D%/packages/patches/lcms-CVE-2018-16435.patch \
%D%/packages/patches/ldc-bootstrap-disable-tests.patch \
%D%/packages/patches/ldc-disable-phobos-tests.patch \
%D%/packages/patches/leela-zero-gtest.patch \
%D%/packages/patches/liba52-enable-pic.patch \
%D%/packages/patches/liba52-link-with-libm.patch \
%D%/packages/patches/liba52-set-soname.patch \
@ -1040,6 +1046,7 @@ dist_patch_DATA = \
%D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \
%D%/packages/patches/llvm-for-extempore.patch \
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
%D%/packages/patches/lrcalc-includes.patch \
%D%/packages/patches/lrzip-CVE-2017-8842.patch \
%D%/packages/patches/lua-CVE-2014-5461.patch \
%D%/packages/patches/lua-pkgconfig.patch \
@ -1208,6 +1215,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pyatspi-python-37.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \

View File

@ -515,14 +515,18 @@ optionally contain a version number and an output name, as in these examples:
guile@2.0.9:debug
If SPEC does not specify a version number, return the preferred newest
version; if SPEC does not specify an output, return OUTPUT."
version; if SPEC does not specify an output, return OUTPUT.
When OUTPUT is false and SPEC does not specify any output, return #f as the
output."
(let-values (((name version sub-drv)
(package-specification->name+version+output spec output)))
(match (%find-package spec name version)
(#f
(values #f #f))
(package
(if (member sub-drv (package-outputs package))
(if (or (and (not output) (not sub-drv))
(member sub-drv (package-outputs package)))
(values package sub-drv)
(leave (G_ "package `~a' lacks output `~a'~%")
(package-full-name package)

View File

@ -2251,7 +2251,7 @@ produce uniform output across heterogeneous networks.")
(define-public cbatticon
(package
(name "cbatticon")
(version "1.6.8")
(version "1.6.9")
(source
(origin
(method git-fetch)
@ -2259,7 +2259,7 @@ produce uniform output across heterogeneous networks.")
(url "https://github.com/valr/cbatticon.git")
(commit version)))
(sha256
(base32 "16g26vin1693dbdr9qsnw36fdchx394lp79gvp7gcbw0w1ny9av6"))
(base32 "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments

View File

@ -1333,47 +1333,6 @@ multiplication algorithm.")
(license license:gpl2+)
(home-page "https://bitbucket.org/malb/m4ri/")))
(define-public ratpoints
(package
(name "ratpoints")
(version "2.1.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.mathe2.uni-bayreuth.de/stoll/programs/"
"ratpoints-" version ".tar.gz"))
(sha256
(base32
"0zhad84sfds7izyksbqjmwpfw4rvyqk63yzdjd3ysd32zss5bgf4"))
(patches
;; Taken from
;; <https://git.sagemath.org/sage.git/plain/build/pkgs/ratpoints/patches/>
(search-patches "ratpoints-sturm_and_rp_private.patch"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:make-flags
(list (string-append "INSTALL_DIR=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure) ;no configure script
(add-before 'install 'create-install-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p out)
(with-directory-excursion out
(for-each (lambda (d) (mkdir-p d))
'("bin" "include" "lib"))))
#t)))))
(inputs
`(("gmp" ,gmp)))
(home-page "http://www.mathe2.uni-bayreuth.de/stoll/programs/")
(synopsis "Find rational points on hyperelliptic curves")
(description "Ratpoints tries to find all rational points within
a given height bound on a hyperelliptic curve in a very efficient way,
by using an optimized quadratic sieve algorithm.")
(license license:gpl2+)))
(define-public symmetrica
(package
(name "symmetrica")
@ -1400,7 +1359,7 @@ by using an optimized quadratic sieve algorithm.")
(add-after 'unpack 'fix-makefile
(lambda _
(substitute* "makefile"
(("cc -c") "gcc -c"))
(("cc -c") "gcc -c -fPIC"))
#t))
(add-after 'fix-makefile 'turn-off-banner
(lambda _
@ -1503,7 +1462,8 @@ John Cremona to compute his elliptic curve database.")
(file-name (git-file-name name version))
(sha256
(base32
"1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss"))))
"1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss"))
(patches (search-patches "lrcalc-includes.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -1547,6 +1507,7 @@ structure constants of Schubert polynomials.")
(arguments
`(#:configure-flags
(list
"--enable-shared"
(string-append "--with-gmp-include="
(assoc-ref %build-inputs "gmp") "/include")
(string-append "--with-gmp-lib="

View File

@ -8,6 +8,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -90,6 +91,17 @@ use their packages mostly unmodified in our Android NDK build system.")
(define-public android-googletest
(package (inherit googletest)
(name "android-googletest")
(version "1.8.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/googletest.git")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"))))
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")
#:phases

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -25,25 +25,27 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages gettext)
#:use-module (gnu packages maths)
#:use-module (gnu packages pcre)
#:use-module (gnu packages readline)
#:use-module (gnu packages sqlite))
(define-public apl
(package
(name "apl")
(version "1.7")
(version "1.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz"))
(sha256
(base32
"07xq8ddlmz8psvsmwr23gar108ri0lwmw0n6kpxcv8ypas1f5xlg"))))
"1jxvv2h3y1am1fw6r5sn3say1n0dj8shmscbybl0qhqdia2lqkql"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/apl/")
(inputs
`(("gettext" ,gettext-minimal)
("lapack" ,lapack)
("pcre" ,pcre2)
("sqlite" ,sqlite)
("readline" ,readline)))
(arguments

View File

@ -2,6 +2,7 @@
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,17 +23,27 @@
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages image)
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages version-control)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xiph)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages algebra)
#:use-module (gnu packages lua)
#:use-module (gnu packages perl)
#:use-module (gnu packages gl)
#:use-module (gnu packages qt)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages maths)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:use-module (srfi srfi-1))
(define-public cfitsio
(package
@ -133,15 +144,15 @@ programs for the manipulation and analysis of astronomical data.")
(define-public stellarium
(package
(name "stellarium")
(version "0.19.0")
(source (origin
(version "0.19.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Stellarium/" name
(uri (string-append "https://github.com/Stellarium/stellarium"
"/releases/download/v" version
"/" name "-" version ".tar.gz"))
"/stellarium-" version ".tar.gz"))
(sha256
(base32
"1mjjqcpgm5a1022x0mpqj3v6qkvpm9wqm1hqyg0mlypc5681va8a"))))
(base32 "0s7v5iyhah258k83kvy2a91a3mdf34r150lcar4mmdsrrcmas98g"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -176,3 +187,65 @@ programs for the manipulation and analysis of astronomical data.")
can be used to control telescopes over a serial port for tracking celestial
objects.")
(license license:gpl2+)))
(define-public celestia
(let ((commit "9dbdf29c4ac3d20afb2d9a80d3dff241ecf81dce"))
(package
(name "celestia")
(version (git-version "1.6.1" "815" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/celestiaproject/celestia")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"00xibg87l1arzifakgj7s828x9pszcgx7x7ij88a561ig49ryh78"))))
(build-system cmake-build-system)
(native-inputs
`(("perl" ,perl)
("libgit2" ,libgit2)
("pkg-config" ,pkg-config)
("libtool" ,libtool)
("gettext" ,gettext-minimal)))
(inputs
`(("glu" ,glu)
("glew" ,glew)
("libtheora" ,libtheora)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
;; maybe required?
("mesa" ,mesa)
;; optional: fmtlib, Eigen3;
("fmt" ,fmt)
("eigen" ,eigen)
;; glut: for glut interface
("freeglut" ,freeglut)))
(propagated-inputs
`(("lua" ,lua)))
(arguments
`(#:configure-flags '("-DENABLE_GLUT=ON" "-DENABLE_QT=OFF")
#:tests? #f)) ;no tests
(home-page "https://celestia.space/")
(synopsis "Real-time 3D visualization of space")
(description
"This simulation program lets you explore our universe in three
dimensions. Celestia simulates many different types of celestial objects.
From planets and moons to star clusters and galaxies, you can visit every
object in the expandable database and view it from any point in space and
time. The position and movement of solar system objects is calculated
accurately in real time at any rate desired.")
(license license:gpl2+))))
(define-public celestia-gtk
(package
(inherit celestia)
(name "celestia-gtk")
(inputs
(append (alist-delete "freeglut" (package-inputs celestia))
`(("gtk2" ,gtk+-2)
("gtkglext" ,gtkglext))))
(arguments
`(#:configure-flags '("-DENABLE_GTK=ON" "-DENABLE_QT=OFF")
#:tests? #f))))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -274,13 +275,16 @@ without modification.")
`(#:phases (modify-phases %standard-phases
(add-after
'install 'remove-redundant-completions
(lambda* (#:key inputs outputs #:allow-other-keys)
(lambda* (#:key
inputs native-inputs
outputs #:allow-other-keys)
;; Util-linux comes with a bunch of completion files for
;; its own commands which are more sophisticated and
;; up-to-date than those of bash-completion. Remove those
;; from bash-completion.
(let* ((out (assoc-ref outputs "out"))
(util-linux (assoc-ref inputs "util-linux"))
(util-linux (assoc-ref (or native-inputs inputs)
"util-linux"))
(completions (string-append out
"/share/bash-completion"
"/completions"))

View File

@ -4745,3 +4745,27 @@ enhancers. The annotatr package provides an easy way to summarize and
visualize the intersection of genomic sites/regions with genomic
annotations.")
(license license:gpl3)))
(define-public r-rsubread
(package
(name "r-rsubread")
(version "1.34.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Rsubread" version))
(sha256
(base32
"0bsrw61wcav0q22c5m6gr0vn1f3c3ld8gxj730wcab6dj196z6q3"))))
(properties `((upstream-name . "Rsubread")))
(build-system r-build-system)
(inputs `(("zlib" ,zlib)))
(home-page "https://bioconductor.org/packages/Rsubread/")
(synopsis "Subread sequence alignment and counting for R")
(description
"This package provides tools for alignment, quantification and analysis
of second and third generation sequencing data. It includes functionality for
read mapping, read counting, SNP calling, structural variant detection and
gene fusion discovery. It can be applied to all major sequencing techologies
and to both short and long sequence reads.")
(license license:gpl3)))

View File

@ -4168,7 +4168,7 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
(define-public khmer
(package
(name "khmer")
(version "2.1.2")
(version "3.0.0a3")
(source
(origin
(method git-fetch)
@ -4178,8 +4178,7 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
(file-name (git-file-name name version))
(sha256
(base32
"02x38d9jw2r58y8dmnj4hffy9wxv1yc1jwbvdbhby9dxndv94r9m"))
(patches (search-patches "khmer-use-libraries.patch"))
"01l4jczglkl7yfhgvzx8j0df7k54bk1r8sli9ll16i1mis0d8f37"))
(modules '((guix build utils)))
(snippet
'(begin
@ -4192,6 +4191,12 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
;; https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00977.html
(delete-file-recursively "third-party/zlib")
(delete-file-recursively "third-party/bzip2")
(delete-file-recursively "third-party/seqan")
(substitute* "setup.cfg"
(("# libraries = z,bz2")
"libraries = z,bz2")
(("include:third-party/zlib:third-party/bzip2")
"include:"))
#t))))
(build-system python-build-system)
(arguments
@ -4208,6 +4213,7 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
(inputs
`(("zlib" ,zlib)
("bzip2" ,bzip2)
("seqan" ,seqan-1)
("python-screed" ,python-screed)
("python-bz2file" ,python-bz2file)))
(home-page "https://khmer.readthedocs.org/")

View File

@ -30,14 +30,14 @@
(define-public calcurse
(package
(name "calcurse")
(version "4.4.0")
(version "4.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://calcurse.org/files/calcurse-"
version ".tar.gz"))
(sha256
(base32 "0vw2xi6a2lrhrb8n55zq9lv4mzxhby4xdf3hmi1vlfpyrpdwkjzd"))))
(base32 "1vjwcmp51h7dsvwn0qx93w9chp3wp970v7d9mjhk7jyamcbfywn3"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
(native-inputs `(("tzdata" ,tzdata-for-tests)))

View File

@ -461,12 +461,10 @@ test coverage and has a web user interface that will refresh automatically.")
(home-page "https://github.com/smartystreets/goconvey")
(license license:expat)))
;; XXX When updating, check whether ZNC's GOOGLETEST-SOURCES can be
;; switched back to simply using (PACKAGE-SOURCE ...).
(define-public googletest
(package
(name "googletest")
(version "1.8.0")
(version "1.8.1")
(source
(origin
(method git-fetch)
@ -475,8 +473,7 @@ test coverage and has a web user interface that will refresh automatically.")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"))))
(base32 "0270msj6n7mggh4xqqjp54kswbl7mkcc8px1p5dqdpmw5ngh9fzk"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))

View File

@ -755,6 +755,11 @@ from forcing GEXP-PROMISE."
("udev" ,eudev)
("valgrind" ,valgrind)
("vulkan-headers" ,vulkan-headers)))
;; Building Chromium with a single core takes around 6 hours on an x86_64
;; system. Give some leeway for slower or busy machines.
(properties '((timeout . 64800))) ;18 hours
(home-page "https://github.com/Eloston/ungoogled-chromium")
(description
"Ungoogled-Chromium is the Chromium web browser, with some functionality

View File

@ -35,6 +35,7 @@
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -272,14 +273,14 @@ mapping from string keys to string values.")
(define-public memcached
(package
(name "memcached")
(version "1.5.14")
(version "1.5.16")
(source
(origin
(method url-fetch)
(uri (string-append
"https://memcached.org/files/memcached-" version ".tar.gz"))
(sha256
(base32 "1agj198rm5kc64z8qxck65kdzvw30pdfxalygipnryw0lwlxynww"))))
(base32 "0nnccb697jhdn5gqrh3phibzs6xr4nf4ryv7nmyv5vf11n4jr8j5"))))
(build-system gnu-build-system)
(inputs
`(("libevent" ,libevent)
@ -846,6 +847,19 @@ TIMESTAMP. It also supports storage of binary large objects, including
pictures, sounds, or video.")
(license (license:x11-style "file://COPYRIGHT"))))
(define-public postgresql-11
(package
(inherit postgresql)
(name "postgresql")
(version "11.4")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"12ycjlqncijgmd5z078ybwda8ilas96lc7nxxmdq140mzpgjv002"))))))
(define-public postgresql-9.6
(package
(inherit postgresql)
@ -2150,13 +2164,13 @@ etc., and an SQL engine for performing simple SQL queries.")
(define-public python-lmdb
(package
(name "python-lmdb")
(version "0.94")
(version "0.95")
(source (origin
(method url-fetch)
(uri (pypi-uri "lmdb" version))
(sha256
(base32
"1zh38gvkqw1jm5105if6rr7ccbgyxr7k2rm5ygb9ab3bq82pyaww"))
"0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91"))
(modules '((guix build utils)))
(snippet
;; Delete bundled lmdb source files.

View File

@ -439,15 +439,16 @@ a card with a smaller capacity than stated.")
(define-public python-parted
(package
(name "python-parted")
(version "3.11.1")
(version "3.11.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/dcantrell/pyparted/archive/v"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/dcantrell/pyparted.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0r1nyjj40nacnfnv17x2mnsj6ga1qplyxyza82v2809dfhim2fwq"))))
(base32 "0r6916n3w4vldxrq30a3z2iagvxgly4vfmlidjm65vwqnyv17bvn"))))
(build-system python-build-system)
(arguments
`(#:phases

View File

@ -236,7 +236,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(define-public emacs-with-editor
(package
(name "emacs-with-editor")
(version "2.8.0")
(version "2.8.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -245,7 +245,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
(file-name (git-file-name name version))
(sha256
(base32
"1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q"))))
"1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
@ -3151,7 +3151,7 @@ build jobs.")
(define-public emacs-company
(package
(name "emacs-company")
(version "0.9.7")
(version "0.9.10")
(source
(origin
(method git-fetch)
@ -3160,7 +3160,7 @@ build jobs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1gpapjxs4l6fmmj22q0q1pyhj1yd9j5iqfqnjf1abskkj69lqkpj"))))
(base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -4180,7 +4180,7 @@ them easier to distinguish from other, less important buffers.")
(define-public emacs-prescient
(package
(name "emacs-prescient")
(version "2.2.2")
(version "3.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4189,7 +4189,7 @@ them easier to distinguish from other, less important buffers.")
(file-name (git-file-name name version))
(sha256
(base32
"1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0"))))
"1cdjvlwlvxxazz7hlxgvdp0pznvj1gzqa2r6k4im0cpdrnnng6j6"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-company" ,emacs-company)
@ -4615,18 +4615,23 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
(license license:gpl3+))))
(define-public emacs-ivy-rich
;; The latest release version has a small mistake that has since been fixed,
;; so we use a more recent commit.
(let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08")
(version "0.1.4")
(revision "1"))
(package
(name "emacs-ivy-rich")
(version "0.1.0")
(version (git-version version revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Yevgnen/ivy-rich.git")
(commit version)))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0ayf3dwfhafcbqnckm65zy8nc1rv9ji939qfn53wbhxkrgqdicgz"))))
(base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)))
@ -4637,7 +4642,7 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled
minibuffer for each candidate. It adds columns showing buffer modes, file
sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can
show icons as well.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-avy
(package
@ -5105,15 +5110,16 @@ strings, and code folding.")
(define-public emacs-nodejs-repl
(package
(name "emacs-nodejs-repl")
(version "0.2.0")
(version "0.2.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/abicky/nodejs-repl.el"
"/archive/" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/abicky/nodejs-repl.el")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0hq2cqdq2668yf48g7qnkci90nhih1gnhacsgz355jnib56lhmkz"))
(file-name (string-append name "-" version ".tar.gz"))))
"05ccv87rnw7fss3lib8m9sywjrj6n92fnd7mmhmjh27g2klqc83z"))))
(build-system emacs-build-system)
(home-page "https://github.com/abicky/nodejs-repl.el")
(synopsis "Node.js REPL inside Emacs")
@ -5133,14 +5139,14 @@ features:
(name "emacs-typescript-mode")
(version "0.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/ananthakumaran/typescript.el"
"/archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/ananthakumaran/typescript.el")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1gqjirm8scf0wysm7x97zdfbs4qa5nqdl64jfbkd18iskv5mg3rj"))
(file-name (string-append name "-" version ".tar.gz"))))
"002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh"))))
(build-system emacs-build-system)
(home-page "https://github.com/ananthakumaran/typescript.el")
(synopsis "Emacs major mode for editing Typescript code")
@ -5160,13 +5166,14 @@ indentation and filling of comments and C preprocessor fontification.")
(name "emacs-tide")
(version "3.2.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ananthakumaran/tide"
"/archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/ananthakumaran/tide")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1c600myr2yqbkmy9lify38lz0zzjdqk1733db5n7vsay16vn6fzi"))
(file-name (string-append name "-" version ".tar.gz"))))
"19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
@ -5761,14 +5768,14 @@ Dust.js, React/JSX, Angularjs, ejs, etc.")
(name "emacs-wgrep")
(version "2.3.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/mhayashi1120/Emacs-wgrep/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/mhayashi1120/Emacs-wgrep")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1cssqbg03fjb6xwf7idv1l3jjsh9r5r232ryi11czqlxfiv658bj"))))
"0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s"))))
(build-system emacs-build-system)
(home-page "https://github.com/mhayashi1120/Emacs-wgrep")
(synopsis "Edit a grep buffer and apply those changes to the files")
@ -6760,7 +6767,7 @@ notifications.")
(define-public emacs-alert
(package
(name "emacs-alert")
(version "1.2")
(version "1.3")
(source
(origin
(method git-fetch)
@ -6769,7 +6776,7 @@ notifications.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vpc3q40m6dcrslki4bg725j4kv6c6xfxwjjl1ilg7la49fwwf26"))))
(base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-gntp" ,emacs-gntp)
@ -6783,8 +6790,8 @@ customizable by the user.")
(license license:gpl2+)))
(define-public emacs-zones
(let ((commit "353fc38a6544eb59887bee045e373406f1d038a5")
(revision "1"))
(let ((commit "3169815c323966ff8e252b44e3558d6d045243fe")
(revision "2"))
(package
(name "emacs-zones")
(version (git-version "0" revision commit))
@ -6797,7 +6804,7 @@ customizable by the user.")
(file-name (git-file-name name version))
(sha256
(base32
"0gwnw2giii2a14nlh62xp45f47cw6ikqphhzpmcw6c7mn9x5z2ar"))
"039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl"))
(patches
(search-patches
"emacs-zones-called-interactively.patch"))))
@ -7589,15 +7596,17 @@ and cangjie.")
(define-public emacs-posframe
(package
(name "emacs-posframe")
(version "0.4.2")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/posframe-" version ".el"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/tumashu/posframe")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds"))))
"1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3"))))
(build-system emacs-build-system)
;; emacs-minimal does not include the function font-info
(arguments `(#:emacs ,emacs))
@ -7878,6 +7887,37 @@ other operations.")
on mouse-control.")
(license license:gpl3+)))
(define-public emacs-gnugo
(package
(name "emacs-gnugo")
(version "3.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/gnugo-"
version ".tar"))
(sha256
(base32
"0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1"))))
(build-system emacs-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'configure-default-gnugo-xpms-variable
(lambda _
(substitute* "gnugo.el"
(("defvar gnugo-xpms nil")
"defvar gnugo-xpms #'gnugo-imgen-create-xpms"))
#t)))))
(propagated-inputs
`(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode)
("emacs-xpm" ,emacs-xpm)))
(home-page "https://elpa.gnu.org/packages/gnugo.html")
(synopsis "Emacs major mode for playing GNU Go")
(description "This package provides an Emacs based interface for GNU Go.
It has a graphical mode where the board and stones are drawn using XPM images
and supports the use of a mouse.")
(license license:gpl3+)))
(define-public emacs-gnuplot
(package
(name "emacs-gnuplot")
@ -7962,20 +8002,20 @@ pressed simultaneously or a single key quickly pressed twice.")
(define-public emacs-evil-surround
(package
(name "emacs-evil-surround")
(version "1.0.0")
(version "1.0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/timcharper/evil-surround.git")
(commit (string-append "v" version))))
(url "https://github.com/emacs-evil/evil-surround")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1smv7sqhm1l2bi9fmispnlmjssidblwkmiiycj1n3ag54q27z031"))))
(base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)))
(home-page "https://github.com/timcharper/evil-surround")
(home-page "https://github.com/emacs-evil/evil-surround")
(synopsis "Easily modify surrounding parentheses and quotes")
(description "@code{emacs-evil-surround} allows easy deletion, change and
addition of surrounding pairs, such as parentheses and quotes, in evil mode.")
@ -8636,13 +8676,13 @@ created by @code{git format-patch}, from @code{magit}, @code{dired} and
(version "1.3.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/leathekd/erc-hl-nicks"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/leathekd/erc-hl-nicks")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr"))))
(base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f"))))
(build-system emacs-build-system)
(synopsis "Nickname highlighting for Emacs ERC")
(description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC
@ -8792,27 +8832,20 @@ an elisp expression.")
(define-public emacs-emojify
(package
(name "emacs-emojify")
(version "0.4")
(version "1.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/iqbalansari/emacs-emojify/"
"releases/download/v" version "/emojify-"
version ".tar"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/iqbalansari/emacs-emojify")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0k84v2d2bkiwcky9fi1yyprgkj46g7wh6pyl9gzmcd7sqv051d5n"))))
"1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-data
(lambda* (#:key outputs #:allow-other-keys)
(copy-recursively "data"
(string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/guix.d/"
"emojify-" ,version "/data"))
#t)))))
`(#:include (cons "^data/" %default-include)))
(propagated-inputs
`(("emacs-ht" ,emacs-ht)))
(home-page "https://github.com/iqbalansari/emacs-emojify")
@ -8823,6 +8856,36 @@ well as Github-style emojis like @code{:smile:}. It provides a minor mode
@code{emojify-mode} to enable the display of emojis in a buffer.")
(license license:gpl3+)))
(define-public emacs-make-it-so
(let ((commit "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be")
(version "0.1.0")
(revision "1"))
(package
(name "emacs-make-it-so")
(version (git-version version revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/abo-abo/make-it-so")
(commit commit)))
(sha256
(base32
"0833bzlscpnkvjnrg3g54yr246afbjwri8n5wxk8drnsq6acvd8z"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons "^recipes/" %default-include)))
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)))
(home-page "https://github.com/abo-abo/make-it-so")
(synopsis "Transform files with Makefile recipes")
(description "This package provides an interface for selecting from
different conversion recipes, often including tools like @code{ffmpeg} or
@code{convert}. The conversion command need only be written once, and
subsequent invocations can be readily customized. Several recipes are
included by default, and more can be readily added.")
(license license:gpl3+))))
(define-public emacs-websocket
(package
(name "emacs-websocket")
@ -9186,7 +9249,7 @@ Feautures:
(define-public emacs-evil-matchit
(package
(name "emacs-evil-matchit")
(version "2.2.9")
(version "2.3.0")
(source
(origin
(method git-fetch)
@ -9195,7 +9258,7 @@ Feautures:
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "12if45pxfndy3d7r4gd3zx4d3jk4d64fdmwkhc3y5zhqq9h9iy4c"))))
(base32 "0y6q42hml7jgf060d83m7hf270h01858g5kxw12na9n4r4jjpdg1"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)))
@ -9646,6 +9709,27 @@ matches\" in the mode line in various search modes. This is an Emacs port of
Anzu.zim.")
(license license:gpl3+)))
(define-public emacs-ascii-art-to-unicode
(package
(name "emacs-ascii-art-to-unicode")
(version "1.12")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-"
version ".el"))
(sha256
(base32
"1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html")
(synopsis "ASCII to Unicode art converter for Emacs")
(description "This Emacs package provides the commands @command{aa2u} and
@command{aa2u-rectangle}. Both of these commands can be used to convert
simple ASCII art line drawings to Unicode; the former works on the active
region of the buffer, while the latter works on rectangular selections.")
(license license:gpl3+)))
(define-public emacs-emmet-mode
(package
(name "emacs-emmet-mode")
@ -9758,12 +9842,13 @@ and can be consulted and modified.")
(version "0.03")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/syohex/emacs-evil-anzu"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/syohex/emacs-evil-anzu")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns"))))
(base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)
@ -10106,19 +10191,18 @@ text-mode (i.e. Org-mode).")
(license license:gpl3+))))
(define-public emacs-outshine
(let ((commit "5f1a6b70231d2811c522e4e5e8c89ff461b311d6"))
(package
(name "emacs-outshine")
(version (git-version "2.0" "1" commit))
(version "3.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alphapapa/outshine.git")
(commit commit)))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv"))))
"1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-outorg" ,emacs-outorg)))
@ -10129,6 +10213,131 @@ text-mode (i.e. Org-mode).")
of @code{outline-minor-mode} (@code{org-mode} itself derives from
outline-mode), so there is no such thing like an outshine mode, only
@code{outline-minor-mode} with outshine extensions loaded.")
(license license:gpl3+)))
(define-public emacs-frecency
(let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87")
(version "0.1-pre")
(revision "1"))
(package
(name "emacs-frecency")
(version (git-version version revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alphapapa/frecency.el")
(commit commit)))
(sha256
(base32
"051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-a" ,emacs-a)
("emacs-dash" ,emacs-dash)))
(home-page "https://github.com/alphapapa/frecency.el")
(synopsis "Sort items by frequency and recency of access")
(description "This package provides a way of sorting items via
a heuristic based on frequency and recency.")
(license license:gpl3+))))
(define-public emacs-org-recent-headings
(package
(name "emacs-org-recent-headings")
(version "0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alphapapa/org-recent-headings.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-org" ,emacs-org)
("emacs-dash" ,emacs-dash)
("emacs-frecency" ,emacs-frecency)))
(home-page "https://github.com/alphapapa/org-recent-headings")
(synopsis "Navigate to recently used Org headings and lists")
(description "This package maintains a list of recently used Org headings,
as well as functions for navigating between these headings.")
(license license:gpl3+)))
(define-public emacs-org-super-agenda
(package
(name "emacs-org-super-agenda")
(version "1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alphapapa/org-super-agenda")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0vzf91lsxnhwf52kvm8ycpf0wb9c8l91689vyhwgv4wz8q6cvjwp"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-org" ,emacs-org)
("emacs-dash" ,emacs-dash)
("emacs-ht" ,emacs-ht)
("emacs-s" ,emacs-s)))
(home-page "https://github.com/alphapapa/org-super-agenda")
(synopsis "Supercharged Org agenda")
(description "This package allows items in the Org agenda to be grouped
into sections while preserving the structure imposed by any timestamps.")
(license license:gpl3+)))
(define-public emacs-org-make-toc
(package
(name "emacs-org-make-toc")
(version "0.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alphapapa/org-make-toc")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-org" ,emacs-org)
("emacs-dash" ,emacs-dash)
("emacs-s" ,emacs-s)))
(home-page "https://github.com/alphapapa/org-make-toc")
(synopsis "Maintain a table of contents for an Org file")
(description "This package facilitates the creation and maintenance of
tables of contents.")
(license license:gpl3+)))
(define-public emacs-org-ql
(let ((commit "0aec8ec60395197b2ef2b885c216cf84286efed9")
(version "0.1-pre")
(revision "1"))
(package
(name "emacs-org-ql")
(version (git-version version revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alphapapa/org-ql")
(commit commit)))
(sha256
(base32
"0bj85hxhym7rvkaddcxybxdm7g7w439wij9f2w5ljz1hmvp55991"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-s" ,emacs-s)
("emacs-dash" ,emacs-dash)))
(home-page "https://github.com/alphapapa/org-ql")
(synopsis "Query language for Org buffers")
(description "This package provides a Lispy query language for Org
files, allowing for actions to be performed based on search criteria.")
(license license:gpl3+))))
(define-public emacs-parsebib
@ -11206,10 +11415,10 @@ You should really read org-ref.org in this package for details.")
;; This project is unmaintained. Please use emacs-org-re-reveal instead.
(define-public emacs-org-reveal
(let ((commit "1cdd088ec5fab631c564dca7f9f74fd3e9b7d4d4"))
(let ((commit "9210413202a360a559a51e8275faa42be68cf44b"))
(package
(name "emacs-org-reveal")
(version (git-version "0.1" "2" commit))
(version (git-version "0.1" "3" commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -11218,7 +11427,7 @@ You should really read org-ref.org in this package for details.")
(file-name (git-file-name name version))
(sha256
(base32
"1vjxjadq2i74p96y9jxnqj1yb86fsgxzmn7bjgnb88ay6nvc1l72"))))
"1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza"))))
(build-system emacs-build-system)
(home-page "https://github.com/yjwen/org-reveal")
(synopsis "Org and Reveal.js powered HTML presentation tool")
@ -11382,7 +11591,7 @@ downloading manager for Emacs.")
(define-public emacs-helpful
(package
(name "emacs-helpful")
(version "0.15")
(version "0.16")
(source
(origin
(method git-fetch)
@ -11391,10 +11600,14 @@ downloading manager for Emacs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1rqnx7672175288yqaslw0d9vw04j6psw7mys8j9zcp2i72hlvkn"))))
(base32 "1pzlx3galyryd3hd84hnd7r5s6yl9sdrfhy1s6dgz40glw41wmpr"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-elisp-refs" ,emacs-elisp-refs)))
`(("emacs-elisp-refs" ,emacs-elisp-refs)
("emacs-dash" ,emacs-dash)
("emacs-s" ,emacs-s)
("emacs-f" ,emacs-f)
("emacs-shut-up" ,emacs-shut-up)))
(home-page "https://github.com/Wilfred/helpful")
(synopsis "More contextual information in Emacs help")
(description "@code{helpful} is an alternative to the built-in Emacs help
@ -12780,10 +12993,30 @@ datastructures as needed, both for method parameters and return values, making
using XML-RPC methods fairly transparent to the Lisp code.")
(license license:gpl3+))))
(define-public emacs-xpm
(package
(name "emacs-xpm")
(version "1.0.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/xpm-"
version ".tar"))
(sha256
(base32
"075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/xpm.html")
(synopsis "XPM image editing mode for Emacs")
(description "This Emacs package makes editing XPM images easy (and maybe
fun). Editing is done directly on the (textual) image format, for maximal
cohesion with the Emacs Way.")
(license license:gpl3+)))
(define-public emacs-fish-completion
(package
(name "emacs-fish-completion")
(version "1.0")
(version "1.1")
(source
(origin
(method url-fetch)
@ -12793,7 +13026,7 @@ using XML-RPC methods fairly transparent to the Lisp code.")
version))
(sha256
(base32
"1hpma1c5j50ja03ibr7h1xmyv7k8j3rbvqivad47kwqhlsgw0jk0"))))
"0bpvifv6c2a65nks6kvarw0hhm37fnyy74wikwf9qq1i20va0fpv"))))
(build-system emacs-build-system)
(inputs `(("fish" ,fish)))
(arguments
@ -13593,7 +13826,7 @@ buffers other modes on the TODO list).
(define-public emacs-magit-todos
(package
(name "emacs-magit-todos")
(version "1.1.7")
(version "1.2")
(source
(origin
(method git-fetch)
@ -13603,7 +13836,7 @@ buffers other modes on the TODO list).
(file-name (git-file-name name version))
(sha256
(base32
"0qagdxpik64n4rw9scy451ws5sw00v64ri9g2dcw7b66bx2c6c6w"))))
"17a18gszbypz82bj36xbfyykc4s9rz83vwmpxvlf65svhd51c0nh"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@ -14456,7 +14689,7 @@ to open SQLite databases.")
(define-public emacs-nix-mode
(package
(name "emacs-nix-mode")
(version "1.2.2")
(version "1.4.1")
(source
(origin
(method git-fetch)
@ -14465,10 +14698,11 @@ to open SQLite databases.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vz3s2jx14nzy53f04d821n4f2s22ys5h9s7af6cnpynkwawyhhq"))))
(base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7"))))
(build-system emacs-build-system)
(inputs
`(("emacs-company" ,emacs-company)
("emacs-json-mode" ,emacs-json-mode)
("emacs-mmm-mode" ,emacs-mmm-mode)))
(home-page "https://github.com/NixOS/nix-mode")
(synopsis "Emacs major mode for editing Nix expressions")
@ -14665,20 +14899,19 @@ recursively. The results are cached for speed.")
(license license:gpl3+)))
(define-public emacs-orgit
(let ((commit "2456436a7e64d26bcf455b3890a586acaa3e7f93"))
(package
(name "emacs-orgit")
(version (git-version "1.5.1" "2" commit))
(version "1.5.3")
(home-page "https://github.com/magit/orgit")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1i52dq2ynddb1irgigr5mdwfbfd3bvm1f29jnzd7nlc0nk186nvh"))))
"1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
@ -14689,7 +14922,7 @@ used to link to certain Magit buffers. Use the command
@command{org-store-link} while such a buffer is current to store a link.
Later you can insert it into an Org buffer using the command
@code{org-insert-link}.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-amx
(package
@ -15616,7 +15849,7 @@ previewed by scrolling up and down within a @code{dired} buffer.")
(define-public emacs-counsel-etags
(package
(name "emacs-counsel-etags")
(version "1.8.3")
(version "1.8.4")
(source
(origin
(method git-fetch)
@ -15626,7 +15859,7 @@ previewed by scrolling up and down within a @code{dired} buffer.")
(file-name (git-file-name name version))
(sha256
(base32
"1d8nlrbsyza6q7yqm9248bxxsf49qf6hchg3zwv0l11acn3w8np5"))))
"14my9jvxl26a5yn381h5pi5481y9d9gyk7wnxxd0s4sjc964c5h5"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)))
@ -15636,6 +15869,32 @@ previewed by scrolling up and down within a @code{dired} buffer.")
and searching through @code{Ctags} files.")
(license license:gpl3+)))
(define-public emacs-org-download
(let ((commit "ac72bf8fce3e855da60687027b6b8601cf1de480")
(version "0.1.0")
(revision "1"))
(package
(name "emacs-org-download")
(version (git-version version revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/abo-abo/org-download")
(commit commit)))
(sha256
(base32
"0ax5wd44765wnwabkam1g2r62gq8crx2qq733s2mg1z72cfvwxqb"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-org" ,emacs-org)
("emacs-async" ,emacs-async)))
(home-page "https://github.com/abo-abo/org-download")
(synopsis "Facilitate moving images")
(description "This package provides utilities for managing image files
copied into @code{org-mode} buffers.")
(license license:gpl3+))))
(define-public emacs-helm-dash
(let ((commit "192b862185df661439a06de644791171e899348a")
(version "1.3.0")

View File

@ -233,7 +233,7 @@ turbo speed, networked multiplayer, and graphical enhancements.")
(define-public dosbox
(package
(name "dosbox")
(version "0.74-2")
(version "0.74-3")
(source (origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/projects/dosbox"
@ -242,7 +242,7 @@ turbo speed, networked multiplayer, and graphical enhancements.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ksp1b5szi0vy4x55rm3j1y9wq5mlslpy8llpg87rpdyjlsk0xvh"))))
"02i648i50dwicv1vaql15rccv4g8h5blf5g6inv67lrfxpbkvlf0"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32,7 +33,7 @@
(define-public enchant
(package
(name "enchant")
(version "2.2.3")
(version "2.2.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/AbiWord/enchant/releases"
@ -40,7 +41,7 @@
version ".tar.gz"))
(sha256
(base32
"0v87p1ls0gym95qirijpclk650sjbkcjjl6ssk059zswcwaykn5b"))))
"1p6a3qmrh8bjzds6x7rg9da0ir44gg804jzkf634h39wsa4vdmpm"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static"

View File

@ -399,7 +399,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
(package
(inherit electrum)
(name "electron-cash")
(version "4.0.1")
(version "4.0.7")
(source
(origin
(method url-fetch)
@ -410,7 +410,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
".tar.gz"))
(sha256
(base32
"16fi03f23yb5r9s64x1a9wrxnvivlbawvrbq4d486yclzl1r7y48"))
"0xswmr68cm1c77lzisi3z812jzqczm9dfrshfhdq42zz5kaz4gnn"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -631,7 +631,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
(define-public weston
(package
(name "weston")
(version "6.0.0")
(version "6.0.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -639,7 +639,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
"weston-" version ".tar.xz"))
(sha256
(base32
"04p6hal5kalmdp5dxwh2h5qhkkb4dvbsk7l091zvvcq70slj6qsl"))))
"1d2m658ll8x7prlsfk71qgw89c7dz6y7d6nndfxwl49fmrd6sbxz"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

View File

@ -153,15 +153,15 @@ is used in some video games and movies.")
(define-public deutex
(package
(name "deutex")
(version "5.1.2")
(version "5.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Doom-Utils/" name
(uri (string-append "https://github.com/Doom-Utils/deutex"
"/releases/download/v" version "/"
name "-" version ".tar.xz"))
"deutex-" version ".tar.xz"))
(sha256
(base32
"1rj3w4xa0n4jixy4j7p6gbclylbgxvhdnji7xnkydrqii9rxnbp4"))))
"1d536d3i78k4ch8mjg7lqnamnyfpp2x5x7mzx5smqi9ad8lb6hqz"))))
(build-system gnu-build-system)
(native-inputs `(("asciidoc" ,asciidoc)))
(home-page "https://github.com/Doom-Utils/deutex")
@ -1511,3 +1511,29 @@ added. The permanent goal is to create the open source Quake 3 distribution
upon which people base their games, ports to new platforms, and other
projects.")
(license license:gpl2))))
(define-public openvr
(package
(name "openvr")
(version "1.4.18")
(home-page "https://github.com/ValveSoftware/openvr/")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0m92634j6g0f2xybbzklm79cnq20vidbk1jc62pnz12aabwixvyh"))))
(build-system cmake-build-system)
(arguments
;; No tests.
'(#:tests? #f
#:configure-flags (list "-DBUILD_SHARED=1")))
(synopsis "Virtual reality software development kit")
(description "OpenVR is an API and runtime that allows access to VR
hardware from multiple vendors without requiring that applications have
specific knowledge of the hardware they are targeting.")
(license license:bsd-3)))

View File

@ -42,6 +42,7 @@
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -130,6 +131,7 @@
#:use-module (gnu packages netpbm)
#:use-module (gnu packages networking)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages opencl)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
@ -3542,7 +3544,7 @@ with the \"Stamp\" tool within Tux Paint.")
(description "SuperTux is a free classic 2D jump'n run sidescroller game
in a style similar to the original Super Mario games covered under
the GNU GPL.")
(home-page "https://supertuxproject.org/")
(home-page "https://supertux.org/")
(license license:gpl3+)))
(define-public tintin++
@ -7250,6 +7252,26 @@ the game avoids complex inventory management and character building, relying
on items and player adaptability for character progression.")
(license license:isc)))
(define-public harmonist-tk
(package
(inherit harmonist)
(name "harmonist-tk")
(arguments
(append
(package-arguments harmonist)
`(#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
(invoke "go" "install" "-v" "-x" "--tags" "tk"
"git.tuxfamily.org/harmonist/harmonist")))
(replace 'check
(lambda _
(invoke "go" "test" "--tags" "tk"
"git.tuxfamily.org/harmonist/harmonist")))))))
(inputs
`(("go-github.com-nsf-gothic" ,go-github.com-nsf-gothic)))))
(define-public drascula
(package
(name "drascula")
@ -7556,3 +7578,52 @@ remake of that series or any other game.")
;; released under both gpl2 and cc-by-sa3.0. Bundled Gigi library is
;; released under lgpl2.1+.
(license (list license:gpl2 license:cc-by-sa3.0 license:lgpl2.1+))))
(define-public leela-zero
(package
(name "leela-zero")
(version "0.17")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/leela-zero/leela-zero.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"17px5iny8mql5c01bymcli7zfssswkzvb2i8gnsmjcck6i2n8srl"))
(patches (search-patches "leela-zero-gtest.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("googletest" ,googletest)))
(inputs
`(("boost" ,boost)
("ocl-icd" ,ocl-icd)
("openblas" ,openblas)
("opencl-headers" ,opencl-headers)
("qtbase" ,qtbase)
("zlib" ,zlib)))
(arguments
'(#:configure-flags '("-DUSE_BLAS=YES")
#:phases (modify-phases %standard-phases
(add-before 'configure 'fix-tests
(lambda* (#:key outputs #:allow-other-keys)
(let ((home (getcwd)))
(setenv "HOME" home)
(substitute* "src/tests/gtests.cpp"
(("\\.\\./src/tests/0k\\.txt")
(string-append home "/src/tests/0k.txt"))
(("cfg_gtp_mode = true;")
"cfg_gtp_mode = true; cfg_cpu_only = true;")))
#t))
(replace 'check
(lambda _
(invoke "./tests"))))))
(home-page "https://github.com/leela-zero/leela-zero")
(synopsis "Program playing the game of Go")
(description
"Leela-zero is a Go engine with no human-provided knowledge, modeled after
the AlphaGo Zero paper. The current best network weights file for the engine
can be downloaded from @url{https://zero.sjeng.org/best-network}.")
(license license:gpl3+)))

112
gnu/packages/genealogy.scm Normal file
View File

@ -0,0 +1,112 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; 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 genealogy)
#:use-module (guix build-system python)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages geo)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages version-control))
(define-public gramps
(package
(name "gramps")
(version "5.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gramps-project/gramps.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1jz1fbjj6byndvir7qxzhd2ryirrd5h2kwndxpp53xdc05z1i8g7"))))
(build-system python-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
("intltool" ,intltool)))
(inputs
`(("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf)
("geocode-glib" ,geocode-glib)
("gexiv2" ,gexiv2)
("ghostscript" ,ghostscript)
("gobject-introspection" ,gobject-introspection)
("gtk+" ,gtk+)
("gtkspell3" ,gtkspell3)
("graphviz" ,graphviz)
("librsvg" ,librsvg)
("osm-gps-map" ,osm-gps-map)
("pango" ,pango)
("python-bsddb3" ,python-bsddb3)
("python-pillow" ,python-pillow)
("python-pycairo" ,python-pycairo)
("python-pygobject" ,python-pygobject)
("python-pyicu" ,python-pyicu)
("rcs" ,rcs)
("sqlite" ,sqlite)
("xdg-utils" ,xdg-utils)))
(arguments
`(#:imported-modules ((guix build glib-or-gtk-build-system)
,@%python-build-system-modules)
#:modules ((ice-9 match)
(guix build python-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-before 'check 'set-home-for-tests
(lambda _
(setenv "HOME" (getenv "TMPDIR"))
#t))
(add-before 'wrap 'wrap-with-GI_TYPELIB_PATH
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(paths (map (match-lambda
((output . directory)
(let ((girepodir (string-append
directory
"/lib/girepository-1.0")))
(if (file-exists? girepodir)
girepodir
#f))))
inputs)))
(wrap-program (string-append out "/bin/gramps")
`("GI_TYPELIB_PATH" ":" prefix ,(filter identity paths))))
#t))
(add-after 'wrap 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(home-page "https://gramps-project.org")
(synopsis "Genealogical research software")
(description
"Gramps is a free software project and community striving to produce
a genealogy program that is both intuitive for hobbyists and feature-complete
for professional genealogists.")
(license license:gpl2+)))

View File

@ -872,3 +872,36 @@ dropping features at lower levels.")
OpenStreetMap project. They can be used to convert, filter and update
OpenStreetMap data files.")
(license license:agpl3)))
(define-public osm-gps-map
(package
(name "osm-gps-map")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/nzjrs/osm-gps-map/releases/download/"
version "/osm-gps-map-" version ".tar.gz"))
(sha256
(base32
"11imsf4cz1dpxdjh178k2s29axmq86rkfg1pqmn7incyxmjzhbwg"))))
(build-system gnu-build-system)
(native-inputs
`(("gnome-common" ,gnome-common)
("gtk-doc" ,gtk-doc)
("pkg-config" ,pkg-config)))
(inputs
`(("cairo" ,cairo)
("glib" ,glib)
("gobject-introspection" ,gobject-introspection)
("gtk+" ,gtk+)
("libsoup" ,libsoup)))
(home-page "https://nzjrs.github.io/osm-gps-map/")
(synopsis "GTK+ widget for displaying OpenStreetMap tiles")
(description
"This package provides a GTK+ widget (and Python bindings) that when
given GPS coordinates,draws a GPS track, and points of interest on a moving
map display. Downloads map data from a number of websites, including
@url{https://www.openstreetmap.org}.")
(license license:gpl2+)))

View File

@ -399,6 +399,31 @@ device drivers allows Mesa to be used in many different environments ranging
from software emulation to complete hardware acceleration for modern GPUs.")
(license license:x11)))
(define-public mesa-opencl
(package
(inherit mesa)
(name "mesa-opencl")
(arguments
(substitute-keyword-arguments (package-arguments mesa)
((#:configure-flags flags)
`(cons "-Dgallium-opencl=standalone" ,flags))))
(inputs
`(("libclc" ,libclc)
,@(package-inputs mesa)))
(native-inputs
`(("clang" ,clang)
,@(package-native-inputs mesa)))))
(define-public mesa-opencl-icd
(package
(inherit mesa-opencl)
(name "mesa-opencl-icd")
(arguments
(substitute-keyword-arguments (package-arguments mesa)
((#:configure-flags flags)
`(cons "-Dgallium-opencl=icd"
,(delete "-Dgallium-opencl=standalone" flags)))))))
(define-public mesa-headers
(package
(inherit mesa)

View File

@ -7392,8 +7392,21 @@ kill/reinice processes.")
"/pyatspi-" version ".tar.xz"))
(sha256
(base32
"0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6"))))
"0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6"))
;; Patch from upstream, fixed in newer versions.
(patches (search-patches "python-pyatspi-python-37.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-atk-load
(lambda _
(substitute* "pyatspi/__init__.py"
(("from gi.repository import Atspi")
"gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
from gi.repository import Atspi"))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs

View File

@ -377,15 +377,13 @@ libskba (working with X.509 certificates and CMS data).")
(define-public gpgme
(package
(name "gpgme")
(version "1.13.0")
(version "1.13.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gpgme/gpgme-" version
".tar.bz2"))
(uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2"))
(sha256
(base32
"0c6676g0yhfsmy32i1dgwh5cx0ja8vhcqf4k08zad177m53kxcnl"))))
(base32 "0imyjfryvvjdbai454p70zcr95m94j9xnzywrlilqdw2fqi0pqy4"))))
(build-system gnu-build-system)
(native-inputs
`(("gnupg" ,gnupg)))
@ -669,17 +667,17 @@ PGP keysigning parties.")
(define-public signing-party
(package
(name "signing-party")
(version "2.7")
(home-page "https://salsa.debian.org/debian/signing-party")
(version "2.10")
(home-page "https://salsa.debian.org/signing-party-team/signing-party")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "release-" version))))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1gx9017wag4bgc0h7kca9n3jwwdm7z77yv3viayhg62flbwkvbgb"))))
"0lq8nmwjmysry0n4jg6vb7bh0lagbyb9pa11ii3s41p1mhzchf2r"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf-wrapper)
@ -691,7 +689,7 @@ PGP keysigning parties.")
("perl-net-idn-encode" ,perl-net-idn-encode)
("libmd" ,libmd)))
(arguments
`(#:tests? #f
`(#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
(replace 'configure

View File

@ -426,7 +426,7 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
(define %icecat-version "60.7.0-guix2")
(define %icecat-version "60.7.2-guix1")
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@ -448,7 +448,7 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"08x0nijh0ja5jza95a8y030ibk756bn7zlw3a3c4750yilfhqpqa"))))
"1hkaq8mavmn2wphfbrlq3v56jvmvfi2nyvrkjgr28rc01jkqx4ca"))))
(upstream-icecat-base-version "60.7.0") ; maybe older than base-version
(upstream-icecat-gnu-version "1")

View File

@ -68,6 +68,7 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -1687,7 +1688,7 @@ input.")
(origin
(method url-fetch)
(uri (string-append "https://alpha.gnu.org/gnu/ssw/"
name "-" version ".tar.gz"))
"spread-sheet-widget-" version ".tar.gz"))
(sha256
(base32 "1h93yyh2by6yrmkwqg38nd5knids05k5nqzcihc1hdwgzg3c4b8y"))))
(build-system gnu-build-system)
@ -1706,6 +1707,38 @@ viewing and manipulating 2 dimensional tabular data in a manner similar to many
popular spread sheet programs.")
(license license:gpl3+)))
(define-public volumeicon
(package
(name "volumeicon")
(version "0.5.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://nullwise.com/files/volumeicon/volumeicon-"
version ".tar.gz"))
(sha256
(base32 "182xl2w8syv6ky2h2bc9imc6ap8pzh0p7rp63hh8nw0xm38c3f14"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--enable-notify"))) ; optional libnotify support
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("gtk+" ,gtk+)
("libnotify" ,libnotify)))
(home-page "http://nullwise.com/volumeicon.html")
(synopsis "System tray volume applet")
(description
"Volume Icon is a volume indicator and control applet for @acronym{the
Advanced Linux Sound Architecture, ALSA}. It sits in the system tray,
independent of your desktop environment, and supports global key bindings.")
(license (list license:expat ; src/{bind.c,keybinder.h}
license:isc ; src/alsa_volume_mapping.c
license:gpl3)))) ; the rest & combined work
(define-public yad
(package
(name "yad")

View File

@ -2123,7 +2123,14 @@ chunks can be expressions as well as simple tokens.")
(file-name (git-file-name name version))
(sha256
(base32
"0z5nf377wh8yj6n3sx2ddn4bdx1qrqnw899dlqjhg0q69qzil522"))))
"0z5nf377wh8yj6n3sx2ddn4bdx1qrqnw899dlqjhg0q69qzil522"))
(modules '((guix build utils)))
(snippet
'(begin
;; Install .go files in the right place.
(substitute* "Makefile.am"
(("/ccache") "/site-ccache"))
#t))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -2163,8 +2170,8 @@ serializing continuations or delimited continuations.")
(license license:lgpl2.0+))))
(define-public python-on-guile
(let ((commit "058c596cd3886447da31171e1026d4d19f5f5313")
(revision "2"))
(let ((commit "00a51a23247f1edc4ae8eda72b30df5cd7d0015f")
(revision "3"))
(package
(name "python-on-guile")
(version (git-version "0.1.0" revision commit))
@ -2176,16 +2183,27 @@ serializing continuations or delimited continuations.")
(file-name (git-file-name name version))
(sha256
(base32
"0ppyh5kkhsph5kc091p2b5a3alnj3wnlx8jr5xpyhrsj0vx9cqph"))))
"03rpnqr08rqr3gay128g564rwk8w4jbj28ss6b46z1d4vjs4nk68"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; not supported
#:make-flags
'("GUILE_AUTO_COMPILE=0") ; to prevent guild errors
#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "modules") #t)))))
(lambda _ (chdir "modules") #t))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
;; Wrap the 'python' executable so it can find its
;; dependencies.
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/python")
`("GUILE_LOAD_PATH" ":" prefix
(,(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,(getenv "GUILE_LOAD_COMPILED_PATH"))))
#t))))))
(inputs
`(("guile" ,guile-2.2)))
(propagated-inputs
@ -2384,3 +2402,37 @@ and minor modes, etc., and can also be used as a pure Guile library. It
comes with a simple counter example using GLUT and browser examples in C
using gtk+-3 and webkitgtk.")
(license license:gpl3+))))
(define-public guile-jpeg
(let ((commit "6a1673578b297c2c1b28e44a76bd5c49e76a5046")
(revision "0"))
(package
(name "guile-jpeg")
(version (git-version "0.0" revision commit))
(home-page "https://gitlab.com/wingo/guile-jpeg")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
(commit commit)))
(sha256
(base32
"05z9m408w3h6aqb5k3r3qa7khir0k10rxwvsrzhkcq1hr5vbmr4m"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
;; Install .go files in the right place.
(substitute* "Makefile.am"
(("/ccache") "/site-ccache"))
#t))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("guile" ,guile-2.2)))
(synopsis "JPEG file parsing library for Guile")
(description
"Guile-JPEG is a Scheme library to parse JPEG image files and to
perform geometrical transforms on JPEG images.")
(license license:gpl3+))))

View File

@ -1006,27 +1006,19 @@ channels.")
(define-public exiv2
(package
(name "exiv2")
(version "0.26")
(source (origin
(version "0.27.1")
(source
(origin
(method url-fetch)
(uri (list (string-append "https://www.exiv2.org/builds/exiv2-"
version "-trunk.tar.gz")
(string-append "https://www.exiv2.org/exiv2-"
version ".tar.gz")
(string-append "https://fossies.org/linux/misc/exiv2-"
version ".tar.gz")))
(patches (search-patches "exiv2-CVE-2017-14860.patch"
"exiv2-CVE-2017-14859-14862-14864.patch"))
(uri (string-append "https://www.exiv2.org/builds/exiv2-" version
"-Source.tar.gz"))
(sha256
(base32
"1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; no `check' target
(base32 "109hbfk63dh14fz20ivq20gcclb9jj9jmh48w4lcn6zxh1ljh9gi"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; no test suite
(propagated-inputs
`(("expat" ,expat)
("zlib" ,zlib)))
(native-inputs
`(("intltool" ,intltool)))
(home-page "https://www.exiv2.org/")
(synopsis "Library and command-line utility to manage image metadata")
(description

View File

@ -2096,6 +2096,50 @@ new Date();"))
"This package provides the Java development kit OpenJDK.")
(license license:gpl2+)))
(define-public openjdk12
(package
(inherit openjdk11)
(name "openjdk")
(version "12.33")
(source (origin
(method url-fetch)
(uri "http://hg.openjdk.java.net/jdk/jdk/archive/0276cba45aac.tar.bz2")
(file-name (string-append name "-" version ".tar.bz2"))
(sha256
(base32
"0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"))
(modules '((guix build utils)))
(snippet
`(begin
(for-each delete-file (find-files "." ".*.bin$"))
(for-each delete-file (find-files "." ".*.exe$"))
(for-each delete-file (find-files "." ".*.jar$"))
#t))))
(inputs
`(("alsa-lib" ,alsa-lib)
("cups" ,cups)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("giflib" ,giflib)
("lcms" ,lcms)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libx11" ,libx11)
("libxext" ,libxext)
("libxrandr" ,libxrandr)
("libxrender" ,libxrender)
("libxt" ,libxt)
("libxtst" ,libxtst)))
(native-inputs
`(("autoconf" ,autoconf)
("openjdk11" ,openjdk11)
("openjdk11:jdk" ,openjdk11 "jdk")
("pkg-config" ,pkg-config)
("unzip" ,unzip)
("which" ,which)
("zip" ,zip)))
(home-page "https://openjdk.java.net/projects/jdk/12")))
(define-public icedtea icedtea-8)

View File

@ -421,8 +421,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 "5.1.11")
(define %linux-libre-hash "15hmqycsggqd9bwrf229b7f0pfznzs03kpzcwrd9j867pvgwyl8c")
(define %linux-libre-version "5.1.15")
(define %linux-libre-hash "1f0hhyjsm4bl7k7w88aifvhmqmjkvkvlpd2b69y7s6csr22fk6v4")
(define %linux-libre-5.1-patches
(list %boot-logo-patch
@ -439,8 +439,8 @@ It has been modified to remove all non-free binary blobs.")
(make-linux-libre-headers %linux-libre-version
%linux-libre-hash))
(define %linux-libre-4.19-version "4.19.52")
(define %linux-libre-4.19-hash "1wsrgrskmvipm7j4kzir93p9dp3iy49522163ghfxx71b1b2v4dg")
(define %linux-libre-4.19-version "4.19.56")
(define %linux-libre-4.19-hash "1zqiic55viy065lhnkmhn33sz3bbbr2ykbm5f92yzd8lpc9zl7yx")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
@ -457,8 +457,8 @@ It has been modified to remove all non-free binary blobs.")
(make-linux-libre-headers %linux-libre-4.19-version
%linux-libre-4.19-hash))
(define %linux-libre-4.14-version "4.14.127")
(define %linux-libre-4.14-hash "0dkzgxfzzc6n3k2x8nzzx98c6y3fhsr695rm46ahvg7fdg3vgcmi")
(define %linux-libre-4.14-version "4.14.130")
(define %linux-libre-4.14-hash "1fk6ds0q2rykr6byvfass8f5a9k6qq9sk261wjcfp1gn8b9wmxws")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -471,14 +471,14 @@ It has been modified to remove all non-free binary blobs.")
%linux-libre-4.14-hash))
(define-public linux-libre-4.9
(make-linux-libre "4.9.182"
"1615v8ywwdm204bimq2cf6qv0zas14yagpr8lk9a5zqxas4p4rns"
(make-linux-libre "4.9.183"
"1w3syih3fggwkpcl6zkmm9f6577r2jvack4br5ffccgcddkz52ia"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.182"
"0ggs5pyjr7a9mldskfbsybzxlb3lmfbhxg5q2qpzxnh1c8wcn53h"
(make-linux-libre "4.4.183"
"1v21n5kwnv9n18gfp2dz9hsdkwmfwigalr82xsnwbzhs0x561bxx"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config
#:extra-options

View File

@ -47,6 +47,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages bison)
#:use-module (gnu packages c)
#:use-module (gnu packages compression)
#:use-module (gnu packages ed)
#:use-module (gnu packages flex)
@ -65,6 +66,8 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
@ -5369,3 +5372,627 @@ command line, to data scanning and extracting scripts, to full application
development in a wide-range of areas.")
(home-page "https://nongnu.org/txr/")
(license license:bsd-2)))
(define-public sbcl-clunit
(let ((commit "6f6d72873f0e1207f037470105969384f8380628")
(revision "1"))
(package
(name "sbcl-clunit")
(version (git-version "0.2.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tgutu/clunit.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85"))))
(build-system asdf-build-system/sbcl)
(synopsis "CLUnit is a Common Lisp unit testing framework")
(description
"CLUnit is a Common Lisp unit testing framework. It is designed
to be easy to use so that you can quickly start testing. CLUnit
provides a rich set of features aimed at improving your unit testing
experience.")
(home-page "http://tgutu.github.io/clunit/")
;; MIT License
(license license:expat))))
(define-public cl-clunit
(sbcl-package->cl-source-package sbcl-clunit))
(define-public ecl-clunit
(sbcl-package->ecl-package sbcl-clunit))
(define-public sbcl-py4cl
(let ((commit "4c8a2b0814fd311f978964f825ce012290f60136")
(revision "1"))
(package
(name "sbcl-py4cl")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bendudson/py4cl.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r"))
(modules '((guix build utils)))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("sbcl-clunit" ,sbcl-clunit)))
(inputs
`(("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
(propagated-inputs
;; This package doesn't do anything without python available
`(("python" ,python)
;; For multi-dimensional array support
("python-numpy" ,python-numpy)))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'replace-*base-directory*-var
(lambda* (#:key outputs #:allow-other-keys)
;; In the ASD, the author makes an attempt to
;; programatically determine the location of the
;; source-code so lisp can call into "py4cl.py". We can
;; hard-code this since we know where this file will
;; reside.
(substitute* "src/callpython.lisp"
(("py4cl/config:\\*base-directory\\*")
(string-append
"\""
(assoc-ref outputs "out")
"/share/common-lisp/sbcl-source/py4cl/"
"\""))))))))
(synopsis "Call python from Common Lisp")
(description
"Py4CL is a bridge between Common Lisp and Python, which enables Common
Lisp to interact with Python code. It uses streams to communicate with a
separate python process, the approach taken by cl4py. This is different to
the CFFI approach used by burgled-batteries, but has the same goal.")
(home-page "https://github.com/bendudson/py4cl")
;; MIT License
(license license:expat))))
(define-public cl-py4cl
(sbcl-package->cl-source-package sbcl-py4cl))
(define-public ecl-py4cl
(sbcl-package->ecl-package sbcl-py4cl))
(define-public sbcl-parse-declarations
(package
(name "sbcl-parse-declarations")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (string-append
"http://beta.quicklisp.org/archive/parse-declarations/"
"2010-10-06/parse-declarations-20101006-darcs.tgz"))
(sha256
(base32
"0r85b0jfacd28kr65kw9c13dx4i6id1dpmby68zjy63mqbnyawrd"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:asd-file "parse-declarations-1.0.asd"
#:asd-system-name "parse-declarations-1.0"))
(home-page "https://common-lisp.net/project/parse-declarations/")
(synopsis "Parse, filter, and build declarations")
(description
"Parse-Declarations is a Common Lisp library to help writing
macros which establish bindings. To be semantically correct, such
macros must take user declarations into account, as these may affect
the bindings they establish. Yet the ANSI standard of Common Lisp does
not provide any operators to work with declarations in a convenient,
high-level way. This library provides such operators.")
;; MIT License
(license license:expat)))
(define-public cl-parse-declarations
(sbcl-package->cl-source-package sbcl-parse-declarations))
(define-public ecl-parse-declarations
(sbcl-package->ecl-package sbcl-parse-declarations))
(define-public sbcl-cl-quickcheck
(let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f")
(revision "1"))
(package
(name "sbcl-cl-quickcheck")
(version (git-version "0.0.4" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mcandre/cl-quickcheck.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767"))))
(build-system asdf-build-system/sbcl)
(synopsis
"Common Lisp port of the QuickCheck unit test framework")
(description
"Common Lisp port of the QuickCheck unit test framework")
(home-page "https://github.com/mcandre/cl-quickcheck")
;; MIT
(license license:expat))))
(define-public cl-cl-quickcheck
(sbcl-package->cl-source-package sbcl-cl-quickcheck))
(define-public ecl-cl-quickcheck
(sbcl-package->ecl-package sbcl-cl-quickcheck))
(define-public sbcl-burgled-batteries3
(let ((commit "9c0f6667e1a71ddf77e21793a0bea524710fef6e")
(revision "1"))
(package
(name "sbcl-burgled-batteries3")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/snmsts/burgled-batteries3.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0b726kz2xxcg5l930gz035rsdvhxrzmp05iwfwympnb4z4ammicb"))))
(build-system asdf-build-system/sbcl)
(arguments
'(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-*cpython-include-dir*-var
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grovel-include-dir.lisp"
(("\\(defparameter \\*cpython-include-dir\\* \\(detect-python\\)\\)")
(string-append
"(defparameter *cpython-include-dir* \""
(assoc-ref inputs "python")
"/include/python3.7m"
"\")")))
(substitute* "ffi-interface.lisp"
(("\\*cpython-lib\\*")
(format #f "'(\"~a/lib/libpython3.so\")"
(assoc-ref inputs "python"))))
#t)))))
(native-inputs
`(("python" ,python)
("sbcl-cl-fad" ,sbcl-cl-fad)
("sbcl-lift" ,sbcl-lift)
("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck)))
(inputs
`(("sbcl-cffi" ,sbcl-cffi)
("sbcl-cffi-grovel" ,sbcl-cffi-grovel)
("sbcl-alexandria" , sbcl-alexandria)
("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
(synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
(description
"This package provides a shim between Python3 (specifically, the
CPython implementation of Python) and Common Lisp.")
(home-page "https://github.com/snmsts/burgled-batteries3")
;; MIT
(license license:expat))))
(define-public cl-burgled-batteries3
(sbcl-package->cl-source-package sbcl-burgled-batteries3))
(define-public ecl-burgled-batteries3
(sbcl-package->ecl-package sbcl-burgled-batteries3))
(define-public sbcl-metabang-bind
(let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
(revision "1"))
(package
(name "sbcl-metabang-bind")
(version (git-version "0.8.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/metabang-bind.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
(build-system asdf-build-system/sbcl)
(native-inputs
`(("sbcl-lift" ,sbcl-lift)))
(synopsis "Macro that generalizes @code{multiple-value-bind} etc.")
(description
"Bind extends the idea of of let and destructing to provide a uniform
syntax for all your accessor needs. It combines @code{let},
@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure
editing, property or association-lists, and @code{multiple-value-bind} and a
whole lot more into a single form.")
(home-page "https://common-lisp.net/project/metabang-bind/")
;; MIT License
(license license:expat))))
(define-public cl-metabang-bind
(sbcl-package->cl-source-package sbcl-metabang-bind))
(define-public ecl-metabang-bind
(sbcl-package->ecl-package sbcl-metabang-bind))
(define-public sbcl-fare-utils
(let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724")
(revision "1"))
(package
(name "sbcl-fare-utils")
(version (git-version "1.0.0.5" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url
"https://gitlab.common-lisp.net/frideau/fare-utils.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:test-asd-file "test/fare-utils-test.asd"))
(native-inputs
`(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
(synopsis "Collection of utilities and data structures")
(description
"fare-utils is a small collection of utilities. It contains a lot of
basic everyday functions and macros.")
(home-page "https://gitlab.common-lisp.net/frideau/fare-utils")
;; MIT License
(license license:expat))))
(define-public cl-fare-utils
(sbcl-package->cl-source-package sbcl-fare-utils))
(define-public ecl-fare-utils
(sbcl-package->ecl-package sbcl-fare-utils))
(define-public sbcl-idna
(package
(name "sbcl-idna")
(build-system asdf-build-system/sbcl)
(version "0.2.2")
(home-page "https://github.com/antifuchs/idna")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2"))))
(inputs
`(("split-sequence" ,sbcl-split-sequence)))
(synopsis "IDNA string encoding and decoding routines for Common Lisp")
(description "This Common Lisp library provides string encoding and
decoding routines for IDNA, the International Domain Names in Applications.")
(license license:expat)))
(define-public cl-idna
(sbcl-package->cl-source-package sbcl-idna))
(define-public ecl-idna
(sbcl-package->ecl-package sbcl-idna))
(define-public sbcl-swap-bytes
(package
(name "sbcl-swap-bytes")
(build-system asdf-build-system/sbcl)
(version "1.1")
(home-page "https://github.com/sionescu/swap-bytes")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1qysbv0jngdfkv53y874qjhcxc4qi8ixaqq6j8bzxh5z0931wv55"))))
(inputs
`(("trivial-features" ,sbcl-trivial-features)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(arguments
;; TODO: Tests fail, why?
`(#:tests? #f))
(synopsis "Efficient endianness conversion for Common Lisp")
(description "This Common Lisp library provides optimized byte-swapping
primitives. The library can change endianness of unsigned integers of length
1/2/4/8. Very useful in implementing various network protocols and file
formats.")
(license license:expat)))
(define-public cl-swap-bytes
(sbcl-package->cl-source-package sbcl-swap-bytes))
(define-public ecl-swap-bytes
(sbcl-package->ecl-package sbcl-swap-bytes))
(define-public sbcl-iolib.asdf
;; Latest release is from June 2017.
(let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4")
(revision "1"))
(package
(name "sbcl-iolib.asdf")
(build-system asdf-build-system/sbcl)
(version "0.8.3")
(home-page "https://github.com/sionescu/iolib")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm"))))
(inputs
`(("alexandria" ,sbcl-alexandria)))
(arguments
'(#:asd-file "iolib.asdf.asd"))
(synopsis "ASDF component classes for IOLib, a Common Lisp I/O library")
(description "IOlib is to be a better and more modern I/O library than
the standard Common Lisp library. It contains a socket library, a DNS
resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)}
and @code{kqueue(2)}), a pathname library and file-system utilities.")
(license license:expat))))
(define-public sbcl-iolib.conf
(package
(inherit sbcl-iolib.asdf)
(name "sbcl-iolib.conf")
(inputs
`(("iolib.asdf" ,sbcl-iolib.asdf)))
(arguments
'(#:asd-file "iolib.conf.asd"))
(synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library")))
(define-public sbcl-iolib.common-lisp
(package
(inherit sbcl-iolib.asdf)
(name "sbcl-iolib.common-lisp")
(inputs
`(("iolib.asdf" ,sbcl-iolib.asdf)
("iolib.conf" ,sbcl-iolib.conf)))
(arguments
'(#:asd-file "iolib.common-lisp.asd"))
(synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library")))
(define-public sbcl-iolib.base
(package
(inherit sbcl-iolib.asdf)
(name "sbcl-iolib.base")
(inputs
`(("iolib.asdf" ,sbcl-iolib.asdf)
("iolib.conf" ,sbcl-iolib.conf)
("iolib.common-lisp" ,sbcl-iolib.common-lisp)
("split-sequence" ,sbcl-split-sequence)))
(arguments
'(#:asd-file "iolib.base.asd"))
(synopsis "Base package for IOLib, a Common Lisp I/O library")))
(define-public sbcl-iolib.grovel
(package
(inherit sbcl-iolib.asdf)
(name "sbcl-iolib.grovel")
(inputs
`(("iolib.asdf" ,sbcl-iolib.asdf)
("iolib.conf" ,sbcl-iolib.conf)
("iolib.base", sbcl-iolib.base)
("cffi", sbcl-cffi)))
(arguments
'(#:asd-file "iolib.grovel.asd"
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-header
(lambda* (#:key outputs #:allow-other-keys)
;; This header is required by sbcl-iolib.
(install-file "src/grovel/grovel-common.h"
(string-append (assoc-ref outputs "out")
"/lib/sbcl"))
#t)))))
(synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library")))
(define-public sbcl-iolib
(package
(inherit sbcl-iolib.asdf)
(name "sbcl-iolib")
(inputs
`(("iolib.asdf" ,sbcl-iolib.asdf)
("iolib.conf" ,sbcl-iolib.conf)
("iolib.grovel" ,sbcl-iolib.grovel)
("iolib.base", sbcl-iolib.base)
("bordeaux-threads", sbcl-bordeaux-threads)
("idna", sbcl-idna)
("swap-bytes", sbcl-swap-bytes)
("libfixposix", libfixposix)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(arguments
'(#:asd-file "iolib.asd"
#:asd-system-name "iolib"
#:test-asd-file "iolib.tests.asd"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/syscalls/ffi-functions-unix.lisp"
(("\\(:default \"libfixposix\"\\)")
(string-append
"(:default \""
(assoc-ref inputs "libfixposix") "/lib/libfixposix\")")))
;; Socket tests need Internet access, disable them.
(substitute* "iolib.tests.asd"
(("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)")
"")))))))
(synopsis "Common Lisp I/O library")))
(define sbcl-iolib+multiplex
(package
(inherit sbcl-iolib)
(name "sbcl-iolib+multiplex")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-iolib)
((#:asd-system-name _) "iolib/multiplex")))))
(define sbcl-iolib+syscalls
(package
(inherit sbcl-iolib)
(name "sbcl-iolib+syscalls")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-iolib)
((#:asd-system-name _) "iolib/syscalls")))))
(define sbcl-iolib+streams
(package
(inherit sbcl-iolib)
(name "sbcl-iolib+streams")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-iolib)
((#:asd-system-name _) "iolib/streams")))))
(define sbcl-iolib+sockets
(package
(inherit sbcl-iolib)
(name "sbcl-iolib+sockets")
(arguments
(substitute-keyword-arguments (package-arguments sbcl-iolib)
((#:asd-system-name _) "iolib/sockets")))))
(define-public sbcl-ieee-floats
(let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d")
(revision "1"))
(package
(name "sbcl-ieee-floats")
(build-system asdf-build-system/sbcl)
(version (git-version "20170924" revision commit))
(home-page "https://github.com/marijnh/ieee-floats/")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m"))))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(synopsis "IEEE 754 binary representation for floats in Common Lisp")
(description "This is a Common Lisp library that allows to convert
floating point values to IEEE 754 binary representation.")
(license license:bsd-3))))
(define sbcl-closure-common
(let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c")
(revision "1"))
(package
(name "sbcl-closure-common")
(build-system asdf-build-system/sbcl)
(version (git-version "20101006" revision commit))
(home-page "https://github.com/sharplispers/closure-common")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n"))))
(inputs
`(("trivial-gray-streams" ,sbcl-trivial-gray-streams)
("babel" ,sbcl-babel)))
(synopsis "Support Common Lisp library for CXML")
(description "Closure-common is an internal helper library. The name
Closure is a reference to the web browser it was originally written for.")
;; TODO: License?
(license #f))))
(define-public sbcl-cl-reexport
(let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b")
(revision "1"))
(package
(name "sbcl-cl-reexport")
(build-system asdf-build-system/sbcl)
(version (git-version "0.1" revision commit))
(home-page "https://github.com/takagi/cl-reexport")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x"))))
(inputs
`(("alexandria" ,sbcl-alexandria)))
(arguments
;; TODO: Tests fail because cl-test-more is missing, but I can't find it online.
`(#:tests? #f))
(synopsis "HTTP cookie manager for Common Lisp")
(description "cl-cookie is a Common Lisp library featuring parsing of
cookie headers, cookie creation, cookie jar creation and more.")
(license license:llgpl))))
(define-public sbcl-cl-cookie
(let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546")
(revision "1"))
(package
(name "sbcl-cl-cookie")
(build-system asdf-build-system/sbcl)
(version (git-version "0.9.10" revision commit))
(home-page "https://github.com/fukamachi/cl-cookie")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h"))))
(inputs
`(("proc-parse" ,sbcl-proc-parse)
("alexandria" ,sbcl-alexandria)
("quri" ,sbcl-quri)
("cl-ppcre" ,sbcl-cl-ppcre)
("local-time" ,sbcl-local-time)))
(native-inputs
`(("prove-asdf" ,sbcl-prove-asdf)
("prove" ,sbcl-prove)))
(arguments
;; TODO: Tests fail because cl-cookie depends on cl-cookie-test.
`(#:tests? #f))
(synopsis "HTTP cookie manager for Common Lisp")
(description "cl-cookie is a Common Lisp library featuring parsing of
cookie headers, cookie creation, cookie jar creation and more.")
(license license:bsd-2))))

View File

@ -31,6 +31,7 @@
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
@ -273,7 +274,7 @@ code analysis tools.")
version "/libcxx-" version ".src.tar.xz"))
(sha256
(base32
"1wdrxg365ig0kngx52pd0n820sncp24blb0zpalc579iidhh4002"))))
"1qlx3wlxrnc5cwc1fcfc2vhfsl7j4294hi8y5kxj8hy8wxsjd462"))))
(build-system cmake-build-system)
(native-inputs
`(("clang" ,clang)
@ -285,6 +286,44 @@ code analysis tools.")
use with Clang, targeting C++11, C++14 and above.")
(license license:expat)))
(define-public libclc
(package
(name "libclc")
(version (package-version llvm))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/llvm/llvm-project.git")
(commit (string-append "llvmorg-" version))))
(sha256
(base32
"052h16wjcnqginzp7ki4il2xmm25v9nyk0wcz7cg03gbryhl7aqa"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DLLVM_CLANG="
(assoc-ref %build-inputs "clang")
"/bin/clang")
(string-append "-DPYTHON="
(assoc-ref %build-inputs "python")
"/bin/python3"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "libclc") #t)))))
(native-inputs
`(("clang" ,clang)
("llvm" ,llvm)
("python" ,python)))
(home-page "https://libclc.llvm.org")
(synopsis "Libraries for the OpenCL programming language")
(description
"This package provides an implementation of the OpenCL library
requirements according to version 1.1 of the OpenCL specification.")
;; Apache license 2.0 with LLVM exception
(license license:asl2.0)))
(define-public libomp
(package
(name "libomp")

View File

@ -351,14 +351,14 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
(version "1.12.0")
(version "1.12.1")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/mutt/mutt/downloads/"
"mutt-" version ".tar.gz"))
(sha256
(base32
"13zr2fpql33sdbsjsiaa952js5bvphc1x4lqsj36qyzdhj3l84na"))
"0311sip2q90aqaxn7h3cck1zl98b4vifqi8bp5fsizy4dr06bi81"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@ -1433,14 +1433,14 @@ hashing schemes plugin for @code{Dovecot}.")
(define-public isync
(package
(name "isync")
(version "1.3.0")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/isync/isync/"
version "/isync-" version ".tar.gz"))
(sha256 (base32
"173wd7x8y5sp94slzwlnb7zhgs32r57zl9xspl2rf4g3fqwmhpwd"))))
"1sphd30jplii58y2zmw365bckm6pszmapcy905zhjll1sm1ldjv8"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))

View File

@ -42,6 +42,12 @@
'(#:phases
(modify-phases %standard-phases
(delete 'check)
;; see https://github.com/ihabunek/toot/issues/91
(add-after 'unpack 'dont-install-Makefile
(lambda _
(substitute* "setup.py"
(("data_files.*" all) ""))
#t))
(add-after 'install 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)

View File

@ -2,7 +2,7 @@
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;;
@ -195,15 +195,14 @@ from Mint-X-F and Faenza-Fresh icon packs.")
(define-public mate-themes
(package
(name "mate-themes")
(version "3.22.19")
(version "3.22.20")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://mate/themes/" (version-major+minor version)
"/mate-themes-" version ".tar.xz"))
(sha256
(base32
"1ycb8b8r0s8d1h1477135mynr53s5781gdb2ap8xlvj2g58492wq"))))
(base32 "0c3dhf8p9nc2maky4g9xr04iil9wwbdkmhpzynlc6lfg4ksqq2bx"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

View File

@ -613,14 +613,14 @@ singular value problems.")
(define-public gnuplot
(package
(name "gnuplot")
(version "5.2.6")
(version "5.2.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
version "/gnuplot-"
version ".tar.gz"))
(sha256
(base32 "1vllgap08nhvdmc03idmkdnk9cfl2bp81hps50q1pqrr640qzp9m"))))
(base32 "1vglp4la40f5dpj0zdj63zprrkyjgzy068p35bz5dqxjyczm1zlp"))))
(build-system gnu-build-system)
(inputs `(("readline" ,readline)
("cairo" ,cairo)

View File

@ -37,14 +37,14 @@
(define-public mc
(package
(name "mc")
(version "4.8.22")
(version "4.8.23")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.midnight-commander.org/mc-"
version ".tar.xz"))
(sha256
(base32 "060kh3dmk8fmmsibn1l815qjazzfxzbhgqggrhncz604pbbnhy7f"))))
(base32 "077z7phzq3m1sxyz7li77lyzv4rjmmh3wp2vy86pnc4387kpqzyx"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("perl" ,perl)))

View File

@ -42,6 +42,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
@ -490,56 +491,43 @@ compromised.")
(define-public znc
(package
(name "znc")
(version "1.7.3")
(version "1.7.4")
(source (origin
(method url-fetch)
(uri (string-append "http://znc.in/releases/archive/znc-"
version ".tar.gz"))
(sha256
(base32
"0g8i5hsl4kinpz1wp0a2zniidv3w2sd6awq8676fds516wcc6k0y"))))
;; TODO: autotools support has been deprecated, and new features like i18n
;; are only supported when building with cmake.
(build-system gnu-build-system)
"0wcvqkpin8w4i72alnn0nxnrc9ih543qs34hqpk9xmz6m0hjk8xi"))))
(build-system cmake-build-system)
(arguments
`(#:phases
`(#:configure-flags
(list "-DWANT_CYRUS=ON"
"-DWANT_I18N=ON"
"-DWANT_PERL=ON"
"-DWANT_PYTHON=ON")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-googletest
;; Copy the googletest sources to where the CMake build expects them.
(lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "googletest")
(copy-recursively (assoc-ref inputs "googletest-source")
"googletest")
#t)))
#:configure-flags '("--enable-python"
"--enable-perl"
"--enable-cyrus"
"--with-gmock=googletest/googlemock"
"--with-gtest=googletest/googletest")
#:test-target "test"))
(let ((source (assoc-ref inputs "googletest-source"))
(target "third_party/googletest"))
(mkdir-p target)
(copy-recursively source target)
#t))))))
(native-inputs
`(("googletest-source"
;; ZNC 1.7 needs a newer, unreleased googletest (a release is planned
;; <https://github.com/google/googletest/issues/1583>, so don't update
;; the public GOOGLETEST to an unstable version). The commit is taken
;; from third_party/googletest in the ZNC git repository.
,(let ((commit "9737e63c69e94ac5777caa0bc77c77d5206467f3"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/googletest")
(commit commit)))
(file-name (git-file-name "googletest-for-znc" commit))
(sha256
(base32
"0ya36n8d62zbxk6p22yffgx43mqhx2fz41gqqwbpdshjryf3wvxj")))))
("pkg-config" ,pkg-config)
("perl" ,perl)
("python" ,python)))
`(("boost" ,boost)
("gettext" ,gettext-minimal)
("googletest-source" ,(package-source googletest))
("pkg-config" ,pkg-config)))
(inputs
`(("openssl" ,openssl)
("zlib" ,zlib)
`(("cyrus-sasl" ,cyrus-sasl)
("icu4c" ,icu4c)
("cyrus-sasl" ,cyrus-sasl)))
("openssl" ,openssl)
("perl" ,perl)
("python" ,python)
("zlib" ,zlib)))
(home-page "https://znc.in")
(synopsis "IRC network bouncer")
(description "ZNC is an @dfn{IRC network bouncer} or @dfn{BNC}. It can

View File

@ -339,14 +339,14 @@ only provides @code{MPI_THREAD_FUNNELED}.")))
(define-public python-mpi4py
(package
(name "python-mpi4py")
(version "3.0.1")
(version "3.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mpi4py" version))
(sha256
(base32
"0ld8rjmsjr0dklvj2g1gr3ax32sdq0xjxyh0cspknc1i36waajb5"))))
"1q28xl36difma1wq0acq111cqxjya32kn3lxp6fbidz3wg8jkmpq"))))
(build-system python-build-system)
(arguments
`(#:phases

View File

@ -20,6 +20,7 @@
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si>
;;;
;;; This file is part of GNU Guix.
;;;
@ -314,7 +315,7 @@ playing your music.")
(define-public cmus
(package
(name "cmus")
(version "2.7.1")
(version "2.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -323,7 +324,7 @@ playing your music.")
(file-name (git-file-name name version))
(sha256
(base32
"0xd96py21bl869qlv1353zw7xsgq6v5s8szr0ldr63zj5fgc2ps5"))))
"1ydnvq13ay8b8mfmmgwi5qsgyf220yi1d01acbnxqn775dghmwar"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; cmus does not include tests
@ -1362,7 +1363,7 @@ users to select LV2 plugins and run them with jalv.")
(define-public synthv1
(package
(name "synthv1")
(version "0.9.7")
(version "0.9.8")
(source (origin
(method url-fetch)
(uri
@ -1370,12 +1371,10 @@ users to select LV2 plugins and run them with jalv.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
"0i70wm430fvksi3g985farrkhgb7mwhi7j06dl66cdj1n12jzzk7"))))
"15kabmxp38wqvavs5hr1dqasjjf1j977kzqggxfmzyi3y5fan3hj"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
`(#:tests? #f)) ; there are no tests
(inputs
`(("jack" ,jack-1)
("lv2" ,lv2)
@ -1396,7 +1395,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
(version "0.9.7")
(version "0.9.8")
(source (origin
(method url-fetch)
(uri
@ -1404,12 +1403,10 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
"1361dqdasrc98q9hcjdwsjx6agfimwnay430887fryi3pslkyd81"))))
"010p8nwnmqgj5mw324psig3hxi1g2gylxrigd6sj6sgcpy3kdm23"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
`(#:tests? #f)) ; there are no tests
(inputs
`(("jack" ,jack-1)
("lv2" ,lv2)
@ -1431,7 +1428,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
(version "0.9.7")
(version "0.9.8")
(source (origin
(method url-fetch)
(uri
@ -1439,12 +1436,10 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
"1vgmcjccpgqqlmmwfg6m91nph81p2xaxydjx82n4l1yrr9lidn9h"))))
"138kd9szgn3b97s7crhsyj8pgwb0bn4l9knd4zliqjgj2f1bs9x0"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
`(#:tests? #f)) ; there are no tests
(inputs
`(("jack" ,jack-1)
("lv2" ,lv2)
@ -1466,7 +1461,7 @@ effects.")
(define-public padthv1
(package
(name "padthv1")
(version "0.9.7")
(version "0.9.8")
(source (origin
(method url-fetch)
(uri
@ -1474,12 +1469,10 @@ effects.")
"/padthv1-" version ".tar.gz"))
(sha256
(base32
"1jd4bf6a1ipvg4yhb3xf3maqg68bx97ic9l57djmkirlrkh2a3wp"))))
"1k4p2ir12qjcs62knvw2s6qyvb46203yx22fnwp341cjk171cxji"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
#:configure-flags
'("CXXFLAGS=-std=gnu++11")))
`(#:tests? #f)) ; there are no tests
(inputs
`(("jack" ,jack-1)
("lv2" ,lv2)
@ -2871,7 +2864,7 @@ for improved Amiga ProTracker 2/3 compatibility.")
(define-public schismtracker
(package
(name "schismtracker")
(version "20181223")
(version "20190614")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2880,7 +2873,7 @@ for improved Amiga ProTracker 2/3 compatibility.")
(file-name (git-file-name name version))
(sha256
(base32
"18k5j10zq39y2q294avdmar87x93k57wqmq8bpz562hdqki2mz1l"))
"0cg0q5bkn8a06v03vmj69xyhi4xxpl729k4008q4hiakh9gy2x49"))
(modules '((guix build utils)))
(snippet
;; Remove use of __DATE__ and __TIME__ for reproducibility.

View File

@ -1,4 +1,4 @@
From fb56fbb706804215ef9af0cc575db97c373046c6 Mon Sep 17 00:00:00 2001
From 81603e53ebaae0f0b23c4c52c7dab83e808964ec Mon Sep 17 00:00:00 2001
From: Brian Leung <bkleung89@gmail.com>
Date: Sun, 17 Mar 2019 01:32:04 +0100
Subject: [PATCH] This patch silences the byte-compiler.
@ -8,36 +8,36 @@ Subject: [PATCH] This patch silences the byte-compiler.
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/zones.el b/zones.el
index 1bf94f0..94fa9a6 100644
index ca88d48..594ea36 100644
--- a/zones.el
+++ b/zones.el
@@ -1031,7 +1031,7 @@ You can use `C-x n x' to widen to a previous buffer restriction.
@@ -1075,7 +1075,7 @@ You can use `C-x n x' to widen to a previous buffer restriction.
This is a destructive operation. The list structure of the variable
value can be modified."
- (zz-narrow-advice (interactive-p)))
+ (zz-narrow-advice (called-interactively-p)))
+ (zz-narrow-advice (called-interactively-p 'interactive)))
(defadvice narrow-to-defun (after zz-add-zone--defun activate)
"Push the defun limits to the current `zz-izones-var'.
@@ -1039,7 +1039,7 @@ You can use `C-x n x' to widen to a previous buffer restriction.
@@ -1083,7 +1083,7 @@ You can use `C-x n x' to widen to a previous buffer restriction.
This is a destructive operation. The list structure of the variable
value can be modified."
- (zz-narrow-advice (interactive-p)))
+ (zz-narrow-advice (called-interactively-p)))
+ (zz-narrow-advice (called-interactively-p 'interactive)))
;; Call `zz-add-zone' if interactive or `zz-add-zone-anyway-p'.
;;
@@ -1049,7 +1049,7 @@ You can use `C-x n x' to widen to a previous buffer restriction.
@@ -1093,7 +1093,7 @@ You can use `C-x n x' to widen to a previous buffer restriction.
This is a destructive operation. The list structure of the variable
value can be modified."
- (zz-narrow-advice (interactive-p)))
+ (zz-narrow-advice (called-interactively-p)))
+ (zz-narrow-advice (called-interactively-p 'interactive)))
;;(@* "General Commands")
--
2.21.0
2.22.0

View File

@ -1,16 +0,0 @@
Change setup.cfg so that the bundled zlib and bzip2 are not used. This cannot
currently be achieved using "--library z,bz2" as instructed in the setup.py.
diff --git a/setup.cfg b/setup.cfg
index c054092..080992e 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,7 +1,7 @@
[build_ext]
define = SEQAN_HAS_BZIP2,SEQAN_HAS_ZLIB
undef = NO_UNIQUE_RC
-# libraries = z,bz2
+libraries = z,bz2
## if using system libraries
include-dirs = lib:third-party/zlib:third-party/bzip2:third-party/seqan/core/include:third-party/smhasher
# include-dirs = lib

View File

@ -0,0 +1,26 @@
Patch taken from the Sage packaging system.
diff -Naur lcalc-1.23-vanilla/include/Ldirichlet_series.h lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h
--- lcalc-1.23-vanilla/include/Ldirichlet_series.h 2012-08-08 23:21:55.000000000 +0200
+++ lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h 2014-04-21 14:37:59.027464849 +0200
@@ -43,7 +43,7 @@
//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
template <class ttype>
Complex L_function <ttype>::
-dirichlet_series(Complex s, long long N=-1)
+dirichlet_series(Complex s, long long N)
{
Complex z=0.;
long long m,n;
diff -Naur lcalc-1.23-vanilla/include/L.h lcalc-1.23-fixed-gcc.4.9/include/L.h
--- lcalc-1.23-vanilla/include/L.h 2012-08-08 23:21:55.000000000 +0200
+++ lcalc-1.23-fixed-gcc.4.9/include/L.h 2014-04-21 14:32:04.003467348 +0200
@@ -491,7 +491,7 @@
//#include "Ldirichlet_series.h" //for computing Dirichlet series
Complex partial_dirichlet_series(Complex s, long long N1, long long N2);
- Complex dirichlet_series(Complex s, long long N);
+ Complex dirichlet_series(Complex s, long long N=-1LL);
//#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series
//void compute_taylor_series(int N, int K, Complex s_0, Complex *series);

View File

@ -0,0 +1,58 @@
Patch taken from the Sage packaging system.
--- lcalc-1.23/include/Lgamma.h 2012-08-08 23:21:55.000000000 +0200
+++ lcalc-1.23/include/Lgamma.h 2014-05-18 21:15:27.786889718 +0200
@@ -77,7 +77,7 @@
//n=0 should just give log_GAMMA(z)... thus making log_GAMMA
//code obsolete. But leave log_GAMMA intact anyways.
template <class ttype>
-precise(ttype) log_GAMMA (ttype z,int n=0)
+precise(ttype) log_GAMMA (ttype z,int n)
{
int M;
precise(ttype) log_G,r,r2,y;
@@ -230,7 +230,7 @@
//value exp_w which holds exp(-w)
//computes G(z,w), so there's an extra w^(-z) factor.
template <class ttype>
-Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false)
+Complex inc_GAMMA (ttype z,ttype w, const char *method, ttype exp_w, bool recycle)
{
Complex G;
@@ -334,7 +334,7 @@
template <class ttype>
-ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false) //computes G(z,w) via continued fraction
+ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via continued fraction
{
ttype G;
@@ -424,7 +424,7 @@
}
template <class ttype>
-ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false) //computes G(z,w) via asymptotic series
+ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via asymptotic series
{
if(my_verbose>3) cout << "called asympt_GAMMA("<<z<<","<<w<<")"<< endl;
@@ -446,7 +446,7 @@
template <class ttype>
-ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false) //computes g(z,w)
+ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w, bool recycle) //computes g(z,w)
{
ttype g;
@@ -604,7 +604,7 @@
}
template <class ttype>
-Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme")
+Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta, const char *method)
{
Complex SUM=0;

View File

@ -0,0 +1,13 @@
Patch taken from the Sage packaging system.
--- src/include/Lcommon.h 2010-01-31 15:16:45.000000000 +0000
+++ src/include/Lcommon.h 2011-03-08 21:19:11.849443238 +0000
@@ -25,7 +25,7 @@
#ifdef USE_MPFR
inline double lcalc_to_double(const double& x) { return x; }
#endif
-//inline double lcalc_to_double(const long double& x) { return x; }
+inline double lcalc_to_double(const long double& x) { return x; }
inline double lcalc_to_double(const int& x) { return x; }
inline double lcalc_to_double(const long long& x) { return x; }
inline double lcalc_to_double(const short& x) { return x; }

View File

@ -0,0 +1,43 @@
Patch taken from the Sage packaging system.
diff --git a/include/Lcommon.h b/include/Lcommon.h
index 1b3be43..bf40532 100644
--- a/include/Lcommon.h
+++ b/include/Lcommon.h
@@ -48,7 +48,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th
// Loop i from m to n
// Useful in tidying up most for loops
-#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++)
+#define loop(i,m,n) for(auto i=(m); i!=(n); i++)
// A class for calculations involving polynomials of small degree
// Not efficient enough for huge polynomials
diff --git a/include/Lcommon_ld.h b/include/Lcommon_ld.h
index 86ae4df..33c560c 100644
--- a/include/Lcommon_ld.h
+++ b/include/Lcommon_ld.h
@@ -53,7 +53,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th
// Loop i from m to n
// Useful in tidying up most for loops
-#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++)
+#define loop(i,m,n) for(auto i=(m); i!=(n); i++)
// A class for calculations involving polynomials of small degree
// Not efficient enough for huge polynomials
diff --git a/include/Lglobals.h b/include/Lglobals.h
index 60002e4..ca2606c 100644
--- a/include/Lglobals.h
+++ b/include/Lglobals.h
@@ -24,9 +24,9 @@
#ifndef Lglobals_H
#define Lglobals_H
+#include <valarray>
using namespace std;
-#include <valarray>
#ifdef USE_MPFR
#include "Lgmpfrxx.h"
typedef mpfr_class Double;

View File

@ -0,0 +1,40 @@
Use shared gtest instead of submodule
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 617e4b2..2857875 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,7 +18,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
include(GNUInstallDirs)
project(leelaz)
-add_subdirectory(gtest EXCLUDE_FROM_ALL) # We don't want to install gtest, exclude it from `all`
# Required Packages
set(Boost_MIN_VERSION "1.58.0")
@@ -27,6 +26,7 @@ find_package(Boost 1.58.0 REQUIRED program_options filesystem)
find_package(Threads REQUIRED)
find_package(ZLIB REQUIRED)
find_package(OpenCL REQUIRED)
+find_package(GTest REQUIRED)
# We need OpenBLAS for now, because we make some specific
# calls. Ideally we'd use OpenBLAS is possible and fall back to
# not doing those calls if it's not present.
@@ -93,6 +93,7 @@ include_directories(${IncludePath})
include_directories(${Boost_INCLUDE_DIRS})
include_directories(${OpenCL_INCLUDE_DIRS})
include_directories(${ZLIB_INCLUDE_DIRS})
+include_directories(${GTEST_INCLUDE_DIRS})
if((UNIX AND NOT APPLE) OR WIN32)
include_directories(${BLAS_INCLUDE_DIRS})
@@ -141,7 +142,8 @@ target_link_libraries(tests ${Boost_LIBRARIES})
target_link_libraries(tests ${BLAS_LIBRARIES})
target_link_libraries(tests ${OpenCL_LIBRARIES})
target_link_libraries(tests ${ZLIB_LIBRARIES})
-target_link_libraries(tests gtest_main ${CMAKE_THREAD_LIBS_INIT})
+target_link_libraries(tests ${GTEST_BOTH_LIBRARIES})
+target_link_libraries(tests ${CMAKE_THREAD_LIBS_INIT})
include(GetGitRevisionDescription)
git_describe(VERSION --tags)

View File

@ -0,0 +1,92 @@
Patch taken from the Sage packaging system.
From 4a5e1c8c3c11efdb1cbb4239825a6bf4bf1c52f8 Mon Sep 17 00:00:00 2001
From: Anders Skovsted Buch <asbuch@math.rutgers.edu>
Date: Sun, 29 Nov 2015 16:25:56 -0500
Subject: [PATCH] Patch by Jeroen Demeyer to change include <vector.h> to
"vector.h", plus similar cases.
---
src/lrcalc.c | 2 +-
src/maple.c | 4 ++--
src/schublib.h | 2 +-
src/symfcn.c | 6 +++---
src/symfcn.h | 4 ++--
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/lrcalc.c b/src/lrcalc.c
index aff3f75..60df49e 100644
--- a/src/lrcalc.c
+++ b/src/lrcalc.c
@@ -8,7 +8,7 @@
#include <stdlib.h>
extern char *optarg;
-#include <vectarg.h>
+#include "vectarg.h"
#include "symfcn.h"
#include "maple.h"
diff --git a/src/maple.c b/src/maple.c
index fdc0768..a5f4d14 100644
--- a/src/maple.c
+++ b/src/maple.c
@@ -4,8 +4,8 @@
*/
#include <stdio.h>
-#include <vector.h>
-#include <hashtab.h>
+#include "vector.h"
+#include "hashtab.h"
#include "maple.h"
diff --git a/src/schublib.h b/src/schublib.h
index a8e8511..864850c 100644
--- a/src/schublib.h
+++ b/src/schublib.h
@@ -1,7 +1,7 @@
#ifndef _SCHUBLIB_H
#define _SCHUBLIB_H
-#include <hashtab.h>
+#include "hashtab.h"
hashtab *trans(vector *w, int vars, hashtab *res);
hashtab *monk(int i, hashtab *slc, int rank);
diff --git a/src/symfcn.c b/src/symfcn.c
index 4ffbe4b..fd5df5d 100644
--- a/src/symfcn.c
+++ b/src/symfcn.c
@@ -5,9 +5,9 @@
#include <stdio.h>
-#include <alloc.h>
-#include <vector.h>
-#include <hashtab.h>
+#include "alloc.h"
+#include "vector.h"
+#include "hashtab.h"
#include "symfcn.h"
diff --git a/src/symfcn.h b/src/symfcn.h
index b8543b1..29bb00d 100644
--- a/src/symfcn.h
+++ b/src/symfcn.h
@@ -1,8 +1,8 @@
#ifndef _SYMFCN_H
#define _SYMFCN_H
-#include <hashtab.h>
-#include <vector.h>
+#include "hashtab.h"
+#include "vector.h"
int part_itr_sz(vector *part);
int part_itr_sub(vector *part, vector *outer);
--
2.1.1.1.g1fb337f

View File

@ -0,0 +1,82 @@
From 29a7b929f7f1160b643dc5f5911533887173fcff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Thu, 28 Jun 2018 17:10:33 +0200
Subject: [PATCH] Rename async to asynchronous, keep backwards comaptibility
async is a keyword in Python 3.7 and keeping it results in SyntaxError.
Fixes https://gitlab.gnome.org/GNOME/pyatspi2/issues/1
---
pyatspi/registry.py | 35 +++++++++++++++++++++++++++--------
1 file changed, 27 insertions(+), 8 deletions(-)
diff --git a/pyatspi/registry.py b/pyatspi/registry.py
index cb28395..f73ee16 100644
--- a/pyatspi/registry.py
+++ b/pyatspi/registry.py
@@ -50,9 +50,9 @@ class Registry(object):
reference to the Accessibility.Registry singleton. Doing so is harmless and
has no point.
- @@ivar async: Should event dispatch to local listeners be decoupled from event
- receiving from the registry?
- @@type async: boolean
+ @@ivar asynchronous: Should event dispatch to local listeners be decoupled
+ from event receiving from the registry?
+ @@type asynchronous: boolean
@@ivar reg: Reference to the real, wrapped registry object
@@type reg: Accessibility.Registry
@@ivar dev: Reference to the device controller
@@ -111,25 +111,44 @@ class Registry(object):
self.has_implementations = True
- self.async = False # not fully supported yet
+ self.asynchronous = False # not fully supported yet
self.started = False
self.event_listeners = dict()
+ def __getattr__(self, name):
+ """
+ For backwards compatibility with old API
+ """
+ if name == 'async':
+ return self.asynchronous
+ return object.__getattr__(self, name)
+
+ def __setattr__(self, name, value):
+ """
+ For backwards compatibility with old API
+ """
+ if name == 'async':
+ self.asynchronous = value
+ object.__setattr__(self, name, value)
+
def _set_default_registry (self):
self._set_registry (MAIN_LOOP_GLIB)
- def start(self, async=False, gil=True):
+ def start(self, asynchronous=False, gil=True, **kwargs):
"""
Enter the main loop to start receiving and dispatching events.
- @@param async: Should event dispatch be asynchronous (decoupled) from
- event receiving from the AT-SPI registry?
- @@type async: boolean
+ @@param asynchronous: Should event dispatch be asynchronous
+ (decoupled) from event receiving from the AT-SPI registry?
+ @@type asynchronous: boolean
@@param gil: Add an idle callback which releases the Python GIL for a few
milliseconds to allow other threads to run? Necessary if other threads
will be used in this process.
@@type gil: boolean
"""
+ if 'async' in kwargs:
+ # support previous API
+ asynchronous = kwargs['async']
if not self.has_implementations:
self._set_default_registry ()
self.started = True
--
2.22.0

View File

@ -1039,7 +1039,7 @@ multiple files.")
(define-public pdfpc
(package
(name "pdfpc")
(version "4.3.2")
(version "4.3.4")
(source
(origin
(method git-fetch)
@ -1048,7 +1048,7 @@ multiple files.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15y6g92fp6x6dwwhrhkfny5z20w7pq9c8w19fh2vzff9aa6m2h9z"))))
(base32 "07aafsm4jzdgpahz83p0ajv40hry7gviyadqi13ahr8xdhhwy2sd"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; no test target
(inputs

View File

@ -383,24 +383,7 @@ error when it would have happened.")
(license (package-license perl))))
(define-public perl-base
(package
(name "perl-base")
(version "2.23")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
"base-" version ".tar.gz"))
(sha256
(base32 "1pjxcbbcpwlgzm0fzsbqd58zn8cj9vwril1wn3xfd7ws550mixa0"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/base")
(synopsis "Establish an ISA relationship with base classes at compile time")
(description "Allows you to both load one or more modules, while setting
up inheritance from those modules at the same time. Unless you are using the
fields pragma, consider this module discouraged in favor of the lighter-weight
parent.")
(license (package-license perl)))) ;See README
(deprecated-package "perl-base" perl))
(define-public perl-browser-open
(package
@ -873,8 +856,6 @@ the Carp.pm module doesn't help.")
(build-system perl-build-system)
(native-inputs
`(("perl-sub-name" ,perl-sub-name)))
(propagated-inputs
`(("perl-base" ,perl-base)))
(home-page "https://metacpan.org/release/Class-Accessor")
(synopsis "Automated accessor generation")
(description "This module automagically generates accessors/mutators for
@ -1605,14 +1586,14 @@ CPAN::Meta object are present.")
(define-public perl-cpanel-json-xs
(package
(name "perl-cpanel-json-xs")
(version "4.10")
(version "4.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/"
"Cpanel-JSON-XS-" version ".tar.gz"))
(sha256
(base32 "1r92b03hkmqr0brp00cj67b1iklfd4yas481d6a5nx2941c03h3p"))))
(base32 "0n66da8s88srr591i7gm1d611z9jbcz488fhqxy604diiw8pnha9"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-common-sense" ,perl-common-sense)))
@ -3764,14 +3745,14 @@ allows you to locate these files after installation.")
(define-public perl-file-slurp
(package
(name "perl-file-slurp")
(version "9999.26")
(version "9999.27")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/C/CA/CAPOEIRAB/"
"File-Slurp-" version ".tar.gz"))
(sha256
(base32 "0c09ivl50sg9j75si6cahfp1wgvhqawakb6h5j6hlca6vwjqs9qy"))))
(base32 "1x233kj1qifvii7j8d4wzarwhj5z11vnpxsqvdm98dsccr7qi79s"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/File-Slurp")
(synopsis "Reading/Writing/Modifying of complete files")
@ -3835,8 +3816,6 @@ slurping and spewing. All functions are optionally exported.")
(sha256
(base32 "0pr3wrxrk93wy7dz9gsb1sgl77icrs8rh2mah6wms5cdi2ll5ch1"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-parent" ,perl-parent)))
(home-page "https://metacpan.org/release/File-Temp")
(synopsis "Return name and handle of a temporary file safely")
(description "File::Temp can be used to create and open temporary files in
@ -4969,7 +4948,7 @@ portions of this module couldn't be compiled on this machine.")
(define-public perl-mailtools
(package
(name "perl-mailtools")
(version "2.20")
(version "2.21")
(source
(origin
(method url-fetch)
@ -4979,7 +4958,7 @@ portions of this module couldn't be compiled on this machine.")
".tar.gz"))
(sha256
(base32
"15iizg2x1w7ca0r8rn3wwhp7w160ljvf55prspljwd6cm7vhcmpm"))))
"1js43bp2dnd8n2rv8clsv749166jnyqnc91k4wkkmw5n4rlbvnaa"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-timedate" ,perl-timedate)))
@ -5634,7 +5613,6 @@ Moose and is optimised for rapid startup.")
("perl-package-stash" ,perl-package-stash)
("perl-package-stash-xs" ,perl-package-stash-xs)
("perl-params-util" ,perl-params-util)
("perl-parent" ,perl-parent)
("perl-scalar-list-utils" ,perl-scalar-list-utils)
("perl-sub-exporter" ,perl-sub-exporter)
("perl-sub-name" ,perl-sub-name)
@ -6964,22 +6942,7 @@ distributions.")
(license (package-license perl))))
(define-public perl-parent
(package
(name "perl-parent")
(version "0.237")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/C/CO/CORION/"
"parent-" version ".tar.gz"))
(sha256
(base32 "1bnaadzf51g6zrpq6pvvgds2cc9d4w1vck7sapkd3hb5hmjdk28h"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/parent")
(synopsis "Establish an ISA relationship with base classes at compile time")
(description "Allows you to both load one or more modules, while setting
up inheritance from those modules at the same time.")
(license (package-license perl))))
(deprecated-package "perl-parent" perl))
(define-public perl-path-class
(package
@ -7951,14 +7914,14 @@ uplevel() are avoided.")
(define-public perl-super
(package
(name "perl-super")
(version "1.20141117")
(version "1.20190531")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/C/CH/CHROMATIC/"
"SUPER-" version ".tar.gz"))
(sha256
(base32 "1cn05kacg0xfbm1zzksm2yx2pnrzqja4d9163cxv3sdfc1yhwqhs"))))
(base32 "16nk2za9fwyg7mcifacr69qi075iz1yvy8r9jh3903kzdvkiwpb8"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)))
@ -9009,8 +8972,7 @@ simple n-ary tree.")
`(("perl-module-build" ,perl-module-build)
("perl-test-exception" ,perl-test-exception)))
(propagated-inputs
`(("perl-tree-simple" ,perl-tree-simple)
("perl-base" ,perl-base)))
`(("perl-tree-simple" ,perl-tree-simple)))
(home-page "https://metacpan.org/release/Tree-Simple-VisitorFactory")
(synopsis "Factory object for dispensing Visitor objects")
(description "This module is a factory for dispensing

View File

@ -105,3 +105,138 @@ is delete your existing cassette files, and run your tests again. VCR.py will
detect the absence of a cassette file and once again record all HTTP
interactions, which will update them to correspond to the new API.")
(license license:expat)))
(define-public python-pytest-checkdocs
(package
(name "python-pytest-checkdocs")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-checkdocs" version))
(sha256
(base32
"07c27cdjcw6jph5kbgpxchrvwlps4ggwb2j6m7y64imnik0asrq8"))))
(build-system python-build-system)
(propagated-inputs
`(("python-importlib-metadata" ,python-importlib-metadata)))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "https://github.com/jaraco/pytest-checkdocs")
(synopsis "Check the README when running tests")
(description
"This package provides a pytest plugin that checks the long description
of the project to ensure it renders properly.")
(license license:expat)))
(define-public python-pytest-flake8
(package
(name "python-pytest-flake8")
(version "1.0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-flake8" version))
(sha256
(base32
"1h30gd21fjsafqxwclf25sdh89vrdz7rsh4lzw11aiw7ww9mq8jd"))))
(build-system python-build-system)
(propagated-inputs
`(("python-flake8" ,python-flake8)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/tholo/pytest-flake8")
(synopsis "Pytest plugin to check FLAKE8 requirements")
(description
"This package provides a pytest plugin for efficiently checking PEP8
compliance.")
(license license:bsd-3)))
(define-public python-pytest-shutil
(package
(name "python-pytest-shutil")
(version "1.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-shutil" version))
(sha256
(base32
"0q8j0ayzmnvlraml6i977ybdq4xi096djhf30n2m1rvnvrhm45nq"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tests
(lambda _
(mkdir "/tmp/bin")
(substitute* "tests/integration/test_cmdline_integration.py"
(("dirname = '/bin'")
"dirname = '/tmp/bin'")
(("bindir = os.path.realpath\\('/bin'\\)")
"bindir = os.path.realpath('/tmp/bin')"))
#t)))))
(propagated-inputs
`(("python-contextlib2" ,python-contextlib2)
("python-execnet" ,python-execnet)
("python-pathpy" ,python-pathpy)
("python-termcolor" ,python-termcolor)))
(native-inputs
`(("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-setuptools-git" ,python-setuptools-git)))
(home-page "https://github.com/manahl/pytest-plugins")
(synopsis "Assorted shell and environment tools for py.test")
(description
"This package provides assorted shell and environment tools for the
py.test testing framework.")
(license license:expat)))
(define-public python-pytest-fixture-config
(package
(name "python-pytest-fixture-config")
(version "1.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-fixture-config" version))
(sha256
(base32
"13i1qpz22w3x4dmw8vih5jdnbqfqvl7jiqs0dg764s0zf8bp98a1"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)
("python-setuptools-git" ,python-setuptools-git)))
(home-page "https://github.com/manahl/pytest-plugins")
(synopsis "Fixture configuration utils for py.test")
(description
"This package provides fixture configuration utilities for the py.test
testing framework.")
(license license:expat)))
(define-public python-pytest-virtualenv
(package
(name "python-pytest-virtualenv")
(version "1.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-virtualenv" version))
(sha256
(base32
"03w2zz3crblj1p6i8nq17946hbn3zqp9z7cfnifw47hi4a4fww12"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; one test fails; can't find virtualenv
(propagated-inputs
`(("python-virtualenv" ,python-virtualenv)
("python-pytest-shutil" ,python-pytest-shutil)
("python-pytest-fixture-config" ,python-pytest-fixture-config)))
(native-inputs
`(("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-setuptools-git" ,python-setuptools-git)))
(home-page "https://github.com/manahl/pytest-plugins")
(synopsis "Virtualenv fixture for py.test")
(description "This package provides a virtualenv fixture for the py.test
framework.")
(license license:expat)))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
@ -32,7 +32,8 @@
#:use-module (gnu packages check)
#:use-module (gnu packages maths)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz))
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx))
(define-public python-lzo
(package
@ -205,3 +206,31 @@ install: libbitshuffle.so
#t))))))
(inputs '())
(native-inputs '())))
(define-public python-zipp
(package
(name "python-zipp")
(version "0.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "zipp" version))
(sha256
(base32
"1hsv4zwy1pwnbrr63wjjkpwrmnk36ngbkkqw01bj5hcwh1z3m56a"))))
(build-system python-build-system)
(propagated-inputs
`(("python-contextlib2" ,python-contextlib2)
("python-pathlib2" ,python-pathlib2)
("python-rst.linker" ,python-rst.linker)))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
("python-sphinx" ,python-sphinx)
("python-unittest2" ,python-unittest2)))
(home-page "https://github.com/jaraco/zipp")
(synopsis
"Backport of pathlib-compatible object wrapper for zip files")
(description
"This package provides a @code{pathlib}-compatible @code{Zipfile} object
wrapper. It provides a backport of the @code{Path} object.")
(license license:expat)))

View File

@ -77,14 +77,13 @@ with what is used by the Bitcoin network.")
(define-public python-bcrypt
(package
(name "python-bcrypt")
(version "3.1.6")
(version "3.1.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bcrypt" version))
(sha256
(base32
"1sh2xh0iragdq8dhssc1cdd02nppjq7b5kmv0qladfi2s9cnfqs4"))))
(base32 "0hhywhxx301cxivgxrpslrangbfpccc8y83qbwn1f57cab3nj00b"))))
(build-system python-build-system)
(native-inputs
`(("python-pycparser" ,python-pycparser)

View File

@ -29,7 +29,7 @@
;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org>
;;; Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@ -60,6 +60,7 @@
;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
;;; Copyright © 2019 Sam <smbaines8@gmail.com>
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -88,6 +89,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages databases)
#:use-module (gnu packages dbm)
#:use-module (gnu packages file)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
@ -118,6 +120,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
@ -2692,7 +2695,7 @@ ecosystem, but can naturally be used also by other projects.")
(define-public python-robotframework
(package
(name "python-robotframework")
(version "3.1.1")
(version "3.1.2")
;; There are no tests in the PyPI archive.
(source
(origin
@ -2702,8 +2705,7 @@ ecosystem, but can naturally be used also by other projects.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1aaiamc9l35m5sf7xl2qc5q9308v7sz3p1qgzcslsjxzddphyn4v"))
(base32 "16gnxy0qinh8fhs0qvhff5z2xh49c3cqgm0d7bfjw120df6x7fym"))
(patches (search-patches
"python-robotframework-honor-source-date-epoch.patch"))))
(build-system python-build-system)
@ -4863,17 +4865,101 @@ them as the version argument or in a SCM managed file.")
(define-public python2-setuptools-scm
(package-with-python2 python-setuptools-scm))
(define-public python-pathlib2
(package
(name "python-pathlib2")
(version "2.3.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pathlib2" version))
(sha256
(base32
"0hpp92vqqgcd8h92msm9slv161b1q160igjwnkf2ag6cx0c96695"))))
(build-system python-build-system)
(propagated-inputs
`(("python-scandir" ,python-scandir)
("python-six" ,python-six)))
(home-page "https://pypi.python.org/pypi/pathlib2/")
(synopsis "Object-oriented filesystem paths")
(description "The goal of pathlib2 is to provide a backport of the
standard @code{pathlib} module which tracks the standard library module, so
all the newest features of the standard @code{pathlib} can be used also on
older Python versions.")
(license license:expat)))
(define-public python-importlib-metadata
(package
(name "python-importlib-metadata")
(version "0.18")
(source
(origin
(method url-fetch)
(uri (pypi-uri "importlib_metadata" version))
(sha256
(base32
"1nqj6vj2z4byi8flzf2lbldhqgicsz9mkpv4k69kjd8p8qxy4vnb"))))
(build-system python-build-system)
(propagated-inputs
`(("python-configparser" ,python-configparser)
("python-contextlib2" ,python-contextlib2)
("python-docutils" ,python-docutils)
("python-pathlib2" ,python-pathlib2)
("python-rst.linker" ,python-rst.linker)
("python-zipp" ,python-zipp)))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
("python-sphinx" ,python-sphinx)))
(home-page "https://importlib-metadata.readthedocs.io/")
(synopsis "Read metadata from Python packages")
(description
"@code{importlib_metadata} is a library which provides an API for
accessing an installed Python package's metadata, such as its entry points or
its top-level name. This functionality intends to replace most uses of
@code{pkg_resources} entry point API and metadata API. Along with
@code{importlib.resources} in Python 3.7 and newer, this can eliminate the
need to use the older and less efficient @code{pkg_resources} package.")
(license license:asl2.0)))
(define-public python-jaraco-packaging
(package
(name "python-jaraco-packaging")
(version "6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jaraco.packaging" version))
(sha256
(base32
"0zimrnkh33b9g8ffw11mjh6kvs54cy5gcjw1h5cl1r7dc833dmkm"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-checkdocs" ,python-pytest-checkdocs)
("python-pytest-flake8" ,python-pytest-flake8)
("python-rst.linker" ,python-rst.linker)
("python-setuptools" ,python-setuptools)
("python-setuptools-scm" ,python-setuptools-scm)
("python-six" ,python-six)
("python-sphinx" ,python-sphinx)))
(home-page "https://github.com/jaraco/jaraco.packaging")
(synopsis "Tools to supplement packaging Python releases")
(description
"This package provides various tools to supplement packaging Python
releases.")
(license license:expat)))
(define-public python-pathpy
(package
(name "python-pathpy")
(version "11.0.1")
(version "11.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "path.py" version))
(sha256
(base32 "07x15v8c7ry9bvycw294c9yq6ky9v2b0dalvgi6rn38ilh69vsz7"))))
;; (outputs '("out" "doc"))
(base32 "1jxkf91syzxlpiwgm83fjfz1m5xh3jrvv4iyl5wjsnkk599pls5n"))))
(outputs '("out" "doc"))
(build-system python-build-system)
(propagated-inputs
`(("python-appdirs" ,python-appdirs)))
@ -4882,26 +4968,31 @@ them as the version argument or in a SCM managed file.")
("python-sphinx" ,python-sphinx)
("python-rst.linker" ,python-rst.linker)
("python-pytest" ,python-pytest)
("python-pytest-runner" ,python-pytest-runner)))
("python-pytest-runner" ,python-pytest-runner)
("python-jaraco-packaging" ,python-jaraco-packaging)))
(arguments
;; FIXME: Documentation and tests require "jaraco.packaging".
`(#:tests? #f))
;; #:phases
;; (modify-phases %standard-phases
;; (add-after 'build 'build-doc
;; (lambda _
;; (setenv "LANG" "en_US.UTF-8")
;; (zero? (system* "python" "setup.py" "build_sphinx"))))
;; (add-after 'install 'install-doc
;; (lambda* (#:key outputs #:allow-other-keys)
;; (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
;; (doc (string-append data "/doc/" ,name "-" ,version))
;; (html (string-append doc "/html")))
;; (mkdir-p html)
;; (for-each (lambda (file)
;; (copy-file file (string-append doc "/" file)))
;; '("README.rst" "CHANGES.rst"))
;; (copy-recursively "build/sphinx/html" html)))))))
`(#:phases
(modify-phases %standard-phases
(add-after 'build 'build-doc
(lambda _
(setenv "LANG" "en_US.UTF-8")
(invoke "python" "setup.py" "build_sphinx")))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" ,name "-" ,version))
(html (string-append doc "/html")))
(mkdir-p html)
(for-each (lambda (file)
(copy-file file (string-append doc "/" file)))
'("README.rst" "CHANGES.rst"))
(copy-recursively "build/sphinx/html" html)
#t)))
(replace 'check
(lambda _
;; The import time test aborts if an import takes longer than
;; 100ms. It may very well take a little longer than that.
(invoke "pytest" "-v" "-k" "not test_import_time"))))))
(home-page "https://github.com/jaraco/path.py")
(synopsis "Python module wrapper for built-in os.path")
(description
@ -7898,6 +7989,27 @@ be set via config files and/or environment variables.")
@code{ArgumentParser} object.")
(license license:asl2.0)))
(define-public python-contextlib2
(package
(name "python-contextlib2")
(version "0.5.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "contextlib2" version))
(sha256
(base32
"0j6ad6lwwyc9kv71skj098v5l7x5biyj2hs4lc5x1kcixqcr97sh"))))
(build-system python-build-system)
(home-page "http://contextlib2.readthedocs.org/")
(synopsis "Tools for decorators and context managers")
(description "This module is primarily a backport of the Python
3.2 contextlib to earlier Python versions. Like contextlib, it
provides utilities for common tasks involving decorators and context
managers. It also contains additional features that are not part of
the standard library.")
(license license:psfl)))
(define-public python2-contextlib2
(package
(name "python2-contextlib2")
@ -9717,16 +9829,16 @@ format.")
(define-public python-twisted
(package
(name "python-twisted")
(version "19.2.0")
(version "19.2.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "Twisted" version ".tar.bz2"))
(sha256
(base32
"1gmb8d57s13d8znvqnxi47vqzqz141z443dbxg9wjkp8ia9f220p"))))
"0liymyd4pzphizjlpwkncxjpm9akyr3lkfkm77yfg6wasv108b7s"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; FIXME: Some tests are failing.
'(#:tests? #f)) ; FIXME: some tests fail
(propagated-inputs
`(("python-zope-interface" ,python-zope-interface)
("python-pyhamcrest" ,python-pyhamcrest)
@ -10349,14 +10461,14 @@ etc.")
(define-public python-stem
(package
(name "python-stem")
(version "1.7.0")
(version "1.7.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stem" version))
(sha256
(base32
"1awiglfiajnx2hva9aqpj3fmdvdb4qg7cwnlfyih827m68y3cq8v"))))
"18lc95pmc7i089nlsb06dsxyjl5wbhxfqgdxbjcia35ndh8z7sn9"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -13423,6 +13535,37 @@ belong to tagged versions.")
(define-public python2-setuptools-scm-git-archive
(package-with-python2 python-setuptools-scm-git-archive))
(define-public python-setuptools-git
(package
(name "python-setuptools-git")
(version "1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "setuptools-git" version))
(sha256
(base32
"0i84qjwp5m0l9qagdjww2frdh63r37km1c48mrvbmaqsl1ni6r7z"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; This is needed for tests.
(add-after 'unpack 'configure-git
(lambda _
(setenv "HOME" "/tmp")
(invoke "git" "config" "--global" "user.email" "guix")
(invoke "git" "config" "--global" "user.name" "guix")
#t)))))
(native-inputs
`(("git" ,git-minimal)))
(home-page "https://github.com/msabramo/setuptools-git")
(synopsis "Setuptools revision control system plugin for Git")
(description
"This package provides a plugin for Setuptools for revision control with
Git.")
(license license:bsd-3)))
(define-public python-pyclipper
(package
(name "python-pyclipper")
@ -14026,6 +14169,51 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style
@code{f} strings.")
(license license:expat)))
(define-public python-typed-ast
(package
(name "python-typed-ast")
(version "1.3.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "typed-ast" version))
(sha256
(base32
"1m7pr6qpana3cvqwiw7mlvrgvmw27ch5mx1592572xhlki8g85ak"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build utils)
(guix build python-build-system)
(ice-9 ftw)
(srfi srfi-1)
(srfi srfi-26))
#:phases
(modify-phases %standard-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"))))
(invoke "pytest")
#t)))))
(native-inputs `(("python-pytest" ,python-pytest)))
(home-page "https://github.com/python/typed_ast")
(synopsis "Fork of Python @code{ast} modules with type comment support")
(description "This package provides a parser similar to the standard
@code{ast} library. Unlike @code{ast}, the parsers in @code{typed_ast}
include PEP 484 type comments and are independent of the version of Python
under which they are run. The @code{typed_ast} parsers produce the standard
Python AST (plus type comments), and are both fast and correct, as they are
based on the CPython 2.7 and 3.7 parsers.")
;; See the file "LICENSE" for the details.
(license (list license:psfl
license:asl2.0
license:expat)))) ;ast27/Parser/spark.py
(define-public python-typing
(package
(name "python-typing")
@ -15113,14 +15301,13 @@ append on old values. Partd excels at shuffling operations.")
(define-public python-dask
(package
(name "python-dask")
(version "1.2.0")
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dask" version))
(sha256
(base32
"1y0dqcp72ixwblgway0jpvfirlxfcmwrjiivdq96firj1hw127sd"))))
(base32 "0b29gvf96gmp20wicly3v3mhyc93zbm3mdv935fka6x0wax7cy2y"))))
(build-system python-build-system)
;; A single test out of 5000+ fails. This test is marked as xfail when
;; pytest-xdist is used.
@ -15331,14 +15518,13 @@ with the HTTP/2-based RPC framework gRPC.")
(define-public python-astunparse
(package
(name "python-astunparse")
(version "1.6.1")
(version "1.6.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astunparse" version))
(sha256
(base32
"1jhidwyrqn17avqh9xnnm3wd7q7aahaq009cba67g86y6gxicyyj"))))
(base32 "0rzbc44xcvzjhhiy7wac96mgal5mcjz1mfq8rmvgswskf4kf9cys"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; there are none
(propagated-inputs
@ -15568,3 +15754,40 @@ by Igor Pavlov.")
(define-public python2-pylzma
(package-with-python2 python-pylzma))
(define-public python-bsddb3
(package
(name "python-bsddb3")
(version "6.2.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bsddb3" version))
(sha256
(base32
"019db2y6bfmiqbrgg9x9f6h72qjmqh05czdn2v5sy9bl0gs23mj2"))))
(build-system python-build-system)
(inputs
`(("bdb" ,bdb)))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'configure-locations
(lambda* (#:key inputs #:allow-other-keys)
(setenv "BERKELEYDB_DIR" (assoc-ref inputs "bdb"))
(setenv "YES_I_HAVE_THE_RIGHT_TO_USE_THIS_BERKELEY_DB_VERSION" "1")
#t))
(replace 'check
(lambda _
(invoke "python3" "test3.py" "-v"))))))
(home-page "https://www.jcea.es/programacion/pybsddb.htm")
(synopsis "Python bindings for Oracle Berkeley DB")
(description
"This module provides a nearly complete wrapping of the Oracle/Sleepycat
C API for the Database Environment, Database, Cursor, Log Cursor, Sequence and
Transaction objects, and each of these is exposed as a Python type in the
bsddb3.db module. The database objects can use various access methods: btree,
hash, recno, and queue. Complete support of Berkeley DB distributed
transactions. Complete support for Berkeley DB Replication Manager.
Complete support for Berkeley DB Base Replication. Support for RPC.")
(license license:bsd-3)))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,6 +25,7 @@
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bdw-gc)
@ -308,8 +310,19 @@ on numerical types, while GiNaC depends on CLN for this purpose.")
(invoke "make" "libzn_poly.so")))
(add-after 'install 'install-so
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
(install-file "libzn_poly.so" lib)))))))
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib"))
(soname (string-append "libzn_poly-" ,version ".so"))
(target (string-append lib "/" soname)))
(install-file "libzn_poly.a" lib)
(install-file soname lib)
(symlink target
(string-append lib "/libzn_poly.so"))
(symlink target
(string-append lib "/libzn_poly-"
,(version-major+minor version)
".so")))
#t)))))
(synopsis "Arithmetic for polynomials over Z/NZ")
(description "zn_poly implements the arithmetic of polynomials the
coefficients of which are modular integers.")
@ -353,3 +366,109 @@ Boolean variables. As a unique approach, binary decision diagrams are
used as internal storage type for polynomial structures.")
(license license:gpl2+)
(home-page "https://gitlab.com/sagemath/zn_poly")))
(define-public lcalc
(package
(name "lcalc")
(version "1.23")
;; The original home page of the project has disappeared, as well as
;; code hosted by the original author on Google Code. The latter has
;; been copied to gitlab.com/sagemath and purportedly contains patches
;; for a never released version 1.3, that supposedly follows 1.23.
;; We use the tarball as well as the patches hosted inside the sage
;; package system distributed with the sage tarball.
(source
(origin
(method url-fetch)
(uri (string-append "ftp://ftp.fu-berlin.de/unix/misc/sage/spkg/"
"upstream/lcalc/lcalc-1.23.tar.bz2"))
(sha256
(base32
"1c6dsdshgxhqppjxvxhp8yhpxaqvnz3d1mlh26r571gkq8z2bm43"))
(patches (search-patches "lcalc-lcommon-h.patch"
"lcalc-default-parameters-1.patch"
"lcalc-default-parameters-2.patch"
"lcalc-using-namespace-std.patch"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no tests
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'prepare-build
(lambda* (#:key outputs #:allow-other-keys)
(chdir "src")
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("^INSTALL_DIR= /usr/local")
(string-append "INSTALL_DIR=" out))
;; Sage renames the include directory, so we do it also.
(("include/Lfunction")
"include/libLfunction")
;; Add --std=c++11 to be compatible with the "auto" keyword
;; introduced by lcalc-using-namespace-std.patch.
(("^#EXTRA= -pg")
"EXTRA=--std=c++11")))
#t))
(add-before 'install 'make-output-dirs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib"))
(include (string-append out "/include")))
(mkdir-p bin)
(mkdir-p lib)
(mkdir-p include))
#t)))))
;; FIXME:
;; We need to add pari-gp and probably pari related patches from the
;; sage project, as well as uncomment the line setting PARI_DEFINE in
;; the Makefile to get the full functionality of this package.
;; For the time being, we hope that sage can be compiled without.
(synopsis "C++ library for L-functions")
(description "Lcalc computes L-functions, in particular the Riemann
zeta function and its twists by quadratic characters.")
(license license:gpl2+)
(home-page "https://gitlab.com/sagemath/sage")))
(define-public ratpoints
(package
(name "ratpoints")
(version "2.1.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.mathe2.uni-bayreuth.de/stoll/programs/"
"ratpoints-" version ".tar.gz"))
(sha256
(base32
"0zhad84sfds7izyksbqjmwpfw4rvyqk63yzdjd3ysd32zss5bgf4"))
(patches
;; Taken from
;; <https://git.sagemath.org/sage.git/plain/build/pkgs/ratpoints/patches/>
(search-patches "ratpoints-sturm_and_rp_private.patch"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:make-flags
(list (string-append "INSTALL_DIR=" (assoc-ref %outputs "out"))
"CCFLAGS=-fPIC")
#:phases
(modify-phases %standard-phases
(delete 'configure) ;no configure script
(add-before 'install 'create-install-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p out)
(with-directory-excursion out
(for-each (lambda (d) (mkdir-p d))
'("bin" "include" "lib"))))
#t)))))
(inputs
`(("gmp" ,gmp)))
(home-page "http://www.mathe2.uni-bayreuth.de/stoll/programs/")
(synopsis "Find rational points on hyperelliptic curves")
(description "Ratpoints tries to find all rational points within
a given height bound on a hyperelliptic curve in a very efficient way,
by using an optimized quadratic sieve algorithm.")
(license license:gpl2+)))

View File

@ -1,6 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -77,14 +79,14 @@ implementing both small and large scale systems.")
(define-public rep-gtk
(package
(name "rep-gtk")
(version "0.90.8.2")
(version "0.90.8.3")
(source (origin
(method url-fetch)
(uri (string-append "http://download.tuxfamily.org/librep/"
(uri (string-append "https://download.tuxfamily.org/librep/"
name "/" name "_" version ".tar.xz"))
(sha256
(base32
"0qslm2isyv22hffdpw0nh7xk8jw8cj3h5y7d40c9h5r833w7j6sz"))
"0hgkkywm8zczir3lqr727bn7ybgg71x9cwj1av8fykkr8pdpard9"))
(modules '((guix build utils)))
(snippet
'(begin
@ -94,14 +96,26 @@ implementing both small and large scale systems.")
"installdir=$(libdir)/rep"))
#t))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; no tests
(arguments
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'remove-autogen
(lambda _
;; Remove autogen.sh so that the bootstrap phase can run
;; autoreconf.
(delete-file "autogen.sh")
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(propagated-inputs
;; required by rep-gtk.pc.
`(("gtk+" ,gtk+-2)
("librep" ,librep)))
(home-page "http://sawfish.wikia.com/wiki/Rep-GTK")
(home-page "https://sawfish.fandom.com/wiki/Rep-GTK")
(synopsis "GTK+ binding for librep")
(description
"Rep-GTK is a GTK+ (and GLib, GDK) binding to the librep, and one of the
@ -111,14 +125,14 @@ backend of Sawfish.")
(define-public sawfish
(package
(name "sawfish")
(version "1.11")
(version "1.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.tuxfamily.org/sawfish/"
(uri (string-append "https://download.tuxfamily.org/sawfish/"
name "_" version ".tar.xz"))
(sha256
(base32
"0wp4m0p836a0rysbcdqb6z5hxlxqj3rgdbks3bs44rlssx0mcvyg"))
"1z7awzgw8d15aw17kpbj460pcxq8l2rhkaxk47w7yg9qrmg0xja4"))
(modules '((guix build utils)))
(snippet
'(begin
@ -172,7 +186,7 @@ backend of Sawfish.")
("libxrandr" ,libxrandr)
("libxtst" ,libxtst)
("rep-gtk" ,rep-gtk)))
(home-page "http://sawfish.wikia.com/wiki/Main_Page")
(home-page "https://sawfish.tuxfamily.org")
(synopsis "Configurable window manager")
(description
"Sawfish is an extensible window manager using a Lisp-based scripting

View File

@ -252,16 +252,14 @@ over the Internet in an HTTP and CDN friendly way;
(define-public rclone
(package
(name "rclone")
(version "1.47.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ncw/rclone.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(version "1.48.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ncw/rclone/releases/download/v"
version "/rclone-v" version ".tar.gz"))
(sha256
(base32
"1nxwjr9jly6wh1ixr6a7zhlg4b3298v940040fsm0n3lcljd37zx"))))
(base32 "1r03rlsk0qpya1fl8xfhj5inccjywf2cqgkd8r6wfhf3w2qd1zlc"))))
;; FIXME: Rclone bundles some libraries Guix already provides. Need to
;; un-bundle them.
(build-system go-build-system)

View File

@ -6,6 +6,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -25,8 +26,10 @@
(define-module (gnu packages tcl)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system perl)
#:use-module (gnu packages)
#:use-module (gnu packages image)
@ -35,7 +38,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix licenses))
#:use-module ((guix licenses) #:prefix license:))
(define-public tcl
(package
@ -81,7 +84,7 @@
(home-page "http://www.tcl.tk/")
(synopsis "The Tcl scripting language")
(description "The Tcl (Tool Command Language) scripting language.")
(license tcl/tk)))
(license license:tcl/tk)))
(define-public expect
@ -130,7 +133,7 @@ telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this
stuff trivial. Expect is also useful for testing these same
applications. And by adding Tk, you can wrap interactive applications in
X11 GUIs.")
(license public-domain))) ; as written in `license.terms'
(license license:public-domain))) ; as written in `license.terms'
(define-public tk
(package
@ -230,7 +233,7 @@ interfaces (GUIs) in the Tcl language.")
;; those of the orignal Tix4.1.3 or Tk8.4.* sources. See the files
;; pTk/license.terms, pTk/license.html_lib, and pTk/Tix.license for
;; details of this license."
(license perl-license)))
(license license:perl-license)))
(define-public tcllib
(package
@ -344,7 +347,7 @@ modules for Tk, all written in high-level Tcl. Examples of provided widgets:
application may register callback scripts for certain document features, and
when the parser encounters those features while parsing the document the
callback is evaluated.")
(license (non-copyleft
(license (license:non-copyleft
"file://LICENCE"
"See LICENCE in the distribution."))))
@ -378,4 +381,31 @@ callback is evaluated.")
application development. TclX provides additional interfaces to the operating
system, and adds many new programming constructs, text manipulation tools, and
debugging tools.")
(license tcl/tk)))
(license license:tcl/tk)))
(define-public go-github.com-nsf-gothic
(let ((commit "97dfcc195b9de36c911a69a6ec2b5b2659c05652")
(revision "0"))
(package
(name "go-github.com-nsf-gothic")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nsf/gothic")
(commit commit)))
(sha256
(base32
"1lrhbml6r4sh22rrn3m9bck70pv0g0c1diprg7cil90x0jidxczr"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/nsf/gothic"))
(propagated-inputs
`(("tk" ,tk)
("tcl" ,tcl)))
(home-page "https://github.com/nsf/gothic")
(synopsis "Tcl/Tk Go bindings")
(description "Gothic contains Go bindings for Tcl/Tk. The package contains
only one type and one function that can be used to create a Tk interpreter.")
(license license:expat))))

View File

@ -7,6 +7,7 @@
;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.org>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,15 +37,19 @@
#:use-module (gnu packages assembly)
#:use-module (gnu packages boost)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages regex)
#:use-module (gnu packages ruby)
@ -388,3 +393,47 @@ projects. The EditorConfig project maintains a file format and plugins for
various text editors which allow this file format to be read and used by those
editors.")
(license license:bsd-2)))
(define-public texmacs
(package
(name "texmacs")
(version "1.99.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.texmacs.org/Download/ftp/tmftp/"
"source/TeXmacs-" version "-src.tar.gz"))
(sha256
(base32
"0i95sf9y8qpgxd8f39cprbp3s200nm9lml0xdpyn46n838acvw19"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "3rdparty")
#t))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("freetype" ,freetype)
("guile" ,guile-1.8)
("perl" ,perl)
("python" ,python-wrapper)
("qt" ,qt-4)))
(arguments
`(#:tests? #f ;no check target
#:phases
(modify-phases %standard-phases
(add-before 'configure 'gzip-flags
(lambda _
(substitute* "Makefile.in"
(("^GZIP = gzip -f") "GZIP = gzip -f -n")))))))
(synopsis "Editing platform with special features for scientists")
(description
"GNU TeXmacs is a text editing platform which is specialized for
scientists. It is ideal for editing structured documents with different
types of content. It has robust support for mathematical formulas and plots.
It can also act as an interface to external mathematical programs such as R
and Octave. TeXmacs is completely extensible via Guile.")
(license license:gpl3+)
(home-page "https://www.texmacs.org/tmweb/home/welcome.en.html")))

View File

@ -1446,7 +1446,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2019.05.20")
(version "2019.06.21")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rg3/youtube-dl/releases/"
@ -1454,7 +1454,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
"18xwdfvpkqrnj0kb8xj8hgwhgiqpv7x7x7zzr4x3vynb9grcv9m8"))))
"03a729198zzhixbn7xixi9bprmk3qqh5dsyh3dqhji6lmlijx1w5"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion

View File

@ -399,46 +399,48 @@ manage system or application containers.")
(define-public libvirt
(package
(name "libvirt")
(version "4.10.0")
(version "5.4.0")
(source (origin
(method url-fetch)
(uri (string-append "https://libvirt.org/sources/libvirt-"
version ".tar.xz"))
(sha256
(base32
"0v17zzyyb25nn9l18v5244myg7590dp6ppwgi8xysipifc0q77bz"))))
"0ywf8m9yz2hxnic7fylzlmgy4m353r4vv5zsvp89zq5yh4h81yhw"))))
(build-system gnu-build-system)
(arguments
`(;; FAIL: virshtest
;; FAIL: virfirewalltest
;; FAIL: virkmodtest
;; FAIL: virnetsockettest
;; FAIL: networkxml2firewalltest
;; FAIL: nwfilterebiptablestest
;; FAIL: nwfilterxml2firewalltest
;; Time-out while running commandtest.
#:tests? #f
#:configure-flags
`(#:configure-flags
(list "--with-polkit"
(string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/"
,name "-" ,version)
"--sysconfdir=/etc"
"--localstatedir=/var")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(add-before 'configure 'fix-BOURNE_SHELL-definition
;; BOURNE_SHELL is hard-#defined to /bin/sh, causing test failures.
(lambda _
(substitute* '("tests/commandtest.c"
"gnulib/tests/test-posix_spawn1.c"
"gnulib/tests/test-posix_spawn2.c")
(substitute* "config.h.in"
(("/bin/sh") (which "sh")))
#t))
(add-before 'configure 'disable-broken-tests
(lambda _
(let ((tests (list "commandtest" ; hangs idly
"virnetsockettest" ; tries to network
"virshtest"))) ; fails
(substitute* "tests/Makefile.in"
(((format #f "(~a)\\$\\(EXEEXT\\)" (string-join tests "|")))
""))
#t)))
(replace 'install
;; Since the sysconfdir and localstatedir should be /etc and /var
;; at runtime, we must prevent writing to them at installation
;; time.
(lambda _
(invoke "make" "install"
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "install"
"sysconfdir=/tmp/etc"
"localstatedir=/tmp/var")))
"localstatedir=/tmp/var"
make-flags)))
(add-after 'install 'wrap-libvirtd
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@ -534,13 +536,13 @@ three libraries:
(define-public python-libvirt
(package
(name "python-libvirt")
(version "4.10.0")
(version "5.3.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "libvirt-python" version))
(sha256
(base32
"11fipj9naihgc9afc8bz5hi05xa1shp4qcy170sa18p3sl4zljb9"))))
"1zrhkz68ka4f08wwm36y3zzwfn1r65h4nw1nm9qgg8jmrfazj4sj"))))
(build-system python-build-system)
(arguments
`(#:phases

View File

@ -3112,7 +3112,7 @@ select or poll.")
(define-public perl-libwww
(package
(name "perl-libwww")
(version "6.37")
(version "6.39")
(source (origin
(method url-fetch)
(uri (string-append
@ -3120,7 +3120,7 @@ select or poll.")
version ".tar.gz"))
(sha256
(base32
"04a24cx9gs070rvlwf5kanz03y7nnq9k2nmpr01plnm059iprvf6"))))
"1mblfwz3g7vmyykmb0mcbmmad77rwx55fwaca9ymv9wajd3pg3cs"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-fatal" ,perl-test-fatal)
@ -3662,14 +3662,14 @@ applications.")
(define-public perl-uri
(package
(name "perl-uri")
(version "1.73")
(version "1.76")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/"
(uri (string-append "mirror://cpan/authors/id/O/OA/OALDERS/"
"URI-" version ".tar.gz"))
(sha256
(base32
"04z4xwiryrbxxi48bwbkgq9q9pwfgqry3wp0ramcrwv3dx5ap9yc"))))
"0gj1aj18k43kmzc3y1zhj5giinf8rksacf757r475xfna0fqxjdj"))))
(build-system perl-build-system)
(native-inputs
;; For tests.

View File

@ -310,7 +310,7 @@ integrate Windows applications into your desktop.")
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
(version "4.10")
(version "4.11")
(source
(origin
(method git-fetch)
@ -320,7 +320,7 @@ integrate Windows applications into your desktop.")
(file-name (git-file-name name version))
(sha256
(base32
"0kl5718c4xk8d1va1jb5jaa2n0vw3l0hi6bpc7siaww1fp64hy98"))))
"0h8qldqr9w1kwn48qgg5m1cs2xqkv8xxg2c66cvfka91hy886jcf"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@ -366,7 +366,7 @@ integrate Windows applications into your desktop.")
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
"041d3km85iqbshspy9av1fxjwq18xldrb18j04xl2fmpv1hq3pas"))))
"1rmyfwlynzs2niz7l2lwjs2axm6in6gb43ldbzyzsflxsmk5fl9f"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("faudio" ,faudio)
("ffmpeg" ,ffmpeg)

View File

@ -519,6 +519,7 @@ move windows, switch between desktops, etc.).")
(git-reference
(url "https://github.com/resurrecting-open-source-projects/scrot.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1dg0pnmk09p7zlbyxv7d40vf54amrv73y976ds5p7096x6lmlndy"))))
(build-system gnu-build-system)
@ -1178,7 +1179,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
(define-public rofi
(package
(name "rofi")
(version "1.5.2")
(version "1.5.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/DaveDavenport/rofi/"
@ -1186,7 +1187,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
version "/rofi-" version ".tar.xz"))
(sha256
(base32
"17faa0rj8vqidrijwx9jrq0c29003n8v3izvc66yssfljgb8kcpj"))))
"0y78ya2va2lg3ww17n11y9awn8lhcp1px2d8gxaimxfqlxczs8la"))))
(build-system gnu-build-system)
(inputs
`(("pango" ,pango)
@ -1206,7 +1207,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.")
("glib:bin" ,glib "bin")
("pkg-config" ,pkg-config)))
(arguments
`(#:parallel-tests? #f ; May fail in some circumstances.
`(#:parallel-tests? #f ; fails in some circumstances
#:phases
(modify-phases %standard-phases
(add-before 'configure 'adjust-tests

View File

@ -188,7 +188,7 @@ to share commonly used Xfce widgets among the Xfce applications.")
(define-public exo
(package
(name "exo")
(version "0.12.5")
(version "0.12.6")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@ -196,7 +196,7 @@ to share commonly used Xfce widgets among the Xfce applications.")
"exo-" version ".tar.bz2"))
(sha256
(base32
"1s23prcgall6r5dpn0qlrdq3zj13p95a5s0l2vflgrka8gb39x78"))))
"00qh8ihrf09jvd26kilybihkgvv6rvi0l1bvlldxc99jb7ygy5ql"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

View File

@ -1780,17 +1780,14 @@ features and to query screensaver info on specific windows.")
(define-public sessreg
(package
(name "sessreg")
(version "1.1.1")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://xorg/individual/app/sessreg-"
version
".tar.bz2"))
"mirror://xorg/individual/app/sessreg-" version ".tar.bz2"))
(sha256
(base32
"1qd66mg2bnppqz4xgdjzif2488zl82vx2c26ld3nb8pnyginm9vq"))))
(base32 "0crczl25zynkrslmm8sjaxszhrh4i33m7h5fg4wfdb3k8aarxjyz"))))
(build-system gnu-build-system)
(inputs
`(("xorgproto" ,xorgproto)))
@ -2076,14 +2073,14 @@ legacy X clients.")
(define-public xcalc
(package
(name "xcalc")
(version "1.0.7")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://xorg/individual/app/"
"xcalc-" version ".tar.gz"))
(sha256
(base32 "1xgih1iq9498m7vk22qrdsck1rb905sn395azjn4a6pmhfai401b"))))
(base32 "0c768lh0nh28ram9ldldhaf51024fngc589v4pjmf3lxmzcihr58"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@ -895,11 +895,17 @@ and @command{wicd-curses} user interfaces."
(vpn-plugins network-manager-vpn-plugins ;list of <package>
(default '())))
(define %network-manager-activation
;; Activation gexp for NetworkManager.
(define network-manager-activation
;; Activation gexp for NetworkManager
(match-lambda
(($ <network-manager-configuration> network-manager dns vpn-plugins)
#~(begin
(use-modules (guix build utils))
(mkdir-p "/etc/NetworkManager/system-connections")))
(mkdir-p "/etc/NetworkManager/system-connections")
#$@(if (equal? dns "dnsmasq")
;; create directory to store dnsmasq lease file
'((mkdir-p "/var/lib/misc"))
'())))))
(define (vpn-plugin-directory plugins)
"Return a directory containing PLUGINS, the NM VPN plugins."
@ -949,7 +955,7 @@ and @command{wicd-curses} user interfaces."
(service-extension dbus-root-service-type config->package)
(service-extension polkit-service-type config->package)
(service-extension activation-service-type
(const %network-manager-activation))
network-manager-activation)
(service-extension session-environment-service-type
network-manager-environment)
;; Add network-manager to the system profile.

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -273,7 +273,10 @@ FILE-SYSTEMS."
(append-map (compose file-system-type-modules file-system-type)
file-systems))
(define* (default-initrd-modules #:optional (system (%current-system)))
(define* (default-initrd-modules
#:optional
(system (or (%current-target-system)
(%current-system))))
"Return the list of modules included in the initrd by default."
(define virtio-modules
;; Modules for Linux para-virtualized devices, for use in QEMU guests.

View File

@ -223,8 +223,8 @@ info --version")
(operating-system-user-accounts os))))
(marionette-eval
`(begin
(use-modules (srfi srfi-1) (ice-9 ftw)
(ice-9 match))
(use-modules (guix build utils) (srfi srfi-1)
(ice-9 ftw) (ice-9 match))
(every (match-lambda
((user home)

View File

@ -79,6 +79,7 @@
(services (cons (service marionette-service-type
(marionette-configuration
(imported-modules '((gnu services herd)
(guix build utils)
(guix combinators)))))
%base-services))))

View File

@ -63,7 +63,8 @@
;; strings" due to the fact that we use 'G_' instead of '_'. We'll need
;; help from Guile to solve this.
'(unsupported-warning unbound-variable arity-mismatch
macro-use-before-definition)) ;new in 2.2
macro-use-before-definition ;new in 2.2
shadowed-toplevel)) ;new in 2.2.5
(define (optimization-options file)
"Return the default set of optimizations options for FILE."

View File

@ -146,6 +146,7 @@
window-size-y-pixels
terminal-window-size
terminal-columns
terminal-rows
utmpx?
utmpx-login-type
@ -1871,23 +1872,17 @@ corresponds to the TIOCGWINSZ ioctl."
(list (strerror err))
(list err)))))
(define* (terminal-columns #:optional (port (current-output-port)))
"Return the best approximation of the number of columns of the terminal at
PORT, trying to guess a reasonable value if all else fails. The result is
always a positive integer."
(define (fall-back)
(match (and=> (getenv "COLUMNS") string->number)
(#f 80)
((? number? columns)
(if (> columns 0) columns 80))))
(define (terminal-dimension window-dimension port fall-back)
"Return the terminal dimension defined by WINDOW-DIMENSION, one of
'window-size-columns' or 'window-size-rows' for PORT. If PORT does not
correspond to a terminal, return the value returned by FALL-BACK."
(catch 'system-error
(lambda ()
(if (file-port? port)
(match (window-size-columns (terminal-window-size port))
(match (window-dimension (terminal-window-size port))
;; Things like Emacs shell-mode return 0, which is unreasonable.
(0 (fall-back))
((? number? columns) columns))
((? number? n) n))
(fall-back)))
(lambda args
(let ((errno (system-error-errno args)))
@ -1900,6 +1895,24 @@ always a positive integer."
(fall-back)
(apply throw args))))))
(define* (terminal-columns #:optional (port (current-output-port)))
"Return the best approximation of the number of columns of the terminal at
PORT, trying to guess a reasonable value if all else fails. The result is
always a positive integer."
(define (fall-back)
(match (and=> (getenv "COLUMNS") string->number)
(#f 80)
((? number? columns)
(if (> columns 0) columns 80))))
(terminal-dimension window-size-columns port fall-back))
(define* (terminal-rows #:optional (port (current-output-port)))
"Return the best approximation of the number of rows of the terminal at
PORT, trying to guess a reasonable value if all else fails. The result is
always a positive integer."
(terminal-dimension window-size-rows port (const 25)))
;;;
;;; utmpx.

View File

@ -21,6 +21,7 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-9 gnu)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
@ -34,6 +35,7 @@
#:use-module (guix base16)
#:use-module (guix memoization)
#:use-module (guix combinators)
#:use-module (guix deprecation)
#:use-module (guix monads)
#:use-module (gcrypt hash)
#:use-module (guix base32)
@ -50,7 +52,8 @@
derivation-builder-environment-vars
derivation-file-name
derivation-prerequisites
derivation-prerequisites-to-build
derivation-build-plan
derivation-prerequisites-to-build ;deprecated
<derivation-output>
derivation-output?
@ -61,6 +64,7 @@
<derivation-input>
derivation-input?
derivation-input
derivation-input-path
derivation-input-derivation
derivation-input-sub-derivations
@ -148,14 +152,28 @@
(recursive? derivation-output-recursive?)) ; Boolean
(define-immutable-record-type <derivation-input>
(make-derivation-input path sub-derivations)
(make-derivation-input drv sub-derivations)
derivation-input?
(path derivation-input-path) ; store path
(drv derivation-input-derivation) ; <derivation>
(sub-derivations derivation-input-sub-derivations)) ; list of strings
(define (derivation-input-derivation input)
"Return the <derivation> object INPUT refers to."
(read-derivation-from-file (derivation-input-path input)))
(define (derivation-input-path input)
"Return the file name of the derivation INPUT refers to."
(derivation-file-name (derivation-input-derivation input)))
(define* (derivation-input drv #:optional
(outputs (derivation-output-names drv)))
"Return a <derivation-input> for the OUTPUTS of DRV."
;; This is a public interface meant to be more convenient than
;; 'make-derivation-input' and giving us more control.
(make-derivation-input drv outputs))
(define (derivation-input-key input)
"Return an object for which 'equal?' and 'hash' are constant-time, and which
can thus be used as a key for INPUT in lookup tables."
(cons (derivation-input-path input)
(derivation-input-sub-derivations input)))
(set-record-type-printer! <derivation>
(lambda (drv port)
@ -197,8 +215,8 @@ download with a fixed hash (aka. `fetchurl')."
"Return the list of output paths corresponding to INPUT, a
<derivation-input>."
(match input
(($ <derivation-input> path sub-drvs)
(map (cut derivation-path->output-path path <>)
(($ <derivation-input> drv sub-drvs)
(map (cut derivation->output-path drv <>)
sub-drvs))))
(define (valid-derivation-input? store input)
@ -213,20 +231,20 @@ they are coalesced, with their sub-derivations merged. This is needed because
Nix itself keeps only one of them."
(fold (lambda (input result)
(match input
(($ <derivation-input> path sub-drvs)
(($ <derivation-input> (= derivation-file-name path) sub-drvs)
;; XXX: quadratic
(match (find (match-lambda
(($ <derivation-input> p s)
(($ <derivation-input> (= derivation-file-name p)
s)
(string=? p path)))
result)
(#f
(cons input result))
((and dup ($ <derivation-input> _ sub-drvs2))
((and dup ($ <derivation-input> drv sub-drvs2))
;; Merge DUP with INPUT.
(let ((sub-drvs (delete-duplicates
(append sub-drvs sub-drvs2))))
(cons (make-derivation-input path
(sort sub-drvs string<?))
(cons (make-derivation-input drv (sort sub-drvs string<?))
(delq dup result))))))))
'()
inputs))
@ -242,12 +260,14 @@ result is the set of prerequisites of DRV not already in valid."
(result '())
(input-set (set)))
(let ((inputs (remove (lambda (input)
(or (set-contains? input-set input)
(or (set-contains? input-set
(derivation-input-key input))
(cut? input)))
(derivation-inputs drv))))
(fold2 loop
(append inputs result)
(fold set-insert input-set inputs)
(fold set-insert input-set
(map derivation-input-key inputs))
(map derivation-input-derivation inputs)))))
(define (offloadable-derivation? drv)
@ -333,87 +353,81 @@ substituter many times."
(#f #f)
((key . value) value)))))
(define* (derivation-prerequisites-to-build store drv
(define* (derivation-build-plan store inputs
#:key
(mode (build-mode normal))
(outputs
(derivation-output-names drv))
(substitutable-info
(substitution-oracle store
(list drv)
(substitution-oracle
store
(map derivation-input-derivation
inputs)
#:mode mode)))
"Return two values: the list of derivation-inputs required to build the
OUTPUTS of DRV and not already available in STORE, recursively, and the list
of required store paths that can be substituted. SUBSTITUTABLE-INFO must be a
one-argument procedure similar to that returned by 'substitution-oracle'."
(define built?
(mlambda (item)
(valid-path? store item)))
"Given INPUTS, a list of derivation-inputs, return two values: the list of
derivation to build, and the list of substitutable items that, together,
allows INPUTS to be realized.
(define input-built?
(compose (cut any built? <>) derivation-input-output-paths))
SUBSTITUTABLE-INFO must be a one-argument procedure similar to that returned
by 'substitution-oracle'."
(define (built? item)
(valid-path? store item))
(define input-substitutable?
;; Return true if and only if all of SUB-DRVS are subsitutable. If at
;; least one is missing, then everything must be rebuilt.
(compose (cut every substitutable-info <>) derivation-input-output-paths))
(define (derivation-built? drv* sub-drvs)
(define (input-built? input)
;; In 'check' mode, assume that DRV is not built.
(and (not (and (eqv? mode (build-mode check))
(eq? drv* drv)))
(every built? (derivation-output-paths drv* sub-drvs))))
(member input inputs)))
(every built? (derivation-input-output-paths input))))
(define (derivation-substitutable-info drv sub-drvs)
(and (substitutable-derivation? drv)
(let ((info (filter-map substitutable-info
(derivation-output-paths drv sub-drvs))))
(and (= (length info) (length sub-drvs))
(define (input-substitutable-info input)
(and (substitutable-derivation? (derivation-input-derivation input))
(let* ((items (derivation-input-output-paths input))
(info (filter-map substitutable-info items)))
(and (= (length info) (length items))
info))))
(let loop ((drv drv)
(sub-drvs outputs)
(build '()) ;list of <derivation-input>
(substitute '())) ;list of <substitutable>
(cond ((derivation-built? drv sub-drvs)
(let loop ((inputs inputs) ;list of <derivation-input>
(build '()) ;list of <derivation>
(substitute '()) ;list of <substitutable>
(visited (set))) ;set of <derivation-input>
(match inputs
(()
(values build substitute))
((derivation-substitutable-info drv sub-drvs)
((input rest ...)
(let ((key (derivation-input-key input)))
(cond ((set-contains? visited key)
(loop rest build substitute visited))
((input-built? input)
(loop rest build substitute
(set-insert key visited)))
((input-substitutable-info input)
=>
(lambda (substitutables)
(values build
(append substitutables substitute))))
(loop rest build
(append substitutables substitute)
(set-insert key visited))))
(else
(let ((build (if (substitutable-derivation? drv)
build
(cons (make-derivation-input
(derivation-file-name drv) sub-drvs)
build)))
(inputs (remove (lambda (i)
(or (member i build) ; XXX: quadratic
(input-built? i)
(input-substitutable? i)))
(derivation-inputs drv))))
(fold2 loop
(append inputs build)
(append (append-map (lambda (input)
(if (and (not (input-built? input))
(input-substitutable? input))
(map substitutable-info
(derivation-input-output-paths
input))
'()))
(derivation-inputs drv))
substitute)
(map (lambda (i)
(read-derivation-from-file
(derivation-input-path i)))
inputs)
(map derivation-input-sub-derivations inputs)))))))
(let ((deps (derivation-inputs
(derivation-input-derivation input))))
(loop (append deps rest)
(cons (derivation-input-derivation input) build)
substitute
(set-insert key visited))))))))))
(define (read-derivation drv-port)
(define-deprecated (derivation-prerequisites-to-build store drv #:rest rest)
derivation-build-plan
(let-values (((build download)
(apply derivation-build-plan store
(list (derivation-input drv)) rest)))
(values (map derivation-input build) download)))
(define* (read-derivation drv-port
#:optional (read-derivation-from-file
read-derivation-from-file))
"Read the derivation from DRV-PORT and return the corresponding <derivation>
object. Most of the time you'll want to use 'read-derivation-from-file',
which caches things as appropriate and is thus more efficient."
object. Call READ-DERIVATION-FROM-FILE to read derivations declared as inputs
of the derivation being parsed.
Most of the time you'll want to use 'read-derivation-from-file', which caches
things as appropriate and is thus more efficient."
(define comma (string->symbol ","))
@ -449,8 +463,9 @@ which caches things as appropriate and is thus more efficient."
(fold-right (lambda (input result)
(match input
((path (sub-drvs ...))
(cons (make-derivation-input path sub-drvs)
result))))
(let ((drv (read-derivation-from-file path)))
(cons (make-derivation-input drv sub-drvs)
result)))))
'()
x))
@ -552,9 +567,15 @@ that form."
(define (write-input input port)
(match input
(($ <derivation-input> path sub-drvs)
(($ <derivation-input> obj sub-drvs)
(display "(\"" port)
(display path port)
;; 'derivation/masked-inputs' produces objects that contain a string
;; instead of a <derivation>, so we need to account for that.
(display (if (derivation? obj)
(derivation-file-name obj)
obj)
port)
(display "\"," port)
(write-string-list sub-drvs)
(display ")" port))))
@ -645,13 +666,16 @@ name of each input with that input's hash."
(($ <derivation> outputs inputs sources
system builder args env-vars)
(let ((inputs (map (match-lambda
(($ <derivation-input> path sub-drvs)
(($ <derivation-input> (= derivation-file-name path)
sub-drvs)
(let ((hash (derivation-path->base16-hash path)))
(make-derivation-input hash sub-drvs))))
inputs)))
(make-derivation outputs
(sort (coalesce-duplicate-inputs inputs)
derivation-input<?)
(sort inputs
(lambda (drv1 drv2)
(string<? (derivation-input-derivation drv1)
(derivation-input-derivation drv2))))
sources
system builder args env-vars
#f)))))
@ -807,17 +831,19 @@ derivation. It is kept as-is, uninterpreted, in the derivation."
(define input->derivation-input
(match-lambda
(((? derivation? drv))
(make-derivation-input (derivation-file-name drv) '("out")))
(make-derivation-input drv '("out")))
(((? derivation? drv) sub-drvs ...)
(make-derivation-input (derivation-file-name drv) sub-drvs))
(((? direct-store-path? input))
(make-derivation-input input '("out")))
(((? direct-store-path? input) sub-drvs ...)
(make-derivation-input input sub-drvs))
((input . _)
(let ((path (add-to-store store (basename input)
(make-derivation-input drv sub-drvs))
(_ #f)))
(define input->source
(match-lambda
(((? string? input) . _)
(if (direct-store-path? input)
input
(add-to-store store (basename input)
#t "sha256" input)))
(make-derivation-input path '())))))
(_ #f)))
;; Note: lists are sorted alphabetically, to conform with the behavior of
;; C++ `std::map' in Nix itself.
@ -828,32 +854,31 @@ derivation. It is kept as-is, uninterpreted, in the derivation."
(make-derivation-output "" hash-algo
hash recursive?)))
(sort outputs string<?)))
(sources (sort (delete-duplicates
(filter-map input->source inputs))
string<?))
(inputs (sort (coalesce-duplicate-inputs
(map input->derivation-input
(delete-duplicates inputs)))
(filter-map input->derivation-input inputs))
derivation-input<?))
(env-vars (sort (env-vars-with-empty-outputs
(user+system-env-vars))
(lambda (e1 e2)
(string<? (car e1) (car e2)))))
(drv-masked (make-derivation outputs
(filter (compose derivation-path?
derivation-input-path)
inputs)
(filter-map (lambda (i)
(let ((p (derivation-input-path i)))
(and (not (derivation-path? p))
p)))
inputs)
(drv-masked (make-derivation outputs inputs sources
system builder args env-vars #f))
(drv (add-output-paths drv-masked)))
(let* ((file (add-data-to-store store (string-append name ".drv")
(derivation->bytevector drv)
(map derivation-input-path inputs)))
(append (map derivation-input-path inputs)
sources)))
(drv* (set-field drv (derivation-file-name) file)))
;; Preserve pointer equality. This improves the performance of
;; 'eq?'-memoization on derivations.
(or (hash-ref %derivation-cache file)
(begin
(hash-set! %derivation-cache file drv*)
drv*)))
drv*)))))
(define (invalidate-derivation-caches!)
"Invalidate internal derivation caches. This is mostly useful for
@ -920,7 +945,8 @@ recursively."
;; in the format used in 'derivation' calls.
(mlambda (input loop)
(match input
(($ <derivation-input> path (sub-drvs ...))
(($ <derivation-input> (= derivation-file-name path)
(sub-drvs ...))
(match (vhash-assoc path mapping)
((_ . (? derivation? replacement))
(cons replacement sub-drvs))
@ -990,6 +1016,11 @@ derivation/output pairs, using the specified MODE."
(build-things store (map (match-lambda
((? derivation? drv)
(derivation-file-name drv))
((? derivation-input? input)
(cons (derivation-input-path input)
(string-join
(derivation-input-sub-derivations input)
",")))
((? string? file) file)
(((? derivation? drv) . output)
(cons (derivation-file-name drv)

View File

@ -197,7 +197,9 @@ object) and TRANSFERRED (a total number of bytes) to determine the
throughput."
(define elapsed
(duration->seconds
(time-difference (current-time time-monotonic) start-time)))
(time-difference (current-time (time-type start-time))
start-time)))
(if (and (number? size) (not (zero? size)))
(let* ((% (* 100.0 (/ transferred size)))
(throughput (/ transferred elapsed))

View File

@ -836,10 +836,8 @@ build."
(#t
(match (package-source p)
(#f
(format (current-error-port)
(G_ "~a: warning: \
package '~a' has no source~%")
(location->string (package-location p))
(warning (package-location p)
(G_ "package '~a' has no source~%")
(package-name p))
'())
(s
@ -918,7 +916,8 @@ needed."
'())))
(items (filter-map (match-lambda
(('argument . (? store-path? file))
file)
(and (not (derivation-path? file))
file))
(_ #f))
opts))
(roots (filter-map (match-lambda

View File

@ -254,8 +254,7 @@ GNU-BUILD-SYSTEM have zero dependencies."
"Return the <derivation> objects and store items corresponding to the
dependencies of OBJ, a <derivation> or store item."
(if (derivation? obj)
(append (map (compose read-derivation-from-file derivation-input-path)
(derivation-inputs obj))
(append (map derivation-input-derivation (derivation-inputs obj))
(derivation-sources obj))
'()))

View File

@ -26,6 +26,7 @@
(define-module (guix scripts package)
#:use-module (guix ui)
#:use-module ((guix status) #:select (with-status-verbosity))
#:use-module ((guix build syscalls) #:select (terminal-rows))
#:use-module (guix store)
#:use-module (guix grafts)
#:use-module (guix derivations)
@ -178,9 +179,9 @@ hooks\" run when building the profile."
;;;
(define (find-packages-by-description regexps)
"Return two values: the list of packages whose name, synopsis, description,
or output matches at least one of REGEXPS sorted by relevance, and the list of
relevance scores."
"Return a list of pairs: packages whose name, synopsis, description,
or output matches at least one of REGEXPS sorted by relevance, and its
non-zero relevance score."
(let ((matches (fold-packages (lambda (package result)
(if (package-superseded package)
result
@ -189,19 +190,19 @@ relevance scores."
((? zero?)
result)
(score
(cons (list package score)
(cons (cons package score)
result)))))
'())))
(unzip2 (sort matches
(sort matches
(lambda (m1 m2)
(match m1
((package1 score1)
((package1 . score1)
(match m2
((package2 score2)
((package2 . score2)
(if (= score1 score2)
(string>? (package-full-name package1)
(package-full-name package2))
(> score1 score2)))))))))))
(> score1 score2))))))))))
(define (transaction-upgrade-entry entry transaction)
"Return a variant of TRANSACTION that accounts for the upgrade of ENTRY, a
@ -755,16 +756,10 @@ processed, #f otherwise."
(('query 'search rx) rx)
(_ #f))
opts))
(regexps (map (cut make-regexp* <> regexp/icase) patterns)))
(regexps (map (cut make-regexp* <> regexp/icase) patterns))
(matches (find-packages-by-description regexps)))
(leave-on-EPIPE
(let-values (((packages scores)
(find-packages-by-description regexps)))
(for-each (lambda (package score)
(package->recutils package (current-output-port)
#:extra-fields
`((relevance . ,score))))
packages
scores)))
(display-search-results matches (current-output-port)))
#t))
(('show requested-name)

View File

@ -724,6 +724,32 @@ example: \"/foo/bar\" yields '(\"foo\" \"bar\")."
(define %http-write
(@@ (web server http) http-write))
(match (list (major-version) (minor-version) (micro-version))
(("2" "2" "5") ;Guile 2.2.5
(let ()
(define %read-line (@ (ice-9 rdelim) %read-line))
(define bad-header (@@ (web http) bad-header))
;; XXX: Work around <https://bugs.gnu.org/36350> by reverting to the
;; definition of 'read-header-line' as found in 2.2.4 and earlier.
(define (read-header-line port)
"Read an HTTP header line and return it without its final CRLF or LF.
Raise a 'bad-header' exception if the line does not end in CRLF or LF,
or if EOF is reached."
(match (%read-line port)
(((? string? line) . #\newline)
;; '%read-line' does not consider #\return a delimiter; so if it's
;; there, remove it. We are more tolerant than the RFC in that we
;; tolerate LF-only endings.
(if (string-suffix? "\r" line)
(string-drop-right line 1)
line))
((line . _) ;EOF or missing delimiter
(bad-header 'read-header-line line))))
(set! (@@ (web http) read-header-line) read-header-line)))
(_ #t))
(define (strip-headers response)
"Return RESPONSE's headers minus 'Content-Length' and our internal headers."
(fold alist-delete

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@ -139,9 +139,8 @@ columns."
. 1)))
(define (find-service-types regexps)
"Return two values: the list of service types whose name or description
matches at least one of REGEXPS sorted by relevance, and the list of relevance
scores."
"Return a list of service type/score pairs: service types whose name or
description matches REGEXPS sorted by relevance, and their score."
(let ((matches (fold-service-types
(lambda (type result)
(match (relevance type regexps
@ -149,30 +148,25 @@ scores."
((? zero?)
result)
(score
(cons (list type score) result))))
(cons (cons type score) result))))
'())))
(unzip2 (sort matches
(sort matches
(lambda (m1 m2)
(match m1
((type1 score1)
((type1 . score1)
(match m2
((type2 score2)
((type2 . score2)
(if (= score1 score2)
(string>? (service-type-name* type1)
(service-type-name* type2))
(> score1 score2)))))))))))
(> score1 score2))))))))))
(define (guix-system-search . args)
(with-error-handling
(let ((regexps (map (cut make-regexp* <> regexp/icase) args)))
(let* ((regexps (map (cut make-regexp* <> regexp/icase) args))
(matches (find-service-types regexps)))
(leave-on-EPIPE
(let-values (((services scores)
(find-service-types regexps)))
(for-each (lambda (service score)
(service-type->recutils service
(current-output-port)
#:extra-fields
`((relevance . ,score))))
services
scores))))))
(display-search-results matches (current-output-port)
#:print service-type->recutils
#:command "guix system search")))))

View File

@ -41,12 +41,12 @@
#:use-module (guix packages)
#:use-module (guix profiles)
#:use-module (guix derivations)
#:use-module (guix combinators)
#:use-module (guix build-system)
#:use-module (guix serialization)
#:use-module ((guix licenses) #:select (license? license-name))
#:use-module ((guix build syscalls)
#:select (free-disk-space terminal-columns))
#:select (free-disk-space terminal-columns
terminal-rows))
#:use-module ((guix build utils)
;; XXX: All we need are the bindings related to
;; '&invoke-error'. However, to work around the bug described
@ -106,8 +106,11 @@
string->recutils
package->recutils
package-specification->name+version+output
relevance
package-relevance
display-search-results
string->generations
string->duration
matching-generations
@ -774,12 +777,19 @@ error."
str))))
(define (show-derivation-outputs derivation)
"Show the output file names of DERIVATION."
"Show the output file names of DERIVATION, which can be a derivation or a
derivation input."
(define (show-outputs derivation outputs)
(format #t "~{~a~%~}"
(map (match-lambda
((out-name . out)
(derivation->output-path derivation out-name)))
(derivation-outputs derivation))))
(map (cut derivation->output-path derivation <>)
outputs)))
(match derivation
((? derivation?)
(show-outputs derivation (derivation-output-names derivation)))
((? derivation-input? input)
(show-outputs (derivation-input-derivation input)
(derivation-input-sub-derivations input)))))
(define* (check-available-space need
#:optional (directory (%store-prefix)))
@ -809,40 +819,31 @@ warning."
#:key dry-run? (use-substitutes? #t)
(mode (build-mode normal)))
"Show what will or would (depending on DRY-RUN?) be built in realizing the
derivations listed in DRV using MODE, a 'build-mode' value. Return #t if
there's something to build, #f otherwise. When USE-SUBSTITUTES?, check and
report what is prerequisites are available for download."
derivations listed in DRV using MODE, a 'build-mode' value. The elements of
DRV can be either derivations or derivation inputs.
Return #t if there's something to build, #f otherwise. When USE-SUBSTITUTES?,
check and report what is prerequisites are available for download."
(define inputs
(map (match-lambda
((? derivation? drv) (derivation-input drv))
((? derivation-input? input) input))
drv))
(define substitutable-info
;; Call 'substitutation-oracle' upfront so we don't end up launching the
;; substituter many times. This makes a big difference, especially when
;; DRV is a long list as is the case with 'guix environment'.
(if use-substitutes?
(substitution-oracle store drv #:mode mode)
(substitution-oracle store (map derivation-input-derivation inputs)
#:mode mode)
(const #f)))
(define (built-or-substitutable? drv)
(or (null? (derivation-outputs drv))
(let ((out (derivation->output-path drv))) ;XXX: assume "out" exists
(or (valid-path? store out)
(substitutable-info out)))))
(let*-values (((build download)
(fold2 (lambda (drv build download)
(let-values (((b d)
(derivation-prerequisites-to-build
store drv
(derivation-build-plan store inputs
#:mode mode
#:substitutable-info
substitutable-info)))
(values (append b build)
(append d download))))
'() '()
drv))
((build) ; add the DRV themselves
(delete-duplicates
(append (map derivation-file-name
(remove built-or-substitutable? drv))
(map derivation-input-path build))))
substitutable-info))
((download) ; add the references of DOWNLOAD
(if use-substitutes?
(delete-duplicates
@ -856,8 +857,8 @@ report what is prerequisites are available for download."
download))))
download))
((graft hook build)
(match (fold (lambda (file acc)
(let ((drv (read-derivation-from-file file)))
(match (fold (lambda (drv acc)
(let ((file (derivation-file-name drv)))
(match acc
((#:graft graft #:hook hook #:build build)
(cond
@ -1246,6 +1247,11 @@ WIDTH columns. EXTRA-FIELDS is a list of symbol/value pairs to emit."
extra-fields)
(newline port))
;;;
;;; Searching.
;;;
(define (relevance obj regexps metrics)
"Compute a \"relevance score\" for OBJ as a function of its number of
matches of REGEXPS and accordingly to METRICS. METRICS is list of
@ -1256,17 +1262,20 @@ weight of this field in the final score.
A score of zero means that OBJ does not match any of REGEXPS. The higher the
score, the more relevant OBJ is to REGEXPS."
(define (score str)
(let ((counts (map (lambda (regexp)
(match (fold-matches regexp str '() cons)
(() 0)
((m) (if (string=? (match:substring m) str)
(define scores
(map (lambda (regexp)
(fold-matches regexp str 0
(lambda (m score)
(+ score
(if (string=? (match:substring m) str)
5 ;exact match
1))
(lst (length lst))))
regexps)))
;; Compute a score that's proportional to the number of regexps matched
;; and to the number of matches for each regexp.
(* (length counts) (reduce + 0 counts))))
1)))))
regexps))
;; Return zero if one of REGEXPS doesn't match.
(if (any zero? scores)
0
(reduce + 0 scores)))
(fold (lambda (metric relevance)
(match metric
@ -1312,6 +1321,45 @@ score, the more relevant OBJ is to REGEXPS."
zero means that PACKAGE does not match any of REGEXPS."
(relevance package regexps %package-metrics))
(define* (display-search-results matches port
#:key
(command "guix search")
(print package->recutils))
"Display MATCHES, a list of object/score pairs, by calling PRINT on each of
them. If PORT is a terminal, print at most a full screen of results."
(define first-line
(port-line port))
(define max-rows
(and first-line (isatty? port)
(terminal-rows port)))
(define (line-count str)
(string-count str #\newline))
(let loop ((matches matches))
(match matches
(((package . score) rest ...)
(let ((text (call-with-output-string
(lambda (port)
(print package port
#:extra-fields
`((relevance . ,score)))))))
(if (and max-rows
(> (port-line port) first-line) ;print at least one result
(> (+ 4 (line-count text) (port-line port))
max-rows))
(unless (null? rest)
(display-hint (format #f (G_ "Run @code{~a ... | less} \
to view all the results.")
command)))
(begin
(display text port)
(loop rest)))))
(()
#t))))
(define (string->generations str)
"Return the list of generations matching a pattern in STR. This function
accepts the following patterns: \"1\", \"1,2,3\", \"1..9\", \"1..\", \"..9\"."

View File

@ -86,9 +86,11 @@
(test-assert "parse & export"
(let* ((f (search-path %load-path "tests/test.drv"))
(b1 (call-with-input-file f get-bytevector-all))
(d1 (read-derivation (open-bytevector-input-port b1)))
(d1 (read-derivation (open-bytevector-input-port b1)
identity))
(b2 (call-with-bytevector-output-port (cut write-derivation d1 <>)))
(d2 (read-derivation (open-bytevector-input-port b2))))
(d2 (read-derivation (open-bytevector-input-port b2)
identity)))
(and (equal? b1 b2)
(equal? d1 d2))))
@ -723,7 +725,7 @@
(test-assert "build-expression->derivation and derivation-prerequisites"
(let ((drv (build-expression->derivation %store "fail" #f)))
(any (match-lambda
(($ <derivation-input> path)
(($ <derivation-input> (= derivation-file-name path))
(string=? path (derivation-file-name (%guile-for-build)))))
(derivation-prerequisites drv))))
@ -740,7 +742,7 @@
(match (derivation-prerequisites c
(cut valid-derivation-input? %store
<>))
((($ <derivation-input> file ("out")))
((($ <derivation-input> (= derivation-file-name file) ("out")))
(string=? file (derivation-file-name b)))
(x
(pk 'fail x #f)))))
@ -804,17 +806,20 @@
;; Ask for nothing but the "out" output of DRV.
(build-derivations store `((,drv . "out")))
(valid-path? store out)
(equal? (pk 'x content) (pk 'y (call-with-input-file out get-string-all)))
)))))
;; Synonymous:
(build-derivations store (list (derivation-input drv '("out"))))
(test-assert "build-expression->derivation and derivation-prerequisites-to-build"
(valid-path? store out)
(equal? (pk 'x content)
(pk 'y (call-with-input-file out get-string-all))))))))
(test-assert "build-expression->derivation and derivation-build-plan"
(let ((drv (build-expression->derivation %store "fail" #f)))
;; The only direct dependency is (%guile-for-build) and it's already
;; built.
(null? (derivation-prerequisites-to-build %store drv))))
(null? (derivation-build-plan %store (derivation-inputs drv)))))
(test-assert "derivation-prerequisites-to-build when outputs already present"
(test-assert "derivation-build-plan when outputs already present"
(let* ((builder `(begin ,(random-text) (mkdir %output) #t))
(input-drv (build-expression->derivation %store "input" builder))
(input-path (derivation->output-path input-drv))
@ -827,9 +832,12 @@
(valid-path? %store output))
(error "things already built" input-drv))
(and (equal? (map derivation-input-path
(derivation-prerequisites-to-build %store drv))
(list (derivation-file-name input-drv)))
(and (lset= equal?
(map derivation-file-name
(derivation-build-plan %store
(list (derivation-input drv))))
(list (derivation-file-name input-drv)
(derivation-file-name drv)))
;; Build DRV and delete its input.
(build-derivations %store (list drv))
@ -838,9 +846,10 @@
;; Now INPUT-PATH is missing, yet it shouldn't be listed as a
;; prerequisite to build because DRV itself is already built.
(null? (derivation-prerequisites-to-build %store drv)))))
(null? (derivation-build-plan %store
(list (derivation-input drv)))))))
(test-assert "derivation-prerequisites-to-build and substitutes"
(test-assert "derivation-build-plan and substitutes"
(let* ((store (open-connection))
(drv (build-expression->derivation store "prereq-subst"
(random 1000)))
@ -852,17 +861,19 @@
(with-derivation-narinfo drv
(let-values (((build download)
(derivation-prerequisites-to-build store drv))
(derivation-build-plan store
(list (derivation-input drv))))
((build* download*)
(derivation-prerequisites-to-build store drv
(derivation-build-plan store
(list (derivation-input drv))
#:substitutable-info
(const #f))))
(and (null? build)
(equal? (map substitutable-path download) (list output))
(null? download*)
(null? build*))))))
(equal? (list drv) build*))))))
(test-assert "derivation-prerequisites-to-build and substitutes, non-substitutable build"
(test-assert "derivation-build-plan and substitutes, non-substitutable build"
(let* ((store (open-connection))
(drv (build-expression->derivation store "prereq-no-subst"
(random 1000)
@ -875,16 +886,16 @@
(with-derivation-narinfo drv
(let-values (((build download)
(derivation-prerequisites-to-build store drv)))
(derivation-build-plan store
(list (derivation-input drv)))))
;; Despite being available as a substitute, DRV will be built locally
;; due to #:substitutable? #f.
(and (null? download)
(match build
(((? derivation-input? input))
(string=? (derivation-input-path input)
(derivation-file-name drv)))))))))
(((= derivation-file-name build))
(string=? build (derivation-file-name drv)))))))))
(test-assert "derivation-prerequisites-to-build and substitutes, local build"
(test-assert "derivation-build-plan and substitutes, local build"
(with-store store
(let* ((drv (build-expression->derivation store "prereq-subst-local"
(random 1000)
@ -897,7 +908,8 @@
(with-derivation-narinfo drv
(let-values (((build download)
(derivation-prerequisites-to-build store drv)))
(derivation-build-plan store
(list (derivation-input drv)))))
;; #:local-build? is *not* synonymous with #:substitutable?, so we
;; must be able to substitute DRV's output.
;; See <http://bugs.gnu.org/18747>.
@ -906,7 +918,7 @@
(((= substitutable-path item))
(string=? item (derivation->output-path drv))))))))))
(test-assert "derivation-prerequisites-to-build in 'check' mode"
(test-assert "derivation-build-plan in 'check' mode"
(with-store store
(let* ((dep (build-expression->derivation store "dep"
`(begin ,(random-text)
@ -918,13 +930,13 @@
(delete-paths store (list (derivation->output-path dep)))
;; In 'check' mode, DEP must be rebuilt.
(and (null? (derivation-prerequisites-to-build store drv))
(match (derivation-prerequisites-to-build store drv
#:mode (build-mode
check))
((input)
(string=? (derivation-input-path input)
(derivation-file-name dep))))))))
(and (null? (derivation-build-plan store
(list (derivation-input drv))))
(lset= equal?
(derivation-build-plan store
(list (derivation-input drv))
#:mode (build-mode check))
(list drv dep))))))
(test-assert "substitution-oracle and #:substitute? #f"
(with-store store

View File

@ -44,9 +44,6 @@
(define %mkdir
(bootstrap-binary "mkdir"))
(define make-derivation-input
(@@ (guix derivations) make-derivation-input))
(test-begin "grafts")
@ -355,16 +352,11 @@
(p1r-inputs (filter (match-input p1r) inputs))
(p2-inputs (filter (match-input p2) inputs)))
(and (equal? p1-inputs
(list (make-derivation-input (derivation-file-name p1)
'("one"))))
(list (derivation-input p1 '("one"))))
(equal? p1r-inputs
(list
(make-derivation-input (derivation-file-name p1r)
'("ONE"))))
(list (derivation-input p1r '("ONE"))))
(equal? p2-inputs
(list
(make-derivation-input (derivation-file-name p2)
'("aaa"))))
(list (derivation-input p2 '("aaa"))))
(derivation-output-names p2g))))))
(test-assert "graft-derivation, renaming" ;<http://bugs.gnu.org/23132>

View File

@ -196,7 +196,7 @@ done
# Make sure garbage collection from a TCP connection does not work.
tcp_socket="127.0.0.1:9999"
tcp_socket="127.0.0.1:9998"
guix-daemon --listen="$tcp_socket" &
daemon_pid=$!

View File

@ -1244,6 +1244,38 @@
(lambda (key . args)
key)))
(test-equal "specification->package+output"
`((,coreutils "out") (,coreutils "debug"))
(list (call-with-values (lambda ()
(specification->package+output "coreutils"))
list)
(call-with-values (lambda ()
(specification->package+output "coreutils:debug"))
list)))
(test-equal "specification->package+output invalid output"
'error
(catch 'quit
(lambda ()
(specification->package+output "coreutils:does-not-exist"))
(lambda _
'error)))
(test-equal "specification->package+output no default output"
`(,coreutils #f)
(call-with-values
(lambda ()
(specification->package+output "coreutils" #f))
list))
(test-equal "specification->package+output invalid output, no default"
'error
(catch 'quit
(lambda ()
(specification->package+output "coreutils:does-not-exist" #f))
(lambda _
'error)))
(test-equal "find-package-locations"
(map (lambda (package)
(cons (package-version package)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; 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 © 2015 David Thompson <davet@gnu.org>
;;;
;;; This file is part of GNU Guix.
@ -538,6 +538,9 @@
(> (terminal-columns (open-input-string "Join us now, share the software!"))
0))
(test-assert "terminal-rows"
(> (terminal-rows) 0))
(test-assert "utmpx-entries"
(match (utmpx-entries)
(((? utmpx? entries) ...)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,10 +22,12 @@
#:use-module (guix profiles)
#:use-module (guix store)
#:use-module (guix derivations)
#:use-module ((gnu packages) #:select (specification->package))
#:use-module (guix tests)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-64)
#:use-module (ice-9 regex))
@ -260,4 +262,27 @@ Second line" 24))
"ISO-8859-1")
(show-manifest-transaction store m t))))))))
(test-assert "package-relevance"
(let ((guile (specification->package "guile"))
(gcrypt (specification->package "guile-gcrypt"))
(go (specification->package "go"))
(gnugo (specification->package "gnugo"))
(rx (cut make-regexp <> regexp/icase))
(>0 (cut > <> 0))
(=0 zero?))
(and (>0 (package-relevance guile
(map rx '("scheme"))))
(>0 (package-relevance guile
(map rx '("scheme" "implementation"))))
(>0 (package-relevance gcrypt
(map rx '("guile" "crypto"))))
(=0 (package-relevance guile
(map rx '("guile" "crypto"))))
(>0 (package-relevance go
(map rx '("go"))))
(=0 (package-relevance go
(map rx '("go" "game"))))
(>0 (package-relevance gnugo
(map rx '("go" "game")))))))
(test-end "ui")