mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
Merge remote-tracking branch 'origin/master' into core-updates
This commit is contained in:
commit
c9e676d0b1
104 changed files with 5052 additions and 1502 deletions
|
@ -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
|
||||
|
|
148
doc/guix.texi
148
doc/guix.texi
|
@ -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
|
||||
|
|
|
@ -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))))
|
||||
|
||||
|
|
14
gnu/local.mk
14
gnu/local.mk
|
@ -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 \
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"))))
|
||||
|
|
|
@ -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+)))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 '
|
||||
|
|
|
@ -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))))))
|
||||
|
|
|
@ -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+))))
|
||||
|
|
|
@ -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")))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
@ -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 MaxMind’s free GeoLite2 databases.")
|
||||
(license license:asl2.0)))
|
||||
|
|
|
@ -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
|
@ -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)))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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+))))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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")))))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.")))))
|
||||
|
|
|
@ -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))))))))
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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')
|
||||
]
|
||||
|
61
gnu/packages/patches/guile-finalization-crash.patch
Normal file
61
gnu/packages/patches/guile-finalization-crash.patch
Normal 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 ();
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
121
gnu/packages/patches/mes-remove-store-name.patch
Normal file
121
gnu/packages/patches/mes-remove-store-name.patch
Normal 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
|
24
gnu/packages/patches/ncompress-fix-softlinks.patch
Normal file
24
gnu/packages/patches/ncompress-fix-softlinks.patch
Normal 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:
|
24
gnu/packages/patches/nss-CVE-2019-11745.patch
Normal file
24
gnu/packages/patches/nss-CVE-2019-11745.patch
Normal 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());
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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")
|
|
@ -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(
|
|
@ -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");
|
||||
|
103
gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch
Normal file
103
gnu/packages/patches/websocketpp-fix-for-boost-1.70.patch
Normal 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)
|
|
@ -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/")
|
||||
|
|
|
@ -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. It’s a pre-fork worker model ported from Ruby’s
|
||||
Unicorn project. The Gunicorn server is broadly compatible with
|
||||
various web frameworks, simply implemented, light on server resources,
|
||||
and fairly speedy.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)))))))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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")))
|
||||
|
||||
|
|
|
@ -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))))
|
||||
|
|
|
@ -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'~%")
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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'~%")
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -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))))))
|
||||
|
|
357
tests/crate.scm
357
tests/crate.scm
|
@ -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")
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue