me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into staging

master
Marius Bakke 2019-11-21 22:44:15 +01:00
commit b60d2bfff9
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
91 changed files with 4372 additions and 1529 deletions

View File

@ -35,6 +35,7 @@
(eval . (put 'modify-services 'scheme-indent-function 1))
(eval . (put 'with-directory-excursion 'scheme-indent-function 1))
(eval . (put 'with-file-lock 'scheme-indent-function 1))
(eval . (put 'with-file-lock/no-wait 'scheme-indent-function 1))
(eval . (put 'package 'scheme-indent-function 0))
(eval . (put 'origin 'scheme-indent-function 0))

View File

@ -278,6 +278,7 @@ MODULES = \
guix/scripts/container.scm \
guix/scripts/container/exec.scm \
guix/scripts/deploy.scm \
guix/scripts/time-machine.scm \
guix.scm \
$(GNU_SYSTEM_MODULES)

View File

@ -198,6 +198,7 @@ Package Management
* Invoking guix gc:: Running the garbage collector.
* Invoking guix pull:: Fetching the latest Guix and distribution.
* Channels:: Customizing the package collection.
* Invoking guix time-machine:: Running an older revision of Guix.
* Inferiors:: Interacting with another revision of Guix.
* Invoking guix describe:: Display information about your Guix revision.
* Invoking guix archive:: Exporting and importing store files.
@ -2550,6 +2551,7 @@ guix install emacs-guix
* Invoking guix gc:: Running the garbage collector.
* Invoking guix pull:: Fetching the latest Guix and distribution.
* Channels:: Customizing the package collection.
* Invoking guix time-machine:: Running an older revision of Guix.
* Inferiors:: Interacting with another revision of Guix.
* Invoking guix describe:: Display information about your Guix revision.
* Invoking guix archive:: Exporting and importing store files.
@ -4152,7 +4154,10 @@ say, on another machine, by providing a channel specification in
@end lisp
The @command{guix describe --format=channels} command can even generate this
list of channels directly (@pxref{Invoking guix describe}).
list of channels directly (@pxref{Invoking guix describe}). The resulting
file can be used with the -C options of @command{guix pull}
(@pxref{Invoking guix pull}) or @command{guix time-machine}
(@pxref{Invoking guix time-machine}).
At this point the two machines run the @emph{exact same Guix}, with access to
the @emph{exact same packages}. The output of @command{guix build gimp} on
@ -4166,6 +4171,61 @@ artifacts with very fine grain, and to reproduce software environments at
will---some sort of ``meta reproducibility'' capabilities, if you will.
@xref{Inferiors}, for another way to take advantage of these super powers.
@node Invoking guix time-machine
@section Invoking @command{guix time-machine}
@cindex @command{guix time-machine}
@cindex pinning, channels
@cindex replicating Guix
@cindex reproducibility, of Guix
The @command{guix time-machine} command provides access to other
revisions of Guix, for example to install older versions of packages,
or to reproduce a computation in an identical environment. The revision
of Guix to be used is defined by a commit or by a channel
description file created by @command{guix describe}
(@pxref{Invoking guix describe}).
The general syntax is:
@example
guix time-machine @var{options}@dots{} -- @var{command} @var {arg}@dots{}
@end example
where @var{command} and @var{arg}@dots{} are passed unmodified to the
@command{guix} command if the specified revision. The @var{options} that define
this revision are the same as for @command{guix pull} (@pxref{Invoking guix pull}):
@table @code
@item --url=@var{url}
@itemx --commit=@var{commit}
@itemx --branch=@var{branch}
Use the @code{guix} channel from the specified @var{url}, at the
given @var{commit} (a valid Git commit ID represented as a hexadecimal
string), or @var{branch}.
@item --channels=@var{file}
@itemx -C @var{file}
Read the list of channels from @var{file}. @var{file} must contain
Scheme code that evaluates to a list of channel objects.
@xref{Channels} for more information.
@end table
As for @command{guix pull}, the absence of any options means that the
the latest commit on the master branch will be used. The command
@example
guix time-machine -- build hello
@end example
will thus build the package @code{hello} as defined in the master branch,
which is in general a newer revison of Guix than you have installed.
Time travel works in both directions!
Note that @command{guix time-machine} can trigger builds of channels and
their dependencies, and these are controlled by the standard build
options (@pxref{Common Build Options}).
@node Inferiors
@section Inferiors
@ -5193,6 +5253,10 @@ added to it or removed from it after extraction of the pack.
One use case for this is the Guix self-contained binary tarball
(@pxref{Binary Installation}).
@item --derivation
@itemx -d
Print the name of the derivation that builds the pack.
@item --bootstrap
Use the bootstrap binaries to build the pack. This option is only
useful to Guix developers.
@ -10589,7 +10653,6 @@ ClientPID: 19419
ClientCommand: cuirass --cache-directory /var/cache/cuirass @dots{}
@end example
@node System Configuration
@chapter System Configuration
@ -20243,7 +20306,7 @@ the corresponding user and/or group is present on the system.
It is possible to configure a FastCGI-backed web service to pass HTTP
authentication information from the front-end to the back-end, and to
allow @code{fcgiwrap} to run the back-end process as a corresponding
local user. To enable this capability on the back-end., run
local user. To enable this capability on the back-end, run
@code{fcgiwrap} as the @code{root} user and group. Note that this
capability also has to be configured on the front-end as well.
@end table
@ -20305,7 +20368,7 @@ once the service has started.
Log for the php-fpm master process.
@item @code{process-manager} (default: @code{(php-fpm-dynamic-process-manager-configuration)})
Detailed settings for the php-fpm process manager.
Must be either:
Must be one of:
@table @asis
@item @code{<php-fpm-dynamic-process-manager-configuration>}
@item @code{<php-fpm-static-process-manager-configuration>}
@ -20383,7 +20446,7 @@ A simple services setup for nginx with php can look like this:
(server-name '("example.com"))
(root "/srv/http/")
(locations
(list (nginx-php-location)))
(list (nginx-php-fpm-location)))
(listen '("80"))
(ssl-certificate #f)
(ssl-certificate-key #f)))
@ -26223,8 +26286,8 @@ with an @code{environment} of @code{managed-host-environment-type}.
@item @code{build-locally?} (default: @code{#t})
If false, system derivations will be built on the machine being deployed to.
@item @code{system}
The Nix system type describing the architecture of the machine being deployed
to. This should look something like ``x86_64-linux''.
The system type describing the architecture of the machine being deployed
to---e.g., @code{"x86_64-linux"}.
@item @code{authorize?} (default: @code{#t})
If true, the coordinator's signing key will be added to the remote's ACL
keyring.

View File

@ -9,6 +9,24 @@
(channel-news
(version 0)
(entry (commit "f675f8dec73d02e319e607559ed2316c299ae8c7")
(title (en "New command @command{guix time-machine}")
(de "Neuer Befehl @command{guix time-machine}")
(fr "Nouvelle commande @command{guix time-machine}"))
(body (en "The new command @command{guix time-machine} facilitates
access to older or newer revisions of Guix than the one that is installed.
It can be used to install different versions of packages, and to
re-create computational environments exactly as used in the past.")
(de "Der neue Befehl @command{guix time-machine} vereinfacht
den Zugriff auf ältere oder neuere Guix-Versionen als die installierte.
Er kann zur Installation bestimmter Paketversionen verwendet werden, aber
auch zur Wiederherstellung von Entwicklungsumgebungen, wie sie in der
Vergangenheit verwendet wurden.")
(fr "La nouvelle commande @command{guix time-machine}
facilite l'accès à des versions antérieures ou postérieures par rapport
à la version installée. Elle sert à installer des versions spécifiques
de paquets, ainsi à la restauration d'environnements dans un état
historique.")))
(entry (commit "3e962e59d849e4300e447d94487684102d9d412e")
(title (en "@command{guix graph} now supports package
transformations")

View File

@ -581,11 +581,7 @@ corresponds to the symbols listed in FLAGS."
0))))
(define* (mount-file-system fs #:key (root "/root"))
"Mount the file system described by FS, a <file-system> object, under ROOT.
DEVICE, MOUNT-POINT, and TYPE must be strings; OPTIONS can be a string or #f;
FLAGS must be a list of symbols. CHECK? is a Boolean indicating whether to
run a file system check."
"Mount the file system described by FS, a <file-system> object, under ROOT."
(define (mount-nfs source mount-point type flags options)
(let* ((idx (string-rindex source #\:))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -357,15 +358,16 @@ the last argument of `mknod'."
(filter-map string->number (scandir "/proc")))))
(define* (mount-root-file-system root type
#:key volatile-root?)
#:key volatile-root? options)
"Mount the root file system of type TYPE at device ROOT. If VOLATILE-ROOT?
is true, mount ROOT read-only and make it an overlay with a writable tmpfs
using the kernel built-in overlayfs."
using the kernel built-in overlayfs. OPTIONS indicates the options to use
to mount ROOT."
(if volatile-root?
(begin
(mkdir-p "/real-root")
(mount root "/real-root" type MS_RDONLY)
(mount root "/real-root" type MS_RDONLY options)
(mkdir-p "/rw-root")
(mount "none" "/rw-root" "tmpfs")
@ -382,7 +384,7 @@ using the kernel built-in overlayfs."
"lowerdir=/real-root,upperdir=/rw-root/upper,workdir=/rw-root/work"))
(begin
(check-file-system root type)
(mount root "/root" type)))
(mount root "/root" type 0 options)))
;; Make sure /root/etc/mtab is a symlink to /proc/self/mounts.
(false-if-exception
@ -472,83 +474,90 @@ upon error."
mounts)
"ext4"))
(define root-fs-options
(any (lambda (fs)
(and (root-mount-point? fs)
(file-system-options fs)))
mounts))
(display "Welcome, this is GNU's early boot Guile.\n")
(display "Use '--repl' for an initrd REPL.\n\n")
(call-with-error-handling
(lambda ()
(mount-essential-file-systems)
(let* ((args (linux-command-line))
(to-load (find-long-option "--load" args))
(root (find-long-option "--root" args)))
(lambda ()
(mount-essential-file-systems)
(let* ((args (linux-command-line))
(to-load (find-long-option "--load" args))
(root (find-long-option "--root" args)))
(when (member "--repl" args)
(start-repl))
(when (member "--repl" args)
(start-repl))
(display "loading kernel modules...\n")
(load-linux-modules-from-directory linux-modules
linux-module-directory)
(display "loading kernel modules...\n")
(load-linux-modules-from-directory linux-modules
linux-module-directory)
(when keymap-file
(let ((status (system* "loadkeys" keymap-file)))
(unless (zero? status)
;; Emit a warning rather than abort when we cannot load
;; KEYMAP-FILE.
(format (current-error-port)
"warning: 'loadkeys' exited with status ~a~%"
status))))
(when keymap-file
(let ((status (system* "loadkeys" keymap-file)))
(unless (zero? status)
;; Emit a warning rather than abort when we cannot load
;; KEYMAP-FILE.
(format (current-error-port)
"warning: 'loadkeys' exited with status ~a~%"
status))))
(when qemu-guest-networking?
(unless (configure-qemu-networking)
(display "network interface is DOWN\n")))
(when qemu-guest-networking?
(unless (configure-qemu-networking)
(display "network interface is DOWN\n")))
;; Prepare the real root file system under /root.
(unless (file-exists? "/root")
(mkdir "/root"))
;; Prepare the real root file system under /root.
(unless (file-exists? "/root")
(mkdir "/root"))
(when (procedure? pre-mount)
;; Do whatever actions are needed before mounting the root file
;; system--e.g., installing device mappings. Error out when the
;; return value is false.
(unless (pre-mount)
(error "pre-mount actions failed")))
(when (procedure? pre-mount)
;; Do whatever actions are needed before mounting the root file
;; system--e.g., installing device mappings. Error out when the
;; return value is false.
(unless (pre-mount)
(error "pre-mount actions failed")))
(setenv "EXT2FS_NO_MTAB_OK" "1")
(setenv "EXT2FS_NO_MTAB_OK" "1")
(if root
;; The "--root=SPEC" kernel command-line option always provides a
;; string, but the string can represent a device, a UUID, or a
;; label. So check for all three.
(let ((root (cond ((string-prefix? "/" root) root)
((uuid root) => identity)
(else (file-system-label root)))))
(mount-root-file-system (canonicalize-device-spec root)
root-fs-type
#:volatile-root? volatile-root?))
(mount "none" "/root" "tmpfs"))
(if root
;; The "--root=SPEC" kernel command-line option always provides a
;; string, but the string can represent a device, a UUID, or a
;; label. So check for all three.
(let ((root (cond ((string-prefix? "/" root) root)
((uuid root) => identity)
(else (file-system-label root)))))
(mount-root-file-system (canonicalize-device-spec root)
root-fs-type
#:volatile-root? volatile-root?
#:options root-fs-options))
(mount "none" "/root" "tmpfs"))
;; Mount the specified file systems.
(for-each mount-file-system
(remove root-mount-point? mounts))
;; Mount the specified file systems.
(for-each mount-file-system
(remove root-mount-point? mounts))
(setenv "EXT2FS_NO_MTAB_OK" #f)
(setenv "EXT2FS_NO_MTAB_OK" #f)
(if to-load
(begin
(switch-root "/root")
(format #t "loading '~a'...\n" to-load)
(if to-load
(begin
(switch-root "/root")
(format #t "loading '~a'...\n" to-load)
(primitive-load to-load)
(primitive-load to-load)
(format (current-error-port)
"boot program '~a' terminated, rebooting~%"
to-load)
(sleep 2)
(reboot))
(begin
(display "no boot file passed via '--load'\n")
(display "entering a warm and cozy REPL\n")
(start-repl)))))
#:on-error on-error))
(format (current-error-port)
"boot program '~a' terminated, rebooting~%"
to-load)
(sleep 2)
(reboot))
(begin
(display "no boot file passed via '--load'\n")
(display "entering a warm and cozy REPL\n")
(start-repl)))))
#:on-error on-error))
;;; linux-initrd.scm ends here

View File

@ -796,7 +796,6 @@ dist_patch_DATA = \
%D%/packages/patches/elixir-path-length.patch \
%D%/packages/patches/elm-compiler-disable-reactor.patch \
%D%/packages/patches/elm-compiler-fix-map-key.patch \
%D%/packages/patches/elm-compiler-relax-glsl-bound.patch \
%D%/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
@ -878,8 +877,14 @@ dist_patch_DATA = \
%D%/packages/patches/gd-freetype-test-failure.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-diff-swap-cover-args.patch \
%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \
%D%/packages/patches/ghc-haddock-library-unbundle.patch \
%D%/packages/patches/ghc-haddock-api-fix-haddock.patch \
%D%/packages/patches/ghc-hpack-fix-tests.patch \
%D%/packages/patches/ghc-microlens-aeson-fix-tests.patch \
%D%/packages/patches/ghc-monad-par-fix-tests.patch \
%D%/packages/patches/ghc-pandoc-fix-html-tests.patch \
%D%/packages/patches/ghc-pandoc-fix-latex-test.patch \
%D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
@ -972,6 +977,7 @@ dist_patch_DATA = \
%D%/packages/patches/hdf-eos5-remove-gctp.patch \
%D%/packages/patches/hdf-eos5-fix-szip.patch \
%D%/packages/patches/hdf-eos5-fortrantests.patch \
%D%/packages/patches/hexchat-crash-exit.patch \
%D%/packages/patches/higan-remove-march-native-flag.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
@ -1133,6 +1139,8 @@ dist_patch_DATA = \
%D%/packages/patches/metabat-fix-compilation.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
%D%/packages/patches/minisat-friend-declaration.patch \
%D%/packages/patches/minisat-install.patch \
%D%/packages/patches/mpc123-initialize-ao.patch \
%D%/packages/patches/module-init-tools-moduledir.patch \
%D%/packages/patches/monero-use-system-miniupnpc.patch \
@ -1269,6 +1277,8 @@ dist_patch_DATA = \
%D%/packages/patches/python-3-deterministic-build-info.patch \
%D%/packages/patches/python-3-search-paths.patch \
%D%/packages/patches/python-3-fix-tests.patch \
%D%/packages/patches/python-3.8-search-paths.patch \
%D%/packages/patches/python-3.8-fix-tests.patch \
%D%/packages/patches/python-CVE-2018-14647.patch \
%D%/packages/patches/python-axolotl-AES-fix.patch \
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
@ -1390,11 +1400,13 @@ dist_patch_DATA = \
%D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tomb-fix-errors-on-open.patch \
%D%/packages/patches/totem-meson-compat.patch \
%D%/packages/patches/totem-meson-easy-codec.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/txr-shell.patch \
%D%/packages/patches/u-boot-fix-mkimage-header-verification.patch \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
%D%/packages/patches/unzip-CVE-2014-8140.patch \

View File

@ -689,7 +689,7 @@ connection alive.")
(define-public isc-dhcp
(let* ((bind-major-version "9")
(bind-minor-version "11")
(bind-patch-version "11")
(bind-patch-version "13")
(bind-release-type "") ; for patch release, use "-P"
(bind-release-version "") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
@ -830,7 +830,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
"0swavslyli3vcrkcm2ip11s6p58g3k7r4gjs2b899r25cqrk0lk1"))))
"0z8g81xinqx8j3y2fclxa31dq7zsi9cj9srmvd9agnpwzk4kqgzx"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.

View File

@ -37,7 +37,7 @@
(define-public agda
(package
(name "agda")
(version "2.5.4.2")
(version "2.6.0.1")
(source
(origin
(method url-fetch)
@ -46,10 +46,11 @@
version ".tar.gz"))
(sha256
(base32
"07wvawpfjhx3gw2w53v27ncv1bl0kkx08wkm6wzxldbslkcasign"))))
"1s600ry1qwizr3ynyj05rvlx7jdcw9a1viyc0ycjamm5sjf8mf3v"))))
(build-system haskell-build-system)
(inputs
`(("ghc-alex" ,ghc-alex)
`(("ghc-aeson" ,ghc-aeson)
("ghc-alex" ,ghc-alex)
("ghc-async" ,ghc-async)
("ghc-blaze-html" ,ghc-blaze-html)
("ghc-boxes" ,ghc-boxes)
@ -57,6 +58,7 @@
("ghc-edisoncore" ,ghc-edisoncore)
("ghc-edit-distance" ,ghc-edit-distance)
("ghc-equivalence" ,ghc-equivalence)
("ghc-exceptions" ,ghc-exceptions)
("ghc-filemanip" ,ghc-filemanip)
("ghc-geniplate-mirror" ,ghc-geniplate-mirror)
("ghc-gitrev" ,ghc-gitrev)
@ -66,7 +68,6 @@
("ghc-ieee754" ,ghc-ieee754)
("ghc-murmur-hash" ,ghc-murmur-hash)
("ghc-uri-encode" ,ghc-uri-encode)
("ghc-parallel" ,ghc-parallel)
("ghc-regex-tdfa" ,ghc-regex-tdfa)
("ghc-strict" ,ghc-strict)
("ghc-unordered-containers" ,ghc-unordered-containers)

View File

@ -24,6 +24,7 @@
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2019 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -3811,3 +3812,102 @@ therefore satisfying any requirements they may have to be self contained,
as is the case with audio plugins.")
(home-page "https://gitlab.com/geontime/redkite")
(license license:gpl3+)))
(define-public carla
(package
(name "carla")
(version "2.0.0")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/falkTX/Carla.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0fqgncqlr86n38yy7pa118mswfacmfczj7w9xx6c6k0jav3wk29k"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-before 'build 'set-CC-variable-and-show-features
(lambda _
(setenv "CC" "gcc")
(invoke "make" "features")))
(delete 'configure))))
(inputs
`(("alsa-lib" ,alsa-lib)
("ffmpeg" ,ffmpeg)
("fluidsynth" ,fluidsynth)
("file" ,file)
("liblo" ,liblo)
("libsndfile" ,libsndfile)
("gtk+" ,gtk+)
("python-pyliblo" ,python-pyliblo)
("python-pyqt" ,python-pyqt)
("python-rdflib" ,python-rdflib)
;; python-pyqt shows the following error without python-wrapper:
;; Error while finding module specification for 'PyQt5.uic.pyuic'
;; (ModuleNotFoundError: No module named 'PyQt5')
("python-wrapper" ,python-wrapper)
("libx11" ,libx11)
("qtbase" ,qtbase)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://kx.studio/Applications:Carla")
(synopsis "Audio plugin host")
(description "Carla is a modular audio plugin host, with features like
transport control, automation of parameters via MIDI CC and remote control
over OSC. Carla currently supports LADSPA (including LRDF), DSSI, LV2, VST2,
and VST3 plugin formats, plus SF2 and SFZ file support. It uses JACK as the
default and preferred audio driver but also supports native drivers like ALSA.")
(license license:gpl2+)))
(define-public ecasound
(package
(name "ecasound")
(version "2.9.2")
(source (origin
(method url-fetch)
(uri (string-append "http://nosignal.fi/download/ecasound-"
version ".tar.gz"))
(sha256
(base32 "15rcs28fq2wfvfs66p5na7adq88b55qszbhshpizgdbyqzgr2jf1"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
;; would be nice to add mikmod to inputs if that gets packaged
;; eventually
(inputs `(("alsa-lib" ,alsa-lib)
("jack" ,jack-1)
("mpg123" ,mpg123)
("lame" ,lame)
("vorbis-tools" ,vorbis-tools)
("faad2" ,faad2)
("flac" ,flac)
("timidity++" ,timidity++)
("libsndfile" ,libsndfile)
("libsamplerate" ,libsamplerate)
("ncurses" ,ncurses)
("ladspa" ,ladspa)
("lilv" ,lilv)))
(home-page "http://nosignal.fi/ecasound/index.php")
(synopsis "Multitrack audio processing")
(description "Ecasound is a software package designed for multitrack audio
processing. It can be used for simple tasks like audio playback, recording and
format conversions, as well as for multitrack effect processing, mixing,
recording and signal recycling. Ecasound supports a wide range of audio inputs,
outputs and effect algorithms. Effects and audio objects can be combined in
various ways, and their parameters can be controlled by operator objects like
oscillators and MIDI-CCs. A versatile console mode user-interface is included
in the package.")
;; As an exception to the above, the C, C++ and python implementations
;; of the Ecasound Control Interface (ECI) are licensed under the LGPL
;; (see the file 'COPYING.LGPL'). This allows writing ECI applications
;; that are not licensed under GPL.
(license (list license:gpl2 license:lgpl2.1))))

View File

@ -2,6 +2,7 @@
;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;; This file is part of GNU Guix.
@ -24,91 +25,40 @@
;; installed with Guix.
;;; Code:
(require 'cl-lib)
(defvar guix-user-profile (expand-file-name "~/.guix-profile"))
(defvar guix-emacs-autoloads nil
"List of the last loaded Emacs autoloads.")
(require 'seq)
(defvar guix-emacs-autoloads-regexp
(rx (group (* any) "-autoloads")
".el" (zero-or-one "c") string-end)
(rx (* any) "-autoloads.el" (zero-or-one "c") string-end)
"Regexp to match Emacs 'autoloads' file.")
(defun guix-emacs-directory (&optional profile)
"Return directory with Emacs packages installed in PROFILE.
If PROFILE is nil, use `guix-user-profile'."
(expand-file-name "share/emacs/site-lisp"
(or profile guix-user-profile)))
(defun guix-emacs-find-autoloads (directory)
"Return a list of Emacs 'autoloads' files in DIRECTORY.
The files in the list do not have extensions (.el, .elc)."
(cl-remove-duplicates
(delq nil
(mapcar (lambda (file)
(when (string-match guix-emacs-autoloads-regexp file)
(match-string 1 file)))
(directory-files directory 'full-name nil 'no-sort)))
:test #'string=))
(defun guix-emacs-subdirs (directory)
"Return list of DIRECTORY subdirectories."
(cl-remove-if (lambda (file)
(or (string-match-p (rx "/." string-end) file)
(string-match-p (rx "/.." string-end) file)
(not (file-directory-p file))))
(directory-files directory 'full-name nil 'no-sort)))
(defun guix-emacs-directories (&optional profile)
"Return the list of directories under PROFILE that contain Emacs packages.
This includes both `share/emacs/site-lisp/guix.d/PACKAGE'
sub-directories and `share/emacs/site-lisp' itself.
If PROFILE is nil, use `guix-user-profile'.
Return nil, if Emacs packages are not installed in PROFILE."
(let ((root-dir (guix-emacs-directory (or profile guix-user-profile))))
(when (file-directory-p root-dir)
(let* ((pkgs-dir (expand-file-name "guix.d" root-dir))
(pkgs-dirs (when (file-directory-p pkgs-dir)
(guix-emacs-subdirs pkgs-dir))))
(cons root-dir pkgs-dirs)))))
;; `directory-files' doesn't honor group in regexp.
(mapcar #'file-name-sans-extension
(directory-files directory 'full-name guix-emacs-autoloads-regexp)))
;;;###autoload
(defun guix-emacs-autoload-packages (&rest profiles)
"Autoload Emacs packages installed in PROFILES.
If PROFILES are not specified, use a default user and system
profiles.
(defun guix-emacs-autoload-packages ()
"Autoload Emacs packages found in EMACSLOADPATH.
'Autoload' means add directories with Emacs packages to
`load-path' and load 'autoloads' files matching
'Autoload' means to load the 'autoloads' files matching
`guix-emacs-autoloads-regexp'."
(interactive (list (if (fboundp 'guix-read-package-profile)
(funcall 'guix-read-package-profile)
guix-user-profile)))
(let* ((env (getenv "GUIX_ENVIRONMENT"))
(profiles (or profiles
(append (list "/run/current-system/profile"
guix-user-profile)
(and env (list env))))))
(dolist (profile profiles)
(let ((dirs (guix-emacs-directories profile)))
(when dirs
(let* ((autoloads (cl-mapcan #'guix-emacs-find-autoloads
dirs))
(new-autoloads (cl-nset-difference autoloads
guix-emacs-autoloads
:test #'string=)))
(dolist (dir dirs)
(cl-pushnew (directory-file-name dir)
load-path
:test #'string=))
(dolist (file new-autoloads)
(load file 'noerror))
(setq guix-emacs-autoloads
(append new-autoloads guix-emacs-autoloads))))))))
;; FIXME: The autoloads generated by the emacs-build-system are not byte
;; compiled.
(interactive)
(let* ((emacs-load-path (getenv "EMACSLOADPATH"))
(emacs-non-core-load-path-directories
;; Filter out core Elisp directories, which are already autoloaded
;; by Emacs.
(seq-filter (lambda (dir)
(string-match-p "/share/emacs/site-lisp" dir))
(split-string emacs-load-path ":")))
(autoloads (mapcan #'guix-emacs-find-autoloads
emacs-non-core-load-path-directories)))
(mapc (lambda (f)
(load f 'noerror))
autoloads)))
(provide 'guix-emacs)

View File

@ -13891,7 +13891,7 @@ datasets.")
(define-public ngless
(package
(name "ngless")
(version "0.9.1")
(version "1.0.1")
(source
(origin
(method git-fetch)
@ -13901,7 +13901,7 @@ datasets.")
(file-name (git-file-name name version))
(sha256
(base32
"0mc2gi7h4lx74zylvyp76mvc0w6706j858ii9vlgzqsw6acpr117"))))
"06ygv8q2zjqsnrid1302yrlhhvb8ik48nq6n0higk3i1mdc8r0dg"))))
(build-system haskell-build-system)
(arguments
`(#:haddock? #f ; The haddock phase fails with: NGLess/CmdArgs.hs:20:1:
@ -13909,7 +13909,24 @@ datasets.")
; import Options.Applicative
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'create-cabal-file
(add-after 'unpack 'create-Versions.hs
(lambda _
(substitute* "Makefile"
(("BWA_VERSION = .*")
(string-append "BWA_VERSION = "
,(package-version bwa) "\n"))
(("SAM_VERSION = .*")
(string-append "SAM_VERSION = "
,(package-version samtools) "\n"))
(("PRODIGAL_VERSION = .*")
(string-append "PRODIGAL_VERSION = "
,(package-version prodigal) "\n"))
(("MINIMAP2_VERSION = .*")
(string-append "MINIMAP2_VERSION = "
,(package-version minimap2) "\n")))
(invoke "make" "NGLess/Dependencies/Versions.hs")
#t))
(add-after 'create-Versions.hs 'create-cabal-file
(lambda _ (invoke "hpack") #t))
;; These tools are expected to be installed alongside ngless.
(add-after 'install 'link-tools
@ -13938,15 +13955,15 @@ datasets.")
("ghc-async" ,ghc-async)
("ghc-atomic-write" ,ghc-atomic-write)
("ghc-bytestring-lexing" ,ghc-bytestring-lexing)
("ghc-chart" ,ghc-chart)
("ghc-chart-cairo" ,ghc-chart-cairo)
("ghc-conduit" ,ghc-conduit)
("ghc-conduit-algorithms" ,ghc-conduit-algorithms)
("ghc-conduit-combinators" ,ghc-conduit-combinators)
("ghc-conduit-extra" ,ghc-conduit-extra)
("ghc-configurator" ,ghc-configurator)
("ghc-convertible" ,ghc-convertible)
("ghc-data-default" ,ghc-data-default)
("ghc-diagrams-core" ,ghc-diagrams-core)
("ghc-diagrams-lib" ,ghc-diagrams-lib)
("ghc-diagrams-svg" ,ghc-diagrams-svg)
("ghc-double-conversion" ,ghc-double-conversion)
("ghc-edit-distance" ,ghc-edit-distance)
("ghc-either" ,ghc-either)
@ -13967,6 +13984,7 @@ datasets.")
("ghc-safeio" ,ghc-safeio)
("ghc-strict" ,ghc-strict)
("ghc-tar" ,ghc-tar)
("ghc-tar-conduit" ,ghc-tar-conduit)
("ghc-unliftio" ,ghc-unliftio)
("ghc-unliftio-core" ,ghc-unliftio-core)
("ghc-vector" ,ghc-vector)

View File

@ -44,7 +44,7 @@
(inputs
`(("agda" ,agda)
("agda-ial" ,agda-ial)
("ghc" ,ghc-8.4)
("ghc" ,ghc)
("ghc-alex" ,ghc-alex)
("ghc-happy" ,ghc-happy)))
(build-system emacs-build-system)

View File

@ -243,13 +243,14 @@ analogy is that InChI is the bar-code for chemistry and chemical structures.")
(version "3.0.11")
(source
(origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/khinsen/"
"nmoldyn3/downloads/nMOLDYN-"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/khinsen/nMOLDYN3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1mvmz3lkr217kdrd8cvdr1d82y58wp1403c9rnd943mijgq8xb5a"))))
"016h4bqg419p6s7bcx55q5iik91gqmk26hbnfgj2j6zl0j36w51r"))))
(build-system python-build-system)
(inputs
`(("python-matplotlib" ,(with-numpy-1.8 python2-matplotlib))

View File

@ -242,8 +242,8 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
(define %chromium-version "78.0.3904.97")
(define %ungoogled-revision "acaf16383f264d8a2f24142ad054c9b4355771d3")
(define %chromium-version "78.0.3904.108")
(define %ungoogled-revision "8f065138317a6152b20decc224027a5192ba76b1")
(define %debian-revision "e43d74632091324774a5049668782dba7b09cf72")
(define package-revision "0")
(define %package-version (string-append %chromium-version "-"
@ -258,7 +258,7 @@ from forcing GEXP-PROMISE."
%chromium-version ".tar.xz"))
(sha256
(base32
"01wx5bi397d80za0sdfwgfbjj6n2ad2i31zmcrhm6wzryjwrmx6i"))))
"03jvfz68nvmmrplygf96sh0l347p4h03c8vpw8yrglh6ycwkiigr"))))
(define %ungoogled-origin
(origin
@ -269,7 +269,7 @@ from forcing GEXP-PROMISE."
(string-take %ungoogled-revision 7)))
(sha256
(base32
"1gqbch6dnww3c3vn1i4nb07iz1f78mws9dsxscj3rsrkcgwhsdz8"))))
"0zix90jz82hpym9jmyf99yw19swaf13ps6szi60wccmz1gccv77g"))))
(define %debian-origin
(origin
@ -660,8 +660,8 @@ from forcing GEXP-PROMISE."
;; their current status for convenience.
(format #t "Dumping configure flags...\n")
(invoke "gn" "args" "out/Release" "--list"))))
(replace 'build
(lambda* (#:key (parallel-build? #t) #:allow-other-keys)
(add-before 'build 'increase-resource-limits
(lambda _
;; XXX: Chromiums linking step requires a lot of simultaneous file
;; accesses. Having a too low ulimit will result in bogus linker
;; errors such as "foo.a: error adding symbols: malformed archive".
@ -677,7 +677,9 @@ from forcing GEXP-PROMISE."
(format #t
"increased maximum number of open files from ~d to ~d~%"
soft (if hard (min hard 4096) 4096)))))
#t))
(replace 'build
(lambda* (#:key (parallel-build? #t) #:allow-other-keys)
(invoke "ninja" "-C" "out/Release"
"-j" (if parallel-build?
(number->string (parallel-job-count))

View File

@ -1655,7 +1655,9 @@ recreates the stored directory structure by default.")
(native-inputs
`(("perl" ,perl)))
(inputs
`(("zlib" ,zlib)))
`(("gnutls" ,gnutls)
("openssl" ,openssl)
("zlib" ,zlib)))
(build-system cmake-build-system)
(home-page "https://libzip.org")
(synopsis "C library for reading, creating, and modifying zip archives")

View File

@ -209,7 +209,7 @@ as ordering relation.")
(define-public json-modern-cxx
(package
(name "json-modern-cxx")
(version "3.7.0")
(version "3.7.3")
(home-page "https://github.com/nlohmann/json")
(source
(origin
@ -218,7 +218,7 @@ as ordering relation.")
(commit (string-append "v" version))))
(sha256
(base32
"0v7xih4zjixxxfvkfbs7a8j9qcvpwlsv4vrkbyns3hc7b44nb8ap"))
"04rry1xzis71z5gj1ylcj8b4li5q18zxhcwaviwvi3hx0frzxl9w"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet

View File

@ -47,6 +47,7 @@
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages lsof)
#:use-module (gnu packages nettle)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages perl)
@ -339,14 +340,15 @@ no man page, refer to the home page for usage details.")
(define-public tomb
(package
(name "tomb")
(version "2.6")
(version "2.7")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/"
"Tomb-" version ".tar.gz"))
(sha256
(base32
"1sr3jcn96mciyn8xd0amd1jzamxxzpybakf8an7laf26gjim1dh2"))))
"0x3al02796vx1cvy6y6h685c367qx70dwv471g0hmks2gr10f0cn"))
(patches (search-patches "tomb-fix-errors-on-open.patch"))))
(build-system gnu-build-system)
(native-inputs `(("sudo" ,sudo))) ;presence needed for 'check' phase
(inputs
@ -355,6 +357,7 @@ no man page, refer to the home page for usage details.")
("cryptsetup" ,cryptsetup)
("e2fsprogs" ,e2fsprogs) ;for mkfs.ext4
("gettext" ,gettext-minimal) ;used at runtime
("lsof" ,lsof)
("mlocate" ,mlocate)
("pinentry" ,pinentry)
("qrencode" ,qrencode)
@ -362,6 +365,10 @@ no man page, refer to the home page for usage details.")
("util-linux" ,util-linux)))
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
;; The "sudo" input is needed only to satisfy dependency checks in the
;; 'check' phase. The "sudo" used at runtime should come from the
;; system's setuid-programs, so ensure no reference is kept.
#:disallowed-references (,sudo)
;; TODO: Build and install gtk and qt trays
#:phases
(modify-phases %standard-phases
@ -380,8 +387,8 @@ no man page, refer to the home page for usage details.")
,@(map (lambda (program)
(or (and=> (which program) dirname)
(error "program not found:" program)))
'("seq" "mkfs.ext4" "pinentry" "sudo"
"gpg" "cryptsetup" "gettext"
'("seq" "mkfs.ext4" "pinentry"
"gpg" "cryptsetup" "gettext" "lsof"
"qrencode" "steghide" "findmnt")))))
#t)))
(delete 'check)

View File

@ -114,7 +114,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public isc-bind
(package
(name "bind")
(version "9.14.7")
(version "9.14.8")
(source (origin
(method url-fetch)
(uri (string-append
@ -122,7 +122,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
"/bind-" version ".tar.gz"))
(sha256
(base32
"07998nx0yv3xy8c62b1ira9qygsgvpljwcgb47ypzxq8b57gb86f"))))
"0xm0xrpgxq6gk6r6aa2w0lygnq02y1p614dmyjdmlsfnrrsslig5"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs

View File

@ -33,7 +33,7 @@
(define-public elixir
(package
(name "elixir")
(version "1.8.2")
(version "1.9.4")
(source
(origin
(method git-fetch)
@ -42,7 +42,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1n77cpcl2b773gmj3m9s24akvj9gph9byqbmj2pvlsmby4aqwckq"))
(base32 "1l4318g35y4h0vi2w07ayc3jizw1xc3s7hdb47w6j3iw33y06g6b"))
(patches (search-patches "elixir-path-length.patch"))))
(build-system gnu-build-system)
(arguments
@ -63,9 +63,21 @@
"lib/mix/lib/mix/scm/git.ex")
(("(cmd\\(['\"])git" _ prefix)
(string-append prefix (which "git"))))
(substitute* '("lib/mix/lib/mix/release.ex"
"lib/mix/lib/mix/tasks/release.init.ex")
(("#!/bin/sh")
(string-append "#!" (which "sh"))))
(substitute* "bin/elixir"
(("ERL_EXEC=\"erl\"")
(string-append "ERL_EXEC=" (which "erl"))))
(("ERTS_BIN=")
(string-append
"ERTS_BIN="
;; Elixir Releases will prepend to ERTS_BIN the path of a copy of erl.
;; We detect if a release is being generated by checking the initial ERTS_BIN
;; value: if it's empty, we are not in release mode and can point to the actual
;; erl binary in Guix store.
"\nif [ -z \"$ERTS_BIN\" ]; then ERTS_BIN="
(string-drop-right (which "erl") 3)
"; fi")))
(substitute* "bin/mix"
(("#!/usr/bin/env elixir")
(string-append "#!" out "/bin/elixir"))))

View File

@ -47,9 +47,25 @@
(base32 "0s93z9vr0vp5w894ghc5s34nsq09sg1msf59zfiba87sid5vgjqy"))
(patches
(search-patches "elm-compiler-disable-reactor.patch"
"elm-compiler-relax-glsl-bound.patch"
"elm-compiler-fix-map-key.patch"))))
(build-system haskell-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'update-constraints
(lambda _
(substitute* "elm.cabal"
(("ansi-terminal >= 0\\.8 && < 0\\.9,")
"ansi-terminal >= 0.8 && < 0.10,")
(("containers >= 0\\.5\\.8\\.2 && < 0\\.6,")
"containers >= 0.5.8.2 && < 0.7,")
(("http-client >= 0\\.5 && < 0\\.6,")
"http-client >= 0.5 && < 0.7,")
(("language-glsl >= 0\\.0\\.2 && < 0\\.3,")
"language-glsl >= 0.0.2 && < 0.4,")
(("network >= 2\\.4 && < 2\\.7,")
"network >= 2.4 && < 2.9,"))
#t)))))
(inputs
`(("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)

View File

@ -79,6 +79,7 @@
#:use-module (guix cvs-download)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
@ -1005,6 +1006,30 @@ skip set strings, which are arguments to @code{skip-chars-forward} and
and reused.")
(license license:gpl3+))))
(define-public emacs-ample-theme
(let ((commit "536966adf882446165a1f756830028faa792c7a9")
(revision "1"))
(package
(name "emacs-ample-theme")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jordonbiondo/ample-theme")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"07bpv8dag40qjnm5000pgzpazj4whfxf93x2vprz26sg3mjfx0nf"))))
(build-system emacs-build-system)
(home-page "https://github.com/jordonbiondo/ample-theme")
(synopsis "Theme for Emacs providing dark, light, and flat versions")
(description "Ample themes is a collection of three themes sharing a
similar pallet with a light, dark and flat versions with a focus on being easy
on the eyes during night and day. They only support GUI and 256 colour
terminals.")
(license license:gpl3+))))
(define-public emacs-reformatter
(package
(name "emacs-reformatter")
@ -1974,9 +1999,9 @@ filters, new key bindings and faces. It can be enabled by
;; upgrading" that pdf-tools tries to perform.
(emacs-substitute-variables "pdf-tools.el"
("pdf-tools-handle-upgrades" '()))))
(add-after 'emacs-patch-variables 'emacs-set-emacs-load-path
(assoc-ref emacs:%standard-phases 'set-emacs-load-path))
(add-after 'emacs-set-emacs-load-path 'emacs-install
(add-after 'emacs-patch-variables 'emacs-add-source-to-load-path
(assoc-ref emacs:%standard-phases 'add-source-to-load-path))
(add-after 'emacs-add-source-to-load-path 'emacs-install
(assoc-ref emacs:%standard-phases 'install))
(add-after 'emacs-install 'emacs-build
(assoc-ref emacs:%standard-phases 'build))
@ -2049,14 +2074,14 @@ type, for example: packages, buffers, files, etc.")
(define-public emacs-guix
(package
(name "emacs-guix")
(version "0.5.1.1")
(version "0.5.2")
(source (origin
(method url-fetch)
(uri (string-append "https://emacs-guix.gitlab.io/website/"
"releases/emacs-guix-" version ".tar.gz"))
(sha256
(base32
"1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
"0yz64c0z4ygi2k4af18k4r1ncgys18jb8icywkp2g5pgmpn5l7ps"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -4096,7 +4121,7 @@ to a key in your preferred mode.")
((assoc-ref cmake:%standard-phases 'configure)
#:outputs outputs
#:configure-flags '("-DSC_EL_BYTECOMPILE=OFF"))))
(add-after 'set-emacs-load-path 'add-el-dir-to-emacs-load-path
(add-after 'add-source-to-load-path 'add-el-dir-to-emacs-load-path
(lambda _
(setenv "EMACSLOADPATH"
(string-append (getcwd) "/el:" (getenv "EMACSLOADPATH")))
@ -5225,7 +5250,7 @@ after buffer changes.")
`(#:tests? #t
#:phases
(modify-phases %standard-phases
(add-after 'set-emacs-load-path 'fix-autogen-script
(add-after 'unpack 'fix-autogen-script
(lambda _
(substitute* "autogen.sh"
(("./configure") "sh configure"))))
@ -10226,6 +10251,30 @@ list of commands is displayed in a handy popup.")
characters from end of lines.")
(license license:gpl3+)))
(define-public emacs-openwith
(let ((changeset "aeb78782ec87680ea9f082a3f20a3675b3770cf9")
(revision "0"))
(package
(name "emacs-openwith")
(home-page "https://bitbucket.org/jpkotta/openwith")
(version (git-version "0.0.1" revision changeset))
(source (origin
(method hg-fetch)
(uri (hg-reference (url home-page) (changeset changeset)))
(file-name (git-file-name name version))
(sha256
(base32
"1wl6gnxsyhaad4cl9bxjc0qbc5jzvlwbwjbajs0n1s6qr07d6r01"))))
(build-system emacs-build-system)
(synopsis "Open external applications for files with Emacs")
(description
"This package enables you to associate file name patterns with external
applications that are automatically invoked when you use commands like
@code{find-file}. For example, you can have it open @code{png} files with
@code{feh} and @code{mp4} files with @code{mpv}. This is especially useful
when browsing files with Dired.")
(license license:gpl2+))))
(define-public emacs-org-edit-latex
(package
(name "emacs-org-edit-latex")
@ -14809,7 +14858,7 @@ appropriate directory if no @code{eshell} session is active.")
(define-public emacs-eshell-z
(package
(name "emacs-eshell-z")
(version "0.3.2")
(version "0.4")
(source
(origin
(method git-fetch)
@ -14819,7 +14868,7 @@ appropriate directory if no @code{eshell} session is active.")
(file-name (git-file-name name version))
(sha256
(base32
"1aac4m814jgxwpz7lbyx5r4z5dmawp4sk7pwbx0zqpnbcsaq5wwc"))))
"13dwaq8q23rwmrkpy3gvf7aswrkk6b9ak5221xl7n0bld4wdhq3j"))))
(build-system emacs-build-system)
(home-page "https://github.com/xuchunyang/eshell-z")
(synopsis "Quick navigation to frequently visited directories")
@ -14861,7 +14910,7 @@ autosuggestions with:
(define-public emacs-desktop-environment
(package
(name "emacs-desktop-environment")
(version "0.2.2")
(version "0.3.0")
(source
(origin
(method git-fetch)
@ -14871,7 +14920,7 @@ autosuggestions with:
(file-name (git-file-name name version))
(sha256
(base32
"14ija2rrz3zjhjbzxg84j5fq6xph4ah7w9bkqnq37by040cydvhw"))))
"195n99xvxyh4cfxjpfa1h1maalqrxf7nyi0bh3lqa1z6z5bdb6x2"))))
(build-system emacs-build-system)
(home-page "https://gitlab.petton.fr/DamienCassou/desktop-environment")
(synopsis "Control your GNU/Linux desktop environment from Emacs")
@ -15824,7 +15873,8 @@ Pandoc, the document-conversion tool.")
"1qgfxc5d1hb32ks1fxpx7agpw7dvnkz99wydlflc9fqq75g8v142"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
`(("ccls" ,ccls)
("emacs-dash" ,emacs-dash)
("emacs-projectile" ,emacs-projectile)
("emacs-lsp-mode" ,emacs-lsp-mode)))
(home-page "https://github.com/MaskRay/emacs-ccls")
@ -17821,9 +17871,7 @@ a suffix) we prefer to call it just a \"transient\".")
(lambda _
(substitute* "./Makefile"
(("lisp docs") "lisp"))))
(add-after 'delete-doc-targets 'emacs-set-emacs-load-path
(assoc-ref emacs:%standard-phases 'set-emacs-load-path))
(add-after 'emacs-set-emacs-load-path 'chdir-lisp
(add-after 'delete-doc-targets 'chdir-lisp
(lambda _
(chdir "lisp")))
(add-after 'chdir-lisp 'emacs-install

View File

@ -9,7 +9,7 @@
;;; Copyright © 2016 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2016 ng0 <ng0@n0.is>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2017, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
@ -185,6 +185,13 @@
(native-search-paths
(list (search-path-specification
(variable "EMACSLOADPATH")
;; The versioned entries are for the Emacs' builtin libraries.
(files (list (string-append "share/emacs/" version "/site-lisp")
(string-append "share/emacs/" version "/lisp")
"share/emacs/site-lisp"))
(file-pattern ".*")) ;recursively add any sub directory
(search-path-specification
(variable "INFOPATH")
(files '("share/info")))))

View File

@ -1213,6 +1213,8 @@ play them on systems for which they were never designed!")
(arguments
`(#:make-flags
(cons*
;; A 'strict-overflow' error pops up on i686 so disable '-Werror'.
"NOWERROR=1"
(string-append "QT_HOME=" (assoc-ref %build-inputs "qtbase"))
(string-append "SDL_INI_PATH="
(assoc-ref %outputs "out")

View File

@ -223,7 +223,7 @@ built-in support for concurrency, distribution and fault tolerance.")
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'set-emacs-load-path 'change-working-directory
(add-before 'add-source-to-load-path 'change-working-directory
(lambda _ (chdir "lib/tools/emacs") #t)))))
(home-page "https://www.erlang.org/")
(synopsis "Erlang major mode for Emacs")

View File

@ -190,7 +190,8 @@ testing InfiniBand networks.")
(file-name (git-file-name name version))
(sha256
(base32
"0x3clvy716i7va4m4adgx6ihjsfnzrkdizhxz5v52944dkglpc8n"))))
"0x3clvy716i7va4m4adgx6ihjsfnzrkdizhxz5v52944dkglpc8n"))
(patches (search-patches "ucx-tcp-iface-ioctl.patch"))))
(build-system gnu-build-system)
(arguments
'( ;; These are some of the flags found in 'contrib/configure-release'.

View File

@ -482,7 +482,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
;; the system's dynamically linked library.
(package
(name "monero")
(version "0.15.0.0")
(version "0.15.0.1")
(source
(origin
(method git-fetch)
@ -503,7 +503,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
#t))
(sha256
(base32
"19y4kcj4agws7swfa3draysb1y18c3xb13r8cg0faxx1dlm0zbnr"))))
"0sypa235lf2bbib4b71xpaw39h9304slgsvnsz8wmy9fq1zx009m"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@ -597,7 +597,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
(version "0.15.0.0")
(version "0.15.0.1")
(source
(origin
(method git-fetch)
@ -607,7 +607,7 @@ the Monero command line client and daemon.")
(file-name (git-file-name name version))
(sha256
(base32
"1shpnly2dym5jhvk8zk10p69mz062dihx979djg74q6hgkhhhqsh"))))
"08j8kkncdn57xql0bhmlzjpjkdfhqbpda1p07r797q8qi0nl4w8n"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

View File

@ -211,14 +211,15 @@ firmware from it.")
(let ((commit "f289b7a2e5627464044249f0e5742830e052e360"))
(package
(name "teensy-loader-cli")
(version (string-append "2.1-1." (string-take commit 7)))
(version (git-version "2.1" "1" commit))
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/PaulStoffregen/"
"teensy_loader_cli/archive/" commit ".tar.gz"))
(sha256 (base32 "17wqc2q4fa473cy7f5m2yiyb9nq0qw7xal2kzrxzaikgm9rabsw8"))
(file-name (string-append "teensy-loader-cli-" version ".tar.gz" ))
(method git-fetch)
(uri (git-reference
(url "https://github.com/PaulStoffregen/teensy_loader_cli.git")
(commit commit)))
(sha256 (base32 "0sssim56pwsxp5cp5dlf6mi9h5fx2592m6j1g7abnm0s09b0lpdx"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
`(begin
@ -294,13 +295,14 @@ RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.")
(name "heimdall")
(version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Benjamin-Dobell/Heimdall"
"/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/BenjaminDobell/Heimdall.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1y7gwg3lipyp2zcysm2vid1qg5nwin9bxbvgzs28lz2rya4fz6sq"))))
"1ygn4snvcmi98rgldgxf5hwm7zzi1zcsihfvm6awf9s6mpcjzbqz"))))
(build-system cmake-build-system)
(arguments
`(#:build-type "Release"
@ -327,7 +329,7 @@ RK3036, RK3066, RK312X, RK3168, RK3188, RK3288, RK3368.")
`(("libusb" ,libusb)
("qtbase" ,qtbase)
("zlib" ,zlib)))
(home-page "http://glassechidna.com.au/heimdall/")
(home-page "https://glassechidna.com.au/heimdall/")
(synopsis "Flash firmware onto Samsung mobile devices")
(description "@command{heimdall} is a tool suite used to flash firmware (aka
ROMs) onto Samsung mobile devices. Heimdall connects to a mobile device over
@ -415,13 +417,14 @@ Management Engine (ME). You need to @code{sudo rmmod mei_me} and
(name "me-cleaner")
(version "1.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/corna/me_cleaner/"
"archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/corna/me_cleaner.git")
(commit (string-append "v" version))))
(sha256
(base32
"0hdnay1ai0r6l69z63jkiz6yfwdsqc2mrfyj77hgadv7xxxqm6na"))
(file-name (string-append name "-" version ".tar.gz"))))
"1bdj2clm13ir441vn7sv860xsc5gh71ja5lc2wn0gggnff0adxj4"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(arguments
`(#:phases
@ -444,15 +447,16 @@ ME as far as possible (it only edits ME firmware image files).")
(define-public uefitool
(package
(name "uefitool")
(version "0.22.4")
(version "0.26.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/LongSoft/UEFITool/archive/"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/LongSoft/UEFITool.git")
(commit version)))
(sha256
(base32
"05jmhv7jpq08kqbd1477y1lgyjvcic3njrd0bmzdy7v7b7lnhl82"))
(file-name (string-append name "-" version ".tar.gz"))))
"1ka7i12swm9r5bmyz5vjr82abd2f3lj8p35f4208byalfbx51yq7"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -27,6 +27,7 @@
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Baptiste Strazzulla <bstrazzull@hotmail.fr>
;;; Copyright © 2019 Alva <alva@skogen.is>
;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1524,3 +1525,43 @@ Symbols stand out from common text. Dots and commas are easily seen, and
operators are clear even when not surrounded by spaces. Similar characters
have been designed to be very distinguishable from each other.")
(license license:silofl1.1)))
(define-public font-dseg
(package
(name "font-dseg")
(version "0.45")
(source
(origin
(method url-fetch/zipbomb)
(uri
(string-append "https://github.com/keshikan/DSEG/"
"releases/download/v" version
"/fonts-DSEG_v"
(string-concatenate (string-split version #\.))
".zip"))
(sha256
(base32
"0v8sghh4vl286faf8pvi74znz07pyf0qii8z4wjllisqwc35sx72"))))
(build-system font-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(font-dir (string-append out "/share/fonts"))
(truetype-dir (string-append font-dir "/truetype")))
(with-directory-excursion
(string-append "fonts-DSEG_v"
(apply string-append (string-split ,version
#\.)))
(for-each (lambda (f) (install-file f truetype-dir))
(find-files "." "\\.ttf$"))
#t)))))))
(home-page "https://www.keshikan.net/fonts-e.html")
(synopsis "DSEG: 7-segment and 14-segment fonts")
(description
"DSEG is a font family that imitates seven- and fourteen-segment LCD
displays (7SEG, 14SEG). DSEG includes the roman alphabet and symbol glyphs.
This package provides the TrueType fonts.")
(license license:silofl1.1)))

View File

@ -463,13 +463,14 @@ want what you have.")
(name "cowsay")
(version "3.04")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/tnalpgge/"
"rank-amateur-cowsay/archive/"
"cowsay-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/tnalpgge/rank-amateur-cowsay.git")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"12w7apbf6a9qffk92r32b16w22na2fjcqbl32rn0n7zw5hrp3f6q"))))
"06455kq37hvq1xb7adyiwrx0djs50arsxvjgixyxks16lm1rlc7n"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -1880,30 +1881,38 @@ match, cannon keep, and grave-itation pit.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest/minetest")
(commit version)))
(url "https://github.com/minetest/minetest")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"184n9gxfa7yr0j85z2x736maaymsnppd5jzm326wlqri3c0qqy3z"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "lib") #t))))
'(begin
;; Mimic upstream commit 706b6aad06, for compatibility with
;; newer jsoncpp. Remove this for > 5.1.0.
(substitute* "cmake/Modules/FindJson.cmake"
(("features\\.h")
"allocator.h"))
;; Delete bundled libraries.
(delete-file-recursively "lib")
#t))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
(list "-DRUN_IN_PLACE=0"
"-DENABLE_FREETYPE=1"
"-DENABLE_GETTEXT=1"
"-DENABLE_SYSTEM_JSONCPP=TRUE"
(string-append "-DIRRLICHT_INCLUDE_DIR="
(assoc-ref %build-inputs "irrlicht")
"/include/irrlicht")
(string-append "-DCURL_INCLUDE_DIR="
(assoc-ref %build-inputs "curl")
"/include/curl"))
#:tests? #f)) ; no check target
(list "-DRUN_IN_PLACE=0"
"-DENABLE_FREETYPE=1"
"-DENABLE_GETTEXT=1"
"-DENABLE_SYSTEM_JSONCPP=TRUE"
(string-append "-DIRRLICHT_INCLUDE_DIR="
(assoc-ref %build-inputs "irrlicht")
"/include/irrlicht")
(string-append "-DCURL_INCLUDE_DIR="
(assoc-ref %build-inputs "curl")
"/include/curl"))
#:tests? #f)) ;no check target
(native-search-paths
(list (search-path-specification
(variable "MINETEST_SUBGAME_PATH")
@ -3787,13 +3796,14 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.")
(name "laby")
(version "0.6.4")
(source
(origin (method url-fetch)
(uri (string-append
"https://github.com/sgimenez/laby/archive/"
"laby-" version ".tar.gz"))
(origin (method git-fetch)
(uri (git-reference
(url "https://github.com/sgimenez/laby.git")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0gyrfa95l1qka7gbjf7l6mk7mbfvph00l0c995ia272qdw7rjhyf"))
"12fq9hhrxpzgfinmj9ra9ckss9yficwdlrmgjvvsq7agvh3sgyl1"))
(patches (search-patches "laby-make-install.patch"))))
(build-system gnu-build-system)
(inputs
@ -3943,7 +3953,7 @@ throwing people around in pseudo-randomly generated buildings.")
(define-public hyperrogue
(package
(name "hyperrogue")
(version "10.5d")
(version "11.2d")
;; When updating this package, be sure to update the "hyperrogue-data"
;; origin in native-inputs.
(source (origin
@ -3954,7 +3964,7 @@ throwing people around in pseudo-randomly generated buildings.")
"-src.tgz"))
(sha256
(base32
"1ls055v4pv2xmn2a8lav7wl370zn0wsd91q41bk0amxd168kcndy"))))
"1b532s94zv1jsni7bvh848m42arxcclsr0x3n7c689iamwqzrxmn"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
@ -4032,7 +4042,7 @@ throwing people around in pseudo-randomly generated buildings.")
"-win.zip"))
(sha256
(base32
"13n9hcvf9yv7kjghm5jhjpwq1kh94i4bgvcczky9kvdvw1y9278n"))))
"0vq4l1xaqpjj3hmxn1vn2b3bbkn1hrag42ck9f30blinv347bwhf"))))
("unzip" ,unzip)))
(inputs
`(("font-dejavu" ,font-dejavu)
@ -5136,7 +5146,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(define-public tome4
(package
(name "tome4")
(version "1.6.0")
(version "1.6.1")
(synopsis "Single-player, RPG roguelike game set in the world of Eyal")
(source
(origin
@ -5145,7 +5155,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
version ".tar.bz2"))
(sha256
(base32
"1z1w4ycgl5wbm0sv7577vcdfwwf4k7vaf2njzyb21rvqjizpbkwr"))
"0c5a2bdyfccwkqnb6yqvzggyi2nk032v01kfc00zlgpdfzljcb9i"))
(modules '((guix build utils)))
(snippet
'(begin
@ -5442,14 +5452,14 @@ making Yamagi Quake II one of the most solid Quake II implementations available.
(version "0.9.3.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/the-butterfly-effect/tbe/archive/"
"v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/the-butterfly-effect/tbe.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"18qkp7fgdvyl3haqqa693mgyic7afsznsxgz98z9wn4csaqxsnby"))))
"1ag2cp346f9bz9qy6za6q54id44d2ypvkyhvnjha14qzzapwaysj"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -5793,7 +5803,7 @@ affect gameplay).")
(package
(inherit chocolate-doom)
(name "crispy-doom")
(version "5.5.2")
(version "5.6.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -5801,7 +5811,7 @@ affect gameplay).")
(commit (string-append "crispy-doom-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1a60ns0blhvml6gzj9qx18c18pbf02rq7vypaajd6nqy5h4fz3cn"))))
(base32 "0f319979wqfgm4pvsa6y5clg30p55l441kmrr8db0p5smyv3x2s4"))))
(native-inputs
(append
(package-native-inputs chocolate-doom)
@ -7337,14 +7347,14 @@ play with up to four players simultaneously. It has network support.")
(define-public hedgewars
(package
(name "hedgewars")
(version "0.9.25")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.hedgewars.org/download/releases/"
"hedgewars-src-" version ".tar.bz2"))
(sha256
(base32
"08x7fqpy0hpnbfq2k06g522xayi7s53bca819zfhalvqnqs76pdk"))))
"0nqm9w02m0xkndlsj6ys3wr0ik8zc14zgilq7k6fwjrf3zk385i1"))))
(build-system cmake-build-system)
(arguments
;; XXX: Engine is built as Pascal source code, requiring Free Pascal
@ -7353,32 +7363,8 @@ play with up to four players simultaneously. It has network support.")
`(#:configure-flags (list "-DBUILD_ENGINE_C=ON")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-failing-test
;; XXX: Remove single failing test. Note: it is marked
;; a "non-critical" test.
(lambda _
(delete-file-recursively "tests/lua_noncritical")
#t))
(add-after 'unpack 'fix-compiler
;; XXX: Flag BUILD_ENGINE_C, as set above, implies using Clang to
;; compile files. However, using `clang' globally leads to the
;; error: qtbase-5.11.3/include/qt5/QtCore/qglobal.h:45:12: fatal
;; error: 'type_traits' file not found.
;;
;; Therefore, we make sure to use `c++' everywhere but in the
;; engine.
(lambda _
(substitute* "project_files/hwc/CMakeLists.txt"
(("find_package\\(SDL2_ttf 2 REQUIRED\\)" all)
(string-append all "\n"
"set(CMAKE_C_COMPILER ${CLANG_EXECUTABLE})\n"
"set(CMAKE_CXX_COMPILER ${CLANG_EXECUTABLE})")))
(substitute* "CMakeLists.txt"
(("set\\(CMAKE_C(XX)?_COMPILER" all) (string-append "#" all)))
#t))
(replace 'check
(lambda _
(invoke "ctest"))))))
(lambda _ (invoke "ctest"))))))
(inputs
`(("ffmpeg" ,ffmpeg)
("freeglut" ,freeglut)

View File

@ -861,8 +861,21 @@ on the GNOME Desktop with a single simple application.")
(base32
"0bshwm49cd01ighsxqlbqn10q0ch71ff99gcrx8pr2gyky2ad3pq"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'set-adwaita-theme-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Provide the correct file name of the default GNOME
;; background, 'adwaita-timed.xml'.
(let ((theme (assoc-ref inputs "gnome-backgrounds")))
(substitute* (find-files "schemas"
"\\.gschema\\.xml\\.in$")
(("@datadir@/backgrounds/gnome")
(string-append theme "/share/backgrounds/gnome")))
#t))))))
(inputs
`(("glib" ,glib)))
`(("glib" ,glib)
("gnome-backgrounds" ,gnome-backgrounds)))
(native-inputs
`(("intltool" ,intltool)
("glib" ,glib "bin") ; glib-compile-schemas, etc.
@ -1406,15 +1419,15 @@ library.")
(define-public librsvg-next
(package
(name "librsvg")
(version "2.46.0")
(version "2.46.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(uri (string-append "mirror://gnome/sources/librsvg/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
"librsvg-" version ".tar.xz"))
(sha256
(base32
"1la3az2af2ccm6rp86b6wh0kq7kxzl4n8pli5qxhyic1rd91xj4n"))))
"1s3a96i7f4pynjwxxvhysp4b6r7kyi8nasdxfyi62hc7gm34d3kn"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -1492,7 +1505,7 @@ library.")
(description
"Librsvg is a C library to render SVG files using the Cairo 2D graphics
library.")
(license license:lgpl2.0+)))
(license license:lgpl2.1+)))
(define-public libidl
(package

View File

@ -1921,17 +1921,22 @@ is no support for parsing block and inline level HTML.")
(define-public mcron
(package
(name "mcron")
(version "1.1.2")
(version "1.1.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mcron/mcron-"
version ".tar.gz"))
(sha256
(base32
"069m3ri7nc8lgy3h9ka7gj3v3anqj69x9jw4l3cfq65nqkxsch4g"))))
"00kv7fgllzjpis0g1m9csycp4f6l11774m09dqy255cvmim2g743"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'fix-finding-guile
(lambda _
(substitute* "configure"
(("2\\.0") "2.2 2.0"))
#t))
(add-before 'check 'adjust-tests
(lambda _
(substitute* "tests/job-specifier.scm"
@ -1948,11 +1953,7 @@ is no support for parsing block and inline level HTML.")
(("\\(test-equal \"next-year\"" all)
(string-append "(test-skip 4)\n" all)))
#t)))))
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("help2man" ,help2man)
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)
(native-inputs `(("pkg-config" ,pkg-config)
("tzdata" ,tzdata-for-tests)))
(inputs `(("guile" ,guile-2.2)))
(home-page "https://www.gnu.org/software/mcron/")

View File

@ -49,10 +49,14 @@
#:use-module (gnu packages rsync)
#:use-module (gnu packages version-control))
;; In Stackage LTS 14, this package is at 2.4.1.0. However, that
;; version requires version 2.4.1.0 of the 'Cabal' package, which is
;; provided by GHC 8.6.5 at version 2.4.0.1. Hence, we use an older
;; version to match the compiler's library.
(define-public cabal-install
(package
(name "cabal-install")
(version "2.2.0.0")
(version "2.4.0.0")
(source
(origin
(method url-fetch)
@ -61,9 +65,19 @@
version
".tar.gz"))
(sha256
(base32 "1nd3ch7qr4dpfxhgkcq2lnhvszx2kjgnn1kwb44vk9y5jgfs4mn8"))))
(arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
(base32 "1xmyl0x8wqfrnray6ky5wy0g0samv4264fbdlzxhqsvk9dbfja8k"))))
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("2" "1xil5pim6j1ckqj61zz6l7xpfxxr3rkw2hvpws2f7pr9shk645dl")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'update-constraints
(lambda _
(substitute* "cabal-install.cabal"
(("zip-archive >= 0\\.3\\.2\\.5 && < 0\\.4,")
"zip-archive >= 0.3.2.5 && <= 0.4.1,"))
#t)))))
(inputs
`(("ghc-async" ,ghc-async)
("ghc-base16-bytestring" ,ghc-base16-bytestring)
@ -78,6 +92,7 @@
("ghc-random" ,ghc-random)
("ghc-resolv" ,ghc-resolv)
("ghc-tar" ,ghc-tar)
("ghc-zip-archive" ,ghc-zip-archive)
("ghc-zlib" ,ghc-zlib)))
(home-page "https://www.haskell.org/cabal/")
(synopsis "Command-line interface for Cabal and Hackage")
@ -172,7 +187,9 @@ unlit literate code files; and an option to turn off macro-expansion.")
#t))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded"
`(#:cabal-revision
("1" "0xl7j5cm704pbl2ms0dkydh7jvrz0ym76d725ifpg4h902m1zkhg")
#:configure-flags '("-fpkgconfig" "-fcurl" "-flibiconv" "-fthreaded"
"-fnetwork-uri" "-fhttp" "--flag=executable"
"--flag=library")
#:phases
@ -181,6 +198,12 @@ unlit literate code files; and an option to turn off macro-expansion.")
(lambda _
(substitute* "tests/issue538.sh"
(("/bin/sh") (which "sh")))
#t))
(add-before 'configure 'update-constraints
(lambda _
(substitute* "darcs.cabal"
(("QuickCheck >= 2\\.8\\.2 && < 2\\.13,")
"QuickCheck >= 2.8.2 && < 2.14,"))
#t)))))
(inputs
`(("ghc-cmdargs" ,ghc-cmdargs)
@ -391,7 +414,7 @@ used to keep a folder in sync between computers.")
(define-public hlint
(package
(name "hlint")
(version "2.1.10")
(version "2.1.26")
(source
(origin
(method url-fetch)
@ -400,7 +423,7 @@ used to keep a folder in sync between computers.")
"/" name "-" version ".tar.gz"))
(sha256
(base32
"19as2m9g75cr6n1agzvsij0cvqhb0wbjlk31w4y5d5mns87dki0w"))))
"16zkkpbfrd69853cdqf597fva969lirfc86b039i9zd7ghlrcayc"))))
(build-system haskell-build-system)
(inputs
`(("cpphs" ,cpphs)
@ -416,6 +439,7 @@ used to keep a folder in sync between computers.")
("ghc-extra" ,ghc-extra)
("ghc-refact" ,ghc-refact)
("ghc-aeson" ,ghc-aeson)
("ghc-lib-parser" ,ghc-lib-parser)
("hscolour" ,hscolour)))
(home-page "http://community.haskell.org/~ndm/hlint/")
(synopsis "Suggest improvements for Haskell source code")
@ -427,7 +451,7 @@ unwanted suggestions, and to add your own custom suggestions.")
(define-public hoogle
(package
(name "hoogle")
(version "5.0.17.3")
(version "5.0.17.11")
(source
(origin
(method url-fetch)
@ -437,18 +461,19 @@ unwanted suggestions, and to add your own custom suggestions.")
version ".tar.gz"))
(sha256
(base32
"174gp41v0krzj37m75pnr3aawyhkbk2wq4q6zk2z3zh0avvvmgk6"))))
"1svp8z9pad8z2j386pr0dda0ds8ddxab0salnz4gm51q877w93p1"))))
(build-system haskell-build-system)
(inputs
`(("ghc-network-uri" ,ghc-network-uri)
("ghc-network" ,ghc-network)
("ghc-quickcheck" ,ghc-quickcheck)
`(("ghc-quickcheck" ,ghc-quickcheck)
("ghc-aeson" ,ghc-aeson)
("ghc-blaze-html" ,ghc-blaze-html)
("ghc-blaze-markup" ,ghc-blaze-markup)
("ghc-cmdargs" ,ghc-cmdargs)
("ghc-conduit" ,ghc-conduit)
("ghc-conduit-extra" ,ghc-conduit-extra)
("ghc-connection" ,ghc-connection)
("ghc-extra" ,ghc-extra)
("ghc-foundation" ,ghc-foundation)
("ghc-old-locale" ,ghc-old-locale)
("ghc-haskell-src-exts" ,ghc-haskell-src-exts)
("ghc-http-conduit" ,ghc-http-conduit)
@ -502,16 +527,16 @@ and mIRC chat codes.")
(define-public kmonad
(package
(name "kmonad")
(version "0.2.0")
(version "0.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/david-janssen/kmonad.git")
(commit "06d7b8c709efa695be35df9bde91275cbb2ba099")))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1rjr4h5yq63x3kad6yn4p8v26389sd9dgr5n2w73s1chafapzwwd"))))
(base32 "1g40nkpldih6h1rlxjx5yf9iavr3qs1f2b6j0gd8135p5hkg8d8n"))))
(build-system haskell-build-system)
(arguments
`(#:phases
@ -543,7 +568,7 @@ and mIRC chat codes.")
("ghc-exceptions" ,ghc-exceptions)
("ghc-hashable" ,ghc-hashable)
("ghc-lens" ,ghc-lens)
("ghc-megaparsec" ,ghc-megaparsec-7)
("ghc-megaparsec" ,ghc-megaparsec)
("ghc-optparse-applicative" ,ghc-optparse-applicative)
("ghc-unagi-chan" ,ghc-unagi-chan)
("ghc-unliftio" ,ghc-unliftio)

View File

@ -10,6 +10,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Tonton <tonton@riseup.net>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -39,7 +40,7 @@
(define-public ghc-tasty-ant-xml
(package
(name "ghc-tasty-ant-xml")
(version "1.1.4")
(version "1.1.6")
(source
(origin
(method url-fetch)
@ -49,7 +50,7 @@
".tar.gz"))
(sha256
(base32
"0v0gsb90kh6hwlgxbclzawsskywc6yf7n8xhiifia97l4y0yx2m8"))))
"13qqpl1prr9dda87dp45mqybay24n8rhxxgvpc9j34kh72g8j5qw"))))
(build-system haskell-build-system)
(inputs
`(("ghc-generic-deriving" ,ghc-generic-deriving)
@ -95,7 +96,7 @@ Haskell test framework.")
(define-public ghc-tasty-quickcheck
(package
(name "ghc-tasty-quickcheck")
(version "0.10")
(version "0.10.1")
(source
(origin
(method url-fetch)
@ -104,7 +105,7 @@ Haskell test framework.")
"tasty-quickcheck-" version ".tar.gz"))
(sha256
(base32
"0vr6szbbz3s5461i0zr8zpq347zfvidfzv5gf3xwxhm0yk731z8h"))))
"0k4vvd5vmrncv1s6gdf03l4xijwlk428sb9jfx8n1zaz02971msh"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
@ -156,7 +157,7 @@ contains the correct result for the test.")
(define-public ghc-tasty
(package
(name "ghc-tasty")
(version "1.1.0.3")
(version "1.2.3")
(source
(origin
(method url-fetch)
@ -166,7 +167,7 @@ contains the correct result for the test.")
".tar.gz"))
(sha256
(base32
"14riid753hjqr6lca1kgxpnvq0wykf0k3qc5jpag42hh8bszav22"))))
"0qpn0avpw4w1qq5r2gwh2piipj0llqq6ylagr3xnqiraq6mhg8cc"))))
(build-system haskell-build-system)
(inputs
`(("ghc-tagged" ,ghc-tagged)
@ -184,10 +185,40 @@ you combine your unit tests, golden tests, QuickCheck/SmallCheck properties,
and any other types of tests into a single test suite.")
(license license:expat)))
(define-public ghc-tasty-hedgehog
(package
(name "ghc-tasty-hedgehog")
(version "1.0.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"tasty-hedgehog/tasty-hedgehog-" version ".tar.gz"))
(sha256
(base32
"1mbg5q0c0xfrk4npfj60pi693igb7r5l78x6xf9fk2jglw0nmxhz"))))
(build-system haskell-build-system)
(inputs
`(("ghc-tagged" ,ghc-tagged)
("ghc-tasty" ,ghc-tasty)
("ghc-hedgehog" ,ghc-hedgehog)))
(native-inputs
`(("ghc-tasty-expected-failure" ,ghc-tasty-expected-failure)))
(arguments
`(#:cabal-revision
("1" "1n6797fm8swyrk8cw7zxz593gq82wx8dayvm204rmgcz75bslcpn")))
(home-page "https://github.com/qfpl/tasty-hedgehog")
(synopsis "Integration for tasty and hedgehog")
(description "This package provides the means for integrating the
@url{https://hackage.haskell.org/package/hedgehog, hedgehog testing library}
with the @url{https://hackage.haskell.org/package/tasty, tasty testing
framework}.")
(license license:bsd-3)))
(define-public ghc-tasty-hunit
(package
(name "ghc-tasty-hunit")
(version "0.10.0.1")
(version "0.10.0.2")
(source
(origin
(method url-fetch)
@ -197,7 +228,7 @@ and any other types of tests into a single test suite.")
".tar.gz"))
(sha256
(base32
"0j3hgga6c3s8h5snzivb8a75h96207ia2rlbxzj07xbf4zpkp44g"))))
"1xvf5xs0r8xqkcg354klz4wyzwyzvinalyl6f4fnxwqmzrgch8s8"))))
(build-system haskell-build-system)
(inputs
`(("ghc-call-stack" ,ghc-call-stack-boot)
@ -231,6 +262,31 @@ test framework.")
tasty.")
(license license:expat)))
(define-public ghc-tasty-lua
(package
(name "ghc-tasty-lua")
(version "0.2.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"tasty-lua/tasty-lua-" version ".tar.gz"))
(sha256
(base32
"0xlj36rrhkx312h7smx6ay20rhlhxvw2ma2ckdnzv1pvmdn6p5qx"))))
(build-system haskell-build-system)
(inputs
`(("ghc-file-embed" ,ghc-file-embed)
("ghc-hslua" ,ghc-hslua)
("ghc-tasty" ,ghc-tasty)))
(native-inputs
`(("ghc-tasty-hunit" ,ghc-tasty-hunit)))
(home-page "https://github.com/hslua/tasty-lua")
(synopsis "Write tests in Lua, integrate into tasty")
(description "This package gives users the ability to define tasty tests
from Lua.")
(license license:expat)))
(define-public ghc-tasty-th
(package
(name "ghc-tasty-th")
@ -261,7 +317,7 @@ test-framework.")
(define-public ghc-tasty-rerun
(package
(name "ghc-tasty-rerun")
(version "1.1.12")
(version "1.1.14")
(source (origin
(method url-fetch)
(uri (string-append
@ -269,7 +325,7 @@ test-framework.")
"tasty-rerun-" version ".tar.gz"))
(sha256
(base32
"05lp4zy6lwd916snq6hs43848n62j9vdfl3s8sfivqydrax0vvd8"))))
"0s0zj8ds4g1w2cjzm2lh25ivg962jigqdrbj08v3dbz64lx4mlzr"))))
(build-system haskell-build-system)
(inputs
`(("ghc-optparse-applicative" ,ghc-optparse-applicative)
@ -288,7 +344,7 @@ been added since previous test run.")
(define-public ghc-tasty-expected-failure
(package
(name "ghc-tasty-expected-failure")
(version "0.11.1.1")
(version "0.11.1.2")
(source
(origin
(method url-fetch)
@ -297,7 +353,7 @@ been added since previous test run.")
version ".tar.gz"))
(sha256
(base32
"1i2s809m644b7hgiblqay9j364r3fjj1rwbrahsn1pgr5q6mr6ji"))))
"175gdk1mkslcwjxajkbl4zmaigzf8h4svzd7va5qb519y0dxk28n"))))
(build-system haskell-build-system)
(inputs
`(("ghc-tagged" ,ghc-tagged)
@ -314,7 +370,7 @@ development.")
(define-public ghc-quickcheck-instances
(package
(name "ghc-quickcheck-instances")
(version "0.3.18")
(version "0.3.22")
(source
(origin
(method url-fetch)
@ -324,11 +380,11 @@ development.")
version ".tar.gz"))
(sha256
(base32
"1bh1pzz5fdcqvzdcirqxna6fnjms02min5md716299g5niz46w55"))))
"14asr9r7da3w7p4hjj51w2yb002nz8x0np8hdz9z4yjvi60vyrax"))))
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("1" "1sngfq3v71bvgjsl8cj5kh65m3fziwy8dkvwjzs0kxfrzr87faly")))
("2" "1ia5fjhpg7rz793552v88gv2iqx7hl9mi2g09m0llasy1cpzc9jr")))
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
("ghc-base-compat" ,ghc-base-compat)
@ -337,6 +393,7 @@ development.")
("ghc-old-time" ,ghc-old-time)
("ghc-scientific" ,ghc-scientific)
("ghc-tagged" ,ghc-tagged)
("ghc-time-compat" ,ghc-time-compat)
("ghc-transformers-compat" ,ghc-transformers-compat)
("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-uuid-types" ,ghc-uuid-types)
@ -397,7 +454,7 @@ use HUnit assertions as QuickCheck properties.")
(define-public ghc-quickcheck
(package
(name "ghc-quickcheck")
(version "2.11.3")
(version "2.13.2")
(outputs '("out" "doc"))
(source
(origin
@ -408,12 +465,13 @@ use HUnit assertions as QuickCheck properties.")
".tar.gz"))
(sha256
(base32
"0xhqk35fkzlbjcqbabg6962jkv8d688nzmz7ng4bm84x2d95d328"))))
"0426j43af8v3qmdjjqxivazsvr3a2brac8yw09vpgpjkb2m0nmkv"))))
(build-system haskell-build-system)
(arguments
`(#:tests? #f)) ; FIXME: currently missing libraries used for tests.
(inputs
`(("ghc-random" ,ghc-random)
("ghc-splitmix" ,ghc-splitmix-bootstrap)
("ghc-tf-random" ,ghc-tf-random)))
(home-page "https://github.com/nick8325/quickcheck")
(synopsis "Automatic testing of Haskell programs")
@ -440,13 +498,8 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
(build-system haskell-build-system)
(arguments
`(#:tests? #f ; FIXME: Tests do not build.
#:phases
(modify-phases %standard-phases
(add-before 'configure 'update-constraints
(lambda _
(substitute* "test-framework.cabal"
(("QuickCheck >= 2\\.3 && < 2\\.10")
"QuickCheck >= 2.3 && < 2.12")))))))
#:cabal-revision
("5" "18g92ajx3ghznd6k3ihj22ln29n676ailzwx3k0f1kj3bmpilnh6")))
(native-inputs
`(("ghc-hunit" ,ghc-hunit)
("ghc-quickcheck" ,ghc-quickcheck)))
@ -500,7 +553,7 @@ reporting and test statistics output.")
(define-public ghc-test-framework-quickcheck2
(package
(name "ghc-test-framework-quickcheck2")
(version "0.3.0.4")
(version "0.3.0.5")
(source
(origin
(method url-fetch)
@ -509,11 +562,11 @@ reporting and test statistics output.")
"test-framework-quickcheck2-" version ".tar.gz"))
(sha256
(base32
"0vj834337r6jzr3258cv68ly2sv5999mklpsrfngyk51kywsyqyp"))))
"0ngf9vvby4nrdf1i7dxf5m9jn0g2pkq32w48xdr92n9hxka7ixn9"))))
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("1" "147ngmfdkskyg7mwsp5w73a4dbx3rp5s38bci3z03kn1m093lxff")))
("1" "1vmpk70h1594h9s216d3ngkb399fpny1d3sh4gg0vrc75p4as68d")))
(inputs
`(("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
("ghc-quickcheck" ,ghc-quickcheck)
@ -588,7 +641,7 @@ JUnit tool for Java.")
(define-public hspec-discover
(package
(name "hspec-discover")
(version "2.5.5")
(version "2.7.1")
(source
(origin
(method url-fetch)
@ -597,7 +650,7 @@ JUnit tool for Java.")
version ".tar.gz"))
(sha256
(base32
"04aidzi91ccr9bygmfkjzshz34z9vh8wvqj4zinx2clxq6r7gqfz"))))
"0r47fm94wa6qrhp8cc1zzkjrxc32rnagfn9m9ga4dm6p6ydw4c8b"))))
(build-system haskell-build-system)
(native-inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
@ -611,7 +664,7 @@ runs Hspec tests.")
(define-public ghc-hspec-core
(package
(name "ghc-hspec-core")
(version "2.5.5")
(version "2.7.1")
(source
(origin
(method url-fetch)
@ -619,19 +672,19 @@ runs Hspec tests.")
"hspec-core-" version ".tar.gz"))
(sha256
(base32
"1vfrqlpn32s9wiykmkxbnrnd5p56yznw20pf8fwzw78ar4wpz55x"))))
"08vk8588lap00hsln8zl64dazbb28lzk4b4h5vnm7xvhg7r21k1c"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
(inputs
`(("ghc-setenv" ,ghc-setenv)
("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-async" ,ghc-async)
("ghc-clock" ,ghc-clock)
("ghc-quickcheck-io" ,ghc-quickcheck-io)
("ghc-hunit" ,ghc-hunit)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-hspec-expectations" ,ghc-hspec-expectations)
("ghc-silently" ,ghc-silently)))
("ghc-silently" ,ghc-silently)
("ghc-tf-random" ,ghc-tf-random)))
(home-page "https://hspec.github.io/")
(synopsis "Testing framework for Haskell")
(description "This library exposes internal types and functions that can
@ -641,7 +694,7 @@ be used to extend Hspec's functionality.")
(define-public ghc-hspec-meta
(package
(name "ghc-hspec-meta")
(version "2.4.6")
(version "2.6.0")
(source
(origin
(method url-fetch)
@ -649,13 +702,13 @@ be used to extend Hspec's functionality.")
"hspec-meta-" version ".tar.gz"))
(sha256
(base32
"0qmvk01n79j6skn79r6zalg2pd0x0nqqn9qn8mhg0pgyzcdnfc9b"))))
"1n1a4633wfivylglji8920f67mx7qz8j4q58n8p7dxk6yg4h3mz6"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
("ghc-hunit" ,ghc-hunit)
("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-async" ,ghc-async)
("ghc-clock" ,ghc-clock)
("ghc-hspec-expectations" ,ghc-hspec-expectations)
("ghc-setenv" ,ghc-setenv)
("ghc-random" ,ghc-random)
@ -669,7 +722,7 @@ used to test the in-development version of Hspec.")
(define-public ghc-hspec
(package
(name "ghc-hspec")
(version "2.5.5")
(version "2.7.1")
(source
(origin
(method url-fetch)
@ -677,7 +730,7 @@ used to test the in-development version of Hspec.")
"hspec-" version ".tar.gz"))
(sha256
(base32
"1yv4k5b5kkig2q3waj28587sq28wms7wfav5a3lq4dra6jybimfm"))))
"1x8rcr7j1azcaw0fg1xzp8j0gr4ias36z09aj24i4xp8pnyfp341"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hspec-core" ,ghc-hspec-core)
@ -696,7 +749,7 @@ Haskell, inspired by the Ruby library RSpec.")
(define-public ghc-hspec-contrib
(package
(name "ghc-hspec-contrib")
(version "0.5.0")
(version "0.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -704,7 +757,7 @@ Haskell, inspired by the Ruby library RSpec.")
version ".tar.gz"))
(sha256
(base32
"13579xdqwbsy8k0vxdcvgy932d4p76mij1rzkzbpqbspfn7399yv"))))
"0hhzxaa3fxz5mk5qcsrnfr98a7bn3szx2ydgr0x9mbqmm1jg06rc"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hspec-core" ,ghc-hspec-core)
@ -798,7 +851,7 @@ implementations of cryptographic ciphers.")
(define-public ghc-hedgehog
(package
(name "ghc-hedgehog")
(version "0.6.1")
(version "1.0.1")
(source
(origin
(method url-fetch)
@ -808,13 +861,14 @@ implementations of cryptographic ciphers.")
".tar.gz"))
(sha256
(base32
"0xz10ycdm5vk9nrcym1fi83k19frfwqz18bz8bnpzwvaj0j41yfj"))))
"1qc7hkqbnsk3f5r26wc35r3qiy941nmcxhfqgcq9027kw4gs0bi0"))))
(build-system haskell-build-system)
(inputs
`(("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-async" ,ghc-async)
("ghc-concurrent-output" ,ghc-concurrent-output)
("ghc-exceptions" ,ghc-exceptions)
("ghc-fail" ,ghc-fail)
("ghc-lifted-async" ,ghc-lifted-async)
("ghc-mmorph" ,ghc-mmorph)
("ghc-monad-control" ,ghc-monad-control)
@ -841,7 +895,7 @@ To get started quickly, see the examples:
(define-public cabal-doctest
(package
(name "cabal-doctest")
(version "1.0.6")
(version "1.0.8")
(source
(origin
(method url-fetch)
@ -850,11 +904,8 @@ To get started quickly, see the examples:
version ".tar.gz"))
(sha256
(base32
"0bgd4jdmzxq5y465r4sf4jv2ix73yvblnr4c9wyazazafddamjny"))))
"03if74imlhhk7m56nci5f1wclniwqdmwl4hl177040j1gnlac9i0"))))
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("1" "1bk85avgc93yvcggwbk01fy8nvg6753wgmaanhkry0hz55h7mpld")))
(home-page "https://github.com/phadej/cabal-doctest")
(synopsis "Setup.hs helper for running doctests")
(description
@ -862,3 +913,53 @@ To get started quickly, see the examples:
configuration. This library provides the common bits for writing custom
@file{Setup.hs} files.")
(license license:bsd-3)))
(define-public ghc-testing-type-modifiers
(package
(name "ghc-testing-type-modifiers")
(version "0.1.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"testing-type-modifiers/testing-type-modifiers-"
version ".tar.gz"))
(sha256
(base32
"1wh2n95n39ivv6kbqn42vbzrj8zagsmk6f2al2qj40bg5kgdl2q5"))))
(build-system haskell-build-system)
(home-page "https://hackage.haskell.org/package/testing-type-modifiers")
(synopsis "Data type modifiers for property based testing")
(description "Property based testing libraries such as QuickCheck tend to
include type modifiers. Most of them are used to quantify over subsets of a
type. This library is intended to supply these modifiers to be used by
testing libraries, in an effort to make properties more portable between
testing frameworks.")
(license license:unlicense)))
(define-public ghc-testing-feat
(package
(name "ghc-testing-feat")
(version "1.1.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"testing-feat/testing-feat-" version ".tar.gz"))
(sha256
(base32
"1v2qzzpf1s008g7q6q67glf7vbm1pkpq4rc3ii74f4g6vhfx610r"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
("ghc-size-based" ,ghc-size-based)
("ghc-testing-type-modifiers" ,ghc-testing-type-modifiers)
("ghc-semigroups" ,ghc-semigroups)))
(home-page "https://github.com/JonasDuregard/testing-feat")
(synopsis "Functional Enumeration of Algebraic Types")
(description "Feat (Functional Enumeration of Algebraic Types)
provides enumerations as functions from natural numbers to
values (similar to @code{toEnum} but for any algebraic data type). This
can be used for SmallCheck-style systematic testing, QuickCheck-style
random testing, and hybrids of the two.")
(license license:bsd-3)))

View File

@ -36,7 +36,7 @@
(define-public ghc-asn1-types
(package
(name "ghc-asn1-types")
(version "0.3.2")
(version "0.3.3")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -44,7 +44,7 @@
version ".tar.gz"))
(sha256
(base32
"05vjchyqiy9n275cygffhn0ma7fz7jx52j0dcdm9qm8h9bziymqc"))))
"162lacdl9jr42pdhaj9hxqlba6hjxm6g866anna74q6v3cvw5ssp"))))
(build-system haskell-build-system)
(inputs
`(("ghc-memory" ,ghc-memory)
@ -59,7 +59,7 @@ format.")
(define-public ghc-asn1-encoding
(package
(name "ghc-asn1-encoding")
(version "0.9.5")
(version "0.9.6")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -67,7 +67,7 @@ format.")
version ".tar.gz"))
(sha256
(base32
"0adgbamyq0mj1l1hdq4zyyllay714bac1wl0rih3fv1z6vykp1hy"))))
"02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hourglass" ,ghc-hourglass)
@ -85,7 +85,7 @@ supports for high level forms of ASN1 (BER, and DER).")
(define-public ghc-asn1-parse
(package
(name "ghc-asn1-parse")
(version "0.9.4")
(version "0.9.5")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -93,7 +93,7 @@ supports for high level forms of ASN1 (BER, and DER).")
version ".tar.gz"))
(sha256
(base32
"025prsihk5g6rdv9xlfmj0zpa0wa3qjzj5i4ilzvg7f6f3sji8y6"))))
"17pk8y3nwv9b9i5j15qlmwi7fmq9ab2z4kfpjk2rvcrh9lsf27wg"))))
(build-system haskell-build-system)
(inputs
`(("ghc-asn1-types" ,ghc-asn1-types)
@ -212,7 +212,7 @@ that hides the C implementation.")
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("2" "0vyb9cfvpfxpslxvvhd48gw37i9g8ry5x63xwxd9q7xfiqhs7p3a")
("4" "0gzaibjkipijwj9m9l6wrhfk5s3kdvfbhdl7cl1373cjfs41v0m3")
#:tests? #f)) ; tests require old version of ghc-hunit (0.9)
(native-inputs `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
("ghc-puremd5" ,ghc-puremd5)
@ -240,7 +240,7 @@ that hides the C implementation.")
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("2" "0xas0nbq9bfdzlj6k565ibizv1cqvzfzsdj6q9pdiiwyxqblqc3m")
("4" "0qb2wasfc4dpf6f9ahvhlv8njb3p3p9iwblg4032ssi95cg85718")
#:tests? #f)) ; tests require old version of ghc-hunit (0.9)
(native-inputs `(("ghc-base16-bytestring" ,ghc-base16-bytestring)
("ghc-sha" ,ghc-sha)
@ -274,7 +274,7 @@ the C implementation.")
(build-system haskell-build-system)
(arguments
`(#:cabal-revision
("1" "19birnmwga1yh82l4jqc3fygqkqcf5y8dlldnxfswngkzc3rvwp3")
("3" "1arhz4y792kx439s2zv9x291gvvl2zxcfx9sq0nxsjlz7c3hpyp1")
#:tests? #f)) ; tests require old version of ghc-hunit (0.9)
(inputs
`(("ghc-base16-bytestring" ,ghc-base16-bytestring)))
@ -358,7 +358,7 @@ are implemented as FFI bindings to efficient code from zlib.")
(define-public ghc-entropy
(package
(name "ghc-entropy")
(version "0.4.1.4")
(version "0.4.1.5")
(source
(origin
(method url-fetch)
@ -366,7 +366,7 @@ are implemented as FFI bindings to efficient code from zlib.")
"entropy-" version "/"
"entropy-" version ".tar.gz"))
(sha256
(base32 "1fgf47l9klwn1xssbcbq6by651vikd8hlfxhiwd5bqzxr1jnlgrf"))))
(base32 "0szf8hi1pi8g0kxnkcymh65gk1b0niyl1nnkckzdqyar87qal0jm"))))
(build-system haskell-build-system)
(home-page "https://github.com/TomMD/entropy")
(synopsis "Provides platform independent entropy source for Haskell")
@ -780,7 +780,7 @@ extensions.")
(define-public ghc-hsopenssl
(package
(name "ghc-hsopenssl")
(version "0.11.4.15")
(version "0.11.4.17")
(source
(origin
(method url-fetch)
@ -788,14 +788,11 @@ extensions.")
"HsOpenSSL/HsOpenSSL-" version ".tar.gz"))
(sha256
(base32
"0idmak6d8mpbxphyq9hkxkmby2wnzhc1phywlgm0zw6q47pwxgff"))))
"0qivl9clmybfglwxqp2sq308rv4ia4rhwshcsc8b029bvpp0mpsi"))))
(build-system haskell-build-system)
(inputs
`(("ghc-network" ,ghc-network)
("openssl" ,openssl)))
(arguments
`(#:cabal-revision
("1" "0bkcw2pjfgv1bhgkrpncvwq9czfr7cr4ak14n0v8c2y33i33wk5z")))
(home-page "https://github.com/vshabanov/HsOpenSSL")
(synopsis "Partial OpenSSL binding for Haskell")
(description "HsOpenSSL is an OpenSSL binding for Haskell. It can
@ -811,7 +808,7 @@ implementation of SSL.")
(define-public ghc-openssl-streams
(package
(name "ghc-openssl-streams")
(version "1.2.1.3")
(version "1.2.2.0")
(source
(origin
(method url-fetch)
@ -820,7 +817,7 @@ implementation of SSL.")
version ".tar.gz"))
(sha256
(base32
"0pwghr7ygv59k572xsj1j97rilkbjz66qaiyj0ra2wfg6pl70wfw"))))
"0rplym6ayydkpr7x9mw3l13p0vzzfzzxw244d7sd3jcvaxpv0rmr"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hsopenssl" ,ghc-hsopenssl)
@ -830,9 +827,6 @@ implementation of SSL.")
`(("ghc-hunit" ,ghc-hunit)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
(arguments
`(#:cabal-revision
("2" "1004kgdryflpkp19dv4ikilhcn0xbfc5dsp6v3ib34580pcfj7wy")))
(home-page "http://hackage.haskell.org/package/openssl-streams")
(synopsis "OpenSSL network support for io-streams")
(description "This library contains io-streams routines for secure

View File

@ -39,7 +39,7 @@
(define-public ghc-tagsoup
(package
(name "ghc-tagsoup")
(version "0.14.6")
(version "0.14.8")
(source
(origin
(method url-fetch)
@ -47,7 +47,7 @@
"tagsoup-" version ".tar.gz"))
(sha256
(base32
"1yv3dbyb0i1yqm796jgc4jj5kxkla1sxb3b2klw5ks182kdx8kjb"))))
"1m9sx6gr9y9yxvkmcap8xsks8cnhznvma1mrfl39zljkv005azms"))))
(build-system haskell-build-system)
(native-inputs
`(("ghc-quickcheck" ,ghc-quickcheck)))
@ -95,7 +95,7 @@ for screen-scraping.")
(define-public ghc-httpd-shed
(package
(name "ghc-httpd-shed")
(version "0.4.0.3")
(version "0.4.1.1")
(source
(origin
(method url-fetch)
@ -103,10 +103,11 @@ for screen-scraping.")
"httpd-shed-" version ".tar.gz"))
(sha256
(base32
"064jy1mqhnf1hvq6s04wlhmp916rd522x58djb9qixv13vc8gzxh"))))
"19dgdimpzr7pxk7pqvyin6j87gmvnf0rm35gzhmna8qr835wy3sr"))))
(build-system haskell-build-system)
(inputs
`(("ghc-network-uri" ,ghc-network-uri)
`(("ghc-network-bsd" ,ghc-network-bsd)
("ghc-network-uri" ,ghc-network-uri)
("ghc-network" ,ghc-network)))
(home-page "https://hackage.haskell.org/package/httpd-shed")
(synopsis "Simple web-server with an interact style API")
@ -146,7 +147,7 @@ both client and server code).")
(define-public ghc-http
(package
(name "ghc-http")
(version "4000.3.12")
(version "4000.3.14")
(outputs '("out" "doc"))
(source
(origin
@ -155,7 +156,7 @@ both client and server code).")
"HTTP-" version ".tar.gz"))
(sha256
(base32
"140r6qy1ay25piv0z3hih11zhigyi08nkwc32097j43pjff6mzx3"))))
"0yv8mbjicpl7l2017c4dhm49117lblgwpy1llv368wci1vrxf0m6"))))
(build-system haskell-build-system)
(native-inputs
`(("ghc-httpd-shed" ,ghc-httpd-shed)
@ -185,7 +186,7 @@ responses coming back.")
(define-public ghc-http-client
(package
(name "ghc-http-client")
(version "0.5.13.1")
(version "0.6.4")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -193,7 +194,7 @@ responses coming back.")
version ".tar.gz"))
(sha256
(base32
"0szwbgvkkdz56lgi91armkagmb7nnfwbpp4j7cm9zhmffv3ba8g1"))))
"1n9rnbp8lwkd4whi2anniywi4y1bn9kx6nzfigfvz28d7pn7i4in"))))
(build-system haskell-build-system)
;; Tests require access to the web.
(arguments `(#:tests? #f))
@ -285,7 +286,7 @@ Date in Haskell.")
(define-public ghc-http2
(package
(name "ghc-http2")
(version "1.6.3")
(version "1.6.5")
(source
(origin
(method url-fetch)
@ -294,14 +295,14 @@ Date in Haskell.")
"http2-" version ".tar.gz"))
(sha256
(base32
"0hww0rfsv6lqx62qzycbcqy5q6rh9k09qkyjkdm5m1sp1z50wqk1"))))
"1vlmy8vnp6ml2n2pr11aa5fzigldsscgzmibrni64ykgfvpd3sqn"))))
(build-system haskell-build-system)
(inputs
`(("ghc-bytestring-builder" ,ghc-bytestring-builder)
("ghc-case-insensitive" ,ghc-case-insensitive)
`(("ghc-case-insensitive" ,ghc-case-insensitive)
("ghc-network-byte-order" ,ghc-network-byte-order)
("ghc-aeson" ,ghc-aeson)
("ghc-aeson-pretty" ,ghc-aeson-pretty)
("ghc-hex" ,ghc-hex)
("ghc-base16-bytestring" ,ghc-base16-bytestring)
("ghc-unordered-containers" ,ghc-unordered-containers)
("ghc-vector" ,ghc-vector)
("ghc-word8" ,ghc-word8)
@ -320,7 +321,7 @@ and HPACK. Currently HTTP/2 16 framing and HPACK 10 is supported.")
(define-public ghc-http-conduit
(package
(name "ghc-http-conduit")
(version "2.3.2")
(version "2.3.7.3")
(source
(origin
(method url-fetch)
@ -329,7 +330,7 @@ and HPACK. Currently HTTP/2 16 framing and HPACK 10 is supported.")
version ".tar.gz"))
(sha256
(base32
"1iay4hr0mj8brkxvgkv1liqa8irl9axfc3qhn8qsvcyq4n1l95km"))))
"00rshi1y0h8y4rvsnnad0bppxgpvp40sk7lw1kxmdwy8pi8xrvbs"))))
(build-system haskell-build-system)
;; FIXME: `httpLbs TLS` in test-suite `test` fails with
;; ConnectionFailure getProtocolByName: does not exist (no such protocol
@ -379,7 +380,7 @@ which allow you to avoid direct usage of conduits.")
(define-public ghc-wai
(package
(name "ghc-wai")
(version "3.2.1.2")
(version "3.2.2.1")
(source
(origin
(method url-fetch)
@ -389,7 +390,7 @@ which allow you to avoid direct usage of conduits.")
".tar.gz"))
(sha256
(base32
"0jr3b2789wa4m6mxkz12ynz4lfsqmgbrcy0am8karyqr3x3528r8"))))
"058871axlq6r0gcqxbjw37w57df9xbv81dmz99b1zq59wf329xzy"))))
(build-system haskell-build-system)
(inputs
`(("ghc-bytestring-builder" ,ghc-bytestring-builder)
@ -413,7 +414,7 @@ communication between web applications and web servers.")
(define-public ghc-wai-logger
(package
(name "ghc-wai-logger")
(version "2.3.2")
(version "2.3.5")
(source
(origin
(method url-fetch)
@ -423,7 +424,7 @@ communication between web applications and web servers.")
".tar.gz"))
(sha256
(base32
"0w5ldq4gplc16zzk5ikmbbjw79imaqvw8p6lylaw3hlsbn3zzm4d"))))
"05gbipyw0672irynsc3wqvvgzqixhmq69ay2mxh2phb734r8bcmm"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: Tests cannot find libraries exported
; by propagated-inputs.
@ -446,7 +447,7 @@ communication between web applications and web servers.")
(define-public ghc-wai-extra
(package
(name "ghc-wai-extra")
(version "3.0.24.2")
(version "3.0.28")
(source
(origin
(method url-fetch)
@ -456,13 +457,12 @@ communication between web applications and web servers.")
".tar.gz"))
(sha256
(base32
"07gcgq59dki5drkjci9ka34xjsy3bqilbsx0lsc4905w9jlyfbci"))))
"0iky7k4kirngvk1p2nz19zgzffb5hppfaxdjan80v06ikc8w1wm7"))))
(build-system haskell-build-system)
(inputs
`(("ghc-ansi-terminal" ,ghc-ansi-terminal)
("ghc-base64-bytestring" ,ghc-base64-bytestring)
("ghc-cookie" ,ghc-cookie)
("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-network" ,ghc-network)
("ghc-lifted-base" ,ghc-lifted-base)
("ghc-streaming-commons" ,ghc-streaming-commons)
@ -476,6 +476,7 @@ communication between web applications and web servers.")
("ghc-void" ,ghc-void)
("ghc-wai" ,ghc-wai)
("ghc-http-types" ,ghc-http-types)
("ghc-http2" ,ghc-http2)
("ghc-case-insensitive" ,ghc-case-insensitive)
("ghc-data-default-class" ,ghc-data-default-class)
("ghc-unix-compat" ,ghc-unix-compat)
@ -519,7 +520,7 @@ Haskell's Web Application Interface (WAI).")
(define-public ghc-bsb-http-chunked
(package
(name "ghc-bsb-http-chunked")
(version "0.0.0.2")
(version "0.0.0.4")
(source
(origin
(method url-fetch)
@ -529,10 +530,21 @@ Haskell's Web Application Interface (WAI).")
version ".tar.gz"))
(sha256
(base32
"1x6m6xkrcw6jiaig1bb2wb5pqyw31x8xr9k9pxgq2g3ng44pbjr8"))))
"0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql"))))
(build-system haskell-build-system)
(inputs
`(("ghc-bytestring-builder" ,ghc-bytestring-builder)))
(arguments
`(;; XXX: As of 0.0.4, one property test ("Identical output as Blaze")
;; fails on i686-linux.
#:tests? ,(not (string-prefix? "i686" (or (%current-target-system)
(%current-system))))))
(native-inputs
`(("ghc-attoparsec" ,ghc-attoparsec)
("ghc-blaze-builder" ,ghc-blaze-builder)
("ghc-hedgehog" ,ghc-hedgehog)
("ghc-tasty" ,ghc-tasty)
("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
("ghc-tasty-hunit" ,ghc-tasty-hunit)
("ghc-doctest" ,ghc-doctest)))
(home-page "http://github.com/sjakobi/bsb-http-chunked")
(synopsis "Chunked HTTP transfer encoding for bytestring builders")
(description "This Haskell library contains functions for encoding
@ -543,7 +555,7 @@ transfers.")
(define-public ghc-warp
(package
(name "ghc-warp")
(version "3.2.27")
(version "3.2.28")
(source
(origin
(method url-fetch)
@ -551,7 +563,7 @@ transfers.")
"warp-" version "/" "warp-" version
".tar.gz"))
(sha256
(base32 "0p2w88q0zd55ms20qylipbi0qzbf324i9r8b9qqxyds5yc1anq76"))))
(base32 "0w2w3aiccpb2f8zssqiszcxzqdysihqi5xply23lwif5arz4saw7"))))
(build-system haskell-build-system)
(inputs
`(("ghc-async" ,ghc-async)
@ -563,6 +575,7 @@ transfers.")
("ghc-iproute" ,ghc-iproute)
("ghc-network" ,ghc-network)
("ghc-streaming-commons" ,ghc-streaming-commons)
("ghc-time-manager" ,ghc-time-manager)
("ghc-unix-compat" ,ghc-unix-compat)
("ghc-vault" ,ghc-vault)
("ghc-wai" ,ghc-wai)
@ -589,7 +602,7 @@ based WAI (Web Application Interface in Haskell).")
(define-public ghc-tls-session-manager
(package
(name "ghc-tls-session-manager")
(version "0.0.0.2")
(version "0.0.3")
(source
(origin
(method url-fetch)
@ -599,7 +612,7 @@ based WAI (Web Application Interface in Haskell).")
version ".tar.gz"))
(sha256
(base32
"0rvmln545vghsx8zhxp44f0f6pzma8cylarmfhhysy55ipywr1n5"))))
"0k57flqp2b4bipafiyfipnqmdqv04ky39yr4s4s9sx577zz2j2yi"))))
(build-system haskell-build-system)
(inputs
`(("ghc-auto-update" ,ghc-auto-update)
@ -615,7 +628,7 @@ limitation, automatic pruning, energy saving and replay resistance.")
(define-public ghc-warp-tls
(package
(name "ghc-warp-tls")
(version "3.2.4.3")
(version "3.2.8")
(source
(origin
(method url-fetch)
@ -624,7 +637,7 @@ limitation, automatic pruning, energy saving and replay resistance.")
"warp-tls-" version ".tar.gz"))
(sha256
(base32
"17gj295fr98l7mkz2gdz6kahdnmja0sql3kvy2zab6q168g53kc4"))))
"1z5jzl40x1gp249fk8h51gkw6m3hzxchm2bp3kbpqdgmw8r5im8y"))))
(build-system haskell-build-system)
(inputs
`(("ghc-cryptonite" ,ghc-cryptonite)
@ -699,7 +712,7 @@ Haskell.")
(define-public ghc-mime-types
(package
(name "ghc-mime-types")
(version "0.1.0.8")
(version "0.1.0.9")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -707,7 +720,7 @@ Haskell.")
version ".tar.gz"))
(sha256
(base32
"14ccl2842ya17zyj0bpc7vzklbyqvvydpbypn69h2fmhgji192x8"))))
"1lkipa4v73z3l5lqs6sdhl898iq41kyxv2jb9agsajzgd58l6cha"))))
(build-system haskell-build-system)
(home-page "https://github.com/yesodweb/wai")
(synopsis "Basic MIME type handling types and functions")
@ -741,7 +754,7 @@ documents.")
(define-public ghc-blaze-html
(package
(name "ghc-blaze-html")
(version "0.9.1.1")
(version "0.9.1.2")
(source
(origin
(method url-fetch)
@ -750,7 +763,7 @@ documents.")
version ".tar.gz"))
(sha256
(base32
"06xv8fqhclfjj61z74cgggn4lmx1s7diakxg84mnkgfvk11983pa"))))
"0k1r1hddjgqighazcazxrx6xfhvy2gm8il8l82ainv3cai13yl30"))))
(build-system haskell-build-system)
(inputs
`(("ghc-blaze-builder" ,ghc-blaze-builder)
@ -769,7 +782,7 @@ documents.")
(define-public ghc-aeson
(package
(name "ghc-aeson")
(version "1.3.1.1")
(version "1.4.5.0")
(source
(origin
(method url-fetch)
@ -779,7 +792,7 @@ documents.")
".tar.gz"))
(sha256
(base32
"1i1ig840fvsb1lnklcv32zsc0zscirc301lw1mpfxhc6h4pk0gw4"))))
"1jhabz1lbbv6yqxqiybifi86cb5xlsadrn368n5dd0wzzc7ja4iz"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
(inputs
@ -815,7 +828,7 @@ naming: in Greek mythology, Aeson was the father of Jason.)")
(define-public ghc-aeson-pretty
(package
(name "ghc-aeson-pretty")
(version "0.8.7")
(version "0.8.8")
(source (origin
(method url-fetch)
(uri (string-append
@ -823,7 +836,7 @@ naming: in Greek mythology, Aeson was the father of Jason.)")
version ".tar.gz"))
(sha256
(base32
"1m977gs0s9gf3lwzlbs5y7bl6ansc5pywmn2qjk09l5bwg2yrhf1"))))
"09n7gs91y1fbw6gjszrd2na3isnvk3y5rsi90lzjrwywnqfadkl1"))))
(build-system haskell-build-system)
(inputs
`(("ghc-aeson" ,ghc-aeson)
@ -1011,7 +1024,7 @@ avoid any issues with characters.")
(define-public ghc-yesod-core
(package
(name "ghc-yesod-core")
(version "1.6.6")
(version "1.6.16.1")
(source
(origin
(method url-fetch)
@ -1020,7 +1033,7 @@ avoid any issues with characters.")
"yesod-core-" version ".tar.gz"))
(sha256
(base32
"0xahf6m5c7mkl74p0gimy4wb5w4s3lh92wwxmk517fbq666c92kb"))))
"0a0yv7wkwvb0n6iia532y9nzrirgnm09pjc8hpm0lx4ff609pgd2"))))
(build-system haskell-build-system)
(inputs `(("ghc-wai" ,ghc-wai)
("ghc-extra" ,ghc-extra)
@ -1080,7 +1093,7 @@ functions, widgets, etc.")
(define-public ghc-yesod-persistent
(package
(name "ghc-yesod-persistent")
(version "1.6.0")
(version "1.6.0.2")
(source
(origin
(method url-fetch)
@ -1089,7 +1102,7 @@ functions, widgets, etc.")
"yesod-persistent-" version ".tar.gz"))
(sha256
(base32
"1gd59xf7b6v3cald58mzwnfbdzjr49cz60rm4wc5w9pvfx12pgj2"))))
"17adw0aaj29ia7ii3jka301442860b5wvfrms079q973gzahz5fd"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH.
(inputs `(("ghc-yesod-core" ,ghc-yesod-core)
@ -1112,7 +1125,7 @@ from Yesod.")
(define-public ghc-yesod-form
(package
(name "ghc-yesod-form")
(version "1.6.2")
(version "1.6.7")
(source
(origin
(method url-fetch)
@ -1122,7 +1135,7 @@ from Yesod.")
".tar.gz"))
(sha256
(base32
"1p1x1hffvarplc82ykdk7rm6p5isqgqf78bvxzpfhncxs4kwx057"))))
"0mny71dyp6cp5akyp5wvmrhmip5rkqi8ibdn3lipvmajx9h58r5d"))))
(build-system haskell-build-system)
(inputs
`(("ghc-yesod-core" ,ghc-yesod-core)
@ -1198,7 +1211,7 @@ whereas most of the core code lives in @code{ghc-yesod-core}.")
(define-public ghc-hxt-charproperties
(package
(name "ghc-hxt-charproperties")
(version "9.2.0.1")
(version "9.4.0.0")
(source
(origin
(method url-fetch)
@ -1207,7 +1220,7 @@ whereas most of the core code lives in @code{ghc-yesod-core}.")
version ".tar.gz"))
(sha256
(base32
"1mml8wglvagqq891rchgli6r8rnkwrqhgsxfl6kb5403pzb18rp4"))))
"1bk88hj2pqlvcnyfncqyb9j7w9vvdxcq3cgr0w2l09c0abas23pm"))))
(build-system haskell-build-system)
(home-page "https://github.com/UweSchmidt/hxt")
(synopsis "Character properties and classes for XML and Unicode")
@ -1273,7 +1286,7 @@ derivations of regular expressions.")
(define-public ghc-hxt
(package
(name "ghc-hxt")
(version "9.3.1.16")
(version "9.3.1.18")
(source
(origin
(method url-fetch)
@ -1283,7 +1296,7 @@ derivations of regular expressions.")
".tar.gz"))
(sha256
(base32
"1qq3ykgn355rx242xjcbqqksgvwr6k2fdj5phw4iv28qqxff6m8d"))))
"0836k65px3w9c5h1h2bmzq5a7mp6ajxwvfg3pfr2kbxwkgc0j63j"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hxt-charproperties" ,ghc-hxt-charproperties)
@ -1364,7 +1377,7 @@ deal with the result.")
(define-public ghc-snap-core
(package
(name "ghc-snap-core")
(version "1.0.3.2")
(version "1.0.4.0")
(source
(origin
(method url-fetch)
@ -1372,7 +1385,7 @@ deal with the result.")
"snap-core/snap-core-" version ".tar.gz"))
(sha256
(base32
"136q7l4hd5yn5hb507q1ziqx124ma1lkzh5dx0n150p8dx3rhhsc"))))
"0dklxgrbqhnb6bc4ic358g4fyj11ywmjrkxxhqcjmci2hhpn00mr"))))
(build-system haskell-build-system)
(inputs
`(("ghc-old-locale" ,ghc-old-locale)
@ -1400,9 +1413,6 @@ deal with the result.")
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
("ghc-zlib" ,ghc-zlib)))
(arguments
`(#:cabal-revision
("3" "0wlhn33r7c9g7j23y006ddq9d87lkmianvvfrbl8jd8mvjvj2gfa")))
(home-page "http://snapframework.com/")
(synopsis "Haskell Web Framework (core interfaces and types)")
(description "Snap is a simple and fast web development framework
@ -1414,7 +1424,7 @@ contains the core definitions and types for the Snap framework.")
(define-public ghc-snap-server
(package
(name "ghc-snap-server")
(version "1.1.0.0")
(version "1.1.1.1")
(source
(origin
(method url-fetch)
@ -1422,7 +1432,7 @@ contains the core definitions and types for the Snap framework.")
"snap-server/snap-server-" version ".tar.gz"))
(sha256
(base32
"0vvw9n8xs272qdlrf3dxhnva41zh3awi7pf022rrjj75lj8a77i4"))))
"0lw475wp0lnrbgc3jcfif3qjjc3pmrh2k74d8cgpnc1304g6a2s5"))))
(build-system haskell-build-system)
(inputs
`(("ghc-attoparsec" ,ghc-attoparsec)
@ -1453,7 +1463,7 @@ contains the core definitions and types for the Snap framework.")
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
(arguments
`(#:cabal-revision
("3" "0a9d3nqb5rvgm25nak68lp6yj9m6cwhbgdbg5l7ib5i2czcg7yjh")))
("1" "094b7ll47lxd4lvr6kd59jyw0vz686gw5cx16w758d6fli0cy3x3")))
(home-page "http://snapframework.com/")
(synopsis "Web server for the Snap Framework")
(description "Snap is a simple and fast web development framework

File diff suppressed because it is too large Load Diff

View File

@ -604,7 +604,7 @@ interactive environment for the functional language Haskell.")
(file-pattern ".*\\.conf\\.d$")
(file-type 'directory))))))
(define-public ghc-8 ghc-8.4)
(define-public ghc-8 ghc-8.6)
(define-public ghc ghc-8)

View File

@ -70,8 +70,8 @@
("ghc-fsnotify" ,ghc-fsnotify)
("ghc-ieee754" ,ghc-ieee754)
("ghc-libffi" ,ghc-libffi)
("ghc-megaparsec" ,ghc-megaparsec-7)
("ghc-network" ,ghc-network-2.8)
("ghc-megaparsec" ,ghc-megaparsec)
("ghc-network" ,ghc-network)
("ghc-optparse-applicative" ,ghc-optparse-applicative)
("ghc-regex-tdfa" ,ghc-regex-tdfa)
("ghc-safe" ,ghc-safe)
@ -90,6 +90,11 @@
"-fFFI" "-fGMP")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'update-constraints
(lambda _
(substitute* "idris.cabal"
(("ansi-terminal < 0\\.9") "ansi-terminal < 0.10"))
#t))
(add-before 'configure 'set-cc-command
(lambda _
(setenv "CC" "gcc")

View File

@ -184,31 +184,31 @@ defconfig. Return the appropriate make target if applicable, otherwise return
(define deblob-scripts-5.3
(linux-libre-deblob-scripts
"5.3.6"
"5.3.11"
(base32 "15n09zq38d69y1wl28s3nasf3377qp2yil5b887zpqrm00dif7i4")
(base32 "0nrimraf46nf6y1hwkg29fyl0a83wnj0mwq54ggxvffn9gk5h9pa")))
(base32 "1xk3gzgnl9m29avka32zkggl36sdxyvps40hr12hjy42l1ysfshm")))
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
"4.19.79"
"4.19.84"
(base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy")
(base32 "1fyacg28aym6virxyn7wk99qil2fjbks3iwm7p3hxy51pccn34za")))
(base32 "1s89hmy4ihd65by2p1xxkxj476f6c9s5g9r9yvqncb50xlhilk50")))
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
"4.14.149"
"4.14.154"
(base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6")
(base32 "0x9nd3hnyrm753cbgdqmy92mbnyw86w64g4hvyibnkpq5n7s3z9n")))
(base32 "1pcsfzpcv3bs30iyhwpk1x64r0gyv7wi22spnq6avzj1ayva10kw")))
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
"4.9.196"
"4.9.201"
(base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg")
(base32 "0is8gn4qdd7h5l6lacvhqdch26lmrbgxfm8ab7fx8n85ha7y358w")))
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
"4.4.196"
"4.4.201"
(base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw")
(base32 "12ac4g3ky8yma8sylmxvvysqvd4hnaqjiwmxrxb6wlxggfd7zkbx")))
@ -352,42 +352,42 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
"linux-" version ".tar.xz"))
(sha256 hash)))
(define-public linux-libre-5.3-version "5.3.11")
(define-public linux-libre-5.3-version "5.3.12")
(define-public linux-libre-5.3-pristine-source
(let ((version linux-libre-5.3-version)
(hash (base32 "1dxfh0l4inpjd17pyxfsskjsphs43r8lg6nhhr3y4whxdna5cwbf")))
(hash (base32 "184pmjyqh4bkrc3vj65zn6xnljzv9d1x7c1z0hlgj6fakpwgdgsk")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.3)))
(define-public linux-libre-4.19-version "4.19.84")
(define-public linux-libre-4.19-version "4.19.85")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "0q06mhz170x1lkx6c6qdh82rcnsj03q6f2m28aqhmc4wc694m2w6")))
(hash (base32 "1dsgbys73jga5h0a9icgif6qbi31g84315zlcdid9bzf1abkbx3v")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.154")
(define-public linux-libre-4.14-version "4.14.155")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "00q662s8mgnzqfgk5gkzqfv9ws3vryf28blbq1zxcy4s6wj4mpl6")))
(hash (base32 "10g4493ldc398qza304z5yz8qdp93w7a2bs5h5dwk0bbamwikmkp")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.201")
(define-public linux-libre-4.9-version "4.9.202")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "125xmh5h1zmfniidpjljny53qkl4phpxaali69i66lajscxx8grq")))
(hash (base32 "1gsfbvsswpwj6r56ynb6mmx7dc8hp9yhi7sfr0hhii0gs4ffq241")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.201")
(define-public linux-libre-4.4-version "4.4.202")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
(hash (base32 "120kci4kmc48zcw16lhxmh71kaxm9ac5qxik36q3a20czg28b2m7")))
(hash (base32 "0adrmps7izfqy0yn4440isxvigslwzk1a375r9kh86idwbmcxb7x")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@ -679,23 +679,26 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
#t))
(replace 'configure
(lambda* (#:key inputs native-inputs target #:allow-other-keys)
;; Unset CROSS_CPATH to make sure that cross-libc is not
;; found. Otherwise, some of its header would conflict with the
;; one from linux (stdint.h and linux/types.h)
,@(if (%current-target-system)
'((unsetenv "CROSS_CPATH"))
'())
;; On AArch64 (at least), we need to remove glibc headers from CPATH
;; (they are still available as "system headers"), so that the kernel
;; can override uint64_t. See <https://bugs.gnu.org/37593>.
(setenv "CPATH"
(string-join
(remove (cut string-prefix? (assoc-ref inputs "libc") <>)
(string-split (getenv "CPATH") #\:))
":"))
(format #t "environment variable `CPATH' changed to `~a'~%"
(getenv "CPATH"))
;; On AArch64 (at least), we need to remove glibc headers from
;; CPATH (they are still available as "system headers"), so that
;; the kernel can override uint64_t. See
;; <https://bugs.gnu.org/37593>. This is also true when
;; cross-compiling, except in that case, cross-libc must be
;; removed from CROSS_CPATH.
(let ((var ,(if (%current-target-system)
"CROSS_CPATH"
"CPATH"))
(libc ,(if (%current-target-system)
"cross-libc"
"libc")))
(setenv var
(string-join
(remove
(cut string-prefix? (assoc-ref inputs libc) <>)
(string-split (getenv var) #\:))
":"))
(format #t "environment variable `~a' changed to `~a'~%"
var (getenv var)))
;; Avoid introducing timestamps
(setenv "KCONFIG_NOTIMESTAMP" "1")
@ -4783,7 +4786,7 @@ of flash storage.")
(define-public libseccomp
(package
(name "libseccomp")
(version "2.4.1")
(version "2.4.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/seccomp/libseccomp/"
@ -4791,7 +4794,7 @@ of flash storage.")
"/libseccomp-" version ".tar.gz"))
(sha256
(base32
"1s06h2cgk0xxwmhwj72z33bllafc1xqnxzk2yyra2rmg959778qw"))))
"0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)))

View File

@ -11,6 +11,8 @@
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Arm Ltd <David.Truby@arm.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,7 +39,9 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages gcc)
#:use-module (gnu packages bootstrap) ;glibc-dynamic-linker
#:use-module (gnu packages compression)
@ -202,6 +206,7 @@ compiler. In LLVM this library is called \"compiler-rt\".")
(lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc"))
(compiler-rt (assoc-ref inputs "clang-runtime"))
(gcc (assoc-ref inputs "gcc"))
(version
(string->number
,(version-major (package-version clang-runtime)))))
@ -218,6 +223,12 @@ compiler. In LLVM this library is called \"compiler-rt\".")
(("(^[[:blank:]]+LibDir = ).*" _ declaration)
(string-append declaration "\"" libc "/lib\";\n"))
;; Make clang look for libstdc++ in the right
;; location.
(("LibStdCXXIncludePathCandidates\\[\\] = \\{")
(string-append
"LibStdCXXIncludePathCandidates[] = { \"" gcc "/include/c++\","))
;; Make sure libc's libdir is on the search path, to
;; allow crt1.o & co. to be found.
(("@GLIBC_LIBDIR@")
@ -290,6 +301,51 @@ project includes the Clang front end, the Clang static analyzer, and several
code analysis tools.")
(license license:ncsa)))
(define (make-clang-toolchain clang)
(package
(name (string-append (package-name clang) "-toolchain"))
(version (package-version clang))
(source #f)
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build union))
#:builder (begin
(use-modules (ice-9 match)
(srfi srfi-26)
(guix build union))
(let ((out (assoc-ref %outputs "out")))
(match %build-inputs
(((names . directories) ...)
(union-build out directories)))
(union-build (assoc-ref %outputs "debug")
(list (assoc-ref %build-inputs
"libc-debug")))
(union-build (assoc-ref %outputs "static")
(list (assoc-ref %build-inputs
"libc-static")))
#t))))
(native-search-paths (package-native-search-paths clang))
(search-paths (package-search-paths clang))
(license (package-license clang))
(home-page "https://clang.llvm.org")
(synopsis "Complete Clang toolchain for C/C++ development")
(description "This package provides a complete Clang toolchain for C/C++
development to be installed in user profiles. This includes Clang, as well as
libc (headers and binaries, plus debugging symbols in the @code{debug}
output), and Binutils.")
(outputs '("out" "debug" "static"))
(inputs `(("clang" ,clang)
("ld-wrapper" ,(car (assoc-ref (%final-inputs) "ld-wrapper")))
("binutils" ,binutils)
("libc" ,glibc)
("libc-debug" ,glibc "debug")
("libc-static" ,glibc "static")))))
(define-public libcxx
(package
(name "libcxx")
@ -399,6 +455,34 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
"0svk1f70hvpwrjp6x5i9kqwrqwxnmcrw5s7f4cxyd100mdd12k08"
#:patches '("clang-7.0-libc-search-path.patch")))
(define-public clang-toolchain
(make-clang-toolchain clang))
(define-public llvm-9
(package
(inherit llvm)
(version "9.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://llvm.org/releases/"
version "/llvm-" version ".src.tar.xz"))
(sha256
(base32
"117ymdz1by2nkfq1c2p9m4050dp848kbjbiv6nsfj8hzy9f5d86n"))))
(license license:asl2.0)))
(define-public clang-runtime-9
(clang-runtime-from-llvm
llvm-9
"03ni43lbkp63lr3p6sc94dphqmvnz5av5mml0xmk930xvnbcvr2n"))
(define-public clang-9
(clang-from-llvm llvm-9 clang-runtime-9
"0426ma80i41qsgzm1qdz81mjskck426diygxi2k5vji2gkpixa3v"))
(define-public clang-toolchain-9
(make-clang-toolchain clang-9))
(define-public llvm-7
(package
(inherit llvm)
@ -421,6 +505,9 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
"067lwggnbg0w1dfrps790r5l6k8n5zwhlsw7zb6zvmfpwpfn4nx4"
#:patches '("clang-7.0-libc-search-path.patch")))
(define-public clang-toolchain-7
(make-clang-toolchain clang-7))
(define-public llvm-6
(package
(inherit llvm)
@ -443,6 +530,9 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
"0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w"
#:patches '("clang-6.0-libc-search-path.patch")))
(define-public clang-toolchain-6
(make-clang-toolchain clang-6))
;; Libcxx files specifically used by PySide2.
(define-public libcxx-6
(package

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
@ -40,13 +40,14 @@
(name "hoedown")
(version "3.0.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/hoedown/hoedown/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/hoedown/hoedown.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0859dc2xjasd6kgkshi8mb20kbyw5sql1ln0hw3bfaf33qdh5dh1"))))
"1kr3hxjg2dgmwy9738qgj3sh3f5cygx0zxskkfhrg7x19bq9yd26"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
@ -195,15 +196,16 @@ implementation.
(define-public cmark
(package
(name "cmark")
(version "0.28.3")
(version "0.29.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/jgm/cmark/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/jgm/cmark.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1z71pacl3ni1286c206pl8lazbcd32ackivsg3zibdf1sf2qdjdc"))))
"0r7jpqhgnssq444i8pwji2g36058vfzwkl70wbiwj13h4w5rfc8f"))))
(build-system cmake-build-system)
(arguments
'(#:test-target "test"))

View File

@ -32,6 +32,7 @@
;;; Copyright © 2018 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -5227,3 +5228,42 @@ fields of knowledge.")
(home-page "http://speedcrunch.org/")
(license license:gpl2+)))
(define-public minisat
;; This is the last commit which is available upstream, no
;; release happened since 2010.
(let ((commit "37dc6c67e2af26379d88ce349eb9c4c6160e8543")
(revision "1"))
(package
(name "minisat")
(version (string-append "2.2.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/niklasso/minisat.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"091hf3qkm197s5r7xcr3m07xsdwyz2rqk1hc9kj0hn13imz09irq"))
(patches
(search-patches "minisat-friend-declaration.patch"
"minisat-install.patch"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "prefix=" %output))
#:tests? #f ;no check target
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(inputs
`(("zlib:static" ,zlib "static")
("zlib" ,zlib)))
(synopsis
"Small, yet efficient, SAT solver")
(description
"MiniSat is a minimalistic, open-source SAT solver, developed to help
researchers and developers alike to get started on SAT.")
(home-page
"http://minisat.se/MiniSat.html")
(license license:expat))))

View File

@ -263,7 +263,8 @@ access to servers running the Discord protocol.")
version ".tar.xz"))
(sha256
(base32
"064nq151nzsljv97dmkifyl162d2738vbgvm1phx7yv04pjvk4kp"))))
"064nq151nzsljv97dmkifyl162d2738vbgvm1phx7yv04pjvk4kp"))
(patches (search-patches "hexchat-crash-exit.patch"))))
(build-system meson-build-system)
(native-inputs `(("gettext" ,gettext-minimal)
("perl" ,perl)

View File

@ -52,7 +52,7 @@
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
(define-public hwloc
(define-public hwloc-1
;; Note: For now we keep 1.x as the default because many packages have yet
;; to migrate to 2.0.
(package
@ -134,7 +134,7 @@ bind processes, and much more.")
(define-public hwloc-2
;; Note: 2.0 isn't the default yet, see above.
(package
(inherit hwloc)
(inherit hwloc-1)
(version "2.1.0")
(source (origin
(method url-fetch)
@ -146,9 +146,9 @@ bind processes, and much more.")
"0qh8s7pphz0m5cwb7liqmc17xzfs23xhz5wn24r6ikvjyx99fhhr"))))
;; libnuma is no longer needed.
(inputs (alist-delete "numactl" (package-inputs hwloc)))
(inputs (alist-delete "numactl" (package-inputs hwloc-1)))
(arguments
(substitute-keyword-arguments (package-arguments hwloc)
(substitute-keyword-arguments (package-arguments hwloc-1)
((#:phases phases)
`(modify-phases ,phases
(replace 'skip-linux-libnuma-test
@ -163,6 +163,10 @@ bind processes, and much more.")
(define-deprecated hwloc-2.0 'hwloc-2
hwloc-2)
(define-public hwloc
;; The latest stable series of hwloc.
hwloc-2)
(define-public openmpi
(package
(name "openmpi")
@ -192,7 +196,7 @@ bind processes, and much more.")
`(("psm2" ,psm2))
'())
,@(if (and (not (%current-target-system))
(member (%current-system) (package-supported-systems psm2)))
(member (%current-system) (package-supported-systems ucx)))
`(("ucx" ,ucx))
'())
("rdma-core" ,rdma-core)
@ -210,12 +214,6 @@ bind processes, and much more.")
"--with-hwloc=external"
"--with-libevent"
;; Make sure ./configure fails if one of these is
;; missing.
"--with-ucx"
"--with-psm"
"--with-psm2"
;; InfiniBand support
"--enable-openib-control-hdr-padding"
"--enable-openib-dynamic-sl"
@ -348,6 +346,15 @@ only provides @code{MPI_THREAD_FUNNELED}.")))
;; Allow oversubscription in case there are less physical cores available
;; in the build environment than the package wants while testing.
(setenv "OMPI_MCA_rmaps_base_mapping_policy" "core:OVERSUBSCRIBE")
;; UCX sometimes outputs uninteresting warnings such as:
;;
;; mpool.c:38 UCX WARN object 0x7ffff44fffc0 was not returned to mpool ucp_am_bufs
;;
;; These in turn leads to failures of test suites that capture and
;; compare stdout, such as that of 'hdf5-parallel-openmpi'. Thus, tell
;; UCX to not emit those warnings.
(setenv "UCX_LOG_LEVEL" "error")
#t))
(define-public intel-mpi-benchmarks

View File

@ -3804,7 +3804,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
(version "3.3")
(version "3.3.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3813,7 +3813,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (git-file-name name version))
(sha256
(base32
"15ckjwvp3xigjkzmp1ddzvlm4d0vlk9i1axyfxg3hr2sia84yxvi"))
"0r2xhhwv09v8ykgvh38fgpmpcmkra7lvhv7714xp7vb0wpcnh8l3"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.

View File

@ -32,6 +32,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module ((guix utils) #:select (target-64bit?))
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
@ -158,7 +159,11 @@ and they are executed on lists of files, hosts, users or other items.")
(string-append "--with-freeipmi=" (assoc-ref %build-inputs "freeipmi"))
(string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc"))
(string-append "--with-json=" (assoc-ref %build-inputs "json-c"))
(string-append "--with-munge=" (assoc-ref %build-inputs "munge")))
(string-append "--with-munge=" (assoc-ref %build-inputs "munge"))
;; 32-bit support is marked as deprecated and needs to be
;; explicitly enabled.
,@(if (target-64bit?) '() '("--enable-deprecated")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf

View File

@ -114,7 +114,7 @@ human.")
(define-public keepassxc
(package
(name "keepassxc")
(version "2.5.0")
(version "2.5.1")
(source
(origin
(method url-fetch)
@ -123,7 +123,7 @@ human.")
version "-src.tar.xz"))
(sha256
(base32
"10bq2934xqpjpr99wbjg2vwmi73fcq0419cb3v78n2kj5fbwwnb3"))))
"0c5g5hn2cr2m00xgpxg884ihy8gnn09kc487y1m9jywshn5jaczg"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DWITH_XC_ALL=YES"

View File

@ -1,19 +0,0 @@
commit 4c649a5a270aba15cc6a3913c3ad51a293047f40
Author: Rémi Lefèvre <rlefevre@gmail.com>
Date: Mon Sep 3 19:18:54 2018 +0200
update language-glsl maximum version
diff --git a/elm.cabal b/elm.cabal
index 48aa84f0..464fe9d5 100644
--- a/elm.cabal
+++ b/elm.cabal
@@ -246,7 +246,7 @@ Executable elm
http-client >= 0.5 && < 0.6,
http-client-tls >= 0.3 && < 0.4,
http-types >= 0.9 && < 1.0,
- language-glsl >= 0.0.2 && < 0.3,
+ language-glsl >= 0.0.2 && < 0.4,
logict,
mtl >= 2.2.1 && < 3,
network >= 2.4 && < 2.7,

View File

@ -0,0 +1,20 @@
The QuickCheck library swapped the order of the arguments of the 'cover'
function in version 2.12. Version 0.3.4 of the Diff library still uses
the old argument order. Swapping the argument order makes Diff work
with newer versions of QuickCheck.
See <https://github.com/commercialhaskell/stackage/issues/4289> for the
upstream bug report.
diff -ruN a/test/Test.hs b/test/Test.hs
--- a/test/Test.hs 2016-04-23 01:21:45.000000000 -0400
+++ b/test/Test.hs 2019-11-01 19:13:04.590770903 -0400
@@ -134,7 +134,7 @@
prop_ppDiffR (DiffInput le ri) =
let haskDiff=ppDiff $ getGroupedDiff le ri
utilDiff= unsafePerformIO (runDiff (unlines le) (unlines ri))
- in cover (haskDiff == utilDiff) 90 "exact match" $
+ in cover 90 (haskDiff == utilDiff) "exact match" $
classify (haskDiff == utilDiff) "exact match"
(div ((length haskDiff)*100) (length utilDiff) < 110) -- less than 10% bigger
where

View File

@ -0,0 +1,54 @@
This patch is taken from upstream. It fixes documentation generation.
The patch has been lightly adapted to apply to the release tarball, but
the commit message was left untouched, so it refers to some changes not
included in the patch.
From 0d9a81e20238a6b72f9f5c005f1f7e9cf05f6fb9 Mon Sep 17 00:00:00 2001
From: Alec Theriault <alec.theriault@gmail.com>
Date: Sat, 27 Oct 2018 10:05:04 -0700
Subject: [PATCH] Fix documentation in `haddock-api` (#957)
* Fix misplaced Haddocks in Haddock itself
Haddock should be able to generate documentation for 'haddock-api'
again.
* Make CI check that documentation can be built.
* Add back a doc that is OK
---
.travis.yml | 3 +++
haddock-api/src/Haddock/Backends/LaTeX.hs | 10 +++++-----
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/Haddock/Backends/LaTeX.hs b/src/Haddock/Backends/LaTeX.hs
index 4e0e6eba..613c6deb 100644
--- a/src/Haddock/Backends/LaTeX.hs
+++ b/src/Haddock/Backends/LaTeX.hs
@@ -243,8 +243,8 @@ ppDocGroup lev doc = sec lev <> braces doc
-- | Given a declaration, extract out the names being declared
declNames :: LHsDecl DocNameI
- -> ( LaTeX -- ^ to print before each name in an export list
- , [DocName] -- ^ names being declared
+ -> ( LaTeX -- to print before each name in an export list
+ , [DocName] -- names being declared
)
declNames (L _ decl) = case decl of
TyClD _ d -> (empty, [tcdName d])
@@ -444,9 +444,9 @@ ppLPatSig doc docnames ty unicode
-- arguments as needed.
ppTypeOrFunSig :: HsType DocNameI
-> DocForDecl DocName -- ^ documentation
- -> ( LaTeX -- ^ first-line (no-argument docs only)
- , LaTeX -- ^ first-line (argument docs only)
- , LaTeX -- ^ type prefix (argument docs only)
+ -> ( LaTeX -- first-line (no-argument docs only)
+ , LaTeX -- first-line (argument docs only)
+ , LaTeX -- type prefix (argument docs only)
)
-> Bool -- ^ unicode
-> LaTeX
--
2.23.0

View File

@ -1,86 +0,0 @@
This patch (inspired by Debian) allows ghc-haddock-library to use our
ghc-attoparsec package instead of using a bundled version.
--- a/haddock-library.cabal 2018-09-01 01:22:18.676855884 -0400
+++ b/haddock-library.cabal 2018-09-01 01:25:10.501150260 -0400
@@ -10,7 +10,6 @@
itself, see the haddock package.
license: BSD3
license-files: LICENSE
- vendor/attoparsec-0.13.1.0/LICENSE
maintainer: Alex Biehl <alexbiehl@gmail.com>, Simon Hengel <sol@typeful.net>, Mateusz Kowalczyk <fuuzetsu@fuuzetsu.co.uk>
homepage: http://www.haskell.org/haddock/
bug-reports: https://github.com/haskell/haddock/issues
@@ -28,7 +27,6 @@
, containers >= 0.4.2.1 && < 0.6
, transformers >= 0.3.0 && < 0.6
- -- internal sub-lib
build-depends: attoparsec
hs-source-dirs: src
@@ -49,42 +47,6 @@
if impl(ghc >= 8.0)
ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
-library attoparsec
- default-language: Haskell2010
-
- build-depends:
- base >= 4.5 && < 4.12
- , bytestring >= 0.9.2.1 && < 0.11
- , deepseq >= 1.3 && < 1.5
-
- hs-source-dirs: vendor/attoparsec-0.13.1.0
-
- -- NB: haddock-library needs only small part of lib:attoparsec
- -- internally, so we only bundle that subset here
- exposed-modules:
- Data.Attoparsec.ByteString
- Data.Attoparsec.ByteString.Char8
- Data.Attoparsec.Combinator
-
- other-modules:
- Data.Attoparsec
- Data.Attoparsec.ByteString.Buffer
- Data.Attoparsec.ByteString.FastSet
- Data.Attoparsec.ByteString.Internal
- Data.Attoparsec.Internal
- Data.Attoparsec.Internal.Fhthagn
- Data.Attoparsec.Internal.Types
- Data.Attoparsec.Number
-
- ghc-options: -funbox-strict-fields -Wall -fwarn-tabs -O2
-
- ghc-options: -Wall
- if impl(ghc >= 8.0)
- ghc-options: -Wcompat -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances
- else
- build-depends: semigroups ^>= 0.18.3, fail ^>= 4.9.0.0
-
-
test-suite spec
type: exitcode-stdio-1.0
default-language: Haskell2010
@@ -115,11 +77,10 @@
, hspec ^>= 2.4.4
, QuickCheck ^>= 2.11
- -- internal sub-lib
build-depends: attoparsec
-- Versions for the dependencies below are transitively pinned by
- -- dependency on haddock-library:lib:attoparsec
+ -- dependency on attoparsec
build-depends:
base
, bytestring
@@ -146,7 +107,7 @@
haddock-library
-- Versions for the dependencies below are transitively pinned by
- -- dependency on haddock-library:lib:attoparsec
+ -- dependency on attoparsec
build-depends:
base

View File

@ -0,0 +1,193 @@
This patch is taken and adapted from upstream. It landed shortly after
the release of 0.31.2, and fixes eleven tests. The patch has been
lightly adapted to apply to the release tarball, but the commit message
was left untouched, so it refers to some changes not included in the
patch.
From a8d9362d4b686074f698c04c20beea88587511a1 Mon Sep 17 00:00:00 2001
From: quasicomputational <quasicomputational@gmail.com>
Date: Sat, 1 Jun 2019 15:11:31 +0100
Subject: [PATCH] Make CI green (#345)
* AppVeyor workaround for TMP issue
https://github.com/commercialhaskell/stack/issues/3944
* Bump resolver to nightly-2018-12-12.
This has the primary benefit of moving to GHC 8.6.3 and should fix
AppVeyor.
* Add clock 0.8 as an extra-dep.
* Adapt expected output to aeson 1.4.3.0.
---
appveyor.yml | 3 +++
hpack.cabal | 10 +++++-----
package.yaml | 2 +-
stack.yaml | 5 +++--
test/Data/Aeson/Config/FromValueSpec.hs | 2 +-
test/Data/Aeson/Config/TypesSpec.hs | 2 +-
test/EndToEndSpec.hs | 8 ++++----
test/Hpack/ConfigSpec.hs | 2 +-
test/Hpack/Syntax/DefaultsSpec.hs | 2 +-
test/Hpack/Syntax/DependenciesSpec.hs | 4 ++--
10 files changed, 22 insertions(+), 18 deletions(-)
diff --git a/hpack.cabal b/hpack.cabal
index fedb9a8..4db3014 100644
--- a/hpack.cabal
+++ b/hpack.cabal
@@ -1,10 +1,10 @@
cabal-version: 1.12
--- This file has been generated from package.yaml by hpack version 0.31.0.
+-- This file has been generated from package.yaml by hpack version 0.31.2.
--
-- see: https://github.com/sol/hpack
--
--- hash: 3d060180293c32b8d0c25b710d0f419e96a6cc6ec3f95ac5e70bb77f44cbafc3
+-- hash: bd5dd178c7e9f7f7a3456d79b592ea336c41ef43c9892354c001f06659e8b901
name: hpack
version: 0.31.2
@@ -31,7 +31,7 @@ library
build-depends:
Cabal >=2.2
, Glob >=0.9.0
- , aeson >=1.2.1.0
+ , aeson >=1.4.3.0
, base >=4.9 && <5
, bifunctors
, bytestring
@@ -87,7 +87,7 @@ executable hpack
build-depends:
Cabal >=2.2
, Glob >=0.9.0
- , aeson >=1.2.1.0
+ , aeson >=1.4.3.0
, base >=4.9 && <5
, bifunctors
, bytestring
@@ -125,7 +125,7 @@ test-suite spec
, Glob >=0.9.0
, HUnit >=1.6.0.0
, QuickCheck
- , aeson >=1.2.1.0
+ , aeson >=1.4.3.0
, base >=4.9 && <5
, bifunctors
, bytestring
diff --git a/test/Data/Aeson/Config/FromValueSpec.hs b/test/Data/Aeson/Config/FromValueSpec.hs
index 33de8b7..06b3eb9 100644
--- a/test/Data/Aeson/Config/FromValueSpec.hs
+++ b/test/Data/Aeson/Config/FromValueSpec.hs
@@ -85,7 +85,7 @@ spec = do
[yaml|
name: "Joe"
age: "23"
- |] `shouldDecodeTo` left "Error while parsing $.age - expected Int, encountered String"
+ |] `shouldDecodeTo` left "Error while parsing $.age - parsing Int failed, expected Number, but encountered String"
context "with (,)" $ do
it "captures unrecognized fields" $ do
diff --git a/test/Data/Aeson/Config/TypesSpec.hs b/test/Data/Aeson/Config/TypesSpec.hs
index c954534..472aa42 100644
--- a/test/Data/Aeson/Config/TypesSpec.hs
+++ b/test/Data/Aeson/Config/TypesSpec.hs
@@ -13,7 +13,7 @@ spec = do
context "List" $ do
let
parseError :: String -> Result (List Int)
- parseError prefix = Left (prefix ++ " - expected Int, encountered String")
+ parseError prefix = Left (prefix ++ " - parsing Int failed, expected Number, but encountered String")
context "when parsing single values" $ do
it "returns the value in a singleton list" $ do
diff --git a/test/EndToEndSpec.hs b/test/EndToEndSpec.hs
index 283c72c..46389ea 100644
--- a/test/EndToEndSpec.hs
+++ b/test/EndToEndSpec.hs
@@ -285,7 +285,7 @@ spec = around_ (inTempDirectoryNamed "foo") $ do
path: defaults.yaml
ref: "2017"
library: {}
- |] `shouldFailWith` (file ++ ": Error while parsing $ - expected Object, encountered Array")
+ |] `shouldFailWith` (file ++ ": Error while parsing $ - expected Object, but encountered Array")
it "warns on unknown fields" $ do
let file = joinPath ["defaults", "sol", "hpack-template", "2017", "defaults.yaml"]
@@ -340,7 +340,7 @@ spec = around_ (inTempDirectoryNamed "foo") $ do
it "rejects other values" $ do
[i|
version: {}
- |] `shouldFailWith` "package.yaml: Error while parsing $.version - expected Number or String, encountered Object"
+ |] `shouldFailWith` "package.yaml: Error while parsing $.version - expected Number or String, but encountered Object"
describe "license" $ do
it "accepts cabal-style licenses" $ do
@@ -1363,14 +1363,14 @@ spec = around_ (inTempDirectoryNamed "foo") $ do
then:
dependencies: Win32
else: null
- |] `shouldFailWith` "package.yaml: Error while parsing $.when.else - expected Object, encountered Null"
+ |] `shouldFailWith` "package.yaml: Error while parsing $.when.else - expected Object, but encountered Null"
it "rejects invalid conditionals" $ do
[i|
dependencies:
- foo
- 23
- |] `shouldFailWith` "package.yaml: Error while parsing $.dependencies[1] - expected Object or String, encountered Number"
+ |] `shouldFailWith` "package.yaml: Error while parsing $.dependencies[1] - expected Object or String, but encountered Number"
it "warns on unknown fields" $ do
[i|
diff --git a/test/Hpack/ConfigSpec.hs b/test/Hpack/ConfigSpec.hs
index 9f4b279..69cbea1 100644
--- a/test/Hpack/ConfigSpec.hs
+++ b/test/Hpack/ConfigSpec.hs
@@ -675,7 +675,7 @@ spec = do
it "rejects other values" $ do
[yaml|
23
- |] `shouldDecodeTo` (Left "Error while parsing $ - expected Boolean or String, encountered Number" :: Result Cond)
+ |] `shouldDecodeTo` (Left "Error while parsing $ - expected Boolean or String, but encountered Number" :: Result Cond)
describe "formatOrList" $ do
it "formats a singleton list" $ do
diff --git a/test/Hpack/Syntax/DefaultsSpec.hs b/test/Hpack/Syntax/DefaultsSpec.hs
index 5875413..5438b7a 100644
--- a/test/Hpack/Syntax/DefaultsSpec.hs
+++ b/test/Hpack/Syntax/DefaultsSpec.hs
@@ -151,4 +151,4 @@ spec = do
it "fails" $ do
[yaml|
10
- |] `shouldDecodeTo` left "Error while parsing $ - expected Object or String, encountered Number"
+ |] `shouldDecodeTo` left "Error while parsing $ - expected Object or String, but encountered Number"
diff --git a/test/Hpack/Syntax/DependenciesSpec.hs b/test/Hpack/Syntax/DependenciesSpec.hs
index 1a83732..d95044f 100644
--- a/test/Hpack/Syntax/DependenciesSpec.hs
+++ b/test/Hpack/Syntax/DependenciesSpec.hs
@@ -125,7 +125,7 @@ spec = do
it "rejects invalid values" $ do
[yaml|
hpack: []
- |] `shouldDecodeTo` left "Error while parsing $.hpack - expected Null, Object, Number, or String, encountered Array"
+ |] `shouldDecodeTo` left "Error while parsing $.hpack - expected Null, Object, Number, or String, but encountered Array"
context "when the constraint is a Number" $ do
it "accepts 1" $ do
@@ -213,7 +213,7 @@ spec = do
[yaml|
foo:
version: {}
- |] `shouldDecodeTo` left "Error while parsing $.foo.version - expected Null, Number, or String, encountered Object"
+ |] `shouldDecodeTo` left "Error while parsing $.foo.version - expected Null, Number, or String, but encountered Object"
it "accepts a string" $ do
[yaml|
--
2.23.0

View File

@ -0,0 +1,27 @@
This patch fixes the test suite to allow any order when listing the
members of a JSON object. Aeson (being true to the JSON specification)
does not specify an order for objects. In practice, the order depends
on your processor architecture.
See <https://github.com/bos/aeson/issues/568> for a discussion resulting
in a similar patch fixing the Aeson tests.
See <https://github.com/fosskers/microlens-aeson/issues/1> for the
upstream bug report.
diff -ruN a/test/Test.hs b/test/Test.hs
--- a/test/Test.hs 2018-12-31 15:10:50.000000000 -0500
+++ b/test/Test.hs 2019-11-08 01:34:07.419706831 -0500
@@ -48,8 +48,10 @@
, testCase "" $ ("{\"a\": {}, \"b\": null}" ^? key (T.pack "b") . _Object) @?= Nothing
, testCase "" $ ("{\"a\": 100, \"b\": 200}" ^? key (T.pack "a")) @?= Just (Number 100.0)
, testCase "" $ ("[1,2,3]" ^? key (T.pack "a")) @?= Nothing
- , testCase "" $ ("{\"a\": 4, \"b\": 7}" ^.. members) @?= [Number 4.0,Number 7.0]
- , testCase "" $ ("{\"a\": 4, \"b\": 7}" & members . _Number %~ (* 10)) @?= "{\"a\":40,\"b\":70}"
+ , testCase "" $ assertBool "" (let x = ("{\"a\": 4, \"b\": 7}" ^.. members)
+ in x == [Number 4.0,Number 7.0] || x == [Number 7.0,Number 4.0])
+ , testCase "" $ assertBool "" (let x = ("{\"a\": 4, \"b\": 7}" & members . _Number %~ (* 10))
+ in x == "{\"a\":40,\"b\":70}" || x == "{\"b\":70,\"a\":40}")
, testCase "" $ ("[1,2,3]" ^? nth 1) @?= Just (Number 2.0)
, testCase "" $ ("{\"a\": 100, \"b\": 200}" ^? nth 1) @?= Nothing
, testCase "" $ ("[1,2,3]" & nth 1 .~ Number 20) @?= "[1,20,3]"

View File

@ -0,0 +1,45 @@
This patch is taken from upstream. It fixes a test to work with GHC 8.6.
The paths have been slightly altered to work with the release tarball.
See <https://github.com/simonmar/monad-par/issues/66>.
From e20f81c8060208e4fb038e8f0e0668b41d72a6fb Mon Sep 17 00:00:00 2001
From: Clint Adams <clint@debian.org>
Date: Sat, 31 Aug 2019 14:12:34 -0400
Subject: [PATCH] Use a case statement instead of pattern-matching in
case_test_diamond
This avoids the need for a MonadFail instance. Closes #66
---
monad-par/tests/ParTests_shared.hs | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/tests/ParTests_shared.hs b/tests/ParTests_shared.hs
index 31f438d..b2de50c 100644
--- a/tests/ParTests_shared.hs
+++ b/tests/ParTests_shared.hs
@@ -109,12 +109,15 @@ case_test_diamond :: Assertion
case_test_diamond = 9 @=? (m :: Int)
where
m = runPar $ do
- [a,b,c,d] <- sequence [new,new,new,new]
- fork $ do x <- get a; put b (x+1)
- fork $ do x <- get a; put c (x+2)
- fork $ do x <- get b; y <- get c; put d (x+y)
- fork $ do put a 3
- get d
+ abcd <- sequence [new,new,new,new]
+ case abcd of
+ [a,b,c,d] -> do
+ fork $ do x <- get a; put b (x+1)
+ fork $ do x <- get a; put c (x+2)
+ fork $ do x <- get b; y <- get c; put d (x+y)
+ fork $ do put a 3
+ get d
+ _ -> error "Oops"
-- | Violate IVar single-assignment:
--
--
2.23.0

View File

@ -0,0 +1,92 @@
This patch is taken from upstream. It fixes two HTML tests that are broken
due to using a Skylighting version greater than or equal to 0.8.2.
From 968d2046a3cb6db661673be580660ac402753c34 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Sun, 14 Jul 2019 10:48:14 -0700
Subject: [PATCH] Update test for new skylighting.
---
test/lhs-test.html | 13 ++++++-------
test/lhs-test.html+lhs | 13 ++++++-------
2 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/test/lhs-test.html b/test/lhs-test.html
index 6685555f4..446dd3d95 100644
--- a/test/lhs-test.html
+++ b/test/lhs-test.html
@@ -12,19 +12,18 @@
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<style>
-code.sourceCode > span { display: inline-block; line-height: 1.25; }
+pre > code.sourceCode { white-space: pre; position: relative; }
+pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
+pre > code.sourceCode > span:empty { height: 1.2em; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
-code.sourceCode > span:empty { height: 1.2em; }
-.sourceCode { overflow: visible; }
-code.sourceCode { white-space: pre; position: relative; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
-code.sourceCode { white-space: pre-wrap; }
-code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
+pre > code.sourceCode { white-space: pre-wrap; }
+pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
@@ -44,7 +43,7 @@ pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-le
div.sourceCode
{ }
@media screen {
-code.sourceCode > span > a:first-child::before { text-decoration: underline; }
+pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
diff --git a/test/lhs-test.html+lhs b/test/lhs-test.html+lhs
index e57dfc105..a5cdb0245 100644
--- a/test/lhs-test.html+lhs
+++ b/test/lhs-test.html+lhs
@@ -12,19 +12,18 @@
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<style>
-code.sourceCode > span { display: inline-block; line-height: 1.25; }
+pre > code.sourceCode { white-space: pre; position: relative; }
+pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
+pre > code.sourceCode > span:empty { height: 1.2em; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
-code.sourceCode > span:empty { height: 1.2em; }
-.sourceCode { overflow: visible; }
-code.sourceCode { white-space: pre; position: relative; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
-code.sourceCode { white-space: pre-wrap; }
-code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
+pre > code.sourceCode { white-space: pre-wrap; }
+pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
@@ -44,7 +43,7 @@ pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-le
div.sourceCode
{ }
@media screen {
-code.sourceCode > span > a:first-child::before { text-decoration: underline; }
+pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
--
2.23.0

View File

@ -0,0 +1,31 @@
This patch is taken from upstream. It fixes a LaTeX test that is broken due
to using a Skylighting version greater than or equal to 0.8.1.1.
From 2cd1c7b30f200d18f1f1bdef1671369e1ad303ed Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Thu, 13 Jun 2019 19:33:52 -0700
Subject: [PATCH] Update test for skylighting 0.8.1.1.
---
test/lhs-test.latex | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/lhs-test.latex b/test/lhs-test.latex
index 0442db5ca..a456995a3 100644
--- a/test/lhs-test.latex
+++ b/test/lhs-test.latex
@@ -94,9 +94,9 @@ return a single value:
\begin{Shaded}
\begin{Highlighting}[]
-\OtherTok{unsplit ::}\NormalTok{ (}\DataTypeTok{Arrow}\NormalTok{ a) }\OtherTok{=>}\NormalTok{ (b }\OtherTok{->}\NormalTok{ c }\OtherTok{->}\NormalTok{ d) }\OtherTok{->}\NormalTok{ a (b, c) d}
+\OtherTok{unsplit ::}\NormalTok{ (}\DataTypeTok{Arrow}\NormalTok{ a) }\OtherTok{=>}\NormalTok{ (b }\OtherTok{{-}>}\NormalTok{ c }\OtherTok{{-}>}\NormalTok{ d) }\OtherTok{{-}>}\NormalTok{ a (b, c) d}
\NormalTok{unsplit }\OtherTok{=}\NormalTok{ arr }\OperatorTok{.} \FunctionTok{uncurry}
- \CommentTok{-- arr (\textbackslash{}op (x,y) -> x `op` y)}
+ \CommentTok{{-}{-} arr (\textbackslash{}op (x,y) {-}> x \textasciigrave{}op\textasciigrave{} y)}
\end{Highlighting}
\end{Shaded}
--
2.23.0

View File

@ -0,0 +1,31 @@
From d9c637ae8a1137d3ca512d2c560589903a4bd79d Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Tue, 30 Apr 2019 11:16:01 -0700
Subject: [PATCH] Python plugin: Call EndInterpreter when deinit'ing the plugin
This fixes https://github.com/hexchat/hexchat/issues/2237 , a
commonly-encountered bug when using Hexchat 2.14 on Python 3.7.
Thanks to @ncoghlan for the fix.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
plugins/python/python.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/plugins/python/python.c b/plugins/python/python.c
index 4403474d..475756ba 100644
--- a/plugins/python/python.c
+++ b/plugins/python/python.c
@@ -2806,6 +2806,9 @@ hexchat_plugin_deinit(void)
xchatout_buffer = NULL;
if (interp_plugin) {
+ PyThreadState *tstate = ((PluginObject*)interp_plugin)->tstate;
+ PyThreadState_Swap(tstate);
+ Py_EndInterpreter(tstate);
Py_DECREF(interp_plugin);
interp_plugin = NULL;
}
--
2.21.0

View File

@ -0,0 +1,25 @@
See https://groups.google.com/forum/#!topic/minisat/FCocZsC8oMQ
This seems to only be a problem with newer versions of g++, and
upstream development seems to have stopped in 2013.
diff -rupN minisat-2.2.0/core/SolverTypes.h minisat-2.2.0.patched/core/SolverTypes.h
--- a/minisat/core/SolverTypes.h 2010-07-10 17:07:36.000000000 +0100
+++ b/minisat/core/SolverTypes.h 2014-03-29 11:57:49.000000000 +0000
@@ -47,7 +47,7 @@ struct Lit {
int x;
// Use this as a constructor:
- friend Lit mkLit(Var var, bool sign = false);
+ //friend Lit mkLit(Var var, bool sign = false);
bool operator == (Lit p) const { return x == p.x; }
bool operator != (Lit p) const { return x != p.x; }
@@ -55,7 +55,7 @@ struct Lit {
};
-inline Lit mkLit (Var var, bool sign) { Lit p; p.x = var + var + (int)sign; return p; }
+inline Lit mkLit (Var var, bool sign = false) { Lit p; p.x = var + var + (int)sign; return p; }
inline Lit operator ~(Lit p) { Lit q; q.x = p.x ^ 1; return q; }
inline Lit operator ^(Lit p, bool b) { Lit q; q.x = p.x ^ (unsigned int)b; return q; }
inline bool sign (Lit p) { return p.x & 1; }

View File

@ -0,0 +1,19 @@
Avoid the default dynamic executable, which depends on minisat.so
Instead install the release version, which is statically linked.
diff --git a/Makefile b/Makefile
index ceb9d77..7b91906 100644
--- a/Makefile
+++ b/Makefile
@@ -191,9 +191,9 @@ install-lib: $(BUILD_DIR)/release/lib/$(MINISAT_SLIB) $(BUILD_DIR)/dynamic/lib/$
ln -sf $(MINISAT_DLIB).$(SOMAJOR) $(DESTDIR)$(libdir)/$(MINISAT_DLIB)
$(INSTALL) -m 644 $(BUILD_DIR)/release/lib/$(MINISAT_SLIB) $(DESTDIR)$(libdir)
-install-bin: $(BUILD_DIR)/dynamic/bin/$(MINISAT)
+install-bin: $(BUILD_DIR)/release/bin/$(MINISAT)
$(INSTALL) -d $(DESTDIR)$(bindir)
- $(INSTALL) -m 755 $(BUILD_DIR)/dynamic/bin/$(MINISAT) $(DESTDIR)$(bindir)
+ $(INSTALL) -m 755 $(BUILD_DIR)/release/bin/$(MINISAT) $(DESTDIR)$(bindir)
clean:
rm -f $(foreach t, release debug profile dynamic, $(foreach o, $(SRCS:.cc=.o), $(BUILD_DIR)/$t/$o)) \

View File

@ -0,0 +1,42 @@
diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
index 1474624..887f8ee 100644
--- a/Lib/test/_test_multiprocessing.py
+++ b/Lib/test/_test_multiprocessing.py
@@ -3801,6 +3801,7 @@ class _TestSharedMemory(BaseTestCase):
sms.close()
@unittest.skipIf(os.name != "posix", "not feasible in non-posix platforms")
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
def test_shared_memory_SharedMemoryServer_ignores_sigint(self):
# bpo-36368: protect SharedMemoryManager server process from
# KeyboardInterrupt signals.
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
index d41e94b..a1c15e7 100644
--- a/Lib/test/test_signal.py
+++ b/Lib/test/test_signal.py
@@ -78,6 +78,7 @@ class PosixTests(unittest.TestCase):
self.assertLess(len(s), signal.NSIG)
@unittest.skipUnless(sys.executable, "sys.executable required.")
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
def test_keyboard_interrupt_exit_code(self):
"""KeyboardInterrupt triggers exit via SIGINT."""
process = subprocess.run(
@@ -128,6 +129,7 @@ class WindowsSignalTests(unittest.TestCase):
signal.signal(7, handler)
@unittest.skipUnless(sys.executable, "sys.executable required.")
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
def test_keyboard_interrupt_exit_code(self):
"""KeyboardInterrupt triggers an exit using STATUS_CONTROL_C_EXIT."""
# We don't test via os.kill(os.getpid(), signal.CTRL_C_EVENT) here
@@ -1245,6 +1247,7 @@ class StressTest(unittest.TestCase):
class RaiseSignalTest(unittest.TestCase):
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
def test_sigint(self):
with self.assertRaises(KeyboardInterrupt):
signal.raise_signal(signal.SIGINT)
--
2.23.0

View File

@ -0,0 +1,17 @@
diff --git a/setup.py b/setup.py
index 20d7f35..5751083 100644
--- a/setup.py
+++ b/setup.py
@@ -676,8 +676,8 @@ class PyBuildExt(build_ext):
# if a file is found in one of those directories, it can
# be assumed that no additional -I,-L directives are needed.
if not CROSS_COMPILING:
- self.lib_dirs = self.compiler.library_dirs + system_lib_dirs
- self.inc_dirs = self.compiler.include_dirs + system_include_dirs
+ self.lib_dirs = os.getenv('LIBRARY_PATH', '').split(os.pathsep)
+ self.inc_dirs = os.getenv('CPATH', '').split(os.pathsep)
else:
# Add the sysroot paths. 'sysroot' is a compiler option used to
# set the logical path of the standard system headers and
--
2.23.0

View File

@ -0,0 +1,25 @@
Description: Avoid error messages when opening a new tomb
Make sure control file exists and has user ownership before user writes to it.
Author: Sven Geuer <debmaint@g-e-u-e-r.de>
Bug: https://github.com/dyne/Tomb/issues/369
Last-Update: 2019-11-04
--- a/tomb
+++ b/tomb
@@ -2197,14 +2197,15 @@
# {{{ Open
_update_control_file() {
- # replaces a control file with new contents and gives it user ownership
+ # make sure a control file exists, gives it user ownership
+ # and replaces it with new contents
# stdin = contents
# $1 = path to control file
# $2 = contents
[[ "$2" = "" ]] && return 1
_sudo touch "$1"
- print "$2" > "$1"
_sudo chown ${_UID}:${_GID} "$1"
+ print "$2" > "$1"
_verbose "updated control file $1 = $2"
}

View File

@ -0,0 +1,109 @@
Since /sys is unavailable in build environments, the list of available
TCP network interfaces cannot be obtained via /sys/class/net. This patch
provides alternative code that uses the SIOCGIFCONF ioctl to get the
names of the available TCP network interfaces.
diff --git a/src/uct/tcp/tcp_iface.c b/src/uct/tcp/tcp_iface.c
index 81ad459..10024a6 100644
--- a/src/uct/tcp/tcp_iface.c
+++ b/src/uct/tcp/tcp_iface.c
@@ -12,6 +12,8 @@
#include <sys/poll.h>
#include <netinet/tcp.h>
#include <dirent.h>
+#include <net/if.h>
+#include <sys/ioctl.h>
static ucs_config_field_t uct_tcp_iface_config_table[] = {
{"", "MAX_SHORT=8k", NULL,
@@ -483,6 +485,70 @@ static UCS_CLASS_DEFINE_NEW_FUNC(uct_tcp_iface_t, uct_iface_t, uct_md_h,
uct_worker_h, const uct_iface_params_t*,
const uct_iface_config_t*);
+/* Fetch information about available network devices through an ioctl. */
+static ucs_status_t query_devices_ioctl(uct_md_h md,
+ uct_tl_resource_desc_t **resource_p,
+ unsigned *num_resources_p)
+{
+ int sock, err, i;
+ uct_tl_resource_desc_t *resources, *tmp;
+ unsigned num_resources;
+ ucs_status_t status;
+ struct ifconf conf;
+ struct ifreq reqs[10];
+
+ conf.ifc_len = sizeof reqs;
+ conf.ifc_req = reqs;
+
+ sock = socket(SOCK_STREAM, AF_INET, 0);
+ if (sock < 0) {
+ ucs_error("socket(2) failed: %m");
+ status = UCS_ERR_IO_ERROR;
+ goto out;
+ }
+
+ err = ioctl(sock, SIOCGIFCONF, &conf);
+ if (err < 0) {
+ ucs_error("SIOCGIFCONF ioctl failed: %m");
+ status = UCS_ERR_IO_ERROR;
+ goto out;
+ }
+
+ resources = NULL;
+ num_resources = 0;
+ for (i = 0; i < conf.ifc_len / sizeof(struct ifreq); i++) {
+ const char *name = reqs[i].ifr_name;
+
+ if (!ucs_netif_is_active(name)) {
+ continue;
+ }
+
+ tmp = ucs_realloc(resources, sizeof(*resources) * (num_resources + 1),
+ "tcp resources");
+ if (tmp == NULL) {
+ ucs_free(resources);
+ status = UCS_ERR_NO_MEMORY;
+ goto out;
+ }
+ resources = tmp;
+
+ ucs_snprintf_zero(resources[i].tl_name, sizeof(resources[i].tl_name),
+ "%s", UCT_TCP_NAME);
+ ucs_snprintf_zero(resources[i].dev_name, sizeof(resources[i].dev_name),
+ "%s", name);
+ resources[i].dev_type = UCT_DEVICE_TYPE_NET;
+ ++num_resources;
+ }
+
+ *num_resources_p = num_resources;
+ *resource_p = resources;
+ status = UCS_OK;
+
+out:
+ if (sock >= 0) close(sock);
+ return status;
+}
+
static ucs_status_t uct_tcp_query_tl_resources(uct_md_h md,
uct_tl_resource_desc_t **resource_p,
unsigned *num_resources_p)
@@ -496,9 +562,9 @@ static ucs_status_t uct_tcp_query_tl_resources(uct_md_h md,
dir = opendir(netdev_dir);
if (dir == NULL) {
- ucs_error("opendir(%s) failed: %m", netdev_dir);
- status = UCS_ERR_IO_ERROR;
- goto out;
+ /* When /sys is unavailable, as can be the case in a container,
+ * resort to a good old 'ioctl'. */
+ return query_devices_ioctl(md, resource_p, num_resources_p);
}
resources = NULL;
@@ -543,6 +609,5 @@ static ucs_status_t uct_tcp_query_tl_resources(uct_md_h md,
out_closedir:
closedir(dir);
-out:
return status;
}

View File

@ -36,6 +36,7 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
#:use-module (gnu packages multiprecision)
@ -101,7 +102,7 @@
(with "--with-jpeg-dir" "libjpeg")
(with "--with-ldap" "openldap")
(with "--with-ldap-sasl" "cyrus-sasl")
(with "--with-libzip" "zip")
(with "--with-libzip" "libzip")
(with "--with-libxml-dir" "libxml2")
(with "--with-onig" "oniguruma")
(with "--with-pcre-dir" "pcre")
@ -136,9 +137,11 @@
"--enable-fpm"
"--enable-ftp"
"--enable-inifile"
"--enable-intl"
"--enable-mbstring"
"--enable-pcntl"
"--enable-sockets"))
"--enable-sockets"
"--enable-zip"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'do-not-record-build-flags
@ -356,6 +359,7 @@
("glibc" ,glibc)
("gmp" ,gmp)
("gnutls" ,gnutls)
("icu4c" ,icu4c)
("libgcrypt" ,libgcrypt)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
@ -364,6 +368,7 @@
("libxpm" ,libxpm)
("libxslt" ,libxslt)
("libx11" ,libx11)
("libzip" ,libzip)
("oniguruma" ,oniguruma)
("openldap" ,openldap)
("openssl" ,openssl)
@ -372,7 +377,6 @@
("readline" ,readline)
("sqlite" ,sqlite)
("tidy" ,tidy)
("zip" ,zip)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)

View File

@ -75,52 +75,66 @@ with Graphtec and Sihouette plotting cutters using an SVG file as its input.")
(license license:gpl3+)))
(define-public brlaser
(let ((commit "779f71e80fcc583f4537c844de141cf8e6a738fe")
(revision "1"))
(package
(name "brlaser")
(version (git-version "4" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pdewacht/brlaser.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0yrz9706660hdfi2y0ndp254r0vw9y665hwmxbbzfnz4ai13vj50"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DCUPS_DATA_DIR="
(assoc-ref %outputs "out")
"/share/cups")
(string-append "-DCUPS_SERVER_BIN="
(assoc-ref %outputs "out")
"/lib/cups"))))
(inputs
`(("ghostscript" ,ghostscript)
("cups" ,cups)
("zlib" ,zlib)))
(home-page "https://github.com/pdewacht/brlaser")
(synopsis "Brother laser printer driver")
(description "Brlaser is a CUPS driver for Brother laser printers. This
(package
(name "brlaser")
(version "6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pdewacht/brlaser.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1995s69ksq1fz0vb34v0ndiqncrinbrlpmp70rkl6az7kag99s80"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DCUPS_DATA_DIR="
(assoc-ref %outputs "out")
"/share/cups")
(string-append "-DCUPS_SERVER_BIN="
(assoc-ref %outputs "out")
"/lib/cups"))))
(inputs
`(("ghostscript" ,ghostscript)
("cups" ,cups)
("zlib" ,zlib)))
(home-page "https://github.com/pdewacht/brlaser")
(synopsis "Brother laser printer driver")
(description "Brlaser is a CUPS driver for Brother laser printers. This
driver is known to work with these printers:
@enumerate
@item Brother DCP-1510
@item Brother DCP-1510 series
@item Brother DCP-1600 series
@item Brother DCP-7030
@item Brother DCP-7040
@item Brother DCP-7055
@item Brother DCP-7055W
@item Brother DCP-7060D
@item Brother DCP-7065DN
@item Brother DCP-7080
@item Brother DCP-L2500D series
@item Brother DCP-L2520D series
@item Brother DCP-L2540DW series
@item Brother HL-1110 series
@item Brother HL-1200 series
@item Brother HL-2030 series
@item Brother HL-2140 series
@item Brother HL-2220 series
@item Brother HL-2270DW series
@item Brother HL-5030 series
@item Brother HL-L2300D series
@item Brother HL-L2320D series
@item Brother HL-L2340D series
@item Brother HL-L2360D series
@item Brother MFC-1910W
@item Brother MFC-7240
@item Brother MFC-7360N
@end enumerate
It partially works with printers from the Brother HL-L2300D series.")
(license license:gpl2+))))
@item Brother MFC-7365DN
@item Brother MFC-7840W
@item Brother MFC-L2710DW series
@item Lenovo M7605D
@end enumerate")
(license license:gpl2+)))

View File

@ -246,7 +246,7 @@ mechanism for serializing structured data.")
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'set-emacs-load-path 'change-working-directory
(add-before 'add-source-to-load-path 'change-working-directory
(lambda _ (chdir "editors") #t)))))
(home-page "https://github.com/protocolbuffers/protobuf")
(synopsis "Protocol buffers major mode for Emacs")

View File

@ -20,6 +20,7 @@
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1090,3 +1091,41 @@ with state-tracking and configuration abstractions.")
that leverages the infrastructure provided by the Linux kernel for safely
storing and retrieving sensitive information in your programs.")
(license license:asl2.0)))
(define-public python-mcuboot-imgtool
(package
(name "python-mcuboot-imgtool")
(version "1.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuulLabs-OSS/mcuboot")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1m1csyvzq4jx81zg635ssy1n7sc0z539z0myh872ll3nwqx7wa0q"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-broken-test
(lambda _
(substitute* "scripts/imgtool/keys/ed25519_test.py"
(("raw_sign") "sign_digest"))
#t))
(add-before 'build 'change-directory
(lambda _
(chdir "scripts")
#t)))))
(propagated-inputs
`(("python-click" ,python-click)
("python-intelhex" ,python-intelhex)
("python-cryptography" ,python-cryptography)))
(home-page "https://mcuboot.com")
(synopsis "Tool to securely sign firmware images for booting by MCUboot")
(description "MCUboot is a secure bootloader for 32-bit MCUs. This
package provides a tool to securely sign firmware images for booting by
MCUboot.")
(license license:expat)))

View File

@ -53,7 +53,7 @@
;;; Copyright © 2016, 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
@ -8745,6 +8745,9 @@ with a new public API, and RPython support.")
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'install 'set-HOME
(lambda _
(setenv "HOME" "/tmp")))
(replace 'check
(lambda _
;; Tests require write access to HOME.
@ -14617,14 +14620,14 @@ is the new Pyro version that is actively developed.")
(version "2.9.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/khinsen/"
"scientificpython/downloads/ScientificPython-"
version ".tar.gz"))
(file-name (string-append "ScientificPython-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/khinsen/ScientificPython")
(commit (string-append "rel" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0fc69zhlsn9d2jvbzyjl9ah53vj598h84nkq230c83ahfvgzx5y3"))))
"16l48aj9fps9r7jyk8gpxppwrv0fqvlc13sayxskz28r5s6sjwbl"))))
(build-system python-build-system)
(inputs
`(("netcdf" ,netcdf)))
@ -14642,7 +14645,7 @@ is the new Pyro version that is actively developed.")
(invoke "python" "setup.py" "build"
(string-append "--netcdf_prefix="
(assoc-ref inputs "netcdf"))))))))
(home-page "https://bitbucket.org/khinsen/scientificpython")
(home-page "http://dirac.cnrs-orleans.fr/ScientificPython")
(synopsis "Python modules for scientific computing")
(description "ScientificPython is a collection of Python modules that are
useful for scientific computing. Most modules are rather general (Geometry,
@ -14654,16 +14657,17 @@ not actively maintained and works only with Python 2 and NumPy < 1.9.")
(define-public python2-mmtk
(package
(name "python2-mmtk")
(version "2.7.11")
(version "2.7.12")
(source
(origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/khinsen/"
"mmtk/downloads/MMTK-" version ".tar.gz"))
(file-name (string-append "MMTK-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/khinsen/MMTK")
(commit (string-append "rel" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1d0nnjx4lwsvh8f99vv1r6gi50d93yba0adkz8b4zgv4za4c5862"))))
"1fqwh3ba9jd42nigvn5shndgwb1zy7kh9520ncvqci7n8ffjr6p1"))))
(build-system python-build-system)
(native-inputs
`(("netcdf" ,netcdf)))
@ -16884,3 +16888,27 @@ qvarious formats: PDF, PostScript, PNG and even SVG.")
(description "Pyphen is a pure Python module to hyphenate text using
existing Hunspell hyphenation dictionaries.")
(license (list license:gpl2 license:lgpl2.1 license:mpl1.1))))
(define-public python-intelhex
(package
(name "python-intelhex")
(version "2.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "intelhex" version))
(sha256
(base32
"0ckqjbxd8gwcg98gfzpn4vq1qxzfvq3rdbrr1hikj1nmw08qb780"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ;issue with version
(home-page "https://pypi.org/project/IntelHex/")
(synopsis "Python library for Intel HEX files manipulations")
(description "The Intel HEX file format is widely used in microprocessors
and microcontrollers area (embedded systems etc.) as the de facto standard for
representation of code to be programmed into microelectronic devices. This
package provides an intelhex Python library to read, write, create from
scratch and manipulate data from Intel HEX file format. It also includes
several convenience Python scripts, including \"classic\" hex2bin and bin2hex
converters and more, those based on the library itself.")
(license license:bsd-3)))

View File

@ -57,6 +57,7 @@
;;; Copyright © 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -408,6 +409,31 @@ data types.")
(version-major+minor version)
"/site-packages"))))))))
(define-public python-3.8
(package
(inherit python-3.7)
(name "python-next")
(version "3.8.0")
(source
(origin
(inherit (package-source python-3.7))
(uri (string-append "https://www.python.org/ftp/python/"
version "/Python-" version ".tar.xz"))
(sha256 (base32 "110d0did9rxn7rg85kf2fwli5hqq44xv2d8bi7d92m7v2d728mmk"))
(patches (search-patches
"python-3.8-search-paths.patch"
"python-3-fix-tests.patch"
"python-3.8-fix-tests.patch"
"python-3-deterministic-build-info.patch"))
(snippet
'(begin
;; Delete the bundled copy of libexpat.
(delete-file-recursively "Modules/expat")
(substitute* "Modules/Setup"
;; Link Expat instead of embedding the bundled one.
(("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n"))
#t))))))
;; Current 3.x version.
(define-public python-3 python-3.7)

View File

@ -283,7 +283,7 @@ that implements both the msgpack and msgpack-rpc specifications.")
(define-public jsoncpp
(package
(name "jsoncpp")
(version "1.9.1")
(version "1.9.2")
(home-page "https://github.com/open-source-parsers/jsoncpp")
(source (origin
(method git-fetch)
@ -291,7 +291,7 @@ that implements both the msgpack and msgpack-rpc specifications.")
(file-name (git-file-name name version))
(sha256
(base32
"00g356iv3kcp0gadj7gbyzf9jn9avvx9vxbxc7c2i5nnry8z72wj"))))
"037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES")))

View File

@ -157,12 +157,14 @@ which allows users to view a desktop computing environment.")
(native-inputs
`(("glib:bin" ,glib "bin")
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
("pkg-config" ,pkg-config)
("vala" ,vala)))
(arguments
`(#:configure-flags
'("--enable-gstaudio"
"--enable-gstvideo"
"--enable-pulse"
"--enable-vala"
"--enable-introspection")
#:phases
(modify-phases %standard-phases

View File

@ -107,23 +107,14 @@
(define-public qemu
(package
(name "qemu")
(version "4.1.0")
(version "4.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
(sha256
(base32
"1ih9v6gxgild3m4g80ld4dr3wp9db3bpy203k73fxgc9hqhn0vk5"))
(patches
(list
;; Fix an ordering issue with recent kernels, see
;; <https://bugs.gnu.org/37860>.
(qemu-patch
"bf9e0313c27d8e6ecd7f7de3d63e1cb25d8f6311"
"qemu-tests-make-filemonitor-test-more-robust.patch"
(base32
"1242wqpr8id3cn88pzbig3sqh4znml0g0h2mwdmdyhp81blq7s7n"))))))
"1lm1jndfpc5sydwrxyiz5sms414zkcg9jdl0zx318qbjsayxnvzd"))))
(build-system gnu-build-system)
(arguments
'(;; Running tests in parallel can occasionally lead to failures, like:
@ -300,7 +291,12 @@ server and embedded PowerPC, and S390 guests.")
;; qemu-minimal-2.10 needs Python 2. Remove below once no longer necessary.
(native-inputs `(("python-2" ,python-2)
,@(fold alist-delete (package-native-inputs qemu)
'("python-wrapper")))))))
'("python-wrapper"))))
(inputs
(fold alist-delete (package-inputs qemu)
;; Disable seccomp support, because it's not required for the GRUB
;; test suite, and because it fails with libseccomp 2.4.2 and later.
'("libseccomp"))))))
(define-public libosinfo
(package
@ -385,6 +381,12 @@ all common programming languages. Vala bindings are also provided.")
"/share/doc/" ,name "-" ,version)
"--sysconfdir=/etc"
"--localstatedir=/var")
#:make-flags
;; Treat the kernel headers as system headers to silence
;; compiler warnings from those.
(list (string-append "C_INCLUDE_PATH="
(assoc-ref %build-inputs "kernel-headers")
"/include"))
#:phases
(modify-phases %standard-phases
(replace 'install

View File

@ -214,14 +214,14 @@ Interface} specification.")
;; stable and recommends that “in general you deploy the NGINX mainline
;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/)
;; Consider updating the nginx-documentation package together with this one.
(version "1.17.5")
(version "1.17.6")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
"1hqhziic4csci8xs4q8vbzpmj2qjkhmmx68zza7h5bvmbbhkbvk3"))))
"1dipq90h3n1xdslwbijwlhbk84r7q0bswlbvi970may09lqsbd1w"))))
(build-system gnu-build-system)
(inputs `(("openssl" ,openssl)
("pcre" ,pcre)
@ -1341,6 +1341,20 @@ hash/signatures.")
"LibYAML is a YAML 1.1 parser and emitter written in C.")
(license license:expat)))
(define-public libyaml-2.1
(package
(inherit libyaml)
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (string-append
"http://pyyaml.org/download/libyaml/yaml-"
version ".tar.gz"))
(sha256
(base32
"1karpcfgacgppa82wm2drcfn2kb6q2wqfykf5nrhy20sci2i2a3q"))))))
(define-public libquvi-scripts
(package
(name "libquvi-scripts")
@ -4176,8 +4190,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(package-with-python2 python-feedparser))
(define-public guix-data-service
(let ((commit "5e2bc7c6e920e1542ab8fde39dbddca443a7cbc8")
(revision "4"))
(let ((commit "23f60a6bbb923a9510d95250b4a1626cb8a84b7f")
(revision "5"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -4189,7 +4203,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(file-name (git-file-name name version))
(sha256
(base32
"0awfvps7k9bpg3gpgc93y401g7pjabx7mr9960vigad8vddhixqi"))))
"08v6wdj5ia139krplc7y74s4rm1iblqf91713z69yhh5zbkvyxg8"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
@ -4199,12 +4213,6 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
#:test-target "check-with-tmp-database"
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-GUIX_ENVIRONMENT
(lambda* (#:key inputs #:allow-other-keys)
;; This means guix.el finds the Emacs modules
(setenv "GUIX_ENVIRONMENT"
(assoc-ref inputs "emacs-with-modules"))
#t))
(add-before 'build 'set-GUILE_AUTO_COMPILE
(lambda _
;; To avoid errors relating to guild
@ -4255,10 +4263,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
("autoconf" ,autoconf)
("automake" ,automake)
("ephemeralpg" ,ephemeralpg)
("emacs-with-modules" ,(directory-union
"emacs-union"
(list emacs-no-x
emacs-htmlize)))
("emacs-minimal" ,emacs-minimal)
("emacs-htmlize" ,emacs-htmlize)
("pkg-config" ,pkg-config)))
(synopsis "Store and provide data about GNU Guix")
(description

View File

@ -24,6 +24,7 @@
;;; Copyright © 2019 Kyle Andrews <kyle.c.andrews@gmail.com>
;;; Copyright © 2019 Ingo Ruhnke <grumbel@gmail.com>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -649,36 +650,45 @@ tiled on several screens.")
(define-public xmobar
(package
(name "xmobar")
(version "0.28")
(version "0.31")
(source (origin
(method url-fetch)
(uri (string-append "mirror://hackage/package/xmobar/"
"xmobar-" version ".tar.gz"))
(sha256
(base32
"1xh87asg8y35srvp7d3gyyy4bkxsw122liihxgzgm8pqv2z3h4zd"))))
"1sbxva4zaj060bigmxivpn4zlz0q1qbq2np8gljdqkjvysjzpbka"))))
(build-system haskell-build-system)
(native-inputs
`(("ghc-hspec" ,ghc-hspec)
("hspec-discover" ,hspec-discover)))
(inputs
`(("ghc-hinotify" ,ghc-hinotify)
`(("ghc-alsa-core" ,ghc-alsa-core)
("ghc-alsa-mixer" ,ghc-alsa-mixer)
("ghc-dbus" ,ghc-dbus)
("ghc-hinotify" ,ghc-hinotify)
("ghc-http" ,ghc-http)
("ghc-http-conduit" ,ghc-http-conduit)
("ghc-http-types" ,ghc-http-types)
("ghc-iwlib" ,ghc-iwlib)
("ghc-libmpd" ,ghc-libmpd)
("ghc-old-locale" ,ghc-old-locale)
("ghc-parsec-numbers" ,ghc-parsec-numbers)
("ghc-regex-compat" ,ghc-regex-compat)
("ghc-temporary" ,ghc-temporary)
("ghc-timezone-olson" ,ghc-timezone-olson)
("ghc-x11" ,ghc-x11)
("ghc-x11-xft" ,ghc-x11-xft)
("libxpm" ,libxpm)))
(arguments
`(#:configure-flags
(list (string-append "--flags="
(string-join (list "with_inotify"
"with_iwlib"
"with_utf8"
"with_weather"
"with_xft"
"with_xpm")
" ")))))
`(#:configure-flags (list "--flags=all_extensions")
#:phases
(modify-phases %standard-phases
(add-before 'build 'patch-test-shebang
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "test/Xmobar/Plugins/Monitors/AlsaSpec.hs"
(("/bin/bash") (which "bash")))
#t)))))
(home-page "http://xmobar.org")
(synopsis "Minimalistic text based status bar")
(description

View File

@ -1108,6 +1108,49 @@ night to daytime temperature to allow your eyes to slowly adapt. At night the
color temperature should be set to match the lamps in your room.")
(license license:gpl3+)))
(define-public redshift-wayland
(let ((commit "7da875d34854a6a34612d5ce4bd8718c32bec804")
(revision "1"))
(package
(name "redshift-wayland")
(version (string-append "1.12-"
revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minus7/redshift.git")
(commit commit)))
(file-name (string-append name "-" version))
(sha256
(base32
"0nbkcw3avmzjg1jr1g9yfpm80kzisy55idl09b6wvzv2sz27n957"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("libdrm" ,libdrm)
("libx11" ,libx11)
("libxcb" ,libxcb)
("libxxf86vm" ,libxxf86vm)
("glib" ,glib) ; for Geoclue2 support
("wayland" ,wayland)))
(home-page "https://github.com/minus7/redshift")
(synopsis "Adjust the color temperature of your screen (with Wayland support)")
(description
"Redshift adjusts the color temperature according to the position of the
sun. A different color temperature is set during night and daytime. During
twilight and early morning, the color temperature transitions smoothly from
night to daytime temperature to allow your eyes to slowly adapt. At night the
color temperature should be set to match the lamps in your room.
This is a fork with added support for Wayland using the wlr-gamma-control
protocol.")
(license license:gpl3+))))
(define-public xscreensaver
(package
(name "xscreensaver")

View File

@ -59,8 +59,7 @@
(provision '(sysctl))
(start #~(lambda _
(zero? (system* #$sysctl "--load" #$sysctl.conf))))
(stop #~(const #t))
(respawn? #f))))))
(one-shot? #t))))))
(define sysctl-service-type
(service-type

View File

@ -678,7 +678,7 @@ to USB sticks meant to be read-only."
(initrd (lambda (file-systems . rest)
(apply (operating-system-initrd os)
file-systems
#:volatile-root? #t
#:volatile-root? volatile?
rest)))
(bootloader (if (string=? "iso9660" file-system-type)

View File

@ -267,7 +267,7 @@ packages defined in installation-os."
(define* (qemu-command/writable-image image #:key (memory-size 256))
"Return as a monadic value the command to run QEMU on a writable copy of
IMAGE, a disk image. The QEMU VM is has access to MEMORY-SIZE MiB of RAM."
IMAGE, a disk image. The QEMU VM has access to MEMORY-SIZE MiB of RAM."
(mlet %store-monad ((system (current-system)))
(return #~(let ((image #$image))
;; First we need a writable copy of the image.

View File

@ -187,10 +187,13 @@ name decoding bug described at
DIRECTORY. Those authority certificates are checked when
'peer-certificate-status' is later called."
(let ((cred (make-certificate-credentials))
(files (or (scandir directory
(lambda (file)
(string-suffix? ".pem" file)))
'())))
(files (match (scandir directory (cut string-suffix? ".pem" <>))
((or #f ())
;; Some distros provide nothing but bundles (*.crt) under
;; /etc/ssl/certs, so look for them.
(or (scandir directory (cut string-suffix? ".crt" <>))
'()))
(pem pem))))
(for-each (lambda (file)
(let ((file (string-append directory "/" file)))
;; Protect against dangling symlinks.
@ -198,7 +201,7 @@ DIRECTORY. Those authority certificates are checked when
(set-certificate-credentials-x509-trust-file!*
cred file
x509-certificate-format/pem))))
(or files '()))
files)
cred))
(define (peer-certificate session)

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -74,40 +74,14 @@ archive, a directory, or an Emacs Lisp file."
#t)
(gnu:unpack #:source source)))
(define* (set-emacs-load-path #:key source inputs #:allow-other-keys)
(define (inputs->directories inputs)
"Extract the directory part from INPUTS."
(match inputs
(((names . directories) ...) directories)))
(define (input-directory->el-directory input-directory)
"Return the correct Emacs Lisp directory in INPUT-DIRECTORY or #f, if there
is no Emacs Lisp directory."
(let ((legacy-elisp-directory (string-append input-directory %legacy-install-suffix))
(guix-elisp-directory
(string-append
input-directory %install-suffix "/"
(store-directory->elpa-name-version input-directory))))
(cond
((file-exists? guix-elisp-directory) guix-elisp-directory)
((file-exists? legacy-elisp-directory) legacy-elisp-directory)
(else #f))))
(define (input-directories->el-directories input-directories)
"Return the list of Emacs Lisp directories in INPUT-DIRECTORIES."
(filter-map input-directory->el-directory input-directories))
"Set the EMACSLOADPATH environment variable so that dependencies are found."
(define* (add-source-to-load-path #:key dummy #:allow-other-keys)
"Augment the EMACSLOADPATH environment variable with the source directory."
(let* ((source-directory (getcwd))
(input-elisp-directories (input-directories->el-directories
(inputs->directories inputs)))
(emacs-load-path-value
(string-join
(append input-elisp-directories (list source-directory))
":" 'suffix)))
(emacs-load-path-value (string-append (getenv "EMACSLOADPATH") ":"
source-directory)))
(setenv "EMACSLOADPATH" emacs-load-path-value)
(format #t "environment variable `EMACSLOADPATH' set to ~a\n"
emacs-load-path-value)))
(format #t "source directory ~s appended to the `EMACSLOADPATH' \
environment variable\n" source-directory)))
(define* (build #:key outputs inputs #:allow-other-keys)
"Compile .el files."
@ -269,7 +243,7 @@ second hyphen. This corresponds to 'name-version' as used in ELPA packages."
(define %standard-phases
(modify-phases gnu:%standard-phases
(replace 'unpack unpack)
(add-after 'unpack 'set-emacs-load-path set-emacs-load-path)
(add-after 'unpack 'add-source-to-load-path add-source-to-load-path)
(delete 'bootstrap)
(delete 'configure)
;; Move the build phase after install: the .el files are byte compiled

View File

@ -52,8 +52,8 @@
hackage-package?))
(define ghc-standard-libraries
;; List of libraries distributed with ghc (8.4.3).
;; Contents of ...-ghc-8.4.3/lib/ghc-8.4.3.
;; List of libraries distributed with ghc (8.6.5).
;; Contents of ...-ghc-8.6.5/lib/ghc-8.6.5.
'("ghc"
"cabal" ;; in the output of `ghc-pkg list` Cabal is uppercased, but
;; hackage-name->package-name takes this into account.
@ -70,11 +70,13 @@
"ghc-boot"
"ghc-boot-th"
"ghc-compact"
"ghc-heap"
"ghc-prim"
"ghci"
"haskeline"
"hpc"
"integer-gmp"
"libiserv"
"mtl"
"parsec"
"pretty"

View File

@ -89,6 +89,7 @@
gexp->derivation-in-inferior
%inferior-cache-directory
cached-channel-instance
inferior-for-channels))
;;; Commentary:
@ -635,6 +636,58 @@ failing when GUIX is too old and lacks the 'guix repl' command."
(make-parameter (string-append (cache-directory #:ensure? #f)
"/inferiors")))
(define* (cached-channel-instance store
channels
#:key
(cache-directory (%inferior-cache-directory))
(ttl (* 3600 24 30)))
"Return a directory containing a guix filetree defined by CHANNELS, a list of channels.
The directory is a subdirectory of CACHE-DIRECTORY, where entries can be reclaimed after TTL seconds.
This procedure opens a new connection to the build daemon."
(define instances
(latest-channel-instances store channels))
(define key
(bytevector->base32-string
(sha256
(string->utf8
(string-concatenate (map channel-instance-commit instances))))))
(define cached
(string-append cache-directory "/" key))
(define (base32-encoded-sha256? str)
(= (string-length str) 52))
(define (cache-entries directory)
(map (lambda (file)
(string-append directory "/" file))
(scandir directory base32-encoded-sha256?)))
(define symlink*
(lift2 symlink %store-monad))
(define add-indirect-root*
(store-lift add-indirect-root))
(mkdir-p cache-directory)
(maybe-remove-expired-cache-entries cache-directory
cache-entries
#:entry-expiration
(file-expiration-time ttl))
(if (file-exists? cached)
cached
(run-with-store store
(mlet %store-monad ((profile
(channel-instances->derivation instances)))
(mbegin %store-monad
(show-what-to-build* (list profile))
(built-derivations (list profile))
(symlink* (derivation->output-path profile) cached)
(add-indirect-root* cached)
(return cached))))))
(define* (inferior-for-channels channels
#:key
(cache-directory (%inferior-cache-directory))
@ -645,48 +698,10 @@ procedure opens a new connection to the build daemon.
This is a convenience procedure that people may use in manifests passed to
'guix package -m', for instance."
(with-store store
(let ()
(define instances
(latest-channel-instances store channels))
(define key
(bytevector->base32-string
(sha256
(string->utf8
(string-concatenate (map channel-instance-commit instances))))))
(define cached
(string-append cache-directory "/" key))
(define (base32-encoded-sha256? str)
(= (string-length str) 52))
(define (cache-entries directory)
(map (lambda (file)
(string-append directory "/" file))
(scandir directory base32-encoded-sha256?)))
(define symlink*
(lift2 symlink %store-monad))
(define add-indirect-root*
(store-lift add-indirect-root))
(mkdir-p cache-directory)
(maybe-remove-expired-cache-entries cache-directory
cache-entries
#:entry-expiration
(file-expiration-time ttl))
(if (file-exists? cached)
(open-inferior cached)
(run-with-store store
(mlet %store-monad ((profile
(channel-instances->derivation instances)))
(mbegin %store-monad
(show-what-to-build* (list profile))
(built-derivations (list profile))
(symlink* (derivation->output-path profile) cached)
(add-indirect-root* cached)
(return (open-inferior cached)))))))))
(define cached
(with-store store
(cached-channel-instance store
channels
#:cache-directory cache-directory
#:ttl ttl)))
(open-inferior cached))

View File

@ -802,7 +802,15 @@ build---packages, gexps, derivations, and so on."
(append-map (match-lambda
(('argument . (? string? spec))
(cond ((derivation-path? spec)
(list (read-derivation-from-file spec)))
(catch 'system-error
(lambda ()
(list (read-derivation-from-file spec)))
(lambda args
;; Non-existent .drv files can be substituted down
;; the road, so don't error out.
(if (= ENOENT (system-error-errno args))
'()
(apply throw args)))))
((store-path? spec)
;; Nothing to do; maybe for --log-file.
'())
@ -934,7 +942,11 @@ needed."
'())))
(items (filter-map (match-lambda
(('argument . (? store-path? file))
(and (not (derivation-path? file))
;; If FILE is a .drv that's not in
;; store, keep it so that it can be
;; substituted.
(and (or (not (derivation-path? file))
(not (file-exists? file)))
file))
(_ #f))
opts))
@ -965,7 +977,8 @@ needed."
(map (compose list derivation-file-name) drv)
roots))
((not (assoc-ref opts 'dry-run?))
(and (build-derivations store drv mode)
(and (build-derivations store (append drv items)
mode)
(for-each show-derivation-outputs drv)
(for-each (cut register-root store <> <>)
(map (lambda (drv)

View File

@ -62,6 +62,10 @@ Perform the deployment specified by FILE.\n"))
(lambda args
(show-help)
(exit 0)))
(option '(#\V "version") #f #f
(lambda args
(show-version-and-exit "guix deploy")))
(option '(#\s "system") #t #f
(lambda (opt name arg result)
(alist-cons 'system arg

View File

@ -800,6 +800,10 @@ last resort for relocation."
(option '(#\n "dry-run") #f #f
(lambda (opt name arg result)
(alist-cons 'dry-run? #t (alist-cons 'graft? #f result))))
(option '(#\d "derivation") #f #f
(lambda (opt name arg result)
(alist-cons 'derivation-only? #t result)))
(option '(#\f "format") #t #f
(lambda (opt name arg result)
(alist-cons 'format (string->symbol arg) result)))
@ -918,6 +922,8 @@ Create a bundle of PACKAGE.\n"))
-r, --root=FILE make FILE a symlink to the result, and register it
as a garbage collector root"))
(display (G_ "
-d, --derivation return the derivation of the pack"))
(display (G_ "
-v, --verbosity=LEVEL use the given verbosity LEVEL"))
(display (G_ "
--bootstrap use the bootstrap binaries to build the pack"))
@ -1002,6 +1008,7 @@ Create a bundle of PACKAGE.\n"))
(assoc-ref opts 'system)
#:graft? (assoc-ref opts 'graft?))))
(let* ((dry-run? (assoc-ref opts 'dry-run?))
(derivation? (assoc-ref opts 'derivation-only?))
(relocatable? (assoc-ref opts 'relocatable?))
(proot? (eq? relocatable? 'proot))
(manifest (let ((manifest (manifest-from-args store opts)))
@ -1070,11 +1077,15 @@ Create a bundle of PACKAGE.\n"))
#:archiver
archiver)))
(mbegin %store-monad
(show-what-to-build* (list drv)
#:use-substitutes?
(assoc-ref opts 'substitutes?)
#:dry-run? dry-run?)
(munless dry-run?
(munless derivation?
(show-what-to-build* (list drv)
#:use-substitutes?
(assoc-ref opts 'substitutes?)
#:dry-run? dry-run?))
(mwhen derivation?
(return (format #t "~a~%"
(derivation-file-name drv))))
(munless (or derivation? dry-run?)
(built-derivations (list drv))
(mwhen gc-root
(register-root* (match (derivation->output-paths drv)

View File

@ -36,6 +36,8 @@
#:autoload (guix inferior) (open-inferior)
#:use-module (guix scripts build)
#:autoload (guix build utils) (which)
#:use-module ((guix build syscalls)
#:select (with-file-lock/no-wait))
#:use-module (guix git)
#:use-module (git)
#:use-module (gnu packages)
@ -56,6 +58,8 @@
#:use-module (ice-9 vlist)
#:use-module (ice-9 format)
#:export (display-profile-content
channel-list
with-git-error-handling
guix-pull))
@ -78,8 +82,6 @@
(define (show-help)
(display (G_ "Usage: guix pull [OPTION]...
Download and deploy the latest version of Guix.\n"))
(display (G_ "
--verbose produce verbose output"))
(display (G_ "
-C, --channels=FILE deploy the channels defined in FILE"))
(display (G_ "
@ -120,10 +122,7 @@ Download and deploy the latest version of Guix.\n"))
(define %options
;; Specifications of the command-line options.
(cons* (option '("verbose") #f #f
(lambda (opt name arg result)
(alist-cons 'verbose? #t result)))
(option '(#\C "channels") #t #f
(cons* (option '(#\C "channels") #t #f
(lambda (opt name arg result)
(alist-cons 'channel-file arg result)))
(option '(#\l "list-generations") #f #t
@ -382,7 +381,7 @@ previous generation. Return true if there are news to display."
(display-channel-news profile))
(define* (build-and-install instances profile
#:key use-substitutes? verbose? dry-run?)
#:key use-substitutes? dry-run?)
"Build the tool from SOURCE, and install it in PROFILE. When DRY-RUN? is
true, display what would be built without actually building it."
(define update-profile
@ -818,13 +817,16 @@ Use '~/.config/guix/channels.scm' instead."))
(if (assoc-ref opts 'bootstrap?)
%bootstrap-guile
(canonical-package guile-2.2)))))
(run-with-store store
(build-and-install instances profile
#:dry-run?
(assoc-ref opts 'dry-run?)
#:use-substitutes?
(assoc-ref opts 'substitutes?)
#:verbose?
(assoc-ref opts 'verbose?))))))))))))))
(with-file-lock/no-wait (string-append profile ".lock")
(lambda (key . args)
(leave (G_ "profile ~a is locked by another process~%")
profile))
(run-with-store store
(build-and-install instances profile
#:dry-run?
(assoc-ref opts 'dry-run?)
#:use-substitutes?
(assoc-ref opts 'substitutes?)))))))))))))))
;;; pull.scm ends here

View File

@ -0,0 +1,135 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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 (guix scripts time-machine)
#:use-module (guix ui)
#:use-module (guix scripts)
#:use-module (guix inferior)
#:use-module (guix channels)
#:use-module (guix store)
#:use-module (guix status)
#:use-module ((guix utils)
#:select (%current-system))
#:use-module ((guix scripts pull)
#:select (with-git-error-handling channel-list))
#:use-module ((guix scripts build)
#:select (%standard-build-options
show-build-options-help
set-build-options-from-command-line))
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-37)
#:export (guix-time-machine))
;;;
;;; Command-line options.
;;;
(define (show-help)
(display (G_ "Usage: guix time-machine [OPTION] -- COMMAND ARGS...
Execute COMMAND ARGS... in an older version of Guix.\n"))
(display (G_ "
-C, --channels=FILE deploy the channels defined in FILE"))
(display (G_ "
--url=URL use the Git repository at URL"))
(display (G_ "
--commit=COMMIT use the specified COMMIT"))
(display (G_ "
--branch=BRANCH use the tip of the specified BRANCH"))
(newline)
(show-build-options-help)
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
-V, --version display version information and exit"))
(newline)
(show-bug-report-information))
(define %options
;; Specifications of the command-line options.
(cons* (option '(#\C "channels") #t #f
(lambda (opt name arg result)
(alist-cons 'channel-file arg result)))
(option '("url") #t #f
(lambda (opt name arg result)
(alist-cons 'repository-url arg
(alist-delete 'repository-url result))))
(option '("commit") #t #f
(lambda (opt name arg result)
(alist-cons 'ref `(commit . ,arg) result)))
(option '("branch") #t #f
(lambda (opt name arg result)
(alist-cons 'ref `(branch . ,arg) result)))
(option '(#\h "help") #f #f
(lambda args
(show-help)
(exit 0)))
(option '(#\V "version") #f #f
(lambda args
(show-version-and-exit "guix time-machine")))
%standard-build-options))
(define %default-options
;; Alist of default option values.
`((system . ,(%current-system))
(substitutes? . #t)
(build-hook? . #t)
(print-build-trace? . #t)
(print-extended-build-trace? . #t)
(multiplexed-build-output? . #t)
(graft? . #t)
(debug . 0)
(verbosity . 1)))
(define (parse-args args)
"Parse the list of command line arguments ARGS."
;; The '--' token is used to separate the command to run from the rest of
;; the operands.
(let-values (((args command) (break (cut string=? "--" <>) args)))
(let ((opts (parse-command-line args %options
(list %default-options))))
(match command
(() opts)
(("--") opts)
(("--" command ...) (alist-cons 'exec command opts))))))
;;;
;;; Entry point.
;;;
(define (guix-time-machine . args)
(with-error-handling
(with-git-error-handling
(let* ((opts (parse-args args))
(channels (channel-list opts))
(command-line (assoc-ref opts 'exec)))
(when command-line
(let* ((directory
(with-store store
(with-status-verbosity (assoc-ref opts 'verbosity)
(set-build-options-from-command-line store opts)
(cached-channel-instance store channels))))
(executable (string-append directory "/bin/guix")))
(apply execl (cons* executable executable command-line))))))))

View File

@ -782,13 +782,11 @@ be determined."
;; the absolute file name by looking at %LOAD-PATH; doing this at
;; run time rather than expansion time is necessary to allow files
;; to be moved on the file system.
(cond ((not file-name)
#f) ;raising an error would upset Geiser users
((string-prefix? "/" file-name)
(dirname file-name))
(else
#`(absolute-dirname #,file-name))))
(#f
(if (string-prefix? "/" file-name)
(dirname file-name)
#`(absolute-dirname #,file-name)))
((or ('filename . #f) #f)
;; raising an error would upset Geiser users
#f))))))
;; A source location.

View File

@ -36,6 +36,19 @@ guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)' | \
guix build hello -d | \
grep -e '-hello-[0-9\.]\+\.drv$'
# Passing a .drv.
drv="`guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)' -d`"
out="`guix build "$drv"`"
out2="`guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'`"
test "$out" = "$out2"
# Passing the name of a .drv that doesn't exist. The daemon should try to
# substitute the .drv. Here we just look for the "cannot build missing
# derivation" error that indicates that the daemon did try to substitute the
# .drv.
guix build "$NIX_STORE_DIR/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-foo.drv" 2>&1 \
| grep "missing derivation"
# Passing a URI.
GUIX_DAEMON_SOCKET="file://$GUIX_STATE_DIRECTORY/daemon-socket/socket" \
guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'

View File

@ -36,6 +36,10 @@ export GUIX_BUILD_OPTIONS
test_directory="`mktemp -d`"
trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT
# Compute the derivation of a pack.
drv="`guix pack coreutils -d --no-grafts`"
guix gc -R "$drv" | grep "`guix build coreutils -d --no-grafts`"
# Build a tarball with no compression.
guix pack --compression=none --bootstrap guile-bootstrap