me
/
guix
Archived
1
0
Fork 0

Merge branch 'wip-lisp' into staging

master
Guillaume Le Vaillant 2020-09-23 14:53:44 +02:00
commit 1828958db5
No known key found for this signature in database
GPG Key ID: 6BE8208ADF21FE3F
152 changed files with 6266 additions and 6142 deletions

View File

@ -68,7 +68,6 @@ MODULES = \
guix/cpio.scm \
guix/deprecation.scm \
guix/docker.scm \
guix/json.scm \
guix/records.scm \
guix/openpgp.scm \
guix/pki.scm \

View File

@ -369,6 +369,7 @@ needed is to review and apply the patch.
* Package Naming:: What's in a name?
* Version Numbers:: When the name is not enough.
* Synopses and Descriptions:: Helping users find the right package.
* Snippets versus Phases:: Whether to use a snippet, or a build phase.
* Python Modules:: A touch of British comedy.
* Perl Modules:: Little pearls.
* Java Packages:: Coffee break.
@ -599,6 +600,20 @@ Gettext}):
for the X11 resize-and-rotate (RandR) extension. @dots{}")
@end example
@node Snippets versus Phases
@subsection Snippets versus Phases
@cindex snippets, when to use
The boundary between using an origin snippet versus a build phase to
modify the sources of a package can be elusive. Origin snippets are
typically used to remove unwanted files such as bundled libraries,
nonfree sources, or to apply simple substitutions. The source derived
from an origin should produce a source that can be used to build the
package on any system that the upstream package supports (i.e., act as
the corresponding source). In particular, origin snippets must not
embed store items in the sources; such patching should rather be done
using build phases. Refer to the @code{origin} record documentation for
more information (@pxref{origin Reference}).
@node Python Modules
@subsection Python Modules

View File

