Merge remote-tracking branch 'origin/master' into core-updates

This commit is contained in:
Efraim Flashner 2019-12-12 04:10:59 +02:00
commit c9e676d0b1
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351
104 changed files with 5052 additions and 1502 deletions

View file

@ -961,6 +961,19 @@ often better to clone the repository. Don't use the @command{name} field in
the URL: it is not very useful and if the name changes, the URL will probably
be wrong.
@item
See if Guix builds with
@example
guix environment --pure guix -- make
@end example
and look for warnings, especially those about use of undefined symbols.
@item
Make sure your changes do not break Guix and simulate a @code{guix pull} with:
@example
guix pull --url=/path/to/your/checkout --profile=/tmp/guix.master
@end example
@end enumerate
When posting a patch to the mailing list, use @samp{[PATCH] @dots{}} as

View file

@ -39,7 +39,7 @@ Copyright @copyright{} 2016, 2017, 2018, 2019 Jan Nieuwenhuizen@*
Copyright @copyright{} 2016 Julien Lepiller@*
Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2016, 2017, 2018, 2019 Christopher Baines@*
Copyright @copyright{} 2017, 2018 Clément Lassieur@*
Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@*
Copyright @copyright{} 2017, 2018 Mathieu Othacehe@*
Copyright @copyright{} 2017 Federico Beffa@*
Copyright @copyright{} 2017, 2018 Carlo Zancanaro@*
@ -5053,7 +5053,7 @@ Yet another option is to produce a SquashFS image with the following
command:
@example
guix pack -f squashfs guile emacs geiser
guix pack -f squashfs bash guile emacs geiser
@end example
@noindent
@ -5088,6 +5088,21 @@ package names passed on the command line or in the manifest file.
This produces a SquashFS image containing all the specified binaries and
symlinks, as well as empty mount points for virtual file systems like
procfs.
@quotation Note
Singularity @emph{requires} you to provide @file{/bin/sh} in the image.
For that reason, @command{guix pack -f squashfs} always implies @code{-S
/bin=bin}. Thus, your @command{guix pack} invocation must always start
with something like:
@example
guix pack -f squashfs bash @dots{}
@end example
If you forget the @code{bash} (or similar) package, @command{singularity
run} and @command{singularity exec} will fail with an unhelpful ``no
such file or directory'' message.
@end quotation
@end table
@cindex relocatable binaries
@ -7442,6 +7457,7 @@ native package build:
(gexp->derivation "vi"
#~(begin
(mkdir #$output)
(mkdir (string-append #$output "/bin"))
(system* (string-append #+coreutils "/bin/ln")
"-s"
(string-append #$emacs "/bin/emacs")
@ -9676,6 +9692,14 @@ and exit.
Only enable the checkers specified in a comma-separated list using the
names returned by @code{--list-checkers}.
@item --load-path=@var{directory}
@itemx -L @var{directory}
Add @var{directory} to the front of the package module search path
(@pxref{Package Modules}).
This allows users to define their own packages and make them visible to
the command-line tools.
@end table
@node Invoking guix size
@ -11244,9 +11268,12 @@ corresponding device mapping established.
This is a list of symbols denoting mount flags. Recognized flags
include @code{read-only}, @code{bind-mount}, @code{no-dev} (disallow
access to special files), @code{no-suid} (ignore setuid and setgid
bits), @code{no-atime} (do not update file access times), and @code{no-exec}
(disallow program execution). @xref{Mount-Unmount-Remount,,, libc, The GNU C
Library Reference Manual}, for more information on these flags.
bits), @code{no-atime} (do not update file access times),
@code{strict-atime} (update file access time), @code{lazy-time} (only
update time on the in-memory version of the file inode), and
@code{no-exec} (disallow program execution).
@xref{Mount-Unmount-Remount,,, libc, The GNU C Library Reference
Manual}, for more information on these flags.
@item @code{options} (default: @code{#f})
This is either @code{#f}, or a string denoting mount options passed to the
@ -18280,7 +18307,7 @@ When @var{interface} is @code{127.0.0.1}, only local clients can
connect; when it is @code{0.0.0.0}, connections can come from any
networking interface.
@item @code{package} (default: @code{bitlbee})
@item @code{bitlbee} (default: @code{bitlbee})
The BitlBee package to use.
@item @code{plugins} (default: @code{'()})
@ -25900,6 +25927,15 @@ switch to it@footnote{This action (and the related actions
@code{switch-generation} and @code{roll-back}) are usable only on
systems already running Guix System.}.
@quotation Note
@c The paragraph below refers to the problem discussed at
@c <https://lists.gnu.org/archive/html/guix-devel/2014-08/msg00057.html>.
It is highly recommended to run @command{guix pull} once before you run
@command{guix system reconfigure} for the first time (@pxref{Invoking
guix pull}). Failing to do that you would see an older version of Guix
once @command{reconfigure} has completed.
@end quotation
This effects all the configuration specified in @var{file}: user
accounts, system services, global package list, setuid programs, etc.
The command starts system services specified in @var{file} that are not
@ -25918,14 +25954,27 @@ It also adds a bootloader menu entry for the new OS configuration,
entries for older configurations to a submenu, allowing you to choose
an older system generation at boot time should you need it.
@quotation Note
@c The paragraph below refers to the problem discussed at
@c <https://lists.gnu.org/archive/html/guix-devel/2014-08/msg00057.html>.
It is highly recommended to run @command{guix pull} once before you run
@command{guix system reconfigure} for the first time (@pxref{Invoking
guix pull}). Failing to do that you would see an older version of Guix
once @command{reconfigure} has completed.
@end quotation
@cindex provenance tracking, of the operating system
Upon completion, the new system is deployed under
@file{/run/current-system}. This directory contains @dfn{provenance
meta-data}: the list of channels in use (@pxref{Channels}) and
@var{file} itself, when available. This information is useful should
you later want to inspect how this particular generation was built.
In fact, assuming @var{file} is self-contained, you can later rebuild
generation @var{n} of your operating system with:
@example
guix time-machine \
-C /var/guix/profiles/system-@var{n}-link/channels.scm -- \
system reconfigure \
/var/guix/profiles/system-@var{n}-link/configuration.scm
@end example
You can think of it as some sort of built-in version control! Your
system is not just a binary artifact: @emph{it carries its own source}.
@xref{Service Reference, @code{provenance-service-type}}, for more
information on provenance tracking.
@item switch-generation
@cindex generations
@ -26187,6 +26236,25 @@ This works as per @command{guix build} (@pxref{Invoking guix build}).
Return the derivation file name of the given operating system without
building anything.
@cindex provenance tracking, of the operating system
@item --save-provenance
As discussed above, @command{guix system init} and @command{guix system
reconfigure} always save provenance information @i{via} a dedicated
service (@pxref{Service Reference, @code{provenance-service-type}}).
However, other commands don't do that by default. If you wish to, say,
create a virtual machine image that contains provenance information, you
can run:
@example
guix system vm-image --save-provenance config.scm
@end example
That way, the resulting image will effectively ``embed its own source''
in the form of meta-data in @file{/run/current-system}. With that
information, one can rebuild the image to make sure it really contains
what it pretends to contain; or they could use that to derive a variant
of the image.
@item --file-system-type=@var{type}
@itemx -t @var{type}
For the @code{disk-image} action, create a file system of the given
@ -26260,6 +26328,10 @@ bootloader boot menu:
@table @code
@item describe
Describe the current system generation: its file name, the kernel and
bootloader used, etc., as well as provenance information when available.
@item list-generations
List a summary of each generation of the operating system available on
disk, in a human-readable way. This is similar to the
@ -27043,6 +27115,54 @@ programs under @file{/run/current-system/profile}. Other services can
extend it by passing it lists of packages to add to the system profile.
@end defvr
@cindex provenance tracking, of the operating system
@defvr {Scheme Variable} provenance-service-type
This is the type of the service that records @dfn{provenance meta-data}
in the system itself. It creates several files under
@file{/run/current-system}:
@table @file
@item channels.scm
This is a ``channel file'' that can be passed to @command{guix pull -C}
or @command{guix time-machine -C}, and which describes the channels used
to build the system, if that information was available
(@pxref{Channels}).
@item configuration.scm
This is the file that was passed as the value for this
@code{provenance-service-type} service. By default, @command{guix
system reconfigure} automatically passes the OS configuration file it
received on the command line.
@item provenance
This contains the same information as the two other files but in a
format that is more readily processable.
@end table
In general, these two pieces of information (channels and configuration
file) are enough to reproduce the operating system ``from source''.
@quotation Caveats
This information is necessary to rebuild your operating system, but it
is not always sufficient. In particular, @file{configuration.scm}
itself is insufficient if it is not self-contained---if it refers to
external Guile modules or to extra files. If you want
@file{configuration.scm} to be self-contained, we recommend that modules
or files it refers to be part of a channel.
Besides, provenance meta-data is ``silent'' in the sense that it does
not change the bits contained in your system, @emph{except for the
meta-data bits themselves}. Two different OS configurations or sets of
channels can lead to the same system, bit-for-bit; when
@code{provenance-service-type} is used, these two systems will have
different meta-data and thus different store file names, which makes
comparison less trivial.
@end quotation
This service is automatically added to your operating system
configuration when you use @command{guix system reconfigure},
@command{guix system init}, or @command{guix deploy}.
@end defvr
@node Shepherd Services
@subsection Shepherd Services

View file

@ -2,6 +2,7 @@
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -577,6 +578,10 @@ (define (mount-flags->bit-mask flags)
(logior MS_NOEXEC (loop rest)))
(('no-atime rest ...)
(logior MS_NOATIME (loop rest)))
(('strict-atime rest ...)
(logior MS_STRICTATIME (loop rest)))
(('lazy-time rest ...)
(logior MS_LAZYTIME (loop rest)))
(()
0))))

View file

@ -23,6 +23,8 @@
# Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
# Copyright © 2019 John Soo <jsoo1@asu.edu>
# Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
# Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
# Copyright © 2019 Brett Gilio <brettg@posteo.de>
#
# This file is part of GNU Guix.
#
@ -924,10 +926,8 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-2.28-supported-locales.patch \
%D%/packages/patches/glibc-supported-locales.patch \
%D%/packages/patches/glm-restore-install-target.patch \
%D%/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnome-control-center-udisks.patch \
%D%/packages/patches/gnome-shell-theme.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
@ -947,6 +947,7 @@ dist_patch_DATA = \
%D%/packages/patches/guile-2.2-skip-oom-test.patch \
%D%/packages/patches/guile-default-utf8.patch \
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \
%D%/packages/patches/guile-finalization-crash.patch \
%D%/packages/patches/guile-linux-syscalls.patch \
%D%/packages/patches/guile-present-coding.patch \
%D%/packages/patches/guile-relocatable.patch \
@ -1132,6 +1133,7 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4409.patch \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/mes-remove-store-name.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/mesa-timespec-test-32bit.patch \
%D%/packages/patches/mescc-tools-boot.patch \
@ -1164,6 +1166,7 @@ dist_patch_DATA = \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/m4-gnulib-libio.patch \
%D%/packages/patches/ncompress-fix-softlinks.patch \
%D%/packages/patches/netcdf-date-time.patch \
%D%/packages/patches/netcdf-tst_h_par.patch \
%D%/packages/patches/netpbm-CVE-2017-2586.patch \
@ -1176,6 +1179,7 @@ dist_patch_DATA = \
%D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/nm-plugin-path.patch \
%D%/packages/patches/nsis-env-passthru.patch \
%D%/packages/patches/nss-CVE-2019-11745.patch \
%D%/packages/patches/nss-freebl-stubs.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-pkgconfig.patch \
@ -1295,7 +1299,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pyatspi-python-37.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
@ -1332,7 +1335,6 @@ dist_patch_DATA = \
%D%/packages/patches/retroarch-disable-online-updater.patch \
%D%/packages/patches/ruby-rubygems-276-for-ruby24.patch \
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
%D%/packages/patches/ruby-safe-yaml-add-require-time.patch \
%D%/packages/patches/ruby-tzinfo-data-ignore-broken-test.patch\
%D%/packages/patches/runc-CVE-2019-5736.patch \
%D%/packages/patches/rust-1.19-mrustc.patch \
@ -1363,7 +1365,6 @@ dist_patch_DATA = \
%D%/packages/patches/soundconverter-remove-gconf-dependency.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/streamlink-update-test.patch \
%D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \
%D%/packages/patches/supercollider-boost-1.70-build-fix.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \
%D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \
@ -1400,8 +1401,6 @@ dist_patch_DATA = \
%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 \
@ -1443,6 +1442,7 @@ dist_patch_DATA = \
%D%/packages/patches/wavpack-CVE-2018-7253.patch \
%D%/packages/patches/wavpack-CVE-2018-7254.patch \
%D%/packages/patches/weasyprint-library-paths.patch \
%D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
%D%/packages/patches/wicd-urwid-1.3.patch \

View file

@ -33,7 +33,6 @@ (define-module (gnu machine)
machine
machine?
this-machine
machine-operating-system
machine-environment
@ -89,15 +88,18 @@ (define-record-type* <environment-type> environment-type
;;; Declarations for machines in a deployment.
;;;
(define-record-type* <machine> machine
make-machine
(define-record-type* <machine> machine make-machine
machine?
this-machine
(operating-system machine-operating-system) ; <operating-system>
(operating-system %machine-operating-system); <operating-system>
(environment machine-environment) ; symbol
(configuration machine-configuration ; configuration object
(default #f))) ; specific to environment
(define (machine-operating-system machine)
"Return the operating system of MACHINE."
(operating-system-with-provenance
(%machine-operating-system machine)))
(define (machine-display-name machine)
"Return the host-name identifying MACHINE."
(operating-system-host-name (machine-operating-system machine)))

View file

@ -74,7 +74,6 @@ (define-module (gnu machine ssh)
(define-record-type* <machine-ssh-configuration> machine-ssh-configuration
make-machine-ssh-configuration
machine-ssh-configuration?
this-machine-ssh-configuration
(host-name machine-ssh-configuration-host-name) ; string
(system machine-ssh-configuration-system) ; string
(build-locally? machine-ssh-configuration-build-locally? ; boolean
@ -103,6 +102,9 @@ (define (machine-ssh-session machine)
(port (machine-ssh-configuration-port config))
(identity (machine-ssh-configuration-identity config))
(host-key (machine-ssh-configuration-host-key config)))
(unless host-key
(warning (G_ "<machine-ssh-configuration> without a 'host-key' \
is deprecated~%")))
(open-ssh-session host-name
#:user user
#:port port

View file

@ -209,10 +209,10 @@ (define-public shepherd
`(("pkg-config" ,pkg-config)
;; This is the Guile we use as a cross-compiler...
("guile" ,guile-2.2)))
("guile" ,guile-2.2/bug-fix)))
(inputs
;; ... and this is the one that appears in shebangs when cross-compiling.
`(("guile" ,guile-2.2)
`(("guile" ,guile-2.2/bug-fix) ;for <https://bugs.gnu.org/37757>
;; The 'shepherd' command uses Readline when used interactively. It's
;; an unusual use case though, so we don't propagate it.
@ -449,7 +449,7 @@ (define-public inetutils
(define-public shadow
(package
(name "shadow")
(version "4.7")
(version "4.8")
(source (origin
(method url-fetch)
(uri (string-append
@ -457,7 +457,7 @@ (define-public shadow
"download/" version "/shadow-" version ".tar.xz"))
(sha256
(base32
"0v71474rx38lg9kidrm4xbk35sg3icv3s5pk2b42icp3lyj9dqg5"))))
"0r5c1p8mfwhw11gb6mjsx1k7d4c32dxai7yss8n5pwy1p61ndd34"))))
(build-system gnu-build-system)
(arguments
`(;; Assume System V `setpgrp (void)', which is the default on GNU
@ -629,7 +629,7 @@ (define-public netcat
(define-public netcat-openbsd
(package
(name "netcat-openbsd")
(version "1.203-2")
(version "1.206-1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -638,7 +638,7 @@ (define-public netcat-openbsd
(file-name (git-file-name name version))
(sha256
(base32
"0j85gzbjzs6yrhgabh3zkwzd27qkr5s0zjjczl0hah8q7yhrjk3m"))))
"08r3mmck3s5pbvwyq19wp5g8jqcxza3cm8nkc6jm7rqn4jdydc4z"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite

View file

@ -1966,15 +1966,15 @@ (define-public lvtk
(define-public openal
(package
(name "openal")
(version "1.19.1")
(version "1.20.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://openal-soft.org/openal-releases/openal-soft-"
"https://openal-soft.org/openal-releases/openal-soft-"
version ".tar.bz2"))
(sha256
(base32
"1sdjhkz2gd6lbnwphi1b6aw3br4wv2lik5vnqh6mxfc8a7zqfbsw"))))
"03p6s5gap0lvig2fs0a8nib5rxsc24dbqjsydpwvlm5l49wlk2f0"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no check target
@ -1983,26 +1983,19 @@ (define-public openal
(add-after
'unpack 'use-full-library-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Alc/backends/pulseaudio.c"
(substitute* "alc/backends/pulseaudio.cpp"
(("#define PALIB \"libpulse\\.so\\.0\"")
(string-append "#define PALIB \""
(assoc-ref inputs "pulseaudio")
"/lib/libpulse.so.0"
"\"")))
(substitute* "Alc/backends/alsa.c"
(substitute* "alc/backends/alsa.cpp"
(("LoadLib\\(\"libasound\\.so\\.2\"\\)")
(string-append "LoadLib(\""
(assoc-ref inputs "alsa-lib")
"/lib/libasound.so.2"
"\")")))
#t)))))
(native-inputs
`(;; FIXME: On i686-linux, GCC 7 hits an internal compiler error
;; upon building utils/makehrtf.c:3281:
;; "internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:908"
;; https://ci.guix.gnu.org/log/r2fjx9m75m9rifg2yjbnn853wqy2547n-openal-1.19.1
;; Remove this when the default compiler is GCC 9 or later.
("gcc" ,gcc-9)))
(inputs
`(("alsa-lib" ,alsa-lib)
("pulseaudio" ,pulseaudio)))
@ -2014,7 +2007,7 @@ (define-public openal
including air absorption, occlusion, and environmental reverb, are available
through the EFX extension. It also facilitates streaming audio, multi-channel
buffers, and audio capture.")
(home-page "http://openal-soft.org/")
(home-page "https://openal-soft.org/")
(license license:lgpl2.0+)))
(define-public freealut

View file

@ -3044,6 +3044,63 @@ (define-public r-gkmsvm
kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.")
(license license:gpl2+)))
;; This is a CRAN package, but it depends on multtest from Bioconductor.
(define-public r-mutoss
(package
(name "r-mutoss")
(version "0.1-12")
(source
(origin
(method url-fetch)
(uri (cran-uri "mutoss" version))
(sha256
(base32
"1yk7p7pb2xm38d3j19ysgwmix48lvimbhkhjjwk5jmr1a0ysx298"))))
(properties `((upstream-name . "mutoss")))
(build-system r-build-system)
(propagated-inputs
`(("r-multcomp" ,r-multcomp)
("r-multtest" ,r-multtest)
("r-mvtnorm" ,r-mvtnorm)
("r-plotrix" ,r-plotrix)))
(home-page "https://github.com/kornl/mutoss/")
(synopsis "Unified multiple testing procedures")
(description
"This package is designed to ease the application and comparison of
multiple hypothesis testing procedures for FWER, gFWER, FDR and FDX. Methods
are standardized and usable by the accompanying mutossGUI package.")
;; Any version of the GPL.
(license (list license:gpl2+ license:gpl3+))))
;; This is a CRAN package, but it depends on mutoss, which depends on multtest
;; from Bioconductor, so we put it here.
(define-public r-metap
(package
(name "r-metap")
(version "1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "metap" version))
(sha256
(base32
"0pfbcixjrzx81l9wqhlp55khg9k63zf8pvg2n39c19akr4ppzhvf"))))
(build-system r-build-system)
(propagated-inputs
`(("r-lattice" ,r-lattice)
("r-mutoss" ,r-mutoss)
("r-rdpack" ,r-rdpack)
("r-tfisher" ,r-tfisher)))
(home-page "http://www.dewey.myzen.co.uk/meta/meta.html")
(synopsis "Meta-analysis of significance values")
(description
"The canonical way to perform meta-analysis involves using effect sizes.
When they are not available this package provides a number of methods for
meta-analysis of significance values including the methods of Edgington,
Fisher, Stouffer, Tippett, and Wilkinson; a number of data-sets to replicate
published results; and a routine for graphical display.")
(license license:gpl2)))
(define-public r-triform
(package
(name "r-triform")

View file

@ -8239,6 +8239,35 @@ (define-public r-qtl
two-dimensional genome scans.")
(license license:gpl3)))
(define-public r-qtl2
(package
(name "r-qtl2")
(version "0.20")
(source (origin
(method git-fetch)
;; Not yet available in cran.
(uri (git-reference
(url "https://github.com/rqtl/qtl2.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0l1asr28q25jzbwrbg5490962sg3y4sjrd0qf09p78ws1aq8vfs0"))))
(build-system r-build-system)
(propagated-inputs
`(("r-data-table" ,r-data-table)
("r-jsonlite" ,r-jsonlite)
("r-rcpp" ,r-rcpp)
("r-rcppeigen" ,r-rcppeigen)
("r-rsqlite" ,r-rsqlite)
("r-yaml" ,r-yaml)))
(home-page "https://kbroman.org/qtl2/")
(synopsis
"QTL analysis software for high-dimensional data and complex cross designs")
(description
"R/qtl2 (aka qtl2) is a reimplementation of the QTL analysis software
R/qtl, to better handle high-dimensional data and complex cross designs.")
(license license:gpl3)))
(define-public r-zlibbioc
(package
(name "r-zlibbioc")

View file

@ -9,6 +9,7 @@
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Nam Nguyen <namn@berkeley.edu>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -416,7 +417,7 @@ (define-public libtorrent-rasterbar
(define-public qbittorrent
(package
(name "qbittorrent")
(version "4.1.9.1")
(version "4.2.0")
(source
(origin
(method git-fetch)
@ -425,7 +426,7 @@ (define-public qbittorrent
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19zgqlby7i1kr20wa4zd99qzd062a879xxxbmlf40rnqiqy4bhyi"))))
(base32 "17vm6aa2k8k1q14z9r2r06c794bcr4m0l0fdsn08wid6mj1zjsbx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View file

@ -1749,7 +1749,7 @@ (define-public python2-pylint
(let ((pylint (package-with-python2
(strip-python2-variant python-pylint))))
(package (inherit pylint)
(version "1.7.2")
(version "1.9.5")
(source
(origin
(method git-fetch)
@ -1759,7 +1759,7 @@ (define-public python2-pylint
(file-name (git-file-name (package-name pylint) version))
(sha256
(base32
"0yyc1gxq66li2adyx8njs83dh1pliylzkdmihw0k5bn6z4aakh8s"))))
"02a89d8a47s7nfiv1ady3j0sg2sbyja3np145brarfp5x9qxz9x2"))))
(arguments
`(,@(package-arguments pylint)
#:phases

View file

@ -26,6 +26,7 @@ (define-module (gnu packages cluster)
#:use-module (guix packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gettext)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages sphinx)
@ -87,7 +88,7 @@ (define-public keepalived
(define-public libraft
(package
(name "libraft")
(version "0.9.5")
(version "0.9.11")
(home-page "https://github.com/canonical/raft")
(source (origin
(method git-fetch)
@ -96,10 +97,17 @@ (define-public libraft
(file-name (git-file-name name version))
(sha256
(base32
"1q49f5mmv6nr6dxhnp044xwc6jlczgh0nj0bl6718wiqh28411x0"))))
(arguments '(#:configure-flags '("--disable-uv")))
;; The uv plugin tests fail, if libuv (or the example) is enabled,
;; because setting up the environment requires too much privileges.
"00rsq4z9nykmf7r5rlpv1y6bvckcmg3zv57vh1h681y5pij6cch1"))))
(arguments '(#:configure-flags '("--enable-uv")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
(substitute* "Makefile.am"
((".*test_uv_append.c.*") ""))
#t)))))
(inputs
`(("libuv" ,libuv)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)

View file

@ -176,9 +176,11 @@ (define tcc-boot0
(version (string-append version "-" revision "." (string-take commit 7)))
(source (origin
(method url-fetch)
(uri (string-append "https://gitlab.com/janneke/tinycc"
"/-/archive/" commit
"/tinycc-" commit ".tar.gz"))
(uri (list (string-append "mirror://gnu/guix/mirror"
"/tinycc-" commit ".tar.gz")
(string-append "https://gitlab.com/janneke/tinycc"
"/-/archive/" commit
"/tinycc-" commit ".tar.gz")))
(sha256
(base32
"1hmzn1pq0x22ppd80hyrn5qzqq94mxd0ychzj6vrr2vnj2frjv5b"))))

View file

@ -24,6 +24,7 @@
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2108,3 +2109,32 @@ (define-public makeself-safeextract
archives generated by @command{makeself} or @command{mojo} without running the
possibly untrusted extraction shell script.")
(license license:gpl3+))))
(define-public ncompress
(package
(name "ncompress")
(version "4.2.4.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vapier/ncompress")
(commit (string-append "v" version))))
(patches (search-patches "ncompress-fix-softlinks.patch"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0s3ik7k5a5vzcfiayhsxrc87drg3l425aqapspmw5py91b9jhc8r"))))
(arguments
'(#:make-flags (list "CC=gcc"
(string-append "BINDIR=" %output "/bin")
(string-append "MANDIR=" %output "/share/man/man1"))
#:phases (modify-phases %standard-phases
(delete 'configure))))
(build-system gnu-build-system)
(home-page "https://github.com/vapier/ncompress/")
(synopsis "Original Lempel-Ziv compress/uncompress programs")
(description "(N)compress provides the original compress and uncompress
programs that used to be the de facto UNIX standard for compressing and
uncompressing files. These programs implement a fast, simple Lempel-Ziv (LZW)
file compression algorithm.")
(license license:gpl2+)))

View file

@ -421,14 +421,14 @@ (define-public r-reprex
(define-public r-callr
(package
(name "r-callr")
(version "3.3.2")
(version "3.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "callr" version))
(sha256
(base32
"12dbqzjngbyaqdyw0yq1blyfx8pagcvx1vqj2jm451hs25nhdrnh"))))
"1hvxw2glizq8g0qnxakcxh8jc5scn0hp1x8i70fdpqwwbgx49slr"))))
(build-system r-build-system)
(propagated-inputs
`(("r-r6" ,r-r6)
@ -619,14 +619,14 @@ (define-public r-htmlwidgets
(define-public r-htmltable
(package
(name "r-htmltable")
(version "1.13.2")
(version "1.13.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "htmlTable" version))
(sha256
(base32
"0h6jslchlx1dzqqdb70c3n9xlapcym9ykycvr0hc4q3450y8qmvh"))))
"0g9r156k9yl1f092hfw3b9wjx11akf0shbi3x0d0mvpnflvc8nfl"))))
(properties `((upstream-name . "htmlTable")))
(build-system r-build-system)
(propagated-inputs
@ -2472,14 +2472,14 @@ (define-public r-fitdistrplus
(define-public r-energy
(package
(name "r-energy")
(version "1.7-6")
(version "1.7-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "energy" version))
(sha256
(base32
"16m8bxfgr9sdisjy2qrv6fv5xxwcc9q890l0hpbwq6qzisrdn3lh"))))
"13wnx5nwk7nsv7vf5sxhz4y0rxrnzm76ldgywk1bxrz67srqzf37"))))
(build-system r-build-system)
(propagated-inputs
`(("r-boot" ,r-boot)
@ -2821,14 +2821,14 @@ (define-public r-linprog
(define-public r-geometry
(package
(name "r-geometry")
(version "0.4.4")
(version "0.4.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "geometry" version))
(sha256
(base32
"1mx5n5mw63nij4n6crs9165mlls4fnh1ipw5ch467rjsidgl0mg8"))))
"1n10l8ax3783v3lgaacb15qsn8b3f0wpmhg3k39j31s6ciyd3vcg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-magic" ,r-magic)
@ -3745,18 +3745,20 @@ (define-public r-ggjoy
(define-public r-cli
(package
(name "r-cli")
(version "1.1.0")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "cli" version))
(sha256
(base32
"02hdwvdq5nic6dhxj88jbgsc9m8yrz3yibigg6szkggxyk6hzh2g"))))
"1gv3zqdipj29ivkw5dsi1qdlra7q4lcrcqvlg9fns7d670yglfki"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
("r-crayon" ,r-crayon)))
("r-crayon" ,r-crayon)
("r-fansi" ,r-fansi)
("r-glue" ,r-glue)))
(home-page "https://github.com/r-lib/cli#readme")
(synopsis "Helpers for developing command line interfaces")
(description "This package provides a suite of tools designed to build
@ -4121,31 +4123,6 @@ (define-public r-tinytex
automatically.")
(license license:expat)))
(define-public r-metap
(package
(name "r-metap")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "metap" version))
(sha256
(base32
"10kv7z8pik5iy374h399vws0ldf41y2nczlwh8axqf9dcwl084i0"))))
(build-system r-build-system)
(propagated-inputs
`(("r-lattice" ,r-lattice)
("r-rdpack" ,r-rdpack)))
(home-page "http://www.dewey.myzen.co.uk/meta/meta.html")
(synopsis "Meta-analysis of significance values")
(description
"The canonical way to perform meta-analysis involves using effect sizes.
When they are not available this package provides a number of methods for
meta-analysis of significance values including the methods of Edgington,
Fisher, Stouffer, Tippett, and Wilkinson; a number of data-sets to replicate
published results; and a routine for graphical display.")
(license license:gpl2)))
(define-public r-network
(package
(name "r-network")
@ -4191,6 +4168,30 @@ (define-public r-statnet-common
software developed by the Statnet Project.")
(license license:gpl3)))
(define-public r-statcheck
(package
(name "r-statcheck")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "statcheck" version))
(sha256
(base32
"0ivybdcrymlsfv6pg6p5bv70qdvgxf2vgp0kf4r0pf2fcvav1mcp"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-plyr" ,r-plyr)
("r-rmarkdown" ,r-rmarkdown)))
(home-page "https://cran.r-project.org/web/packages/statcheck/")
(synopsis "Extract statistics from articles and recompute p-values")
(description "This package can automatically extract statistical
null-hypothesis significant testing (NHST) results from articles and recompute
the p-values based on the reported test statistic and degrees of freedom to
detect possible inconsistencies.")
(license license:gpl2)))
(define-public r-sna
(package
(name "r-sna")
@ -4215,6 +4216,35 @@ (define-public r-sna
generation, and 2D/3D network visualization.")
(license license:gpl2+)))
(define-public r-tfisher
(package
(name "r-tfisher")
(version "0.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "TFisher" version))
(sha256
(base32
"0vz74ww1lf1prfwz74hfsi3a8nzq8ss7aqjr85c1d87vss2796xx"))))
(properties `((upstream-name . "TFisher")))
(build-system r-build-system)
(propagated-inputs
`(("r-matrix" ,r-matrix)
("r-mvtnorm" ,r-mvtnorm)
("r-sn" ,r-sn)))
(home-page "https://cran.r-project.org/web/packages/TFisher/")
(synopsis "Optimal thresholding Fisher's p-value combination method")
(description
"This package provides the @dfn{cumulative distribution function} (CDF),
quantile, and statistical power calculator for a collection of thresholding
Fisher's p-value combination methods, including Fisher's p-value combination
method, truncated product method and, in particular, soft-thresholding
Fisher's p-value combination method which is proven to be optimal in some
context of signal detection. The p-value calculator for the omnibus version
of these tests are also included.")
(license license:gpl2)))
(define-public r-ttr
(package
(name "r-ttr")
@ -4515,14 +4545,14 @@ (define-public r-urca
(define-public r-cubature
(package
(name "r-cubature")
(version "2.0.3")
(version "2.0.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "cubature" version))
(sha256
(base32
"0wvs80i4axj7pdcy9gjl08qzjbcjkldha94xy4gdxc34vgmh7gvr"))))
"0jpyq8j7x06dpiz29w48av879ygldzgls9z810192hsymkmfaz6r"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)))
@ -4683,22 +4713,50 @@ (define-public r-powerplus
exponentiation.")
(license license:gpl2)))
(define-public r-egg
(package
(name "r-egg")
(version "0.4.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "egg" version))
(sha256
(base32
"1fy7srpiavfn8kyrr1m84an7acgwi6ydzrg71m3b0vk7y9ybmj0m"))))
(properties `((upstream-name . "egg")))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-gtable" ,r-gtable)))
(home-page "https://cran.r-project.org/web/packages/egg")
(synopsis "Extensions for ggplot2")
(description
"This package provides miscellaneous functions to help customize ggplot2
objects. High-level functions are provided to post-process ggplot2 layouts
and allow alignment between plot panels, as well as setting panel sizes to
fixed values. Other functions include a custom @code{geom}, and helper
functions to enforce symmetric scales or add tags to facetted plots.")
(license license:gpl3)))
(define-public r-heatmaply
(package
(name "r-heatmaply")
(version "0.16.0")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "heatmaply" version))
(sha256
(base32
"1qhxk48qh61qjxdlhl0qffdh3yh8iiwccid5ssngdv433q0cmyc1"))))
"0576gml3bcl7r1biigzj1rag2xzz422knbw7arc8d2gsakjj757g"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
("r-colorspace" ,r-colorspace)
("r-dendextend" ,r-dendextend)
("r-egg" ,r-egg)
("r-ggplot2" ,r-ggplot2)
("r-htmlwidgets" ,r-htmlwidgets)
("r-magrittr" ,r-magrittr)
@ -5335,18 +5393,17 @@ (define-public r-zip
(define-public r-openxlsx
(package
(name "r-openxlsx")
(version "4.1.3")
(version "4.1.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "openxlsx" version))
(sha256
(base32
"087zivh9xdh1kk8zci67ys0m2xq0slzwgnf0jl05yy4gsgb6nmyx"))))
"1mwxldw9i9nfksx1i6h1kfs7vmsz9fgyllbsipar4vnfyqhqp8q7"))))
(build-system r-build-system)
(propagated-inputs
`(("r-rcpp" ,r-rcpp)
("r-rlang" ,r-rlang)
("r-stringi" ,r-stringi)
("r-zip" ,r-zip)))
(home-page "https://github.com/awalker89/openxlsx")
@ -5541,14 +5598,14 @@ (define-public r-rappdirs
(define-public r-renv
(package
(name "r-renv")
(version "0.8.3")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "renv" version))
(sha256
(base32
"0034jlaq7z40q3hcpkjlaff37dpn46kvxvzw4scbwlw4x9q8sx9j"))))
"0mwqpcay6v1hnvhggsrn1chvdlhi9hwvsswas8ysygfy5wxxz1sm"))))
(properties `((upstream-name . "renv")))
(build-system r-build-system)
(home-page "https://rstudio.github.io/renv")
@ -5868,14 +5925,14 @@ (define-public r-factominer
(define-public r-factoextra
(package
(name "r-factoextra")
(version "1.0.5")
(version "1.0.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "factoextra" version))
(sha256
(base32
"1l6m8k7qhdw8ndar8nhmym0lfyd1i2iszl1cicjax0vq23ss6xw1"))))
"0bpsbcmp6jpa9qk53dhfzghrz98dh0h0n68brl7rjz724yjbvhn8"))))
(build-system r-build-system)
(propagated-inputs
`(("r-abind" ,r-abind)
@ -9204,14 +9261,14 @@ (define-public r-rgl
(define-public r-multicool
(package
(name "r-multicool")
(version "0.1-10")
(version "0.1-11")
(source
(origin
(method url-fetch)
(uri (cran-uri "multicool" version))
(sha256
(base32
"1ybg9piya9psqg42w9i3zsnavbxhkfklfwl7cb420i5nkq6wpc2v"))))
"0xk408qbz9cxwf51j3pmy55gcjcnws8mc6j3vyn9zhramxj7x40w"))))
(build-system r-build-system)
(propagated-inputs `(("r-rcpp" ,r-rcpp)))
(home-page "https://cran.r-project.org/web/packages/multicool/")
@ -10996,13 +11053,13 @@ (define-public r-dotcall64
(define-public r-spam
(package
(name "r-spam")
(version "2.4-0")
(version "2.5-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "spam" version))
(sha256
(base32 "0xb7a0x1i93kzijr518m9plzmg8s3mxh5anwfx9xrkg5ipldvz10"))))
(base32 "1wfv45jq8zy8kyjr308zicc1461y1777qll1cy6lw4071f9rvba2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dotcall64" ,r-dotcall64)))
@ -11451,14 +11508,14 @@ (define-public r-mcmc
(define-public r-listenv
(package
(name "r-listenv")
(version "0.7.0")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "listenv" version))
(sha256
(base32
"0ma5jsri2zqkrlsm9nqpikl7imbwfy1glsmk13mblw0q245h49k1"))))
"0ps8bk7zlhbviawrw7vw25skjq81hkk3ijyi6g74dmfqy8zsyapx"))))
(build-system r-build-system)
(native-inputs
`(("r-r-rsp" ,r-r-rsp))) ; vignette builder
@ -11474,14 +11531,14 @@ (define-public r-listenv
(define-public r-globals
(package
(name "r-globals")
(version "0.12.4")
(version "0.12.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "globals" version))
(sha256
(base32
"0szyv1ayyk31bh3xqlkj43020w44xq6s4rw2bxwizyjssxm3b1br"))))
"1ha8iasgijp4q3v2b0b17y1wh7cd3nvzd9b03w49qm2bidkaf68m"))))
(build-system r-build-system)
(propagated-inputs
`(("r-codetools" ,r-codetools)))
@ -12392,14 +12449,14 @@ (define-public r-irdisplay
(define-public r-irkernel
(package
(name "r-irkernel")
(version "1.0.2")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "IRkernel" version))
(sha256
(base32
"040qig675zaxsf81ranmvk293amrswi5098k69wyq0vgqyin6vwp"))))
"1viqxs91dys1z4cf7gb59rmqvzb8lc7jdp4azrpmhgwa8qf46s94"))))
(properties `((upstream-name . "IRkernel")))
(build-system r-build-system)
(arguments
@ -14662,6 +14719,89 @@ (define-public r-rex
regular expressions from human readable expressions")
(license license:expat)))
(define-public r-xmlparsedata
(package
(name "r-xmlparsedata")
(version "1.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "xmlparsedata" version))
(sha256
(base32
"0gjr3l5z5dp276lchr2649as1rkj56d2mlvbr66yg393zzw50lsh"))))
(properties `((upstream-name . "xmlparsedata")))
(build-system r-build-system)
(home-page "https://github.com/r-lib/xmlparsedata#readme")
(synopsis "Parse data of @code{R} code as an @code{XML} tree")
(description
"This package provides tools to convert the output of
@code{utils::getParseData()} to an @code{XML} tree, that one can search via
@code{XPath}, and is easier to manipulate in general.")
(license license:expat)))
(define-public r-cyclocomp
(package
(name "r-cyclocomp")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "cyclocomp" version))
(sha256
(base32
"0gky3svk02wiajw7nfjh30684h3qxili4bvsab0m7b6cggw6bgyd"))))
(properties `((upstream-name . "cyclocomp")))
(build-system r-build-system)
(propagated-inputs
`(("r-callr" ,r-callr)
("r-crayon" ,r-crayon)
("r-desc" ,r-desc)
("r-remotes" ,r-remotes)
("r-withr" ,r-withr)))
(home-page "https://github.com/MangoTheCat/cyclocomp")
(synopsis "Cyclomatic complexity of R code")
(description
"Cyclomatic complexity is a software metric, used to indicate the
complexity of a program. It is a quantitative measure of the number of
linearly independent paths through a program's source code. This package
provides tools to compute this metric.")
(license license:expat)))
(define-public r-lintr
(package
(name "r-lintr")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "lintr" version))
(sha256
(base32
"09gbci4v5n4gsfzminly8332fw7faxdi1kkyvpa10dydx02sjcwb"))))
(properties `((upstream-name . "lintr")))
(build-system r-build-system)
(propagated-inputs
`(("r-codetools" ,r-codetools)
("r-crayon" ,r-crayon)
("r-cyclocomp" ,r-cyclocomp)
("r-digest" ,r-digest)
("r-httr" ,r-httr)
("r-jsonlite" ,r-jsonlite)
("r-knitr" ,r-knitr)
("r-rex" ,r-rex)
("r-rstudioapi" ,r-rstudioapi)
("r-stringdist" ,r-stringdist)
("r-testthat" ,r-testthat)
("r-xml2" ,r-xml2)
("r-xmlparsedata" ,r-xmlparsedata)))
(home-page "https://github.com/jimhester/lintr")
(synopsis "Linter for R code")
(description "This package checks adherence to a given style, syntax
errors and possible semantic issues. It supports on the fly checking of R
code edited with @code{RStudio IDE}, @code{Emacs} and @code{Vim}.")
(license license:expat)))
(define-public r-sctransform
(package
(name "r-sctransform")
@ -15098,14 +15238,14 @@ (define-public r-xgboost
(define-public r-umap
(package
(name "r-umap")
(version "0.2.3.1")
(version "0.2.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "umap" version))
(sha256
(base32
"0rzz1s029cn1w1bf5va2pav2lg9j1mq97ibwcln39drvm67kj76d"))))
"1dzbwq96k5vqr64wk6s26ks4311h570xg6gf0prr4vnn033pqnch"))))
(build-system r-build-system)
(propagated-inputs
`(("r-openssl" ,r-openssl)
@ -15123,14 +15263,14 @@ (define-public r-umap
(define-public r-uwot
(package
(name "r-uwot")
(version "0.1.4")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "uwot" version))
(sha256
(base32
"1y9wpzs92d1fl2x5figfywd48lkyhwx37j542z0rf6ckrl46n89n"))))
"0pz9wa89xq4d119q86lskrznf979m0r1db8iaprcz7kxbi6b8lrj"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dqrng" ,r-dqrng)

View file

@ -852,15 +852,16 @@ (define-public asignify
(define-public enchive
(package
(name "enchive")
(version "3.4")
(version "3.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/skeeto/" name "/archive/"
version ".tar.gz"))
(sha256
(base32
"17hrxpp4cpn10bk48sfvfjc8hghky34agsnypam1v9f36kbalqfk"))
(file-name (string-append name "-" version ".tar.gz"))))
(method git-fetch)
(uri (git-reference
(url "https://github.com/skeeto/enchive")
(commit version)))
(sha256
(base32
"0fdrfc5l42lj2bvmv9dmkmhmm7qiszwk7cmdvnqad3fs7652g0qa"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target '

View file

@ -617,7 +617,15 @@ (define-public docker-cli
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out-bin (string-append out "/bin")))
(out-bin (string-append out "/bin"))
(etc (string-append out "/etc")))
(with-directory-excursion "src/github.com/docker/cli/contrib/completion"
(install-file "bash/docker"
(string-append etc "/bash_completion.d"))
(install-file "fish/docker.fish"
(string-append etc "/fish/completions"))
(install-file "zsh/_docker"
(string-append etc "/zsh/site-functions")))
(chdir "build")
(install-file "docker" out-bin)
#t))))))

View file

@ -7965,14 +7965,14 @@ (define-public emacs-org
(name "emacs-org")
;; emacs-org-contrib inherits from this package. Please update its sha256
;; checksum as well.
(version "9.2.6")
(version "9.3")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
"0ikd78k4yw4sm5x7l3dsbvfcmvnv5qna2mxirr560gvcnzhr0zg4"))))
"0pyfx4xzzi3qqip958rs7j5ca1r4i5v6dfkx5kbp2ndhqmxbfxjw"))))
(build-system emacs-build-system)
(home-page "https://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@ -7986,14 +7986,14 @@ (define-public emacs-org-contrib
(package
(inherit emacs-org)
(name "emacs-org-contrib")
(version "20190904")
(version "20191203")
(source (origin
(method url-fetch)
(uri (string-append "https://orgmode.org/elpa/"
"org-plus-contrib-" version ".tar"))
(sha256
(base32
"08s3fk3jim0y2v00l6ah8y08ba8wbcf29z6fxqzyaxj58a5sq81a"))))
"1kvw95492acb7gqn8gxbp1vg4fyw80w43yvflxnfxdf6jnnw2wah"))))
(arguments
`(#:modules ((guix build emacs-build-system)
(guix build utils)
@ -9227,15 +9227,16 @@ (define-public emacs-cnfonts
(define-public emacs-php-mode
(package
(name "emacs-php-mode")
(version "20171225.342")
(version "1.22.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://melpa.org/packages/php-mode-"
version ".tar"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/ejmr/php-mode.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1zz682f34v4wsm2dyj1gnrnvsrqdq1cy7j8p6cvc398w2fziyg3q"))))
"1yc7f39bv2ni8q5372r4kj04z7rikvc8w1mqx5c4zph5r02jab7i"))))
(build-system emacs-build-system)
(home-page "https://github.com/ejmr/php-mode")
(synopsis "Major mode for editing PHP code")
@ -10149,19 +10150,19 @@ (define-public emacs-dired-hacks
(license license:gpl3+))))
(define-public emacs-dired-sidebar
(let ((commit "06bd0d40bab812c61a668129daf29ba359424454")
(revision "0"))
(let ((commit "21ccb6723bea69f2e2ca25998268d8a039f904cc")
(revision "1"))
(package
(name "emacs-dired-sidebar")
(home-page "https://github.com/jojojames/dired-sidebar")
(version (git-version "0.0.1" revision commit))
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0lvwvq6sl80sha9fq5m4568sg534dhmifyjqw75bqddcbf3by84x"))))
"0mck4qk6srbbf8xnn2sg11j822z4ybxvgavvy402d5sli515i8ca"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dired-subtree" ,emacs-dired-hacks)))
@ -10499,13 +10500,14 @@ (define-public emacs-prop-menu
(version "0.1.2")
(source
(origin
(method url-fetch)
(uri (string-append
"http://stable.melpa.org/packages/prop-menu-"
version ".el"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/david-christiansen/prop-menu-el.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"01bk4sjafzz7gqrkv9jg0pa85qr34vbk3q8ga2b0m61bndywzgpr"))))
"18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc"))))
(build-system emacs-build-system)
(home-page
"https://github.com/david-christiansen/prop-menu-el")
@ -17229,6 +17231,52 @@ (define-public emacs-nix-mode
comments.")
(license license:lgpl2.1+)))
(define-public emacs-libmpdel
(package
(name "emacs-libmpdel")
(version "1.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitea.petton.fr/mpdel/libmpdel.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0dnjndpv6bmz5blfs75ynmbm32g23l4slg5p3941b1i94a08qzpy"))))
(build-system emacs-build-system)
(home-page "https://gitea.petton.fr/mpdel/libmpdel")
(synopsis "Emacs library to communicate with Music Player Daemon (MPD)")
(description
"An Emacs library client to communicate with Music Player Daemon (MPD), a
flexible, powerful, server-side application for playing music.")
(license license:gpl3+)))
(define-public emacs-mpdel
(package
(name "emacs-mpdel")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitea.petton.fr/mpdel/mpdel.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0pyyvbzskr44dxbmlp3y0r6s459fd51cvwjmnjaqxfxflr5v891g"))))
(build-system emacs-build-system)
(inputs
`(("emacs-libmpdel" ,emacs-libmpdel)))
(home-page "https://gitea.petton.fr/mpdel/mpdel")
(synopsis "Emacs user interface for Music Player Daemon (MPD)")
(description
"MPDel provides an Emacs user interface to control playback (play, pause,
next, volume) and display and control the current playlist as well as your
stored playlists.")
(license license:gpl3+)))
(define-public emacs-simple-mpc
;; There have been no releases.
(let ((commit "bee8520e81292b4c7353e45b193f9a13b482f5b2")
@ -17618,7 +17666,7 @@ (define-public emacs-dockerfile-mode
(define-public emacs-lsp-mode
(package
(name "emacs-lsp-mode")
(version "6.1")
(version "6.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -17627,14 +17675,15 @@ (define-public emacs-lsp-mode
(file-name (git-file-name name version))
(sha256
(base32
"0jn5slhv9zfs446a5966bfg9dq144g22v79wnkx9hxq7if78p652"))))
"0f9d0zhblcjzrpggqclww2g7fyjky5rzpp7zj424005ahv0zd3xf"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-f" ,emacs-f)
("emacs-ht" ,emacs-ht)
("emacs-markdown-mode" ,emacs-markdown-mode)
("emacs-spinner" ,emacs-spinner)))
("emacs-spinner" ,emacs-spinner)
("emacs-hydra" ,emacs-hydra)))
(home-page "https://github.com/emacs-lsp/lsp-mode")
(synopsis "Emacs client and library for the Language Server Protocol")
(description "@code{LSP-mode} is a client and library implementation for
@ -19145,17 +19194,17 @@ (define-public emacs-xterm-color
(define-public emacs-org-noter
(package
(name "emacs-org-noter")
(version "1.3.0")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://stable.melpa.org/packages/org-noter-"
version
".el"))
(sha256
(base32
"1hczwva73gsyanl1ldhdvql01gy0hy2g861yzkaklyb763sx58x4"))))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/weirdNox/org-noter.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1vwfpdi7hfkxx4vi0cwg7rvqby3i0mymzdkyzrqzv30dazmcjpag"))))
(build-system emacs-build-system)
(propagated-inputs `(("emacs-org" ,emacs-org)))
(home-page "https://github.com/weirdNox/org-noter")
@ -19682,6 +19731,54 @@ (define-public emacs-tao-theme
@code{tao-theme-use-height}.")
(license license:gpl3+))))
(define-public emacs-almost-mono-themes
(let ((commit "c3a85c1a665530a5d830665969725cdba8eceb75")
(revision "0"))
(package
(name "emacs-almost-mono-themes")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cryon/almost-mono-themes.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"034k32xkr5ma415hlkbl35z0jxc4sa1inf87hg3y6lrlfl83fyjh"))))
(build-system emacs-build-system)
(home-page "https://github.com/cryon/almost-mono-themes")
(synopsis "Almost monochromatic themes for emacs in a few variants")
(description
"This package provides a collection of almost monochrome Emacs themes:
@code{almost-mono-black} and @code{almost-mono-white}.")
(license license:gpl3+))))
(define-public emacs-quasi-monochrome
(let ((commit "68060dbbc0bbfe4924387392874186c5a29bb434")
(revision "0"))
(package
(name "emacs-quasi-monochrome")
(version (git-version "1.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lbolla/emacs-quasi-monochrome.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0zp2xr0bjfqrpb0bqczzick1vvbjmipjavrdi70kw6a9caynvq22"))))
(build-system emacs-build-system)
(home-page "https://github.com/lbolla/emacs-quasi-monochrome")
(synopsis "Dark color theme for Emacs")
(description
"This package provides a dark color theme with a black background, high
contrast and few colors.")
(license license:gpl3+))))
(define-public emacs-doom-themes
(package
(name "emacs-doom-themes")
@ -19716,6 +19813,33 @@ (define-public emacs-doom-themes
(home-page "https://github.com/hlissner/emacs-doom-themes")
(license license:expat)))
(define-public emacs-modus-themes
(package
(name "emacs-modus-themes")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/protesilaos/modus-themes.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"15g63675c5df2p0kk2sqj2c8qriyh69lcbggknqlaxapr13giz4x"))))
(build-system emacs-build-system)
(home-page "https://gitlab.com/protesilaos/modus-themes")
(synopsis "Emacs themes designed for colour-contrast accessibility")
(description
"This is a set of accessible themes for GNU Emacs. The contrast ratio
between foreground and background values should always be >= 7:1, which
conforms with the WCAG AAA accessibility standard.
The Modus themes project consists of two standalone items, one where dark text
is cast on a light backdrop (Modus Operandi) and another where light text is
displayed against a dark background (Modus Vivendi).")
(license license:gpl3+)))
(define-public emacs-elixir-mode
(package
(name "emacs-elixir-mode")
@ -19946,8 +20070,8 @@ (define-public emacs-helm-fish-completion
(license license:gpl3+))))
(define-public emacs-telega
(let ((commit "019e923f933370d75dbe0a8473a18eb66fe94c0e")
(revision "1")
(let ((commit "56aef884921d99e5170d5425dbe0fce645620511")
(revision "2")
(version "0.4.4"))
(package
(name "emacs-telega")
@ -19960,11 +20084,11 @@ (define-public emacs-telega
(commit commit)))
(sha256
(base32
"058814agkq8mp9ajpj8sz51rm9nigs2xpsdij05wjkxhfq30kqva"))
"0a8k3j20nz4xwswg9qp9xpaakk3q3ibiz8mkryk92zmrdmaah5mi"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
`(#:test-target "test"
#:modules ((guix build gnu-build-system)
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
@ -19974,31 +20098,79 @@ (define-public emacs-telega
(guix build emacs-utils))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-patch
(add-after 'unpack 'prefix-patch
(lambda _
(substitute* "server/Makefile"
(("CC=cc")
"CC=gcc")
(("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
(string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
"/bin")))
"/bin"))
;; Manually invoke `run_tests.py` after install phase.
(("python3 run_tests.py")
""))
#t))
;; Modify telega-util to reflect unique dir name in
;; `telega-install-data' phase.
(add-after 'unpack 'telega-data-patch
(lambda _
(substitute* "telega-util.el"
(("\\(concat \"etc/\" filename\\) telega--lib-directory")
"(concat \"telega-data/\" filename)
(locate-dominating-file telega--lib-directory
\"telega-data\")"))
#t))
;; The telega test suite checks for a version of Emacs
;; compiled with imagemagick and svg support. Since we
;; are using `emacs-minimal`, this step will fail.
;; Grok the failing test, and remove problematic assertions.
(add-after 'unpack 'ert-suite-patch
(lambda _
(substitute* "telega-core.el"
(("\\(image-type-available-p 'imagemagick\\) nil")
"t")
(("\\(image-type-available-p 'svg\\) nil")
"t"))
#t))
;; The server test suite has a hardcoded path.
;; Reset this behavior to use the proper path.
(add-after 'unpack 'server-suite-patch
(lambda _
(substitute* "server/run_tests.py"
(("~/.telega/telega-server")
(string-append (assoc-ref %outputs "out")
"/bin/telega-server")))
#t))
(add-after 'install 'run-server-suite
(lambda _
(invoke "python3" "server/run_tests.py")
#t))
(delete 'configure)
;; Build emacs-side using `emacs-build-system'
(add-after 'compress-documentation 'emacs-add-source-to-load-path
(assoc-ref emacs:%standard-phases 'add-source-to-load-path))
(add-after 'emacs-set-emacs-load-path 'emacs-install
(add-after 'emacs-add-source-to-load-path 'emacs-install
(assoc-ref emacs:%standard-phases 'install))
(add-after 'emacs-install 'emacs-build
;; This step installs subdir /etc, which contains images, sounds and
;; various other data, next to the site-lisp dir.
(add-after 'emacs-install 'telega-install-data
(lambda* (#:key outputs #:allow-other-keys)
(copy-recursively
"etc"
(string-append (assoc-ref outputs "out")
"/share/emacs/telega-data/"))
#t))
(add-after 'telega-install-data 'emacs-build
(assoc-ref emacs:%standard-phases 'build))
(add-after 'emacs-install 'emacs-make-autoloads
(add-after 'emacs-build 'emacs-make-autoloads
(assoc-ref emacs:%standard-phases 'make-autoloads)))))
(propagated-inputs
`(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
(native-inputs
`(("tdlib" ,tdlib)
("emacs" ,emacs-minimal)))
("emacs" ,emacs-minimal)
("python" ,python)))
(synopsis "GNU Emacs client for the Telegram messenger")
(description
"Telega is full-featured, unofficial client for the Telegram messaging
@ -20081,3 +20253,244 @@ (define-public emacs-org-present
each slide with left/right keys.")
(home-page "https://github.com/rlister/org-present")
(license license:gpl2))))
(define-public emacs-fullframe
(package
(name "emacs-fullframe")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tomterl/fullframe.git")
(commit version)))
(sha256
(base32
"0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(home-page "https://github.com/tomterl/fullframe")
(synopsis "Generalized automatic execution in a single frame")
(description "This library provides helpers for single-window-per-frame
execution of buffer-exposing commands.")
(license license:gpl3+)))
(define-public emacs-repl-toggle
(package
(name "emacs-repl-toggle")
(version "0.6.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tomterl/repl-toggle.git")
(commit version)))
(sha256
(base32
"12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-fullframe" ,emacs-fullframe)))
(home-page "https://github.com/tomterl/repl-toggle")
(synopsis "Switch to and from current major mode's REPL")
(description "This package provides a function to switch to and from a
REPL appropriate to the current major mode.")
(license license:gpl3+)))
(define-public emacs-blackout
(let ((commit "4bac44671fca4c98d96aa94c79946bf4d4baf0ee")
(revision "1"))
(package
(name "emacs-blackout")
(version (git-version "1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/raxod502/blackout.git")
(commit commit)))
(sha256
(base32
"1wnh0nwy6r3a18sy9sqmrwv04vnmaflxy4g7mq8jiyyjijri7l1b"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(home-page "https://github.com/raxod502/blackout")
(synopsis "Clean up mode lighters")
(description "This package provides a function for hiding and customizing
display of major and minor modes in the mode line.")
(license license:gpl3+))))
(define-public emacs-ivy-omni-org
(let ((commit "5460a9fc061a4a5ae8372dc8df966ced94abab58")
(revision "1"))
(package
(name "emacs-ivy-omni-org")
(version (git-version "0.2.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/akirak/ivy-omni-org.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1np1f51hc3phkl5w02a9a79gl38ra2d535i784fn4pqaasvm0rq8"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)
("emacs-dash" ,emacs-dash)))
(synopsis "Browse anything in Org mode")
(description "This package allows Org items to be accessed via the Ivy
interface.")
(home-page "https://github.com/akirak/ivy-omni-org")
(license license:gpl3+))))
(define-public emacs-shackle
(let ((commit "7ccbe513852a1d1700b698547efca14b8940319d")
(revision "1"))
(package
(name "emacs-shackle")
(version (git-version "1.0.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/wasamasa/shackle.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0agsp8ia4irr540r898ifhjqp28n1zsq1pilv1kc272spn3qhvp9"))))
(build-system emacs-build-system)
(synopsis "Enforce rules for popups")
(description "This package provides a global minor mode in which users
can specify how popup-displaying functions occupy the screen.")
(home-page "https://github.com/wasamasa/shackle")
(license license:gpl3+))))
(define-public emacs-helm-lacarte
(let ((commit "40a6c449720be521435b6b1da7911af3a0b9dca0")
(revision "1"))
(package
(name "emacs-helm-lacarte")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-helm/helm-lacarte.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0dkfd3lap2v7b4nckzv8v7hczmzwzhbl75haqkra107ln91ldbwc"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)
("emacs-lacarte" ,emacs-lacarte)))
(synopsis "Helm interface to @code{lacarte.el}")
(description "This package provides a Helm interface to
@code{lacarte.el}, a package that displays mode-specific commands as menu
items.")
(home-page "https://github.com/emacs-helm/helm-lacarte")
(license license:gpl3+))))
(define-public emacs-esh-help
(let ((commit "417673ed18a983930a66a6692dbfb288a995cb80")
(revision "1"))
(package
(name "emacs-esh-help")
(version (git-version "1.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tom-tan/esh-help.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0x7d51a6ljl014zy7mi27vzcqqbcwg9z4drq29fr2ajk82mqhlgd"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
(synopsis "Help functions for Eshell")
(description "This package provides a @code{run-help} function inspired
by @code{zsh} as well as @code{eldoc} support.")
(home-page "https://github.com/tom-tan/esh-help")
(license license:gpl3+))))
(define-public emacs-isearch-dabbrev
(let ((commit "1efe7abba4923015cbc2462395deaec5446a9cc8")
(revision "1"))
(package
(name "emacs-isearch-dabbrev")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Dewdrops/isearch-dabbrev.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"17d0816awadvsw1qc7r0p6ira75jmgxaj9hsk9ypayxsaf6ynyrb"))))
(build-system emacs-build-system)
(synopsis "Use @code{dabbrev} within @code{isearch}")
(description "This package allows @code{dabbrev-expand} to be used
within @code{isearch-mode}.")
(home-page "https://github.com/Dewdrops/isearch-dabbrev")
(license license:gpl3+))))
(define-public emacs-helm-linux-disks
(let ((commit "2cdc8116a08534289eb0dc76461d0f93a0bdf231")
(revision "1"))
(package
(name "emacs-helm-linux-disks")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Akirak/helm-linux-disks.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1limw82zd8jz3mhh9rqlmhj4cjhfgybs9argfjid1an3vpyhc85i"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)))
(synopsis "Mount/unmount volumes in Linux via Helm")
(description "This package provides a Helm interface to run operations
on removable volumes in Linux.")
(home-page "https://github.com/Akirak/helm-linux-disks")
(license license:gpl3+))))
(define-public emacs-psession
(let ((commit "3e97267c92b164584e06a6c70ee7491714c7c12c")
(revision "1"))
(package
(name "emacs-psession")
(version (git-version "1.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thierryvolpiatto/psession.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"15frl618393bc891d0yi3mdxzvbq790a86vfvp3dyd5riz4ddg95"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)))
(synopsis "Persistent save of @code{elisp} objects.")
(description "This package provides minor modes for saving Emacs session
data, including buffers, window configuration, variables, and more.")
(home-page "https://github.com/thierryvolpiatto/psession")
(license license:gpl3+))))

View file

@ -143,6 +143,11 @@ (define-public emacs
(display
(string-append "(when (require 'guix-emacs nil t)\n"
" (guix-emacs-autoload-packages))\n"))))
;; Remove the extraneous subdirs.el file, as it causes Emacs to
;; add recursively all the the sub-directories of a profile's
;; share/emacs/site-lisp union when added to EMACSLOADPATH,
;; which leads to conflicts.
(delete-file (string-append lisp-dir "/subdirs.el"))
#t))))))
(inputs
`(("gnutls" ,gnutls)
@ -187,8 +192,8 @@ (define-public emacs
(list (search-path-specification
(variable "EMACSLOADPATH")
;; The versioned entry is for the Emacs' builtin libraries.
(files (list (string-append "share/emacs/" version "/lisp")
"share/emacs/site-lisp")))
(files (list "share/emacs/site-lisp"
(string-append "share/emacs/" version "/lisp"))))
(search-path-specification
(variable "INFOPATH")
(files '("share/info")))))

View file

@ -69,7 +69,7 @@ (define-module (gnu packages enlightenment)
(define-public efl
(package
(name "efl")
(version "1.23.2")
(version "1.23.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -77,7 +77,7 @@ (define-public efl
version ".tar.xz"))
(sha256
(base32
"14yljnnmb89s8j6ip08ip5d01zkgzbzr1h4fr4bwk9lh8r59x3ds"))))
"00b9lp3h65254kdb1ys15fv7p3ln7qsvf15jkw4kli5ymagadkjk"))))
(build-system meson-build-system)
(native-inputs
`(("check" ,check)
@ -194,7 +194,7 @@ (define-public efl
(define-public terminology
(package
(name "terminology")
(version "1.5.0")
(version "1.6.0")
(source (origin
(method url-fetch)
(uri
@ -202,7 +202,7 @@ (define-public terminology
"terminology/terminology-" version ".tar.xz"))
(sha256
(base32
"0v4amfg8ji0mb6j7kcxh3wz1xw5zyxg4rw6ylx17rfw2nc1yamfy"))
"0xxx4xyhis6fy3frgb34ip0aj0kc4zashf60gzbxmq5gadbb0p5r"))
(modules '((guix build utils)))
;; Remove the bundled fonts.
(snippet

View file

@ -41,6 +41,7 @@ (define-module (gnu packages file-systems)
#:use-module (gnu packages flex)
#:use-module (gnu packages glib)
#:use-module (gnu packages linux)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
@ -146,63 +147,56 @@ (define-public disorderfs
(define-public glusterfs
(package
(name "glusterfs")
(version "3.10.12")
(version "7.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.gluster.org/pub/gluster/glusterfs/"
(version-major+minor version) "/" version
"/glusterfs-" version ".tar.gz"))
(version-major version) "/"
(version-major+minor version) "/"
"glusterfs-" version ".tar.gz"))
(sha256
(base32
"01ysvamvfv2l5pswa1rygpg8w0954h2wkh1ba97h3nx03m5n0prg"))
(patches
(search-patches "glusterfs-use-PATH-instead-of-hardcodes.patch"))))
"0yzhx710ypj0j3m5dcgmmgvkp7p0rmmp2p7ld0axrm4vpwc2b1wa"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "--with-initdir=" out "/etc/init.d")
(string-append "--with-mountutildir=" out "/sbin")))
(let ((out (assoc-ref %outputs "out"))
(p2 (assoc-ref %build-inputs "python-2")))
(list (string-append "PYTHON=" p2 "/bin/python")
(string-append "--with-initdir=" out "/etc/init.d")
(string-append "--with-mountutildir=" out "/sbin")
"--enable-cmocka" ; unit tests
;; "--enable-debug" ; debug build options
;; "--enable-asan" ; Address Sanitizer
;; "--enable-tsan" ; ThreadSanitizer
))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'replace-config.sub
(lambda* (#:key inputs #:allow-other-keys)
;; The distributed config.sub is intentionally left empty and
;; must be replaced.
(install-file (string-append (assoc-ref inputs "automake")
"/share/automake-"
,(version-major+minor (package-version automake)) "/config.sub")
".")
#t))
;; Fix flex error. This has already been fixed with upstream commit
;; db3fe245a9e8812829eae7d143e49d0bfdfef9a7, but is not available in
;; current releases.
(add-before 'configure 'fix-lex
(lambda _
(substitute* "libglusterfs/src/Makefile.in"
(("libglusterfs_la_LIBADD = @LEXLIB@")
"libglusterfs_la_LIBADD ="))
#t)))))
(add-before 'configure 'autogen
(lambda _ (invoke "./autogen.sh"))))))
(native-inputs
`(("cmocka" ,cmocka)
("pkg-config" ,pkg-config)
`(("pkg-config" ,pkg-config)
("libtirpc", libtirpc)
("rpcsvc-proto", rpcsvc-proto)
("python-2" ,python-2) ; must be version 2
("flex" ,flex)
("bison" ,bison)
("automake" ,automake)))
("libtool" ,libtool)
("autoconf" ,autoconf)
("automake" ,automake)
("cmocka" ,cmocka)))
(inputs
`(("acl" ,acl)
;; GlusterFS fails to build with libressl because HMAC_CTX_new and
;; HMAC_CTX_free are undefined.
("fuse", fuse)
("openssl" ,openssl)
("liburcu" ,liburcu)
("libuuid" ,util-linux)
("libxml2" ,libxml2)
("lvm2" ,lvm2)
("readline" ,readline)
("sqlite" ,sqlite) ; for tiering
("zlib" ,zlib)))
("zlib" ,zlib)
("libaio", libaio)
("rdma-core", rdma-core)))
(home-page "https://www.gluster.org")
(synopsis "Distributed file system")
(description "GlusterFS is a distributed scalable network file system

View file

@ -43,6 +43,8 @@ (define-module (gnu packages finance)
#:use-module (guix build-system go)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages aidc)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
@ -1172,7 +1174,7 @@ (define-public bitcoin-abc
(package
(inherit bitcoin-core)
(name "bitcoin-abc")
(version "0.20.4")
(version "0.20.7")
(source (origin
(method url-fetch)
(uri (string-append "https://download.bitcoinabc.org/"
@ -1180,7 +1182,15 @@ (define-public bitcoin-abc
version ".tar.gz"))
(sha256
(base32
"0fld54z3l7z7k5n35rrjichjnx37j9xp0rv8i69m3x4qfj1xk2np"))))
"0py5ilfi4r8qh5r9637vwch27sqrrn0dg9rz8bccnj3lp2xpzw27"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("python" ,python) ; for the tests
("util-linux" ,util-linux) ; provides the hexdump command for tests
("qttools" ,qttools)))
(inputs
`(("bdb" ,bdb-5.3)
("boost" ,boost)
@ -1188,19 +1198,9 @@ (define-public bitcoin-abc
("miniupnpc" ,miniupnpc)
("openssl" ,openssl)
("protobuf" ,protobuf)
("qtbase" ,qtbase)))
(arguments
(substitute-keyword-arguments (package-arguments bitcoin-core)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'fix-tests
;; Disable 'check-devtools' test which tries to run a
;; python script that doesn't exist.
(lambda _
(substitute* "Makefile.in"
(("^check-local: check-devtools")
"check-local:"))
#t))))))
("qrencode" ,qrencode)
("qtbase" ,qtbase)
("zlib" ,zlib)))
(home-page "https://www.bitcoinabc.org/")
(synopsis "Bitcoin ABC peer-to-peer full node for the Bitcoin Cash protocol")
(description

View file

@ -187,7 +187,7 @@ (define-public openfwwf-firmware
(define-public seabios
(package
(name "seabios")
(version "1.12.1")
(version "1.13.0")
(source
(origin
(method git-fetch)
@ -196,10 +196,10 @@ (define-public seabios
(commit (string-append "rel-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1g9y03r5ky58q2g9rhbwfhs42z0zb9f59wfxpwh6zjqa6fyv1r80"))))
(base32 "1n1bd6msfs7xn8844sz2qnm7hb5x2qfl3zb06kp4bx9vdc3i6619"))))
(build-system gnu-build-system)
(native-inputs
`(("python-2" ,python-2)))
`(("python" ,python-wrapper)))
(arguments
`(#:tests? #f ; no check target
#:phases

View file

@ -240,7 +240,7 @@ (define-public libxdg-basedir
(define-public elogind
(package
(name "elogind")
(version "241.3")
(version "241.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -249,7 +249,7 @@ (define-public elogind
(file-name (git-file-name name version))
(sha256
(base32
"0jpb55prqq5cm3w2gy9766cbaqknjvbrbniyshb8bz1q31vf4jlq"))))
"13nd0chackqclgvw43910k4pkw2q773dh6wq9s5f3d97ibnik48k"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
@ -991,7 +991,7 @@ (define-public libqmi
(define-public modem-manager
(package
(name "modem-manager")
(version "1.4.14")
(version "1.10.8")
(source (origin
(method url-fetch)
(uri (string-append
@ -999,7 +999,7 @@ (define-public modem-manager
"ModemManager-" version ".tar.xz"))
(sha256
(base32
"18hvffwcncwz14kdzk42jbkh362n0kjv3kgx7axbqx572pawvrmb"))))
"16hnl0sdriqgv4v30mfs64mdl9rw7lsh802zlm3ggwxxil3p9qfb"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags

File diff suppressed because it is too large Load diff

View file

@ -10,6 +10,7 @@
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -64,6 +65,7 @@ (define-module (gnu packages geo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sqlite)
@ -112,7 +114,7 @@ (define-public geos
(define-public gnome-maps
(package
(name "gnome-maps")
(version "3.30.3.1")
(version "3.32.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -120,7 +122,7 @@ (define-public gnome-maps
name "-" version ".tar.xz"))
(sha256
(base32
"0xqk3yrds0w8bjmpf4jw0370phvm65av82nqrx7fp1648h9nq7xi"))))
"1m191iq1gjaqz79ci3dkbmwrkxp7pzknngimlf5bqib5x8yairlb"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@ -1213,3 +1215,79 @@ (define-public josm
sources as well as from online sources and allows to edit the OSM data (nodes,
ways, and relations) and their metadata tags.")
(license license:gpl2+)))
(define-public libmaxminddb
(package
(name "libmaxminddb")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/maxmind/libmaxminddb"
"/releases/download/" version "/"
"/libmaxminddb-" version ".tar.gz"))
(sha256
(base32 "0mnimbaxnnarlw7g1rh8lpxsyf7xnmzwcczcc3lxw8xyf6ljln6x"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-cc-to-gcc
(lambda _
(setenv "CC" "gcc"))))))
(native-inputs
`(("perl" ,perl)))
(home-page "https://maxmind.github.io/libmaxminddb/")
(synopsis "C library for the MaxMind DB file format")
(description "The libmaxminddb library provides a C library for reading
MaxMind DB files, including the GeoIP2 databases from MaxMind. The MaxMind DB
format is a custom, but open, binary format designed to facilitate fast
lookups of IP addresses while allowing flexibility in the type of data
associated with an address.")
(license license:asl2.0)))
(define-public python-maxminddb
(package
(name "python-maxminddb")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "maxminddb" version))
(sha256
(base32
"0y9giw81k4wdmpryr4k42w50z292mf364a6vs1vxf83ksc9ig6j4"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;; Tests require a copy of the maxmind database
(inputs
`(("libmaxminddb" ,libmaxminddb)))
(home-page "http://www.maxmind.com/")
(synopsis "Reader for the MaxMind DB format")
(description "MaxMind DB is a binary file format that stores data indexed
by IP address subnets (IPv4 or IPv6). This is a Python module for reading
MaxMind DB files.")
(license license:asl2.0)))
(define-public python-geoip2
(package
(name "python-geoip2")
(version "2.9.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "geoip2" version))
(sha256
(base32
"1w7cay5q6zawjzivqbwz5cqx1qbdjw6kbriccb7l46p7b39fkzzp"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;; Tests require a copy of the maxmind database
(inputs
`(("python-maxminddb" ,python-maxminddb)
("python-requests" ,python-requests)))
(home-page "http://www.maxmind.com/")
(synopsis "MaxMind GeoIP2 API")
(description "Provides an API for the GeoIP2 web services and databases.
The API also works with MaxMinds free GeoLite2 databases.")
(license license:asl2.0)))

View file

@ -100,6 +100,8 @@ (define-public delft-icon-theme
(begin
(use-modules (guix build utils))
(copy-recursively (assoc-ref %build-inputs "source") "icons")
(substitute* "icons/Delft/index.theme"
(("gnome") "Adwaita"))
(delete-file "icons/README.md")
(delete-file "icons/LICENSE")
(delete-file "icons/logo.jpg")
@ -115,7 +117,7 @@ (define-public delft-icon-theme
(define-public gnome-shell-extension-dash-to-dock
(package
(name "gnome-shell-extension-dash-to-dock")
(version "65")
(version "66")
(source (origin
(method git-fetch)
(uri (git-reference
@ -124,7 +126,7 @@ (define-public gnome-shell-extension-dash-to-dock
version))))
(sha256
(base32
"0ln49l9s0yfl30pi77pz7xlmh63l9vjppi863kry5lay10dsvz47"))
"04krl6rxlp1qc97psraf2kwin7h0mx4c7pnfpi7vhplmvasrwkfh"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments

File diff suppressed because it is too large Load diff

View file

@ -260,14 +260,14 @@ (define-public npth
(define-public gnupg
(package
(name "gnupg")
(version "2.2.18")
(version "2.2.19")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"02pcdmb9p4a8hil88gyd86mnc85jldss3cl02jvbkcjmrbi7rlrh"))))
"1h6yx6sdpz3lf9gdppgxqcf73baynr8gflmh43286fkgw3058994"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View file

@ -2218,7 +2218,7 @@ (define-public python-on-guile
(define-public guile-file-names
(package
(name "guile-file-names")
(version "0.2")
(version "0.3")
(source (origin
(method url-fetch)
(uri (string-append "http://brandon.invergo.net/software/download/"
@ -2226,7 +2226,7 @@ (define-public guile-file-names
version ".tar.gz"))
(sha256
(base32
"1kwx5hanl40960w2nhyga7ry4l6c3c57zdrihk4yajj87vn3pmi8"))))
"01chizdxkhw6aqv629vxka9f5x3534ij7r0jqndawsg2vxm1r9sz"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View file

@ -250,6 +250,18 @@ (define-public guile-2.2
(variable "GUILE_LOAD_COMPILED_PATH")
(files '("lib/guile/2.2/site-ccache")))))))
(define-public guile-2.2/bug-fix
;; This variant contains a bug fix for a relatively rare crash that could
;; affect shepherd as PID 1: <https://bugs.gnu.org/37757>.
(package
(inherit guile-2.2)
(version (string-append (package-version guile-2.2) "-1"))
(source (origin
(inherit (package-source guile-2.2))
(patches
(append (search-patches "guile-finalization-crash.patch")
(origin-patches (package-source guile-2.2))))))))
(define-public guile-2.2/fixed
;; A package of Guile 2.2 that's rarely changed. It is the one used
;; in the `base' module, and thus changing it entails a full rebuild.
@ -276,14 +288,14 @@ (define-public guile-next
(package
(inherit guile-2.2)
(name "guile-next")
(version "2.9.5")
(version "2.9.6")
(source (origin
(inherit (package-source guile-2.2))
(uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-"
version ".tar.xz"))
(sha256
(base32
"1db91mhvphzmiyw6f41ks9haysphygngv400ivgqf23lg22wn5zr"))))
"09rihg5bhzhdk6hfkpav6ajny69dflabgvnm8r7lran723gy5vbf"))))
(native-search-paths
(list (search-path-specification
(variable "GUILE_LOAD_PATH")

View file

@ -1527,3 +1527,71 @@ (define-public ghc-js-flot
version. The package is designed to meet the redistribution
requirements of downstream users (e.g. Debian).")
(license license:expat)))
(define-public ghc-happstack-server
(package
(name "ghc-happstack-server")
(version "7.5.4")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/happstack-server/happstack-server-"
version ".tar.gz"))
(sha256
(base32
"0i7csvmwv7n68gkwqzi985p2mjdgzipjnlj873sdiknhx9pfmq70"))))
(build-system haskell-build-system)
(inputs
`(("ghc-network" ,ghc-network)
("ghc-network-bsd" ,ghc-network-bsd)
("ghc-network-uri" ,ghc-network-uri)
("ghc-base64-bytestring" ,ghc-base64-bytestring)
("ghc-blaze-html" ,ghc-blaze-html)
("ghc-exceptions" ,ghc-exceptions)
("ghc-extensible-exceptions"
,ghc-extensible-exceptions)
("ghc-hslogger" ,ghc-hslogger)
("ghc-html" ,ghc-html)
("ghc-monad-control" ,ghc-monad-control)
("ghc-old-locale" ,ghc-old-locale)
("ghc-semigroups" ,ghc-semigroups)
("ghc-sendfile" ,ghc-sendfile)
("ghc-system-filepath" ,ghc-system-filepath)
("ghc-syb" ,ghc-syb)
("ghc-threads" ,ghc-threads)
("ghc-transformers-base" ,ghc-transformers-base)
("ghc-transformers-compat"
,ghc-transformers-compat)
("ghc-utf8-string" ,ghc-utf8-string)
("ghc-zlib" ,ghc-zlib)))
(native-inputs `(("ghc-hunit" ,ghc-hunit)))
(home-page "http://happstack.com")
(synopsis "Web related tools and services for Haskell")
(description
"Happstack Server provides an HTTP server and a rich set of functions for
routing requests, handling query parameters, generating responses, working with
cookies, serving files, and more.")
(license license:bsd-3)))
(define-public ghc-sendfile
(package
(name "ghc-sendfile")
(version "0.7.11.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/sendfile/sendfile-"
version ".tar.gz"))
(sha256
(base32
"0988snmx3bylpw3kcq8hsgji8idc6xcrcfp275qjv3apfdgc9rp0"))))
(build-system haskell-build-system)
(inputs `(("ghc-network" ,ghc-network)))
(home-page
"https://hub.darcs.net/stepcut/sendfile")
(synopsis "Portable sendfile library for Haskell")
(description
"Haskell library which exposes zero-copy sendfile functionality in a portable way.")
(license license:bsd-3)))

View file

@ -30,7 +30,7 @@ (define-module (gnu packages i2p)
(define-public i2pd
(package
(name "i2pd")
(version "2.27.0")
(version "2.29.0")
(source
(origin
(method git-fetch)
@ -39,7 +39,7 @@ (define-public i2pd
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "00y0y57z84gakwa88zzm0g3ixgc6y7zm35rjiysiajzvmdq5w1wf"))))
(base32 "1issg3aidwikk4g12sa8q81zzp0hd0g8wdy2dx4899z8yrscl300"))))
(build-system cmake-build-system)
(inputs `(("boost" ,boost)
("miniupnpc" ,miniupnpc)
@ -68,7 +68,12 @@ (define-public i2pd
"./tests")
(with-directory-excursion "tests"
(substitute* "Makefile"
(("../libi2pd/") (string-append source "/libi2pd/")))
(("../libi2pd/") (string-append source "/libi2pd/"))
;; Disable the x25519 test, which only compiles if
;; openssl doesn't have X25519 support, but the
;; version we use has it.
(("test-base-64 test-x25519 test-aeadchacha20poly1305")
"test-base-64 test-aeadchacha20poly1305"))
(apply invoke "make" "all"
`(,@(if parallel-tests?
`("-j" ,(number->string

View file

@ -2128,6 +2128,11 @@ (define-public baloo
(setenv "HOME" (getcwd))
;; make Qt render "offscreen", required for tests
(setenv "QT_QPA_PLATFORM" "offscreen")
(with-output-to-file "bin/BLACKLIST"
(lambda _
;; Blacklist some failing tests. FIXME: Make them pass.
(display "[testRenameFile]\n*\n")
(display "[testMoveFile]\n*\n")))
#t))
(add-after 'unpack 'remove-failing-test
;; This test fails on i686 and aarch64

View file

@ -27,6 +27,7 @@
(define-module (gnu packages kde)
#:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
#:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@ -35,7 +36,9 @@ (define-module (gnu packages kde)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages apr)
#:use-module (gnu packages audio)
#:use-module (gnu packages boost)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
@ -54,6 +57,7 @@ (define-module (gnu packages kde)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages tls)
#:use-module (gnu packages qt)
@ -143,7 +147,7 @@ (define-public kdenlive
(define-public kdevelop
(package
(name "kdevelop")
(version "5.1.2")
(version "5.4.5")
(source
(origin
(method url-fetch)
@ -152,73 +156,79 @@ (define-public kdevelop
version ".tar.xz"))
(sha256
(base32
"1iqaq0ilijjigqb34v5wq9in6bnjs0p9cmgbygjmy53xhh3yhm5g"))))
(build-system cmake-build-system)
"08vhbg9ql0402bw3y3xw1kdxhig9sv3ss8g0h4477vy3z17m1h4j"))))
(build-system qt-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)
("shared-mime-info" ,shared-mime-info)
("qttools" ,qttools)))
(inputs
`(("kdevplatform" ,kdevplatform)
("kdevelop-pg-qt" ,kdevelop-pg-qt)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("qtquickcontrols" ,qtquickcontrols)
("qtwebkit" ,qtwebkit)
`(("boost" ,boost)
("clang" ,clang)
("grantlee" ,grantlee)
("karchive" ,karchive)
("kcmutils" ,kcmutils)
("kconfig" ,kconfig)
("kcrash" ,kcrash)
("kdeclarative" ,kdeclarative)
("kdoctools" ,kdoctools)
("kguiaddons" ,kguiaddons)
("ki18n" ,ki18n)
("kio" ,kio)
("kiconthemes" ,kiconthemes)
("kio" ,kio) ;; not checked as requirement
("kitemmodels" ,kitemmodels)
("kitemviews" ,kitemviews)
("kjobwidgets" ,kjobwidgets)
("knotifyconfig" ,knotifyconfig)
("knotifications" ,knotifications)
("knotifyconfig" ,knotifyconfig)
("kparts" ,kparts)
("kcrash" ,kcrash)
("knewstuff" ,knewstuff)
("krunner" ,krunner)
("kxmlgui" ,kxmlgui)
("libksysguard" ,libksysguard)
("threadweaver" ,threadweaver)
("kservice" ,kservice)
("ktexteditor" ,ktexteditor)
("kwindowsystem" ,kwindowsystem)
("kxmlgui" ,kxmlgui)
("libkomparediff2" ,libkomparediff2)
("oxygen-icons" ,oxygen-icons)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("qtquickcontrols" ,qtquickcontrols) ;; not checked as requirement
("qtquickcontrols2" ,qtquickcontrols2) ;; not checked as requirement
("qtwebkit" ,qtwebkit)
("threadweaver" ,threadweaver)
;; recommendes
("astyle" ,astyle)
("kdevelop-pg-qt" ,kdevelop-pg-qt)
("libksysguard" ,libksysguard)
;; optional
("apr" ,apr) ; required for subversion support
("apr-util" ,apr-util) ; required for subversion support
("attica" ,attica)
("kconfigwidgets" ,kconfigwidgets)
("knewstuff" ,knewstuff)
("krunner" ,krunner)
;; TODO: OktetaGui, OktetaKastenControllers
("plasma" ,plasma-framework)
("grantlee" ,grantlee)
("libepoxy" ,libepoxy)
("clang" ,clang)
("shared-mime-info" ,shared-mime-info)))
;; TODO: purpose
("sonnet" ,sonnet)
("subversion" ,subversion)))
;; run-time packages - TODO
;; ClazyStandalone
;; Cppcheck
;; heaptrack
;; heaptrack_gui
;; meson
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'check) ;; there are some issues with the test suite
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(kdevplatform (assoc-ref inputs "kdevplatform"))
(kio (assoc-ref inputs "kio"))
(kcmutils (assoc-ref inputs "kcmutils"))
(qtquickcontrols (assoc-ref inputs "qtquickcontrols"))
(qtbase (assoc-ref inputs "qtbase"))
(qtdeclarative (assoc-ref inputs "qtdeclarative"))
(qml "/qml"))
(wrap-program (string-append out "/bin/kdevelop")
`("XDG_DATA_DIRS" ":" prefix
,(map (lambda (s) (string-append s "/share"))
(list out kdevplatform kcmutils)))
`("QT_QPA_PLATFORM_PLUGIN_PATH" ":" =
(,(string-append qtbase "/plugins/platforms")))
`("QT_PLUGIN_PATH" ":" prefix
,(map (lambda (s) (string-append s "/lib/plugins"))
(list out kdevplatform kio)))
`("QML2_IMPORT_PATH" ":" prefix
(,(string-append qtquickcontrols qml)
,(string-append qtdeclarative qml))))))))))
`(#:tests? #f ;; there are some issues with the test suite
#:phases
(modify-phases (@ (guix build qt-build-system) %standard-phases)
(add-before 'configure 'add-include-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "cmake/modules/FindClang.cmake"
(("^\\s*PATHS \"\\$\\{CLANG_LIBRARY_DIRS\\}\"" line)
(string-append line " " (assoc-ref inputs "clang") "/lib")))
#t)))))
(home-page "https://kdevelop.org")
(synopsis "IDE for C, C++, Python, Javascript and PHP")
(description "The KDevelop IDE provides semantic syntax highlighting, as
@ -231,7 +241,7 @@ (define-public kdevelop
(define-public kdevelop-pg-qt
(package
(name "kdevelop-pg-qt")
(version "2.0.0")
(version "2.2.0")
(source
(origin
(method url-fetch)
@ -239,7 +249,7 @@ (define-public kdevelop-pg-qt
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1av8plqz7hyhrd07avnmn6ryslqlarmxn0pw7swzvb6ddiqp59j4"))))
(base32 "15ja19gg6x7gww4ch12hy585x55ghbkpsiyr8fqiyjk0j6v07hh5"))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)))
(inputs
@ -251,77 +261,8 @@ (define-public kdevelop-pg-qt
for some KDevelop language plugins (Ruby, PHP, CSS...).")
(license license:lgpl2.0+)))
(define-public kdevplatform
(package
(name "kdevplatform")
(version "5.1.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/kdevelop"
"/" version "/src/kdevplatform-"
version ".tar.xz"))
(sha256
(base32
"0jk6g1kiqpyjy8pca0236b9944gxqnymqv8ny6m8nrraannxs8p6"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)))
(inputs
`(("apr" ,apr)
("apr-util" ,apr-util)
("boost" ,boost)
("karchive" ,karchive)
("kconfigwidgets" ,kconfigwidgets)
("kcmutils" ,kcmutils)
("kiconthemes" ,kiconthemes)
("kdeclarative" ,kdeclarative)
("kdoctools" ,kdoctools)
("kguiaddons" ,kguiaddons)
("kinit" ,kinit)
("kitemmodels" ,kitemmodels)
("knewstuff" ,knewstuff)
("knotifications" ,knotifications)
("knotifyconfig" ,knotifyconfig)
("kwindowsystem" ,kwindowsystem)
("kio" ,kio)
("ki18n" ,ki18n)
("kparts" ,kparts)
("kservice" ,kservice)
("grantlee" ,grantlee)
("libkomparediff2" ,libkomparediff2)
("sonnet" ,sonnet)
("threadweaver" ,threadweaver)
("ktexteditor" ,ktexteditor)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("qtscript" ,qtscript)
("qtwebkit" ,qtwebkit)
("qtx11extras" ,qtx11extras)
("plasma" ,plasma-framework)
("subversion" ,subversion)
("zlib" ,zlib)))
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "CTEST_OUTPUT_ON_FAILURE" "1")
(setenv "QT_PLUGIN_PATH"
(string-append out "/lib/plugins:"
(getenv "QT_PLUGIN_PATH")))
(setenv "XDG_DATA_DIRS"
(string-append out "/share:"
(getenv "XDG_DATA_DIRS")))
(invoke "ctest" "-R" ; almost all tests require a display
"filteringstrategy|kdevvarlengtharray|kdevhash")))))))
(home-page "https://github.com/KDE/kdevplatform")
(synopsis "Framework to build integrated development environments (IDEs)")
(description "KDevPlatform is the basis of KDevelop and contains some
plugins, as well as code to create plugins, or complete applications.")
(license license:gpl3+)))
;; kdevplatform was merged into kdevelop as of 5.2.x
(define-deprecated kdevplatform kdevelop kdevelop)
(define-public krita
(package
@ -656,3 +597,57 @@ (define-public kcachegrind
performance counters. There also exist converters for profiling output of
Python, PHP, and Perl.")
(license license:gpl2)))
(define-public libkdegames
(package
(name "libkdegames")
(version "19.08.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kde/stable/applications/" version
"/src/libkdegames-" version ".tar.xz"))
(sha256
(base32 "12dvkmjgbi8dp9y55zmx1pw3zr2i374c4vn3mfn9r31bf06dr701"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)))
(inputs
`(("karchive" ,karchive)
("kbookmarks" ,kbookmarks)
("kcodecs" ,kcodecs)
("kcompletion" ,kcompletion)
("kconfigwidgets" ,kconfigwidgets)
("kcrash" ,kcrash)
("kdbusaddons" ,kdbusaddons)
("kdeclarative" ,kdeclarative)
("kdnssd" ,kdnssd)
("kglobalaccel" ,kglobalaccel)
("kguiaddons" ,kguiaddons)
("ki18n" ,ki18n)
("kiconthemes" ,kiconthemes)
;("kio" ,kio)
("kitemviews" ,kitemviews)
("kjobwidgets" ,kjobwidgets)
("knewstuff" ,knewstuff)
("kservice" ,kservice)
("ktextwidgets" ,ktextwidgets)
("kwidgetsaddons" ,kwidgetsaddons)
("kxmlgui" ,kxmlgui)
("libsndfile" ,libsndfile)
("openal" ,openal)
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("qtsvg" ,qtsvg)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'check-setup
(lambda _
;; make Qt render "offscreen", required for tests
(setenv "QT_QPA_PLATFORM" "offscreen")
#t)))))
(home-page "https://games.kde.org/")
(synopsis "Runtime library for kdegames")
(description "Runtime library for kdegames")
(license (list license:gpl2+ license:fdl1.2+))))

View file

@ -37,6 +37,7 @@
;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -83,6 +84,7 @@ (define-module (gnu packages linux)
#:use-module (gnu packages glib)
#:use-module (gnu packages golang)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
@ -104,6 +106,7 @@ (define-module (gnu packages linux)
#:use-module (gnu packages readline)
#:use-module (gnu packages rrdtool)
#:use-module (gnu packages samba)
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages slang)
#:use-module (gnu packages texinfo)
@ -122,6 +125,7 @@ (define-module (gnu packages linux)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix build-system linux-module)
@ -352,42 +356,42 @@ (define (%upstream-linux-source version hash)
"linux-" version ".tar.xz"))
(sha256 hash)))
(define-public linux-libre-5.3-version "5.3.14")
(define-public linux-libre-5.3-version "5.3.15")
(define-public linux-libre-5.3-pristine-source
(let ((version linux-libre-5.3-version)
(hash (base32 "0ckrbzwsc4lxd3l287wsd88mkfsd0kpf8nzchd9nfmkjiil14mwm")))
(hash (base32 "15qidl06lyfylx1b43b4wz2zfkr4000bkr7ialslmb7yi7mamj6f")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.3)))
(define-public linux-libre-4.19-version "4.19.87")
(define-public linux-libre-4.19-version "4.19.88")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "07fsds2k0hxqgny86winzl46d79g6mb9s28bp7nwlvwf67l22wm5")))
(hash (base32 "1gizkdmq46ykw7ya3hibd6lalww2kvsia346pq3xvrk6s5mkp4n1")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.157")
(define-public linux-libre-4.14-version "4.14.158")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "0cvpagbjwpj63lpybfq1rnwdnxcjw49z0b5prah39krf0nd7dylh")))
(hash (base32 "1cqvr8pgqx005a9qyphqykakzwc54adq8mmdc9sgrxkkw9rfqj8d")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.205")
(define-public linux-libre-4.9-version "4.9.206")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "01cbqxw77g6rdg7dgk73pg9a2n9v4sxp48q2a77w1b068xjfifcq")))
(hash (base32 "1mnabj0d5ra40hijwynnzxnh5w1qnvkvj2l3ydsdhkdwm6cpiwhx")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.205")
(define-public linux-libre-4.4-version "4.4.206")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
(hash (base32 "19pasidvfmf94rs86v80x7hpirz9gavmkxwcl76ya61fq7lqy7zs")))
(hash (base32 "14ylg9cm7z12mvkzg8z92gsw0libw9xz392ayzw0d9cgw1py39ax")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@ -1480,7 +1484,7 @@ (define-public zerofree
(define-public strace
(package
(name "strace")
(version "5.3")
(version "5.4")
(home-page "https://strace.io")
(source (origin
(method url-fetch)
@ -1488,7 +1492,7 @@ (define-public strace
"/strace-" version ".tar.xz"))
(sha256
(base32
"0ix06z4vnc49mv76f22kixz8dsh7daqv9mpgwcgl0mlnfjc124vc"))))
"0hd7sb7l99y9rcj8jjc1b6m3ryds17krsymdg3dvd40jsla0bl7p"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -3078,9 +3082,9 @@ (define-public lm-sensors
(("cat ")
(string-append (assoc-ref inputs "coreutils")
"/bin/cat "))
(("egrep ")
(("grep ")
(string-append (assoc-ref inputs "grep")
"/bin/egrep "))
"/bin/grep "))
(("sed -e")
(string-append (assoc-ref inputs "sed")
"/bin/sed -e"))
@ -6139,6 +6143,47 @@ (define-public inputattach
types and interfaces and translates so that the X server can use them.")
(license license:gpl2+)))
(define-public pipewire
(package
(name "pipewire")
(version "0.2.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/PipeWire/pipewire")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc"))))
(build-system meson-build-system)
(arguments
'(#:configure-flags '("-Dsystemd=false")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
("eudev" ,eudev)
("ffmpeg" ,ffmpeg)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("libva" ,libva)
("sbc" ,sbc)
("sdl2" ,sdl2)))
(home-page "https://pipewire.org/")
(synopsis "Server and user space API to deal with multimedia pipelines")
(description
"PipeWire is a project that aims to greatly improve handling of audio and
video under Linux. It aims to support the usecases currently handled by both
PulseAudio and Jack and at the same time provide same level of powerful handling
of Video input and output. It also introduces a security model that makes
interacting with audio and video devices from containerized applications easy,
with supporting Flatpak applications being the primary goal. Alongside Wayland
and Flatpak we expect PipeWire to provide a core building block for the future
of Linux application development.")
(license license:lgpl2.0+)))
(define-public ell
(package
(name "ell")

View file

@ -10,7 +10,7 @@
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com>
@ -354,10 +354,10 @@ (define-public sbcl
;;
;; CCL is not bootstrappable so it won't do. CLISP 2.49 seems to work.
;; ECL too. ECL builds SBCL about 20% slower than CLISP. As of
;; 2019-09-05, ECL was last updated in 2016 while CLISP was last update
;; 2019-09-05, ECL was last updated in 2016 while CLISP was last updated
;; in 2010.
;;
;; For now we stick to CLISP for all systems. We keep the `match' in to
;; For now we stick to CLISP for all systems. We keep the `match' here to
;; make it easier to change the host compiler for various architectures.
`(,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
@ -422,7 +422,8 @@ (define (quoted-path input path)
(("\\(deftest pwent\\.[12]" all)
(string-append "#+nil ;disabled by Guix\n" all))
(("\\(deftest grent\\.[12]" all)
(string-append "#+nil ;disabled by Guix\n" all))))))
(string-append "#+nil ;disabled by Guix\n" all))))
#t))
;; FIXME: the texlive-union insists on regenerating fonts. It stores
;; them in HOME, so it needs to be writeable.
(add-before 'build 'set-HOME
@ -444,6 +445,7 @@ (define (quoted-path input path)
(invoke "sh" "install.sh")))
(add-after 'build 'build-doc
(lambda _
;; TODO: Doc is not deterministic, maybe there is a timespamp?
(with-directory-excursion "doc/manual"
(and (invoke "make" "info")
(invoke "make" "dist")))))

View file

@ -1143,14 +1143,14 @@ (define-public pavucontrol-qt
(define-public qps
(package
(name "qps")
(version "1.10.20")
(version "2.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/lxqt/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
(base32 "0dz7ricxg2rrmdyca6mc2d4lyy5bpksjk751hvn95wssr76y2w0m"))))
(base32 "0ysnh918n9wz2vgjvyix32kx2j0v4lskjacgcychrpb8sch2dbsi"))))
(build-system cmake-build-system)
(inputs
`(("libxrender" ,libxrender)

View file

@ -482,6 +482,45 @@ (define-public cddlib
computing convex hulls.")
(license license:gpl2+)))
(define-public lrslib
(package
(name "lrslib")
(version "7.0a")
(source
(origin
(method url-fetch)
(uri (string-append "http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/"
"lrslib-0"
(string-delete #\. version) ".tar.gz"))
(sha256
(base32
"034fa45r9hwx6ljmgpxk2872q34nklkalpdkc6s9hqw57rivi36k"))))
(build-system gnu-build-system)
(inputs
`(("gmp" ,gmp)))
(arguments
`(#:tests? #f ; no check phase
#:make-flags `("CC=gcc"
,(string-append "prefix=" (assoc-ref %outputs "out"))
"all-shared")
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "makefile"
(("-L \\.") "-L . -Wl,-rpath='$$ORIGIN/../lib'"))
#t)))))
(home-page "http://cgm.cs.mcgill.ca/~avis/C/lrs.html")
(synopsis "Convex hulls of polyhedra with exact arithmetic")
(description
"The C code of lrslib implements the reverse search algorithm for
vertex enumeration and convex hull problems. Its input file format is
compatible with cddlib. All computations are done exactly in either
multiple precision or fixed integer arithmetic. Output is not stored
in memory, so even problems with very large output sizes can sometimes
be solved.")
(license license:gpl2+)))
(define-public arpack-ng
(package
(name "arpack-ng")

View file

@ -21,6 +21,9 @@
(define-module (gnu packages mes)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages gcc)
#:use-module (gnu packages graphviz)
@ -134,7 +137,7 @@ (define-public mes-0.19
GNU/Linux distributions. It consists of a mutual self-hosting Scheme
interpreter in C and a Nyacc-based C compiler in Scheme and is compatible with
Guile.")
(home-page "https://gnu.org/software/mes")
(home-page "https://www.gnu.org/software/mes/")
(license gpl3+)))
(define-public mes
@ -145,12 +148,86 @@ (define-public mes
(method url-fetch)
(uri (string-append "mirror://gnu/mes/"
"mes-" version ".tar.gz"))
(patches (search-patches "mes-remove-store-name.patch"))
(sha256
(base32
"104qxngxyl7pql8vqrnli3wfyx0ayfaqg8gjfhmk4qzrafs46slm"))))
(propagated-inputs
`(("mescc-tools" ,mescc-tools)
("nyacc" ,nyacc)))))
("nyacc" ,nyacc)))
(native-search-paths
(list (search-path-specification
(variable "C_INCLUDE_PATH")
(files '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(files '("lib")))))))
(define-public mes-rb5
;; This is the Reproducible-Builds summit 5's Mes, also built on Debian
;; GNU/Linux and NixOS to produce the same, bit-for-bit identical result.
(package
(inherit mes)
(name "mes-rb5")
(inputs '())
(propagated-inputs '())
(native-inputs
`(("bash" ,bash)
("coreutils" ,coreutils)
("grep" ,grep)
("guile" ,guile-2.2)
("libc" ,glibc)
("locales" ,glibc-utf8-locales)
("make" ,gnu-make)
("mes" ,mes)
("mescc-tools" ,mescc-tools)
("nyacc" ,nyacc)
("sed" ,sed)
("tar" ,tar)
("xz" ,xz)))
(supported-systems '("i686-linux"))
(arguments
`(#:implicit-inputs? #f
#:strip-binaries? #f ; binutil's strip b0rkes MesCC/M1/hex2 binaries
#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 popen)
(ice-9 rdelim))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'setenv
(lambda _
(setenv "AR" "mesar")
(setenv "CC" "mescc")
(setenv "GUILD" "true")
(setenv "SCHEME" "mes")
(setenv "LC_ALL" "en_US.UTF-8")
#t))
(replace 'configure
(lambda _
(let ((out (assoc-ref %outputs "out")))
(invoke "sh" "configure.sh"
(string-append "--prefix=" out)
"--host=i686-unkown-linux-gnu"
"--with-courage"))))
(replace 'build
(lambda _
(invoke "sh" "bootstrap.sh")))
(replace 'check
(lambda _
(let ((sha256sum
(read-delimited
" "
(open-pipe* OPEN_READ "sha256sum" "src/mes"))))
(unless
(equal?
sha256sum
"9e0bcb1633c58e7bc415f6ea27cee7951d6b0658e13cdc147e992b31a14625fb")
(throw 'error "mes checksum failure"))
#t)))
(replace 'install
(lambda _
(invoke "sh" "install.sh"))))))))
(define-public mescc-tools-0.5.2
;; Mescc-tools used for bootstrap.

View file

@ -607,7 +607,10 @@ (define-public gajim
(let ((file (string-append out "/bin/" name))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program file
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
;; For translations
`("XDG_DATA_DIRS" ":" prefix
(,(string-append (assoc-ref outputs "out") "/share"))))))
'("gajim" "gajim-remote" "gajim-history-manager")))
#t))
(add-after 'install 'install-icons

View file

@ -3838,7 +3838,7 @@ (define-public lmms
(define-public musescore
(package
(name "musescore")
(version "3.3.3")
(version "3.3.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3847,7 +3847,7 @@ (define-public musescore
(file-name (git-file-name name version))
(sha256
(base32
"11pcw2ihi7ddd4rr83y72i61yyc1qfj6v14a82zwlak2qnllpbmr"))
"1jwj89v69nhyawj8x7niwznm1vgvp51dhzw6ggnarc3wdvp6qq8y"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.

View file

@ -35,6 +35,7 @@
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2019 Daniel Schaefer <git@danielschaefer.me>
;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -601,14 +602,14 @@ (define-public whois
(define-public wireshark
(package
(name "wireshark")
(version "3.0.6")
(version "3.0.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz"))
(sha256
(base32 "0gp3qg0280ysrsaa97yfazka8xcyrspsrw8bfgqxnpf1l0i40zx8"))))
(base32 "1wljg5z994r8zbjig52zlgp0b8lqbzdl1d6ysnw9hcvm2y82farv"))))
(build-system cmake-build-system)
(arguments
`(#:phases
@ -2522,12 +2523,6 @@ (define-public restbed
(home-page "https://github.com/Corvusoft/restbed")
(license license:agpl3+))))
(define fmt-restinio
(package
(inherit fmt)
(arguments
'(#:configure-flags '("-DCMAKE_CXX_FLAGS=-fPIC")))))
(define-public restinio
(package
(name "restinio")
@ -2552,7 +2547,7 @@ (define-public restinio
("sobjectizer" ,sobjectizer)))
(propagated-inputs
`(("asio", asio)
("fmt" ,fmt-restinio)
("fmt" ,fmt)
("http-parser", http-parser)))
(arguments
`(#:configure-flags '("-DRESTINIO_INSTALL=on")
@ -2591,7 +2586,7 @@ (define-public opendht
("readline" ,readline)
("jsoncpp" ,jsoncpp)
("openssl" ,openssl)
("fmt" ,fmt-restinio)))
("fmt" ,fmt)))
(propagated-inputs
`(("argon2" ,argon2) ; TODO: Needed for the pkg-config .pc file to work?
("msgpack" ,msgpack))) ;included in several installed headers
@ -2822,3 +2817,33 @@ (define-public ipcalc
easy-to-understand binary values.")
(home-page "http://jodies.de/ipcalc")
(license license:gpl2+)))
(define-public vde2
(package
(name "vde2")
(version "2.3.2")
(source
(origin
(method url-fetch)
(uri "mirror://sourceforge/vde/vde2/2.3.2/vde2-2.3.2.tar.gz")
(sha256
(base32 "14xga0ib6p1wrv3hkl4sa89yzjxv7f1vfqaxsch87j6scdm59pr2"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f)) ; Build fails if #t.
(inputs
`(("python" ,python)
("libpcap" ,libpcap)
("openssl" ,openssl-1.0))) ; Build fails with 1.1.
(home-page "https://github.com/virtualsquare/vde-2")
(synopsis "Virtual Distributed Ethernet")
(description "VDE is a set of programs to provide virtual software-defined
Ethernet network interface controllers across multiple virtual or
physical, local or remote devices. The VDE architecture provides
virtual counterparts to hardware components such as switches and
cables.")
(license (list license:gpl2
license:lgpl2.1 ; libvdeplug
(license:non-copyleft ; slirpvde
"file://COPYING.slirpvde"
"See COPYING.slirpvde in the distribution.")))))

View file

@ -71,6 +71,7 @@ (define-public nss
(package
(name "nss")
(version "3.46.1")
(replacement nss/fixed)
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@ -183,3 +184,11 @@ (define-public nss
PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other
security standards.")
(license license:mpl2.0)))
(define nss/fixed
(package
(inherit nss)
(source (origin
(inherit (package-source nss))
(patches (append (search-patches "nss-CVE-2019-11745.patch")
(origin-patches (package-source nss))))))))

View file

@ -1,140 +0,0 @@
This patch was taken from Nixpkgs.
From 616381bc25b0e90198683fb049f994e82d467d96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
Date: Sat, 13 May 2017 02:45:49 +0200
Subject: [PATCH] Don't use hardcoded /sbin, /usr/bin etc. paths. Fixes
#1450546.
Instead, rely on programs to be in PATH, as gluster already
does in many places across its code base.
Change-Id: Id21152fe42f5b67205d8f1571b0656c4d5f74246
---
contrib/fuse-lib/mount-common.c | 8 ++++----
xlators/mgmt/glusterd/src/glusterd-ganesha.c | 6 +++---
xlators/mgmt/glusterd/src/glusterd-quota.c | 6 +++---
xlators/mgmt/glusterd/src/glusterd-snapshot.c | 4 ++--
xlators/mgmt/glusterd/src/glusterd-utils.c | 14 +-------------
5 files changed, 13 insertions(+), 25 deletions(-)
diff --git a/contrib/fuse-lib/mount-common.c b/contrib/fuse-lib/mount-common.c
index e9f80fe81..6380dd867 100644
--- a/contrib/fuse-lib/mount-common.c
+++ b/contrib/fuse-lib/mount-common.c
@@ -255,16 +255,16 @@ fuse_mnt_umount (const char *progname, const char *abs_mnt,
exit (1);
}
#ifdef GF_LINUX_HOST_OS
- execl ("/bin/umount", "/bin/umount", "-i", rel_mnt,
+ execl ("umount", "umount", "-i", rel_mnt,
lazy ? "-l" : NULL, NULL);
- GFFUSE_LOGERR ("%s: failed to execute /bin/umount: %s",
+ GFFUSE_LOGERR ("%s: failed to execute umount: %s",
progname, strerror (errno));
#elif __NetBSD__
/* exitting the filesystem causes the umount */
exit (0);
#else
- execl ("/sbin/umount", "/sbin/umount", "-f", rel_mnt, NULL);
- GFFUSE_LOGERR ("%s: failed to execute /sbin/umount: %s",
+ execl ("umount", "umount", "-f", rel_mnt, NULL);
+ GFFUSE_LOGERR ("%s: failed to execute umount: %s",
progname, strerror (errno));
#endif /* GF_LINUX_HOST_OS */
exit (1);
diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c
index 0e6629cf0..fcb4738b7 100644
--- a/xlators/mgmt/glusterd/src/glusterd-quota.c
+++ b/xlators/mgmt/glusterd/src/glusterd-quota.c
@@ -30,7 +30,7 @@
#ifndef _PATH_SETFATTR
# ifdef GF_LINUX_HOST_OS
-# define _PATH_SETFATTR "/usr/bin/setfattr"
+# define _PATH_SETFATTR "setfattr"
# endif
# ifdef __NetBSD__
# define _PATH_SETFATTR "/usr/pkg/bin/setfattr"
@@ -335,7 +335,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv,
if (type == GF_QUOTA_OPTION_TYPE_ENABLE ||
type == GF_QUOTA_OPTION_TYPE_ENABLE_OBJECTS)
- runner_add_args (&runner, "/usr/bin/find", ".", NULL);
+ runner_add_args (&runner, "find", ".", NULL);
else if (type == GF_QUOTA_OPTION_TYPE_DISABLE) {
@@ -351,7 +351,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv,
VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "1",
"{}", "\\", ";", NULL);
#else
- runner_add_args (&runner, "/usr/bin/find", ".",
+ runner_add_args (&runner, "find", ".",
"-exec", _PATH_SETFATTR, "-n",
VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "-v",
"1", "{}", "\\", ";", NULL);
diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot.c b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
index da0152366..f0d135350 100644
--- a/xlators/mgmt/glusterd/src/glusterd-snapshot.c
+++ b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
@@ -121,7 +121,7 @@ glusterd_build_snap_device_path (char *device, char *snapname,
}
runinit (&runner);
- runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "vg_name",
+ runner_add_args (&runner, "lvs", "--noheadings", "-o", "vg_name",
device, NULL);
runner_redir (&runner, STDOUT_FILENO, RUN_PIPE);
snprintf (msg, sizeof (msg), "Get volume group for device %s", device);
@@ -1982,7 +1982,7 @@ glusterd_is_thinp_brick (char *device, uint32_t *op_errno)
runinit (&runner);
- runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "pool_lv",
+ runner_add_args (&runner, "lvs", "--noheadings", "-o", "pool_lv",
device, NULL);
runner_redir (&runner, STDOUT_FILENO, RUN_PIPE);
runner_log (&runner, this->name, GF_LOG_DEBUG, msg);
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 51db13df0..6fa7b92f9 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -6027,7 +6027,6 @@ static struct fs_info {
char *fs_tool_pattern;
char *fs_tool_pkg;
} glusterd_fs[] = {
- /* some linux have these in /usr/sbin/and others in /sbin/? */
{ "xfs", "xfs_info", NULL, "isize=", "xfsprogs" },
{ "ext3", "tune2fs", "-l", "Inode size:", "e2fsprogs" },
{ "ext4", "tune2fs", "-l", "Inode size:", "e2fsprogs" },
@@ -6048,7 +6047,6 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count)
char *trail = NULL;
runner_t runner = {0, };
struct fs_info *fs = NULL;
- char fs_tool_name[256] = {0, };
static dict_t *cached_fs = NULL;
memset (key, 0, sizeof (key));
@@ -6085,17 +6083,7 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count)
cur_word = "N/A";
goto cached;
}
-
- snprintf (fs_tool_name, sizeof (fs_tool_name),
- "/usr/sbin/%s", fs->fs_tool_name);
- if (sys_access (fs_tool_name, R_OK|X_OK) == 0)
- runner_add_arg (&runner, fs_tool_name);
- else {
- snprintf (fs_tool_name, sizeof (fs_tool_name),
- "/sbin/%s", fs->fs_tool_name);
- if (sys_access (fs_tool_name, R_OK|X_OK) == 0)
- runner_add_arg (&runner, fs_tool_name);
- }
+ runner_add_arg (&runner, fs->fs_tool_name);
break;
}
}
--
2.12.0

View file

@ -1,221 +0,0 @@
This patch is derived from upstream commit 2520aea6 and fixes upstream issues
285 and 302. See https://gitlab.gnome.org/GNOME/gcr/merge_requests/387,
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/285 and
https://gitlab.gnome.org/GNOME/gnome-control-center/issues/302.
diff --git a/panels/info/cc-info-overview-panel.c b/panels/info/cc-info-overview-panel.c
index e2276a295b3fd9de01b30fc3369069b5d33ba5b7..ff47c1fef2493bcc7ab34f9e8716d570d8d370ed 100644
--- a/panels/info/cc-info-overview-panel.c
+++ b/panels/info/cc-info-overview-panel.c
@@ -36,6 +36,7 @@
#include <glibtop/mountlist.h>
#include <glibtop/mem.h>
#include <glibtop/sysinfo.h>
+#include <udisks/udisks.h>
#include <gdk/gdk.h>
@@ -81,9 +82,7 @@ typedef struct
GCancellable *cancellable;
- /* Free space */
- GList *primary_mounts;
- guint64 total_bytes;
+ UDisksClient *client;
GraphicsData *graphics_data;
} CcInfoOverviewPanelPrivate;
@@ -96,8 +95,6 @@ struct _CcInfoOverviewPanel
CcInfoOverviewPanelPrivate *priv;
};
-static void get_primary_disc_info_start (CcInfoOverviewPanel *self);
-
typedef struct
{
char *major;
@@ -486,111 +483,51 @@ get_os_type (void)
}
static void
-query_done (GFile *file,
- GAsyncResult *res,
- CcInfoOverviewPanel *self)
+get_primary_disc_info (CcInfoOverviewPanel *self)
{
CcInfoOverviewPanelPrivate *priv;
- g_autoptr(GFileInfo) info = NULL;
- g_autoptr(GError) error = NULL;
-
- info = g_file_query_filesystem_info_finish (file, res, &error);
- if (info != NULL)
- {
- priv = cc_info_overview_panel_get_instance_private (self);
- priv->total_bytes += g_file_info_get_attribute_uint64 (info, G_FILE_ATTRIBUTE_FILESYSTEM_SIZE);
- }
- else
- {
- if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
- return;
- else
- {
- g_autofree char *path = NULL;
- path = g_file_get_path (file);
- g_warning ("Failed to get filesystem free space for '%s': %s", path, error->message);
- }
- }
+ GDBusObjectManager *manager;
+ g_autolist(GDBusObject) objects = NULL;
+ GList *l;
+ guint64 total_size;
- /* And onto the next element */
- get_primary_disc_info_start (self);
-}
-
-static void
-get_primary_disc_info_start (CcInfoOverviewPanel *self)
-{
- GUnixMountEntry *mount;
- g_autoptr(GFile) file = NULL;
- CcInfoOverviewPanelPrivate *priv = cc_info_overview_panel_get_instance_private (self);
+ priv = cc_info_overview_panel_get_instance_private (self);
+ total_size = 0;
- if (priv->primary_mounts == NULL)
+ if (!priv->client)
{
- g_autofree char *size = NULL;
-
- size = g_format_size (priv->total_bytes);
- gtk_label_set_text (GTK_LABEL (priv->disk_label), size);
-
+ gtk_label_set_text (GTK_LABEL (priv->disk_label), _("Unknown"));
return;
}
- mount = priv->primary_mounts->data;
- priv->primary_mounts = g_list_remove (priv->primary_mounts, mount);
- file = g_file_new_for_path (g_unix_mount_get_mount_path (mount));
- g_unix_mount_free (mount);
-
- g_file_query_filesystem_info_async (file,
- G_FILE_ATTRIBUTE_FILESYSTEM_SIZE,
- 0,
- priv->cancellable,
- (GAsyncReadyCallback) query_done,
- self);
-}
-
-static void
-get_primary_disc_info (CcInfoOverviewPanel *self)
-{
- GList *points;
- GList *p;
- GHashTable *hash;
- CcInfoOverviewPanelPrivate *priv = cc_info_overview_panel_get_instance_private (self);
-
- hash = g_hash_table_new (g_str_hash, g_str_equal);
- points = g_unix_mount_points_get (NULL);
-
- /* If we do not have /etc/fstab around, try /etc/mtab */
- if (points == NULL)
- points = g_unix_mounts_get (NULL);
+ manager = udisks_client_get_object_manager (priv->client);
+ objects = g_dbus_object_manager_get_objects (manager);
- for (p = points; p != NULL; p = p->next)
+ for (l = objects; l != NULL; l = l->next)
{
- GUnixMountEntry *mount = p->data;
- const char *mount_path;
- const char *device_path;
-
- mount_path = g_unix_mount_get_mount_path (mount);
- device_path = g_unix_mount_get_device_path (mount);
-
- /* Do not count multiple mounts with same device_path, because it is
- * probably something like btrfs subvolume. Use only the first one in
- * order to count the real size. */
- if (gsd_should_ignore_unix_mount (mount) ||
- gsd_is_removable_mount (mount) ||
- g_str_has_prefix (mount_path, "/media/") ||
- g_str_has_prefix (mount_path, g_get_home_dir ()) ||
- g_hash_table_lookup (hash, device_path) != NULL)
+ UDisksDrive *drive;
+ drive = udisks_object_peek_drive (UDISKS_OBJECT (l->data));
+
+ /* Skip removable devices */
+ if (drive == NULL ||
+ udisks_drive_get_removable (drive) ||
+ udisks_drive_get_ejectable (drive))
{
- g_unix_mount_free (mount);
continue;
}
- priv->primary_mounts = g_list_prepend (priv->primary_mounts, mount);
- g_hash_table_insert (hash, (gpointer) device_path, (gpointer) device_path);
+ total_size += udisks_drive_get_size (drive);
}
- g_list_free (points);
- g_hash_table_destroy (hash);
- priv->cancellable = g_cancellable_new ();
- get_primary_disc_info_start (self);
+ if (total_size > 0)
+ {
+ g_autofree gchar *size = g_format_size (total_size);
+ gtk_label_set_text (GTK_LABEL (priv->disk_label), size);
+ }
+ else
+ {
+ gtk_label_set_text (GTK_LABEL (priv->disk_label), _("Unknown"));
+ }
}
static char *
@@ -852,8 +789,7 @@ cc_info_overview_panel_finalize (GObject *object)
g_clear_object (&priv->cancellable);
}
- if (priv->primary_mounts)
- g_list_free_full (priv->primary_mounts, (GDestroyNotify) g_unix_mount_free);
+ g_clear_object (&priv->client);
g_free (priv->gnome_version);
g_free (priv->gnome_date);
@@ -895,6 +831,7 @@ static void
cc_info_overview_panel_init (CcInfoOverviewPanel *self)
{
CcInfoOverviewPanelPrivate *priv = cc_info_overview_panel_get_instance_private (self);
+ g_autoptr(GError) error = NULL;
gtk_widget_init_template (GTK_WIDGET (self));
@@ -907,6 +844,12 @@ cc_info_overview_panel_init (CcInfoOverviewPanel *self)
else
gtk_widget_destroy (priv->updates_button);
+ priv->client = udisks_client_new_sync (NULL, &error);
+
+ if (error != NULL)
+ g_warning ("Unable to get UDisks client: %s. Disk information will not be available.",
+ error->message);
+
info_overview_panel_setup_overview (self);
info_overview_panel_setup_virt (self);
}
diff --git a/panels/info/meson.build b/panels/info/meson.build
index 03742551314f91b60e3ec1caad153ff314b93310..c54e5fdaff3c6ddb59cca8ee9a2bf5a0212bf196 100644
--- a/panels/info/meson.build
+++ b/panels/info/meson.build
@@ -61,6 +61,7 @@ sources += gnome.compile_resources(
deps = common_deps + [
polkit_gobject_dep,
+ dependency('udisks2', version: '>= 2.1.8'),
dependency('libgtop-2.0')
]

View file

@ -0,0 +1,61 @@
commit edf5aea7ac852db2356ef36cba4a119eb0c81ea9
Author: Ludovic Courtès <ludo@gnu.org>
Date: Mon Dec 9 14:44:59 2019 +0100
Fix non-deterministic crash in 'finalization_thread_proc'.
Fixes <https://bugs.gnu.org/37757>.
Reported by Jesse Gibbons <jgibbons2357@gmail.com>.
* libguile/finalizers.c (finalization_thread_proc): Do not enter the
"switch (data.byte)" condition when data.n <= 0.
diff --git a/libguile/finalizers.c b/libguile/finalizers.c
index c5d69e8e3..94a6e6b0a 100644
--- a/libguile/finalizers.c
+++ b/libguile/finalizers.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2012, 2013, 2014 Free Software Foundation, Inc.
+/* Copyright (C) 2012, 2013, 2014, 2019 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -211,21 +211,26 @@ finalization_thread_proc (void *unused)
scm_without_guile (read_finalization_pipe_data, &data);
- if (data.n <= 0 && data.err != EINTR)
+ if (data.n <= 0)
{
- perror ("error in finalization thread");
- return NULL;
+ if (data.err != EINTR)
+ {
+ perror ("error in finalization thread");
+ return NULL;
+ }
}
-
- switch (data.byte)
+ else
{
- case 0:
- scm_run_finalizers ();
- break;
- case 1:
- return NULL;
- default:
- abort ();
+ switch (data.byte)
+ {
+ case 0:
+ scm_run_finalizers ();
+ break;
+ case 1:
+ return NULL;
+ default:
+ abort ();
+ }
}
}
}

View file

@ -0,0 +1,121 @@
From d8f361705325cf91fc6c2ec84f281cdcd6bfa8b1 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Tue, 3 Dec 2019 21:23:24 +0100
Subject: [PATCH] core: Remove MES_PKGDATADIR.
* configure: Do not add MES_PKGDATADIR to config.h.
* configure.sh: Likewise.
* simple.sh: Likewise.
* src/mes.c (open_boot): Do not use MES_PKGDATADIR; rely on
MES_PREFIX or cwd.
---
configure | 1 -
configure.sh | 1 -
simple.sh | 2 --
src/mes.c | 13 -------------
4 files changed, 17 deletions(-)
diff --git a/configure b/configure
index 8edb2ce7b..12d8323f2 100755
--- a/configure
+++ b/configure
@@ -666,7 +666,6 @@ See \"Porting GNU Mes\" in the manual, or try --with-courage\n" mes-system)
"))
(display (string-append "
#define MES_VERSION \"" VERSION "\"
-#define MES_PKGDATADIR \"" pkgdatadir "\"
")))))
(substitute (string-append srcdest "build-aux/config.make.in") pairs #:target ".config.make"))
diff --git a/configure.sh b/configure.sh
index 947ddd851..0139cbc36 100755
--- a/configure.sh
+++ b/configure.sh
@@ -244,7 +244,6 @@ EOF
fi
cat >> include/mes/config.h <<EOF
#define MES_VERSION "$VERSION"
-#define MES_PKGDATADIR "$pkgdatadir"
EOF
cat <<EOF
diff --git a/simple.sh b/simple.sh
index db6950354..b54398a59 100755
--- a/simple.sh
+++ b/simple.sh
@@ -33,7 +33,6 @@ mes_bits=64
cat > include/mes/config.h <<EOF
#define SYSTEM_LIBC 1
#define MES_VERSION "git"
-#define MES_PKGDATADIR "/usr/local/share/mes"
EOF
## Build ##
@@ -126,7 +125,6 @@ mes_cpu=x86_64
cat > include/mes/config.h <<EOF
// #define SYSTEM_LIBC 0
#define MES_VERSION "git"
-#define MES_PKGDATADIR "/usr/local/share/mes"
EOF
## Build ##
diff --git a/src/mes.c b/src/mes.c
index d9760fad6..a5e7f2b69 100644
--- a/src/mes.c
+++ b/src/mes.c
@@ -1775,12 +1775,6 @@ open_boot ()
char boot[1024];
char file_name[1024];
strcpy (g_datadir, ".");
- if (g_debug > 1)
- {
- eputs (";;; pkgdatadir=");
- eputs (MES_PKGDATADIR);
- eputs ("\n");
- }
if (getenv ("MES_BOOT"))
strcpy (boot, getenv ("MES_BOOT"));
else
@@ -1801,13 +1795,6 @@ open_boot ()
__stdin = try_open_boot (file_name, boot, "MES_PREFIX/share/mes");
}
}
- if (__stdin < 0)
- {
- strcpy (g_datadir, MES_PKGDATADIR);
- strcpy (file_name, g_datadir);
- strcpy (file_name + strlen (file_name), "/module/mes/");
- __stdin = try_open_boot (file_name, boot, "pkgdatadir");
- }
if (__stdin < 0)
{
g_datadir[0] = 0;
--
2.24.0
commit 2f6fab05b3f09df02aba70c3e21d5fedb45dc567
Author: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sun Nov 24 23:12:29 2019 +0100
core: Throw instead of segfault on non-existing input file. WIP.
Reported by theruran.
* src/posix.c (open_input_file): Call error instead of failing silently.
diff --git a/src/posix.c b/src/posix.c
index 7ba2e9915..fd753232d 100644
--- a/src/posix.c
+++ b/src/posix.c
@@ -188,7 +188,10 @@ current_input_port ()
SCM
open_input_file (SCM file_name)
{
- return MAKE_NUMBER (mes_open (CSTRING (file_name), O_RDONLY, 0));
+ int filedes = mes_open (CSTRING (file_name), O_RDONLY, 0);
+ if (filedes == -1)
+ error (cell_symbol_system_error, cons (MAKE_STRING0 ("No such file or directory"), file_name));
+ return MAKE_NUMBER (filedes);
}
SCM

View file

@ -0,0 +1,24 @@
Patch taken from Debian sid.
Description: Support uncompressing and compressing soft links.
Historically, ncompress for Debian has been built using a command line
directly in debian/rules. For 4.2.4.5-1, I simplified by swtching to the
upstream Makefile. However, that caused a regression - the Debian version of
ncompress has always successfully handled soft links, but this stopped
working. To revert to the original behavior, I need to remove -DLSTAT from
the build options, to be consistent with how the code was previously built.
Author: Kenneth J. Pronovici <pronovic@debian.org>
Bug-Debian: http://bugs.debian.org/918836
Index: ncompress/GNUmakefile
===================================================================
--- ncompress.orig/GNUmakefile
+++ ncompress/GNUmakefile
@@ -9,7 +9,7 @@ distclean: cleanup
Makefile: Makefile.def GNUmakefile
sed \
- -e 's:options= :options= $$(CFLAGS) -DNOFUNCDEF -DUTIME_H -DLSTAT $$(LDFLAGS) :' \
+ -e 's:options= :options= $$(CFLAGS) -DNOFUNCDEF -DUTIME_H $$(LDFLAGS) :' \
Makefile.def > Makefile
check:

View file

@ -0,0 +1,24 @@
Fix CVE-2019-11745 (Out-of-bounds write when passing an output buffer smaller
than the block size to NSC_EncryptUpdate).
Copied from Debian, equivalent to upstream fix:
<https://hg.mozilla.org/projects/nss/rev/1e22a0c93afe9f46545560c86caedef9dab6cfda>.
# HG changeset patch
# User Craig Disselkoen <cdisselk@cs.ucsd.edu>
# Date 1574189697 25200
# Node ID 60bca7c6dc6dc44579b9b3e0fb62ca3b82d92eec
# Parent 64e55c9f658e2a75f0835d00a8a1cdc2f25c74d6
Bug 1586176 - EncryptUpdate should use maxout not block size. r=franziskus
--- a/nss/lib/softoken/pkcs11c.c
+++ b/nss/lib/softoken/pkcs11c.c
@@ -1285,7 +1285,7 @@ NSC_EncryptUpdate(CK_SESSION_HANDLE hSes
}
/* encrypt the current padded data */
rv = (*context->update)(context->cipherInfo, pEncryptedPart,
- &padoutlen, context->blockSize, context->padBuf,
+ &padoutlen, maxout, context->padBuf,
context->blockSize);
if (rv != SECSuccess) {
return sftk_MapCryptError(PORT_GetError());

View file

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

View file

@ -1,19 +0,0 @@
From 9dd1e8d9ad0396a8c9092c2e9f17d498c58e0208 Mon Sep 17 00:00:00 2001
From: elifoster <elifosterwy@gmail.com>
Date: Tue, 5 Dec 2017 14:30:13 -0800
Subject: [PATCH] Fix uninitialized constant DateTime Close #80
---
lib/safe_yaml/parse/date.rb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/safe_yaml/parse/date.rb b/lib/safe_yaml/parse/date.rb
index cd3c62a..3a30a8b 100644
--- a/lib/safe_yaml/parse/date.rb
+++ b/lib/safe_yaml/parse/date.rb
@@ -1,3 +1,5 @@
+require 'time'
+
module SafeYAML
class Parse
class Date

View file

@ -1,45 +0,0 @@
From a13db62a4da06426cf2eb2376d1a3723b5ee52d5 Mon Sep 17 00:00:00 2001
From: Vasily Postnicov <shamaz.mazum@gmail.com>
Date: Fri, 14 Dec 2018 20:01:53 +0300
Subject: [PATCH] READ-ONE-LINE: Turn COMPLETIONS into a keyword argument
This keeps READ-ONE-line backwards compatible to changes prior
dae0422811771d179077b9336618f2b19be85b7b. Currently both
ARGUMENT-POP-OR-READ and ARGUMENT-POP-REST-OR-READ are still being
called with the previous lambda list. Update the calls to the
READ-ONE-LINE that used the 'new' lambda list, COMPLETING-READ and
YES-OR-NO-P.
Closes #538
---
input.lisp | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/input.lisp b/input.lisp
index b698a368..7904b35f 100644
--- a/input.lisp
+++ b/input.lisp
@@ -307,10 +307,13 @@ passed the substring to complete on and is expected to return a list
of matches. If require-match argument is non-nil then the input must
match with an element of the completions."
(check-type completions (or list function symbol))
- (let ((line (read-one-line screen prompt completions :initial-input initial-input :require-match require-match)))
+ (let ((line (read-one-line screen prompt
+ :completions completions
+ :initial-input initial-input
+ :require-match require-match)))
(when line (string-trim " " line))))
-(defun read-one-line (screen prompt completions &key (initial-input "") require-match password)
+(defun read-one-line (screen prompt &key completions (initial-input "") require-match password)
"Read a line of input through stumpwm and return it. Returns nil if the user aborted."
(let ((*input-last-command* nil)
(*input-completions* completions)
@@ -842,6 +845,7 @@ user presses 'y'"
user presses 'yes'"
(loop for line = (read-one-line (current-screen)
(format nil "~a(yes or no) " message)
+ :completions
'("yes" "no"))
until (find line '("yes" "no") :test 'string-equal)
do (message "Please answer yes or no")

View file

@ -1,14 +0,0 @@
Fix an error that occurs with Meson 0.50.0 and later:
"ERROR: Subdir keyword must not be an absolute path".
--- a/src/meson.build 2019-03-15 00:10:26.882293850 +0100
+++ b/src/meson.build 2019-03-15 00:10:54.312197229 +0100
@@ -82,7 +82,7 @@
install_headers(
headers,
- subdir: join_paths(totem_includedir, totem_api_path)
+ install_dir: join_paths(totem_includedir, totem_api_path)
)
libtotem_player_sources = files(

View file

@ -1,65 +0,0 @@
Fix a bug whereby the 'have_easy_codec' would be left undefined
when passing '-D enable-easy-codec-installation=no'. Likewise,
don't rely on GStreamer's plug-in support when it's disabled.
--- totem-3.26.0/meson.build 2017-10-11 22:29:44.506280919 +0200
+++ totem-3.26.0/meson.build 2017-10-11 22:29:50.902252058 +0200
@@ -203,6 +203,8 @@ if easy_codec_option != 'no'
missing_plugins_deps += gst_pbutils_dep
config_h.set('ENABLE_MISSING_PLUGIN_INSTALLATION', have_easy_codec,
description: 'Whether we can and want to do installation of missing plugins')
+else
+ have_easy_codec = false
endif
# python support
--- totem-3.26.0/src/backend/bacon-video-widget.c 2017-10-11 22:40:52.531217356 +0200
+++ totem-3.26.0/src/backend/bacon-video-widget.c 2017-10-11 22:45:44.973847231 +0200
@@ -341,6 +341,22 @@ get_type_name (GType class_type, int typ
return value->value_nick;
}
+#ifndef ENABLE_MISSING_PLUGIN_INSTALLATION
+
+gchar *
+gst_missing_plugin_message_get_installer_detail (GstMessage *message)
+{
+ return NULL;
+}
+
+char *
+gst_missing_plugin_message_get_description (GstMessage *message)
+{
+ return NULL;
+}
+
+#endif
+
static gchar **
bvw_get_missing_plugins_foo (const GList * missing_plugins, MsgToStrFunc func)
{
@@ -1654,10 +1670,12 @@ bvw_handle_element_message (BaconVideoWi
}
}
goto done;
+#ifdef ENABLE_MISSING_PLUGIN_INSTALLATION
} else if (gst_is_missing_plugin_message (msg)) {
bvw->priv->missing_plugins =
g_list_prepend (bvw->priv->missing_plugins, gst_message_ref (msg));
goto done;
+#endif
} else if (strcmp (type_name, "not-mounted") == 0) {
const GValue *val;
GFile *file;
@@ -6109,7 +6127,9 @@ bacon_video_widget_initable_init (GInita
GST_DEBUG ("Initialised %s", version_str);
g_free (version_str);
+#ifdef ENABLE_MISSING_PLUGIN_INSTALLATION
gst_pb_utils_init ();
+#endif
/* Instantiate all the fallible plugins */
bvw->priv->play = element_make_or_warn ("playbin", "play");

View file

@ -0,0 +1,103 @@
This patch for Boost >= 1.70 was made by merging two patches that
are in the 'develop' branch (c769c92 and f810ca2).
diff -u b/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
--- b/websocketpp/transport/asio/connection.hpp
+++ b/websocketpp/transport/asio/connection.hpp
@@ -311,9 +311,10 @@
* needed.
*/
timer_ptr set_timer(long duration, timer_handler callback) {
- timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>(
- lib::ref(*m_io_service),
- lib::asio::milliseconds(duration)
+ timer_ptr new_timer(
+ new lib::asio::steady_timer(
+ *m_io_service,
+ lib::asio::milliseconds(duration))
);
if (config::enable_multithreading) {
@@ -461,8 +462,7 @@
m_io_service = io_service;
if (config::enable_multithreading) {
- m_strand = lib::make_shared<lib::asio::io_service::strand>(
- lib::ref(*io_service));
+ m_strand.reset(new lib::asio::io_service::strand(*io_service));
}
lib::error_code ec = socket_con_type::init_asio(io_service, m_strand,
diff -u b/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
--- b/websocketpp/transport/asio/endpoint.hpp
+++ b/websocketpp/transport/asio/endpoint.hpp
@@ -195,8 +195,7 @@
m_io_service = ptr;
m_external_io_service = true;
- m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>(
- lib::ref(*m_io_service));
+ m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service));
m_state = READY;
ec = lib::error_code();
@@ -688,9 +687,7 @@
* @since 0.3.0
*/
void start_perpetual() {
- m_work = lib::make_shared<lib::asio::io_service::work>(
- lib::ref(*m_io_service)
- );
+ m_work.reset(new lib::asio::io_service::work(*m_io_service));
}
/// Clears the endpoint's perpetual flag, allowing it to exit when empty
@@ -854,8 +851,7 @@
// Create a resolver
if (!m_resolver) {
- m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>(
- lib::ref(*m_io_service));
+ m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service));
}
tcon->set_uri(u);
unchanged:
--- a/websocketpp/transport/asio/security/none.hpp
+++ b/websocketpp/transport/asio/security/none.hpp
@@ -168,8 +168,7 @@ protected:
return socket::make_error_code(socket::error::invalid_state);
}
- m_socket = lib::make_shared<lib::asio::ip::tcp::socket>(
- lib::ref(*service));
+ m_socket.reset(new lib::asio::ip::tcp::socket(*service));
if (m_socket_init_handler) {
m_socket_init_handler(m_hdl, *m_socket);
unchanged:
--- a/websocketpp/transport/asio/security/tls.hpp
+++ b/websocketpp/transport/asio/security/tls.hpp
@@ -193,8 +193,7 @@ protected:
if (!m_context) {
return socket::make_error_code(socket::error::invalid_tls_context);
}
- m_socket = lib::make_shared<socket_type>(
- _WEBSOCKETPP_REF(*service),lib::ref(*m_context));
+ m_socket.reset(new socket_type(*service, *m_context));
if (m_socket_init_handler) {
m_socket_init_handler(m_hdl, get_socket());
only in patch2:
unchanged:
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -202,7 +202,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
endif ()
if (NOT Boost_USE_STATIC_LIBS)
- add_definitions (/DBOOST_TEST_DYN_LINK)
+ add_definitions (-DBOOST_TEST_DYN_LINK)
endif ()
set (Boost_FIND_REQUIRED TRUE)

View file

@ -174,6 +174,8 @@ (define-public fmt
(base32
"0h148anbaqgch6n69pxsvs1c9wmykgd052wmzgdia7qpz8w6p8dl"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
(native-inputs
`(("unzip" ,unzip)))
(home-page "http://fmtlib.net/")

View file

@ -54,6 +54,7 @@ (define-module (gnu packages python-web)
#:use-module (guix build-system python)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
@ -67,6 +68,7 @@ (define-module (gnu packages python-web)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages time)
#:use-module (gnu packages web)
@ -3354,3 +3356,68 @@ (define-public python-cssselect2
XPath and therefore does not have all the correctness corner cases that are
hard or impossible to fix in cssselect.")
(license license:bsd-3)))
(define-public gunicorn
(package
(name "gunicorn")
(version "20.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "gunicorn" version))
(sha256
(base32
"0l1zm8a0vz8ws3lkn8q9a0f93ipdzyvlf2zlwdj5xyadh6jdwsgg"))))
(outputs '("out" "doc"))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'build 'build-doc
(lambda _
(invoke "make" "-C" "docs" "PAPER=a4" "html" "info")
(delete-file "docs/build/texinfo/Makefile")
(delete-file "docs/build/texinfo/Gunicorn.texi")
#t))
(replace 'check
(lambda _
(setenv "PYTHONPATH"
(string-append ".:" (getenv "PYTHONPATH")))
;; Remove test modules failing due to libc not found due to
;; section '.dynamic' not found in libc.so
(delete-file "tests/test_arbiter.py")
(delete-file "tests/test_config.py")
(delete-file "tests/test_sock.py")
(invoke "pytest")))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((doc (string-append (assoc-ref outputs "doc")
"/share/doc/" ,name "-" ,version))
(html (string-append doc "/html"))
(info (string-append doc "/info"))
(examples (string-append doc "/examples")))
(mkdir-p html)
(mkdir-p info)
(mkdir-p examples)
(copy-recursively "docs/build/html" html)
(copy-recursively "docs/build/texinfo" info)
(copy-recursively "examples" examples)
(for-each (lambda (file)
(copy-file file (string-append doc "/" file)))
'("README.rst" "NOTICE" "LICENSE" "THANKS")))
#t)))))
(native-inputs
`(("binutils" ,binutils) ;; for ctypes.util.find_library()
("python-aiohttp", python-aiohttp)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-sphinx" ,python-sphinx)
("texinfo" ,texinfo)))
(home-page "http://gunicorn.org/")
(synopsis "Python WSGI HTTP Server for UNIX")
(description "Gunicorn Green Unicorn is a Python WSGI HTTP
Server for UNIX. Its a pre-fork worker model ported from Rubys
Unicorn project. The Gunicorn server is broadly compatible with
various web frameworks, simply implemented, light on server resources,
and fairly speedy.")
(license license:expat)))

View file

@ -41,7 +41,7 @@
;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017, 2019 Brendan Tildesley <mail@brendan.scot>
@ -103,6 +103,7 @@ (define-module (gnu packages python-xyz)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gstreamer)
@ -3006,19 +3007,20 @@ (define-public python-toml
(define-public python-jsonrpc-server
(package
(name "python-jsonrpc-server")
(version "0.1.2")
(version "0.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-jsonrpc-server" version))
(sha256
(base32
"0m4ykpcdy52x37n1ikysp07j7p8ialcdvvvsrjp3545sn7iiid09"))))
"0ddgdp26dfxaz6isjbb12974b3rxavgsqrn2zrmck62cmipg5g05"))))
(build-system python-build-system)
(propagated-inputs
`(("python-future" ,python-future)
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)))
("python-pytest" ,python-pytest)
("python-ujson" ,python-ujson)))
(home-page
"https://github.com/palantir/python-jsonrpc-server")
(synopsis "JSON RPC 2.0 server library")
@ -3052,14 +3054,14 @@ (define-public python-pydocstyle
(define-public python-language-server
(package
(name "python-language-server")
(version "0.29.1")
(version "0.31.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-language-server" version))
(sha256
(base32
"1f8qlflh6j3s7qfmzhirpl8fgidl6f0qbakdmiml96wdxzvka0s3"))))
"1iq69wc1fyhirfyq25ih41wq9yvr7bchiw0i116adpdgcq6m9idq"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pluggy" ,python-pluggy)
@ -11776,19 +11778,41 @@ (define-public python-termstyle
(define-public python-argcomplete
(package
(name "python-argcomplete")
(version "1.7.0")
(version "1.10.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "argcomplete" version))
(sha256
(base32
"11bwiw6j0nilgz81xnw6f1npyga3prp8asjqrm87cdr3ria5l03x"))))
(origin
(method url-fetch)
(uri (pypi-uri "argcomplete" version))
(sha256
(base32
"02jkc44drb0yjz6x28lvg6rj607n8r2irdpdvyylm8xnycn54zx3"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'embed-tool-references
(lambda _
(substitute* "argcomplete/bash_completion.d/python-argcomplete.sh"
((" grep")
(string-append " " (which "grep")))
((" egrep")
(string-append " " (which "egrep")))
(("elif which")
(string-append "elif " (which "which")))
(("\\$\\(which")
(string-append "$(" (which "which"))))
#t)))))
(inputs
`(("grep" ,grep)
("which" ,which)))
(native-inputs
`(("python-pexpect" ,python-pexpect)
`(("python-coverage" ,python-coverage)
("python-flake8" ,python-flake8)
("python-pexpect" ,python-pexpect)
("python-wheel" ,python-wheel)
("tcsh" ,tcsh)
("bash-full" ,bash))) ;full Bash for 'test_file_completion'
("fish" ,fish)
("bash-full" ,bash))) ;full Bash for 'test_file_completion'
(home-page "https://github.com/kislyuk/argcomplete")
(synopsis "Shell tab completion for Python argparse")
(description "argcomplete provides extensible command line tab completion
@ -16721,3 +16745,63 @@ (define-public python-pykwalify
"This package provides a parser, schema validator, and data binding tool
for YAML and JSON.")
(license license:expat)))
(define-public python-dbusmock
(package
(name "python-dbusmock")
(version "0.18.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-dbusmock" version))
(sha256
(base32
"0hp2kyac88nh9iv6l8hlmv7s1sa1s5f1a3wc2pmlmmxnd211fjlr"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-shell-path
(lambda _
(substitute* "tests/test_code.py"
(("/bin/bash") (which "bash")))
#t)))))
(native-inputs
`(;; For tests.
("dbus" ,dbus) ; for dbus-daemon
("python-nose" ,python-nose)
("which" ,which)))
(propagated-inputs
`(("python-dbus" ,python-dbus)
("python-pygobject" ,python-pygobject)))
(home-page "https://github.com/martinpitt/python-dbusmock")
(synopsis "Python library for mock D-Bus objects")
(description "python-dbusmock allows for the easy creation of mock objects on
D-Bus. This is useful for writing tests for software which talks to D-Bus
services such as upower, systemd, logind, gnome-session or others, and it is
hard (or impossible without root privileges) to set the state of the real
services to what you expect in your tests.")
(license license:lgpl3+)))
(define-public python-ujson
(package
(name "python-ujson")
(version "1.35")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ujson" version))
(sha256
(base32
"11jz5wi7mbgqcsz52iqhpyykiaasila4lq8cmc2d54bfa3jp6q7n"))))
(build-system python-build-system)
(home-page "http://www.esn.me")
(synopsis
"Ultra fast JSON encoder and decoder for Python")
(description
"UltraJSON is an ultra fast JSON encoder and decoder written in pure C with
bindings for Python 2.5+ and 3.")
(license license:bsd-3)))
(define-public python2-ujson
(package-with-python2 python-ujson))

View file

@ -30,7 +30,7 @@ (define-module (gnu packages regex)
(define-public re2
(package
(name "re2")
(version "2019-11-01")
(version "2019-12-01")
(home-page "https://github.com/google/re2")
(source (origin
(method git-fetch)
@ -38,7 +38,7 @@ (define-public re2
(file-name (git-file-name name version))
(sha256
(base32
"1w6djkydjgwavml2qchq24834jkbngyxc1dc4vk8vkgajglv9pff"))))
"0drfhy32a0ndlwc4zi1khx07ifslkrc0w14hj8skqhddkrg55x0l"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)

View file

@ -372,13 +372,13 @@ (define-public ruby-rsync
(define-public ruby-i18n
(package
(name "ruby-i18n")
(version "1.1.0")
(version "1.7.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "i18n" version))
(sha256
(base32
"0ppvmla21hssvrfm8g1n2fnb4lxn4yhy9qmmba0imanflgldrjmr"))))
"0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl"))))
(build-system ruby-build-system)
(arguments
'(#:tests? #f)) ; no tests
@ -390,7 +390,7 @@ (define-public ruby-i18n
transliteration to ASCII, flexible defaults, bulk lookup, lambdas as
translation data, custom key/scope separator, custom exception handlers, and
an extensible architecture with a swappable backend.")
(home-page "https://github.com/svenfuchs/i18n")
(home-page "https://github.com/ruby-i18n/i18n")
(license license:expat)))
(define-public ruby-iruby
@ -560,7 +560,7 @@ (define-public ruby-rspec-expectations-2
(define-public ruby-rspec-its
(package
(name "ruby-rspec-its")
(version "1.2.0")
(version "1.3.0")
(source
(origin
(method git-fetch)
@ -570,17 +570,7 @@ (define-public ruby-rspec-its
(file-name (git-file-name name version))
(sha256
(base32
"190rz7v4q4wk80fzhr5hknvxx4vb2pywmqr8wc41w2blj9ylzi0f"))
(patches
(list
(origin (method url-fetch)
(uri (string-append
"https://github.com/rspec/rspec-its/commit/"
"bfaab439c7c879f5ef25552f41827891f6308373.patch"))
(file-name "ruby-rspec-its-fix-specs-for-ruby-2.4.patch")
(sha256
(base32
"0lnik0kvrpgkakvdb2fmzg22pdlraf6kiidr9sv6rnfyviiqwxgh")))))))
"02mlsc9d4d1cjj5vahi8v3q8hyn9fyiv8nnlidhgfh186qp20g1p"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "spec"
@ -592,13 +582,19 @@ (define-public ruby-rspec-its
(("rspec rspec-core rspec-expectations rspec-mocks rspec-support")
""))
#t))
(add-before 'build 'update-ffi-in-gemfile
(lambda _
(substitute* "Gemfile"
((" gem 'ffi', '~> 1.9.25'") " gem 'ffi', '~> 1.10.0'"))
#t))
(add-before 'build 'remove-unnecessary-dependency-versions-from-gemfile
(lambda _
(substitute* "rspec-its.gemspec"
(("rake.*") "rake'\n")
(("cucumber.*") "cucumber'\n")
(("spec.add_development_dependency 'cucumber'.*")
"spec.add_development_dependency 'cucumber'\n")
(("bundler.*") "bundler'\n")
(("aruba.*") "aruba'\n"))
(("\"aruba.*") "'aruba'\n"))
#t)))))
(propagated-inputs
`(("ruby-rspec-core" ,ruby-rspec-core)
@ -606,6 +602,7 @@ (define-public ruby-rspec-its
(native-inputs
`(("bundler" ,bundler)
("ruby-cucumber" ,ruby-cucumber)
("ruby-ffi" ,ruby-ffi)
("ruby-aruba" ,ruby-aruba)))
(synopsis "RSpec extension that provides the @code{its} method")
(description
@ -5285,14 +5282,14 @@ (define-public ruby-rest-client
(define-public ruby-rubocop
(package
(name "ruby-rubocop")
(version "0.64.0")
(version "0.77.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "rubocop" version))
(sha256
(base32
"07shi6kncwhkvlh9ci9rgccrjsq4448hbic3yrakh2w65ppynvbj"))))
"0m88b1bgbhmmbdnz2xv6n0il0j4q5qm9jbc0vf1zsaxmxqp06nx9"))))
(build-system ruby-build-system)
(arguments
'(;; No included tests
@ -6341,14 +6338,14 @@ (define-public ruby-webmock-2
(define-public ruby-unicode-display-width
(package
(name "ruby-unicode-display-width")
(version "1.4.1")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "unicode-display_width" version))
(sha256
(base32
"0bq528fibi8s0jmxz0xzlgzggdq0x4fx46wfqz49478pv8gb2diq"))))
"08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w"))))
(build-system ruby-build-system)
(arguments
'(;; Test data not included.
@ -7459,13 +7456,13 @@ (define-public ruby-childprocess
(define-public ruby-public-suffix
(package
(name "ruby-public-suffix")
(version "3.0.3")
(version "4.0.1")
(source (origin
(method url-fetch)
(uri (rubygems-uri "public_suffix" version))
(sha256
(base32
"08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"))))
"0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0"))))
(build-system ruby-build-system)
(arguments
'(#:phases
@ -7496,13 +7493,13 @@ (define-public ruby-public-suffix
(define-public ruby-addressable
(package
(name "ruby-addressable")
(version "2.6.0")
(version "2.7.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "addressable" version))
(sha256
(base32
"0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l"))))
"1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec"
@ -8207,13 +8204,13 @@ (define-public ruby-em-websocket
(define-public ruby-rouge
(package
(name "ruby-rouge")
(version "3.2.1")
(version "3.13.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "rouge" version))
(sha256
(base32
"0h79gn2wmn1wix2d27lgiaimccyj8gvizrllyym500pir408x62f"))))
"1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw"))))
(build-system ruby-build-system)
(arguments `(#:tests? #f)); No rakefile
(home-page "http://rouge.jneen.net/")
@ -8287,10 +8284,9 @@ (define-public ruby-heredoc-unindent
(define-public ruby-safe-yaml
(package
(name "ruby-safe-yaml")
(version "1.0.4")
(version "1.0.5")
(source
(origin
;; TODO Fetch from the git repository so a patch can be applied
(method git-fetch)
(uri (git-reference
(url "https://github.com/dtao/safe_yaml.git")
@ -8298,9 +8294,7 @@ (define-public ruby-safe-yaml
(file-name (git-file-name name version))
(sha256
(base32
"1wnln8xdy8g6kwdj4amm8773xwffqxpf2sxslk6jjh2wxsy1lrig"))
(patches
(search-patches "ruby-safe-yaml-add-require-time.patch"))))
"1a0wh7y3va2m7bjza95na2snw0vrdh9syz40mpjvjphbc4ph3pzg"))))
(build-system ruby-build-system)
(native-inputs
`(("ruby-rspec" ,ruby-rspec)
@ -8383,13 +8377,13 @@ (define-public ruby-forwardable-extended
(define-public ruby-pathutil
(package
(name "ruby-pathutil")
(version "0.16.1")
(version "0.16.2")
(source (origin
(method url-fetch)
(uri (rubygems-uri "pathutil" version))
(sha256
(base32
"0wc18ms1rzi44lpjychyw2a96jcmgxqdvy2949r4vvb5f4p0lgvz"))))
"12fm93ljw9fbxmv2krki5k5wkvr7560qy8p4spvb9jiiaqv78fz4"))))
(build-system ruby-build-system)
(propagated-inputs
`(("ruby-forwardable-extended" ,ruby-forwardable-extended)))
@ -8489,14 +8483,14 @@ (define-public ruby-faraday
(define-public ruby-nio4r
(package
(name "ruby-nio4r")
(version "2.4.0")
(version "2.5.2")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "nio4r" version))
(sha256
(base32
"0v2cpqmw6dmysa91ffzl736kgjjzmnf4xlgz6g16fk4yqhn71340"))))
"0gnmvbryr521r135yz5bv8354m7xn6miiapfgpg1bnwsvxz8xj6c"))))
(build-system ruby-build-system)
(arguments
'(#:phases

View file

@ -71,7 +71,7 @@ (define-module (gnu packages ssh)
(define-public libssh
(package
(name "libssh")
(version "0.9.2")
(version "0.9.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -79,23 +79,13 @@ (define-public libssh
(commit (string-append "libssh-" version))))
(sha256
(base32
"14g4rvp91skn2hlsjyhkv58vhng65xrf34cfqffixa4al869hzgj"))
"175i3xybg69d5lb078334v6dd3njm743kww8f67ix9w33969rmzf"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(outputs '("out" "debug"))
(arguments
'(#:configure-flags '("-DWITH_GCRYPT=ON")
#:phases (modify-phases %standard-phases
(add-before 'configure 'avoid-werror
(lambda _
;; Avoid '-Werror'. Presumably this works fine with
;; gcc@8 on x86_64 but leads to errors with our older
;; compiler.
(substitute* "CompilerChecks.cmake"
(("-Werror=") "-W"))
#t)))
;; TODO: Add 'CMockery' and '-DWITH_TESTING=ON' for the test suite.
#:tests? #f))
(inputs `(("zlib" ,zlib)

View file

@ -1799,13 +1799,13 @@ (define-public r-chron
(define-public r-data-table
(package
(name "r-data-table")
(version "1.12.6")
(version "1.12.8")
(source (origin
(method url-fetch)
(uri (cran-uri "data.table" version))
(sha256
(base32
"1kgbnm5gv7ax7qn8irpz7qsry2ci21axga8y7qpkidcqkxkkndn2"))))
"1p7rf4v3ysflpgcmy9krkwmcy7z22wb08xm443649waz6lx5z9yk"))))
(build-system r-build-system)
(inputs
`(("zlib" ,zlib)))
@ -2505,13 +2505,13 @@ (define-public r-readr
(define-public r-plotrix
(package
(name "r-plotrix")
(version "3.7-6")
(version "3.7-7")
(source (origin
(method url-fetch)
(uri (cran-uri "plotrix" version))
(sha256
(base32
"0ijfjlr7ls5hvfyzdmwab6bx0w3nvp0c8fgynj4355cj8mbzgmc3"))))
"1x92mmyfry127zzr6cmcj6kjsc4zhxrrdlr0jcxn3bb0hpdfps54"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/plotrix")
(synopsis "Various plotting functions")
@ -2564,13 +2564,13 @@ (define-public r-latticeextra
(define-public r-rcpparmadillo
(package
(name "r-rcpparmadillo")
(version "0.9.800.1.0")
(version "0.9.800.3.0")
(source (origin
(method url-fetch)
(uri (cran-uri "RcppArmadillo" version))
(sha256
(base32
"1frg7y3fb571jf9dp1kkc75x0nxvw8j3qccsrm1brg5l1z2jmlaz"))))
"0kpcspg3mafi5kncjfhnbcwimvlf19jvrxilvhbpd20sap473mh3"))))
(properties `((upstream-name . "RcppArmadillo")))
(build-system r-build-system)
;; All needed for vignettes
@ -2777,13 +2777,13 @@ (define-public r-blob
(define-public r-rsqlite
(package
(name "r-rsqlite")
(version "2.1.3")
(version "2.1.4")
(source (origin
(method url-fetch)
(uri (cran-uri "RSQLite" version))
(sha256
(base32
"0c5s67s8w4q6p57rnh14n4gcmymyardg8lhnrdlimmjcfawj15h7"))))
"1vhaq6zfqilya669l100adcw51xz0p370zabnk2dnk1xhdih1f34"))))
(properties `((upstream-name . "RSQLite")))
(build-system r-build-system)
(propagated-inputs
@ -3511,13 +3511,13 @@ (define-public r-r-oo
(define-public r-r-utils
(package
(name "r-r-utils")
(version "2.9.0")
(version "2.9.2")
(source (origin
(method url-fetch)
(uri (cran-uri "R.utils" version))
(sha256
(base32
"1w4zn2db15bggfnh64fbyi2z2sj47rcd4xn53b28dsnkamdcramj"))))
"1krj1ny7y43lpm2q8c7swxfdc3ngy2j8knzv71f8bfsgh673nsxc"))))
(properties `((upstream-name . "R.utils")))
(build-system r-build-system)
(propagated-inputs
@ -3533,13 +3533,13 @@ (define-public r-r-utils
(define-public r-r-cache
(package
(name "r-r-cache")
(version "0.13.0")
(version "0.14.0")
(source (origin
(method url-fetch)
(uri (cran-uri "R.cache" version))
(sha256
(base32
"1hf5cb7xvnca5zlh9245b5g62sgsaxwdhiv7x59yld37cydakm6k"))))
"1n8n5ihkryrbxv630dwhz4r048nyv676qd3i9f5z5fa04hvlxbqq"))))
(properties `((upstream-name . "R.cache")))
(build-system r-build-system)
(propagated-inputs

View file

@ -50,14 +50,14 @@ (define-module (gnu packages tor)
(define-public tor
(package
(name "tor")
(version "0.4.1.6")
(version "0.4.2.5")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
"0wgdid8w7srd218hh4rwslzdx2ickxw1pg18p2wry1r6wi65521a"))))
"1hnqg6psf7shcmlvfk44mkpaz7v66mify3cnx7mzl23q5s37anad"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)

View file

@ -150,14 +150,14 @@ (define-public git
(name "git")
;; XXX When updating Git, check if the special 'git-source' input to cgit
;; needs to be updated as well.
(version "2.24.0")
(version "2.24.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
"06rpakbwzck85ncfsgv4xmq3iwab9d4f5y6dqhl8nvb2fccxcwcz"))))
"0ql5z31vgl7b785gwrf00m129mg7zi9pa65n12ij3mpxx3f28gvj"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@ -170,7 +170,7 @@ (define-public git
version ".tar.xz"))
(sha256
(base32
"19h4bhk78rljxk921fcz5xy1z4ss75zw03n9nqf2r512dz0p5j5h"))))
"1yzy5jikkv67ynp576j926kg8zdldh8j4b57l0ixcnjdcyr4lc17"))))
;; For subtree documentation.
("asciidoc" ,asciidoc)
("docbook-xsl" ,docbook-xsl)
@ -550,7 +550,7 @@ (define-public git-minimal
(define-public libgit2
(package
(name "libgit2")
(version "0.28.3")
(version "0.28.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -559,7 +559,7 @@ (define-public libgit2
(file-name (git-file-name name version))
(sha256
(base32
"07068flm9xi25wmcs65nyfg6a7ikgfv96i2nhgyj5gzs9gljqiz2"))
"171b25aym4q88bidc4c76y4l6jmdwifm3q9zjqsll0wjhlkycfy1"))
(patches (search-patches "libgit2-avoid-python.patch"
"libgit2-mtime-0.patch"))
@ -794,10 +794,10 @@ (define (quoted-file-name input path)
,(origin
(method url-fetch)
;; XXX CGit is currently incompatible with Git > 2.18.
(uri "mirror://kernel.org/software/scm/git/git-2.18.0.tar.xz")
(uri "mirror://kernel.org/software/scm/git/git-2.18.2.tar.xz")
(sha256
(base32
"14hfwfkrci829a9316hnvkglnqqw1p03cw9k56p4fcb078wbwh4b"))))
"1gmcz5k8sa6phzhhv6zjl8izbyqnxcdb8ns8kd2czyak0g409vrq"))))
("openssl" ,openssl)
("groff" ,groff)
("python" ,python)

View file

@ -1454,6 +1454,7 @@ (define-public libvpx
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-shared"
"--disable-static"
"--as=yasm"
;; Limit size to avoid CVE-2015-1258
"--size-limit=16384x16384"
@ -1497,7 +1498,7 @@ (define-public libvpx-1.7
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2019.11.22")
(version "2019.11.28")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@ -1505,7 +1506,7 @@ (define-public youtube-dl
version ".tar.gz"))
(sha256
(base32
"0avdlp0dc9p3lm68mfnic21x6blxmr0zvlxa4br5vj4y4sckq2m8"))))
"19xiwdn3l0kizyj7cik9vyhgrlwg7ss4wl4hy2pbbbqwh5vwppwk"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@ -3216,7 +3217,7 @@ (define-public gavl
(define-public frei0r-plugins
(package
(name "frei0r-plugins")
(version "1.6.1")
(version "1.7.0")
(source
(origin
(method url-fetch)
@ -3224,23 +3225,25 @@ (define-public frei0r-plugins
"frei0r-plugins-" version ".tar.gz"))
(sha256
(base32
"0pji26fpd0dqrx1akyhqi6729s394irl73dacnyxk58ijqq4dhp0"))))
"0fjji3060r4fwr7vn91lwfzl80lg3my9lkp94kbyw8xwz7qgh7qv"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autotools
(add-after 'unpack 'patch-Makefile
(lambda _
(invoke "sh" "autogen.sh"))))))
;; XXX: The 1.7.0 Makefile looks for files that have slightly different
;; names in the tarball. Try removing this for future versions.
(substitute* "Makefile.in"
(("README\\.md ChangeLog TODO AUTHORS")
"README.txt ChangeLog.txt TODO.txt AUTHORS.txt"))
#t)))))
;; TODO: opencv for additional face detection filters.
(inputs
`(("gavl" ,gavl)
("cairo" ,cairo)))
(native-inputs
`(("pkg-config" ,pkg-config)
("libtool" ,libtool)
("automake" ,automake)
("autoconf" ,autoconf)))
`(("pkg-config" ,pkg-config)))
(home-page "https://www.dyne.org/software/frei0r/")
(synopsis "Minimalistic plugin API for video effects")
(description
@ -3560,7 +3563,7 @@ (define-public openshot
(define-public dav1d
(package
(name "dav1d")
(version "0.5.1")
(version "0.5.2")
(source
(origin
(method url-fetch)
@ -3568,7 +3571,7 @@ (define-public dav1d
"/dav1d/" version "/dav1d-" version ".tar.xz"))
(sha256
(base32
"03cf6f9if45prq97qp7llzi1p71dyw9ymc87hc225iy89kmzjsdd"))))
"02hgarv2x2bqbac15pdj7pbm8f4lyn78ws0dncygvhis9a6ghk7r"))))
(build-system meson-build-system)
(native-inputs `(("nasm" ,nasm)))
(home-page "https://code.videolan.org/videolan/dav1d")

View file

@ -220,7 +220,7 @@ (define-public qemu
("spice" ,spice)
("usbredir" ,usbredir)
("util-linux" ,util-linux)
;; ("vde2" ,vde2)
("vde2" ,vde2)
("virglrenderer" ,virglrenderer)
("zlib" ,zlib)))
(native-inputs `(("gettext" ,gettext-minimal)
@ -268,7 +268,7 @@ (define-public qemu-minimal
'("gettext")))
(inputs (fold alist-delete (package-inputs qemu)
'("libusb" "mesa" "sdl2" "spice" "virglrenderer" "gtk+"
"usbredir" "libdrm" "libepoxy" "pulseaudio")))))
"usbredir" "libdrm" "libepoxy" "pulseaudio" "vde2")))))
;; The GRUB test suite fails with later versions of Qemu, so we
;; keep it at 2.10 for now. See

View file

@ -10,6 +10,7 @@
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -42,6 +43,7 @@ (define-module (gnu packages vpn)
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages guile)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages nss)
@ -134,7 +136,8 @@ (define-public vpnc-scripts
(base32
"1g41yarz2bl0f73kbjqnywr485ghanbp7nmspklfb0n07yp0z6ak"))))
(build-system gnu-build-system)
(inputs `(("coreutils" ,coreutils)
(inputs `(("guile" ,guile-2.2) ; for the wrapper scripts
("coreutils" ,coreutils)
("grep" ,grep)
("iproute2" ,iproute) ; for ip
("net-tools" ,net-tools) ; for ifconfig, route
@ -177,7 +180,7 @@ (define-public vpnc-scripts
(let ((out (assoc-ref outputs "out")))
(for-each
(lambda (script)
(wrap-program script
(wrap-script (string-append out "/etc/vpnc/" script)
`("PATH" ":" prefix
,(map (lambda (name)
(let ((input (assoc-ref inputs name)))
@ -189,8 +192,9 @@ (define-public vpnc-scripts
"net-tools"
"sed"
"which")))))
(find-files (string-append out "/etc/vpnc/vpnc-script")
"^vpnc-script"))
(list "vpnc-script-ptrtd"
"vpnc-script-sshd"
"vpnc-script"))
#t))))
#:tests? #f)) ; no tests
(home-page "http://git.infradead.org/users/dwmw2/vpnc-scripts.git")

View file

@ -1075,7 +1075,8 @@ (define-public websocketpp
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "12ffczcrryh74c1xssww35ic6yiy2l2xgdd30lshiq9wnzl2brgy"))))
(base32 "12ffczcrryh74c1xssww35ic6yiy2l2xgdd30lshiq9wnzl2brgy"))
(patches (search-patches "websocketpp-fix-for-boost-1.70.patch"))))
(build-system cmake-build-system)
(inputs `(("boost" ,boost)
("openssl" ,openssl)))

View file

@ -27,6 +27,9 @@
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
;;; Copyright © 2019 Noodles! <nnoodle@chiru.no>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1495,7 +1498,7 @@ (define-public mako
(define-public stumpwm
(package
(name "stumpwm")
(version "18.11")
(version "19.11")
(source
(origin
(method git-fetch)
@ -1504,11 +1507,7 @@ (define-public stumpwm
(commit version)))
(file-name (git-file-name "stumpwm" version))
(sha256
(base32 "003g1fmh7446ws49866kzny4lrk1wf034dq5fa4m9mq1nzc7cwv7"))
(patches
;; This patch is included in the post-18.11 git master tree
;; and can be removed when we move to the next release.
(search-patches "stumpwm-fix-broken-read-one-line.patch"))))
(base32 "1ha8803ll7472kqxsy2xz0v5d4sv8apmc9z631d67m31q0z1m9rz"))))
(build-system asdf-build-system/sbcl)
(native-inputs `(("fiasco" ,sbcl-fiasco)
("texinfo" ,texinfo)))
@ -1606,3 +1605,39 @@ (define-public stumpwm+slynk
(define-public sbcl-stumpwm+slynk
(deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
(define-public lemonbar
(let ((commit "35183ab81d2128dbb7b6d8e119cc57846bcefdb4")
(revision "1"))
(package
(name "lemonbar")
(version (git-version "1.3" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LemonBoy/bar")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1wwqbph392iwz8skaqxb0xpklb1l6yganqz80g4x1fhrnz7idmlh"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test suite
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(inputs
`(("libxcb" ,libxcb)))
(native-inputs
`(("perl" ,perl)))
(home-page "https://github.com/LemonBoy/bar")
(synopsis "Featherweight status bar")
(description
"@code{lemonbar} (formerly known as @code{bar}) is a lightweight
bar entirely based on XCB. Provides full UTF-8 support, basic
formatting, RandR and Xinerama support and EWMH compliance without
wasting your precious memory.")
(license license:x11))))

View file

@ -143,6 +143,8 @@ (define speex
(base32
"150047wnllz4r94whb9r73l5qf0z5z3rlhy98bawfbblmkq8mbpa"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs

View file

@ -2043,14 +2043,14 @@ (define-public xmlrpc-c
(define-public python-xmltodict
(package
(name "python-xmltodict")
(version "0.11.0")
(version "0.12.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xmltodict" version))
(sha256
(base32
"1pxh4yjhvmxi1h6f92skv41g4kbsws3ams57150kzn18m907v3cg"))))
(origin
(method url-fetch)
(uri (pypi-uri "xmltodict" version))
(sha256
(base32
"08cadlb9vsb4pmzc99lz3a2lx6qcfazyvgk10pcqijvyxlwcdn2h"))))
(build-system python-build-system)
(native-inputs
`(("python-coverage" ,python-coverage)

View file

@ -2944,8 +2944,8 @@ (define-public xf86-video-i128
(define-public xf86-video-intel
(let ((commit "6f4972d5c368c30e971a23c1dc370d3e43761282")
(revision "14"))
(let ((commit "f66d39544bb8339130c96d282a80f87ca1606caf")
(revision "15"))
(package
(name "xf86-video-intel")
(version (git-version "2.99.917" revision commit))
@ -2958,7 +2958,7 @@ (define-public xf86-video-intel
(commit commit)))
(sha256
(base32
"0bc46qqglzfm4g9q4c2vgynvps2ng0xvlxnjpm9d6z4q6scdhz59"))
"14rwbbn06l8qpx7s5crxghn80vgcx8jmfc7qvivh72d81r0kvywl"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs `(("mesa" ,mesa)

View file

@ -25,6 +25,8 @@ (define-module (gnu services)
#:use-module (guix profiles)
#:use-module (guix discovery)
#:use-module (guix combinators)
#:use-module (guix channels)
#:use-module (guix describe)
#:use-module (guix sets)
#:use-module (guix ui)
#:use-module ((guix utils) #:select (source-properties->location))
@ -39,6 +41,7 @@ (define-module (gnu services)
#:use-module (srfi srfi-35)
#:use-module (ice-9 vlist)
#:use-module (ice-9 match)
#:autoload (ice-9 pretty-print) (pretty-print)
#:export (service-extension
service-extension?
service-extension-target
@ -82,6 +85,7 @@ (define-module (gnu services)
ambiguous-target-service-error-target-type
system-service-type
provenance-service-type
boot-service-type
cleanup-service-type
activation-service-type
@ -370,6 +374,89 @@ (define %boot-service
;; The service that produces the boot script.
(service boot-service-type #t))
;;;
;;; Provenance tracking.
;;;
(define (object->pretty-string obj)
"Like 'object->string', but using 'pretty-print'."
(call-with-output-string
(lambda (port)
(pretty-print obj port))))
(define (channel->code channel)
"Return code to build CHANNEL, ready to be dropped in a 'channels.scm'
file."
`(channel (name ',(channel-name channel))
(url ,(channel-url channel))
(branch ,(channel-branch channel))
(commit ,(channel-commit channel))))
(define (channel->sexp channel)
"Return an sexp describing CHANNEL. The sexp is _not_ code and is meant to
be parsed by tools; it's potentially more future-proof than code."
`(channel (name ,(channel-name channel))
(url ,(channel-url channel))
(branch ,(channel-branch channel))
(commit ,(channel-commit channel))))
(define (provenance-file channels config-file)
"Return a 'provenance' file describing CHANNELS, a list of channels, and
CONFIG-FILE, which can be either #f or a <local-file> containing the OS
configuration being used."
(scheme-file "provenance"
#~(provenance
(version 0)
(channels #+@(if channels
(map channel->sexp channels)
'()))
(configuration-file #+config-file))))
(define (provenance-entry config-file)
"Return system entries describing the operating system provenance: the
channels in use and CONFIG-FILE, if it is true."
(define profile
(current-profile))
(define channels
(and=> profile profile-channels))
(mbegin %store-monad
(let ((config-file (cond ((string? config-file)
(local-file config-file "configuration.scm"))
((not config-file)
#f)
(else
config-file))))
(return `(("provenance" ,(provenance-file channels config-file))
,@(if channels
`(("channels.scm"
,(plain-file "channels.scm"
(object->pretty-string
`(list
,@(map channel->code channels))))))
'())
,@(if config-file
`(("configuration.scm" ,config-file))
'()))))))
(define provenance-service-type
(service-type (name 'provenance)
(extensions
(list (service-extension system-service-type
provenance-entry)))
(default-value #f) ;the OS config file
(description
"Store provenance information about the system in the system
itself: the channels used when building the system, and its configuration
file, when available.")))
;;;
;;; Cleanup.
;;;
(define (cleanup-gexp _)
"Return a gexp to clean up /tmp and similar places upon boot."
(with-imported-modules '((guix build utils))

View file

@ -130,6 +130,8 @@ (define mcron-shepherd-services
(define mcron-service-type
(service-type (name 'mcron)
(description
"Run the mcron job scheduling daemon.")
(extensions
(list (service-extension shepherd-root-service-type
mcron-shepherd-services)

View file

@ -110,6 +110,7 @@ (define-module (gnu system)
system-linux-image-file-name
operating-system-with-gc-roots
operating-system-with-provenance
boot-parameters
boot-parameters?
@ -540,6 +541,15 @@ (define (operating-system-with-gc-roots os roots)
gc-root-service-type roots)
(operating-system-user-services os)))))
(define* (operating-system-with-provenance os #:optional config-file)
"Return a variant of OS that stores its own provenance information,
including CONFIG-FILE, if available. This is achieved by adding an instance
of PROVENANCE-SERVICE-TYPE to its services."
(operating-system
(inherit os)
(services (cons (service provenance-service-type config-file)
(operating-system-user-services os)))))
;;;
;;; /etc.

View file

@ -24,11 +24,6 @@ Run '\x1b[1;37minfo guix\x1b[0m' to browse documentation.
accounts.\x1b[0m
"))
(define this-file
(local-file (basename (assoc-ref (current-source-location) 'filename))
"config.scm"))
(operating-system
(host-name "gnu")
(timezone "Etc/UTC")
@ -73,10 +68,6 @@ root ALL=(ALL) ALL
(services
(append (list (service xfce-desktop-service-type)
;; Copy this file to /etc/config.scm in the OS.
(simple-service 'config-file etc-service-type
`(("config.scm" ,this-file)))
;; Choose SLiM, which is lighter than the default GDM.
(service slim-service-type
(slim-configuration

View file

@ -76,10 +76,10 @@ (define* (unpack #:key source #:allow-other-keys)
(define* (add-source-to-load-path #:key dummy #:allow-other-keys)
"Augment the EMACSLOADPATH environment variable with the source directory."
(let* ((source-directory (getcwd))
(emacs-load-path-value (string-append (getenv "EMACSLOADPATH") ":"
source-directory)))
(emacs-load-path-value (string-append source-directory ":"
(getenv "EMACSLOADPATH"))))
(setenv "EMACSLOADPATH" emacs-load-path-value)
(format #t "source directory ~s appended to the `EMACSLOADPATH' \
(format #t "source directory ~s prepended to the `EMACSLOADPATH' \
environment variable\n" source-directory)))
(define* (build #:key outputs inputs #:allow-other-keys)
@ -239,15 +239,14 @@ (define %standard-phases
(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
;; directly in the store.
(delete 'build)
(replace 'check check)
(replace 'install install)
(add-after 'install 'build build)
(add-after 'install 'make-autoloads make-autoloads)
(add-after 'make-autoloads 'patch-el-files patch-el-files)
(add-after 'make-autoloads 'move-doc move-doc)))
;; The .el files are byte compiled directly in the store.
(add-after 'patch-el-files 'build build)
(add-after 'build 'move-doc move-doc)))
(define* (emacs-build #:key inputs (phases %standard-phases)
#:allow-other-keys #:rest args)

View file

@ -90,8 +90,8 @@ (define handle-output
(unless (member output qt-wrap-excluded-outputs)
(let ((bin-list (find-files-to-wrap directory))
(vars-to-wrap (variables-for-wrapping
(append (list output)
input-directories))))
(append (list directory)
input-directories))))
(when (not (null? vars-to-wrap))
(for-each (cut apply wrap-program <> vars-to-wrap)
bin-list)))))))

View file

@ -3,6 +3,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -43,6 +44,7 @@ (define-module (guix build syscalls)
MS_BIND
MS_MOVE
MS_STRICTATIME
MS_LAZYTIME
MNT_FORCE
MNT_DETACH
MNT_EXPIRE
@ -451,6 +453,7 @@ (define MS_NOATIME 1024)
(define MS_BIND 4096)
(define MS_MOVE 8192)
(define MS_STRICTATIME 16777216)
(define MS_LAZYTIME 33554432)
(define MNT_FORCE 1)
(define MNT_DETACH 2)

View file

@ -86,6 +86,7 @@ (define-module (guix derivations)
fixed-output-derivation?
offloadable-derivation?
substitutable-derivation?
derivation-input-fold
substitution-oracle
derivation-hash
derivation-properties
@ -303,6 +304,29 @@ (define (derivation-output-paths drv sub-drvs)
(derivation-output-path (assoc-ref outputs sub-drv)))
sub-drvs))))
(define* (derivation-input-fold proc seed inputs
#:key (cut? (const #f)))
"Perform a breadth-first traversal of INPUTS, calling PROC on each input
with the current result, starting from SEED. Skip recursion on inputs that
match CUT?."
(let loop ((inputs inputs)
(result seed)
(visited (set)))
(match inputs
(()
result)
((input rest ...)
(let ((key (derivation-input-key input)))
(cond ((set-contains? visited key)
(loop rest result visited))
((cut? input)
(loop rest result (set-insert key visited)))
(else
(let ((drv (derivation-input-derivation input)))
(loop (append (derivation-inputs drv) rest)
(proc input result)
(set-insert key visited))))))))))
(define* (substitution-oracle store inputs-or-drv
#:key (mode (build-mode normal)))
"Return a one-argument procedure that, when passed a store file name,
@ -322,25 +346,15 @@ (define valid-input?
(cut valid-derivation-input? store <>))
(define (closure inputs)
(let loop ((inputs inputs)
(closure '())
(visited (set)))
(match inputs
(()
(reverse closure))
((input rest ...)
(let ((key (derivation-input-key input)))
(cond ((set-contains? visited key)
(loop rest closure visited))
((valid-input? input)
(loop rest closure (set-insert key visited)))
(else
(let ((drv (derivation-input-derivation input)))
(loop (append (derivation-inputs drv) rest)
(if (substitutable-derivation? drv)
(cons input closure)
closure)
(set-insert key visited))))))))))
(reverse
(derivation-input-fold (lambda (input closure)
(let ((drv (derivation-input-derivation input)))
(if (substitutable-derivation? drv)
(cons input closure)
closure)))
'()
inputs
#:cut? valid-input?)))
(let* ((inputs (closure (map (match-lambda
((? derivation-input? input)

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -505,7 +505,7 @@ (define cran->guix-package
((bioconductor)
;; Retry import from CRAN
(cran->guix-package package-name 'cran))
(else #f)))))))
(else (values #f '()))))))))
(define* (cran-recursive-import package-name #:optional (repo 'cran))
(recursive-import package-name repo

View file

@ -178,21 +178,20 @@ (define* (make-crate-sexp #:key name version cargo-inputs cargo-development-inpu
(close-port port)
pkg))
(define %dual-license-rx
;; Dual licensing is represented by a string such as "MIT OR Apache-2.0".
;; This regexp matches that.
(make-regexp "^(.*) OR (.*)$"))
(define (string->license string)
(filter-map (lambda (license)
(and (not (string-null? license))
(not (any (lambda (elem) (string=? elem license))
'("AND" "OR" "WITH")))
(or (spdx-string->license license)
'unknown-license!)))
(string-split string (string->char-set " /"))))
(define* (crate->guix-package crate-name #:optional version)
"Fetch the metadata for CRATE-NAME from crates.io, and return the
`package' s-expression corresponding to that package, or #f on failure.
When VERSION is specified, attempt to fetch that version; otherwise fetch the
latest version of CRATE-NAME."
(define (string->license string)
(match (regexp-exec %dual-license-rx string)
(#f (list (spdx-string->license string)))
(m (list (spdx-string->license (match:substring m 1))
(spdx-string->license (match:substring m 2))))))
(define (normal-dependency? dependency)
(eq? (crate-dependency-kind dependency) 'normal))

View file

@ -34,15 +34,16 @@ (define-module (guix import utils)
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix download)
#:use-module (guix sets)
#:use-module (gnu packages)
#:use-module (ice-9 match)
#:use-module (ice-9 rdelim)
#:use-module (ice-9 receive)
#:use-module (ice-9 regex)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-41)
#:export (factorize-uri
flatten
@ -377,40 +378,53 @@ (define (guix-name prefix name)
(chr (char-downcase chr)))
name)))
(define (topological-sort nodes
node-dependencies
node-name)
"Perform a breadth-first traversal of the graph rooted at NODES, a list of
nodes, and return the list of nodes sorted in topological order. Call
NODE-DEPENDENCIES to obtain the dependencies of a node, and NODE-NAME to
obtain a node's uniquely identifying \"key\"."
(let loop ((nodes nodes)
(result '())
(visited (set)))
(match nodes
(()
result)
((head . tail)
(if (set-contains? visited (node-name head))
(loop tail result visited)
(let ((dependencies (node-dependencies head)))
(loop (append dependencies tail)
(cons head result)
(set-insert (node-name head) visited))))))))
(define* (recursive-import package-name repo
#:key repo->guix-package guix-name
#:allow-other-keys)
"Generate a stream of package expressions for PACKAGE-NAME and all its
dependencies."
(define (exists? dependency)
(not (null? (find-packages-by-name (guix-name dependency)))))
(define initial-state (list #f (list package-name) (list)))
(define (step state)
(match state
((prev (next . rest) done)
(define (handle? dep)
(and
(not (equal? dep next))
(not (member dep done))
(not (exists? dep))))
(receive (package . dependencies) (repo->guix-package next repo)
(list
(if package package '()) ;; default #f on failure would interrupt
(if package
(lset-union equal? rest (filter handle? (car dependencies)))
rest)
(cons next done))))
((prev '() done)
(list #f '() done))))
"Return a stream of package expressions for PACKAGE-NAME and all its
dependencies, sorted in topological order. For each package,
call (REPO->GUIX-PACKAGE NAME REPO), which should return a package expression
and a list of dependencies; call (GUIX-NAME NAME) to obtain the Guix package
name corresponding to the upstream name."
(define-record-type <node>
(make-node name package dependencies)
node?
(name node-name)
(package node-package)
(dependencies node-dependencies))
;; Generate a lazy stream of package expressions for all unknown
;; dependencies in the graph.
(stream-unfold
;; map: produce a stream element
(match-lambda ((latest queue done) latest))
;; predicate
(match-lambda ((latest queue done) latest))
;; generator: update the queue
step
;; initial state
(step initial-state)))
(define (exists? name)
(not (null? (find-packages-by-name (guix-name name)))))
(define (lookup-node name)
(receive (package dependencies) (repo->guix-package name repo)
(make-node name package dependencies)))
(map node-package
(topological-sort (list (lookup-node package-name))
(lambda (node)
(map lookup-node
(remove exists?
(node-dependencies node))))
node-name)))

View file

@ -1727,7 +1727,9 @@ (define %user-profile-directory
(define %profile-directory
(string-append %state-directory "/profiles/"
(or (and=> (or (getenv "USER")
(getenv "LOGNAME"))
(getenv "LOGNAME")
(false-if-exception
(passwd:name (getpwuid (getuid)))))
(cut string-append "per-user/" <>))
"default")))

View file

@ -27,7 +27,6 @@ (define-module (guix scripts import cran)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-37)
#:use-module (srfi srfi-41)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (guix-import-cran))
@ -98,10 +97,8 @@ (define (parse-options)
(if (assoc-ref opts 'recursive)
;; Recursive import
(map package->definition
(reverse
(stream->list
(cran-recursive-import package-name
(or (assoc-ref opts 'repo) 'cran)))))
(cran-recursive-import package-name
(or (assoc-ref opts 'repo) 'cran)))
;; Single import
(let ((sexp (cran->guix-package package-name
(or (assoc-ref opts 'repo) 'cran))))

View file

@ -28,7 +28,6 @@ (define-module (guix scripts import crate)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-37)
#:use-module (srfi srfi-41)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (guix-import-crate))
@ -101,9 +100,7 @@ (define-values (name version)
`(define-public ,(string->symbol name)
,pkg))
(_ #f))
(reverse
(stream->list
(crate-recursive-import name))))
(crate-recursive-import name))
(let ((sexp (crate->guix-package name version)))
(unless sexp
(leave (G_ "failed to download meta-data for package '~a'~%")

View file

@ -27,7 +27,6 @@ (define-module (guix scripts import elpa)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-37)
#:use-module (srfi srfi-41)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (guix-import-elpa))
@ -101,10 +100,8 @@ (define (parse-options)
`(define-public ,(string->symbol name)
,pkg))
(_ #f))
(reverse
(stream->list
(elpa-recursive-import package-name
(or (assoc-ref opts 'repo) 'gnu)))))
(elpa-recursive-import package-name
(or (assoc-ref opts 'repo) 'gnu)))
(let ((sexp (elpa->guix-package package-name (assoc-ref opts 'repo))))
(unless sexp
(leave (G_ "failed to download package '~a'~%") package-name))

View file

@ -26,7 +26,6 @@ (define-module (guix scripts import gem)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-37)
#:use-module (srfi srfi-41)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (guix-import-gem))
@ -95,9 +94,7 @@ (define (parse-options)
`(define-public ,(string->symbol name)
,pkg))
(_ #f))
(reverse
(stream->list
(gem-recursive-import package-name 'rubygems))))
(gem-recursive-import package-name 'rubygems))
(let ((sexp (gem->guix-package package-name)))
(unless sexp
(leave (G_ "failed to download meta-data for package '~a'~%")

View file

@ -27,7 +27,6 @@ (define-module (guix scripts import hackage)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-37)
#:use-module (srfi srfi-41)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (guix-import-hackage))
@ -130,9 +129,7 @@ (define (run-importer package-name opts error-fn)
`(define-public ,(string->symbol name)
,pkg))
(_ #f))
(reverse
(stream->list
(apply hackage-recursive-import arguments))))
(apply hackage-recursive-import arguments))
;; Single import
(apply hackage->guix-package arguments))))
(unless sexp (error-fn))

View file

@ -25,7 +25,6 @@ (define-module (guix scripts import opam)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-37)
#:use-module (srfi srfi-41)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (guix-import-opam))
@ -94,9 +93,7 @@ (define (parse-options)
`(define-public ,(string->symbol name)
,pkg))
(_ #f))
(reverse
(stream->list
(opam-recursive-import package-name))))
(opam-recursive-import package-name))
;; Single import
(let ((sexp (opam->guix-package package-name)))
(unless sexp

View file

@ -26,7 +26,6 @@ (define-module (guix scripts import pypi)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-37)
#:use-module (srfi srfi-41)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (guix-import-pypi))
@ -95,9 +94,7 @@ (define (parse-options)
`(define-public ,(string->symbol name)
,pkg))
(_ #f))
(reverse
(stream->list
(pypi-recursive-import package-name))))
(pypi-recursive-import package-name))
;; Single import
(let ((sexp (pypi->guix-package package-name)))
(unless sexp

View file

@ -27,7 +27,6 @@ (define-module (guix scripts import stackage)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-37)
#:use-module (srfi srfi-41)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (guix-import-stackage))
@ -110,9 +109,7 @@ (define (run-importer package-name opts error-fn)
`(define-public ,(string->symbol name)
,pkg))
(_ #f))
(reverse
(stream->list
(apply stackage-recursive-import arguments))))
(apply stackage-recursive-import arguments))
;; Single import
(apply stackage->guix-package arguments))))
(unless sexp (error-fn))

View file

@ -9,6 +9,7 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,6 +31,7 @@ (define-module (guix scripts lint)
#:use-module (guix lint)
#:use-module (guix ui)
#:use-module (guix scripts)
#:use-module (guix scripts build)
#:use-module (gnu packages)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
@ -94,6 +96,9 @@ (define (show-help)
-c, --checkers=CHECKER1,CHECKER2...
only run the specified checkers"))
(display (G_ "
-L, --load-path=DIR prepend DIR to the package module search path"))
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
-l, --list-checkers display the list of available lint checkers"))
@ -128,6 +133,9 @@ (define %options
%local-checkers
(alist-delete 'checkers
result))))
(find (lambda (option)
(member "load-path" (option-names option)))
%standard-build-options)
(option '(#\h "help") #f #f
(lambda args
(show-help)

View file

@ -334,6 +334,16 @@ (define database
(define environment
(singularity-environment-file profile))
(define symlinks*
;; Singularity requires /bin (specifically /bin/sh), so ensure that
;; symlink is created.
(if (find (match-lambda
(("/bin" . _) #t)
(_ #f))
symlinks)
symlinks
`(("/bin" -> "bin") ,@symlinks)))
(define build
(with-imported-modules (source-module-closure
'((guix build utils)
@ -407,7 +417,7 @@ (define entry-point #$entry-point)
"s" "777" "0" "0"
(relative-file-name (dirname source)
target)))))))
'#$symlinks)
'#$symlinks*)
"-p" "/.singularity.d d 555 0 0"
@ -1049,9 +1059,18 @@ (define properties
(entry-point (assoc-ref opts 'entry-point))
(profile-name (assoc-ref opts 'profile-name))
(gc-root (assoc-ref opts 'gc-root)))
(define (lookup-package package)
(manifest-lookup manifest (manifest-pattern (name package))))
(when (null? (manifest-entries manifest))
(warning (G_ "no packages specified; building an empty pack~%")))
(when (and (eq? pack-format 'squashfs)
(not (any lookup-package '("bash" "bash-minimal"))))
(warning (G_ "Singularity requires you to provide a shell~%"))
(display-hint (G_ "Add @code{bash} or @code{bash-minimal} \
to your package list.")))
(run-with-store store
(mlet* %store-monad ((profile (profile-derivation
manifest

View file

@ -60,6 +60,7 @@ (define-module (guix scripts pull)
#:use-module (ice-9 format)
#:export (display-profile-content
channel-list
channel-commit-hyperlink
with-git-error-handling
guix-pull))

View file

@ -36,9 +36,11 @@ (define-module (guix scripts system)
#:use-module (guix records)
#:use-module (guix profiles)
#:use-module (guix scripts)
#:use-module (guix channels)
#:use-module (guix scripts build)
#:autoload (guix scripts package) (delete-generations
delete-matching-generations)
#:autoload (guix scripts pull) (channel-commit-hyperlink)
#:use-module (guix graph)
#:use-module (guix scripts graph)
#:use-module (guix scripts system reconfigure)
@ -456,9 +458,30 @@ (define (shepherd-service-node-type services)
;;; Generations.
;;;
(define (sexp->channel sexp)
"Return the channel corresponding to SEXP, an sexp as found in the
\"provenance\" file produced by 'provenance-service-type'."
(match sexp
(('channel ('name name)
('url url)
('branch branch)
('commit commit))
(channel (name name) (url url)
(branch branch) (commit commit)))))
(define* (display-system-generation number
#:optional (profile %system-profile))
"Display a summary of system generation NUMBER in a human-readable format."
(define (display-channel channel)
(format #t " ~a:~%" (channel-name channel))
(format #t (G_ " repository URL: ~a~%") (channel-url channel))
(when (channel-branch channel)
(format #t (G_ " branch: ~a~%") (channel-branch channel)))
(format #t (G_ " commit: ~a~%")
(if (supports-hyperlinks?)
(channel-commit-hyperlink channel)
(channel-commit channel))))
(unless (zero? number)
(let* ((generation (generation-file-name profile number))
(params (read-boot-parameters-file generation))
@ -468,7 +491,13 @@ (define* (display-system-generation number
(root-device (if (bytevector? root)
(uuid->string root)
root))
(kernel (boot-parameters-kernel params)))
(kernel (boot-parameters-kernel params))
(provenance (catch 'system-error
(lambda ()
(call-with-input-file
(string-append generation "/provenance")
read))
(const #f))))
(display-generation profile number)
(format #t (G_ " file name: ~a~%") generation)
(format #t (G_ " canonical file name: ~a~%") (readlink* generation))
@ -495,7 +524,23 @@ (define* (display-system-generation number
(else
root-device)))
(format #t (G_ " kernel: ~a~%") kernel))))
(format #t (G_ " kernel: ~a~%") kernel)
(match provenance
(#f #t)
(('provenance ('version 0)
('channels channels ...)
('configuration-file config-file))
(unless (null? channels)
;; TRANSLATORS: Here "channel" is the same terminology as used in
;; "guix describe" and "guix pull --channels".
(format #t (G_ " channels:~%"))
(for-each display-channel (map sexp->channel channels)))
(when config-file
(format #t (G_ " configuration file: ~a~%")
(if (supports-hyperlinks?)
(file-hyperlink config-file)
config-file))))))))
(define* (list-generations pattern #:optional (profile %system-profile))
"Display in a human-readable format all the system generations matching
@ -722,7 +767,9 @@ (define (local-eval exp)
(return (primitive-eval (lowered-gexp-sexp lowered))))))
(define* (perform-action action os
#:key skip-safety-checks?
#:key
save-provenance?
skip-safety-checks?
install-bootloader?
dry-run? derivations-only?
use-substitutes? bootloader-target target
@ -874,6 +921,8 @@ (define (show-help)
reconfigure switch to a new operating system configuration\n"))
(display (G_ "\
roll-back switch to the previous operating system configuration\n"))
(display (G_ "\
describe describe the current system\n"))
(display (G_ "\
list-generations list the system generations\n"))
(display (G_ "\
@ -917,16 +966,18 @@ (define (show-help)
--image-size=SIZE for 'vm-image', produce an image of SIZE"))
(display (G_ "
--no-bootloader for 'init', do not install a bootloader"))
(display (G_ "
--save-provenance save provenance information"))
(display (G_ "
--share=SPEC for 'vm', share host file system according to SPEC"))
(display (G_ "
--expose=SPEC for 'vm', expose host file system according to SPEC"))
(display (G_ "
-N, --network for 'container', allow containers to access the network"))
(display (G_ "
-r, --root=FILE for 'vm', 'vm-image', 'disk-image', 'container',
and 'build', make FILE a symlink to the result, and
register it as a garbage collector root"))
(display (G_ "
--expose=SPEC for 'vm', expose host file system according to SPEC"))
(display (G_ "
--full-boot for 'vm', make a full boot sequence"))
(display (G_ "
@ -979,6 +1030,9 @@ (define %options
(option '("full-boot") #f #f
(lambda (opt name arg result)
(alist-cons 'full-boot? #t result)))
(option '("save-provenance") #f #f
(lambda (opt name arg result)
(alist-cons 'save-provenance? #t result)))
(option '("skip-checks") #f #f
(lambda (opt name arg result)
(alist-cons 'skip-safety-checks? #t result)))
@ -1047,25 +1101,33 @@ (define (ensure-operating-system file-or-exp obj)
file-or-exp))
obj)
(define save-provenance?
(or (assoc-ref opts 'save-provenance?)
(memq action '(init reconfigure))))
(let* ((file (match args
(() #f)
((x . _) x)))
(expr (assoc-ref opts 'expression))
(system (assoc-ref opts 'system))
(target (assoc-ref opts 'target))
(os (ensure-operating-system
(or file expr)
(cond
((and expr file)
(leave
(G_ "both file and expression cannot be specified~%")))
(expr
(read/eval expr))
(file
(load* file %user-module
#:on-error (assoc-ref opts 'on-error)))
(else
(leave (G_ "no configuration specified~%"))))))
(transform (if save-provenance?
(cut operating-system-with-provenance <> file)
identity))
(os (transform
(ensure-operating-system
(or file expr)
(cond
((and expr file)
(leave
(G_ "both file and expression cannot be specified~%")))
(expr
(read/eval expr))
(file
(load* file %user-module
#:on-error (assoc-ref opts 'on-error)))
(else
(leave (G_ "no configuration specified~%")))))))
(dry? (assoc-ref opts 'dry-run?))
(bootloader? (assoc-ref opts 'install-bootloader?))
@ -1136,6 +1198,12 @@ (define (process-command command args opts)
((pattern) pattern)
(x (leave (G_ "wrong number of arguments~%"))))))
(list-generations pattern)))
((describe)
(match (generation-number %system-profile)
(0
(error (G_ "no system generation, nothing to describe~%")))
(generation
(display-system-generation generation))))
((search)
(apply (resolve-subcommand "search") args))
;; The following commands need to use the store, but they do not need an
@ -1175,7 +1243,8 @@ (define (parse-sub-command arg result)
(case action
((build container vm vm-image disk-image reconfigure init
extension-graph shepherd-graph
list-generations delete-generations roll-back
list-generations describe
delete-generations roll-back
switch-generation search docker-image)
(alist-cons 'action action result))
(else (leave (G_ "~a: unknown action~%") action))))))

View file

@ -28,7 +28,7 @@ (define-module (test-crate)
#:use-module (ice-9 match)
#:use-module (srfi srfi-64))
(define test-crate
(define test-foo-crate
"{
\"crate\": {
\"max_version\": \"1.0.0\",
@ -50,7 +50,7 @@ (define test-crate
}
}")
(define test-dependencies
(define test-foo-dependencies
"{
\"dependencies\": [
{
@ -60,9 +60,182 @@ (define test-dependencies
]
}")
(define test-root-crate
"{
\"crate\": {
\"max_version\": \"1.0.0\",
\"name\": \"root\",
\"description\": \"summary\",
\"homepage\": \"http://example.com\",
\"repository\": \"http://example.com\",
\"keywords\": [\"dummy\" \"test\"],
\"categories\": [\"test\"]
\"actual_versions\": [
{ \"id\": \"foo\",
\"num\": \"1.0.0\",
\"license\": \"MIT OR Apache-2.0\",
\"links\": {
\"dependencies\": \"/api/v1/crates/root/1.0.0/dependencies\"
}
}
]
}
}")
(define test-root-dependencies
"{
\"dependencies\": [
{
\"crate_id\": \"intermediate-1\",
\"kind\": \"normal\",
},
{
\"crate_id\": \"intermediate-2\",
\"kind\": \"normal\",
}
{
\"crate_id\": \"leaf-alice\",
\"kind\": \"normal\",
},
{
\"crate_id\": \"leaf-bob\",
\"kind\": \"normal\",
},
]
}")
(define test-intermediate-1-crate
"{
\"crate\": {
\"max_version\": \"1.0.0\",
\"name\": \"intermediate-1\",
\"description\": \"summary\",
\"homepage\": \"http://example.com\",
\"repository\": \"http://example.com\",
\"keywords\": [\"dummy\" \"test\"],
\"categories\": [\"test\"]
\"actual_versions\": [
{ \"id\": \"intermediate-1\",
\"num\": \"1.0.0\",
\"license\": \"MIT OR Apache-2.0\",
\"links\": {
\"dependencies\": \"/api/v1/crates/intermediate-1/1.0.0/dependencies\"
}
}
]
}
}")
(define test-intermediate-1-dependencies
"{
\"dependencies\": [
{
\"crate_id\": \"intermediate-2\",
\"kind\": \"normal\",
},
{
\"crate_id\": \"leaf-alice\",
\"kind\": \"normal\",
},
{
\"crate_id\": \"leaf-bob\",
\"kind\": \"normal\",
}
]
}")
(define test-intermediate-2-crate
"{
\"crate\": {
\"max_version\": \"1.0.0\",
\"name\": \"intermediate-2\",
\"description\": \"summary\",
\"homepage\": \"http://example.com\",
\"repository\": \"http://example.com\",
\"keywords\": [\"dummy\" \"test\"],
\"categories\": [\"test\"]
\"actual_versions\": [
{ \"id\": \"intermediate-2\",
\"num\": \"1.0.0\",
\"license\": \"MIT OR Apache-2.0\",
\"links\": {
\"dependencies\": \"/api/v1/crates/intermediate-2/1.0.0/dependencies\"
}
}
]
}
}")
(define test-intermediate-2-dependencies
"{
\"dependencies\": [
{
\"crate_id\": \"leaf-bob\",
\"kind\": \"normal\",
},
]
}")
(define test-leaf-alice-crate
"{
\"crate\": {
\"max_version\": \"1.0.0\",
\"name\": \"leaf-alice\",
\"description\": \"summary\",
\"homepage\": \"http://example.com\",
\"repository\": \"http://example.com\",
\"keywords\": [\"dummy\" \"test\"],
\"categories\": [\"test\"]
\"actual_versions\": [
{ \"id\": \"leaf-alice\",
\"num\": \"1.0.0\",
\"license\": \"MIT OR Apache-2.0\",
\"links\": {
\"dependencies\": \"/api/v1/crates/leaf-alice/1.0.0/dependencies\"
}
}
]
}
}")
(define test-leaf-alice-dependencies
"{
\"dependencies\": []
}")
(define test-leaf-bob-crate
"{
\"crate\": {
\"max_version\": \"1.0.0\",
\"name\": \"leaf-bob\",
\"description\": \"summary\",
\"homepage\": \"http://example.com\",
\"repository\": \"http://example.com\",
\"keywords\": [\"dummy\" \"test\"],
\"categories\": [\"test\"]
\"actual_versions\": [
{ \"id\": \"leaf-bob\",
\"num\": \"1.0.0\",
\"license\": \"MIT OR Apache-2.0\",
\"links\": {
\"dependencies\": \"/api/v1/crates/leaf-bob/1.0.0/dependencies\"
}
}
]
}
}")
(define test-leaf-bob-dependencies
"{
\"dependencies\": []
}")
(define test-source-hash
"")
(define string->license
(@@ (guix import crate) string->license))
(test-begin "crate")
(test-equal "guix-package->crate-name"
@ -79,14 +252,14 @@ (define test-source-hash
(lambda (url . rest)
(match url
("https://crates.io/api/v1/crates/foo"
(open-input-string test-crate))
(open-input-string test-foo-crate))
("https://crates.io/api/v1/crates/foo/1.0.0/download"
(set! test-source-hash
(bytevector->nix-base32-string
(sha256 (string->bytevector "empty file\n" "utf-8"))))
(open-input-string "empty file\n"))
("https://crates.io/api/v1/crates/foo/1.0.0/dependencies"
(open-input-string test-dependencies))
(open-input-string test-foo-dependencies))
(_ (error "Unexpected URL: " url)))))
(match (crate->guix-package "foo")
(('package
@ -111,4 +284,180 @@ (define test-source-hash
(x
(pk 'fail x #f)))))
(test-assert "cargo-recursive-import"
;; Replace network resources with sample data.
(mock ((guix http-client) http-fetch
(lambda (url . rest)
(match url
("https://crates.io/api/v1/crates/root"
(open-input-string test-root-crate))
("https://crates.io/api/v1/crates/root/1.0.0/download"
(set! test-source-hash
(bytevector->nix-base32-string
(sha256 (string->bytevector "empty file\n" "utf-8"))))
(open-input-string "empty file\n"))
("https://crates.io/api/v1/crates/root/1.0.0/dependencies"
(open-input-string test-root-dependencies))
("https://crates.io/api/v1/crates/intermediate-1"
(open-input-string test-intermediate-1-crate))
("https://crates.io/api/v1/crates/intermediate-1/1.0.0/download"
(set! test-source-hash
(bytevector->nix-base32-string
(sha256 (string->bytevector "empty file\n" "utf-8"))))
(open-input-string "empty file\n"))
("https://crates.io/api/v1/crates/intermediate-1/1.0.0/dependencies"
(open-input-string test-intermediate-1-dependencies))
("https://crates.io/api/v1/crates/intermediate-2"
(open-input-string test-intermediate-2-crate))
("https://crates.io/api/v1/crates/intermediate-2/1.0.0/download"
(set! test-source-hash
(bytevector->nix-base32-string
(sha256 (string->bytevector "empty file\n" "utf-8"))))
(open-input-string "empty file\n"))
("https://crates.io/api/v1/crates/intermediate-2/1.0.0/dependencies"
(open-input-string test-intermediate-2-dependencies))
("https://crates.io/api/v1/crates/leaf-alice"
(open-input-string test-leaf-alice-crate))
("https://crates.io/api/v1/crates/leaf-alice/1.0.0/download"
(set! test-source-hash
(bytevector->nix-base32-string
(sha256 (string->bytevector "empty file\n" "utf-8"))))
(open-input-string "empty file\n"))
("https://crates.io/api/v1/crates/leaf-alice/1.0.0/dependencies"
(open-input-string test-leaf-alice-dependencies))
("https://crates.io/api/v1/crates/leaf-bob"
(open-input-string test-leaf-bob-crate))
("https://crates.io/api/v1/crates/leaf-bob/1.0.0/download"
(set! test-source-hash
(bytevector->nix-base32-string
(sha256 (string->bytevector "empty file\n" "utf-8"))))
(open-input-string "empty file\n"))
("https://crates.io/api/v1/crates/leaf-bob/1.0.0/dependencies"
(open-input-string test-leaf-bob-dependencies))
(_ (error "Unexpected URL: " url)))))
(match (crate-recursive-import "root")
;; rust-intermediate-2 has no dependency on the rust-leaf-alice package, so this is a valid ordering
((('package
('name "rust-leaf-alice")
('version (? string? ver))
('source
('origin
('method 'url-fetch)
('uri ('crate-uri "leaf-alice" 'version))
('file-name
('string-append 'name "-" 'version ".tar.gz"))
('sha256
('base32
(? string? hash)))))
('build-system 'cargo-build-system)
('home-page "http://example.com")
('synopsis "summary")
('description "summary")
('license ('list 'license:expat 'license:asl2.0)))
('package
('name "rust-leaf-bob")
('version (? string? ver))
('source
('origin
('method 'url-fetch)
('uri ('crate-uri "leaf-bob" 'version))
('file-name
('string-append 'name "-" 'version ".tar.gz"))
('sha256
('base32
(? string? hash)))))
('build-system 'cargo-build-system)
('home-page "http://example.com")
('synopsis "summary")
('description "summary")
('license ('list 'license:expat 'license:asl2.0)))
('package
('name "rust-intermediate-2")
('version (? string? ver))
('source
('origin
('method 'url-fetch)
('uri ('crate-uri "intermediate-2" 'version))
('file-name
('string-append 'name "-" 'version ".tar.gz"))
('sha256
('base32
(? string? hash)))))
('build-system 'cargo-build-system)
('arguments
('quasiquote
('#:cargo-inputs (("rust-leaf-bob" ('unquote rust-leaf-bob))))))
('home-page "http://example.com")
('synopsis "summary")
('description "summary")
('license ('list 'license:expat 'license:asl2.0)))
('package
('name "rust-intermediate-1")
('version (? string? ver))
('source
('origin
('method 'url-fetch)
('uri ('crate-uri "intermediate-1" 'version))
('file-name
('string-append 'name "-" 'version ".tar.gz"))
('sha256
('base32
(? string? hash)))))
('build-system 'cargo-build-system)
('arguments
('quasiquote
('#:cargo-inputs (("rust-intermediate-2" ('unquote rust-intermediate-2))
("rust-leaf-alice" ('unquote rust-leaf-alice))
("rust-leaf-bob" ('unquote rust-leaf-bob))))))
('home-page "http://example.com")
('synopsis "summary")
('description "summary")
('license ('list 'license:expat 'license:asl2.0)))
('package
('name "rust-root")
('version (? string? ver))
('source
('origin
('method 'url-fetch)
('uri ('crate-uri "root" 'version))
('file-name
('string-append 'name "-" 'version ".tar.gz"))
('sha256
('base32
(? string? hash)))))
('build-system 'cargo-build-system)
('arguments
('quasiquote
('#:cargo-inputs (("rust-intermediate-1" ('unquote rust-intermediate-1))
("rust-intermediate-2" ('unquote rust-intermediate-2))
("rust-leaf-alice" ('unquote rust-leaf-alice))
("rust-leaf-bob" ('unquote rust-leaf-bob))))))
('home-page "http://example.com")
('synopsis "summary")
('description "summary")
('license ('list 'license:expat 'license:asl2.0))))
#t)
(x
(pk 'fail x #f)))))
(test-equal "licenses: MIT OR Apache-2.0"
'(license:expat license:asl2.0)
(string->license "MIT OR Apache-2.0"))
(test-equal "licenses: Apache-2.0 / MIT"
'(license:asl2.0 license:expat)
(string->license "Apache-2.0 / MIT"))
(test-equal "licenses: Apache-2.0 WITH LLVM-exception"
'(license:asl2.0 unknown-license!)
(string->license "Apache-2.0 WITH LLVM-exception"))
(test-equal "licenses: MIT/Apache-2.0 AND BSD-2-Clause"
'(license:expat license:asl2.0 unknown-license!)
(string->license "MIT/Apache-2.0 AND BSD-2-Clause"))
(test-equal "licenses: MIT/Apache-2.0"
'(license:expat license:asl2.0)
(string->license "MIT/Apache-2.0"))
(test-end "crate")

View file

@ -978,6 +978,24 @@ (define %coreutils
#:mode (build-mode check))
(list drv dep))))))
(test-assert "derivation-input-fold"
(let* ((builder (add-text-to-store %store "my-builder.sh"
"echo hello, world > \"$out\"\n"
'()))
(drv1 (derivation %store "foo"
%bash `(,builder)
#:sources `(,%bash ,builder)))
(drv2 (derivation %store "bar"
%bash `(,builder)
#:inputs `((,drv1))
#:sources `(,%bash ,builder))))
(equal? (derivation-input-fold (lambda (input result)
(cons (derivation-input-derivation input)
result))
'()
(list (derivation-input drv2)))
(list drv1 drv2))))
(test-assert "substitution-oracle and #:substitute? #f"
(with-store store
(let* ((dep (build-expression->derivation store "dep"

Some files were not shown because too many files have changed in this diff Show more