@ -16,6 +16,7 @@ Copyright @copyright{} 2020 Matthew Brooks@*
Copyright @copyright{} 2020 Marcin Karpezo@*
Copyright @copyright{} 2020 Brice Waegeneire@*
Copyright @copyright{} 2020 André Batista@*
Copyright @copyright{} 2020 Christopher Lemmer Webber
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@ -1348,6 +1349,7 @@ reference.
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
* Connecting to Wireguard VPN:: Connecting to a Wireguard VPN.
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
* Running Guix on a Linode Server:: Running Guix on a Linode Server
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor.
@end menu
@ -1760,6 +1762,246 @@ your screen but not suspend it, it's a good idea to notify xss-lock about this s
confusion occurs. This can be done by executing @code{xset s activate} immediately
before you execute slock.
@node Running Guix on a Linode Server
@section Running Guix on a Linode Server
@cindex linode, Linode
To run Guix on a server hosted by @uref{https://www.linode.com, Linode},
start with a recommended Debian server. We recommend using the default
distro as a way to bootstrap Guix. Create your SSH keys.
@example
ssh-keygen
@end example
Be sure to add your SSH key for easy login to the remote server.
This is trivially done via Linode's graphical interface for adding
SSH keys. Go to your profile and click add SSH Key.
Copy into it the output of:
@example
cat ~/.ssh/<username>_rsa.pub
@end example
Power the Linode down. In the Linode's Disks/Configurations tab, resize
the Debian disk to be smaller. 30 GB is recommended.
In the Linode settings, "Add a disk", with the following:
@itemize @bullet
@item
Label: "Guix"
@item
Filesystem: ext4
@item
Set it to the remaining size
@end itemize
On the "configuration" field that comes with the default image, press
"..." and select "Edit", then on that menu add to @file{/dev/sdc} the "Guix"
label.
Now "Add a Configuration", with the following:
@itemize @bullet
@item
Label: Guix
@item
Kernel:GRUB 2 (it's at the bottom! This step is @b{IMPORTANT!})
@item
Block device assignment:
@item
@file{/dev/sda}: Guix
@item
@file{/dev/sdb}: swap
@item
Root device: @file{/dev/sda}
@item
Turn off all the filesystem/boot helpers
@end itemize
Now power it back up, picking the Debian configuration. Once it's
booted up, ssh in your server via @code{ssh
root@@@var{<your-server-IP-here>}}. (You can find your server IP address in
your Linode Summary section.) Now you can run the "install guix from
@pxref{Binary Installation,,, guix, GNU Guix}" steps:
@example
sudo apt-get install gpg
wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | gpg --import -
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
guix pull
@end example
Now it's time to write out a config for the server. The key information
is below. Save the resulting file as @file{guix-config.scm}.
@lisp
(use-modules (gnu)
(guix modules))
(use-service-modules networking
ssh)
(use-package-modules admin
certs
package-management
ssh
tls)
(operating-system
(host-name "my-server")
(timezone "America/New_York")
(locale "en_US.UTF-8")
;; This goofy code will generate the grub.cfg
;; without installing the grub bootloader on disk.
(bootloader (bootloader-configuration
(bootloader
(bootloader
(inherit grub-bootloader)
(installer #~(const #t))))))
(file-systems (cons (file-system
(device "/dev/sda")
(mount-point "/")
(type "ext4"))
%base-file-systems))
(swap-devices (list "/dev/sdb"))
(initrd-modules (cons "virtio_scsi" ; Needed to find the disk
%base-initrd-modules))
(users (cons (user-account
(name "janedoe")
(group "users")
;; Adding the account to the "wheel" group
;; makes it a sudoer.
(supplementary-groups '("wheel"))
(home-directory "/home/janedoe"))
%base-user-accounts))
(packages (cons* nss-certs ;for HTTPS access
openssh-sans-x
%base-packages))
(services (cons*
(service dhcp-client-service-type)
(service openssh-service-type
(openssh-configuration
(openssh openssh-sans-x)
(password-authentication? #f)
(authorized-keys
`(("janedoe" ,(local-file "janedoe_rsa.pub"))
("root" ,(local-file "janedoe_rsa.pub"))))))
%base-services)))
@end lisp
Replace the following fields in the above configuration:
@lisp
(host-name "my-server") ; replace with your server name
; if you chose a linode server outside the U.S., then
; use tzselect to find a correct timezone string
(timezone "America/New_York") ; if needed replace timezone
(name "janedoe") ; replace with your username
("janedoe" ,(local-file "janedoe_rsa.pub")) ; replace with your ssh key
("root" ,(local-file "janedoe_rsa.pub")) ; replace with your ssh key
@end lisp
The last line in the above example lets you log into the server as root
and set the initial root password. After you have done this, you may
delete that line from your configuration and reconfigure to prevent root
login.
Save your ssh public key (eg: @file{~/.ssh/id_rsa.pub}) as
@file{@var{<your-username-here>}_rsa.pub} and your
@file{guix-config.scm} in the same directory. In a new terminal run
these commands.
@example
sftp root@@<remote server ip address>
put /home/<username>/ssh/id_rsa.pub .
put /path/to/linode/guix-config.scm .
@end example
In your first terminal, mount the guix drive:
@example
mkdir /mnt/guix
mount /dev/sdc /mnt/guix
@end example
Due to the way we set things up above, we do not install GRUB
completely. Instead we install only our grub configuration file. So we
need to copy over some of the other GRUB stuff that is already there:
@example
mkdir -p /mnt/guix/boot/grub
cp -r /boot/grub/* /mnt/guix/boot/grub/
@end example
Now initialize the Guix installation:
@example
guix system init guix-config.scm /mnt/guix
@end example
Ok, power it down!
Now from the Linode console, select boot and select "Guix".
Once it boots, you should be able to log in via SSH! (The server config
will have changed though.) You may encounter an error like:
@example
$ ssh root@@<server ip address>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:0B+wp33w57AnKQuHCvQP0+ZdKaqYrI/kyU7CfVbS7R4.
Please contact your system administrator.
Add correct host key in /home/joshua/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/joshua/.ssh/known_hosts:3
ECDSA host key for 198.58.98.76 has changed and you have requested strict checking.
Host key verification failed.
@end example
Either delete @file{~/.ssh/known_hosts} file, or delete the offending line
starting with your server IP address.
Be sure to set your password and root's password.
@example
ssh root@@<remote ip address>
passwd ; for the root password
passwd <username> ; for the user password
@end example
You may not be able to run the above commands at this point. If you
have issues remotely logging into your linode box via SSH, then you may
still need to set your root and user password initially by clicking on
the ``Launch Console'' option in your linode. Choose the ``Glish''
instead of ``Weblish''. Now you should be able to ssh into the machine.
Horray! At this point you can shut down the server, delete the
Debian disk, and resize the Guix to the rest of the size.
Congratulations!
By the way, if you save it as a disk image right at this point, you'll
have an easy time spinning up new Guix images! You may need to
down-size the Guix image to 6144MB, to save it as an image. Then you
can resize it again to the max size.
@node Setting up a bind mount
@section Setting up a bind mount

View File

@ -790,7 +790,8 @@ or later;
@c FIXME: Specify a version number once a release has been made.
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August
2017 or later;
@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON} 3.x;
@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}
4.3.0 or later;
@item @url{https://www.gnu.org/software/make/, GNU Make}.
@end itemize
@ -4989,7 +4990,13 @@ what you should use in this case (@pxref{Invoking guix copy}).
@cindex nar, archive format
@cindex normalized archive (nar)
Archives are stored in the ``normalized archive'' or ``nar'' format, which is
@cindex nar bundle, archive format
Each store item is written in the @dfn{normalized archive} or @dfn{nar}
format (described below), and the output of @command{guix archive
--export} (and input of @command{guix archive --import}) is a @dfn{nar
bundle}.
The nar format is
comparable in spirit to `tar', but with differences
that make it more appropriate for our purposes. First, rather than
recording all Unix metadata for each file, the nar format only mentions
@ -4999,6 +5006,10 @@ entries are stored always follows the order of file names according to
the C locale collation order. This makes archive production fully
deterministic.
That nar bundle format is essentially the concatenation of zero or more
nars along with metadata for each store item it contains: its file name,
references, corresponding derivation, and a digital signature.
When exporting, the daemon digitally signs the contents of the archive,
and that digital signature is appended. When importing, the daemon
verifies the signature and rejects the import in case of an invalid
@ -22189,6 +22200,31 @@ Can be set to @code{#f} to disable logging.
@item @code{file} (default @code{#f})
An optional override of the whole configuration.
You can use the @code{mixed-text-file} function or an absolute filepath for it.
@item @code{php-ini-file} (default @code{#f})
An optional override of the default php settings.
It may be any ``file-like'' object (@pxref{G-Expressions, file-like objects}).
You can use the @code{mixed-text-file} function or an absolute filepath for it.
For local development it is useful to set a higher timeout and memory
limit for spawned php processes. This be accomplished with the
following operating system configuration snippet:
@lisp
(define %local-php-ini
(plain-file "php.ini"
"memory_limit = 2G
max_execution_time = 1800"))
(operating-system
;; @dots{}
(services (cons (service php-fpm-service-type
(php-fpm-configuration
(php-ini-file %local-php-ini)))
%base-services)))
@end lisp
Consult the @url{https://www.php.net/manual/en/ini.core.php,core php.ini
directives} for comprehensive documentation on the acceptable
@file{php.ini} directives.
@end table
@end deftp

View File

@ -19,6 +19,19 @@
# Bash completion for Guix commands.
declare _guix_available_packages
declare _guix_commands
_guix_complete_command ()
{
local word_at_point="${COMP_WORDS[$COMP_CWORD]}"
if [ -z "$_guix_commands" ]
then
# Cache the list of commands to speed things up.
_guix_commands="$(guix --help 2> /dev/null \
| grep '^ ' | cut -c 2-)"
fi
COMPREPLY=($(compgen -W "$_guix_commands" -- "$word_at_point"))
}
_guix_complete_subcommand ()
{
@ -146,19 +159,6 @@ _guix_complete_pid ()
COMPREPLY=($(compgen -W "$pids" -- "$1"))
}
declare _guix_subcommands
_guix_complete_subcommand ()
{
if [ -z "$_guix_subcommands" ]
then
# Cache the list of subcommands to speed things up.
_guix_subcommands="$(guix --help 2> /dev/null \
| grep '^ ' | cut -c 2-)"
fi
COMPREPLY=($(compgen -W "$_guix_subcommands" -- "$word_at_point"))
}
_guix_complete ()
{
local word_count=${#COMP_WORDS[*]}
@ -176,7 +176,7 @@ _guix_complete ()
case $COMP_CWORD in
1)
_guix_complete_subcommand
_guix_complete_command
;;
*)
if _guix_is_command "package"
@ -251,7 +251,7 @@ _guix_complete ()
then
_guix_complete_file
else
_guix_complete_subcommand
_guix_complete_command
fi
elif _guix_is_command "container"
then

View File

@ -111,7 +111,7 @@ chk_gpg_keyring()
# systems where gpg has never been used, causing errors and confusion.
gpg --dry-run --list-keys ${OPENPGP_SIGNING_KEY_ID} >/dev/null 2>&1 || (
_err "${ERR}Missing OpenPGP public key. Fetch it with this command:"
echo " wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | sudo -i gpg --import -"
echo " wget 'https://sv.gnu.org/people/viewgpg.php?user_id=15145' -qO - | sudo -i gpg --import -"
exit 1
)
}

View File

@ -506,6 +506,10 @@ fi~%"))))
;;;
;;; Bootloader definitions.
;;;
;;; For all these grub-bootloader variables the path to /boot/grub/grub.cfg
;;; is fixed. Inheriting and overwriting the field 'configuration-file' will
;;; break 'guix system delete-generations', 'guix system switch-generation',
;;; and 'guix system roll-back'.
(define grub-bootloader
(bootloader
@ -516,12 +520,12 @@ fi~%"))))
(configuration-file "/boot/grub/grub.cfg")
(configuration-file-generator grub-configuration-file)))
(define* grub-minimal-bootloader
(define grub-minimal-bootloader
(bootloader
(inherit grub-bootloader)
(package grub-minimal)))
(define* grub-efi-bootloader
(define grub-efi-bootloader
(bootloader
(inherit grub-bootloader)
(installer install-grub-efi)
@ -529,7 +533,7 @@ fi~%"))))
(name 'grub-efi)
(package grub-efi)))
(define* grub-mkrescue-bootloader
(define grub-mkrescue-bootloader
(bootloader
(inherit grub-efi-bootloader)
(package grub-hybrid)))

View File

@ -675,7 +675,8 @@ were found."
(define (canonicalize-device-spec spec)
"Return the device name corresponding to SPEC, which can be a <uuid>, a
<file-system-label>, or a string (typically a /dev file name)."
<file-system-label>, or a string (typically a /dev file name or an nfs-root
containing ':/')."
(define max-trials
;; Number of times we retry partition label resolution, 1 second per
;; trial. Note: somebody reported a delay of 16 seconds (!) before their

View File

@ -469,9 +469,10 @@ upon error."
(define (device-string->file-system-device device-string)
;; The "--root=SPEC" kernel command-line option always provides a
;; string, but the string can represent a device, a UUID, or a
;; label. So check for all three.
;; string, but the string can represent a device, an nfs-root, a UUID, or a
;; label. So check for all four.
(cond ((string-prefix? "/" device-string) device-string)
((string-contains device-string ":/") device-string) ; nfs-root
((uuid device-string) => identity)
(else (file-system-label device-string))))

View File

@ -243,8 +243,8 @@ that host UIDs (respectively GIDs) map to in the namespace."
(match (read child)
('ready
(purify-environment)
(when (and (not (null? mounts))
(memq 'mnt namespaces))
(when (and (memq 'mnt namespaces)
(not (string=? root "/")))
(catch #t
(lambda ()
(mount-file-systems root mounts

View File

@ -135,6 +135,20 @@ USERS."
(_ #f))))))
pids)))
(define (call-with-mnt-container thunk)
"This is a variant of call-with-container. Run THUNK in a new container
process, within a separate MNT namespace. The container is not jailed so that
it can interact with the rest of the system."
(let ((pid (run-container "/" '() '(mnt) 1 thunk)))
;; Catch SIGINT and kill the container process.
(sigaction SIGINT
(lambda (signum)
(false-if-exception
(kill pid SIGKILL))))
(match (waitpid pid)
((_ . status) status))))
(define* (install-system locale #:key (users '()))
"Create /etc/shadow and /etc/passwd on the installation target for USERS.
Start COW-STORE service on target directory and launch guix install command in
@ -181,7 +195,7 @@ or #f. Return #t on success and #f on failure."
;; To avoid this situation, mount the store overlay inside a container,
;; and run the installation from within that container.
(zero?
(call-with-container '()
(call-with-mnt-container
(lambda ()
(dynamic-wind
(lambda ()
@ -218,5 +232,4 @@ or #f. Return #t on success and #f on failure."
;; Finally umount the cow-store and exit the container.
(unmount-cow-store (%installer-target-dir) backing-directory)
(assert-exit ret))))
#:namespaces '(mnt)))))
(assert-exit ret))))))))

View File

@ -36,6 +36,7 @@
# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
# Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
# Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
# Copyright © 2020 Martin Becze <mjbecze@riseup.net>
#
# This file is part of GNU Guix.
#
@ -342,6 +343,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/lout.scm \
%D%/packages/logging.scm \
%D%/packages/logo.scm \
%D%/packages/loko.scm \
%D%/packages/lolcode.scm \
%D%/packages/lsof.scm \
%D%/packages/lua.scm \
@ -430,6 +432,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/photo.scm \
%D%/packages/phabricator.scm \
%D%/packages/php.scm \
%D%/packages/piet.scm \
%D%/packages/pkg-config.scm \
%D%/packages/plotutils.scm \
%D%/packages/poedit.scm \
@ -1015,6 +1018,7 @@ dist_patch_DATA = \
%D%/packages/patches/gd-brect-bounds.patch \
%D%/packages/patches/gdb-hurd.patch \
%D%/packages/patches/gdm-default-session.patch \
%D%/packages/patches/genimage-signedness.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-testsuite-dlopen-pie.patch \
@ -1552,7 +1556,6 @@ dist_patch_DATA = \
%D%/packages/patches/rust-reproducible-builds.patch \
%D%/packages/patches/rust-openssl-sys-no-vendor.patch \
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
%D%/packages/patches/sbcl-graph-asdf-definitions.patch \
%D%/packages/patches/scalapack-blacs-mpi-deprecations.patch \
%D%/packages/patches/scheme48-tests.patch \
%D%/packages/patches/scotch-build-parallelism.patch \

View File

@ -172,6 +172,8 @@ exist on the machine."
(and (file-system-mount? fs)
(not (member (file-system-type fs)
%pseudo-file-system-types))
;; Don't try to validate network file systems.
(not (string-prefix? "nfs" (file-system-type fs)))
(not (memq 'bind-mount (file-system-flags fs)))))
(operating-system-file-systems (machine-operating-system machine))))

View File

@ -514,7 +514,7 @@ or via the @code{facter} Ruby library.")
(define-public htop
(package
(name "htop")
(version "3.0.0")
(version "3.0.1")
(source
(origin
(method git-fetch)
@ -522,7 +522,7 @@ or via the @code{facter} Ruby library.")
(url "https://github.com/htop-dev/htop")
(commit version)))
(sha256
(base32 "096gdnpaszs5rfp7qj8npi2jkvdqpp8mznn89f97ykrg6pgagwq4"))
(base32 "0kjlphdvwwbj91kk91s4ksc954d3c2bznddzx2223jmb1bn9rcsa"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
@ -2081,7 +2081,7 @@ track changes in important system configuration files.")
(define-public libcap-ng
(package
(name "libcap-ng")
(version "0.7.11")
(version "0.8")
(source (origin
(method url-fetch)
(uri (string-append
@ -2089,7 +2089,7 @@ track changes in important system configuration files.")
version ".tar.gz"))
(sha256
(base32
"1s8akhnnazk0b5c6z5i3x54rjb26p8pz2wdl1m21ml3231qmr0c5"))))
"08cy59iassiwbmfxa5v0kb374r80290vv32f5q1mnip11av26kgi"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -10,6 +10,7 @@
;;; Copyright © 2019, 2020 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Sergey Trofimov <sarg@sarg.org.ru>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,8 +31,9 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system android-ndk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module ((guix licenses) #:prefix license:)
@ -41,6 +43,7 @@
#:use-module (gnu packages docker)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages java)
#:use-module (gnu packages linux)
#:use-module (gnu packages pcre)
@ -972,6 +975,36 @@ publishing, or to assist in creating, testing and submitting metadata to the
main repository.")
(license license:agpl3+)))
(define-public fdroidcl
(package
(name "fdroidcl")
(version "0.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mvdan/fdroidcl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1rxcdyy2j34z0ql9d62w7ivsch9xihjnpb1z9kgy9q46vl8zhhy0"))))
(build-system go-build-system)
(arguments
`(#:import-path "mvdan.cc/fdroidcl"
#:tests? #f ; TODO: Inputs missing.
#:install-source? #f))
(inputs
`(("go-github-com-kr-pretty" ,go-github-com-kr-pretty)))
;(native-inputs
; `(("go-github-com-rogpeppe-go-internal-testscript"
; ,go-github-com-rogpeppe-go-internal-testscript)))
(synopsis "F-Droid desktop client")
(description
"While the Android client integrates with the system with regular update
checks and notifications, this is a simple command line client that talks to
connected devices via ADB.")
(home-page "https://github.com/mvdan/fdroidcl")
(license license:bsd-3)))
(define-public enjarify
(package
(name "enjarify")

View File

@ -151,14 +151,14 @@ to the clients.")
(define-public fasm
(package
(name "fasm")
(version "1.73.24")
(version "1.73.25")
(source
(origin
(method url-fetch)
(uri (string-append "https://flatassembler.net/fasm-"
version ".tgz"))
(sha256
(base32 "142vxhs8mh8isvlzq7ir0asmqda410phzxmk9gk9b43dldskkj7k"))))
(base32 "0k3h61mfwslyb34kf4dnapfwl8jxlmrp4dv666wc057hkj047knn"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests exist

View File

@ -128,7 +128,7 @@ header.")
(define-public gnuastro
(package
(name "gnuastro")
(version "0.12")
(version "0.13")
(source
(origin
(method url-fetch)
@ -136,7 +136,7 @@ header.")
version ".tar.lz"))
(sha256
(base32
"0ypk1c72q778cixfa52vjxzbd5m4qc6hfjgnipy16sfa7mnspmyf"))))
"07di6zx2irc5q0zyymx2951ydzxdfjmzd3az5qnk67ncf3hknvj5"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))

View File

@ -108,6 +108,7 @@
#:use-module (gnu packages valgrind)
#:use-module (gnu packages video)
#:use-module (gnu packages vim) ;xxd
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xiph)
@ -1822,7 +1823,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
(define-public guitarix
(package
(name "guitarix")
(version "0.38.1")
(version "0.41.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -1830,28 +1831,14 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.xz"))
(sha256
(base32
"0bw7xnrx062nwb1bfj9x660h7069ncmz77szcs8icpqxrvhs7z80"))))
"0qsfbyrrpb3bbdyq68k28mjql7kglxh8nqcw9jvja28x6x9ik5a0"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:python ,python-2
#:configure-flags
(list
;; Add the output lib directory to the RUNPATH.
(string-append "--ldflags=-Wl,-rpath=" %output "/lib"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-boost-includes
(lambda _
(substitute* "src/headers/gx_internal_plugins.h"
(("namespace gx_jack" m)
(string-append "#include <boost/noncopyable.hpp>\n" m)))
(substitute* '("src/headers/gx_system.h"
"src/headers/gx_parameter.h"
"src/headers/gx_json.h")
(("namespace gx_system" m)
(string-append "#include <boost/noncopyable.hpp>\n" m)))
#t)))))
(string-append "--ldflags=-Wl,-rpath=" %output "/lib"))))
(inputs
`(("libsndfile" ,libsndfile)
("boost" ,boost)
@ -1862,8 +1849,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
("lilv" ,lilv)
("ladspa" ,ladspa)
("jack" ,jack-1)
("gtkmm" ,gtkmm-2)
("gtk+" ,gtk+-2)
("gtkmm" ,gtkmm)
("gtk+" ,gtk+)
("fftwf" ,fftwf)
("lrdf" ,lrdf)
("zita-resampler" ,zita-resampler)
@ -1873,7 +1860,8 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
("faust" ,faust)
("intltool" ,intltool)
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
("pkg-config" ,pkg-config)
("sassc" ,sassc)))
(native-search-paths
(list (search-path-specification
(variable "LV2_PATH")
@ -4025,14 +4013,14 @@ on the ALSA software PCM plugin.")
(define-public snd
(package
(name "snd")
(version "20.6")
(version "20.7")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
"snd-" version ".tar.gz"))
(sha256
(base32
"1h4dsq5xcvwjbnayhn719cln0lg199w3xm59sl9d2jz8bq78gqgj"))))
"1kd422krz8ln4m8g3p14wfplcq8lgpzly9297rpbvyc94dc6sdwj"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; no tests
@ -4479,7 +4467,7 @@ supports both of ID3v1/v2 and APEv2 tags.")
(define-public redkite
(package
(name "redkite")
(version "0.8.1")
(version "1.0.3")
(source
(origin
(method git-fetch)
@ -4488,7 +4476,7 @@ supports both of ID3v1/v2 and APEv2 tags.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "17kv2jc4jvn3sdicz3sf8dnf25wbvv7ijzkr0mm0sbrrjz6vrwz0"))))
(base32 "1m2db7c791fi33snkjwnvlxapmf879g5r8azlkx7sr6vp2s0jq2k"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no tests included
@ -4652,7 +4640,7 @@ libsamplerate for reading and resampling audio files, based on Robin Gareus'
(define-public lv2lint
(package
(name "lv2lint")
(version "0.4.0")
(version "0.8.0")
(source
(origin
(method git-fetch)
@ -4662,7 +4650,7 @@ libsamplerate for reading and resampling audio files, based on Robin Gareus'
(file-name (git-file-name name version))
(sha256
(base32
"1pspwqpzl2dw1hd9ra9yr53arqbbqjn7d7j0f7p9g3iqa76vblpi"))))
"1jrka0hsn4n1clri7zfkcl3c2vi52144lkpjm81l51ff8rqy8ks1"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags

View File

@ -1072,7 +1072,7 @@ interractive mode.")
(define-public burp
(package
(name "burp")
(version "2.3.32")
(version "2.3.34")
(source
(origin
(method git-fetch)
@ -1080,7 +1080,7 @@ interractive mode.")
(url "https://github.com/grke/burp")
(commit version)))
(sha256
(base32 "0cxxf9ni34c9662ffmr2qc8xmh4g9pmg3swqvhn49mqgr5ra6k2g"))
(base32 "0ri62xshcjrk5vgyx8s11vsllab132mk1pcy4xxl9kzijdsjhdpy"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016, 2017, 2018, 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2020 Peter Lo <peterloleungyau@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1762,6 +1763,7 @@ expressed genes in DNA microarray experiments.")
fitting of some classes of graphical Markov models.")
(license license:gpl2+)))
;; This is a CRAN package, but it depends on a Bioconductor package.
(define-public r-codedepends
(package
(name "r-codedepends")
@ -8153,3 +8155,89 @@ user's input and automatically retrieving results from GREAT web server.")
simulation to eliminate overestimation of @code{K} and can reject the null
hypothesis @code{K=1}.")
(license license:agpl3+)))
(define-public r-icens
(package
(name "r-icens")
(version "1.60.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Icens" version))
(sha256
(base32
"0fh7wgkrw20f61p06i87nccnbig9wv4m0jcg7cx1rw7g2ndnabgp"))))
(properties `((upstream-name . "Icens")))
(build-system r-build-system)
(propagated-inputs
`(("r-survival" ,r-survival)))
(home-page "https://bioconductor.org/packages/Icens")
(synopsis "NPMLE for censored and truncated data")
(description
"This package provides many functions for computing the
@dfn{nonparametric maximum likelihood estimator} (NPMLE) for censored and
truncated data.")
(license license:artistic2.0)))
;; This is a CRAN package but it depends on r-icens, which is published on
;; Bioconductor.
(define-public r-interval
(package
(name "r-interval")
(version "1.1-0.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "interval" version))
(sha256
(base32
"1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8"))))
(properties `((upstream-name . "interval")))
(build-system r-build-system)
(propagated-inputs
`(("r-icens" ,r-icens)
("r-mlecens" ,r-mlecens)
("r-perm" ,r-perm)
("r-survival" ,r-survival)))
(home-page "https://cran.r-project.org/web/packages/interval/")
(synopsis "Weighted Logrank tests and NPMLE for interval censored data")
(description
"This package provides functions to fit nonparametric survival curves,
plot them, and perform logrank or Wilcoxon type tests.")
(license license:gpl2+)))
;; This is a CRAN package, but it depends on r-interval, which depends on a
;; Bioconductor package.
(define-public r-fhtest
(package
(name "r-fhtest")
(version "1.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "FHtest" version))
(sha256
(base32
"1wsn0j9ydpp9nfswiqg21p09kgkvaq8fh0y0h8syqgizah7i8vs2"))))
(properties `((upstream-name . "FHtest")))
(build-system r-build-system)
(propagated-inputs
`(("r-interval" ,r-interval)
("r-kmsurv" ,r-kmsurv)
("r-mass" ,r-mass)
("r-perm" ,r-perm)
("r-survival" ,r-survival)))
(home-page "https://cran.r-project.org/web/packages/FHtest/")
(synopsis "Tests for survival data based on the Fleming-Harrington class")
(description
"This package provides functions to compare two or more survival curves
with:
@itemize
@item The Fleming-Harrington test for right-censored data based on
permutations and on counting processes.
@item An extension of the Fleming-Harrington test for interval-censored data
based on a permutation distribution and on a score vector distribution.
@end itemize
")
(license license:gpl2+)))

View File

@ -6357,14 +6357,14 @@ bioinformatics file formats, sequence alignment, and more.")
(define-public seqmagick
(package
(name "seqmagick")
(version "0.7.0")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "seqmagick" version))
(sha256
(base32
"12bfyp8nqi0hd36rmj450aygafp01qy3hkbvlwn3bk39pyjjkgg5"))))
"0pf98da7i59q47gwrbx0wjk6xlvbybiwphw80w7h4ydjj0579a2b"))))
(build-system python-build-system)
(inputs
`(("python-biopython" ,python-biopython)))
@ -8510,57 +8510,6 @@ Stephens (1990).")
throughput genetic sequencing data sets using regression methods.")
(license license:artistic2.0)))
(define-public r-qtl
(package
(name "r-qtl")
(version "1.46-2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cran/src/contrib/qtl_"
version ".tar.gz"))
(sha256
(base32
"0rbwcnvyy96gq1dsgpxx03pv423qya26h6ws5y0blj3blfdmj83a"))))
(build-system r-build-system)
(home-page "https://rqtl.org/")
(synopsis "R package for analyzing QTL experiments in genetics")
(description "R/qtl is an extension library for the R statistics
system. It is used to analyze experimental crosses for identifying
genes contributing to variation in quantitative traits (so-called
quantitative trait loci, QTLs).
Using a hidden Markov model, R/qtl estimates genetic maps, to
identify genotyping errors, and to perform single-QTL and two-QTL,
two-dimensional genome scans.")
(license license:gpl3)))
(define-public r-qtl2
(package
(name "r-qtl2")
(version "0.22-11")
(source (origin
(method url-fetch)
(uri (cran-uri "qtl2" version))
(sha256
(base32 "0dfdzjylqzc92dcszawc8cyinxccjm3p36v9vcq9ma818pqcanmr"))))
(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 "Quantitative Trait Locus Mapping in Experimental Crosses")
(description
"This package provides a set of tools to perform @dfn{Quantitative Trait
Locus} (QTL) analysis in experimental crosses. It is a reimplementation of the
@code{R/qtl} package to better handle high-dimensional data and complex cross
designs. Broman et al. (2018) <doi:10.1534/genetics.118.301595>.")
(license license:gpl3)))
(define-public r-zlibbioc
(package
(name "r-zlibbioc")
@ -9444,28 +9393,6 @@ imaging data that can be used in subsequent analyses to adjust for unknown,
unmodeled, or latent sources of noise.")
(license license:artistic2.0)))
(define-public r-seqminer
(package
(name "r-seqminer")
(version "8.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "seqminer" version))
(sha256
(base32
"00jzj8mwb0zaiwlifd41b26mrq9mzigj18nc29dydi0r42hxg16i"))))
(build-system r-build-system)
(inputs
`(("zlib" ,zlib)))
(home-page "http://seqminer.genomic.codes")
(synopsis "Read nucleotide sequence data (VCF, BCF, and METAL formats)")
(description
"This package provides tools to integrate nucleotide sequencing
data (variant call format, e.g. VCF or BCF) or meta-analysis results in R.")
;; Any version of the GPL is acceptable
(license (list license:gpl2+ license:gpl3+))))
(define-public r-raremetals2
(package
(name "r-raremetals2")
@ -9498,32 +9425,6 @@ for analyzing gene-level association tests in meta-analyses for binary
trait.")
(license license:gpl3)))
(define-public r-maldiquant
(package
(name "r-maldiquant")
(version "1.19.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "MALDIquant" version))
(sha256
(base32
"0b7kdz3x4sdq413h1q09l1qhcvdnnwv6fqsqwllks1cd3xy34c57"))))
(properties `((upstream-name . "MALDIquant")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/MALDIquant")
(synopsis "Quantitative analysis of mass spectrometry data")
(description
"This package provides a complete analysis pipeline for matrix-assisted
laser desorption/ionization-time-of-flight (MALDI-TOF) and other
two-dimensional mass spectrometry data. In addition to commonly used plotting
and processing methods it includes distinctive features, namely baseline
subtraction methods such as morphological filters (TopHat) or the
statistics-sensitive non-linear iterative peak-clipping algorithm (SNIP), peak
alignment using warping functions, handling of replicated measurements as well
as allowing spectra with different resolutions.")
(license license:gpl3+)))
(define-public r-protgenerics
(package
(name "r-protgenerics")
@ -9834,71 +9735,6 @@ contains a number of utilities to explore the MS/MS results and assess missed
and irregular enzymatic cleavages, mass measurement accuracy, etc.")
(license license:artistic2.0)))
(define-public r-seurat
(package
(name "r-seurat")
(version "3.2.0")
(source (origin
(method url-fetch)
(uri (cran-uri "Seurat" version))
(sha256
(base32
"1vj3dlsqakgnn4x1jz9fkl2cy0jzc5s65h1c20fnamr7lk45pnf2"))))
(properties `((upstream-name . "Seurat")))
(build-system r-build-system)
(propagated-inputs
`(("r-ape" ,r-ape)
("r-cluster" ,r-cluster)
("r-cowplot" ,r-cowplot)
("r-fitdistrplus" ,r-fitdistrplus)
("r-future" ,r-future)
("r-future-apply" ,r-future-apply)
("r-ggplot2" ,r-ggplot2)
("r-ggrepel" ,r-ggrepel)
("r-ggridges" ,r-ggridges)
("r-httr" ,r-httr)
("r-ica" ,r-ica)
("r-igraph" ,r-igraph)
("r-irlba" ,r-irlba)
("r-jsonlite" ,r-jsonlite)
("r-kernsmooth" ,r-kernsmooth)
("r-leiden" ,r-leiden)
("r-lmtest" ,r-lmtest)
("r-mass" ,r-mass)
("r-matrix" ,r-matrix)
("r-miniui" ,r-miniui)
("r-patchwork" ,r-patchwork)
("r-pbapply" ,r-pbapply)
("r-plotly" ,r-plotly)
("r-png" ,r-png)
("r-rann" ,r-rann)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rcpp" ,r-rcpp)
("r-rcppannoy" ,r-rcppannoy)
("r-rcppeigen" ,r-rcppeigen)
("r-rcppprogress" ,r-rcppprogress)
("r-reticulate" ,r-reticulate)
("r-rlang" ,r-rlang)
("r-rocr" ,r-rocr)
("r-rsvd" ,r-rsvd)
("r-rtsne" ,r-rtsne)
("r-scales" ,r-scales)
("r-sctransform" ,r-sctransform)
("r-shiny" ,r-shiny)
("r-spatstat" ,r-spatstat)
("r-tibble" ,r-tibble)
("r-uwot" ,r-uwot)))
(home-page "http://www.satijalab.org/seurat")
(synopsis "Seurat is an R toolkit for single cell genomics")
(description
"This package is an R package designed for QC, analysis, and
exploration of single cell RNA-seq data. It easily enables widely-used
analytical techniques, including the identification of highly variable genes,
dimensionality reduction; PCA, ICA, t-SNE, standard unsupervised clustering
algorithms; density clustering, hierarchical clustering, k-means, and the
discovery of differentially expressed genes and markers.")
(license license:gpl3)))
(define-public r-aroma-light
(package
(name "r-aroma-light")
@ -11100,34 +10936,6 @@ are optimized per data type and for subsetted calculations such that both
memory usage and processing time is minimized.")
(license license:expat)))
(define-public r-phangorn
(package
(name "r-phangorn")
(version "2.5.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "phangorn" version))
(sha256
(base32
"0ihkaykqjmf80d8wrk3saphxvnv58zma6pd13633bd3cwanc33f5"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ape" ,r-ape)
("r-fastmatch" ,r-fastmatch)
("r-igraph" ,r-igraph)
("r-magrittr" ,r-magrittr)
("r-matrix" ,r-matrix)
("r-quadprog" ,r-quadprog)
("r-rcpp" ,r-rcpp)))
(home-page "https://github.com/KlausVigo/phangorn")
(synopsis "Phylogenetic analysis in R")
(description
"Phangorn is a package for phylogenetic analysis in R. It supports
estimation of phylogenetic trees and networks using Maximum Likelihood,
Maximum Parsimony, distance methods and Hadamard conjugation.")
(license license:gpl2+)))
(define-public r-dropbead
(let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247")
(revision "2"))
@ -13276,37 +13084,6 @@ analyses in addition to large-scale sequence-level searches.")
(supported-systems '("x86_64-linux"))
(license license:bsd-3))))
(define-public r-diversitree
(package
(name "r-diversitree")
(version "0.9-13")
(source
(origin
(method url-fetch)
(uri (cran-uri "diversitree" version))
(sha256
(base32
"00vi4klywi35hd170ksjv3xja3hqqbkcidcnrrlpgv4179k0azix"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(inputs `(("fftw" ,fftw) ("gsl" ,gsl)))
(propagated-inputs
`(("r-ape" ,r-ape)
("r-desolve" ,r-desolve)
("r-rcpp" ,r-rcpp)
("r-subplex" ,r-subplex)))
(home-page "https://www.zoology.ubc.ca/prog/diversitree")
(synopsis "Comparative 'phylogenetic' analyses of diversification")
(description "This package contains a number of comparative \"phylogenetic\"
methods, mostly focusing on analysing diversification and character evolution.
Contains implementations of \"BiSSE\" (Binary State Speciation and Extinction)
and its unresolved tree extensions, \"MuSSE\" (Multiple State Speciation and
Extinction), \"QuaSSE\", \"GeoSSE\", and \"BiSSE-ness\" Other included methods
include Markov models of discrete and continuous trait evolution and constant
rate speciation and extinction.")
(license license:gpl2+)))
(define-public sjcount
;; There is no tag for version 3.2, nor is there a release archive.
(let ((commit "292d3917cadb3f6834c81e509c30e61cd7ead6e5")
@ -14306,33 +14083,6 @@ downstream analysis. Poretools operates directly on the native FAST5, a variant
of the Hierarchical Data Format (HDF5) standard.")
(license license:expat))))
(define-public r-absfiltergsea
(package
(name "r-absfiltergsea")
(version "1.5.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "AbsFilterGSEA" version))
(sha256
(base32 "15srxkxsvn38kd5frdrwfdf0ad8gskrd0h01wmdf9hglq8fjrp7w"))))
(properties `((upstream-name . "AbsFilterGSEA")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-deseq" ,r-deseq)
("r-limma" ,r-limma)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)))
(home-page "https://cran.r-project.org/web/packages/AbsFilterGSEA/")
(synopsis "Improved false positive control of gene-permuting with absolute filtering")
(description
"This package provides a function that performs gene-permuting of a gene-set
enrichment analysis (GSEA) calculation with or without the absolute filtering.
Without filtering, users can perform (original) two-tailed or one-tailed
absolute GSEA.")
(license license:gpl2)))
(define-public jamm
(package
(name "jamm")

View File

@ -34,6 +34,7 @@
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
#:use-module (gnu packages boost)
@ -55,6 +56,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sqlite)
@ -465,29 +467,65 @@ features.")
(define-public deluge
(package
(name "deluge")
(version "1.3.15")
(version "2.0.3")
(source
(origin
(method url-fetch)
(uri (string-append
"http://download.deluge-torrent.org/source/deluge-"
version ".tar.xz"))
"https://ftp.osuosl.org/pub/deluge/source/"
(version-major+minor version) "/deluge-" version ".tar.xz"))
(sha256
(base32
"0b7rri4x0wrcj7rjghrnw1kfrsd5i7i6aq85dsg5dg1w1qa0ar59"))))
"14d8kn2pvr1qv8mwqrxmj85jycr73vwfqz12hzag0ararbkfhyky"))))
(build-system python-build-system)
(inputs
`(("libtorrent" ,libtorrent-rasterbar)
("python2-chardet" ,python2-chardet)
("python2-pygtk" ,python2-pygtk)
("python2-pyopenssl" ,python2-pyopenssl)
("python2-pyxdg" ,python2-pyxdg)
("python2-service-identity" ,python2-service-identity)
("python2-twisted" ,python2-twisted)))
(propagated-inputs
`(("gtk+" ,gtk+)
("librsvg" ,librsvg)
("libtorrent" ,libtorrent-rasterbar)
("python-pycairo" ,python-pycairo)
("python-chardet" ,python-chardet)
("python-dbus" ,python-dbus)
("python-mako" ,python-mako)
("python-pygobject" ,python-pygobject)
("python-pillow" ,python-pillow)
("python-pyopenssl" ,python-pyopenssl)
("python-pyxdg" ,python-pyxdg)
("python-rencode" ,python-rencode)
("python-service-identity" ,python-service-identity)
("python-setproctitle" ,python-setproctitle)
("python-six" ,python-six)
("python-twisted" ,python-twisted)
("python-zope-interface" ,python-zope-interface)))
(native-inputs
`(("intltool" ,intltool)))
`(("intltool" ,intltool)
("python-wheel" ,python-wheel)))
;; TODO: Enable tests.
;; After "pytest-twisted" is packaged, HOME is set, and an X server is
;; started, some of the tests still fail. There are likely some tests
;; that require a network connection.
(arguments
`(#:python ,python-2))
`(#:tests? #f
#:phases
(modify-phases %standard-phases
;; Remove this phase when upgrading to version 2.0.4 or beyond, as
;; the issue is fixed upstream.
(add-after 'unpack 'fix-gettext-warning
(lambda _
(substitute* "deluge/i18n/util.py"
(("names='ngettext'") "names=['ngettext']"))
#t))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(for-each
(lambda (program)
(wrap-program program
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
(map (lambda (name)
(string-append out "/bin/" name))
'("deluge" "deluge-gtk"))))
#t)))))
(home-page "https://www.deluge-torrent.org/")
(synopsis "Fully-featured cross-platform BitTorrent client")
(description

View File

@ -47,8 +47,8 @@
#:use-module (guix build-system gnu))
(define-public cuirass
(let ((commit "f2984c7230f69a6e50810edc5e9d36bd671801f9")
(revision "43"))
(let ((commit "00c7b4bb4432ff3f5ba28dca3625479e1fa129d8")
(revision "44"))
(package
(name "cuirass")
(version (git-version "0.0.1" revision commit))
@ -60,7 +60,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1p9mlmhv4kz8wixgywh1ffm3140p4mkgz92n7ry3n5s9w5n7fpjl"))))
"0xjl2in9hg24liahrhfr637ddwib3904ax9rpggyphamnvcxygzr"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)

View File

@ -3902,6 +3902,12 @@ binaries, plus debugging symbols in the @code{debug} output), and Binutils.")
(define-public gcc-toolchain-10
(make-gcc-toolchain gcc-10))
(define-public gcc-toolchain-aka-gcc
;; It's natural for users to try "guix install gcc". This package
;; automatically "redirects" them to 'gcc-toolchain'.
(deprecated-package "gcc" gcc-toolchain-10))
(define-public gdc-toolchain-10
(package (inherit (make-gcc-toolchain gdc-10))
(synopsis "Complete GCC tool chain for D lang development")

View File

@ -4,6 +4,7 @@
;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -96,11 +97,18 @@
(add-after 'install 'remove-duplicate
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(bin (string-append out "/bin"))
(coqtop (string-append bin "/coqtop"))
(coqidetop (string-append bin "/coqidetop"))
(coqtop.opt (string-append coqtop ".opt"))
(coqidetop.opt (string-append coqidetop ".opt")))
;; These files are exact copies without `.opt` extension.
;; Removing these saves 35 MiB in the resulting package.
(delete-file (string-append bin "/coqtop.opt"))
(delete-file (string-append bin "/coqidetop.opt")))
;; Unfortunately, completely deleting them breaks coqide.
(delete-file coqtop.opt)
(delete-file coqidetop.opt)
(symlink coqtop coqtop.opt)
(symlink coqidetop coqidetop.opt))
#t))
(add-after 'install 'install-ide
(lambda* (#:key outputs #:allow-other-keys)
@ -553,11 +561,11 @@ uses Ltac to synthesize the substitution operation.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/mattam82/Coq-Equations")
(commit (string-append "v" version "-8.10"))))
(commit (string-append "v" version "-8.10-2"))))
(file-name (git-file-name name version))
(sha256
(base32
"023q5dww3drw35dm9bi9p9d0wrj9k7vax7hfdsprf8l340pb4s0k"))))
"0j3z4l5nrbyi9zbbyqkc6kassjanwld2188mwmrbqspaypm2ys68"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
@ -588,7 +596,7 @@ kernel.")
(define-public coq-stdpp
(package
(name "coq-stdpp")
(version "1.2.1")
(version "1.4.0")
(synopsis "Alternative Coq standard library std++")
(source (origin
(method git-fetch)
@ -598,7 +606,7 @@ kernel.")
(file-name (git-file-name name version))
(sha256
(base32
"1lczybg1jq9drbi8nzrlb0k199x4n07aawjwfzrl3qqc0w8kmvdz"))))
"1m6c7ibwc99jd4cv14v3r327spnfvdf3x2mnq51f9rz99rffk68r"))))
(build-system gnu-build-system)
(inputs
`(("coq" ,coq)))

View File

@ -13,6 +13,7 @@
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -360,7 +361,7 @@ intuitive syntax and trivial integration.")
(define-public xtl
(package
(name "xtl")
(version "0.6.17")
(version "0.6.18")
(source (origin
(method git-fetch)
(uri
@ -369,7 +370,7 @@ intuitive syntax and trivial integration.")
(commit version)))
(sha256
(base32
"136djmx4l34ff5z4fw1c866x52vp7k4f8zcnbs49whymxzhzwpw0"))
"0s9gnv1wq0cmpw878dmx0lnci86895hhdrwyc9x8lfbc1hr7ypnh"))
(file-name (git-file-name name version))))
(native-inputs
`(("googletest" ,googletest)
@ -493,6 +494,36 @@ it's own version of the tool, this is a fork that aims to be more responsive
and make @code{cpplint} usable in wider contexts.")
(license license:bsd-3)))
(define-public reproc
(package
(name "reproc")
(version "14.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/DaanDeMeyer/reproc")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1n71wb50qv2dmhjgw7azx5gigbrp19l2n3d41g9p05l5l0y1qg0q"))))
(build-system cmake-build-system)
(arguments
;; No tests.
`(#:tests? #f
;; Enable building of shared library.
#:configure-flags `("-DBUILD_SHARED_LIBS=1")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis "Process IO library")
(description "reproc (Redirected Process) is a C/C++ library that
simplifies starting, stopping and communicating with external programs. The
main use case is executing command line applications directly from C or C++
code and retrieving their output.")
(home-page "https://github.com/DaanDeMeyer/reproc")
(license license:expat)))
(define-public sobjectizer
(package
(name "sobjectizer")

File diff suppressed because it is too large Load Diff

View File

@ -246,6 +246,29 @@
(assoc-ref inputs "js-mathjax")
"/share/javascript/mathjax"))
(invoke "python2" "setup.py" "rapydscript")))
(replace 'wrap
;; Here we wrap PYTHONPATH exactly as it would be in
;; python-build-system, plus the addition of
;; QTWEBENGINEPROCESS_PATH, fixing a bug where Calibre would not
;; find Qtwebengine.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(python (assoc-ref inputs "python"))
(site-packages
(cons (string-append out "/lib/python"
(python-version python)
"/site-packages")
(search-path-as-string->list (getenv "PYTHONPATH"))))
(qtwebengineprocess
(string-append (assoc-ref inputs "qtwebengine")
"/lib/qt5/libexec/QtWebEngineProcess")))
(for-each (lambda (program)
(wrap-program program
`("QTWEBENGINEPROCESS_PATH" = (,qtwebengineprocess))
`("PYTHONPATH" prefix ,site-packages)))
(find-files bin ".")))
#t))
(add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
(copy-recursively

View File

@ -613,14 +613,14 @@ Portuguese, Spanish and Italian.")
(define-public fet
(package
(name "fet")
(version "5.46.0")
(version "5.46.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
"fet-" version ".tar.bz2"))
(sha256
(base32 "1vcsm12lqf84mz9ppw2knjyv5ss2ws0dblbp418hll91dry7m49a"))))
(base32 "1sakzizjsyjn6705zl283i81zxn1gxskg2i4jv7iq75vw3nzm6kv"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -682,6 +682,30 @@ Alternatively the menu can be bound globally, for example:
@code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.")
(license license:gpl3+)))
(define-public emacs-moody
(package
(name "emacs-moody")
(version "0.5.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tarsius/moody")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1xyw4l42053595r76lj8safsx6pj25as0107wd96by3h7dg9m586"))))
(build-system emacs-build-system)
(home-page "https://github.com/tarsius/moody")
(synopsis "Tabs and ribbons for Emacs mode-line")
(description
"@code{emacs-moody} provides utilities for displaying elements of
the mode line as tabs and ribbons. It also provides replacements for a few
built-in elements. The biggest difference to similar packages is that
this one is much simpler and much more consistent. When using this package,
then only the color of the mode line changes when a window becomes in-/active.")
(license license:gpl3+)))
(define-public emacs-treepy
(package
(name "emacs-treepy")
@ -2078,7 +2102,7 @@ Lock key.")
(define-public emacs-chronometrist
(package
(name "emacs-chronometrist")
(version "0.5.3")
(version "0.5.5")
(source
(origin
(method git-fetch)
@ -2087,7 +2111,7 @@ Lock key.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jz35972m372kx9x8mgf42zhzdw2w9wv2ri52chfb2fin4bh1biy"))))
(base32 "1zccyfpgq68ixrcl8jq2r38165ngkqrb42y2hkyab6gxhvh4wkpl"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -2111,7 +2135,8 @@ Lock key.")
(find-files "." "\\.md$")))))
#t)))))
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
`(("emacs-anaphora" ,emacs-anaphora)
("emacs-dash" ,emacs-dash)
("emacs-s" ,emacs-s)
("emacs-ts" ,emacs-ts)))
(home-page "https://github.com/contrapunctus-1/chronometrist")
@ -2133,7 +2158,7 @@ Its features are:
(define-public emacs-direnv
(package
(name "emacs-direnv")
(version "2.0.0")
(version "2.1.0")
(source
(origin
(method git-fetch)
@ -2142,8 +2167,7 @@ Its features are:
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"005ibyzsx1fdyrl5iyhqpb1bg83mphzahq7zvw58x00syyqi2z49"))))
(base32 "0xkqn4604k2imas6azy1www56br8ls4iv9a44pxcd8h94j1fp44d"))))
(build-system emacs-build-system)
(propagated-inputs
`(("dash" ,emacs-dash)
@ -3009,7 +3033,7 @@ files and directories.")
(define-public emacs-fountain-mode
(package
(name "emacs-fountain-mode")
(version "3.1.0")
(version "3.2.2")
(source
(origin
(method git-fetch)
@ -3018,7 +3042,7 @@ files and directories.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08giwg0jwk8zzj2i4cm08322qr6znrnv9a49za7c6j47bykpwj6s"))))
(base32 "0rwdwbw9cq8ljvbmgmz9izank8dqjki79l1bw127lli69fs72gyi"))))
(build-system emacs-build-system)
(home-page "https://github.com/rnkn/fountain-mode")
(synopsis "Major mode for screenwriting in Fountain markup")
@ -3208,6 +3232,29 @@ project.
This package also includes relevant snippets for yasnippet.")
(license license:expat))))
(define-public emacs-gdscript-mode
(package
(name "emacs-gdscript-mode")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/godotengine/emacs-gdscript-mode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "02by4bvdayldbjlz6jkp36m5rgcy2h5bwhqx2cj7wma6xf6cw3lf"))))
(build-system emacs-build-system)
(home-page "https://github.com/godotengine/emacs-gdscript-mode")
(synopsis "GDScript support and syntax highlighting in Emacs")
(description
"This package adds support for the GDScript programming language from the
Godot game engine in Emacs. It features all the essentials, e.g., syntax
highlighting, code folding, indentation, automatic pairing, auto-completion,
and code formatting.")
(license license:gpl3+)))
(define-public emacs-el-mock
(package
(name "emacs-el-mock")
@ -3358,8 +3405,9 @@ keep pressing the key until it selects what you want. There's also
;; byte-compilation is finished
#:parallel-tests? #f))
(home-page "https://github.com/lastquestion/explain-pause-mode")
(synopsis "Provides a top like interface to determine why Emacs paused")
(description "Monitors Emacs function calls and records their execution
(synopsis "Top-like interface to determine why Emacs paused")
(description
"This package monitors Emacs function calls and records their execution
time. This information can be reviewed to determine what is causing the user
interface to pause.")
(license license:gpl3+))))
@ -6479,7 +6527,7 @@ regexp that matches all known keywords.")
(define-public emacs-perspective
(package
(name "emacs-perspective")
(version "2.10")
(version "2.11")
(source
(origin
(method git-fetch)
@ -6489,7 +6537,7 @@ regexp that matches all known keywords.")
(file-name (git-file-name name version))
(sha256
(base32
"1xfcm69nd6f9chwlqfz5vd8nnyl5mwharxjrn1m515568dqrk62x"))))
"0nka5z6226r174ligja023qx2bb1pfyjbanafxprbyxkr17b2794"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@ -8710,7 +8758,7 @@ target will call @code{compile} on it.")
(define-public emacs-cider
(package
(name "emacs-cider")
(version "0.26.0")
(version "0.26.1")
(source
(origin
(method git-fetch)
@ -8719,7 +8767,7 @@ target will call @code{compile} on it.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1qwizvmm9ln75ph1jg2rfqv3hd9p4zaz8kp2i6yr3vq99c3a00i7"))))
(base32 "0m77jbxl380dp1wyj12m82bb06r80js8yxl530ryp1mwvy74f00d"))))
(build-system emacs-build-system)
(arguments
'(#:exclude ;don't exclude 'cider-test.el'
@ -8750,9 +8798,9 @@ CIDER).")
;; There hasn't been a tag or release since 2016, so we take the latest
;; commit.
(define-public emacs-sly
(let ((commit "6a2f543cb21f14104c2253af5a1427b884a987ae")
(let ((commit "8e22c1f62667434ec1acd1e0c6b7ec1c22dc0958")
;; Update together with sbcl-slynk-boot0.
(revision "5"))
(revision "6"))
(package
(name "emacs-sly")
(version (git-version "1.0.0" revision commit))
@ -8765,7 +8813,7 @@ CIDER).")
(file-name (git-file-name name version))
(sha256
(base32
"0wbpg9p9yg2hd62l15pvy50fk3hndq5zzyqlyyf04g368s895144"))))
"09wyqixsn7k889i54amf8bwjg6iyirp89xmcrgfwal010kh1ixcl"))))
(build-system emacs-build-system)
(native-inputs
`(("texinfo" ,texinfo)))
@ -8921,8 +8969,8 @@ file.")
(license license:gpl3+))))
(define-public emacs-sly-macrostep
(let ((commit "be2d24545092d164be1a91031d8881afd29c9ec0")
(revision "1"))
(let ((commit "5113e4e926cd752b1d0bcc1508b3ebad5def5fad")
(revision "2"))
(package
(name "emacs-sly-macrostep")
(version (git-version "0.1" revision commit))
@ -8936,7 +8984,7 @@ file.")
(file-name (git-file-name name version))
(sha256
(base32
"0v8m3zkccpqd2l8m9340y672l2mm3mrry8422nva5kfvpcwdayqb"))))
"1nxf28gn4f3n0wnv7nb5sgl36fz175y470zs9hig4kq8cp0yal0r"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-sly" ,emacs-sly)
@ -9603,13 +9651,13 @@ passive voice.")
(name "emacs-org")
;; emacs-org-contrib inherits from this package. Please update it as
;; well.
(version "9.3.6")
(version "9.3.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar"))
(sha256
(base32 "0jwpgfzjvf1hd3mx582pw86hysdryaqzp69hk6azi9kmq4bzk87d"))))
(base32 "1az00pi9rw3ibx4061jyqr6ll27kvs99yvd7nk5dckjh0ajd0gni"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -9634,14 +9682,14 @@ programming and reproducible research.")
(package
(inherit emacs-org)
(name "emacs-org-contrib")
(version "20200213")
(version "20200907")
(source
(origin
(method url-fetch)
(uri (string-append "https://orgmode.org/elpa/"
"org-plus-contrib-" version ".tar"))
(sha256
(base32 "0g6rrrwplrifz4ip0jg638m4kvpvdg03hwnyghd813w0lm935mh5"))))
(base32 "1rgk3pwhsmbmwlncg60ahwrrkm1ks4xpwy2wzv9q7myl1aihjj54"))))
(arguments
`(#:modules ((guix build emacs-build-system)
(guix build utils)
@ -11918,7 +11966,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
(define-public emacs-which-key
(package
(name "emacs-which-key")
(version "3.4.0")
(version "3.5.0")
(source
(origin
(method git-fetch)
@ -11927,7 +11975,7 @@ or @code{treemacs}, but leveraging @code{Dired} to do the job of display.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ahgb7dqdc75farkl0fg0a6hvx2067gdvjq99cd3z2dz56km0p05"))))
(base32 "13lgjsm9pwgjsxg7lzc1c9sw2bzssxikfj6grnshqfll8kz8yr4r"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@ -12507,14 +12555,14 @@ write applications that use WebSockets, and is not useful by itself.")
(define-public emacs-oauth2
(package
(name "emacs-oauth2")
(version "0.13")
(version "0.15")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"oauth2-" version ".el"))
(sha256
(base32 "0y5nbdwxz2hfr09xgsqgyv60vgx0rsaisibcpkz00klvgg26w33r"))))
(base32 "0ij17g6i8d4cyzc8v6sy2qglwhzd767331gavll6d507krdh3ca3"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/oauth2.html")
(synopsis "OAuth 2.0 authorization protocol implementation")
@ -22004,14 +22052,14 @@ federated microblogging social network.")
(define-public emacs-ebdb
(package
(name "emacs-ebdb")
(version "0.6.18")
(version "0.6.19")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"ebdb-" version ".tar"))
(sha256
(base32 "0znbv3c7wdgak1f1zb051vg4r29fksqh53k1j77jfmqcvwkpz2mw"))))
(base32 "0ch5vzhxa8h5v75lg3blsmrln497lr3ylivx6w28aiyb6cv5016l"))))
(build-system emacs-build-system)
(home-page "https://github.com/girzel/ebdb")
(synopsis "EIEIO port of BBDB, Emacs's contact-management package")
@ -22631,7 +22679,7 @@ Google guidelines.")
(define-public emacs-helm-fish-completion
(package
(name "emacs-helm-fish-completion")
(version "0.5")
(version "0.6")
(home-page "https://github.com/emacs-helm/helm-fish-completion")
(source
(origin
@ -22641,7 +22689,7 @@ Google guidelines.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0hpsm39kx8vpz2zmarjrkvy1capkk5lwpsmdg2xnklsck6xsn922"))))
(base32 "1j2vfngq3512naaayv9kx0d1q2zg1xgs69l8afc7swg72h0l0imw"))))
(build-system emacs-build-system)
(propagated-inputs
`(("helm" ,emacs-helm)

View File

@ -47,6 +47,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages messaging)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@ -1357,3 +1358,51 @@ simplifies configuration and is also pluggable: you can write your own west
this feature to provide conveniences for building applications, flashing and
debugging them, and more.")
(license license:expat)))
(define-public ebusd
(package
(name "ebusd")
(version "3.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/john30/ebusd.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0iva70bam7wdx60bpd3an9kxr28zxlvp3vprivgqshwwdhqa0hzp"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-config
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((config-destination
(string-append (assoc-ref outputs "out")
"/share/ebusd")))
(copy-recursively (string-append (assoc-ref inputs "config")
"/ebusd-2.1.x")
config-destination)
#t))))))
(inputs
`(("mosquitto" ,mosquitto)))
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)
("config"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/john30/ebusd-configuration.git")
(commit "666c0f6b9c4d7545eff7f43ab28a1c7baeab7913")))
(file-name "config-checkout")
(sha256
(base32
"0yxnx8p4lbk614l16854r9s9d8s9c7ixgczfs8mph94xz0wkda7x"))))))
(synopsis "Daemon for communicating with eBUS devices")
(description "This package provides @command{ebusd}, a daemon for
handling communication with eBUS devices connected to a 2-wire bus system
(\"energy bus\" used by numerous heating systems).")
(home-page "https://ebusd.eu/")
(license license:gpl3+)))

View File

@ -795,6 +795,51 @@ language.")
(license (list license:mpl2.0 ;library
license:gpl2+))))) ;Guile bindings and GUI
(define-public inspekt3d
(let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
(revision "0"))
(package
(name "inspekt3d")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/kavalogic-inc/inspekt3d.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0lan6930g5a9z4ack9jj0zdd0mb2s6q2xzpiwcjdc3pvl9b1nbw4"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-libfive-guile-location
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "inspekt3d/library.scm"
(("\"libfive-guile")
(string-append "\""
(assoc-ref inputs "libfive")
"/lib/libfive-guile")))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(inputs
`(("mesa" ,mesa)
("guile" ,guile-2.2)))
(propagated-inputs
`(("libfive" ,libfive)
("guile-opengl" ,guile-opengl)))
(home-page "https://gitlab.com/kavalogic-inc/inspekt3d/")
(synopsis "Lightweight 3D viewer for Libfive written in Guile Scheme")
(description
"Inspekt3d is a lightweight 3D viewer for Libfive written in Guile Scheme.
The viewer can be used interactively with a REPL (for example Geiser in
Emacs).")
(license license:gpl3+))))
;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master
(define-public kicad
(package

View File

@ -357,17 +357,19 @@ Libraries with some extra bells and whistles.")
("bc" ,bc)
("bluez" ,bluez)
("dbus" ,dbus)
("efl" ,efl)
("freetype" ,freetype)
("libxcb" ,libxcb)
("libxext" ,libxext)
("linux-pam" ,linux-pam)
("puleseaudio" ,pulseaudio)
("setxkbmap" ,setxkbmap)
("wayland-protocols" ,wayland-protocols)
("xcb-util-keysyms" ,xcb-util-keysyms)
("xkeyboard-config" ,xkeyboard-config)
("xorg-server-xwayland" ,xorg-server-xwayland)))
(propagated-inputs
`(("efl" ,efl)
("libxkbcommon" ,libxkbcommon)
("wayland-protocols" ,wayland-protocols)))
(home-page "https://www.enlightenment.org/about-enlightenment")
(synopsis "Lightweight desktop environment")
(description

View File

@ -1203,7 +1203,7 @@ typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
(package
(name "font-iosevka")
;; When updating, also update the hash of the Iosevka variant(s) below.
(version "3.2.2")
(version "3.4.7")
(source
(origin
(method url-fetch/zipbomb)
@ -1211,7 +1211,7 @@ typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.")
"/releases/download/v" version
"/ttc-iosevka-" version ".zip"))
(sha256
(base32 "16iqr4zjlshrgzcs3sjp3gz777gpi069r7p7scqi6vap9acqjvph"))))
(base32 "178xyxz57ncigv715db0898d5arcx1l7qi73a8prb2fdlb7x2yx6"))))
(build-system font-build-system)
(home-page "https://be5invis.github.io/Iosevka/")
(synopsis "Coders' typeface, built from code")
@ -1234,7 +1234,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version
"/ttc-iosevka-slab-" version ".zip"))
(sha256
(base32 "0knsb1b0wqv50r7f9128xvq344x7hnvgm7kh1dxaahlck910z62x"))))))
(base32 "1zqgly4ymmmz3ckfsc2vdxw6d62axcyl79fq3gi630c4951nfikz"))))))
(define-public font-iosevka-term
(package
@ -1249,7 +1249,7 @@ programming. Iosevka is completely generated from its source code.")
"/ttf-iosevka-term-" version ".zip"))
(sha256
(base32
"0nyq6iq9xjn9nqwh1fh4v0pvblycmm8ssw7y3vcjv1ymbkdqfqhr"))))
"0nfwxhxgrgz3hhhrvr759263bm88zbh0zsavpnmphxwg9kykjq39"))))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -1271,7 +1271,7 @@ programming. Iosevka is completely generated from its source code.")
"/ttf-iosevka-term-slab-" version ".zip"))
(sha256
(base32
"1blhhbnk2hyaxjrz88icd2gwyniq5idxd0h6rqx6vjcack6094z0"))))
"01ynnwlfq3294p8v0656xw6wcfmqklf0yqwkqh3sh2wmj7rrs7wi"))))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -1292,7 +1292,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version
"/ttc-iosevka-aile-" version ".zip"))
(sha256
(base32 "1zg0gn4gcf3w8n8jzf93y9ninyn3bci31c5zss3mxzz1lzfm8zd5"))))))
(base32 "0h4wzjyw3h5zbxzfb71z7aj5xwp8r1hd93qim6zicxfk9dgczgw5"))))))
(define-public font-iosevka-etoile
(package
@ -1306,7 +1306,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version
"/ttc-iosevka-etoile-" version ".zip"))
(sha256
(base32 "1061yaf35f19dcym4k552q1yzbsbc98r3glm9frslirra9f33sl2"))))))
(base32 "1n1jy7g0q0kd4ihsyka1v02s7xgpg80rf9sml1yhxkqw5pq62972"))))))
(define-public font-iosevka-sparkle
(package
@ -1320,7 +1320,7 @@ programming. Iosevka is completely generated from its source code.")
"/releases/download/v" version
"/ttc-iosevka-sparkle-" version ".zip"))
(sha256
(base32 "1c1s9j6qgyhn4md0kql0x2201nbs5jx3612jf8q020gm484xqq03"))))))
(base32 "0chl6x3xy6alq64sax71psvpq6f6fgw6pbn04f5j5skgrbqkk292"))))))
(define-public font-sarasa-gothic
(package

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,14 +28,14 @@
(define-public freeipmi
(package
(name "freeipmi")
(version "1.6.5")
(version "1.6.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz"))
(sha256
(base32
"1ncf1s84752xaq07h36wrxa5ww1167s2bizkww0igxv8djyddwk1"))))
"1ava5s0babfwx6dqi87phzyzjjgyah7avhljrxrjwn2cniwh38yg"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static")))

View File

@ -5,7 +5,7 @@
;;; Copyright © 2015, 2018 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2017, 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@ -342,26 +342,22 @@ compiling NML files (along with their associated language, sound and graphic
files) into @file{.grf} and/or @file{.nfo} files.")
(license license:gpl2+)))
(define-public python-sge-pygame
(define-public python-sge
(package
(name "python-sge-pygame")
(version "1.5.1")
(name "python-sge")
(version "1.7")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/stellarengine/"
(version-major+minor version) "/sge-pygame-"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(uri (pypi-uri "sge" version))
(sha256
(base32
"1rl3xjzh78sl0sq3xl8rl7cgp9v9v3h7s2pfwn7nj1vrmffzkcpd"))))
"02fn6v6bxk3sngwd4kd3mglrp0jlnhx7x6h8nnkik6wdv150a0wv"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pygame" ,python-pygame)
("python-six" ,python-six)
("python-uniseg" ,python-uniseg)))
(home-page "http://stellarengine.nongnu.org")
(home-page "https://python-sge.github.io/")
(synopsis "2D game engine for Python")
(description
"The SGE Game Engine (\"SGE\", pronounced like \"Sage\") is a
@ -370,8 +366,8 @@ you can focus on the game itself. This makes more rapid game development
possible, and it also makes the SGE easy to learn.")
(license license:lgpl3+)))
(define-public python2-sge-pygame
(package-with-python2 python-sge-pygame))
(define-public python-sge-pygame
(deprecated-package "python-sge-pygame" python-sge))
(define-public python-tmx
(package
@ -412,14 +408,15 @@ levels.")
(define-public python-xsge
(package
(name "python-xsge")
(version "2018.02.26")
(version "2020.09.07")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/xsge/xsge/xsge-"
version ".tar.gz"))
(uri (string-append "https://github.com/python-sge/xsge"
"/releases/download/v" version
"/xsge-" version ".zip"))
(sha256
(base32
"0bx93hgf7cgdw2gsygbh59y8vpw37pgsa279rajw3fkdpl8vrc40"))))
"136xgy3f9vw636wxpqbha022avk0wyxw63mm3a2dvwhh90s716f9"))))
(build-system python-build-system)
(arguments
'(#:phases
@ -432,12 +429,11 @@ levels.")
(string-append "--prefix=" (assoc-ref outputs "out"))
"--root=/"))))
#:tests? #f)) ; no check target
(native-inputs
`(("unzip" ,unzip)))
(propagated-inputs
`(("python-sge-pygame" ,python-sge-pygame)
("python-pygame" ,python-pygame)
("python-six" ,python-six)
("python-tmx" ,python-tmx)))
(home-page "http://xsge.nongnu.org")
`(("python-sge" ,python-sge)))
(home-page "https://python-sge.github.io/")
(synopsis "Extensions for the SGE Game Engine")
(description
"xSGE is a collection of modules that make doing certain tasks with the SGE
@ -446,9 +442,6 @@ GUI toolkit, lighting and physics frameworks and @code{Tiled} TMX format
support.")
(license license:gpl3+)))
(define-public python2-xsge
(package-with-python2 python-xsge))
(define-public tiled
(package
(name "tiled")

View File

@ -17,7 +17,7 @@
;;; Copyright © 2016, 2017 Rodger Fox <thylakoid@openmailbox.org>
;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
@ -385,15 +385,17 @@ The game includes a built-in editor so you can design and share your own maps.")
(define-public armagetronad
(package
(name "armagetronad")
(version "0.2.8.3.5")
(version "0.2.9.0.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/armagetronad/stable/"
version "/armagetronad-" version ".src.tar.gz"))
version "/armagetronad-" version ".tbz"))
(sha256
(base32
"1z266haq22n5b0733h7qsg1rpzhz8lvm82f7wd06r008iiar7jdl"))))
"19rfhlg4gp0r7k1j8v4iw20325ciy156nmzax4xikmw22c6nmxcz"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libxml2" ,libxml2)
("sdl" ,sdl)
@ -1811,15 +1813,16 @@ Every puzzle has a complete solution, although there may be more than one.")
(define-public retux
(package
(name "retux")
(version "1.3.6")
(version "1.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/retux/"
(uri (string-append "https://github.com/retux-game/retux/"
"releases/download/v"
(version-major+minor version) "/retux-"
version "-src.tar.gz"))
(sha256
(base32
"01bidh4zisjp3nc436x0g85v60dvwb3ig37i7y01sa71j8fm4fmb"))))
"1hxy1pvlxhk0ci3wh2i3mmr82faqdjnnxsiwwr5gcr93nfnw9w5f"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no check target
@ -1831,28 +1834,22 @@ Every puzzle has a complete solution, although there may be more than one.")
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(data (string-append out "/share/retux"))
(doc (string-append out "/share/doc/retux")))
(data (string-append out "/share/retux")))
(mkdir-p bin)
(substitute* "retux.py"
;; Use the correct data directory.
(("os\\.path\\.join\\(os\\.path\\.dirname\\(__file__\\), \"data\"\\),")
(string-append "\"" data "\","))
;; Use Python 3 so the patch-shebangs phase works properly.
((".*python2.*") "#!/usr/bin/python3"))
(string-append "\"" data "\",")))
(copy-file "retux.py" (string-append bin "/retux"))
(copy-recursively "data" data)
(install-file "COPYING" doc)
#t))))))
(inputs
`(("python-sge-pygame" ,python-sge-pygame)
("python-six" ,python-six)
("python-xsge" ,python-xsge)))
(home-page "http://retux.nongnu.org")
(home-page "https://retux-game.github.io/")
(synopsis "Action platformer game")
(description
"ReTux is an action platformer loosely inspired by the Mario games,
@ -4788,7 +4785,7 @@ of war. Widelands also offers an Artificial Intelligence to challenge you.")
(define-public starfighter
(package
(name "starfighter")
(version "2.3.1")
(version "2.3.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -4797,7 +4794,7 @@ of war. Widelands also offers an Artificial Intelligence to challenge you.")
version "-src.tar.gz"))
(sha256
(base32
"13396hvsj4cswlrw52kwqn37dadxps00vhr0hrqgm87fl4ih5yyx"))))
"1nvi277cazsw36b6nhd5nmk0cjvm71rlxasy24mf18j7fsvq9vp8"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -50,7 +50,9 @@
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"15jmh17lvm3jw9c92bjarly7iwhmnfl322d91mprfv10ppb9ip54"))))
"15jmh17lvm3jw9c92bjarly7iwhmnfl322d91mprfv10ppb9ip54"))
;; will be shipped with release 14
(patches (search-patches "genimage-signedness.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -169,7 +171,6 @@
("automake" ,automake)
;;; Note: cramfs is obsolete.
("dtc" ,dtc) ; for the tests
("fdisk" ,fdisk) ; for the tests
("pkg-config" ,pkg-config)
("util-linux" ,util-linux))) ; for the tests
(inputs

View File

@ -6184,7 +6184,7 @@ USB transfers with your high-level application or system daemon.")
(define-public simple-scan
(package
(name "simple-scan")
(version "3.36.4")
(version "3.36.6")
(source
(origin
(method url-fetch)
@ -6192,7 +6192,7 @@ USB transfers with your high-level application or system daemon.")
(version-major+minor version) "/"
"simple-scan-" version ".tar.xz"))
(sha256
(base32 "09gmzrlljdqkj3w6wa1c27wypy6j8z9dw3jzv9izfqvp38liibsn"))))
(base32 "0x9hzqnji5l966yy2k5gppl8hqasn3sd5an4sr8srjmncxcs80ys"))))
(build-system meson-build-system)
;; TODO: Fix icons in home screen, About dialogue, and scan menu.
(arguments
@ -10495,7 +10495,7 @@ advanced image management tool")
(define-public libhandy
(package
(name "libhandy")
(version "0.90.0")
(version "1.0.0")
(source
(origin
(method git-fetch)
@ -10504,7 +10504,7 @@ advanced image management tool")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1zpfbn2x27lp69w819afxf3ylkgfz9k44srfgmkbb2c33r14ajwy"))))
(base32 "193y09yy0302x8fkyrnq591m805xp68bkd93fl5qggxi52k8pj0v"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags

View File

@ -868,6 +868,8 @@ enter a passphrase when required by @code{gpg} or other software.")))
(package
(inherit pinentry-tty)
(name "pinentry-gtk2")
(arguments
`(#:configure-flags '("--enable-fallback-curses")))
(inputs
`(("gtk+" ,gtk+-2)
("glib" ,glib)
@ -886,7 +888,8 @@ passphrase when @code{gpg} is run and needs it.")))
("glib" ,glib)
,@(package-inputs pinentry-tty)))
(arguments
`(#:configure-flags '("--enable-pinentry-gnome3")))
`(#:configure-flags '("--enable-pinentry-gnome3"
"--enable-fallback-curses")))
(description
"Pinentry provides a console and a GUI designed for use with GNOME@tie{}3
that allows users to enter a passphrase when required by @code{gpg} or other
@ -896,6 +899,8 @@ software.")))
(package
(inherit pinentry-tty)
(name "pinentry-qt")
(arguments
`(#:configure-flags '("--enable-fallback-curses")))
(inputs
`(("qtbase" ,qtbase)
,@(package-inputs pinentry-tty)))
@ -912,7 +917,8 @@ passphrase when @code{gpg} is run and needs it.")))
(inherit (package-source pinentry-tty))
(patches (search-patches "pinentry-efl.patch"))))
(arguments
'(#:configure-flags '("--enable-pinentry-efl")
'(#:configure-flags '("--enable-pinentry-efl"
"--enable-fallback-curses")
#:phases
(modify-phases %standard-phases
(replace 'bootstrap

View File

@ -18,6 +18,7 @@
;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1047,6 +1048,30 @@ Features include:
optimized for performance yet simple to use.")
(license license:expat))))
(define-public go-github-com-tv42-httpunix
(let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22")
(revision "0"))
(package
(name "go-github-com-tv42-httpunix")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tv42/httpunix.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0xbwpip2hsfhd2kd878jn5ndl8y1i9658lggha4x3xb5m1rsds9w"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/tv42/httpunix"))
(home-page "https://github.com/tv42/httpunix")
(synopsis "Go library to talk HTTP over Unix domain sockets")
(description "This package is a Go library to talk HTTP over Unix domain
sockets.")
(license license:expat))))
(define-public go-github-com-blang-semver
(let ((commit "60ec3488bfea7cca02b021d106d9911120d25fe9")
(revision "0"))
@ -4180,7 +4205,7 @@ data serialization format.")
(define-public go-github-com-mattn-go-zglob
(package
(name "go-github-com-mattn-go-zglob")
(version "0.0.1")
(version "0.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4189,7 +4214,7 @@ data serialization format.")
(file-name (git-file-name name version))
(sha256
(base32
"1sncdyq5fbd42al4amyy91h7vlzm3wm6c9vl8za2pjgfgsd581fz"))))
"1923lvakm66mzy62jmngdvcmbmiqclinsvnghs3907rgygnx1qc1"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/mattn/go-zglob"))

View File

@ -121,63 +121,6 @@ more.")
(home-page "https://pypi.org/project/python-igraph/")
(synopsis "Python bindings for the igraph network analysis library")))
(define-public r-igraph
(package
(name "r-igraph")
(version "1.2.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "igraph" version))
(sha256
(base32
"126z1ygbmi3g7hk97snf22rnx680dyi30idssm5zacba5rdngp8c"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(inputs
`(("gmp" ,gmp)
("glpk" ,glpk)
("libxml2" ,libxml2)
("zlib" ,zlib)))
(propagated-inputs
`(("r-magrittr" ,r-magrittr)
("r-matrix" ,r-matrix)
("r-pkgconfig" ,r-pkgconfig)))
(home-page "https://igraph.org")
(synopsis "Network analysis and visualization")
(description
"This package provides routines for simple graphs and network analysis.
It can handle large graphs very well and provides functions for generating
random and regular graphs, graph visualization, centrality methods and much
more.")
(license license:gpl2+)))
(define-public r-diffusionmap
(package
(name "r-diffusionmap")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "diffusionMap" version))
(sha256
(base32
"1rvk7069brlm1s9kqj4c31mwwr3mw4hmhay95cjjjfmw5xclff2j"))))
(properties `((upstream-name . "diffusionMap")))
(build-system r-build-system)
(propagated-inputs
`(("r-igraph" ,r-igraph)
("r-matrix" ,r-matrix)
("r-scatterplot3d" ,r-scatterplot3d)))
(home-page "https://www.r-project.org")
(synopsis "Diffusion map")
(description "This package implements the diffusion map method of data
parametrization, including creation and visualization of diffusion maps,
clustering with diffusion K-means and regression using the adaptive regression
model.")
(license license:gpl2)))
(define-public r-rgraphviz
(package
(name "r-rgraphviz")

View File

@ -798,6 +798,7 @@ using Guile's foreign function interface.")
(build-system guile-build-system)
(arguments
'(#:source-directory "src"
#:compile-flags '("--r6rs" "-Wunbound-variable" "-Warity-mismatch")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'move-files-around
(lambda _
@ -806,8 +807,7 @@ using Guile's foreign function interface.")
(mkdir-p "src/pfds")
(for-each (lambda (file)
(rename-file file
(string-append "src/pfds/"
file)))
(string-append "src/pfds/" file)))
'("bbtrees.sls"
"deques"
"deques.sls"
@ -821,15 +821,6 @@ using Guile's foreign function interface.")
"queues.sls"
"sequences.sls"
"sets.sls"))
;; In Guile <= 2.2.4, there's no way to tell 'guild
;; compile' to accept the ".sls" extension. So...
(for-each (lambda (file)
(rename-file file
(string-append
(string-drop-right file 4)
".scm")))
(find-files "." "\\.sls$"))
#t)))))
(native-inputs
`(("guile" ,guile-3.0)))
@ -853,6 +844,36 @@ Vicare Scheme and IronScheme. Right now it contains:
@end itemize\n")
(license license:bsd-3)))
(define-public guile-prometheus
(let ((commit "cbc6e1b03512443a03d66414c426adb8470b5f2b")
(revision "0"))
(package
(name "guile-prometheus")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.cbaines.net/git/guile/prometheus")
(commit commit)))
(sha256
(base32
"1k1qg4ia87w2ipnf8cpikdc67lxi5bmahkhgk2x0i9ibdyvqb7np"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)))
(inputs
`(("guile" ,guile-3.0)))
(home-page "https://git.cbaines.net/guile/prometheus")
(synopsis "Prometheus client library for Guile")
(description
"This Guile library provides instrumentation code intended to be used
with the Prometheus time series service. Counter, gauge and histogram metric
types are supported.")
(license license:gpl3+))))
(define-public guile2.2-pfds
(package
(inherit guile-pfds)
@ -862,7 +883,18 @@ Vicare Scheme and IronScheme. Right now it contains:
(substitute-keyword-arguments (package-arguments guile-pfds)
((#:phases phases)
`(modify-phases ,phases
(delete 'work-around-guile-bug)))))))
(delete 'work-around-guile-bug)
(add-after 'move-files-around 'sls->scm
(lambda _
;; In Guile <= 2.2.4, there's no way to tell 'guild
;; compile' to accept the ".sls" extension. So...
(for-each (lambda (file)
(rename-file file
(string-append
(string-drop-right file 4)
".scm")))
(find-files "." "\\.sls$"))
#t))))))))
(define-public guile3.0-pfds
(deprecated-package "guile3.0-pfds" guile-pfds))
@ -1729,19 +1761,20 @@ capabilities.")
(license license:gpl3+)))
(define-public g-golf
(let ((commit "5d2903afb4b6b65c22f587835d8fdff91916e5ee"))
(let ((commit "84e894eb7945c3bcdf7f8d5135c1be3efa524c92")
(revision "822"))
(package
(name "g-golf")
(version (git-version "1" "804" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/g-golf.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1xkb6a5d3i9s8lpb5cf06bd64p5srqnnhn5l0b2f5csbvyz8hmmh"))))
(version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/g-golf.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1pkcij65zy2lkip5yrfzj85nq17pp9mrf0d4sk6hpjqr4kd0bxd5"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -3009,20 +3042,20 @@ in C using Gtk+-3 and WebKitGtk.")
(license license:gpl3+)))
(define-public emacsy-minimal
(let ((commit "v0.4.1-28-gd459ca1"))
(let ((commit "v0.4.1-31-g415d96f"))
(package
(inherit emacsy)
(name "emacsy-minimal")
(version (string-drop commit 1))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/emacsy.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1ps15w8cxj9kc18gmvys9jv9xa1qqa7m43ismv34l3cmhddrn0sr"))))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/emacsy.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1cs1i1hxwrv0a512j54yrvfh743nci1chx6qjgp4jyzq98ncvxgg"))))
(build-system gnu-build-system)
(inputs
`(("guile" ,guile-2.2)
@ -3033,10 +3066,10 @@ in C using Gtk+-3 and WebKitGtk.")
`(#:configure-flags '("--without-examples")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'setenv
(lambda _
(setenv "GUILE_AUTO_COMPILE" "0")
#t))))))))
(add-before 'configure 'setenv
(lambda _
(setenv "GUILE_AUTO_COMPILE" "0")
#t))))))))
(define-public guile-jpeg
(let ((commit "6a1673578b297c2c1b28e44a76bd5c49e76a5046")
@ -3075,16 +3108,16 @@ perform geometrical transforms on JPEG images.")
(define-public nomad
(package
(name "nomad")
(version "0.2.0-alpha")
(version "0.2.0-alpha-100-g6a565d3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/nomad.git")
(url "https://git.savannah.gnu.org/git/nomad.git/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1z2z5x37v1qrk2vb8qlz2yj030iirzzd0maa9fjxzlqkrg6krbaj"))))
"0anmprm63a88kii251rl296v1g4iq62r6n4nssx5jbc0hzkknanz"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@ -3095,36 +3128,35 @@ perform geometrical transforms on JPEG images.")
("guile" ,guile-2.2)
("glib:bin" ,glib "bin")
("texinfo" ,texinfo)
("gettext" ,gnu-gettext)
("perl" ,perl)))
(inputs
`(("guile" ,guile-2.2)
`(;; Guile
("guile" ,guile-2.2)
("guile-lib" ,guile2.2-lib)
("guile-readline" ,guile2.2-readline)
("guile-gcrypt" ,guile2.2-gcrypt)
("gnutls" ,gnutls)
("g-golf" ,g-golf)
("shroud" ,shroud)
("emacsy" ,emacsy-minimal)
;; Gtk
("glib" ,glib)
("dbus-glib" ,dbus-glib)
("glib-networking" ,glib-networking)
("gtk+" ,gtk+)
("gtk+:bin" ,gtk+ "bin")
("gtksourceview" ,gtksourceview)
("webkitgtk" ,webkitgtk)
("g-golf" ,g-golf)
("xorg-server" ,xorg-server)))
(propagated-inputs
`(("glib" ,glib)
("glib-networking" ,glib-networking)
("gtksourceview" ,gtksourceview)
("vte" ,vte)
;; Gstreamer
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("gst-plugins-good" ,gst-plugins-good)
("gst-plugins-bad" ,gst-plugins-bad)
("gst-plugins-ugly" ,gst-plugins-ugly)
("gtk+" ,gtk+)
("gtksourceview" ,gtksourceview)
("vte" ,vte)
("webkitgtk" ,webkitgtk)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
;; Util
("xorg-server" ,xorg-server)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
@ -3142,49 +3174,40 @@ perform geometrical transforms on JPEG images.")
#t))
(add-after 'install 'wrap-binaries
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(gio-deps (map (cut assoc-ref inputs <>)
'("glib-networking"
"glib"
"gstreamer"
"gst-plugins-base"
"gst-plugins-good"
"gst-plugins-bad"
"gst-plugins-ugly")))
(gio-mod-path (map (cut string-append <>
"/lib/gio/modules")
gio-deps))
(effective (read-line (open-pipe*
OPEN_READ
"guile" "-c"
"(display (effective-version))")))
(deps (map (cut assoc-ref inputs <>)
'("emacsy" "guile-lib" "guile-readline"
"g-golf" "shroud")))
(scm-path (map (cut string-append <>
"/share/guile/site/" effective)
`(,out ,@deps)))
(go-path (map (cut string-append <>
"/lib/guile/" effective "/site-ccache")
`(,out ,@deps)))
(progs (map (cut string-append out "/bin/" <>)
'("nomad"))))
(map (cut wrap-program <>
`("GIO_EXTRA_MODULES" ":" prefix ,gio-mod-path)
`("GUILE_LOAD_PATH" ":" prefix ,scm-path)
`("GUILE_LOAD_COMPILED_PATH" ":"
prefix ,go-path))
progs)
(let* ((out (assoc-ref outputs "out"))
(effective (read-line (open-pipe*
OPEN_READ
"guile" "-c"
"(display (effective-version))")))
(gst-plugins (map (lambda (i)
(string-append (assoc-ref inputs i)
"/lib/gstreamer-1.0"))
`("gstreamer"
"gst-plugins-base"
"gst-plugins-good"
"gst-plugins-bad"
"gst-plugins-ugly")))
(out-append (lambda (. args)
(apply string-append out args)))
(gi-path (out-append "/lib/girepository-1.0"))
(load-path (out-append "/share/guile/site/" effective))
(comp-path (out-append "/lib/guile/"
effective "/site-ccache"))
(ext-path (out-append "/libexec/nomad")))
(wrap-program (string-append out "/bin/nomad")
`("GUILE_LOAD_PATH" ":" prefix
(,load-path
,(getenv "GUILE_LOAD_PATH")))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,comp-path
,(getenv "GUILE_LOAD_COMPILED_PATH")))
`("GI_TYPELIB_PATH" ":" prefix
(,gi-path ,(getenv "GI_TYPELIB_PATH")))
`("GIO_EXTRA_MODULES" ":" prefix
(,(getenv "GIO_EXTRA_MODULES")))
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix ,gst-plugins)
`("NOMAD_WEB_EXTENSION_DIR" ":" prefix (,ext-path)))
#t))))))
(native-search-paths
(list (search-path-specification
(variable "GI_TYPELIB_PATH")
(separator ":")
(files '("lib/girepository-1.0")))
(search-path-specification
(variable "NOMAD_WEB_EXTENSION_DIR")
(separator ":")
(files '("libexec/nomad")))))
(home-page "https://savannah.nongnu.org/projects/nomad/")
(synopsis "Extensible Web Browser in Guile Scheme")
(description "Nomad is a Emacs-like web browser that consists of a modular
@ -3844,3 +3867,141 @@ between data, in a way that is very similar to WikiData or RDF for instance.
An object can have relations (in the form of an IRI) that relates it to one or
more objects or strings, represented by a Json object or an IRI.")
(license license:gpl3+)))
(define-public guile-struct-pack
(package
(name "guile-struct-pack")
(version "1.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/weinholt/struct-pack")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hd72m821pahjphzyjn26i55542v8makr55xzjll2cycja4wsbc1"))))
(build-system guile-build-system)
(arguments
`(#:compile-flags '("--r6rs" "-Wunbound-variable" "-Warity-mismatch")
#:modules ((guix build guile-build-system)
(guix build utils)
(srfi srfi-26)
(ice-9 ftw))
#:phases (modify-phases %standard-phases
(add-before 'build 'move-sls-files
(lambda _
;; Move files under a struct/ directory to reflect the
;; module hierarchy.
(define dst-folder "struct")
(define (target file)
(string-append dst-folder "/" file))
(define files
(scandir "." (negate (cut member <> '("." "..")))))
(mkdir dst-folder)
(for-each (lambda (file)
(rename-file file (target file)))
files)
#t)))))
(native-inputs
`(("guile" ,guile-3.0)))
(home-page "https://github.com/weinholt/struct-pack")
(synopsis "R6RS library for working with packed byte structures")
(description
"This is an R6RS library for working with packed byte structures. It is
similar to struct in Python or pack and unpack in Perl.")
(license license:expat)))
(define-public guile-machine-code
(package
(name "guile-machine-code")
(version "2.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/weinholt/machine-code")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wzj3caj2jypzyjqfkfqkvr3kkbjabsnhldv9kvnx9w9qnria5yd"))))
(build-system guile-build-system)
(arguments
`(#:compile-flags '("--r6rs" "-Wunbound-variable" "-Warity-mismatch")
#:modules ((guix build guile-build-system)
(guix build utils)
(srfi srfi-26)
(ice-9 ftw))
#:phases (modify-phases %standard-phases
(add-before 'build 'move-sls-files
(lambda _
;; Move files under a struct/ directory to reflect the
;; module hierarchy.
(define dst-folder "machine-code")
(define (target file)
(string-append dst-folder "/" file))
(define files
(scandir "." (negate (cut member <> '("." "..")))))
(mkdir dst-folder)
(for-each (lambda (file)
(rename-file file (target file)))
files)
#t)))))
(native-inputs
`(("guile" ,guile-3.0)))
(propagated-inputs
`(("guile-struct-pack" ,guile-struct-pack)))
(home-page "https://github.com/weinholt/machine-code")
(synopsis "Tools that relate to machine code and object formats")
(description
"This project is about the development of tools that relate to machine
code and object formats; for all architectures. Here you'll find libraries
for working with binary code: assembly, disassembly, instruction tables,
object formats and related areas.")
(license license:expat)))
(define-public guile-laesare
(package
(name "guile-laesare")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/weinholt/laesare")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15q619gzw717r8r1ql23zfdaibpnp9qqs96032vdc3rj74msxc92"))))
(build-system guile-build-system)
(arguments
`(#:compile-flags '("--r6rs" "-Wunbound-variable" "-Warity-mismatch")
#:modules ((guix build guile-build-system)
(guix build utils)
(srfi srfi-26)
(ice-9 ftw))
#:phases (modify-phases %standard-phases
(add-before 'build 'move-sls-files
(lambda _
;; Move files under a laesare directory to reflect
;; the module hierarchy.
(define dst-folder "laesare")
(define (target file)
(string-append dst-folder "/" file))
(define files
(scandir "." (negate (cut member <> '("." "..")))))
(mkdir dst-folder)
(for-each (lambda (file)
(rename-file file (target file)))
files)
#t)))))
(native-inputs
`(("guile" ,guile-3.0)))
(home-page "https://github.com/weinholt/laesare")
(synopsis "R6RS Scheme library that provides a reader")
(description
"This is an R6RS Scheme library that provides a reader with some extra
features not found in the standard read procedure such as a compatible mode
with support for other RnRS standards and a tolerant mode that continues on
errors.")
(license license:expat)))

View File

@ -12,7 +12,7 @@
;;; Copyright © 2019, 2020 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015 John Soo <jsoo1@asu.edu>
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
;;; Copyright © 2020 Brian Leung <bkleung89@gmail.com>
;;;
@ -339,18 +339,18 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
(version "8.20200810")
(version "8.20200908")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32 "1wy6ckcf5f6m94gakg1504h1zryail3mmj85sglq03s45vawjcg6"))))
(base32 "1113inl10f4m0699ba2zglaqlfqvwhqjkqg6r6m1d5rqv5brswb1"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
'("--flags=-Android -Assistant -Pairing -Webapp -WebDAV")
'("--flags=-Android -Assistant -Pairing -Webapp")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-shell-for-tests
@ -448,6 +448,7 @@ to @code{cabal repl}).")
("ghc-crypto-api" ,ghc-crypto-api)
("ghc-cryptonite" ,ghc-cryptonite)
("ghc-data-default" ,ghc-data-default)
("ghc-dav" ,ghc-dav)
("ghc-disk-free-space" ,ghc-disk-free-space)
("ghc-dlist" ,ghc-dlist)
("ghc-edit-distance" ,ghc-edit-distance)
@ -627,7 +628,7 @@ and mIRC chat codes.")
(define-public kmonad
(package
(name "kmonad")
(version "0.3.0")
(version "0.4.0")
(source
(origin
(method git-fetch)
@ -636,7 +637,7 @@ and mIRC chat codes.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1g40nkpldih6h1rlxjx5yf9iavr3qs1f2b6j0gd8135p5hkg8d8n"))))
(base32 "064gnzzcm6fnxfiildbjmgbdxkhqvp61zrl6qhkl1pgbn27j1mll"))))
(build-system haskell-build-system)
(arguments
`(#:phases
@ -661,7 +662,7 @@ and mIRC chat codes.")
(doc (string-append out "/share/doc/kmonad-" ,version)))
(install-file "README.md" doc)
(copy-recursively "doc" doc)
(copy-recursively "example" (string-append doc "/example"))
(copy-recursively "keymap" (string-append doc "/keymap"))
#t))))))
(inputs
`(("ghc-cereal" ,ghc-cereal)
@ -670,6 +671,8 @@ and mIRC chat codes.")
("ghc-lens" ,ghc-lens)
("ghc-megaparsec" ,ghc-megaparsec)
("ghc-optparse-applicative" ,ghc-optparse-applicative)
("ghc-resourcet" ,ghc-resourcet)
("ghc-rio" ,ghc-rio)
("ghc-unagi-chan" ,ghc-unagi-chan)
("ghc-unliftio" ,ghc-unliftio)
("ghc-unordered-containers" ,ghc-unordered-containers)))

View File

@ -9,6 +9,7 @@
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1945,3 +1946,38 @@ as frontend to hjsmin.")
"This package provides a data type and ToJSON/FromJSON instances for
Bower's package manifest file, bower.json.")
(license license:expat)))
(define-public ghc-dav
(package
(name "ghc-dav")
(version "1.3.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/DAV/DAV-"
version ".tar.gz"))
(sha256
(base32 "1isvi4fahq70lzxfz23as7qzkc01g7kba568l6flrgd0j1984fsy"))))
(build-system haskell-build-system)
(inputs
`(("ghc-case-insensitive" ,ghc-case-insensitive)
("ghc-data-default" ,ghc-data-default)
("ghc-exceptions" ,ghc-exceptions)
("ghc-http-client" ,ghc-http-client)
("ghc-http-client-tls" ,ghc-http-client-tls)
("ghc-http-types" ,ghc-http-types)
("ghc-lens" ,ghc-lens)
("ghc-transformers-base" ,ghc-transformers-base)
("ghc-transformers-compat" ,ghc-transformers-compat)
("ghc-utf8-string" ,ghc-utf8-string)
("ghc-xml-conduit" ,ghc-xml-conduit)
("ghc-xml-hamlet" ,ghc-xml-hamlet)
("ghc-network" ,ghc-network)
("ghc-network-uri" ,ghc-network-uri)
("ghc-optparse-applicative" ,ghc-optparse-applicative)))
(home-page "http://floss.scru.org/hDAV")
(synopsis "RFC 4918 WebDAV support")
(description "This package provides a library for the Web Distributed
Authoring and Versioning (WebDAV) extensions to HTTP as well an executable,
@command{hdav}, for command-line operation.")
(license license:gpl3)))

View File

@ -20,7 +20,7 @@
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
;;; Copyright © 2019,2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2019, 2020 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 JoJo <jo@jo.zone>
@ -14712,6 +14712,30 @@ the @code{conduit} package.")
documents.")
(license license:expat)))
(define-public ghc-xml-hamlet
(package
(name "ghc-xml-hamlet")
(version "0.5.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/xml-hamlet/"
"xml-hamlet-" version ".tar.gz"))
(sha256
(base32 "0jrhcjy7ww59dafg857f2g2df1fw2jmbwcs1q379ph0pc5rxj3lj"))))
(build-system haskell-build-system)
(inputs
`(("ghc-shakespeare" ,ghc-shakespeare)
("ghc-xml-conduit" ,ghc-xml-conduit)))
(native-inputs
`(("ghc-hspec" ,ghc-hspec)
("ghc-hunit" ,ghc-hunit)))
(home-page "https://www.yesodweb.com/")
(synopsis "Hamlet-style quasiquoter for XML content")
(description "This package provides a type-safe tool for generating XML
code via quasi-quoting built on top of @code{ghc-shakespeare}.")
(license license:bsd-3)))
(define-public ghc-yaml
(package
(name "ghc-yaml")

View File

@ -27,6 +27,7 @@
(define-module (gnu packages kde-frameworks)
#:use-module (guix build-system cmake)
#:use-module (guix build-system qt)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@ -57,6 +58,7 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages image)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages kde-plasma)
#:use-module (gnu packages libreoffice)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
@ -325,6 +327,63 @@ It is the default icon theme for the KDE Plasma 5 desktop.")
;; text.
(license license:lgpl3+)))
(define-public breeze-assets
(package
(inherit breeze-icons)
(name "breeze-assets")
(version "5.19.5")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kde/stable/plasma/" version
"/breeze-" version ".tar.xz"))
(sha256
(base32
"0dpk1w7zcafrzf46j060i1qb0fwqpsflkfzr6gcar81llmjnc4b1"))))
(inputs
`(,@(package-inputs breeze-icons)
("ki18n" ,ki18n)
("kpackage" ,kpackage)
("kguiaddons" ,kguiaddons)
("kdecoration" ,kdecoration)
("kcoreaddons" ,kcoreaddons)
("kiconthemes" ,kiconthemes)
("kwindowsystem" ,kwindowsystem)
("kconfigwidgets" ,kconfigwidgets)
("qtx11extras" ,qtx11extras)))
(home-page "https://github.com/KDE/breeze")
(synopsis "Artwork, styles and assets for the Breeze visual style")
(description "This package contains artwork, styles and assets associated
with the Breeze visual style.")
(license license:gpl2+)))
(define-public breeze
(package
(name "breeze")
(version (package-version breeze-assets))
(source #f)
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build union))
#:builder
(begin
(use-modules (ice-9 match)
(guix build union))
(match %build-inputs
(((names . directories) ...)
(union-build (assoc-ref %outputs "out")
directories)
#t)))))
(inputs
`(("breeze-icons" ,breeze-icons)
("breeze-assets" ,breeze-assets)))
(home-page "https://github.com/KDE/breeze-icons")
(synopsis "Full KDE Breeze theme")
(description
"This package contains the full Breeze visual style for KDE:
assets and icons.")
(license (list license:gpl2 license:gpl3+))))
(define-public kapidox
(package
(name "kapidox")

View File

@ -355,7 +355,7 @@ This package is part of the KDE multimedia module.")
("libiconv" ,libiconv)
("libkcddb" ,libkcddb)
("libmad" ,libmad)
("libmpcdec" ,libmpcdec) ;; FIXME: why does cmake not find this?
("libmpcdec" ,libmpcdec)
;;("libmusicbrainz" ,libmusicbrainz) ; wants old version 2
("libsamplerate" ,libsamplerate)
("libsndfile" ,libsndfile)
@ -366,7 +366,8 @@ This package is part of the KDE multimedia module.")
("shared-mime-info" ,shared-mime-info)
("solid" ,solid)
("sox" ,sox)
("taglib" ,taglib)))
("taglib" ,taglib)
("zlib" ,zlib)))
(home-page "https://kde.org/applications/multimedia/org.kde.k3b")
(synopsis "Sophisticated CD/DVD burning application")
(description "K3b is CD-writing software which intends to be feature-rich

View File

@ -4,6 +4,7 @@
;;; Copyright © 2018 Nikita <nikita@n0.is>
;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@ -23,14 +24,17 @@
(define-module (gnu packages language)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages audio)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages java)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages man)
#:use-module (gnu packages ocr)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages swig)
@ -1057,3 +1061,46 @@ labelled links connecting pairs of words. The parser also produces a
\"constituent\" (HPSG style phrase tree) representation of a sentence (showing
noun phrases, verb phrases, etc.).")
(license bsd-3)))
(define-public praat
(package
(name "praat")
(version "6.1.16")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/praat/praat")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1rx4qvl0dd85x0r6pl0zk4bysx9ykxl05kywjr4pyvv6dvpswkrm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f; no test target
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(copy-file "makefiles/makefile.defs.linux.pulse" "makefile.defs")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(mkdir-p bin)
(copy-file "praat" (string-append bin "/praat")))
#t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
("gtk" ,gtk+-2)
("jack" ,jack-1)
("publesaudio" ,pulseaudio)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.fon.hum.uva.nl/praat/")
(synopsis "Doing phonetics by computer")
(description "Praat is a tool to perform phonetics tasks. It can do speach
analysis (pitch, formant, intensity, ...), speach synthesis, labeling, segmenting
and manipulation.")
(license gpl2+)))

View File

@ -762,14 +762,14 @@ from the old StarOffice (.sdc, .sdw, ...).")
(define-public libwps
(package
(name "libwps")
(version "0.4.10")
(version "0.4.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/"
name "-" version "/" name "-" version ".tar.xz"))
(sha256 (base32
"1ji9zd4wxmas03g8jyx0ih0amrqfazm5874a2v9rd7va50sf088l"))))
"1nsfacqp5sfkyayw7q0wp68lidksd1wjdix8qmsbf0vdl19gn6p2"))))
(build-system gnu-build-system)
(native-inputs
`(("doxygen" ,doxygen)

View File

@ -195,7 +195,7 @@ defconfig. Return the appropriate make target if applicable, otherwise return
(method url-fetch)
(uri (string-append "https://linux-libre.fsfla.org"
"/pub/linux-libre/releases/" version "-gnu/"
"deblob-" (version-major+minor version)))
"deblob-" version))
(file-name (string-append "linux-libre-deblob-"
(version-major+minor version)))
(sha256 deblob-hash))
@ -204,46 +204,9 @@ defconfig. Return the appropriate make target if applicable, otherwise return
(uri (string-append "https://linux-libre.fsfla.org"
"/pub/linux-libre/releases/" version "-gnu/"
"deblob-check"))
(file-name (string-append "linux-libre-deblob-check-"
(version-major+minor version)))
(file-name (string-append "linux-libre-deblob-check-" version))
(sha256 deblob-check-hash))))
(define deblob-scripts-5.8
(linux-libre-deblob-scripts
"5.8.6"
(base32 "07z7sglyrfh0706icqqf3shadf638pvyid9386r661ds5lbsa2mw")
(base32 "0j6jba5fcddqlb42f95gjl78jisfla4nswqila074gglcrbnl9q7")))
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
"5.4.62"
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
(base32 "1b3q88i2qfdxyvpi9f7jds0qlb8hfpw87mgia096ax6822c2cmyb")))
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
"4.19.143"
(base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy")
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
"4.14.196"
(base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6")
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
"4.9.235"
(base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg")
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
"4.4.235"
(base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw")
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define* (computed-origin-method gexp-promise hash-algo hash
#:optional (name "source")
#:key (system (%current-system))
@ -384,39 +347,69 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(sha256 hash)))
(define-public linux-libre-5.8-version "5.8.6")
;; The current "stable" kernel. That is, the most recently released major
;; version.
(define-public linux-libre-5.8-version "5.8.8")
(define deblob-scripts-5.8
(linux-libre-deblob-scripts
"5.8.7"
(base32 "07z7sglyrfh0706icqqf3shadf638pvyid9386r661ds5lbsa2mw")
(base32 "0j6jba5fcddqlb42f95gjl78jisfla4nswqila074gglcrbnl9q7")))
(define-public linux-libre-5.8-pristine-source
(let ((version linux-libre-5.8-version)
(hash (base32 "180bka8a0f2ykaifgb323pzgh0n909mlrsk08l08zmifggnh19cc")))
(hash (base32 "0xm901zvvrwsb9k88la6pb65nybi43bygiyz1z68njwsx6ripxik")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.8)))
(define-public linux-libre-5.4-version "5.4.62")
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.4-version "5.4.64")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
"5.4.63"
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
(base32 "1b3q88i2qfdxyvpi9f7jds0qlb8hfpw87mgia096ax6822c2cmyb")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0w49y8lymz23x4mr5byaxnrkhm56lwfhnqkra07hqyfr5y63v216")))
(hash (base32 "1vymhl6p7i06gfgpw9iv75bvga5sj5kgv46i1ykqiwv6hj9w5lxr")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.143")
(define-public linux-libre-4.19-version "4.19.144")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
"4.19.143"
(base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy")
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1383yfwb962mhn25b3b3zqrwnpyp01g5xclsv14wra0fdz33ahra")))
(hash (base32 "0jnj65bdy5y9lcj5zhrn4iaszpww8z41ac66j00l75sd931l1g9k")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.196")
(define-public linux-libre-4.14-version "4.14.197")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
"4.14.196"
(base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6")
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "16mhqymwkgqi8zalcij5c754smc8ysvfw6l2cwshr4scipsv4qay")))
(hash (base32 "029h46yki2hxdbn7afmnf3yar1pnwrpszx76irsa5mf8gnrasyp0")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.235")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
(base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg")
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "1hqcb3zw4546h6x5xy2mywdznha8813lx15mxbgfbvwm4qhsc9g6")))
@ -425,6 +418,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.235")
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
linux-libre-4.4-version
(base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw")
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
(hash (base32 "0w5pkv936zb0shjgnpv17gcp5n8f91djznzq54p6j1bl5q2qdyqd")))
@ -7521,3 +7519,30 @@ tracing (uprobes), and tracepoints. The bpftrace language is inspired by awk
and C, and predecessor tracers such as DTrace and SystemTap. bpftrace was
created by Alastair Robertson.")
(license license:asl2.0)))
(define-public ttyebus-linux-module
(let ((revision "0")
(commit "fe4332a2281cf79804ef4d8516aa848ca1c58d1f"))
(package
(name "ttyebus-linux-module")
(version (git-version "1.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eBUS/ttyebus.git")
(commit "fe4332a2281cf79804ef4d8516aa848ca1c58d1f")))
(file-name (git-file-name name version))
(sha256
(base32
"1i66xjs9vln5cca6wx7aiiw7jihrlsk9hjdqyczp36fvm1b1bani"))))
(supported-systems '("armhf-linux" "aarch64-linux"))
(build-system linux-module-build-system)
(arguments
`(#:tests? #f))
(home-page "https://github.com/eBUS/ttyebus")
(synopsis "Low-latency Raspberry Pi UART driver")
(description "This package provides a Linux kernel module that will
provide a serial device @code{/dev/ttyebus} with almost no latency upon
receiving. It is dedicated to the PL011 UART of the Raspberry Pi.")
(license license:gpl3+))))

File diff suppressed because it is too large Load Diff

View File

@ -78,21 +78,10 @@
#:use-module (gnu packages xorg)
#:use-module (ice-9 match))
(define (asdf-substitutions lisp)
;; Prepend XDG_DATA_DIRS/LISP-bundle-systems to ASDF's
;; 'default-system-source-registry'.
`((("\\(,dir \"systems/\"\\)\\)")
(format #f
"(,dir \"~a-bundle-systems\")))
,@(loop :for dir :in (xdg-data-dirs \"common-lisp/\")
:collect `(:directory (,dir \"systems\"))"
,lisp))))
(define-public cl-asdf
(package
(name "cl-asdf")
(version "3.3.3")
(version "3.3.4")
(source
(origin
(method url-fetch)
@ -100,7 +89,7 @@
(string-append "https://common-lisp.net/project/asdf/archives/asdf-"
version ".lisp"))
(sha256
(base32 "18lr6kxvzhr79c9rx3sdricz30aby866fj0m24w27zxsqlyvn3rd"))))
(base32 "1hpx30f6yrak15nw992k7x3pn75ahvjs04n4f134k68mhgs62km2"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils)
@ -112,9 +101,29 @@
(let* ((out (string-append (assoc-ref %outputs "out")))
(asdf-install (string-append out %source-install-prefix
"/source/asdf/"))
(asdf (string-append (assoc-ref %build-inputs "source"))))
(src-asdf (string-append (assoc-ref %build-inputs "source")))
(dst-asdf (string-append asdf-install "asdf.lisp")))
(mkdir-p asdf-install)
(copy-file asdf (string-append asdf-install "asdf.lisp"))))))
(copy-file src-asdf dst-asdf)
;; Patch ASDF to make it read the configuration files in all
;; the direcories listed in '$XDG_CONFIG_DIRS' instead of just
;; the first.
(substitute* dst-asdf
(("\\(xdg-config-pathname \\*source-registry-directory\\* direction\\)")
"`(:source-registry
,@(loop
for dir in (xdg-config-dirs
\"common-lisp/source-registry.conf.d/\")
collect `(:include ,dir))
:inherit-configuration)")
(("\\(xdg-config-pathname \\*output-translations-directory\\* direction\\)")
"`(:output-translations
,@(loop
for dir in (xdg-config-dirs
\"common-lisp/asdf-output-translations.conf.d/\")
collect `(:include ,dir))
:inherit-configuration)")))
#t)))
(home-page "https://common-lisp.net/project/asdf/")
(synopsis "Another System Definition Facility")
(description
@ -261,10 +270,7 @@ interface to the Tk widget system.")
"/share/common-lisp/source/asdf/asdf.lisp"))
(out (string-append (assoc-ref outputs "out")))
(contrib-asdf "contrib/asdf/asdf.lisp"))
(copy-file guix-asdf contrib-asdf)
;; Add ecl-bundle-systems to 'default-system-source-registry'.
(substitute* contrib-asdf
,@(asdf-substitutions name)))
(copy-file guix-asdf contrib-asdf))
#t))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
@ -298,7 +304,10 @@ interface to the Tk widget system.")
(native-search-paths
(list (search-path-specification
(variable "XDG_DATA_DIRS")
(files '("share")))))
(files '("share")))
(search-path-specification
(variable "XDG_CONFIG_DIRS")
(files '("etc")))))
(home-page "http://ecls.sourceforge.net/")
(synopsis "Embeddable Common Lisp")
(description "ECL is an implementation of the Common Lisp language as
@ -437,9 +446,7 @@ an interpreter, a compiler, a debugger, and much more.")
"/share/common-lisp/source/asdf/asdf.lisp"))
(out (string-append (assoc-ref outputs "out")))
(contrib-asdf "contrib/asdf/asdf.lisp"))
(copy-file guix-asdf contrib-asdf)
(substitute* contrib-asdf
,@(asdf-substitutions name)))
(copy-file guix-asdf contrib-asdf))
#t))
(add-before 'build 'patch-unix-tool-paths
(lambda* (#:key outputs inputs #:allow-other-keys)
@ -546,7 +553,10 @@ an interpreter, a compiler, a debugger, and much more.")
(native-search-paths
(list (search-path-specification
(variable "XDG_DATA_DIRS")
(files '("share")))))
(files '("share")))
(search-path-specification
(variable "XDG_CONFIG_DIRS")
(files '("etc")))))
(home-page "http://www.sbcl.org/")
(synopsis "Common Lisp implementation")
(description "Steel Bank Common Lisp (SBCL) is a high performance Common

View File

@ -0,0 +1,86 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages loko)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages package-management)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages chez))
(define-public loko-scheme
(package
(name "loko-scheme")
(version "0.6.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/weinholt/loko")
(commit (string-append "v" version))))
(sha256
(base32 "019jlh3lywy912cfz689c9fxgf4bi5700i9k04g7sl5w5gchj36m"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(;; r7rs tests are still failing as of 0.6.0.
#:tests? #f
#:strip-binaries? #f
#:make-flags
(let ((out (assoc-ref %outputs "out")))
(list
(string-append "PREFIX=" out)
(string-append "GDB_AUTOLOAD_PATH=" out "/share/gdb/auto-load")))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'akku-fixes
(lambda* (#:key inputs #:allow-other-keys)
(delete-file "Akku.lock")
(substitute* "Akku.manifest"
(("\\(depends.*") "(depends)"))
(invoke "akku" "install")
(let ((dest "./.akku/lib/")
(source "/share/guile/site/3.0/"))
(for-each
(lambda (name)
;; Symlink the scheme libraries so that Akku can find them
(symlink (string-append (assoc-ref inputs name) source name)
(string-append dest name)))
'("struct" "laesare" "pfds" "machine-code")))
(substitute* ".akku/env"
(("/bin/sh") (which "sh")))
#t)))))
(native-inputs
`(("akku" ,akku)
("chez-scheme" ,chez-scheme)
("struct" ,guile-struct-pack)
("laesare" ,guile-laesare)
("pfds" ,guile-pfds)
("machine-code" ,guile-machine-code)))
(home-page "https://scheme.fail")
(synopsis "Implementation of the algorithmic language Scheme")
(description
"Loko Scheme is intended to be a platform for application and operating
system development. It is written purely in Scheme and some assembler
(i.e. no C code at the bottom). Both the R6RS and the R7RS standards are
supported.")
(license license:agpl3+)))

View File

@ -591,7 +591,8 @@ of other programs.")
("qtsvg" ,qtsvg)
("qtx11extras" ,qtx11extras)
("solid" ,solid)
("xcb-util" ,xcb-util)))
("xcb-util" ,xcb-util)
("xkeyboard-config" ,xkeyboard-config)))
(native-inputs
`(("pkg-config" ,pkg-config)
("lxqt-build-tools" ,lxqt-build-tools)
@ -619,7 +620,15 @@ of other programs.")
(("\\$\\{LXQT_TRANSLATIONS_DIR\\}")
(string-append (assoc-ref outputs "out")
"/share/lxqt/translations")))
#t)))))
#t))
(add-after 'unpack 'set-xkeyboard-config-file-path
(lambda* (#:key inputs #:allow-other-keys)
;; Set the path to xkeyboard-config.
(let ((xkb (assoc-ref inputs "xkeyboard-config")))
(substitute* "plugin-kbindicator/src/x11/kbdlayout.cpp"
(("/usr/share/X11/xkb/rules/evdev.xml")
(string-append xkb "/share/X11/xkb/rules/evdev.xml")))
#t))))))
(home-page "https://lxqt.github.io")
(synopsis "The LXQt desktop panel")
(description "lxqt-panel represents the taskbar of LXQt.")

View File

@ -660,42 +660,6 @@ synchronization, thread-safety, concurrent data structures, and non-blocking
I/O.")
(license license:asl2.0)))
(define-public r-adaptivesparsity
(package
(name "r-adaptivesparsity")
(version "1.6")
(source (origin
(method url-fetch)
(uri (cran-uri "AdaptiveSparsity" version))
(sha256
(base32
"0imr5m8mll9j6n4icsv6z9rl5kbnwsp9wvzrg7n90nnmcxq2cz91"))))
(properties
`((upstream-name . "AdaptiveSparsity")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'link-against-armadillo
(lambda _
(substitute* "src/Makevars"
(("PKG_LIBS=" prefix)
(string-append prefix "-larmadillo"))))))))
(propagated-inputs
`(("r-mass" ,r-mass)
("r-matrix" ,r-matrix)
("r-rcpp" ,r-rcpp)
("r-rcpparmadillo" ,r-rcpparmadillo)))
(inputs
`(("armadillo" ,armadillo)))
(home-page "https://cran.r-project.org/web/packages/AdaptiveSparsity")
(synopsis "Adaptive sparsity models")
(description
"This package implements the Figueiredo machine learning algorithm for
adaptive sparsity and the Wong algorithm for adaptively sparse gaussian
geometric models.")
(license license:lgpl3+)))
(define-public gemmlowp-for-tensorflow
;; The commit hash is taken from "tensorflow/workspace.bzl".
(let ((commit "38ebac7b059e84692f53e5938f97a9943c120d98")

View File

@ -395,7 +395,7 @@ to run without any changes.")
(define-public fetchmail
(package
(name "fetchmail")
(version "6.4.11")
(version "6.4.12")
(source
(origin
(method url-fetch)
@ -403,7 +403,7 @@ to run without any changes.")
(version-major+minor version) "/"
"fetchmail-" version ".tar.xz"))
(sha256
(base32 "177276dha2pchsvlki0skf460kmjnixqmzc6nj33fz4hd7c1sj1y"))))
(base32 "11s83af63gs9nnrjb66yq58xriyvi8hzj4ykxp3kws5z3nby111b"))))
(build-system gnu-build-system)
(inputs
`(("openssl" ,openssl)))
@ -928,20 +928,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
(version "0.30-0.31rc1") ; Ensure it is ordered before "0.31"
(version "0.31")
(source (origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
;; version
"0.31~rc1" ;FIXME: Remove on the next update
".tar.xz"))
;; FIXME: The 'file-name' field below is needed only because of
;; the tilde "~" in the URL base name. Remove it when the tilde
;; is no longer there.
(file-name (string-append name "-" version ".tar.xz"))
version ".tar.xz"))
(sha256
(base32
"11f10r9pp3p22afpfsrlz0xa0raas4w7fg2jkscgkjj5710ws8fw"))))
"1543l57viqzqikjgfzp2abpwz3p0k2iq0b1b3wmn31lwaghs07sp"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@ -973,7 +967,7 @@ invoking @command{notifymuch} from the post-new hook.")
(string-append "--emacsetcdir=" elisp)))))
(add-before 'check 'disable-failing-tests
;; FIXME: Investigate why these tests are failing,
;; and try removing this for notmuch versions >= 0.31.
;; and try removing this for notmuch versions > 0.31.
(lambda _
(substitute* "test/T356-protected-headers.sh"
(("\\$NOTMUCH_GMIME_X509_CERT_VALIDITY") "0"))
@ -1149,7 +1143,7 @@ useful features.")
(define-public libetpan
(package
(name "libetpan")
(version "1.9.3")
(version "1.9.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1157,7 +1151,7 @@ useful features.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "19g4qskg71jv7sxfxsdkjmrxk9mk5kf9b6fhw06g6wvm3205n95f"))))
(base32 "0g7an003simfdn7ihg9yjv7hl2czsmjsndjrp39i7cad8icixscn"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf-wrapper)
("automake" ,automake)

View File

@ -2668,7 +2668,7 @@ bindings to almost all functions of SLEPc.")
(define-public metamath
(package
(name "metamath")
(version "0.183")
(version "0.192")
(source
(origin
(method git-fetch)
@ -2677,7 +2677,7 @@ bindings to almost all functions of SLEPc.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jjf4fy6j53i40dh0yv0f9sngnw4gs24cig99vsg3q0303pwrhg7"))))
(base32 "1k31zw36h2b0w5r6sbn9qc0v4hj42vw53qlhf5l7q2h3p5qlzvic"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)

View File

@ -80,6 +80,7 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages mpd)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages pcre)
@ -94,6 +95,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
@ -120,6 +122,59 @@
#:use-module (guix packages)
#:use-module (guix utils))
(define-public poezio
(package
(name "poezio")
(version "0.13.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://lab.louiz.org/poezio/poezio.git")
(commit
(string-append "v" version))))
(file-name
(git-file-name name version))
(sha256
(base32 "041y61pcbdb86s04qwp8s1g6bp84yskc7vdizwpi2hz18y01x5fy"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
(substitute* "setup.py"
(("'CC', 'cc'")
"'CC', 'gcc'"))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-setuptools" ,python-setuptools)
("python-sphinx" ,python-sphinx)))
(inputs
`(("python-mpd2" ,python-mpd2)
("python-potr" ,python-potr)
("python-pyasn1" ,python-pyasn1)
("python-pyasn1-modules" ,python-pyasn1-modules)
("python-pygments" ,python-pygments)
("python-pyinotify" ,python-pyinotify)
;("python" ,python)
("python-qrcode" ,python-qrcode)
("python-slixmpp" ,python-slixmpp)))
(synopsis "Console Jabber/XMPP Client")
(description "Poezio is a free console XMPP client (the protocol on which
the Jabber IM network is built).
Its goal is to let you connect very easily (no account creation needed) to the
network and join various chatrooms, immediately. It tries to look like the
most famous IRC clients (weechat, irssi, etc). Many commands are identical and
you won't be lost if you already know these clients. Configuration can be
made in a configuration file or directly from the client.
You'll find the light, fast, geeky and anonymous spirit of IRC while using a
powerful, standard and open protocol.")
(home-page "https://poez.io/en/")
(license license:zlib)))
(define-public libotr
(package
(name "libotr")
@ -593,14 +648,14 @@ compromised.")
(define-public znc
(package
(name "znc")
(version "1.8.1")
(version "1.8.2")
(source (origin
(method url-fetch)
(uri (string-append "https://znc.in/releases/archive/znc-"
version ".tar.gz"))
(sha256
(base32
"0hb1v167aa6gv5bcwz352l6b8gnd74ymjw92y4x882l099hzg59i"))))
"03fyi0j44zcanj1rsdx93hkdskwfvhbywjiwd17f9q1a7yp8l8zz"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@ -1575,15 +1630,14 @@ protocol allows.")
(define-public mcabber
(package
(name "mcabber")
(version "1.1.0")
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://mcabber.com/files/"
name "-" version ".tar.bz2"))
(sha256
(base32
"1ggh865p1rf10ffsnf4g6qv9i8bls36dxdb1nzs5r9vdqci2rz04"))))
(base32 "0ngrcc8nzpzk4vw36ni3w073149zsi0yjh922xy9cy5a7srwx2fp"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list "--enable-otr"
@ -2043,13 +2097,13 @@ QMatrixClient project.")
(define-public hangups
(package
(name "hangups")
(version "0.4.10")
(version "0.4.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hangups" version))
(sha256
(base32 "0ww9z9kcb02pwnr8q1ll31wkzspc1fci1ly8ifrwzxysp4rxy3j5"))))
(base32 "165lravvlsgkv6pp3vgg785ihycvs43qzqxw2d2yygrc6pbhqlyv"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -2294,4 +2348,33 @@ as well as on desktop platforms. It's based on libpurple and ModemManager.")
(home-page "https://source.puri.sm/Librem5/chatty")
(license license:gpl3+)))
(define-public mosquitto
(package
(name "mosquitto")
(version "1.6.12")
(source
(origin
(method url-fetch)
(uri (string-append "https://mosquitto.org/files/source/mosquitto-"
version ".tar.gz"))
(sha256
(base32
"1yq7y329baa1ly488rw125c3mvsnsa7kjkik602xv1xpkz8p73al"))))
(build-system cmake-build-system)
(inputs
`(("openssl" ,openssl)))
(synopsis "Message broker")
(description "This package provides Eclipse Mosquitto, a message broker
that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1. Mosquitto
is lightweight and is suitable for use on all devices from low power single
board computers to full servers.
The MQTT protocol provides a lightweight method of carrying out messaging
using a publish/subscribe model. This makes it suitable for Internet of
Things messaging such as with low power sensors or mobile devices such
as phones, embedded computers or microcontrollers.")
(home-page "https://mosquitto.org/")
;; Dual licensed.
(license (list license:epl1.0 license:edl1.0))))
;;; messaging.scm ends here

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,7 +30,7 @@
(define-public moreutils
(package
(name "moreutils")
(version "0.63")
(version "0.64")
(source
(origin
(method url-fetch)
@ -42,8 +42,7 @@
"http://drabczyk.org/"
name "-" version ".tar.gz")))
(sha256
(base32
"07c3wqf1sx3nhj4cs71a9ajcfl6arjjvvnhwqz7a0xm2m1b6vj2g"))))
(base32 "1v3hazb9i5y6b3vx4giiszvc2zk2pjjvq88xlk1maasw5ia07lpy"))))
(build-system gnu-build-system)
;; For building the manual pages.
(native-inputs

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2017, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
@ -174,7 +174,18 @@ a highly stable and efficient implementation.")
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; Tests are not ran with BUILD_SHARED_LIBS on.
#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")
#:phases (modify-phases %standard-phases
(add-before 'configure 'adjust-zlib-ldflags
(lambda* (#:key inputs #:allow-other-keys)
;; Make sure users of 'taglib-config --libs' get the -L
;; flag for zlib.
(substitute* "CMakeLists.txt"
(("set\\(ZLIB_LIBRARIES_FLAGS -lz\\)")
(string-append "set(ZLIB_LIBRARIES_FLAGS \"-L"
(assoc-ref inputs "zlib")
"/lib -lz\")")))
#t)))))
(inputs `(("zlib" ,zlib)))
(home-page "https://taglib.org")
(synopsis "Library to access audio file meta-data")

View File

@ -504,7 +504,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(define-public hydrogen
(package
(name "hydrogen")
(version "1.0.0")
(version "1.0.1")
(source
(origin
(method git-fetch)
@ -513,7 +513,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1kwlqfah0yk135i0rzmbbgnqdzxrzg9yslii5asl4ip9x4dc1w3r"))))
(base32 "0snljpvbcgikhz610c325dgvayi0k512p3bglck9vvi90wsqx7l1"))))
(build-system cmake-build-system)
(arguments
`(#:test-target "tests"
@ -1231,7 +1231,7 @@ device supports.")
(define-public bsequencer
(package
(name "bsequencer")
(version "1.2.0")
(version "1.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1240,7 +1240,7 @@ device supports.")
(file-name (git-file-name name version))
(sha256
(base32
"08xwz5v8wrar0rx7qdr9pkpjz2k9sw6bn5glhpn6sp6453fabf8q"))))
"0w21kzq695xy4i1r6xvvh7sad5m0rlmdgc7ykmrlzfsm1252dz80"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@ -1266,17 +1266,17 @@ with a selectable pattern matrix size.")
(package
(inherit bsequencer)
(name "bchoppr")
(version "1.4.2")
(version "1.8.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sjaehn/BChoppr")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ympx0kyn3mkb23xgd44rlrf4qnngnlkmikz9syhayklgax7ijgm"))))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sjaehn/BChoppr")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1nd6byy75f0rbz9dm9drhxmpsfhxhg0y7q3v2m3098llynhy9k2j"))))
(synopsis "Audio stream-chopping LV2 plugin")
(description "B.Choppr cuts the audio input stream into a repeated
sequence of up to 16 chops. Each chop can be leveled up or down (gating).
@ -1307,17 +1307,17 @@ B.Choppr is the successor of B.Slizr.")
(package
(inherit bsequencer)
(name "bjumblr")
(version "0.2")
(version "1.4.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sjaehn/BJumblr")
(commit (string-append "v" version))))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"14z8113zkwykbhm1a8h2xs972dgifvlfij92b08jckyc7cbz84ys"))))
"0kl6hrxmqrdf0195bfnzsa2h1073fgiqrfhg2276fm1954sm994v"))))
(inputs
`(("cairo", cairo)
("libsndfile", libsndfile)
@ -1328,6 +1328,47 @@ re-sequencer LV2 plugin.")
(home-page "https://github.com/sjaehn/BJumblr")
(license license:gpl3+)))
(define-public bschaffl
(package
(inherit bsequencer)
(name "bschaffl")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sjaehn/BSchaffl")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1c09acqrbd387ba41f8ch1qykdap5h6cg9if5pgd16i4dmjnpghj"))))
(inputs
`(("cairo", cairo)
("fontconfig" ,fontconfig)
("libsndfile", libsndfile)
("libx11" ,libx11)
("lv2", lv2)))
(home-page "https://github.com/sjaehn/BSchaffl")
(synopsis "Pattern-controlled MIDI amp & time stretch LV2 plugin")
(description "This package provides an LV2 plugin that allows for
pattern-controlled MIDI amp & time stretching to produce shuffle / swing
effects.
Key features include:
@enumerate
@item MIDI velocity amplification and timing manipulation plugin
@item Swing and shuffle rhythms
@item Pre-generator dynamics
@item Tempo rubato
@item Pattern (sliders) or shape-controlled
@item MIDI filters
@item Smart quantization
@end itemize
")
(license license:gpl3+)))
(define-public solfege
(package
(name "solfege")
@ -1410,46 +1451,42 @@ your own lessons.")
(license license:gpl3+)))
(define-public powertabeditor
;; This commit is after the switch from catch2 to doctest; I couldn't build
;; powertabeditor with catch2.
(let ((commit "c5d39b25b75bf87ec693a3ac5018823b1d87f277")
(revision "1"))
(package
(name "powertabeditor")
(version (git-version "2.0.0-alpha12" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/powertab/powertabeditor")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"16qhqfvk14bp7s8cwr8ds8zfd80pq603d7aymr7967pnb49kic5z"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check (lambda _ (invoke "bin/pte_tests"))))))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
("minizip" ,minizip)
("pugixml" ,pugixml)
("qtbase" ,qtbase)
("rapidjson" ,rapidjson)
("rtmidi" ,rtmidi)
("timidity" ,timidity++)
("zlib" ,zlib)))
(native-inputs
`(("doctest" ,doctest)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/powertab/powertabedito")
(synopsis "Guitar tablature editor")
(description
"Power Tab Editor 2.0 is the successor to the famous original Power Tab
(package
(name "powertabeditor")
(version "2.0.0-alpha13")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/powertab/powertabeditor")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"12il5xzgg53ick5k4ivvvqdagld5pgigiiz6s829kkdaymqr7vx5"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check (lambda _ (invoke "bin/pte_tests"))))))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
("minizip" ,minizip)
("pugixml" ,pugixml)
("qtbase" ,qtbase)
("rapidjson" ,rapidjson)
("rtmidi" ,rtmidi)
("timidity" ,timidity++)
("zlib" ,zlib)))
(native-inputs
`(("doctest" ,doctest)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/powertab/powertabedito")
(synopsis "Guitar tablature editor")
(description
"Power Tab Editor 2.0 is the successor to the famous original Power Tab
Editor. It is compatible with Power Tab Editor 1.7 and Guitar Pro.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public jalv-select
(package
@ -1501,7 +1538,7 @@ users to select LV2 plugins and run them with jalv.")
(define-public synthv1
(package
(name "synthv1")
(version "0.9.16")
(version "0.9.17")
(source (origin
(method url-fetch)
(uri
@ -1509,7 +1546,7 @@ users to select LV2 plugins and run them with jalv.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
"1k5sm6s2d5di5yk0bxwy3nizq9m1ym46b4qz2m45nm3zspkbzybp"))))
"0jc2drk5dzsaa6vxmk1hyi0zp02zm3mzar3arssfy5vcyc5ig6sk"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -1533,7 +1570,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
(version "0.9.16")
(version "0.9.17")
(source (origin
(method url-fetch)
(uri
@ -1541,7 +1578,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
"1r55575w9r0ifysw9mgxjvv0fszvx8ykjgim3zczf3mb5s9ngavv"))))
"198fyc5dwjn679si86vy139ngym4n3mdy1z4vfjikn7b6mriq1x2"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -1566,7 +1603,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
(version "0.9.16")
(version "0.9.17")
(source (origin
(method url-fetch)
(uri
@ -1574,7 +1611,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
"0k5vpjd4wv7h0s3f7gg07a2ksw0b010yvkwmadzzvv2qfb928grm"))))
"1v21r722m027jjy4x6lm5cvzapsnpx36r10ar543ay0hgmygl322"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -1599,7 +1636,7 @@ effects.")
(define-public padthv1
(package
(name "padthv1")
(version "0.9.16")
(version "0.9.17")
(source (origin
(method url-fetch)
(uri
@ -1607,7 +1644,7 @@ effects.")
"/padthv1-" version ".tar.gz"))
(sha256
(base32
"1f2v60dpja0rnml60g463fjiz0f84v32yjwpvr56z79h1i6fssmv"))))
"098fk8fwcgssnfr1gilqg8g17zvch62lrn3rqsswpzbr3an5adb3"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -1617,7 +1654,7 @@ effects.")
("alsa-lib" ,alsa-lib)
("non-session-manager" ,non-session-manager)
("liblo" ,liblo)
("fftw" ,fftw)
("fftwf" ,fftwf)
("qtbase" ,qtbase)))
(native-inputs
`(("pkg-config" ,pkg-config)
@ -4993,7 +5030,7 @@ applications.")
(define-public sherlock-lv2
(package
(name "sherlock-lv2")
(version "0.20.0")
(version "0.24.0")
(source
(origin
(method url-fetch)
@ -5003,10 +5040,11 @@ applications.")
version ".tar.xz"))
(sha256
(base32
"1c5xajpss9h8lbyx160bbzg8va50n2d74qwnxig9sf468rzmha1y"))))
"08gjfx7vrsx9zvj04j8cr3vscxmq6jr2hbdi6dfgp1l1dnnpxsgq"))))
(build-system meson-build-system)
(inputs
`(("libx11" ,libx11)
`(("glu" ,glu)
("libx11" ,libx11)
("mesa" ,mesa)
("sratom" ,sratom)))
(native-inputs
@ -5019,6 +5057,49 @@ and debugging of event signal flows inside plugin graphs.")
(home-page "https://open-music-kontrollers.ch/lv2/sherlock/")
(license license:artistic2.0)))
(define-public foo-yc20
(package
(name "foo-yc20")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/sampov2/foo-yc20/releases/download/"
version "/foo-yc20-" version ".tar.bz2"))
(sha256
(base32
"1drzfyr7mzb58pdv0gsqkg6ds6kbgp6g25rrv1yya1611cljgvjh"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:tests? #f ; no automated test
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(substitute* "Makefile"
(("-mtune=native") "")
(("-march=native") ""))
#t)))))
(inputs
`(("jack" ,jack-1)
("lv2" ,lv2)
("cairo" ,cairo)
("gtk" ,gtk+-2)))
(native-inputs
`(("faust" ,faust)
("pkg-config" ,pkg-config)))
(home-page "https://foo-yc20.codeforcode.com/")
(synopsis "Implementation of Yamaha YC-20 combo organ from 1969")
(description "This is a Faust implementation of a 1969 designed Yamaha
combo organ, the YC-20. This package provides an LV2 plugin and a standalone
version. Processing for the organ is based on original schematics and
measurements from a working specimen. This instrument simulates the circutry
as a whole to realisticly reproduce the features and flaws of the real deal.")
;; Note that after 1.3.0 the license was changed.
(license license:gpl3+)))
(define-public spectacle-analyzer
(package
(name "spectacle-analyzer")
@ -5169,7 +5250,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
(define-public geonkick
(package
(name "geonkick")
(version "1.10.0")
(version "2.3.7")
(source
(origin
(method git-fetch)
@ -5179,7 +5260,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
(file-name (git-file-name name version))
(sha256
(base32
"1a59wnm4035kjhs66hihlkiv45p3ffb2yaj1awvyyi5f0lds5zvh"))))
"1wdcbwiyy6i5agq5lffkyilyc8mv1cc4mp9h0nybn240vb2flqc2"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no tests included
@ -5198,6 +5279,8 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.")
("rapidjson" ,rapidjson)))
(native-inputs
`(("lv2" ,lv2)
;; Fails with default gcc (#include <filesystem> not found).
("gcc" ,gcc-9)
("pkg-config" ,pkg-config)
("sord" ,sord)))
(synopsis "Percussion synthesizer")
@ -5419,7 +5502,7 @@ plugin support, JACK support and chord assistance.")
(define-public dragonfly-reverb
(package
(name "dragonfly-reverb")
(version "3.0.0")
(version "3.2.1")
(source
(origin
(method git-fetch)
@ -5431,7 +5514,7 @@ plugin support, JACK support and chord assistance.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "1z2x33lzpd26dv1p29ca7vy8mjfzkfpin35iq46spwd9k3sqn1ja"))))
(base32 "0vfm2510shah67k87mdyar4wr4vqwii59y9lqfhwm6blxparkrqa"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target

View File

@ -2107,14 +2107,14 @@ HTTP proxies.")
(define-public enet
(package
(name "enet")
(version "1.3.15")
(source (origin
(method url-fetch)
(uri (string-append "http://enet.bespin.org/download/"
"enet-" version ".tar.gz"))
(sha256
(base32
"1yxxf9bkx6dx3j8j70fj17c05likyfibb1419ls74hp58qrzdgas"))))
(version "1.3.16")
(source
(origin
(method url-fetch)
(uri (string-append "http://enet.bespin.org/download/"
"enet-" version ".tar.gz"))
(sha256
(base32 "1lggc82rbzscci057dqqyhkbq4j6mr5k01hbrvn06jkzc2xpxdxv"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -3428,14 +3428,14 @@ maximum extent possible.")
(define-public batctl
(package
(name "batctl")
(version "2020.1")
(version "2020.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://downloads.open-mesh.org/batman/releases/batman-adv-"
version "/batctl-" version ".tar.gz"))
(sha256
(base32 "0fy252q1my3a57v6pfz8i97h6zv7v03di01dhwjkj47pqnx1rqm3"))))
(base32 "0r2w2v4sy6wgr7mp9lc7yj9k4ldsbsm3425rjil7p0b17zmzf4rm"))))
(inputs
`(("libnl" ,libnl)))
(native-inputs
@ -3461,7 +3461,7 @@ module @code{batman-adv}, for Layer 2.")
(define-public pagekite
(package
(name "pagekite")
(version "1.5.2.200603")
(version "1.5.2.200725")
(source
(origin
(method git-fetch)
@ -3470,7 +3470,7 @@ module @code{batman-adv}, for Layer 2.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08rcyr54dssnpand6y26f8x9cjmd91hr44my08kxw70s5iqiwizv"))))
(base32 "0lig1i42bn9isw848vnml5qhcaa04x1dr2hb075bm0a3439kv3rr"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -3673,15 +3673,14 @@ thousands of connections is clearly realistic with today's hardware.")
(define-public lldpd
(package
(name "lldpd")
(version "1.0.5")
(version "1.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://media.luffy.cx/files/lldpd/lldpd-"
version ".tar.gz"))
(sha256
(base32
"16fbqrs3l976gdslx647nds8x7sz4h5h3h4l4yxzrayvyh9b5lrd"))
(base32 "1v5fd8vwxracvzvgrsswvhppwyx5c4srj89g1cnvy73w831mpq95"))
(modules '((guix build utils)))
(snippet
'(begin
@ -3762,3 +3761,28 @@ hashcash stamps efficiently.
This package contains a command-line tool for computing and verifying hashcash
stamps.")
(license license:public-domain)))
(define-public nbd
(package
(name "nbd")
(version "3.20")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/nbd/nbd/3.20/nbd-" version
".tar.xz"))
(sha256
(base32
"1kfnyx52nna2mnw264njk1dl2zc8m78sz031yp65mbmpi99v7qg0"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)))
(native-inputs
`(("pkg-config" ,pkg-config)
("which" ,which)))
(home-page "https://nbd.sourceforge.io/")
(synopsis "NBD client and server")
(description "This package provides the NBD (Network Block Devices)
client and server. It allows you to use remote block devices over a TCP/IP
network.")
(license license:gpl2)))

View File

@ -25,6 +25,7 @@
(define-module (gnu packages node)
#:use-module ((guix licenses) #:select (expat))
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix download)
@ -47,14 +48,14 @@
(define-public node
(package
(name "node")
(version "10.22.0")
(version "10.20.0")
(source (origin
(method url-fetch)
(uri (string-append "https://nodejs.org/dist/v" version
"/node-v" version ".tar.xz"))
(sha256
(base32
"1nz18fa550li10r0kzsm28c2rvvq61nq8bqdygip0rmvbi2paxg0"))
"0cvjwnl0wkcsyw3kannbdv01s235wrnp11n2s6swzjx95gpichfi"))
(modules '((guix build utils)))
(snippet
`(begin
@ -186,7 +187,7 @@
("http-parser" ,http-parser)
("icu4c" ,icu4c)
("libuv" ,libuv)
("nghttp2" ,nghttp2-1.41 "lib")
("nghttp2" ,nghttp2 "lib")
("openssl" ,openssl)
("zlib" ,zlib)))
(synopsis "Evented I/O for V8 JavaScript")
@ -200,6 +201,24 @@ devices.")
(properties '((max-silent-time . 7200) ;2h, needed on ARM
(timeout . 21600))))) ;6h
;; TODO: Make this the default node on core-updates. This cannot be done on
;; master since this version of node requires a newer nghttp2 library at link
;; time.
(define-public node-10.22
(package
(inherit node)
(version "10.22.0")
(source (origin
(inherit (package-source node))
(uri (string-append "https://nodejs.org/dist/v" version
"/node-v" version ".tar.xz"))
(sha256
(base32
"1nz18fa550li10r0kzsm28c2rvvq61nq8bqdygip0rmvbi2paxg0"))))
(inputs
(alist-replace "nghttp2" (list nghttp2-1.41 "lib")
(package-inputs node)))))
(define-public libnode
(package
(inherit node)

View File

@ -1148,15 +1148,15 @@ for packaging and deployment of cross-compiled Windows applications.")
(define-public libostree
(package
(name "libostree")
(version "2020.5")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/ostreedev/ostree/releases/download/v"
(version-major+minor version) "/libostree-" version ".tar.xz"))
(sha256
(base32
"1k92177hjalbdpmg45ymwwrni68vh9rs5x9zvy5fzl9lng12fgpb"))))
(version "2020.6")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/ostreedev/ostree/releases/download/v"
(version-major+minor version) "/libostree-" version ".tar.xz"))
(sha256
(base32 "0wk9fgj9jl25ns2hcgcb6j24k5mvfn13b02ka0p8l4hdh8c4hpc6"))))
(build-system gnu-build-system)
(arguments
'(#:phases

View File

@ -719,7 +719,7 @@ using password-store through rofi interface:
(define-public browserpass-native
(package
(name "browserpass-native")
(version "3.0.6")
(version "3.0.7")
(source
(origin
(method git-fetch)
@ -729,7 +729,7 @@ using password-store through rofi interface:
(file-name (git-file-name name version))
(sha256
(base32
"0q3bsla07zjl6i69nj1axbkg2ia89pvh0jg6nlqgbm2kpzzbn0pz"))))
"1jkjslbbac49xjyjkc2b07phdm3i64z40kh6h55cl22dxjmpp1nb"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/browserpass/browserpass-native"

View File

@ -0,0 +1,24 @@
commit 6574665f9d6c0757e8f55ccb465afbcaa90bf019
Author: Timotej Lazar <timotej.lazar@araneo.si>
Date: Wed Aug 19 19:36:02 2020 +0200
test: normalize flags reported by dumpe2fs
Filesystem flags depend on the system usually signed_directory_hash,
but unsigned_directory_hash at least on arm64.
Signed-off-by: Timotej Lazar <timotej.lazar@araneo.si>
diff --git a/test/basic-images.test b/test/basic-images.test
index f6685e1..cb104c3 100755
--- a/test/basic-images.test
+++ b/test/basic-images.test
@@ -158,6 +158,8 @@ check_ext() {
# format change
csum2="Group 0: (Blocks 1-4095) \\[ITABLE_ZEROED\\]\| Checksum .*, unused inodes 205"
dumpe2fs "${1}" | grep -v "^\($uuid\|$seed\|$csum1\|$csum2\)" > "dump" &&
+ # some architectures (including arm64) use unsigned char
+ sed -i 's/un\(signed_directory_hash\)/\1/' "dump" &&
# fixup for ext3 journal size with old tune2fs
sed -i 's/^\(Journal size: \)1029k$/\11024k/' "dump" &&
# output format changed with some version

View File

@ -1,70 +0,0 @@
commit 52ebece1243ae6900e414b6248b5145a28348eef
Author: Guillaume Le Vaillant <glv@posteo.net>
Date: Fri Oct 18 15:41:23 2019 +0200
Use basic ASDF system definitions instead of package-inferred-system
diff --git a/graph.asd b/graph.asd
index 193b6e3..56afc8f 100644
--- a/graph.asd
+++ b/graph.asd
@@ -3,12 +3,10 @@
:version "0.0.0"
:author ("Eric Schulte <schulte.eric@gmail.com>" "Thomas Dye")
:licence "GPL V3"
- :class :package-inferred-system
- :defsystem-depends-on (:asdf-package-system)
+ :in-order-to ((test-op (test-op graph-test)))
:depends-on (alexandria
metabang-bind
named-readtables
curry-compose-reader-macros
- graph/graph))
-
-(register-system-packages "femlisp-matlisp" '(:fl.matlisp))
+ cl-heap)
+ :components ((:file "graph")))
diff --git a/graph-dot.asd b/graph-dot.asd
new file mode 100644
index 0000000..12aec7e
--- /dev/null
+++ b/graph-dot.asd
@@ -0,0 +1,8 @@
+(defsystem :graph-dot
+ :depends-on (alexandria
+ metabang-bind
+ named-readtables
+ curry-compose-reader-macros
+ cl-ppcre
+ graph)
+ :components ((:file "dot")))
diff --git a/graph-json.asd b/graph-json.asd
new file mode 100644
index 0000000..e7d091f
--- /dev/null
+++ b/graph-json.asd
@@ -0,0 +1,8 @@
+(defsystem :graph-json
+ :depends-on (alexandria
+ metabang-bind
+ named-readtables
+ curry-compose-reader-macros
+ yason
+ graph)
+ :components ((:file "json")))
diff --git a/graph-test.asd b/graph-test.asd
new file mode 100644
index 0000000..1e811e1
--- /dev/null
+++ b/graph-test.asd
@@ -0,0 +1,10 @@
+(defsystem :graph-test
+ :depends-on (alexandria
+ metabang-bind
+ named-readtables
+ curry-compose-reader-macros
+ graph
+ stefil)
+ :perform (test-op (o s)
+ (uiop:symbol-call :graph/test 'test))
+ :components ((:file "test")))

View File

@ -848,6 +848,14 @@ using a stylus.")
(for-each (lambda (po) (chmod po #o666))
(find-files "." "\\.po$"))
#t))
;; Fix path to addr2line utility, which the crash reporter uses.
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/util/Stacktrace.cpp"
;; Match only the commandline.
(("\"addr2line ")
(string-append "\"" (which "addr2line") " ")))
#t))
(add-after 'install 'glib-or-gtk-wrap
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
(native-inputs

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Robin Templeton <robin@igalia.com>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,48 +25,9 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public libphutil
(let ((commit "b29d76e1709ef018cc5edc7c03033fd9fdebc578")
(revision "1"))
(package
(name "libphutil")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/phacility/libphutil")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"06j84721r9r8624fmil62b5crs2qs0v6rr3cvv2zvkvwhxwrwv1l"))))
(build-system gnu-build-system)
;; TODO: Unbundle jsonlint and porter-stemmer.
(arguments
'(#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(replace 'install
(lambda _
(let ((lib (string-append %output "/lib/libphutil")))
(mkdir-p lib)
(copy-recursively "." lib))
#t)))))
(inputs
`(("php" ,php)))
(home-page "https://github.com/phacility/libphutil")
(synopsis "PHP utility library")
(description
"@code{libphutil} is a collection of utility classes and functions for
PHP.")
;; Bundled libraries are expat-licensed.
(license (list license:asl2.0 license:expat)))))
(define-public arcanist
(let ((commit "45a8d22c74a62624e69f5cd6ce901c9ab2658904")
(revision "1"))
(let ((commit "ceb082ef6b2919d76a90d4a53ca84f5b1e0c2c06")
(revision "2"))
(package
(name "arcanist")
(version (git-version "0.0.0" revision commit))
@ -77,8 +39,9 @@ PHP.")
(file-name (git-file-name name version))
(sha256
(base32
"13vswhqy9sap6841y93j4mj71dl27vhcivcn3rzyi0cchkhg2ac9"))))
"16590nywh3cpm2yq4igw3nfa8g84kwza215mrnqr2k6b2cqzjak3"))))
(build-system gnu-build-system)
;; TODO: Unbundle jsonlint
(arguments
'(#:tests? #f
#:phases
@ -86,22 +49,20 @@ PHP.")
(delete 'configure)
(delete 'build)
(replace 'install
(lambda _
(let ((bin (string-append %output "/bin"))
(lib (string-append %output "/lib/arcanist")))
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib/arcanist")))
(mkdir-p lib)
(copy-recursively "." lib)
(mkdir-p bin)
(symlink (string-append lib "/bin/arc")
(string-append bin "/arc"))
(wrap-program (string-append bin "/arc")
`("ARC_PHUTIL_PATH" =
(,(string-append (assoc-ref %build-inputs "libphutil")
"/lib/libphutil")))
`("PATH" ":" prefix
(,@(map (lambda (i)
(string-append (assoc-ref %build-inputs i) "/bin"))
'("git" "mercurial" "subversion"))))))
'("php" "git" "mercurial" "subversion"))))))
#t))
(add-before 'reset-gzip-timestamps 'make-compressed-files-writable
(lambda _
@ -110,7 +71,6 @@ PHP.")
#t)))))
(inputs
`(("php" ,php)
("libphutil" ,libphutil)
("git" ,git)
("mercurial" ,mercurial)
("subversion" ,subversion)))
@ -121,4 +81,8 @@ PHP.")
development service. It allows you to interact with Phabricator installs to
send code for review, download patches, transfer files, view status, make API
calls, and various other things.")
(license license:asl2.0))))
;; Bundled libraries are expat-licensed.
(license (list license:asl2.0 license:expat)))))
(define-public libphutil
(deprecated-package "libphutil" arcanist))

View File

@ -0,0 +1,70 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages piet)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (gnu packages gd)
#:use-module (gnu packages groff)
#:use-module (gnu packages image)
#:use-module (gnu packages tcl))
(define-public npiet
(package
(name "npiet")
(version "1.3f")
(source (origin
(method url-fetch)
(uri (string-append "https://www.bertnase.de/npiet/npiet-"
version ".tar.gz"))
(sha256
(base32
"0nl59fhdqqr7nslxdirdn8nvlq5wws67c7jyx2ckbmxbc9h8bv9d"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-binaries
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/npietedit")
`("PATH" ":" prefix (,(dirname (which "wish")))))
#t))))))
(inputs
`(("gd" ,gd)
("giflib" ,giflib)
("libpng" ,libpng)
("tk" ,tk)))
(native-inputs `(("groff" ,groff)))
(synopsis "Piet interpreter")
(description
"Npiet is an interpreter for the piet programming language. Instead of
text, piet programs are pictures. Commands are determined based on changes in
color.
This package includes:
@enumerate
@item npiet, a piet interpreter with debugging capabilities
@item npiet-foogol, a program that builds a piet program from foogol, an
algol-like language
@item npietedit, an editor for the piet programming language
@end enumerate")
(home-page "https://www.bertnase.de/npiet/")
(license license:gpl2+)))

View File

@ -247,14 +247,14 @@ seen in a terminal.")
(define-public highlight
(package
(name "highlight")
(version "3.54")
(version "3.58")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.andre-simon.de/zip/highlight-"
version ".tar.bz2"))
(sha256
(base32 "1l6nxk3vwd7rkxpq9aqisjyps89r008wzn3abh4566q6jigahl4a"))))
(base32 "1y25vc3nysdih4y9z6yqn1k3i6lgkbyqkmdaib2xyfpqw4djb06z"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests

View File

@ -698,6 +698,49 @@ rounds that are calibrated to the chosen timer.")
service processes for your tests with pytest.")
(license license:expat)))
(define-public python-pytest-toolbox
(package
(name "python-pytest-toolbox")
(version "0.4")
(source
(origin
;; No tests in the PyPI tarball.
(method git-fetch)
(uri (git-reference
(url "https://github.com/samuelcolvin/pytest-toolbox")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wqkr3g5gmqdxmhzfsxbwy8pm3cadaj6a8cxq58w9bacly4hqbh0"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make the installed plugin discoverable by Pytest.
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"))))))
(native-inputs
`(("python-coverage" ,python-coverage)
("python-docutils" ,python-docutils)
("python-flake8" ,python-flake8)
("python-isort" ,python-isort)
("python-pydantic" ,python-pydantic)
("python-pyflakes" ,python-pyflakes)
("python-pygments" ,python-pygments)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-isort" ,python-pytest-isort)
("python-pytest-mock" ,python-pytest-mock)
("python-pytest-sugar" ,python-pytest-sugar)))
(home-page "https://github.com/samuelcolvin/pytest-toolbox")
(synopsis "Numerous useful plugins for Pytest")
(description
"Pytest Toolbox contains many useful plugins for Pytest. Among them are
new fixtures, new methods and new comparison objects.")
(license license:expat)))
(define-public python-pytest-aiohttp
(package
(name "python-pytest-aiohttp")

View File

@ -64,6 +64,30 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (srfi srfi-1))
(define-public python-potr
(package
(name "python-potr")
(version "1.0.2")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/python-otr/pure-python-otr.git")
(commit version)))
(file-name
(git-file-name name version))
(sha256
(base32 "1hzw6h01fm216nmipyylgz0zybd80w1xsk12m7djycnhqrnrvvv1"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pycrypto" ,python-pycrypto)))
(synopsis "Python OTR Implementation")
(description "Python OTR is an Off-The-Record Protocol Implementation in
Python. It does not bind to libotr.")
(home-page "https://github.com/python-otr/pure-python-otr")
(license license:lgpl3+)))
(define-public python-base58
(package
(name "python-base58")

View File

@ -68,10 +68,12 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
#:use-module (gnu packages groff)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages serialization)
@ -184,7 +186,7 @@ aiohttp. It supports SOCKS4(a) and SOCKS5.")
(base32
"1snr5paql8dgvc676n8xq460wypjsb1xj53cf3px1s4wczf7lryq"))))
(build-system python-build-system)
(inputs
(propagated-inputs
`(("python-pycares" ,python-pycares)))
(arguments
`(#:tests? #f)) ;tests require internet access
@ -3892,6 +3894,43 @@ 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 python-uvloop
(package
(name "python-uvloop")
(version "0.14.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "uvloop" version))
(sha256
(base32 "07j678z9gf41j98w72ysrnb5sa41pl5yxd7ib17lcwfxqz0cjfhj"))))
(build-system python-build-system)
(arguments
'(#:tests? #f ;FIXME: tests hang and with some errors in the way
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'preparations
(lambda _
;; Use packaged libuv.
(substitute* "setup.py" (("self.use_system_libuv = False")
"self.use_system_libuv = True"))
#t)))))
(native-inputs
`(("python-aiohttp" ,python-aiohttp)
("python-cython" ,python-cython)
("python-flake8" ,python-flake8)
("python-psutil" ,python-psutil)
("python-pyopenssl" ,python-pyopenssl)
("python-twine" ,python-twine)))
(inputs
`(("libuv" ,libuv)))
(home-page "https://github.com/MagicStack/uvloop")
(synopsis "Fast implementation of asyncio event loop on top of libuv")
(description
"@code{uvloop} is a fast, drop-in replacement of the built-in asyncio
event loop. It is implemented in Cython and uses libuv under the hood.")
(license license:expat)))
(define-public gunicorn
(package
(name "gunicorn")
@ -3962,6 +4001,104 @@ and fairly speedy.")
(properties '((hidden? . #t)))
(native-inputs `())))
(define-public python-httptools
(package
(name "python-httptools")
(version "0.1.1")
(source
(origin
;; PyPI tarball comes with a vendored http-parser and no tests.
(method git-fetch)
(uri (git-reference
(url "https://github.com/MagicStack/httptools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0g08128x2ixsiwrzskxc6c8ymgzs39wbzr5mhy0mjk30q9pqqv77"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'preparations
(lambda _
;; Skip a failing test (AssertionError). Bug report:
;; https://github.com/MagicStack/httptools/issues/10.
(substitute* "tests/test_parser.py"
((" def test_parser_response_1")
(string-append
" @unittest.skip(\"Disabled.\")\n"
" def test_parser_response_1")))
;; Use packaged http-parser.
(substitute* "setup.py" (("self.use_system_http_parser = False")
"self.use_system_http_parser = True"))
;; This path is hardcoded. Hardcode our own.
(substitute* "httptools/parser/cparser.pxd"
(("../../vendor/http-parser")
(string-append (assoc-ref %build-inputs "http-parser")
"/include")))
;; Don't force Cython version.
(substitute* "setup.py" (("Cython==") "Cython>="))
#t)))))
(native-inputs
`(("python-cython" ,python-cython)
("python-pytest" ,python-pytest)))
(inputs
`(("http-parser" ,http-parser)))
(home-page "https://github.com/MagicStack/httptools")
(synopsis "Collection of framework independent HTTP protocol utils")
(description
"@code{httptools} is a Python binding for the nodejs HTTP parser.")
(license license:expat)))
(define-public python-uvicorn
(package
(name "python-uvicorn")
(version "0.11.8")
(source
(origin
;; PyPI tarball has no tests.
(method git-fetch)
(uri (git-reference
(url "https://github.com/encode/uvicorn")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "00iidg5ysp7k00bw3kmkvr8mghnh4jdi0p2ryiarhryf8wz2r3fy"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"))))))
(native-inputs
`(("python-black" ,python-black)
("python-codecov" ,python-codecov)
("python-flake8" ,python-flake8)
("python-isort" ,python-isort)
("python-mypy" ,python-mypy)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-mock" ,python-pytest-mock)
("python-requests" ,python-requests)))
(propagated-inputs
`(("python-click" ,python-click)
("python-h11" ,python-h11)
("python-httptools" ,python-httptools)
("python-pyyaml" ,python-pyyaml)
("python-uvloop" ,python-uvloop)
("python-watchgod" ,python-watchgod)
("python-websockets" ,python-websockets)
("python-wsproto" ,python-wsproto)))
(home-page "https://github.com/encode/uvicorn")
(synopsis "Fast ASGI server implementation")
(description
"@code{uvicorn} is a fast ASGI server implementation, using @code{uvloop}
and @code{httptools}. It currently supports HTTP/1.1 and WebSockets. Support
for HTTP/2 is planned.")
(license license:bsd-3)))
(define-public python-translation-finder
(package
(name "python-translation-finder")
@ -4175,6 +4312,168 @@ and serve updated contents upon changes to the directory.")
@acronym{TLS, Transport Layer Security} support.")
(license license:bsd-2)))
(define-public python-httpcore
(package
(name "python-httpcore")
(version "0.10.2")
(source
(origin
;; PyPI tarball does not contain tests.
(method git-fetch)
(uri (git-reference
(url "https://github.com/encode/httpcore")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "00gn8nfv814rg6fj7xv97mrra3fvx6fzjcgx9y051ihm6hxljdsi"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-unavailable-tests
(lambda _
;; These tests require 'mitmproxy' which is not packaged.
(for-each (lambda (f)
(delete-file f))
'("tests/conftest.py"
"tests/sync_tests/test_interfaces.py"
"tests/async_tests/test_interfaces.py"))
#t))
(add-after 'remove-unavailable-tests 'force-h11-version
;; Allow build with h11 >= 0.10.
(lambda _
(substitute* "setup.py" (("h11>=0.8,<0.10") "h11"))
#t))
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv" "--cov=httpcore"
"--cov=tests" "tests"))))))
(native-inputs
`(;; ("mitmproxy" ,mitmproxy) ;; TODO: Package this.
("python-autoflake" ,python-autoflake)
("python-flake8" ,python-flake8)
("python-flake8-bugbear" ,python-flake8-bugbear)
("python-flake8-pie" ,python-flake8-pie)
("python-isort" ,python-isort)
("python-mypy" ,python-mypy)
("python-pytest" ,python-pytest)
("python-pytest-asyncio" ,python-pytest-asyncio)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-trio" ,python-pytest-trio)
("python-uvicorn" ,python-uvicorn)
("python-trustme" ,python-trustme)))
(propagated-inputs
`(("python-h11" ,python-h11)
("python-h2" ,python-h2)
("python-sniffio" ,python-sniffio)
("python-trio" ,python-trio)
("python-trio-typing" ,python-trio-typing)))
(home-page "https://github.com/encode/httpcore")
(synopsis "Minimal, low-level HTTP client")
(description
"HTTP Core provides a minimal and low-level HTTP client, which does one
thing only: send HTTP requests.
Some things HTTP Core does do:
@itemize
@item Sending HTTP requests.
@item Provides both sync and async interfaces.
@item Supports HTTP/1.1 and HTTP/2.
@item Async backend support for asyncio and trio.
@item Automatic connection pooling.
@item HTTP(S) proxy support.
@end itemize")
(license license:bsd-3)))
(define-public python-httpx
(package
(name "python-httpx")
(version "0.14.3")
(source
(origin
;; PyPI tarball does not contain tests.
(method git-fetch)
(uri (git-reference
(url "https://github.com/encode/httpx")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0mn8gqkgaij3s2pbwgrih20iq34f3f82dfvypaw3nnh7n63vna43"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "pytest" "-vv" "-k"
;; This test tries to open an outgoing connection.
"not test_connect_timeout[asyncio]"))))))
(native-inputs
`(("python-autoflake" ,python-autoflake)
("python-black" ,python-black)
("python-cryptography" ,python-cryptography)
("python-flake8" ,python-flake8)
("python-flake8-bugbear" ,python-flake8-bugbear)
("python-flake8-pie" ,python-flake8-pie)
("python-isort" ,python-isort)
("python-mypy" ,python-mypy)
("python-pytest" ,python-pytest)
("python-pytest-asyncio" ,python-pytest-asyncio)
("python-pytest-trio" ,python-pytest-trio)
("python-pytest-cov" ,python-pytest-cov)
("python-trio" ,python-trio)
("python-trio-typing" ,python-trio-typing)
("python-trustme" ,python-trustme)
("python-uvicorn" ,python-uvicorn)))
(propagated-inputs
`(("python-brotli" ,python-brotli)
("python-certifi" ,python-certifi)
("python-chardet" ,python-chardet)
("python-httpcore" ,python-httpcore)
("python-idna" ,python-idna)
("python-rfc3986" ,python-rfc3986)
("python-sniffio" ,python-sniffio)))
(home-page "https://github.com/encode/httpx")
(synopsis "HTTP client for Python")
(description
"HTTPX is a fully featured HTTP client for Python 3, which provides sync
and async APIs, and support for both HTTP/1.1 and HTTP/2.
HTTPX builds on the well-established usability of requests, and gives you:
@itemize
@item A broadly requests-compatible API.
@item Standard synchronous interface, but with async support if you need it.
@item HTTP/1.1 and HTTP/2 support.
@item Ability to make requests directly to WSGI applications or ASGI applications.
@item Strict timeouts everywhere.
@item Fully type annotated.
@item 99% test coverage.
@end itemize
Plus all the standard features of requests:
@itemize
@item International Domains and URLs
@item Keep-Alive & Connection Pooling
@item Sessions with Cookie Persistence
@item Browser-style SSL Verification
@item Basic/Digest Authentication
@item Elegant Key/Value Cookies
@item Automatic Decompression
@item Automatic Content Decoding
@item Unicode Response Bodies
@item Multipart File Uploads
@item HTTP(S) Proxy Support
@item Connection Timeouts
@item Streaming Downloads
@item .netrc Support
@item Chunked Requests
@end itemize")
(license license:bsd-3)))
(define-public python-websockets
(package
(name "python-websockets")

View File

@ -123,6 +123,7 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gsasl)
@ -134,6 +135,7 @@
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libidn)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages man)
@ -188,6 +190,52 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
(define-public python-slixmpp
(package
(name "python-slixmpp")
(version "1.5.2")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://lab.louiz.org/poezio/slixmpp.git")
(commit
(string-append "slix-" version))))
(file-name
(git-file-name name version))
(sha256
(base32 "15mqxcws14bjvh5jcfwl86zsvrymkdw3ya07vb44md7vfnsnclwx"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
(substitute* "setup.py"
(("'CC', 'cc'")
"'CC', 'gcc'"))
#t)))))
(native-inputs
`(("cython" ,python-cython)
("gnupg" ,gnupg)
("pkg-config" ,pkg-config)))
(propagated-inputs
`(("python-aiodns" ,python-aiodns)
("python-aiohttp" ,python-aiohttp)
("python-pyasn1" ,python-pyasn1)
("python-pyasn1-modules" ,python-pyasn1-modules)))
(inputs
`(("libidn" ,libidn)
("python" ,python))) ; We are building a Python extension.
(synopsis "XMPP library without threads")
(description "Slixmpp is a XMPP library for Python 3.7+. It is a fork of
SleekXMPP. Its goal is to only rewrite the core of the library (the low level
socket handling, the timers, the events dispatching) in order to remove all
threads.")
(home-page "https://lab.louiz.org/poezio/slixmpp")
(license license:expat)))
(define-public python-tenacity
(package
(name "python-tenacity")
@ -8192,6 +8240,48 @@ expressions after the entire file has been read. This enables support for
first-class forward references that stub files use.")
(license license:expat)))
(define-public python-flake8-pie
(package
(name "python-flake8-pie")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "flake8-pie" version))
(sha256
(base32 "0kgipl5gljlp7aa7ykx15pswpzkd0d0qiznihb2z0d9a73181dyd"))))
(build-system python-build-system)
(home-page "https://github.com/sbdchd/flake8-pie")
(synopsis "Flake8 extension that implements lints")
(description
"This package provides a flake8 extension that implements miscellaneous
lints.")
(license license:bsd-2)))
(define-public python-autoflake
(package
(name "python-autoflake")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "autoflake" version))
(sha256
(base32 "0nzr057dbmgprp4a52ymafdkdd5zp2wcqf42913xc7hhvvdbj338"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pyflakes" ,python-pyflakes)))
(home-page "https://github.com/myint/autoflake")
(synopsis "Removes unused imports and unused variables")
(description
"@code{autoflake} removes unused imports and unused variables from Python
code as reported by @code{pyflakes}.
By default, it only removes unused imports for modules that are part of the
standard library. Removal of unused variables is also disabled by default.
It also removes useless @code{pass} statements.")
(license license:expat)))
(define-public python-mistune
(package
(name "python-mistune")
@ -9348,10 +9438,14 @@ Python's @code{ctypes} foreign function interface (FFI).")
(native-inputs (if (%current-target-system)
`(("self" ,this-package))
'()))
(synopsis "Python bindings to the libmagic file type guesser. Note that
this module and the python-magic module both provide a \"magic.py\" file;
these two modules, which are different and were developed separately, both
serve the same purpose: provide Python bindings for libmagic.")))
(synopsis "Python bindings to the libmagic file type guesser")
(description "This package provides Python bindings to the libmagic file
type guesser.
Note that this module and the @code{python-magic} module both provide a
@file{magic.py} file; these two modules, which are different and were
developed separately, both serve the same purpose: provide Python bindings for
libmagic.")))
(define-public python2-file
(package-with-python2 python-file))
@ -19228,6 +19322,54 @@ programs that do multiple things at the same time with parallelized I/O.")
;; Either license applies.
(license (list license:expat license:asl2.0))))
(define-public python-trio-typing
(package
(name "python-trio-typing")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "trio-typing" version))
(sha256
(base32 "1yvlj4vf3wyvp16dw6vyfm4i2idm8lvdc3fvjhi6mhm62zv7s07j"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
`(("python-attrs" ,python-attrs)
("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-mypy" ,python-mypy)
("python-mypy-extensions"
,python-mypy-extensions)
("python-trio" ,python-trio)
("python-typing-extensions"
,python-typing-extensions)))
(home-page "https://github.com/python-trio/trio-typing")
(synopsis "Static type checking support for Trio and related projects")
(description
"This package provides:
@itemize
@item PEP 561 typing stubs packages for the Trio project packages:
@itemize
@item trio (@code{trio-stubs})
@item outcome (@code{outcome-stubs})
@item async_generator (@code{async_generator-stubs})
@end itemize
@item A package @code{trio_typing} containing types that Trio programs often
want to refer to (@code{AsyncGenerator[Y, S]} and @code{TaskStatus[T])} and
a mypy plugin that smooths over some limitations in the basic type hints.
@end itemize")
;; Either license applies.
(license (list license:expat license:asl2.0))))
(define-public python-humanize
(package
(name "python-humanize")
@ -20354,6 +20496,49 @@ such as a file modification and trigger an action. This is similar to inotify,
but portable.")
(license license:asl2.0)))
(define-public python-watchgod
(package
(name "python-watchgod")
(version "0.6")
(source
(origin
;; There are no tests in the PyPI tarball.
(method git-fetch)
(uri (git-reference
(url "https://github.com/samuelcolvin/watchgod")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1lqx44wkryakgpyqj3m0hsz61bqr07vc7smgzh188374hwvscp66"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
`(("python-coverage" ,python-coverage)
("python-docutils" ,python-docutils)
("python-flake8" ,python-flake8)
("python-isort" ,python-isort)
("python-pycodestyle" ,python-pycodestyle)
("python-pyflakes" ,python-pyflakes)
("python-pygments" ,python-pygments)
("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)
("python-pytest-aiohttp" ,python-pytest-aiohttp)
("python-pytest-mock" ,python-pytest-mock)
("python-pytest-sugar" ,python-pytest-sugar)
("python-pytest-toolbox" ,python-pytest-toolbox)))
(home-page "https://github.com/samuelcolvin/watchgod")
(synopsis "Simple, modern file watching and code reload in Python")
(description
"Simple, modern file watching and code reload in Python inspired by
@code{watchdog}. Among the differences are a unified approach for each
operating systems and an elegant approach to concurrency using threading.")
(license license:expat)))
(define-public python-wget
(package
(name "python-wget")

View File

@ -4,6 +4,8 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -204,6 +206,34 @@ While it does not seek to mirror all of find's powerful functionality, it
provides defaults for 80% of the use cases.")
(license (list license:expat license:asl2.0))))
(define-public hexyl
(package
(name "hexyl")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "hexyl" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0sipag77196467idbznbk5q5lwhqz85zw7y1pwg9b27jxqyk04rp"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-ansi-term" ,rust-ansi-term-0.12)
("rust-atty" ,rust-atty-0.2)
("rust-clap" ,rust-clap-2)
("rust-libc" ,rust-libc-0.2))))
(home-page "https://github.com/sharkdp/hexyl")
(synopsis "Command-line hex viewer")
(description
"This package provides a command line hex viewer. It uses a colored output
for distinguishing different kinds of bytes such as NULL bytes, printable ASCII
characters, ASCII whitespace characters, other ASCII characters and non-ASCII.")
(license (list license:expat license:asl2.0))))
(define-public ripgrep
(package
(name "ripgrep")
@ -292,6 +322,21 @@ gitignore rules.")
"This package provides a tool for generating C/C++ bindings to Rust code.")
(license license:mpl2.0)))
(define-public rust-cbindgen-0.14
(package
(inherit rust-cbindgen)
(name "rust-cbindgen")
(version "0.14.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "cbindgen" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ppwqbzydxlg9a24lynzfk60xrvqw4k31mpz1wrk6lbf88zf8nxi"))))))
(define-public rust-cbindgen-0.12
(package
(inherit rust-cbindgen)

View File

@ -1312,5 +1312,9 @@ move around."
(string-append "#[ignore] " all)))
#t)))))))))
(define-public rust-1.46
(rust-bootstrapped-package rust-1.45 "1.46.0"
"0a17jby2pd050s24cy4dfc0gzvgcl585v3vvyfilniyvjrqknsid"))
;; TODO(staging): Bump this variable to the latest packaged rust.
(define-public rust rust-1.45)

View File

@ -513,13 +513,13 @@ ksh, and tcsh.")
(define-public xonsh
(package
(name "xonsh")
(version "0.9.20")
(version "0.9.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xonsh" version))
(sha256
(base32 "0yhf7vw8csk53cqxkgqbfmndl06x8pywnxylvriz3zql6hn416xf"))
(base32 "1mih5w73wp57fnf1vcxnfmm5d31vm7pz8fq5a9vw1ch3dv0yczl5"))
(modules '((guix build utils)))
(snippet
`(begin

View File

@ -88,7 +88,7 @@
(define-public pspp
(package
(name "pspp")
(version "1.4.0")
(version "1.4.1")
(source
(origin
(method url-fetch)
@ -96,7 +96,7 @@
version ".tar.gz"))
(sha256
(base32
"0gv6rd5nfn53wb40s8bi3gdidikb90v2lv331dn0pvb91h976433"))))
"0lqrash677b09zxdlxp89z6k02y4i23mbqg83956dwl69wc53dan"))))
(build-system gnu-build-system)
(inputs
`(("cairo" ,cairo)

View File

@ -183,7 +183,7 @@ file system, and many more features.")
(define-public liferea
(package
(name "liferea")
(version "1.12.8")
(version "1.12.9")
(source
(origin
(method url-fetch)
@ -191,7 +191,7 @@ file system, and many more features.")
"releases/download/v" version "/liferea-"
version ".tar.bz2"))
(sha256
(base32 "1xm5if831llkjcmbq4w9ssgqjgy3zlb5n9y7kh54xpy6afafbsh7"))))
(base32 "06ybr1wjlfir8iqjx6x0v1knd4b2hsy30qmkk4kssy6ky2ahc66q"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
@ -206,9 +206,9 @@ file system, and many more features.")
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
(python-path (getenv "PYTHONPATH")))
(wrap-program (string-append out "/bin/liferea")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
`("PYTHONPATH" ":" prefix (,python-path))))
#t)))))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
`("PYTHONPATH" ":" prefix (,python-path))))
#t)))))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")

View File

@ -7341,3 +7341,42 @@ collect all requests from all packages and write them to an external
XML file.
@end enumerate\n")
(license license:lppl1.3c))))
(define-public texlive-biblatex
(let ((template (simple-texlive-package
"texlive-biblatex"
(list "/doc/latex/biblatex/"
"/tex/latex/biblatex/")
(base32
"11kzvny50iklzkamr0rqd5x532q8rxny1xhmf96jl8mzj1d2zmay")
#:trivial? #t)))
(package
(inherit template)
(propagated-inputs
`(("texlive-logreq" ,texlive-logreq)
("texlive-url" ,texlive-url)))
(home-page "https://www.ctan.org/pkg/biblatex")
(synopsis "Sophisticated bibliographies in LaTeX")
(description "BibLaTeX is a complete reimplementation of the
bibliographic facilities provided by LaTeX. Formatting of the
bibliography is entirely controlled by LaTeX macros, facilitating the
design of new bibliography and citation styles. BibLaTeX uses its own
data backend program \"biber\" to read and process the bibliographic
data. With biber, the range of features provided by biblatex
includes:
@enumerate
@item
full unicode support,
@item
customisable bibliography labels,
@item
multiple bibliographies in the same document, and
@item
subdivided bibliographies, such as bibliographies per chapter or
section.
@end enumerate\n")
(license license:lppl1.3c))))

View File

@ -30,6 +30,7 @@
;;; Copyright © 2020 John D. Boy <jboy@bius.moe>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -52,6 +53,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
@ -1444,7 +1446,7 @@ control to Git repositories.")
(define-public pre-commit
(package
(name "pre-commit")
(version "2.6.0")
(version "2.7.1")
(source
(origin
;; No tests in the PyPI tarball.
@ -1454,7 +1456,7 @@ control to Git repositories.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "144hcnz8vz07nkx7hk8a3ac822186ardwxa8jnl6s8qvm5ip92f2"))))
(base32 "0n7qby5a4yz3s02nqcp5js6jg9wrd0x7msblxwb1883ds4b2b71a"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -1490,7 +1492,7 @@ control to Git repositories.")
" and not test_run_a_ruby_hook"
" and not test_run_ruby_hook_with_disable_shared_gems"
" and not test_run_versioned_ruby_hook"
;; Disable Cargo tests
;; Disable Cargo tests.
" and not test_additional_rust_cli_dependencies_installed"
" and not test_additional_rust_lib_dependencies_installed"
" and not test_local_rust_additional_dependencies"
@ -1517,14 +1519,14 @@ control to Git repositories.")
" and not test_too_new_version"
" and not test_try_repo_uncommitted_changes"
" and not test_versions_ok"
;; This test tries to activate a virtualenv
;; This test tries to activate a virtualenv.
" and not test_healthy_venv_creator"
;; Fatal error: Not a Git repository.
" and not test_all_cmds"
" and not test_try_repo"
;; No module named 'pip._internal.cli.main'
;; No module named 'pip._internal.cli.main'.
" and not test_additional_dependencies_roll_forward"
; Assertion errors
;; Assertion errors.
" and not test_install_existing_hooks_no_overwrite"
" and not test_uninstall_restores_legacy_hooks"))))
(add-before 'reset-gzip-timestamps 'make-files-writable
@ -1536,7 +1538,7 @@ control to Git repositories.")
(find-files out "\\.gz$"))
#t))))))
(native-inputs
`(("git" ,git)
`(("git" ,git-minimal)
("python-pytest" ,python-pytest)))
(inputs
`(("python-cfgv" ,python-cfgv)
@ -1553,40 +1555,17 @@ specify a list of hooks you want and pre-commit manages the installation and
execution of any hook written in any language before every commit.")
(license license:expat)))
(define (mercurial-patch name revision hash)
(origin
(method url-fetch)
(uri (string-append "https://www.mercurial-scm.org/repo/hg/raw-rev/" revision))
(file-name (string-append "mercurial-" name ".patch"))
(sha256 (base32 hash))))
(define %mercurial-patches
(list
;; These three patches fixes compatibility with the updated gzip module
;; in Python 3.8.2: <https://bz.mercurial-scm.org/show_bug.cgi?id=6284>.
(mercurial-patch "python-mtime" "6c36a521572edf3a79ee567b118469b3192037cc"
"0bmm7y40r8s081ws2sjvn1v8kvyfan4a97jl0fhdh7yc2pzxlzqq")
(mercurial-patch "indent-gzip" "a23b859ad17dd0a5b9bb37846b69b5e30f99c44c"
"1spscv9dgqv38m7h1liki93ax6w97gxayg17fr7wr6acjdfccpr9")
(mercurial-patch "python-gzip" "b7ca03dff14c63d64ad7bfa36a2d0a36a6b62253"
"0p88ffhx0kk21ssrsb156ffhpcb7g8mkwwkmq49qpmbm5ag2paf0")
;; This fixes an incompatibility with os.isfile in Python 3.8:
;; <https://bz.mercurial-scm.org/show_bug.cgi?id=6287>.
(mercurial-patch "os-isfile" "6a8738dc4a019da4c9df5c26961aa09d45ce1c68"
"0lr069m12kzrkmr1pmhaxg5lxmdwxabsza61qp1i1q70g7sy8lvy")))
(define-public mercurial
(package
(name "mercurial")
(version "5.3.1")
(version "5.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.mercurial-scm.org/"
"release/mercurial-" version ".tar.gz"))
(patches %mercurial-patches)
(sha256
(base32
"1nbjpzjrzgql4hrvslpxwbcgn885ikq6ba1yb4w6p78rw9nzkhgp"))))
"0x08yjs26j88kh1bvl2g3r24lnfc023ry3i1cxfq6haray6sv5ag"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -1615,6 +1594,13 @@ execution of any hook written in any language before every commit.")
;; not in 'guix environment -C' (even without /bin/sh)?
"test-nointerrupt.t"
;; FIXME: This gets killed but does not receive an interrupt.
"test-commandserver.t"
;; Only works when run in a hg-repo, not in an
;; extracted tarball
"test-doctest.py"
;; TODO: the fqaddr() call fails in the build
;; container, causing these server tests to fail.
"test-hgwebdir.t"
@ -1650,6 +1636,32 @@ It efficiently handles projects of any size
and offers an easy and intuitive interface.")
(license license:gpl2+)))
(define-public python-hg-evolve
(package
(name "python-hg-evolve")
(version "10.0.1")
(source
(origin
(method hg-fetch)
(uri (hg-reference
(url "https://www.mercurial-scm.org/repo/evolve")
(changeset version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1lz407373lfam9n02gq0l0rc2sjvn0m96kbzy93ipia3ika8fa68"))))
(build-system python-build-system)
(arguments
;; Tests need mercurial source code.
'(#:tests? #f))
(propagated-inputs
`(("mercurial" ,mercurial)))
(home-page "https://www.mercurial-scm.org/doc/evolution/")
(synopsis "Flexible evolution of Mercurial history")
(description "Evolve is a Mercurial extension for faster and safer mutable
history. It implements the changeset evolution concept for Mercurial.")
(license license:gpl2)))
(define-public neon
(package
(name "neon")

View File

@ -2165,7 +2165,7 @@ To load this plugin, specify the following option when starting mpv:
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2020.07.28")
(version "2020.09.06")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ytdl-org/youtube-dl/"
@ -2173,7 +2173,7 @@ To load this plugin, specify the following option when starting mpv:
version ".tar.gz"))
(sha256
(base32
"1if7xyi7g9rpni1jbs7gv5m12s34qdb15dpfbbjn8120h16y7cqz"))))
"1827hcp9bvwq7p2f5r0wgkg6yb5fgvr4miyi3d99hkah2afw12za"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@ -4440,16 +4440,16 @@ transcode or reformat the videos in any way, producing perfect backups.")
(define-public svt-av1
(package
(name "svt-av1")
(version "0.8.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenVisualCloud/SVT-AV1")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0xad35q9sv5w0iihcf9q1f1m7br5anl3vsyx9svnx128iqf0n997"))))
(version "0.8.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/OpenVisualCloud/SVT-AV1")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1gfxdmdql090p7c8ln1z344g467l41p45287lmwy590hv8gw6bfg"))))
(build-system cmake-build-system)
;; SVT-AV1 only supports Intel-compatible CPUs.
(supported-systems '("x86_64-linux" "i686-linux"))

View File

@ -53,6 +53,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nss)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -321,7 +322,7 @@ traversing network address translators (@dfn{NAT}s) and firewalls.")
(define-public protonvpn-cli
(package
(name "protonvpn-cli")
(version "2.2.2")
(version "2.2.4")
(source
(origin
;; PyPI has a ".whl" file but not a proper source release.
@ -333,7 +334,7 @@ traversing network address translators (@dfn{NAT}s) and firewalls.")
(file-name (git-file-name name version))
(sha256
(base32
"0ixjb02kj4z79whm1izd8mrn2h0rp9cmw4im1qvp93rahqxdd4n8"))))
"08yca0a0prrnrc7ir7ajd56yxvxpcs4m1k8f5kf273f5whgr7wzw"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; no tests in repo
(native-inputs
@ -342,7 +343,8 @@ traversing network address translators (@dfn{NAT}s) and firewalls.")
`(("pythondialog" ,python-pythondialog)
("requests" ,python-requests)))
(propagated-inputs
`(("openvpn" ,openvpn)))
`(("openvpn" ,openvpn)
("dialog" ,dialog)))
(synopsis "Command-line client for ProtonVPN")
(description
"This is the official command-line interface for ProtonVPN, a secure

View File

@ -534,45 +534,41 @@ driven and does not detract you from your daily work.")
`(("prove" ,sbcl-prove)
("sbcl" ,sbcl)))
(inputs
;; We need to avoid sbcl-* inputs (sbcl-cl-cffi-gtk in particular) as they
;; seem to cause Nyxt to hang into a hogging process in about 10 minutes.
;; Probably an issue between CFFI and how we build SBCL packages.
;; See https://github.com/atlas-engineer/nyxt/issues/680.
`(("alexandria" ,cl-alexandria)
("bordeaux-threads" ,cl-bordeaux-threads)
("cl-containers" ,cl-containers)
("cl-css" ,cl-css)
("cl-json" ,cl-json)
("cl-markup" ,cl-markup)
("cl-ppcre" ,cl-ppcre)
("cl-prevalence" ,cl-prevalence)
("closer-mop" ,cl-closer-mop)
("cluffer" ,cl-cluffer)
("dexador" ,cl-dexador)
("enchant" ,cl-enchant)
("fset" ,cl-fset)
("iolib" ,cl-iolib)
("local-time" ,cl-local-time)
("log4cl" ,cl-log4cl)
("lparallel" ,cl-lparallel)
("mk-string-metrics" ,cl-mk-string-metrics)
("moptilities" ,cl-moptilities)
("osicat" ,sbcl-osicat) ; SBCL version needed for libosicat.so.
("parenscript" ,cl-parenscript)
("plump" ,cl-plump)
("quri" ,cl-quri)
("serapeum" ,cl-serapeum)
("str" ,cl-str)
("swank" ,cl-slime-swank)
("trivia" ,cl-trivia)
("trivial-clipboard" ,cl-trivial-clipboard)
("trivial-features" ,cl-trivial-features)
("trivial-package-local-nicknames" ,cl-trivial-package-local-nicknames)
("trivial-types" ,cl-trivial-types)
("unix-opts" ,cl-unix-opts)
`(("alexandria" ,sbcl-alexandria)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("cl-containers" ,sbcl-cl-containers)
("cl-css" ,sbcl-cl-css)
("cl-json" ,sbcl-cl-json)
("cl-markup" ,sbcl-cl-markup)
("cl-ppcre" ,sbcl-cl-ppcre)
("cl-prevalence" ,sbcl-cl-prevalence)
("closer-mop" ,sbcl-closer-mop)
("cluffer" ,sbcl-cluffer)
("dexador" ,sbcl-dexador)
("enchant" ,sbcl-enchant)
("fset" ,sbcl-fset)
("iolib" ,sbcl-iolib)
("local-time" ,sbcl-local-time)
("log4cl" ,sbcl-log4cl)
("lparallel" ,sbcl-lparallel)
("mk-string-metrics" ,sbcl-mk-string-metrics)
("moptilities" ,sbcl-moptilities)
("osicat" ,sbcl-osicat)
("parenscript" ,sbcl-parenscript)
("plump" ,sbcl-plump)
("quri" ,sbcl-quri)
("serapeum" ,sbcl-serapeum)
("str" ,sbcl-cl-str)
("swank" ,sbcl-slime-swank)
("trivia" ,sbcl-trivia)
("trivial-clipboard" ,sbcl-trivial-clipboard)
("trivial-features" ,sbcl-trivial-features)
("trivial-package-local-nicknames" ,sbcl-trivial-package-local-nicknames)
("trivial-types" ,sbcl-trivial-types)
("unix-opts" ,sbcl-unix-opts)
;; WebKitGTK deps
("cl-cffi-gtk" ,cl-cffi-gtk)
("cl-webkit" ,cl-webkit)
("cl-cffi-gtk" ,sbcl-cl-cffi-gtk)
("cl-webkit" ,sbcl-cl-webkit)
("glib-networking" ,glib-networking)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)))
(synopsis "Extensible web-browser in Common Lisp")

View File

@ -196,7 +196,7 @@ and its related documentation.")
(define-public mod-wsgi
(package
(name "mod-wsgi")
(version "4.5.22")
(version "4.7.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -205,7 +205,7 @@ and its related documentation.")
(file-name (git-file-name name version))
(sha256
(base32
"1q90xw2cbhka5gcd6yc69iir73x4gm7fm75qpkins2ryfl6w1q3f"))))
"1savh6h3qds20mwn1nqasmqzcp57pdhfc9v4b4k78d6q28y0r17s"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; TODO: can't figure out if there are tests
@ -1678,7 +1678,7 @@ minimum to provide high performance operation.")
(package
(name "libsass")
;; When updating, check whether sassc/libsass-3.5 is still needed.
(version "3.6.3")
(version "3.6.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1687,7 +1687,7 @@ minimum to provide high performance operation.")
(file-name (git-file-name name version))
(sha256
(base32
"1vn0q343d1vxz5q0xb6f9dzjah8z6j0s6x0lwvwdd55xa8z7rsnh"))))
"0r8lfqvr3rjhjd8r036zd1wc9q17gyiskppcw9m13jks9an7xp4j"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -4458,8 +4458,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(package-with-python2 python-feedparser))
(define-public guix-data-service
(let ((commit "ab68b0fdb3efe68f1962b7b9698ffc225abfeabb")
(revision "20"))
(let ((commit "c596a1c6a90bb2fe07da5339b8dc832b81d94194")
(revision "21"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -4471,7 +4471,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(file-name (git-file-name name version))
(sha256
(base32
"0imbkrm46ykjip81cbf14gc6hqlgi79fnwvsjxbhkd2wq3c1nrjg"))))
"09gn2imhh3aqkzray0xgkz7slriy567inh5lpkxm74bgmx862g3g"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
@ -4534,6 +4534,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
("guile-fibers" ,guile3.0-fibers)
("guile-json" ,guile3.0-json)
("guile-email" ,guile3.0-email)
("guile-prometheus" ,guile-prometheus)
("guile-squee" ,guile3.0-squee)
("ephemeralpg" ,ephemeralpg)
("util-linux" ,util-linux)

View File

@ -1598,10 +1598,10 @@ compositors that support the layer-shell protocol.")
("alexandria" ,sbcl-alexandria)))
(outputs '("out" "lib"))
(arguments
'(#:asd-system-name "stumpwm"
'(#:asd-systems '("stumpwm")
#:phases
(modify-phases %standard-phases
(add-after 'create-symlinks 'build-program
(add-after 'create-asdf-configuration 'build-program
(lambda* (#:key outputs #:allow-other-keys)
(build-program
(string-append (assoc-ref outputs "out") "/bin/stumpwm")
@ -1670,20 +1670,15 @@ productive, customizable lisp based systems.")
(program (string-append out "/bin/stumpwm")))
(build-program program outputs
#:entry-program '((stumpwm:stumpwm) 0)
#:dependencies '("stumpwm"
,@(@@ (gnu packages lisp-xyz) slynk-systems))
#:dependencies '("stumpwm" "slynk")
#:dependency-prefixes
(map (lambda (input) (assoc-ref inputs input))
'("stumpwm" "slynk")))
;; Remove unneeded file.
(delete-file (string-append out "/bin/stumpwm-exec.fasl"))
#t)))
(delete 'copy-source)
(delete 'build)
(delete 'check)
(delete 'create-asd-file)
(delete 'cleanup)
(delete 'create-symlinks)))))))
(delete 'cleanup)))))))
(define stumpwm-contrib
(let ((commit "920f8fc1488f7953f205e1dda4c2ecbbbda56d63")
@ -1745,7 +1740,7 @@ productive, customizable lisp based systems.")
`(("stumpwm" ,stumpwm "lib")
("clx-truetype" ,sbcl-clx-truetype)))
(arguments
'(#:asd-system-name "ttf-fonts"
'(#:asd-systems '("ttf-fonts")
#:tests? #f
#:phases
(modify-phases %standard-phases
@ -1762,7 +1757,7 @@ rendering.")
(inherit stumpwm-contrib)
(name "sbcl-stumpwm-pass")
(arguments
'(#:asd-system-name "pass"
'(#:asd-systems '("pass")
#:tests? #f
#:phases
(modify-phases %standard-phases
@ -1779,7 +1774,7 @@ password-store into StumpWM.")
(inherit stumpwm-contrib)
(name "sbcl-stumpwm-globalwindows")
(arguments
'(#:asd-system-name "globalwindows"
'(#:asd-systems '("globalwindows")
#:tests? #f
#:phases
(modify-phases %standard-phases
@ -1796,7 +1791,7 @@ windows in the current X session.")
(inherit stumpwm-contrib)
(name "sbcl-stumpwm-swm-gaps")
(arguments
'(#:asd-system-name "swm-gaps"
'(#:asd-systems '("swm-gaps")
#:tests? #f
#:phases
(modify-phases %standard-phases
@ -1813,7 +1808,7 @@ between windows.")
(inherit stumpwm-contrib)
(name "sbcl-stumpwm-net")
(arguments
'(#:asd-system-name "net"
'(#:asd-systems '("net")
#:tests? #f
#:phases
(modify-phases %standard-phases
@ -1831,7 +1826,7 @@ between windows.")
(inherit stumpwm-contrib)
(name "sbcl-stumpwm-wifi")
(arguments
'(#:asd-system-name "wifi"
'(#:asd-systems '("wifi")
#:tests? #f
#:phases
(modify-phases %standard-phases
@ -1849,7 +1844,7 @@ between windows.")
(inherit stumpwm-contrib)
(name "sbcl-stumpwm-stumptray")
(arguments
'(#:asd-system-name "stumptray"
'(#:asd-systems '("stumptray")
#:tests? #f
#:phases
(modify-phases %standard-phases
@ -1871,7 +1866,7 @@ between windows.")
(inherit stumpwm-contrib)
(name "sbcl-stumpwm-kbd-layouts")
(arguments
'(#:asd-system-name "kbd-layouts"
'(#:asd-systems '("kbd-layouts")
#:tests? #f
#:phases
(modify-phases %standard-phases

View File

@ -99,7 +99,9 @@
(and (string? x) (not (string-index x #\space))))
val)))
(define (serialize-space-separated-string-list field-name val)
(serialize-field field-name (string-join val " ")))
(match val
(() #f)
(_ (serialize-field field-name (string-join val " ")))))
(define (comma-separated-string-list? val)
(and (list? val)
@ -479,64 +481,6 @@ interfaces. If you want to specify non-default ports or anything more
complex, customize the address and port fields of the
@samp{inet-listener} of the specific services you are interested in.")
(protocols
(protocol-configuration-list
(list (protocol-configuration
(name "imap"))))
"List of protocols we want to serve. Available protocols include
@samp{imap}, @samp{pop3}, and @samp{lmtp}.")
(services
(service-configuration-list
(list
(service-configuration
(kind "imap-login")
(client-limit 0)
(process-limit 0)
(listeners
(list
(inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
(inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t)))))
(service-configuration
(kind "pop3-login")
(listeners
(list
(inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f))
(inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
(service-configuration
(kind "lmtp")
(client-limit 1)
(process-limit 0)
(listeners
(list (unix-listener-configuration (path "lmtp") (mode "0666")))))
(service-configuration
(kind "imap")
(client-limit 1)
(process-limit 1024))
(service-configuration
(kind "pop3")
(client-limit 1)
(process-limit 1024))
(service-configuration
(kind "auth")
(service-count 0)
(client-limit 0)
(process-limit 1)
(listeners
(list (unix-listener-configuration (path "auth-userdb")))))
(service-configuration
(kind "auth-worker")
(client-limit 1)
(process-limit 0))
(service-configuration
(kind "dict")
(client-limit 1)
(process-limit 0)
(listeners (list (unix-listener-configuration (path "dict")))))))
"List of services to enable. Available services include @samp{imap},
@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and
@samp{lmtp}.")
(dict
(dict-configuration (dict-configuration))
"Dict configuration, as created by the @code{dict-configuration}
@ -1430,7 +1374,65 @@ greyed out, instead of only later giving \"not selectable\" popup error.
(imap-urlauth-host
(string "")
"Host allowed in URLAUTH URLs sent by client. \"*\" allows all.") )
"Host allowed in URLAUTH URLs sent by client. \"*\" allows all.")
(protocols
(protocol-configuration-list
(list (protocol-configuration
(name "imap"))))
"List of protocols we want to serve. Available protocols include
@samp{imap}, @samp{pop3}, and @samp{lmtp}.")
(services
(service-configuration-list
(list
(service-configuration
(kind "imap-login")
(client-limit 0)
(process-limit 0)
(listeners
(list
(inet-listener-configuration (protocol "imap") (port 143) (ssl? #f))
(inet-listener-configuration (protocol "imaps") (port 993) (ssl? #t)))))
(service-configuration
(kind "pop3-login")
(listeners
(list
(inet-listener-configuration (protocol "pop3") (port 110) (ssl? #f))
(inet-listener-configuration (protocol "pop3s") (port 995) (ssl? #t)))))
(service-configuration
(kind "lmtp")
(client-limit 1)
(process-limit 0)
(listeners
(list (unix-listener-configuration (path "lmtp") (mode "0666")))))
(service-configuration
(kind "imap")
(client-limit 1)
(process-limit 1024))
(service-configuration
(kind "pop3")
(client-limit 1)
(process-limit 1024))
(service-configuration
(kind "auth")
(service-count 0)
(client-limit 0)
(process-limit 1)
(listeners
(list (unix-listener-configuration (path "auth-userdb")))))
(service-configuration
(kind "auth-worker")
(client-limit 1)
(process-limit 0))
(service-configuration
(kind "dict")
(client-limit 1)
(process-limit 0)
(listeners (list (unix-listener-configuration (path "dict")))))))
"List of services to enable. Available services include @samp{imap},
@samp{imap-login}, @samp{pop3}, @samp{pop3-login}, @samp{auth}, and
@samp{lmtp}."))
(define-configuration opaque-dovecot-configuration
(dovecot

View File

@ -152,6 +152,7 @@
php-fpm-configuration-timezone
php-fpm-configuration-workers-log-file
php-fpm-configuration-file
php-fpm-configuration-php-ini-file
php-fpm-dynamic-process-manager-configuration
make-php-fpm-dynamic-process-manager-configuration
@ -856,6 +857,8 @@ of index files."
(version-major (package-version php))
"-fpm.www.log")))
(file php-fpm-configuration-file ;#f | file-like
(default #f))
(php-ini-file php-fpm-configuration-php-ini-file ;#f | file-like
(default #f)))
(define-record-type* <php-fpm-dynamic-process-manager-configuration>
@ -962,7 +965,7 @@ of index files."
(match-lambda
(($ <php-fpm-configuration> php socket user group socket-user socket-group
pid-file log-file pm display-errors
timezone workers-log-file file)
timezone workers-log-file file php-ini-file)
(list (shepherd-service
(provision '(php-fpm))
(documentation "Run the php-fpm daemon.")
@ -973,7 +976,10 @@ of index files."
#$(or file
(default-php-fpm-config socket user group
socket-user socket-group pid-file log-file
pm display-errors timezone workers-log-file)))
pm display-errors timezone workers-log-file))
#$@(if php-ini-file
`("-c" ,php-ini-file)
'()))
#:pid-file #$pid-file))
(stop #~(make-kill-destructor)))))))

View File

@ -316,11 +316,13 @@ file system labels."
((? bytevector? bv) ;old format
(bytevector->uuid bv 'dce))
((? string? device)
;; It used to be that we would not distinguish between labels and
;; device names. Try to infer the right thing here.
(if (string-prefix? "/dev/" device)
device
(file-system-label device)))))
(if (string-contains device ":/")
device ; nfs-root
;; It used to be that we would not distinguish between labels and
;; device names. Try to infer the right thing here.
(if (string-prefix? "/" device)
device
(file-system-label device))))))
(match (read port)
(('boot-parameters ('version 0)

View File

@ -55,7 +55,10 @@
(define* (run-basic-test os command #:optional (name "basic")
#:key initialization root-password)
#:key
initialization
root-password
desktop?)
"Return a derivation called NAME that tests basic features of the OS started
using COMMAND, a gexp that evaluates to a list of strings. Compare some
properties of running system to what's declared in OS, an <operating-system>.
@ -300,6 +303,12 @@ info --version")
(test-equal "login on tty1"
"root\n"
(begin
;; XXX: On desktop, GDM3 will switch to TTY7. If this happens
;; after we switched to TTY1, we won't be able to login. Make
;; sure to wait long enough before switching to TTY1.
(when #$desktop?
(sleep 30))
(marionette-control "sendkey ctrl-alt-f1" marionette)
;; Wait for the 'term-tty1' service to be running (using
;; 'start-service' is the simplest and most reliable way to do

View File

@ -1317,10 +1317,11 @@ build (current-guix) and then store a couple of full system images.")
marionette
#:desktop? desktop?
#:encrypted? encrypted?))))
(command (qemu-command/writable-image image)))
(command (qemu-command/writable-image image #:memory-size 512)))
(run-basic-test target-os command name
#:initialization (and encrypted? enter-luks-passphrase)
#:root-password %root-password)))))
#:root-password %root-password
#:desktop? desktop?)))))
(define %test-gui-installed-os
(guided-installation-test

View File

@ -39,7 +39,8 @@
#:use-module (guix store)
#:use-module (guix monads)
#:export (%test-nfs
%test-nfs-server))
%test-nfs-server
%test-nfs-root-fs))
(define %base-os
(operating-system
@ -262,3 +263,152 @@
(description "Test that an NFS server can be started and exported
directories can be mounted.")
(value (run-nfs-server-test))))
(define (run-nfs-root-fs-test)
"Run a test of an OS mounting its root file system via NFS."
(define nfs-root-server-os
(marionette-operating-system
(operating-system
(inherit %nfs-os)
(services
(modify-services (operating-system-user-services %nfs-os)
(nfs-service-type config =>
(nfs-configuration
(debug '(nfs nfsd mountd))
;;; Note: Adding the following line causes Guix to hang.
;(rpcmountd-port 20001)
;;; Note: Adding the following line causes Guix to hang.
;(rpcstatd-port 20002) ; FIXME: Set broadcast port AND listening port.
(nfsd-port 2049)
(nfs-versions '("4.2"))
(exports '(("/export"
"*(rw,insecure,no_subtree_check,crossmnt,fsid=root,no_root_squash,insecure,async)"))))))))
#:requirements '(nscd)
#:imported-modules '((gnu services herd)
(guix combinators))))
(define nfs-root-client-os
(marionette-operating-system
(operating-system
(inherit (simple-operating-system (service dhcp-client-service-type)))
(kernel-arguments '("ip=dhcp"))
(file-systems (cons
(file-system
(type "nfs")
(mount-point "/")
(device ":/export")
(options "addr=127.0.0.1,vers=4.2"))
%base-file-systems)))
#:requirements '(nscd)
#:imported-modules '((gnu services herd)
(guix combinators))))
(define test
(with-imported-modules '((gnu build marionette))
#~(begin
(use-modules (gnu build marionette)
(srfi srfi-64))
(mkdir #$output)
(chdir #$output)
(test-begin "start-nfs-boot-test")
;;; Start up NFS server host.
(mkdir "/tmp/server")
(define server-marionette
(make-marionette (list #$(virtual-machine
nfs-root-server-os
;(operating-system nfs-root-server-os)
;(port-forwardings '( ; (111 . 111)
; (2049 . 2049)
; (20001 . 20001)
; (20002 . 20002)))
))
#:socket-directory "/tmp/server"))
(marionette-eval
'(begin
(use-modules (gnu services herd))
(current-output-port
(open-file "/dev/console" "w0"))
;; FIXME: Instead statfs "/" and "/export" and wait until they
;; are different file systems. But Guile doesn't seem to have
;; statfs.
(sleep 5)
(chmod "/export" #o777)
(symlink "/gnu" "/export/gnu")
(start-service 'nscd)
(start-service 'networking)
(start-service 'nfs))
server-marionette)
;;; Wait for the NFS services to be up and running.
(test-assert "nfs services are running"
(wait-for-file "/var/run/rpc.statd.pid" server-marionette))
(test-assert "NFS port is ready"
(wait-for-tcp-port 2049 server-marionette))
(test-assert "NFS statd port is ready"
(wait-for-tcp-port 20002 server-marionette))
(test-assert "NFS mountd port is ready"
(wait-for-tcp-port 20001 server-marionette))
;;; FIXME: (test-assert "NFS portmapper port is ready"
;;; FIXME: (wait-for-tcp-port 111 server-marionette))
;;; Start up NFS client host.
(define client-marionette
(make-marionette (list #$(virtual-machine
nfs-root-client-os
;(port-forwardings '((111 . 111)
; (2049 . 2049)
; (20001 . 20001)
; (20002 . 20002)))
))))
(marionette-eval
'(begin
(use-modules (gnu services herd))
(use-modules (rnrs io ports))
(current-output-port
(open-file "/dev/console" "w0"))
(let ((content (call-with-input-file "/proc/mounts" get-string-all)))
(call-with-output-file "/mounts.new"
(lambda (port)
(display content port))))
(chmod "/mounts.new" #o777)
(rename-file "/mounts.new" "/mounts"))
client-marionette)
(test-assert "nfs-root-client booted")
;;; Check whether NFS client host communicated with NFS server host.
(test-assert "nfs client deposited file"
(wait-for-file "/export/mounts" server-marionette))
(marionette-eval
'(begin
(current-output-port
(open-file "/dev/console" "w0"))
(call-with-input-file "/export/mounts" display))
server-marionette)
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))
(gexp->derivation "nfs-server-test" test))
(define %test-nfs-root-fs
(system-test
(name "nfs-root-fs")
(description "Test that an NFS server can be started and the exported
directory can be used as root filesystem.")
(value (run-nfs-root-fs-test))))

View File

@ -78,9 +78,6 @@ generic name if unset."
(define zlib
(module-ref (resolve-interface '(gnu packages compression)) 'zlib))
(define guile-json
(module-ref (resolve-interface '(gnu packages guile)) 'guile-json-3))
(define gnutls
(module-ref (resolve-interface '(gnu packages tls)) 'gnutls))
@ -102,7 +99,7 @@ generic name if unset."
(define build
(with-imported-modules modules
(with-extensions (list guile-json gnutls) ;for (guix swh)
(with-extensions (list gnutls)
#~(begin
(use-modules (guix build android-repo)
(guix build utils)

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -54,12 +54,14 @@
;; Imported build-side modules
`((guix build asdf-build-system)
(guix build lisp-utils)
(guix build union)
,@%gnu-build-system-modules))
(define %asdf-build-modules
;; Used (visible) build-side modules
'((guix build asdf-build-system)
(guix build utils)
(guix build union)
(guix build lisp-utils)))
(define (default-lisp implementation)
@ -210,7 +212,7 @@ set up using CL source package conventions."
(define base-arguments
(if target-is-source?
(strip-keyword-arguments
'(#:tests? #:asd-file #:lisp #:asd-system-name #:test-asd-file)
'(#:tests? #:asd-files #:lisp #:asd-systems #:test-asd-file)
(package-arguments pkg))
(package-arguments pkg)))
@ -278,8 +280,8 @@ set up using CL source package conventions."
(lambda* (store name inputs
#:key source outputs
(tests? #t)
(asd-file #f)
(asd-system-name #f)
(asd-files ''())
(asd-systems ''())
(test-asd-file #f)
(phases '(@ (guix build asdf-build-system)
%standard-phases))
@ -289,12 +291,17 @@ set up using CL source package conventions."
(imported-modules %asdf-build-system-modules)
(modules %asdf-build-modules))
(define system-name
(or asd-system-name
(string-drop
;; NAME is the value returned from `package-full-name'.
(hyphen-separated-name->name+version name)
(1+ (string-length lisp-type))))) ; drop the "<lisp>-" prefix.
;; FIXME: The definition of 'systems' is pretty hacky.
;; Is there a more elegant way to do it?
(define systems
(if (null? (cadr asd-systems))
`(quote
,(list
(string-drop
;; NAME is the value returned from `package-full-name'.
(hyphen-separated-name->name+version name)
(1+ (string-length lisp-type))))) ; drop the "<lisp>-" prefix.
asd-systems))
(define builder
`(begin
@ -309,8 +316,8 @@ set up using CL source package conventions."
(derivation->output-path source))
((source) source)
(source source))
#:asd-file ,(or asd-file (string-append system-name ".asd"))
#:asd-system-name ,system-name
#:asd-files ,asd-files
#:asd-systems ,systems
#:test-asd-file ,test-asd-file
#:system ,system
#:tests? ,tests?

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -19,6 +20,7 @@
(define-module (guix build asdf-build-system)
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
#:use-module (guix build utils)
#:use-module (guix build union)
#:use-module (guix build lisp-utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
@ -41,14 +43,22 @@
;;
;; Code:
(define %object-prefix "/lib")
(define %object-prefix "/lib/common-lisp")
(define (%lisp-source-install-prefix)
(string-append %source-install-prefix "/" (%lisp-type) "-source"))
(string-append %source-install-prefix "/" (%lisp-type)))
(define %system-install-prefix
(string-append %source-install-prefix "/systems"))
(define (main-system-name output)
(let ((package-name (package-name->name+version
(strip-store-file-name output)))
(lisp-prefix (string-append (%lisp-type) "-")))
(if (string-prefix? lisp-prefix package-name)
(string-drop package-name (string-length lisp-prefix))
package-name)))
(define (lisp-source-directory output name)
(string-append output (%lisp-source-install-prefix) "/" name))
@ -71,6 +81,13 @@ to it's binary output."
(define (source-asd-file output name asd-file)
(string-append (lisp-source-directory output name) "/" asd-file))
(define (find-asd-files output name asd-files)
(if (null? asd-files)
(find-files (lisp-source-directory output name) "\\.asd$")
(map (lambda (asd-file)
(source-asd-file output name asd-file))
asd-files)))
(define (copy-files-to-output out name)
"Copy all files from the current directory to OUT. Create an extra link to
any system-defining files in the source to a convenient location. This is
@ -107,9 +124,10 @@ if it's present in the native-inputs."
(package-name->name+version
(strip-store-file-name output)))
(define (no-prefix pkgname)
(if (string-index pkgname #\-)
(string-drop pkgname (1+ (string-index pkgname #\-)))
pkgname))
(let ((index (string-index pkgname #\-)))
(if index
(string-drop pkgname (1+ index))
pkgname)))
(define parent
(match (assoc package-name inputs
(lambda (key alist-car)
@ -125,9 +143,10 @@ if it's present in the native-inputs."
(define parent-source
(and parent
(string-append parent "/share/common-lisp/"
(string-take parent-name
(string-index parent-name #\-))
"-source")))
(let ((index (string-index parent-name #\-)))
(if index
(string-take parent-name index)
parent-name)))))
(define (first-subdirectory directory) ; From gnu-build-system.
"Return the file name of the first sub-directory of DIRECTORY."
@ -146,122 +165,83 @@ if it's present in the native-inputs."
(with-directory-excursion source-directory
(copy-files-to-output output package-name)))
(define* (copy-source #:key outputs asd-system-name #:allow-other-keys)
(define* (copy-source #:key outputs asd-systems #:allow-other-keys)
"Copy the source to the library output."
(let* ((out (library-output outputs))
(install-path (string-append out %source-install-prefix)))
(copy-files-to-output out asd-system-name)
(install-path (string-append out %source-install-prefix))
(system-name (main-system-name out)))
(copy-files-to-output out system-name)
;; Hide the files from asdf
(with-directory-excursion install-path
(rename-file "source" (string-append (%lisp-type) "-source"))
(rename-file "source" (%lisp-type))
(delete-file-recursively "systems")))
#t)
(define* (build #:key outputs inputs asd-file asd-system-name
(define* (configure #:key inputs #:allow-other-keys)
;; Create a directory having the configuration files for
;; all the dependencies in 'etc/common-lisp/'.
(let ((out (string-append (getcwd) "/.cl-union")))
(match inputs
(((name . directories) ...)
(union-build out (filter directory-exists? directories)
#:create-all-directories? #t
#:log-port (%make-void-port "w"))))
(setenv "CL_UNION" out)
(setenv "XDG_CONFIG_DIRS" (string-append out "/etc")))
#t)
(define* (build #:key outputs inputs asd-files asd-systems
#:allow-other-keys)
"Compile the system."
(let* ((out (library-output outputs))
(source-path (lisp-source-directory out asd-system-name))
(system-name (main-system-name out))
(source-path (string-append out (%lisp-source-install-prefix)))
(translations (wrap-output-translations
`(,(output-translation source-path
out))))
(asd-file (source-asd-file out asd-system-name asd-file)))
(asd-files (find-asd-files out system-name asd-files)))
(setenv "ASDF_OUTPUT_TRANSLATIONS"
(replace-escaped-macros (format #f "~S" translations)))
(setenv "HOME" out) ; ecl's asdf sometimes wants to create $HOME/.cache
(compile-system asd-system-name asd-file)
;; As above, ecl will sometimes create this even though it doesn't use it
(let ((cache-directory (string-append out "/.cache")))
(when (directory-exists? cache-directory)
(delete-file-recursively cache-directory))))
(compile-systems asd-systems asd-files))
#t)
(define* (check #:key tests? outputs inputs asd-file asd-system-name
(define* (check #:key tests? outputs inputs asd-files asd-systems
test-asd-file
#:allow-other-keys)
"Test the system."
(let* ((out (library-output outputs))
(asd-file (source-asd-file out asd-system-name asd-file))
(system-name (main-system-name out))
(asd-files (find-asd-files out system-name asd-files))
(test-asd-file
(and=> test-asd-file
(cut source-asd-file out asd-system-name <>))))
(cut source-asd-file out system-name <>))))
(if tests?
(test-system asd-system-name asd-file test-asd-file)
(test-system (first asd-systems) asd-files test-asd-file)
(format #t "test suite not run~%")))
#t)
(define* (create-asd-file #:key outputs
inputs
asd-file
asd-system-name
#:allow-other-keys)
"Create a system definition file for the built system."
(let*-values (((out) (library-output outputs))
((_ version) (package-name->name+version
(strip-store-file-name out)))
((new-asd-file) (string-append
(library-directory out)
"/" (normalize-string asd-system-name)
".asd")))
(make-asd-file new-asd-file
#:system asd-system-name
#:version version
#:inputs inputs
#:system-asd-file asd-file))
#t)
(define* (symlink-asd-files #:key outputs #:allow-other-keys)
"Create an extra reference to the system in a convenient location."
(let* ((out (library-output outputs)))
(for-each
(lambda (asd-file)
(receive (new-asd-file asd-file-directory)
(bundle-asd-file out asd-file)
(mkdir-p asd-file-directory)
(symlink asd-file new-asd-file)
;; Update the source registry for future phases which might want to
;; use the newly compiled system.
(prepend-to-source-registry
(string-append asd-file-directory "/"))))
(find-files (string-append out %object-prefix) "\\.asd$")))
#t)
(define* (create-asdf-configuration #:key inputs outputs #:allow-other-keys)
"Create the ASDF configuration files for the built systems."
(let* ((system-name (main-system-name (assoc-ref outputs "out")))
(out (library-output outputs))
(conf-dir (string-append out "/etc/common-lisp"))
(deps-conf-dir (string-append (getenv "CL_UNION") "/etc/common-lisp"))
(source-dir (lisp-source-directory out system-name))
(lib-dir (string-append (library-directory out) "/" system-name)))
(make-asdf-configuration system-name conf-dir deps-conf-dir
source-dir lib-dir)
#t))
(define* (cleanup-files #:key outputs
#:allow-other-keys)
"Remove any compiled files which are not a part of the final bundle."
(let ((out (library-output outputs)))
(match (%lisp-type)
("sbcl"
(for-each
(lambda (file)
(unless (string-suffix? "--system.fasl" file)
(delete-file file)))
(find-files out "\\.fasl$")))
("ecl"
(for-each delete-file
(append (find-files out "\\.fas$")
(find-files out "\\.o$")))))
(with-directory-excursion (library-directory out)
(for-each
(lambda (file)
(rename-file file
(string-append "./" (basename file))))
(find-files "."))
(for-each delete-file-recursively
(scandir "."
(lambda (file)
(and
(directory-exists? file)
(string<> "." file)
(string<> ".." file)))))))
(let* ((out (library-output outputs))
(cache-directory (string-append out "/.cache")))
;; Remove the cache directory in case the lisp implementation wrote
;; something in there when compiling or testing a system.
(when (directory-exists? cache-directory)
(delete-file-recursively cache-directory)))
#t)
(define* (strip #:rest args)
@ -280,15 +260,14 @@ if it's present in the native-inputs."
(define %standard-phases
(modify-phases gnu:%standard-phases
(delete 'bootstrap)
(delete 'configure)
(delete 'install)
(replace 'configure configure)
(add-before 'configure 'copy-source copy-source)
(replace 'build build)
(add-before 'build 'copy-source copy-source)
(replace 'check check)
(replace 'strip strip)
(add-after 'check 'create-asd-file create-asd-file)
(add-after 'create-asd-file 'cleanup cleanup-files)
(add-after 'cleanup 'create-symlinks symlink-asd-files)))
(add-after 'check 'create-asdf-configuration create-asdf-configuration)
(add-after 'create-asdf-configuration 'cleanup cleanup-files)
(delete 'install)
(replace 'strip strip)))
(define* (asdf-build #:key inputs
(phases %standard-phases)

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,19 +29,17 @@
%lisp-type
%source-install-prefix
lisp-eval-program
compile-system
compile-systems
test-system
replace-escaped-macros
generate-executable-wrapper-system
generate-executable-entry-point
generate-executable-for-system
%bundle-install-prefix
bundle-asd-file
wrap-output-translations
prepend-to-source-registry
build-program
build-image
make-asd-file
make-asdf-configuration
valid-char-set
normalize-string
library-output))
@ -65,9 +64,6 @@
;; link farm for system definition (.asd) files.
(define %source-install-prefix "/share/common-lisp")
(define (%bundle-install-prefix)
(string-append %source-install-prefix "/" (%lisp-type) "-bundle-systems"))
(define (library-output outputs)
"If a `lib' output exists, build things there. Otherwise use `out'."
(or (assoc-ref outputs "lib") (assoc-ref outputs "out")))
@ -81,38 +77,6 @@
"Replace invalid characters in STR with a hyphen."
(string-join (string-tokenize str valid-char-set) "-"))
(define (normalize-dependency dependency)
"Normalize the name of DEPENDENCY. Handles dependency definitions of the
dependency-def form described by
<https://common-lisp.net/project/asdf/asdf.html#The-defsystem-grammar>.
Assume that any symbols in DEPENDENCY will be in upper-case."
(match dependency
((':VERSION name rest ...)
`(:version ,(normalize-string name) ,@rest))
((':FEATURE feature-specification dependency-specification)
`(:feature
,feature-specification
,(normalize-dependency dependency-specification)))
((? string? name) (normalize-string name))
(require-specification require-specification)))
(define (inputs->asd-file-map inputs)
"Produce a hash table of the form (system . asd-file), where system is the
name of an ASD system, and asd-file is the full path to its definition."
(alist->hash-table
(filter-map
(match-lambda
((_ . path)
(let ((prefix (string-append path (%bundle-install-prefix))))
(and (directory-exists? prefix)
(match (find-files prefix "\\.asd$")
((asd-file)
(cons
(string-drop-right (basename asd-file) 4) ; drop ".asd"
asd-file))
(_ #f))))))
inputs)))
(define (wrap-output-translations translations)
`(:output-translations
,@translations
@ -143,70 +107,26 @@ with PROGRAM."
"--eval" "(quit)"))
(_ (error "The LISP provided is not supported at this time."))))
(define (asdf-load-all systems)
(map (lambda (system)
`(asdf:load-system ,system))
systems))
(define (compile-system system asd-file)
"Use a lisp implementation to compile SYSTEM using asdf. Load ASD-FILE
first."
(define (compile-systems systems asd-files)
"Use a lisp implementation to compile the SYSTEMS using asdf.
Load ASD-FILES first."
(lisp-eval-program
`((require :asdf)
(asdf:load-asd (truename ,asd-file) :name ,(normalize-string system))
(asdf:operate 'asdf:compile-bundle-op ,system))))
,@(map (lambda (asd-file)
`(asdf:load-asd (truename ,asd-file)))
asd-files)
,@(map (lambda (system)
`(asdf:compile-system ,system))
systems))))
(define (system-dependencies system asd-file)
"Return the dependencies of SYSTEM, as reported by
asdf:system-depends-on. First load the system's ASD-FILE."
(define deps-file ".deps.sexp")
(define program
`((require :asdf)
(asdf:load-asd (truename ,asd-file) :name ,(normalize-string system))
(with-open-file
(stream ,deps-file :direction :output)
(format stream
"~s~%"
(asdf:system-depends-on
(asdf:find-system ,system))))))
(dynamic-wind
(lambda _
(lisp-eval-program program))
(lambda _
(call-with-input-file deps-file read))
(lambda _
(when (file-exists? deps-file)
(delete-file deps-file)))))
(define (compiled-system system)
(let ((system (basename system))) ; this is how asdf handles slashes
(match (%lisp-type)
("sbcl" (string-append system "--system"))
(_ system))))
(define* (generate-system-definition system
#:key version dependencies component?)
`(asdf:defsystem
,(normalize-string system)
,@(if component?
'(:class asdf/bundle:prebuilt-system)
'())
:version ,version
:depends-on ,dependencies
,@(if component?
`(:components ((:compiled-file ,(compiled-system system))))
'())
,@(if (string=? "ecl" (%lisp-type))
`(:lib ,(string-append system ".a"))
'())))
(define (test-system system asd-file test-asd-file)
"Use a lisp implementation to test SYSTEM using asdf. Load ASD-FILE first.
(define (test-system system asd-files test-asd-file)
"Use a lisp implementation to test SYSTEM using asdf. Load ASD-FILES first.
Also load TEST-ASD-FILE if necessary."
(lisp-eval-program
`((require :asdf)
(asdf:load-asd (truename ,asd-file) :name ,(normalize-string system))
,@(map (lambda (asd-file)
`(asdf:load-asd (truename ,asd-file)))
asd-files)
,@(if test-asd-file
`((asdf:load-asd (truename ,test-asd-file)))
;; Try some likely files.
@ -237,6 +157,7 @@ created a \"SYSTEM-exec\" system which contains the entry program."
:executable t
:compression t))
'())
(asdf:load-asd (truename ,(string-append system "-exec.asd")))
(asdf:operate ',type ,(string-append system "-exec")))))
(define (generate-executable-wrapper-system system dependencies)
@ -271,79 +192,30 @@ ENTRY-PROGRAM for SYSTEM within the current directory."
(declare (ignorable arguments))
,@entry-program))))))))
(define (generate-dependency-links registry system)
"Creates a program which populates asdf's source registry from REGISTRY, an
alist of dependency names to corresponding asd files. This allows the system
to locate its dependent systems."
`(progn
(asdf/source-registry:ensure-source-registry)
,@(map (match-lambda
((name . asd-file)
`(setf
(gethash ,name
asdf/source-registry:*source-registry*)
,(string->symbol "#p")
,asd-file)))
registry)))
(define (make-asdf-configuration name conf-dir deps-conf-dir source-dir lib-dir)
(let ((registry-dir (string-append
conf-dir "/source-registry.conf.d"))
(translations-dir (string-append
conf-dir "/asdf-output-translations.conf.d"))
(deps-registry-dir (string-append
deps-conf-dir "/source-registry.conf.d"))
(deps-translations-dir (string-append
deps-conf-dir
"/asdf-output-translations.conf.d")))
(mkdir-p registry-dir)
(when (directory-exists? deps-registry-dir)
(copy-recursively deps-registry-dir registry-dir))
(with-output-to-file (string-append registry-dir "/50-" name ".conf")
(lambda _
(format #t "~y~%" `(:tree ,source-dir))))
(define* (make-asd-file asd-file
#:key system version inputs
(system-asd-file #f))
"Create an ASD-FILE for SYSTEM@VERSION, appending a program to allow the
system to find its dependencies, as described by GENERATE-DEPENDENCY-LINKS."
(define dependencies
(let ((deps
(system-dependencies system system-asd-file)))
(if (eq? 'NIL deps)
'()
(map normalize-dependency deps))))
(define lisp-input-map
(inputs->asd-file-map inputs))
(define dependency-name
(match-lambda
((':version name _ ...) name)
((':feature _ dependency-specification)
(dependency-name dependency-specification))
((? string? name) name)
(_ #f)))
(define registry
(filter-map hash-get-handle
(make-list (length dependencies)
lisp-input-map)
(map dependency-name dependencies)))
;; Ensure directory exists, which might not be the case for an .asd without components.
(mkdir-p (dirname asd-file))
(call-with-output-file asd-file
(lambda (port)
(display
(replace-escaped-macros
(format #f "~y~%~y~%"
(generate-system-definition
system
#:version version
#:dependencies dependencies
;; Some .asd don't have components, and thus they don't generate any .fasl.
#:component? (match (%lisp-type)
("sbcl" (pair? (find-files (dirname asd-file)
"--system\\.fasl$")))
("ecl" (pair? (find-files (dirname asd-file)
"\\.fasb$")))
(_ (error "The LISP provided is not supported at this time."))))
(generate-dependency-links registry system)))
port))))
(define (bundle-asd-file output-path original-asd-file)
"Find the symlinked bundle file for ORIGINAL-ASD-FILE by looking in
OUTPUT-PATH/share/common-lisp/LISP-bundle-systems/<system>.asd. Returns two
values: the asd file itself and the directory in which it resides."
(let ((bundle-asd-path (string-append output-path
(%bundle-install-prefix))))
(values (string-append bundle-asd-path "/" (basename original-asd-file))
bundle-asd-path)))
(mkdir-p translations-dir)
(when (directory-exists? deps-translations-dir)
(copy-recursively deps-translations-dir translations-dir))
(with-output-to-file (string-append translations-dir "/50-" name ".conf")
(lambda _
(format #t "~y~%" `((,source-dir :**/ :*.*.*)
(,lib-dir :**/ :*.*.*)))))))
(define (replace-escaped-macros string)
"Replace simple lisp forms that the guile writer escapes, for example by
@ -368,6 +240,7 @@ will run ENTRY-PROGRAM, a list of Common Lisp expressions in which `arguments'
has been bound to the command-line arguments which were passed. Link in any
asd files from DEPENDENCY-PREFIXES to ensure references to those libraries are
retained."
(setenv "XDG_CONFIG_DIRS" (string-append (library-output outputs) "/etc"))
(generate-executable program
#:dependencies dependencies
#:dependency-prefixes dependency-prefixes
@ -388,6 +261,7 @@ retained."
"Generate an image, possibly standalone, which contains all DEPENDENCIES,
placing the result in IMAGE.image. Link in any asd files from
DEPENDENCY-PREFIXES to ensure references to those libraries are retained."
(setenv "XDG_CONFIG_DIRS" (string-append (library-output outputs) "/etc"))
(generate-executable image
#:dependencies dependencies
#:dependency-prefixes dependency-prefixes
@ -416,20 +290,15 @@ references to those libraries are retained."
(mkdir-p bin-directory)
(with-directory-excursion bin-directory
(generate-executable-wrapper-system name dependencies)
(generate-executable-entry-point name entry-program))
(prepend-to-source-registry
(string-append bin-directory "/"))
(setenv "ASDF_OUTPUT_TRANSLATIONS"
(replace-escaped-macros
(format
#f "~S"
(wrap-output-translations
`(((,bin-directory :**/ :*.*.*)
(,bin-directory :**/ :*.*.*)))))))
(generate-executable-for-system type name #:compress? compress?)
(generate-executable-entry-point name entry-program)
(setenv "ASDF_OUTPUT_TRANSLATIONS"
(replace-escaped-macros
(format
#f "~S"
(wrap-output-translations
`(((,bin-directory :**/ :*.*.*)
(,bin-directory :**/ :*.*.*)))))))
(generate-executable-for-system type name #:compress? compress?))
(let* ((after-store-prefix-index
(string-index out-file #\/
@ -445,9 +314,11 @@ references to those libraries are retained."
(symlink asd-file
(string-append hidden-asd-links
"/" (basename asd-file))))
(find-files (string-append path (%bundle-install-prefix))
(find-files (string-append path %source-install-prefix "/"
(%lisp-type))
"\\.asd$")))
dependency-prefixes))
(delete-file (string-append bin-directory "/" name "-exec.asd"))
(delete-file (string-append bin-directory "/" name "-exec.lisp"))))
(delete-file (string-append bin-directory "/" name "-exec.lisp"))
(delete-file (string-append bin-directory "/" name "-exec.fasl"))))

View File

@ -19,7 +19,6 @@
(define-module (guix ci)
#:use-module (guix http-client)
#:use-module (guix json)
#:use-module (json)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)

View File

@ -19,7 +19,6 @@
(define-module (guix cve)
#:use-module (guix utils)
#:use-module (guix http-client)
#:use-module (guix json)
#:use-module (guix i18n)
#:use-module ((guix diagnostics) #:select (formatted-message))
#:use-module (json)

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