Archived
1
0
Fork 0

Merge branch 'master' into core-updates-frozen

This commit is contained in:
Ludovic Courtès 2021-11-23 11:22:30 +01:00
commit b15e543d30
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
76 changed files with 3263 additions and 1050 deletions

11
NEWS
View file

@ -14,15 +14,22 @@ Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 1.4.0 (since 1.3.0) * Changes in 1.4.0 (since 1.3.0)
** Package management ** Package management
*** New guix home command, for home environment management
*** New guix shell command, the successor to guix environment
*** New deb format for the guix pack command *** New deb format for the guix pack command
*** New guix import minetest command, to import Minetest extensions *** New guix import minetest command, to import Minetest extensions
*** guix import texlive rewritten to use the TLPDB as its source
*** guix import elpa now supports the non-GNU ELPA repository *** guix import elpa now supports the non-GNU ELPA repository
*** guix import pypi can now import a specific version
*** guix import cran can now import a specific version
*** New updater (see guix refresh): generic-git *** New updater (see guix refresh): generic-git
*** guix graph has a new --max-depth option
*** --with-commit option now accepts strings returned by git describe *** --with-commit option now accepts strings returned by git describe
** Distribution ** Distribution
*** The installation script can now enable local substitute servers discovery *** The installation script can now enable local substitute servers discovery
*** More control over boot-time file system checks and repairs *** More control over boot-time file system checks and repairs
*** XFS file systems can be created by the installer and mounted by label/UUID *** XFS file systems can be created by the installer and mounted by label/UUID
*** New interface for declaring swap space
** Programming interfaces ** Programming interfaces
*** (guix records) now supports “field sanitizers” *** (guix records) now supports “field sanitizers”
** Noteworthy bug fixes ** Noteworthy bug fixes
@ -32,6 +39,10 @@ Please send Guix bug reports to bug-guix@gnu.org.
(<https://issues.guix.gnu.org/49697>) (<https://issues.guix.gnu.org/49697>)
*** Fix pathological profile building performance in the presence of grafts *** Fix pathological profile building performance in the presence of grafts
(<https://issues.guix.gnu.org/49439>) (<https://issues.guix.gnu.org/49439>)
*** Deduplication phase of the garbage collector is now faster
(<https://issues.guix.gnu.org/24937>)
*** File system flags are validated before system instantiation
(<https://issues.guix.gnu.org/51425>)
* Changes in 1.3.0 (since 1.2.0) * Changes in 1.3.0 (since 1.2.0)
** Package management ** Package management

View file

@ -8,7 +8,7 @@ AC_INIT([GNU Guix],
[https://www.gnu.org/software/guix/]) [https://www.gnu.org/software/guix/])
AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.14 gnu silent-rules subdir-objects \ AM_INIT_AUTOMAKE([1.14 gnu tar-ustar silent-rules subdir-objects \
color-tests parallel-tests -Woverride -Wno-portability]) color-tests parallel-tests -Woverride -Wno-portability])
# Enable silent rules by default. # Enable silent rules by default.

View file

@ -120,12 +120,12 @@ export ACLOCAL_PATH=/usr/share/aclocal
@xref{Macro Search Path,,, automake, The GNU Automake Manual}, for @xref{Macro Search Path,,, automake, The GNU Automake Manual}, for
more information. more information.
Then, run @command{./configure} as usual. Make sure to pass Then, run @command{./configure --localstatedir=@var{directory}}, where
@code{--localstatedir=@var{directory}} where @var{directory} is the @var{directory} is the @code{localstatedir} value used by your current
@code{localstatedir} value used by your current installation (@pxref{The installation (@pxref{The Store}, for information about this), usually
Store}, for information about this), usually @file{/var}. Note that you @file{/var}. Note that you will probably not run @command{make install}
will probably not run @command{make install} at the end (you don't have at the end (you don't have to) but it's still important to pass the
to) but it's still important to pass the right @code{localstatedir}. right @code{localstatedir}.
Finally, you have to invoke @code{make && make check} to build Guix and Finally, you have to invoke @code{make && make check} to build Guix and
run the tests (@pxref{Running the Test Suite}). If anything fails, take run the tests (@pxref{Running the Test Suite}). If anything fails, take

View file

@ -30,7 +30,7 @@ Copyright @copyright{} 2015, 2016 Mathieu Lirzin@*
Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2014 Pierre-Antoine Rault@*
Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@*
Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2019, 2020, 2021 Leo Famulari@*
Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus@*
Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016 Ben Woodcroft@*
Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@* Copyright @copyright{} 2016, 2017, 2018, 2021 Chris Marusich@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner@* Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner@*
@ -321,6 +321,7 @@ System Configuration
* operating-system Reference:: Detail of operating-system declarations. * operating-system Reference:: Detail of operating-system declarations.
* File Systems:: Configuring file system mounts. * File Systems:: Configuring file system mounts.
* Mapped Devices:: Block device extra processing. * Mapped Devices:: Block device extra processing.
* Swap Space:: Backing RAM with disk space.
* User Accounts:: Specifying user accounts. * User Accounts:: Specifying user accounts.
* Keyboard Layout:: How the system interprets key strokes. * Keyboard Layout:: How the system interprets key strokes.
* Locales:: Language and cultural convention settings. * Locales:: Language and cultural convention settings.
@ -2517,10 +2518,9 @@ system relative to this path. If you have opted for @file{/boot/efi} as an
EFI mount point for example, mount it at @file{/mnt/boot/efi} now so it is EFI mount point for example, mount it at @file{/mnt/boot/efi} now so it is
found by @code{guix system init} afterwards. found by @code{guix system init} afterwards.
Finally, if you plan to use one or more swap partitions (@pxref{Memory Finally, if you plan to use one or more swap partitions (@pxref{Swap
Concepts, swap space,, libc, The GNU C Library Reference Manual}), make Space}), make sure to initialize them with @command{mkswap}. Assuming
sure to initialize them with @command{mkswap}. Assuming you have one you have one swap partition on @file{/dev/sda3}, you would run:
swap partition on @file{/dev/sda3}, you would run:
@example @example
mkswap /dev/sda3 mkswap /dev/sda3
@ -11982,14 +11982,14 @@ guix import cran --archive=git https://github.com/immunogenomics/harmony
@item texlive @item texlive
@cindex TeX Live @cindex TeX Live
@cindex CTAN @cindex CTAN
Import metadata from @uref{https://www.ctan.org/, CTAN}, the Import TeX package information from the TeX Live package database for
comprehensive TeX archive network for TeX packages that are part of the TeX packages that are part of the @uref{https://www.tug.org/texlive/,
@uref{https://www.tug.org/texlive/, TeX Live distribution}. TeX Live distribution}.
Information about the package is obtained through the XML API provided Information about the package is obtained from the TeX Live package
by CTAN, while the source code is downloaded from the SVN repository of database, a plain text file that is included in the @code{texlive-bin}
the Tex Live project. This is done because the CTAN does not keep package. The source code is downloaded from possibly multiple locations
versioned archives. in the SVN repository of the Tex Live project.
The command command below imports metadata for the @code{fontspec} The command command below imports metadata for the @code{fontspec}
TeX package: TeX package:
@ -11998,19 +11998,6 @@ TeX package:
guix import texlive fontspec guix import texlive fontspec
@end example @end example
When @option{--archive=@var{directory}} is added, the source code is
downloaded not from the @file{latex} sub-directory of the
@file{texmf-dist/source} tree in the TeX Live SVN repository, but from
the specified sibling @var{directory} under the same root.
The command below imports metadata for the @code{ifxetex} package from
CTAN while fetching the sources from the directory
@file{texmf/source/generic}:
@example
guix import texlive --archive=generic ifxetex
@end example
@item json @item json
@cindex JSON, import @cindex JSON, import
Import package metadata from a local JSON file. Consider the following Import package metadata from a local JSON file. Consider the following
@ -14206,6 +14193,7 @@ instance to support new system services.
* operating-system Reference:: Detail of operating-system declarations. * operating-system Reference:: Detail of operating-system declarations.
* File Systems:: Configuring file system mounts. * File Systems:: Configuring file system mounts.
* Mapped Devices:: Block device extra processing. * Mapped Devices:: Block device extra processing.
* Swap Space:: Backing RAM with disk space.
* User Accounts:: Specifying user accounts. * User Accounts:: Specifying user accounts.
* Keyboard Layout:: How the system interprets key strokes. * Keyboard Layout:: How the system interprets key strokes.
* Locales:: Language and cultural convention settings. * Locales:: Language and cultural convention settings.
@ -14374,7 +14362,7 @@ configuration, but with a few modifications.
@cindex encrypted disk @cindex encrypted disk
The configuration for a typical ``desktop'' usage, with an encrypted The configuration for a typical ``desktop'' usage, with an encrypted
root partition, the X11 display root partition, a swap file on the root partition, the X11 display
server, GNOME and Xfce (users can choose which of these desktop server, GNOME and Xfce (users can choose which of these desktop
environments to use at the log-in screen by pressing @kbd{F1}), network environments to use at the log-in screen by pressing @kbd{F1}), network
management, power management, and more, would look like this: management, power management, and more, would look like this:
@ -14572,38 +14560,9 @@ A list of mapped devices. @xref{Mapped Devices}.
@item @code{file-systems} @item @code{file-systems}
A list of file systems. @xref{File Systems}. A list of file systems. @xref{File Systems}.
@cindex swap devices
@cindex swap space
@item @code{swap-devices} (default: @code{'()}) @item @code{swap-devices} (default: @code{'()})
A list of UUIDs, file system labels, or strings identifying devices or @cindex swap devices
files to be used for ``swap A list of swap spaces. @xref{Swap Space}.
space'' (@pxref{Memory Concepts,,, libc, The GNU C Library Reference
Manual}). Here are some examples:
@table @code
@item (list (uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb"))
Use the swap partition with the given UUID@. You can learn the UUID of a
Linux swap partition by running @command{swaplabel @var{device}}, where
@var{device} is the @file{/dev} file name of that partition.
@item (list (file-system-label "swap"))
Use the partition with label @code{swap}. Again, the
@command{swaplabel} command allows you to view and change the label of a
Linux swap partition.
@item (list "/swapfile")
Use the file @file{/swapfile} as swap space.
@item (list "/dev/sda3" "/dev/sdb2")
Use the @file{/dev/sda3} and @file{/dev/sdb2} partitions as swap space.
We recommend referring to swap devices by UUIDs or labels as shown above
instead.
@end table
It is possible to specify a swap file in a file system on a mapped
device (under @file{/dev/mapper}), provided that the necessary device
mapping and file system are also specified. @xref{Mapped Devices} and
@ref{File Systems}.
@item @code{users} (default: @code{%base-user-accounts}) @item @code{users} (default: @code{%base-user-accounts})
@itemx @code{groups} (default: @code{%base-groups}) @itemx @code{groups} (default: @code{%base-groups})
@ -15193,7 +15152,8 @@ It is also desirable to encrypt swap space, since swap space may contain
sensitive data. One way to accomplish that is to use a swap file in a sensitive data. One way to accomplish that is to use a swap file in a
file system on a device mapped via LUKS encryption. In this way, the file system on a device mapped via LUKS encryption. In this way, the
swap file is encrypted because the entire device is encrypted. swap file is encrypted because the entire device is encrypted.
@xref{Preparing for Installation,,Disk Partitioning}, for an example. @xref{Swap Space}, or @xref{Preparing for Installation,,Disk
Partitioning}, for an example.
A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1} A RAID device formed of the partitions @file{/dev/sda1} and @file{/dev/sdb1}
may be declared as follows: may be declared as follows:
@ -15225,6 +15185,106 @@ Devices @file{/dev/mapper/vg0-alpha} and @file{/dev/mapper/vg0-beta} can
then be used as the @code{device} of a @code{file-system} declaration then be used as the @code{device} of a @code{file-system} declaration
(@pxref{File Systems}). (@pxref{File Systems}).
@node Swap Space
@section Swap Space
@cindex swap space
Swap space, as it is commonly called, is a disk area specifically
designated for paging: the process in charge of memory management
(the Linux kernel or Hurd's default pager) can decide that some memory
pages stored in RAM which belong to a running program but are unused
should be stored on disk instead. It unloads those from the RAM,
freeing up precious fast memory, and writes them to the swap space. If
the program tries to access that very page, the memory management
process loads it back into memory for the program to use.
A common misconception about swap is that it is only useful when small
amounts of RAM are available to the system. However, it should be noted
that kernels often use all available RAM for disk access caching to make
I/O faster, and thus paging out unused portions of program memory will
expand the RAM available for such caching.
For a more detailed description of how memory is managed from the
viewpoint of a monolithic kernel, @xref{Memory
Concepts,,, libc, The GNU C Library Reference Manual}.
The Linux kernel has support for swap partitions and swap files: the
former uses a whole disk partition for paging, whereas the second uses a
file on a file system for that (the file system driver needs to support
it). On a comparable setup, both have the same performance, so one
should consider ease of use when deciding between them. Partitions are
``simpler'' and do not need file system support, but need to be
allocated at disk formatting time (logical volumes notwithstanding),
whereas files can be allocated and deallocated at any time.
Note that swap space is not zeroed on shutdown, so sensitive data (such
as passwords) may linger on it if it was paged out. As such, you should
consider having your swap reside on an encrypted device (@pxref{Mapped
Devices}).
@deftp {Data Type} swap-space
Objects of this type represent swap spaces. They contain the following
members:
@table @asis
@item @code{target}
The device or file to use, either a UUID, a @code{file-system-label} or
a string, as in the definition of a @code{file-system} (@pxref{File
Systems}).
@item @code{dependencies} (default: @code{'()})
A list of @code{file-system} or @code{mapped-device} objects, upon which
the availability of the space depends. Note that just like for
@code{file-system} objects, dependencies which are needed for boot and
mounted in early userspace are not managed by the Shepherd, and so
automatically filtered out for you.
@item @code{priority} (default: @code{#f})
Only supported by the Linux kernel. Either @code{#f} to disable swap
priority, or an integer between 0 and 32767. The kernel will first use
swap spaces of higher priority when paging, and use same priority spaces
on a round-robin basis. The kernel will use swap spaces without a set
priority after prioritized spaces, and in the order that they appeared in
(not round-robin).
@item @code{discard?} (default: @code{#f})
Only supported by the Linux kernel. When true, the kernel will notify
the disk controller of discarded pages, for example with the TRIM
operation on Solid State Drives.
@end table
@end deftp
Here are some examples:
@lisp
(swap-space (target (uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb")))
@end lisp
Use the swap partition with the given UUID@. You can learn the UUID of a
Linux swap partition by running @command{swaplabel @var{device}}, where
@var{device} is the @file{/dev} file name of that partition.
@lisp
(swap-space
(target (file-system-label "swap"))
(dependencies (list lvm-device)))
@end lisp
Use the partition with label @code{swap}, which can be found after the
@var{lvm-device} mapped device has been opened. Again, the
@command{swaplabel} command allows you to view and change the label of a
Linux swap partition.
@lisp
(swap-space
(target "/btrfs/swapfile")
(dependencies (list btrfs-fs)))
@end lisp
Use the file @file{/btrfs/swapfile} as swap space, which is present on the
@var{btrfs-fs} filesystem.
@node User Accounts @node User Accounts
@section User Accounts @section User Accounts
@ -33469,6 +33529,17 @@ Enable or disable debug output.
@item @code{enable-iptables?} (default @code{#t}) @item @code{enable-iptables?} (default @code{#t})
Enable or disable the addition of iptables rules. Enable or disable the addition of iptables rules.
@item @code{environment-variables} (default: @code{()})
List of environment variables to set for @command{dockerd}.
This must be a list of strings where each string has the form
@samp{@var{key}=@var{value}} as in this example:
@lisp
(list "LANGUAGE=eo:ca:eu"
"TMPDIR=/tmp/dockerd")
@end lisp
@end table @end table
@end deftp @end deftp
@ -35337,7 +35408,7 @@ VM@. To enable that you'll also have to pass the following flags to @command{qe
@example @example
-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5
-chardev spicevmc,name=vdagent,id=vdagent -chardev spicevmc,name=vdagent,id=vdagent
-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent, -device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,\
name=com.redhat.spice.0 name=com.redhat.spice.0
@end example @end example
@ -36161,9 +36232,8 @@ The @command{guix home import} command reads some of the ``dot files''
such as @file{~/.bashrc} found in your home directory and copies them to such as @file{~/.bashrc} found in your home directory and copies them to
the given directory, @file{~/src/guix-config} in this case; it also the given directory, @file{~/src/guix-config} in this case; it also
reads the contents of your profile, @file{~/.guix-profile}, and, based reads the contents of your profile, @file{~/.guix-profile}, and, based
on that, it outputs a Home configuration that resembles your current on that, it populates @file{~/src/guix-config/home-configuration.scm}
configuration. You can dump that configuration to a file and you're with a Home configuration that resembles your current configuration.
ready to go!
A simple setup can include Bash and a custom text configuration, like in A simple setup can include Bash and a custom text configuration, like in
the example below. Don't be afraid to declare home environment parts, the example below. Don't be afraid to declare home environment parts,
@ -36895,33 +36965,14 @@ $ guix home list-generations 10d
@item import @item import
Generate a @dfn{home environment} from the packages in the default Generate a @dfn{home environment} from the packages in the default
profile and configuration files found in the user's home directory. The profile and configuration files found in the user's home directory. The
configuration files will be copied to the specified directory. Note configuration files will be copied to the specified directory, and a
that not every home service that exists is supported (@pxref{Home @file{home-configuration.scm} will be populated with the home
Services}). environment. Note that not every home service that exists is supported
(@pxref{Home Services}).
@example @example
$ guix home import ~/guix-config $ guix home import ~/guix-config
;; This "home-environment" file can be passed to 'guix home reconfigure' guix home: '/home/alice/guix-config' populated with all the Home configuration files
;; to reproduce the content of your profile. This is "symbolic": it only
;; specifies package names. To reproduce the exact same profile, you also
;; need to capture the channels being used, as returned by "guix describe".
;; See the "Replicating Guix" section in the manual.
(use-modules
(gnu home)
(gnu packages)
(gnu home services shells))
(home-environment
(packages
(map specification->package
(list "glibc-locales" "nss-certs" "nss")))
(services
(list (service
home-bash-service-type
(home-bash-configuration
(bashrc
(list (local-file "/home/charlie/guix-config/.bashrc"))))))))
@end example @end example
@end table @end table

View file

@ -183,8 +183,13 @@ record."
;; The <bootloader-configuration> record contains bootloader independant ;; The <bootloader-configuration> record contains bootloader independant
;; configuration used to fill bootloader configuration file. ;; configuration used to fill bootloader configuration file.
(define-syntax-rule (warn-target-field-deprecation value) (define-with-syntax-properties (warn-target-field-deprecation
(%warn-target-field-deprecation value (current-source-location))) (value properties))
(when value
(warning (source-properties->location properties)
(G_ "the 'target' field is deprecated, please use 'targets' \
instead~%")))
value)
(define-record-type* <bootloader-configuration> (define-record-type* <bootloader-configuration>
bootloader-configuration make-bootloader-configuration bootloader-configuration make-bootloader-configuration
@ -213,13 +218,6 @@ record."
(serial-speed bootloader-configuration-serial-speed ;integer | #f (serial-speed bootloader-configuration-serial-speed ;integer | #f
(default #f))) (default #f)))
(define (%warn-target-field-deprecation value location)
(when value
(warning (source-properties->location location)
(G_ "the 'target' field is deprecated, please use 'targets' \
instead~%")))
value)
(define-deprecated (bootloader-configuration-target config) (define-deprecated (bootloader-configuration-target config)
bootloader-configuration-targets bootloader-configuration-targets
(%bootloader-configuration-target config)) (%bootloader-configuration-target config))

View file

@ -29,6 +29,8 @@
#:use-module (guix build bournish) #:use-module (guix build bournish)
#:use-module ((guix build syscalls) #:use-module ((guix build syscalls)
#:hide (file-system-type)) #:hide (file-system-type))
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module (rnrs io ports) #:use-module (rnrs io ports)
#:use-module (rnrs bytevectors) #:use-module (rnrs bytevectors)
#:use-module (ice-9 match) #:use-module (ice-9 match)
@ -54,7 +56,9 @@
mount-flags->bit-mask mount-flags->bit-mask
check-file-system check-file-system
mount-file-system)) mount-file-system
swap-space->flags-bit-mask))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -227,6 +231,36 @@ if DEVICE does not contain an linux-swap file system."
"Return the label of Linux-swap superblock SBLOCK as a string." "Return the label of Linux-swap superblock SBLOCK as a string."
(null-terminated-latin1->string (null-terminated-latin1->string
(sub-bytevector sblock (+ 1024 4 4 4 16) 16))) (sub-bytevector sblock (+ 1024 4 4 4 16) 16)))
(define (swap-space->flags-bit-mask swap)
"Return the number suitable for the 'flags' argument of 'mount'
that corresponds to the swap-space SWAP."
(define prio-flag
(let ((p (swap-space-priority swap))
(max (ash SWAP_FLAG_PRIO_MASK (- SWAP_FLAG_PRIO_SHIFT))))
(if p
(logior SWAP_FLAG_PREFER
(ash (cond
((< p 0)
(begin (warning
(G_ "Given swap priority ~a is
negative, defaulting to 0.~%") p)
0))
((> p max)
(begin (warning
(G_ "Limiting swap priority ~a to
~a.~%")
p max)
max))
(else p))
SWAP_FLAG_PRIO_SHIFT))
0)))
(define delayed-flag
(if (swap-space-discard? swap)
SWAP_FLAG_DISCARD
0))
(logior prio-flag delayed-flag))
;;; ;;;

View file

@ -291,7 +291,7 @@ will be put in @file{~/.guix-home/files}.")))
(begin #$@gexps (touch flag-file-path))) (begin #$@gexps (touch flag-file-path)))
(display "XDG_RUNTIME_DIR doesn't exists, on-first-login script (display "XDG_RUNTIME_DIR doesn't exists, on-first-login script
won't execute anything. You can check if xdg runtime directory exists, won't execute anything. You can check if xdg runtime directory exists,
XDG_RUNTIME_DIR variable is set to apropriate value and manually execute the XDG_RUNTIME_DIR variable is set to appropriate value and manually execute the
script by running '$HOME/.guix-home/on-first-login'"))))) script by running '$HOME/.guix-home/on-first-login'")))))
(define (on-first-login-script-entry on-first-login) (define (on-first-login-script-entry on-first-login)

View file

@ -520,6 +520,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/sawfish.scm \ %D%/packages/sawfish.scm \
%D%/packages/scanner.scm \ %D%/packages/scanner.scm \
%D%/packages/scheme.scm \ %D%/packages/scheme.scm \
%D%/packages/spreadsheet.scm \
%D%/packages/screen.scm \ %D%/packages/screen.scm \
%D%/packages/scribus.scm \ %D%/packages/scribus.scm \
%D%/packages/scsi.scm \ %D%/packages/scsi.scm \
@ -587,7 +588,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/video.scm \ %D%/packages/video.scm \
%D%/packages/vim.scm \ %D%/packages/vim.scm \
%D%/packages/virtualization.scm \ %D%/packages/virtualization.scm \
%D%/packages/visidata.scm \
%D%/packages/vlang.scm \ %D%/packages/vlang.scm \
%D%/packages/vnc.scm \ %D%/packages/vnc.scm \
%D%/packages/vpn.scm \ %D%/packages/vpn.scm \
@ -1516,7 +1516,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \ %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \ %D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.09-multiple-definitions.patch \ %D%/packages/patches/ocaml-4.09-multiple-definitions.patch \
%D%/packages/patches/ocaml-ppx-variants-ppxlib-api-change.patch \ %D%/packages/patches/ocaml-qcheck-fix-test-whitespace.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \ %D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/oneko-remove-nonfree-characters.patch \ %D%/packages/patches/oneko-remove-nonfree-characters.patch \
%D%/packages/patches/onnx-optimizer-system-library.patch \ %D%/packages/patches/onnx-optimizer-system-library.patch \
@ -1735,6 +1735,7 @@ dist_patch_DATA = \
%D%/packages/patches/rust-nettle-disable-vendor.patch \ %D%/packages/patches/rust-nettle-disable-vendor.patch \
%D%/packages/patches/rust-nettle-sys-disable-vendor.patch \ %D%/packages/patches/rust-nettle-sys-disable-vendor.patch \
%D%/packages/patches/rust-openssl-sys-no-vendor.patch \ %D%/packages/patches/rust-openssl-sys-no-vendor.patch \
%D%/packages/patches/rust-shell2batch-lint-fix.patch \
%D%/packages/patches/sbc-fix-build-non-x86.patch \ %D%/packages/patches/sbc-fix-build-non-x86.patch \
%D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \ %D%/packages/patches/sbcl-burgled-batteries3-fix-signals.patch \
%D%/packages/patches/sbcl-clml-fix-types.patch \ %D%/packages/patches/sbcl-clml-fix-types.patch \

View file

@ -237,7 +237,7 @@ the real span of the lattice.")
(define-public pari-gp (define-public pari-gp
(package (package
(name "pari-gp") (name "pari-gp")
(version "2.13.2") (version "2.13.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -245,7 +245,7 @@ the real span of the lattice.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"095s7vdlsxmxa0n0l1a082m6gjaypqfqkaj99z8j7dx0ji89hy8n")))) "1jm1cz1687cz8pl8lgvmyk3l33cms1xbayv38ca4z1f60qb7zfnc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("texlive" ,(texlive-updmap.cfg `(("texlive" ,(texlive-updmap.cfg
@ -431,13 +431,13 @@ or text interfaces) or as a C++ library.")
(define-public flint (define-public flint
(package (package
(name "flint") (name "flint")
(version "2.8.1") (version "2.8.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://flintlib.org/flint-" version ".tar.gz")) (uri (string-append "http://flintlib.org/flint-" version ".tar.gz"))
(sha256 (sha256
(base32 "0zj2zgn3cbb08pxhfq38i62pgjfbb6938l70am7dnixqgixdmzgd")))) (base32 "1gp4wm2s8c27g2hh53d09cys62da1bsxfwbcsj9cd7cfikm95pv1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("ntl" ,ntl))) `(("ntl" ,ntl)))
@ -485,7 +485,7 @@ fast arithmetic.")
(define-public arb (define-public arb
(package (package
(name "arb") (name "arb")
(version "2.21.0") (version "2.21.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -494,7 +494,7 @@ fast arithmetic.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0c7q8bbm2izh0j0342v0dkgg1lgd6f0fn3i9x9x80brjjhg65q7b")))) "1lmcl122qy6mr1g1y65bm7dk9fj0sym7gzmvar5vdgk7ln03c5iq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h `(("flint" ,flint))) ; flint.h is included by arf.h

View file

@ -2026,13 +2026,13 @@ microarrays.")
(define-public r-annotationdbi (define-public r-annotationdbi
(package (package
(name "r-annotationdbi") (name "r-annotationdbi")
(version "1.56.1") (version "1.56.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "AnnotationDbi" version)) (uri (bioconductor-uri "AnnotationDbi" version))
(sha256 (sha256
(base32 (base32
"1svh5zcb7ymz463z5641l2cvzniswxasjjix2plfhqs0yqf1j9qg")))) "01zwq14msbbwzxv8rgpmyr74ymvhq0vnmxkxxwd886iac5vjlgi8"))))
(properties (properties
`((upstream-name . "AnnotationDbi"))) `((upstream-name . "AnnotationDbi")))
(build-system r-build-system) (build-system r-build-system)
@ -2459,13 +2459,13 @@ analysis.")
(define-public r-chipseeker (define-public r-chipseeker
(package (package
(name "r-chipseeker") (name "r-chipseeker")
(version "1.30.0") (version "1.30.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ChIPseeker" version)) (uri (bioconductor-uri "ChIPseeker" version))
(sha256 (sha256
(base32 (base32
"1x8px8ylc231g87rd48kmy9y36h26rldbmqjkcj4mgaldvbsj0rp")))) "1nr5p1h9131rvbpnh2kizzx9q6f4ycq6rzxy1yqg2pczqcg7hy4x"))))
(build-system r-build-system) (build-system r-build-system)
(native-inputs (native-inputs
`(("r-knitr" ,r-knitr))) `(("r-knitr" ,r-knitr)))
@ -2822,14 +2822,14 @@ CAGE.")
(define-public r-ensembldb (define-public r-ensembldb
(package (package
(name "r-ensembldb") (name "r-ensembldb")
(version "2.18.0") (version "2.18.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ensembldb" version)) (uri (bioconductor-uri "ensembldb" version))
(sha256 (sha256
(base32 (base32
"02rdbqp33g488w1df1rgp0dg63qrr6w2kmgigxzc8l9wmrvj0y1j")))) "0q56gv0isa9ayw505py7i7x65pvcshmd2j1mna1wpbk66wqj4qzx"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi) `(("r-annotationdbi" ,r-annotationdbi)
@ -3518,14 +3518,14 @@ in SNV base substitution data.")
(define-public r-msnbase (define-public r-msnbase
(package (package
(name "r-msnbase") (name "r-msnbase")
(version "2.20.0") (version "2.20.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "MSnbase" version)) (uri (bioconductor-uri "MSnbase" version))
(sha256 (sha256
(base32 (base32
"1r5igzb7xb5qcw37ffy0c3j6vlg9zffmksrc57rs1pmfnca773z5")))) "0ip614mdwisz2hlmyfgngysq1s3hajb88cgdmygfc8i6kyxjkjzl"))))
(properties `((upstream-name . "MSnbase"))) (properties `((upstream-name . "MSnbase")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -4442,14 +4442,14 @@ unmodeled, or latent sources of noise.")
(define-public r-systempiper (define-public r-systempiper
(package (package
(name "r-systempiper") (name "r-systempiper")
(version "2.0.0") (version "2.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "systemPipeR" version)) (uri (bioconductor-uri "systemPipeR" version))
(sha256 (sha256
(base32 (base32
"0kibr47z7ml13hpl955qcr4wp2z4nq7gjiinyk30wivrwrng5sg1")))) "1r0qc1pyff9nvjix21xjd6fmka06ywr4ipr8szm52hq41hwaiqgq"))))
(properties `((upstream-name . "systemPipeR"))) (properties `((upstream-name . "systemPipeR")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -5825,14 +5825,14 @@ multiplication.")
(define-public r-treeio (define-public r-treeio
(package (package
(name "r-treeio") (name "r-treeio")
(version "1.18.0") (version "1.18.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "treeio" version)) (uri (bioconductor-uri "treeio" version))
(sha256 (sha256
(base32 (base32
"03gz378qrp6b9fcriqanfnphibqv4bxhvz48rigzkidkzz71wfaj")))) "19i8jhvycv57zbxhpn5gx5ymdiws64kc3nidc00xh1j9a8xkj1aq"))))
(properties `((upstream-name . "treeio"))) (properties `((upstream-name . "treeio")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -5857,14 +5857,14 @@ platform for merging tree with associated data and converting file formats.")
(define-public r-ggtree (define-public r-ggtree
(package (package
(name "r-ggtree") (name "r-ggtree")
(version "3.2.0") (version "3.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "ggtree" version)) (uri (bioconductor-uri "ggtree" version))
(sha256 (sha256
(base32 (base32
"1c6b7kjh44k096v8mhn53abr181vpbn7s6ab7zk4phnsyfxsclxb")))) "0qk39gdpy4kznjhmvi25y2spcdj2r1i6mv673vx8dzf66zfs20v8"))))
(properties `((upstream-name . "ggtree"))) (properties `((upstream-name . "ggtree")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -6315,14 +6315,14 @@ independent of the p-value under the null hypothesis.")
(define-public r-icobra (define-public r-icobra
(package (package
(name "r-icobra") (name "r-icobra")
(version "1.22.0") (version "1.22.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "iCOBRA" version)) (uri (bioconductor-uri "iCOBRA" version))
(sha256 (sha256
(base32 (base32
"0qg32g1rfvh6mx8wny1lrva9vc347288hzml7yb4rnrsx1hggkpa")))) "05j3h314l2bw8n61h1nyiqhm3z7c1axycn4p3xkfccq5i4mcqvn2"))))
(properties `((upstream-name . "iCOBRA"))) (properties `((upstream-name . "iCOBRA")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -6726,14 +6726,14 @@ high-throughput analyses.")
(define-public r-geoquery (define-public r-geoquery
(package (package
(name "r-geoquery") (name "r-geoquery")
(version "2.62.0") (version "2.62.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "GEOquery" version)) (uri (bioconductor-uri "GEOquery" version))
(sha256 (sha256
(base32 (base32
"0fkx4jh1s76l015vwikkryarlx6iihb1z935nzpdhah3rpqx3b3z")))) "0plmh4x37r848g6ilvl1x8cim90rp85gikfc5m8lgi2i4xkq7hbq"))))
(properties `((upstream-name . "GEOquery"))) (properties `((upstream-name . "GEOquery")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -6743,6 +6743,7 @@ high-throughput analyses.")
("r-httr" ,r-httr) ("r-httr" ,r-httr)
("r-limma" ,r-limma) ("r-limma" ,r-limma)
("r-magrittr" ,r-magrittr) ("r-magrittr" ,r-magrittr)
("r-r-utils" ,r-r-utils)
("r-readr" ,r-readr) ("r-readr" ,r-readr)
("r-tidyr" ,r-tidyr) ("r-tidyr" ,r-tidyr)
("r-xml2" ,r-xml2))) ("r-xml2" ,r-xml2)))
@ -9550,14 +9551,14 @@ annotations.")
(define-public r-rsubread (define-public r-rsubread
(package (package
(name "r-rsubread") (name "r-rsubread")
(version "2.8.0") (version "2.8.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "Rsubread" version)) (uri (bioconductor-uri "Rsubread" version))
(sha256 (sha256
(base32 (base32
"09kd7vl2z9k82ppfzy679hs7d00c60z3w3n6a8wq4z3k3f4glc3s")))) "0lpx0dp5570kbrq7v0g573axkhi00qrf38si59vmvnqxhmkvsixn"))))
(properties `((upstream-name . "Rsubread"))) (properties `((upstream-name . "Rsubread")))
(build-system r-build-system) (build-system r-build-system)
(inputs `(("zlib" ,zlib))) (inputs `(("zlib" ,zlib)))
@ -10113,14 +10114,14 @@ self-organizing map clustering and minimal spanning trees.")
(define-public r-mixomics (define-public r-mixomics
(package (package
(name "r-mixomics") (name "r-mixomics")
(version "6.17.26") (version "6.18.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "mixOmics" version)) (uri (bioconductor-uri "mixOmics" version))
(sha256 (sha256
(base32 (base32
"10ir4876sjmw2mw0cjvshwy3qyhsyz6g1ihyr3dycgzya0jcxw1x")))) "0jwkb5scc33nfn2mibga8vp00pmc24ham71gpkbizvy43cy85icf"))))
(properties `((upstream-name . "mixOmics"))) (properties `((upstream-name . "mixOmics")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -11978,14 +11979,14 @@ gene selection, testing relationships, and so on.")
(define-public r-biocpkgtools (define-public r-biocpkgtools
(package (package
(name "r-biocpkgtools") (name "r-biocpkgtools")
(version "1.12.0") (version "1.12.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "BiocPkgTools" version)) (uri (bioconductor-uri "BiocPkgTools" version))
(sha256 (sha256
(base32 (base32
"13m6h35938407ajj7fakl50g4p2wsvinkg0r2mwl1zwq88735arg")))) "1yz2sgx4xrnw22k3d6q6hkj213bnbb4hbr5ymxnmjnsz551s75ny"))))
(properties `((upstream-name . "BiocPkgTools"))) (properties `((upstream-name . "BiocPkgTools")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -12026,14 +12027,14 @@ analytics on packages.")
(define-public r-biocset (define-public r-biocset
(package (package
(name "r-biocset") (name "r-biocset")
(version "1.8.0") (version "1.8.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "BiocSet" version)) (uri (bioconductor-uri "BiocSet" version))
(sha256 (sha256
(base32 (base32
"0ysm68gcalg3d91jx6vmdzra01vc6kvzqnvz557g3rnm0wkx12q6")))) "1x5ar9byr85iap2x6y66j31fi17wr31awx1gl3z01sckp0dldx6w"))))
(properties `((upstream-name . "BiocSet"))) (properties `((upstream-name . "BiocSet")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -12378,13 +12379,13 @@ routines.")
(define-public r-s4vectors (define-public r-s4vectors
(package (package
(name "r-s4vectors") (name "r-s4vectors")
(version "0.32.0") (version "0.32.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "S4Vectors" version)) (uri (bioconductor-uri "S4Vectors" version))
(sha256 (sha256
(base32 (base32
"1zm1xlqrq1f9xa81j3ij2p78g3aywq7izsk3h40z94fjggahvc09")))) "0xrmii2dnwyknpjdiwwjlklgzpbk9q09br27rq5ffz08if9yyk20"))))
(properties (properties
`((upstream-name . "S4Vectors"))) `((upstream-name . "S4Vectors")))
(build-system r-build-system) (build-system r-build-system)
@ -12538,14 +12539,14 @@ provided.")
(define-public r-hdf5array (define-public r-hdf5array
(package (package
(name "r-hdf5array") (name "r-hdf5array")
(version "1.22.0") (version "1.22.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "HDF5Array" version)) (uri (bioconductor-uri "HDF5Array" version))
(sha256 (sha256
(base32 (base32
"13h6qr4zkynir0ck2aiasjvlid7hrk3m2lzkjyhpvbg1a15r8zi9")))) "1al4a88pgdl7hfhphsnwl1gg1c1kmw37wcdr4v4pfsw5l8ff7nx4"))))
(properties `((upstream-name . "HDF5Array"))) (properties `((upstream-name . "HDF5Array")))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
@ -12963,14 +12964,14 @@ quality control.")
(define-public r-scran (define-public r-scran
(package (package
(name "r-scran") (name "r-scran")
(version "1.22.0") (version "1.22.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "scran" version)) (uri (bioconductor-uri "scran" version))
(sha256 (sha256
(base32 (base32
"1nyvbss4914giwzp5wiw9g4z5b6lr5iprbjrqlg4vpgnf1hz8k7l")))) "06lcxya6rpa8dv0il7m7fwyx0ci1y1jn16ff5lmvzf2mnr6q7lic"))))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
`(("r-beachmat" ,r-beachmat) `(("r-beachmat" ,r-beachmat)
@ -13123,9 +13124,9 @@ within the R for Mass Spectrometry packages.")
"The MsFeature package defines functionality for Mass Spectrometry "The MsFeature package defines functionality for Mass Spectrometry
features. This includes functions to group (LC-MS) features based on some of features. This includes functions to group (LC-MS) features based on some of
their properties, such as retention time (coeluting features), or correlation their properties, such as retention time (coeluting features), or correlation
of signals across samples. This package hence allows to group features, and of signals across samples. This package hence can be used to group features, and
its results can be used as an input for the @code{QFeatures} package which its results can be used as an input for the @code{QFeatures} package which
allows to aggregate abundance levels of features within each group. This allows aggregating abundance levels of features within each group. This
package defines concepts and functions for base and common data types, package defines concepts and functions for base and common data types,
implementations for more specific data types are expected to be implemented in implementations for more specific data types are expected to be implemented in
the respective packages (such as e.g. @code{xcms}).") the respective packages (such as e.g. @code{xcms}).")
@ -13789,14 +13790,14 @@ the earlier snpMatrix package, allowing for uncertainty in genotypes.")
(define-public r-chromstar (define-public r-chromstar
(package (package
(name "r-chromstar") (name "r-chromstar")
(version "1.19.0") (version "1.20.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "chromstaR" version)) (uri (bioconductor-uri "chromstaR" version))
(sha256 (sha256
(base32 (base32
"0z511l26fhz00qn8h2yybylk8c3ws8hj1hp8hq9qj9mfczwiqy3j")))) "1akcmxzn4j9ph4n3lsgfh8fh8hrb28jjamz037w59bsdkcv6wyjq"))))
(properties `((upstream-name . "chromstaR"))) (properties `((upstream-name . "chromstaR")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -14008,7 +14009,7 @@ real numbers.")
(home-page "https://github.com/BgeeDB/BgeeCall") (home-page "https://github.com/BgeeDB/BgeeCall")
(synopsis "RNA-Seq present/absent gene expression calls generation") (synopsis "RNA-Seq present/absent gene expression calls generation")
(description (description
"BgeeCall allows to generate present/absent gene expression calls without "BgeeCall allows generating present/absent gene expression calls without
using an arbitrary cutoff like TPM<1. Calls are generated based on reference using an arbitrary cutoff like TPM<1. Calls are generated based on reference
intergenic sequences. These sequences are generated based on expression of intergenic sequences. These sequences are generated based on expression of
all RNA-Seq libraries of each species integrated in Bgee.") all RNA-Seq libraries of each species integrated in Bgee.")
@ -14268,14 +14269,14 @@ the Bioconductor project.")
(define-public r-biodb (define-public r-biodb
(package (package
(name "r-biodb") (name "r-biodb")
(version "1.2.0") (version "1.2.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "biodb" version)) (uri (bioconductor-uri "biodb" version))
(sha256 (sha256
(base32 (base32
"0q343zbx341xdy634p50k7bj6byv8v2rqzy50nw75a79206pajl4")))) "1z4adapsnpw6fwanihdz43r11ijypxs5wbndb1i98j8kb7wf308k"))))
(properties `((upstream-name . "biodb"))) (properties `((upstream-name . "biodb")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs
@ -14844,14 +14845,14 @@ estimates, etc.")
(define-public r-tximeta (define-public r-tximeta
(package (package
(name "r-tximeta") (name "r-tximeta")
(version "1.12.0") (version "1.12.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (bioconductor-uri "tximeta" version)) (uri (bioconductor-uri "tximeta" version))
(sha256 (sha256
(base32 (base32
"03fbz6pka7bcbhd0bblgckyxsqhzp4n8qp2dcpdb3sr01lyw4bc5")))) "15l1jvfis7xzxwwnlqs8xpaf212v1lx513np2dc4l4h7rqhclm2v"))))
(properties `((upstream-name . "tximeta"))) (properties `((upstream-name . "tximeta")))
(build-system r-build-system) (build-system r-build-system)
(propagated-inputs (propagated-inputs

View file

@ -1553,7 +1553,7 @@ $(BOOST_LIB)/libboost_program_options.so"))))
(home-page "https://qtltools.github.io/qtltools/") (home-page "https://qtltools.github.io/qtltools/")
(synopsis "Tool set for molecular QTL discovery and analysis") (synopsis "Tool set for molecular QTL discovery and analysis")
(description "QTLtools is a tool set for molecular QTL discovery (description "QTLtools is a tool set for molecular QTL discovery
and analysis. It allows to go from the raw genetic sequence data to and analysis. It allows going from the raw genetic sequence data to
collection of molecular @dfn{Quantitative Trait Loci} (QTLs) in few collection of molecular @dfn{Quantitative Trait Loci} (QTLs) in few
easy-to-perform steps.") easy-to-perform steps.")
(license license:gpl3+))) (license license:gpl3+)))
@ -11029,7 +11029,7 @@ in an easily configurable manner.")
(define-public pigx-bsseq (define-public pigx-bsseq
(package (package
(name "pigx-bsseq") (name "pigx-bsseq")
(version "0.1.5") (version "0.1.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/" (uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
@ -11037,7 +11037,7 @@ in an easily configurable manner.")
"/pigx_bsseq-" version ".tar.gz")) "/pigx_bsseq-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"05al5dacfp1vf1x3cq20jhd6w4xj5vaxslzaka6yrpg0av8sh3k3")) "1dipikph0xdr8fp0h1flpafcrg60y4aabljg8fl1v92j3gxdggmw"))
(patches (search-patches "pigx-bsseq-no-citeproc.patch")))) (patches (search-patches "pigx-bsseq-no-citeproc.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -12,6 +12,7 @@
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li> ;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -32,6 +33,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
@ -42,6 +44,7 @@
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
@ -424,30 +427,43 @@ and will take advantage of multiple processor cores where possible.")
(define-public libtorrent-rasterbar (define-public libtorrent-rasterbar
(package (package
(name "libtorrent-rasterbar") (name "libtorrent-rasterbar")
(version "1.2.8") (version "1.2.14")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (uri
(string-append "https://github.com/arvidn/libtorrent/" (string-append "https://github.com/arvidn/libtorrent/"
"releases/download/libtorrent-" version "/" "releases/download/v" version "/"
"libtorrent-rasterbar-" version ".tar.gz")) "libtorrent-rasterbar-" version ".tar.gz"))
(sha256 (sha256
(base32 "1phn4klzvfzvidv5g566pnrrxj8l0givpy6s4r17d45wznqxc006")))) (base32 "0gwm4w7337ykh5lfnspapnnz6a35g7yay3wnj126s8s5kcsvy9wy"))))
(build-system gnu-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags `(#:cmake ,cmake ;3.17 or later
(list (string-append "--with-boost-libdir=" #:configure-flags '("-Dpython-bindings=ON"
(assoc-ref %build-inputs "boost") "-Dbuild_tests=ON")
"/lib") #:phases
"--enable-python-binding" (modify-phases %standard-phases
"--enable-tests") (replace 'check
#:make-flags (list (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(string-append "LDFLAGS=-Wl,-rpath=" (let ((disabled-tests
(assoc-ref %outputs "out") "/lib")))) ;; test_upnp requires a non-localhost IPv4 interface.
'("test_upnp")))
(when tests?
;; test_ssl relies on bundled TLS certificates with a fixed
;; expiry date. To ensure succesful builds in the future,
;; fake the time to be roughly that of the release.
(setenv "FAKETIME_ONLY_CMDS" "test_ssl")
(invoke "faketime" "2021-06-01"
"ctest"
"--exclude-regex" (string-join disabled-tests "|")
"-j" (if parallel-tests?
(number->string (parallel-job-count))
"1")))))))))
(inputs `(("boost" ,boost) (inputs `(("boost" ,boost)
("openssl" ,openssl))) ("openssl" ,openssl)))
(native-inputs `(("python" ,python-wrapper) (native-inputs `(("libfaketime" ,libfaketime)
("python" ,python-wrapper)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(home-page "https://www.libtorrent.org/") (home-page "https://www.libtorrent.org/")
(synopsis "Feature-complete BitTorrent implementation") (synopsis "Feature-complete BitTorrent implementation")

View file

@ -10,6 +10,7 @@
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Peng Mei Yu <pengmeiyu@riseup.net> ;;; Copyright © 2020 Peng Mei Yu <pengmeiyu@riseup.net>
;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -36,6 +37,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages admin) #:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages dav) #:use-module (gnu packages dav)
@ -405,3 +407,31 @@ traditional Chinese characters.")
;; COPYING.LESSER specifies LGPL 3.0, but all source files say ;; COPYING.LESSER specifies LGPL 3.0, but all source files say
;; 'Lesser GPL version 2 or later'. ;; 'Lesser GPL version 2 or later'.
(license (list license:gpl2+ license:lgpl2.1+)))) (license (list license:gpl2+ license:lgpl2.1+))))
(define-public gsimplecal
(let ((version "2.2"))
(package
(name "gsimplecal")
(version version)
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dmedvinsky/gsimplecal/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32
"1qyf65l088dqsz25hm6s1cv18j52yaias0llqvpqwjfnvssa5cxg"))
(modules '((guix build utils)))))
(build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(home-page "https://dmedvinsky.github.io/gsimplecal/")
(synopsis "Lightweight calendar applet")
(description "@command{gsimplecal} is a lightweight calendar application
written in C++ using GTK. Launched once, it pops up a small calendar applet,
launched again it closes the running instance. It can additionally be
configured to show the current time in different timezones.")
(license license:bsd-3))))

View file

@ -150,6 +150,7 @@
"third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0 "third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0 "third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
"third_party/devtools-frontend/src/third_party/typescript" ;ASL2.0 "third_party/devtools-frontend/src/third_party/typescript" ;ASL2.0
"third_party/distributed_point_functions" ;ASL2.0
"third_party/dom_distiller_js" ;BSD-3 "third_party/dom_distiller_js" ;BSD-3
"third_party/eigen3" ;MPL2.0 "third_party/eigen3" ;MPL2.0
"third_party/emoji-segmenter" ;ASL2.0 "third_party/emoji-segmenter" ;ASL2.0
@ -268,7 +269,6 @@
"third_party/tflite" ;ASL2.0 "third_party/tflite" ;ASL2.0
"third_party/tflite/src/third_party/eigen3" ;MPL2.0 "third_party/tflite/src/third_party/eigen3" ;MPL2.0
"third_party/tflite/src/third_party/fft2d" ;ASL2.0 "third_party/tflite/src/third_party/fft2d" ;ASL2.0
"third_party/tflite-support" ;ASL2.0
"third_party/ukey2" ;ASL2.0 "third_party/ukey2" ;ASL2.0
"third_party/usb_ids" ;BSD-3 "third_party/usb_ids" ;BSD-3
"third_party/usrsctp" ;BSD-2 "third_party/usrsctp" ;BSD-2
@ -336,7 +336,7 @@
(string-append "ungoogled-chromium-" category "-" name)))) (string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash)))) (sha256 (base32 hash))))
(define %chromium-version "95.0.4638.69") (define %chromium-version "96.0.4664.45")
(define %ungoogled-revision (string-append %chromium-version "-1")) (define %ungoogled-revision (string-append %chromium-version "-1"))
(define %arch-revision "db2157b84924ce84201a8245e68a02f7d55f6491") (define %arch-revision "db2157b84924ce84201a8245e68a02f7d55f6491")
(define %debian-revision "debian/90.0.4430.85-1") (define %debian-revision "debian/90.0.4430.85-1")
@ -367,7 +367,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256 (sha256
(base32 (base32
"19azr4m4rd6za9vgcggijyq9x54jrjp0n07y4falgjrdz9q4f7aj")))) "1k0kf5ika1sz489bcbn485kmdq1xp7ssa80gbqrpd60xihkhnrm3"))))
(define %guix-patches (define %guix-patches
(list (local-file (list (local-file
@ -477,7 +477,7 @@
%chromium-version ".tar.xz")) %chromium-version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1rzg48mbd5n75nq2rfwknyxpmfrddds199ic82c736kcgirpv8rq")) "01q4fsf2cbx6g9nnaihvc5jj3ap8jq2gf16pnhf7ixzbhgcnm328"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet)))) (snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system) (build-system gnu-build-system)

View file

@ -2552,6 +2552,18 @@ chunks.")
(base32 (base32
"1ywq8j70149859vvs19wgjq89d6xsvvmvm2n1dmkzpchxgrvnw70")))) "1ywq8j70149859vvs19wgjq89d6xsvvmvm2n1dmkzpchxgrvnw70"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments
`(#:configure-flags
'("-DDEACTIVATE_AVX2=ON"
"-DPREFER_EXTERNAL_LZ4=ON"
"-DPREFER_EXTERNAL_SNAPPY=ON"
"-DPREFER_EXTERNAL_ZLIB=ON"
"-DPREFER_EXTERNAL_ZSTD=ON")))
(inputs
`(("lz4" ,lz4)
("snappy" ,snappy)
("zlib" ,zlib)
("zstd:lib" ,zstd "lib")))
(home-page "https://blosc.org") (home-page "https://blosc.org")
(synopsis "Blocking, shuffling and lossless compression library") (synopsis "Blocking, shuffling and lossless compression library")
(description (description

View file

@ -7,6 +7,7 @@
;;; Copyright © 2020 raingloom <raingloom@riseup.net> ;;; Copyright © 2020 raingloom <raingloom@riseup.net>
;;; Copyright © 2020 Robin Green <greenrd@greenrd.org> ;;; Copyright © 2020 Robin Green <greenrd@greenrd.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -135,50 +136,65 @@ It is developed using Objective Caml and Camlp5.")
"00cga3n9nj2xa3ivb0fdkkdx3k11fp4879y188738631yd1x2lsa")))) "00cga3n9nj2xa3ivb0fdkkdx3k11fp4879y188738631yd1x2lsa"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("which" ,which) `(("emacs" ,emacs-minimal)
("emacs" ,emacs-minimal)
("texinfo" ,texinfo))) ("texinfo" ,texinfo)))
(inputs (inputs
`(("host-emacs" ,emacs) `(("perl" ,perl)))
("perl" ,perl)
("coq" ,coq)))
(arguments (arguments
`(#:tests? #f ; no check target (let ((base-directory "/share/emacs/site-lisp/ProofGeneral"))
#:make-flags (list (string-append "PREFIX=" %output) `(#:tests? #f ; no check target
(string-append "DEST_PREFIX=" %output) #:make-flags (list (string-append "PREFIX=" %output)
(string-append "ELISP_START=" %output (string-append "EMACS=" (assoc-ref %build-inputs "emacs")
"/share/emacs/site-lisp/ProofGeneral")) "/bin/emacs")
#:modules ((guix build gnu-build-system) (string-append "DEST_PREFIX=" %output)
(guix build utils) (string-append "ELISP=" %output ,base-directory)
(guix build emacs-utils)) (string-append "DEST_ELISP=" %output ,base-directory)
#:imported-modules (,@%gnu-build-system-modules (string-append "ELISP_START=" %output ,base-directory))
(guix build emacs-utils)) #:phases
#:phases (modify-phases %standard-phases
(modify-phases %standard-phases (delete 'configure)
(delete 'configure) (add-after 'unpack 'disable-byte-compile-error-on-warn
(add-after 'unpack 'disable-byte-compile-error-on-warn (lambda _
(lambda _
(substitute* "Makefile"
(("\\(setq byte-compile-error-on-warn t\\)")
"(setq byte-compile-error-on-warn nil)"))))
(add-after 'unpack 'patch-hardcoded-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(coq (assoc-ref inputs "coq"))
(emacs (assoc-ref inputs "host-emacs")))
(substitute* "Makefile" (substitute* "Makefile"
(("/sbin/install-info") "install-info"))))) (("\\(setq byte-compile-error-on-warn t\\)")
(add-after 'unpack 'clean "(setq byte-compile-error-on-warn nil)"))))
(lambda _ (add-after 'unpack 'patch-hardcoded-paths
;; Delete the pre-compiled elc files for Emacs 23. (lambda _
(invoke "make" "clean"))) (substitute* "Makefile"
(add-after 'install 'install-doc (("/sbin/install-info") "install-info"))))
(lambda* (#:key make-flags #:allow-other-keys) (add-after 'unpack 'remove-which
;; XXX FIXME avoid building/installing pdf files, (lambda _
;; due to unresolved errors building them. (substitute* "Makefile"
(substitute* "Makefile" (("`which perl`") "perl")
((" [^ ]*\\.pdf") "")) (("`which bash`") "bash"))))
(apply invoke "make" "install-doc" make-flags)))))) (add-after 'unpack 'clean
(lambda _
;; Delete the pre-compiled elc files for Emacs 23.
(invoke "make" "clean")))
(add-after 'install 'install-doc
(lambda* (#:key make-flags #:allow-other-keys)
;; XXX FIXME avoid building/installing pdf files,
;; due to unresolved errors building them.
(substitute* "Makefile"
((" [^ ]*\\.pdf") ""))
(apply invoke "make" "install-doc" make-flags)))
(add-after 'install 'allow-subfolders-autoloads
;; Autoload cookies are present in sub-directories. A friendly
;; wrapper proof-general.el around generic/proof-site.el is
;; provided for execution on Emacs start-up. It serves two
;; purposes:
;;
;; * Setting up the load path when byte-compiling pg.
;; * Loading a minimal PG setup on startup (not all of Proof
;; General, of course; mostly mode hooks and autoloads).
;;
;; The renaming to proof-general-autoloads.el is Guix
;; specific.
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(copy-file "proof-general.el"
(string-append out ,base-directory
"/proof-general-autoloads.el")))))))))
(home-page "https://proofgeneral.github.io/") (home-page "https://proofgeneral.github.io/")
(synopsis "Generic front-end for proof assistants based on Emacs") (synopsis "Generic front-end for proof assistants based on Emacs")
(description (description
@ -190,7 +206,7 @@ provers.")
(define-public coq-flocq (define-public coq-flocq
(package (package
(name "coq-flocq") (name "coq-flocq")
(version "3.3.1") (version "3.4.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -200,7 +216,7 @@ provers.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"01gdykva0lcw6y3dm8j0djxayb87szfg9vn0mxd6z3pks644misl")))) "0j7vq7ifqcdaj2x881aha2rl51l2p72y1cn7r2xya0fjgsssfigy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
@ -210,16 +226,10 @@ provers.")
("coq" ,coq))) ("coq" ,coq)))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out") (list (string-append "COQUSERCONTRIB=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Flocq")) "/lib/coq/user-contrib"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'unpack 'remove-failing-examples
(lambda _
(substitute* "Remakefile.in"
;; Fails on a union error.
(("Double_rounding_odd_radix.v") ""))
#t))
(add-before 'configure 'fix-remake (add-before 'configure 'fix-remake
(lambda _ (lambda _
(substitute* "remake.cpp" (substitute* "remake.cpp"
@ -236,7 +246,7 @@ provers.")
(replace 'install (replace 'install
(lambda _ (lambda _
(invoke "./remake" "install")))))) (invoke "./remake" "install"))))))
(home-page "https://flocq.gforge.inria.fr/") (home-page "https://flocq.gitlabpages.inria.fr")
(synopsis "Floating-point formalization for the Coq system") (synopsis "Floating-point formalization for the Coq system")
(description "Flocq (Floats for Coq) is a floating-point formalization for (description "Flocq (Floats for Coq) is a floating-point formalization for
the Coq system. It provides a comprehensive library of theorems on a multi-radix the Coq system. It provides a comprehensive library of theorems on a multi-radix
@ -247,7 +257,7 @@ inside Coq.")
(define-public coq-gappa (define-public coq-gappa
(package (package
(name "coq-gappa") (name "coq-gappa")
(version "1.4.6") (version "1.5.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -257,7 +267,7 @@ inside Coq.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0492i0ksrz6dnc1d57jzsbmdlb9fp9hrh9ib5v8j0yqxpyi0x8f4")))) "1ivh8xm1c8191rm4riamjzya2x6ls96qax5byir1fywf9hbxr1vg"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
@ -294,7 +304,7 @@ inside Coq.")
;; (lambda _ (invoke "./remake" "check"))) ;; (lambda _ (invoke "./remake" "check")))
(replace 'install (replace 'install
(lambda _ (invoke "./remake" "install")))))) (lambda _ (invoke "./remake" "install"))))))
(home-page "https://gappa.gforge.inria.fr/") (home-page "https://gappa.gitlabpages.inria.fr/")
(synopsis "Verify and formally prove properties on numerical programs") (synopsis "Verify and formally prove properties on numerical programs")
(description "Gappa is a tool intended to help verifying and formally proving (description "Gappa is a tool intended to help verifying and formally proving
properties on numerical programs dealing with floating-point or fixed-point properties on numerical programs dealing with floating-point or fixed-point
@ -308,7 +318,7 @@ assistant.")
(define-public coq-mathcomp (define-public coq-mathcomp
(package (package
(name "coq-mathcomp") (name "coq-mathcomp")
(version "1.12.0") (version "1.13.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -317,7 +327,7 @@ assistant.")
(commit (string-append "mathcomp-" version)))) (commit (string-append "mathcomp-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "12cgrmzlcjnp9kv9zxsk34fgf0qfa35jdb23cbf13kmg8dyfi3h5")))) (base32 "0aj8hsdzzds5w0p1858s2b6k9zssjcxa6kgpi0q1nvaml4zfpkcc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("ocaml" ,ocaml) `(("ocaml" ,ocaml)
@ -325,17 +335,14 @@ assistant.")
("coq" ,coq))) ("coq" ,coq)))
(arguments (arguments
`(#:tests? #f ; No tests. `(#:tests? #f ; No tests.
#:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(add-before 'build 'chdir (add-before 'build 'chdir
(lambda _ (chdir "mathcomp") #t)) (lambda _ (chdir "mathcomp") #t)))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "-f" "Makefile.coq"
(string-append "COQLIB=" (assoc-ref outputs "out")
"/lib/coq/")
"install"))))))
(home-page "https://math-comp.github.io/") (home-page "https://math-comp.github.io/")
(synopsis "Mathematical Components for Coq") (synopsis "Mathematical Components for Coq")
(description "Mathematical Components for Coq has its origins in the formal (description "Mathematical Components for Coq has its origins in the formal
@ -350,7 +357,7 @@ part of the distribution.")
(define-public coq-coquelicot (define-public coq-coquelicot
(package (package
(name "coq-coquelicot") (name "coq-coquelicot")
(version "3.1.0") (version "3.2.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -360,7 +367,7 @@ part of the distribution.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0mz3pxan1237fr5fi79c66y7b9z7bmi0sc45kwrmkczsjm5462jm")))) "146s5y2xsc7wb43m1pq1n4p14hw99gqbzx0ic3a4naxq16v7cv4w"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
@ -372,8 +379,8 @@ part of the distribution.")
`(("mathcomp" ,coq-mathcomp))) `(("mathcomp" ,coq-mathcomp)))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out") (list (string-append "COQUSERCONTRIB=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Coquelicot")) "/lib/coq/user-contrib"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'fix-remake (add-before 'configure 'fix-remake
@ -437,7 +444,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
(define-public coq-interval (define-public coq-interval
(package (package
(name "coq-interval") (name "coq-interval")
(version "4.3.0") (version "4.3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -447,7 +454,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1jqvd17czhliscf40idhnxgrha620039ilrdyfahn71dg2jmzqnm")))) "0sr9psildc0sda07r2r47rfgyry49yklk38bg04yyvry5j5pryb6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
@ -478,7 +485,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
(lambda _ (invoke "./remake" "check"))) (lambda _ (invoke "./remake" "check")))
(replace 'install (replace 'install
(lambda _ (invoke "./remake" "install")))))) (lambda _ (invoke "./remake" "install"))))))
(home-page "http://coq-interval.gforge.inria.fr/") (home-page "https://coqinterval.gitlabpages.inria.fr/")
(synopsis "Coq tactics to simplify inequality proofs") (synopsis "Coq tactics to simplify inequality proofs")
(description "Interval provides vernacular files containing tactics for (description "Interval provides vernacular files containing tactics for
simplifying the proofs of inequalities on expressions of real numbers for the simplifying the proofs of inequalities on expressions of real numbers for the
@ -504,16 +511,12 @@ Coq proof assistant.")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f `(#:tests? #f
#:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/"))
(invoke "make"
(string-append "COQLIB=" (assoc-ref outputs "out")
"/lib/coq/")
"install"))))))
(native-inputs (native-inputs
`(("coq" ,coq))) `(("coq" ,coq)))
(home-page "https://www.ps.uni-saarland.de/autosubst/") (home-page "https://www.ps.uni-saarland.de/autosubst/")
@ -553,17 +556,14 @@ uses Ltac to synthesize the substitution operation.")
`(("ocaml-zarith" ,ocaml-zarith))) `(("ocaml-zarith" ,ocaml-zarith)))
(arguments (arguments
`(#:test-target "test-suite" `(#:test-target "test-suite"
#:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(replace 'configure (replace 'configure
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(invoke "sh" "./configure.sh"))) (invoke "sh" "./configure.sh"))))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make"
(string-append "COQLIB=" (assoc-ref outputs "out")
"/lib/coq/")
"install"))))))
(home-page "https://mattam82.github.io/Coq-Equations/") (home-page "https://mattam82.github.io/Coq-Equations/")
(synopsis "Function definition plugin for Coq") (synopsis "Function definition plugin for Coq")
(description "Equations provides a notation for writing programs (description "Equations provides a notation for writing programs
@ -573,10 +573,60 @@ and accessibility, providing a definitional extension to the Coq
kernel.") kernel.")
(license license:lgpl2.1))) (license license:lgpl2.1)))
(define-public coq-semantics
(package
(name "coq-semantics")
(version "8.13.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/coq-community/semantics")
(commit (string-append "v" version))))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile.coq.local"
;; Num was part of OCaml and now external
(("-libs nums") "-use-ocamlfind -pkg num -libs num")))
(file-name (git-file-name name version))
(sha256
(base32
"0m5si9dsv96z92gy4xaqz8mzyz8zp7j1sp542l0wzsp5xgyfpc7i"))))
(build-system gnu-build-system)
(native-inputs
`(("coq" ,coq)
("ocaml" ,ocaml)
("ocamlbuild" ,ocamlbuild)
("ocaml-findlib" ,ocaml-findlib)))
(inputs
`(("ocaml-num" ,ocaml-num)))
(arguments
`(#:tests? #f ;included in Makefile
#:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/coq-community/semantics")
(synopsis "Survey of semantics styles")
(description
"This package provides a survey of programming language semantics styles,
from natural semantics through structural operational, axiomatic, and
denotational semantics, for a miniature example of an imperative programming
language. Their encoding, the proofs of equivalence of different styles,
abstract interpretation, and the proof of soundess obtained from axiomatic
semantics or abstract interpretation is done in Coq. The tools can be run
inside Coq, thus making them available for proof by reflection. Code can also
be extracted and connected to a yacc-based parser, thanks to the use of a
functor parameterized by a module type of strings. A hand-written parser is
also provided in Coq, without associated proofs.")
(license license:expat)))
(define-public coq-stdpp (define-public coq-stdpp
(package (package
(name "coq-stdpp") (name "coq-stdpp")
(version "1.5.0") (version "1.6.0")
(synopsis "Alternative Coq standard library std++") (synopsis "Alternative Coq standard library std++")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -586,21 +636,18 @@ kernel.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ym0fy620imah89p8b6rii8clx2vmnwcrbwxl3630h24k42092nf")))) "1l1w6srzydjg0h3f4krrfgvz455h56shyy2lbcnwdbzjkahibl7v"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("coq" ,coq))) `(("coq" ,coq)))
(arguments (arguments
`(#:tests? #f ; Tests are executed during build phase. `(#:tests? #f ; Tests are executed during build phase.
#:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make"
(string-append "COQLIB=" (assoc-ref outputs "out")
"/lib/coq/")
"install"))))))
(description "This project contains an extended \"Standard Library\" for (description "This project contains an extended \"Standard Library\" for
Coq called coq-std++. The key features are: Coq called coq-std++. The key features are:
@itemize @itemize

View file

@ -21,6 +21,7 @@
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Jacob Hrbek <kreyren@rixotstudio.cz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -18084,7 +18085,7 @@ Atom, RSS 2.0, RSS 1.0, RSS 0.x and JSON Feed")
(home-page "https://gitlab.com/news-flash/fever_api") (home-page "https://gitlab.com/news-flash/fever_api")
(synopsis "Rust implementation of the Fever API") (synopsis "Rust implementation of the Fever API")
(description (description
"This packages provides a Rust implementation of the Fever API.") "This package provides a Rust implementation of the Fever API.")
;; No copyright headers in the source code. LICENSE indicates gpl3. ;; No copyright headers in the source code. LICENSE indicates gpl3.
(license license:gpl3))) (license license:gpl3)))
@ -63136,3 +63137,27 @@ variant of this library is available separately as @code{im}.")
(description (description
"Generate Rust register maps (`struct`s) from SVD files") "Generate Rust register maps (`struct`s) from SVD files")
(license (list license:expat license:asl2.0)))) (license (list license:expat license:asl2.0))))
(define-public rust-shell2batch-0.4
(package
(name "rust-shell2batch")
(version "0.4.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "shell2batch" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0r9zfhxmqnrnyk7g590333szfpsjijs2wfwy7ish240w6pp54nhq"))
;; https://github.com/sagiegurari/shell2batch/issues/17
(patches (search-patches "rust-shell2batch-lint-fix.patch"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs (("rust-regex" ,rust-regex-1))))
(home-page "https://github.com/sagiegurari/shell2batch")
(synopsis "Basic shell scripts to windows batch scripts conversion")
(description "While it is not really possible to take every shell script
and automatically convert it to a windows batch file, this library provides a
way to convert simple shell commands to windows batch commands.")
(license license:asl2.0)))

View file

@ -860,7 +860,9 @@ printer/driver specific, but spooler-independent PPD file.")
(native-inputs (native-inputs
`(("bc" ,bc) `(("bc" ,bc)
("groff" ,groff))) ("groff" ,groff)))
(home-page "http://foo2zjs.rkkda.com/") ;; The domain has expired and no one has meaningfully taken up the torch.
(home-page (string-append "https://web.archive.org/web/20210129024712/"
"http://foo2zjs.rkkda.com/"))
(synopsis "Printer driver for ZjStream-based printers") (synopsis "Printer driver for ZjStream-based printers")
(description (description
"foo2zjs is a printer driver for printers that use the Zenographics "foo2zjs is a printer driver for printers that use the Zenographics

View file

@ -22,7 +22,7 @@
;;; Copyright © 2017, 2020 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017, 2020 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
@ -53,6 +53,7 @@
;;; Copyright © 2021 Simon Streit <simon@netpanic.org> ;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org> ;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -145,6 +146,7 @@
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages valgrind) #:use-module (gnu packages valgrind)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
@ -615,16 +617,44 @@ replacement for the code@{python-memcached} library.")
(define-public python2-pylibmc (define-public python2-pylibmc
(package-with-python2 python-pylibmc)) (package-with-python2 python-pylibmc))
(define-public litecli
(package
(name "litecli")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "litecli" version))
(sha256
(base32 "1yb706mgzizzijm1k0fbny98jf58qh5q6f2870rbplxlfla4w9sd"))))
(build-system python-build-system)
(propagated-inputs
`(("python-cli-helpers" ,python-cli-helpers)
("python-click" ,python-click)
("python-configobj" ,python-configobj)
("python-prompt-toolkit" ,python-prompt-toolkit)
("python-pygments" ,python-pygments)
("python-sqlparse" ,python-sqlparse)))
(native-inputs
`(("python-mock" ,python-mock)
("python-pytest" ,python-pytest)))
(home-page "https://litecli.com")
(synopsis "CLI for SQLite databases")
(description
"@code{litecli} is a command-line client for SQLite databases that has
auto-completion and syntax highlighting.")
(license license:bsd-3)))
(define-public mycli (define-public mycli
(package (package
(name "mycli") (name "mycli")
(version "1.22.2") (version "1.24.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "mycli" version)) (uri (pypi-uri "mycli" version))
(sha256 (sha256
(base32 "1lq2x95553vdmhw13cxcgsd2g2i32izhsb7hxd4m1iwf9b3msbpv")))) (base32 "0rij9nw20zhqr7cqnkm8daw8b1wdc9zb6ny1ji9qz5557nz9i3bl"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f)) ; tests expect a running MySQL `(#:tests? #f)) ; tests expect a running MySQL
@ -634,10 +664,12 @@ replacement for the code@{python-memcached} library.")
("python-configobj" ,python-configobj) ("python-configobj" ,python-configobj)
("python-cryptography" ,python-cryptography) ("python-cryptography" ,python-cryptography)
("python-prompt-toolkit" ,python-prompt-toolkit) ("python-prompt-toolkit" ,python-prompt-toolkit)
("python-pyaes" ,python-pyaes)
("python-pygments" ,python-pygments) ("python-pygments" ,python-pygments)
("python-pymysql" ,python-pymysql) ("python-pymysql" ,python-pymysql)
("python-pyperclip" ,python-pyperclip)
("python-sqlparse" ,python-sqlparse))) ("python-sqlparse" ,python-sqlparse)))
(home-page "http://mycli.net") (home-page "https://www.mycli.net")
(synopsis (synopsis
"Terminal Client for MySQL with AutoCompletion and Syntax Highlighting") "Terminal Client for MySQL with AutoCompletion and Syntax Highlighting")
(description (description
@ -4138,6 +4170,29 @@ PostreSQL, SQLite, ODBC and MySQL.")
connecting to MS SQL and Sybase servers over TCP/IP.") connecting to MS SQL and Sybase servers over TCP/IP.")
(license license:lgpl2.0+))) (license license:lgpl2.0+)))
(define-public python-tinydb
(package
(name "python-tinydb")
(version "4.5.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "tinydb" version))
(sha256
(base32 "1x9c4s42930wwal3ds0plwb57kg5c3gj7kbpy64c29vq478b463x"))))
(build-system python-build-system)
;; PyPi tarball does not contain tests and github repository does not
;; have a setup.py file (only pyproject).
(arguments `(#:tests? #f))
(propagated-inputs
`(("python-typing-extensions" ,python-typing-extensions)))
(home-page "https://github.com/msiemens/tinydb")
(synopsis "TinyDB is a lightweight document oriented database")
(description
"TinyDB is a small document oriented database written in pure Python
with no external dependencies. The targets are small apps that would
be blown away by a SQL-DB or an external database server.")
(license license:expat)))
(define-public sequeler (define-public sequeler
(package (package
(name "sequeler") (name "sequeler")

View file

@ -648,7 +648,7 @@ Portuguese, Spanish and Italian.")
(define-public fet (define-public fet
(package (package
(name "fet") (name "fet")
(version "6.1.8") (version "6.2.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -657,7 +657,7 @@ Portuguese, Spanish and Italian.")
(list (string-append directory base) (list (string-append directory base)
(string-append directory "old/" base)))) (string-append directory "old/" base))))
(sha256 (sha256
(base32 "16m20vbhv8i7saxqb731bhds1f86d6x1f935j3ivg357805fqzll")))) (base32 "1x8m543n88iqprh4zccx1zcfm20balmh0h6syrbv03cszmkvfw07"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -1631,26 +1631,23 @@ boilerplate code from defining new Flymake backend functions.")
(license license:gpl3+)))) (license license:gpl3+))))
(define-public emacs-flymake-kondor (define-public emacs-flymake-kondor
;; No tag, version grabbed from source .el file. (package
(let ((commit "389b513c7287ede7a996a3d0db2e84b00772fef5") (name "emacs-flymake-kondor")
(revision "0")) (version "0.1.3")
(package (source
(name "emacs-flymake-kondor") (origin
(version (git-version "0.1.1" revision commit)) (method git-fetch)
(source (uri (git-reference
(origin (url "https://github.com/turbo-cafe/flymake-kondor")
(method git-fetch) (commit version)))
(uri (git-reference (file-name (git-file-name name version))
(url "https://github.com/turbo-cafe/flymake-kondor") (sha256
(commit commit))) (base32 "1vcl1q07faqqmrryyia36hbgf78g3cs51pbi0bx41yzz779ribvk"))))
(file-name (git-file-name name version)) (build-system emacs-build-system)
(sha256 (home-page "https://github.com/turbo-cafe/flymake-kondor")
(base32 "1by6p1j091xk5bfdpbqp7fifjn4rknrbm8r3xjfvpb4xcb19nmig")))) (synopsis "Linter with clj-kondo")
(build-system emacs-build-system) (description "This package adds Clojure syntax checker clj-kondo.")
(home-page "https://github.com/turbo-cafe/flymake-kondor") (license license:gpl3+)))
(synopsis "Linter with clj-kondo")
(description "This package adds Clojure syntax checker clj-kondo.")
(license license:gpl3+))))
(define-public emacs-flymake-shellcheck (define-public emacs-flymake-shellcheck
;; No tag, version grabbed from source .el file. ;; No tag, version grabbed from source .el file.
@ -2940,7 +2937,7 @@ of bibliographic references.")
(define-public emacs-corfu (define-public emacs-corfu
(package (package
(name "emacs-corfu") (name "emacs-corfu")
(version "0.14") (version "0.15")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2949,7 +2946,7 @@ of bibliographic references.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0y40vnd227xjzds6zh85gplkiqa387b9y0925g5l01gz7hk2z17r")))) (base32 "0crk5dryaqqj36fjcsxi0gd924125p0yghvg5anwj38zjqg1rqm9"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/minad/corfu") (home-page "https://github.com/minad/corfu")
(synopsis "Completion overlay region function") (synopsis "Completion overlay region function")
@ -3025,18 +3022,18 @@ that the binary uses instead of the actual binary contents.")
(define-public emacs-form-feed (define-public emacs-form-feed
(package (package
(name "emacs-form-feed") (name "emacs-form-feed")
(version "0.2.2") (version "0.2.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/wasamasa/form-feed") (url "https://depp.brause.cc/form-feed.git")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "171jna631b2iqcimfsik9c66gii8nc0zdb58m077w00rn7rcxbh2")))) (base32 "10mcj4x2fjq0ikq9adkd72k9zp6caqib628bmj8d67wwabvzj6mk"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/wasamasa/form-feed") (home-page "https://depp.brause.cc/form-feed")
(synopsis "Display ^L glyphs as horizontal lines") (synopsis "Display ^L glyphs as horizontal lines")
(description (description
"This package provides a minor mode @code{form-feed-mode} to display page "This package provides a minor mode @code{form-feed-mode} to display page
@ -4029,7 +4026,7 @@ also adds tags and marks support for Skeleton, and Abbrev support for Tempo.")
(define-public emacs-toc-org (define-public emacs-toc-org
(package (package
(name "emacs-toc-org") (name "emacs-toc-org")
(version "1.1.0") (version "1.2.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4038,7 +4035,7 @@ also adds tags and marks support for Skeleton, and Abbrev support for Tempo.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0lk0rji85a1c0c5r9an0fdvsm4n4jyixsknmr8ywha3lfmc2p0l8")))) (base32 "00a2al7ghrlabf65kfj1mk30p2pl37h6ppwlgghbgiy7rwlzkdbm"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/snosov1/toc-org") (home-page "https://github.com/snosov1/toc-org")
(synopsis "Table of Contents generator for Emacs Org mode") (synopsis "Table of Contents generator for Emacs Org mode")
@ -10311,7 +10308,7 @@ with Elfeed.")
(define-public emacs-elfeed-score (define-public emacs-elfeed-score
(package (package
(name "emacs-elfeed-score") (name "emacs-elfeed-score")
(version "1.1.0") (version "1.2.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -10320,7 +10317,7 @@ with Elfeed.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1drgv16555cyn7w6g44z23yhi1i0cy1b9h1ri3lz6h814px0wj0z")))) (base32 "0b49sd0h1idx3p5p9zqb3p5ni4i43fyikfkg70fs5iqjcl0vmz7c"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-elfeed" ,emacs-elfeed))) `(("emacs-elfeed" ,emacs-elfeed)))
@ -10732,11 +10729,11 @@ names, e.g., @samp{#0000ff} is displayed in white with a blue background.")
(define-public emacs-ryo-modal (define-public emacs-ryo-modal
;; Package has no release. Version is extracted from "Version:" keyword in ;; Package has no release. Version is extracted from "Version:" keyword in
;; main file. ;; main file.
(let ((commit "3a54312eea7023a86ca3f8eb3c03c872554bff2f") (let ((commit "a10f564474cc8fa28a74b04e3b15375315223c44")
(revision "0")) (revision "0"))
(package (package
(name "emacs-ryo-modal") (name "emacs-ryo-modal")
(version (git-version "0.4" revision commit)) (version (git-version "0.45" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -10745,7 +10742,7 @@ names, e.g., @samp{#0000ff} is displayed in white with a blue background.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1cyvp3bi6yhckbdnq98xvghmhdzghya5y9wd7hxjawibs75rza95")))) (base32 "0ypm1rnyry6hb4znb8sgwfi0la6q46ihm8k99kisk0mkgz7im93d"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/Kungsgeten/ryo-modal") (home-page "https://github.com/Kungsgeten/ryo-modal")
(synopsis "Emacs minor mode for defining modal editing environments") (synopsis "Emacs minor mode for defining modal editing environments")
@ -13820,7 +13817,7 @@ reached with the right hand.")
(define-public emacs-csharp-mode (define-public emacs-csharp-mode
(package (package
(name "emacs-csharp-mode") (name "emacs-csharp-mode")
(version "1.0.2") (version "1.1.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -13829,7 +13826,7 @@ reached with the right hand.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1gdr1y8q93xr5vlx6jj95js6rmmsspq2bn870igbaijwwsn0sf7g")))) (base32 "0xadchhbfikw2vac6kqkmdjjixhybxqqf99cpl089cga9sjc7i5p"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/josteink/csharp-mode") (home-page "https://github.com/josteink/csharp-mode")
(synopsis "Major mode for C# code") (synopsis "Major mode for C# code")
@ -13840,6 +13837,52 @@ documentation generation. In addition, it provides menu-based navigation
using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.") using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-vala-mode
;; Upstream has no tagged release.
(let ((commit "d696a8177e94c81ea557ad364a3b3dcc3abbc50f")
(revision "0"))
(package
(name "emacs-vala-mode")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rrthomas/vala-mode")
(commit commit)))
(sha256
(base32 "0g5pdq757z9d8rk489n5ilhqipdc4i4sfkjwwrxyvgjlapjc04c0"))))
(build-system emacs-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-multiline-support
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "vala-mode.el")
(emacs-batch-edit-file "vala-mode.el"
'(progn
(require 'thingatpt) ;; beginning-of-thing, end-of-thing
(goto-char (point-min))
(save-excursion
(re-search-forward ";; Support multiline strings")
(goto-char (match-beginning 0))
(kill-sexp)
(insert ";; FIXME: Support multiline strings
(c-lang-defconst c-multiline-string-start-char vala nil)"))
(save-excursion
(re-search-forward "(defcustom vala-multiline-strings")
(goto-char (match-beginning 0))
(insert ";; FIXME: Support multiline strings\n")
(comment-region (beginning-of-thing 'sexp)
(end-of-thing 'sexp)))
(basic-save-buffer))))))))
(home-page "https://github.com/rrthomas/vala-mode")
(synopsis "Vala mode for Emacs")
(description
"This package provides a major mode for editing .vala and .vapi files
in Emacs.")
(license license:gpl2+))))
(define-public emacs-php-mode (define-public emacs-php-mode
(package (package
(name "emacs-php-mode") (name "emacs-php-mode")
@ -17586,16 +17629,16 @@ according to a parsing expression grammar.")
(define-public emacs-eldev (define-public emacs-eldev
(package (package
(name "emacs-eldev") (name "emacs-eldev")
(version "0.9.1") (version "0.10.1")
(source (origin (source
(method git-fetch) (origin
(uri (git-reference (method git-fetch)
(url "https://github.com/doublep/eldev") (uri (git-reference
(commit version))) (url "https://github.com/doublep/eldev")
(file-name (git-file-name name version)) (commit version)))
(sha256 (file-name (git-file-name name version))
(base32 (sha256
"1jfj4f5w20qd12k6ygv0jazn2x9pxjrmqmlmibppc4ybrhhgmg0s")))) (base32 "0ff74scwmixyawsdypvix0cchsbp1d9ac95ym96b4f8hj5gijjms"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:tests? #t `(#:tests? #t
@ -17605,14 +17648,13 @@ according to a parsing expression grammar.")
(add-after 'unpack 'prepare-for-tests (add-after 'unpack 'prepare-for-tests
(lambda _ (lambda _
(setenv "ELDEV_LOCAL" (getcwd)) (setenv "ELDEV_LOCAL" (getcwd))
(make-file-writable (make-file-writable "test/project-i/project-i-autoloads.el")))
"test/project-i/project-i-autoloads.el")
#t))
(add-after 'unpack 'skip-failing-tests (add-after 'unpack 'skip-failing-tests
;; FIXME: 10 tests are failing. Skip them for now. ;; FIXME: 10 tests are failing. Skip them for now.
(lambda _ (lambda _
(substitute* '("test/init.el" "test/targets.el") (delete-file "test/upgrade-self.el")
(("(targets-project-e-[34]|init-[1-8]).*" line) (substitute* "test/init.el"
(("init-[1-8].*" line)
(string-append line "(skip-unless nil)\n"))))) (string-append line "(skip-unless nil)\n")))))
(add-after 'install 'install-eldev-executable (add-after 'install 'install-eldev-executable
;; This constructs the eldev executable from templates and ;; This constructs the eldev executable from templates and
@ -17629,8 +17671,7 @@ according to a parsing expression grammar.")
;; eldev doesn't try to bootstrap itself from MELPA when ;; eldev doesn't try to bootstrap itself from MELPA when
;; invoked. ;; invoked.
(("export ELDEV_EMACS.*" all) (("export ELDEV_EMACS.*" all)
(string-append "export ELDEV_LOCAL=" site-lisp "\n" all))) (string-append "export ELDEV_LOCAL=" site-lisp "\n" all)))))))))
#t))))))
(native-inputs (native-inputs
`(("texinfo" ,texinfo))) ;for tests `(("texinfo" ,texinfo))) ;for tests
(home-page "https://github.com/doublep/eldev/") (home-page "https://github.com/doublep/eldev/")
@ -17854,7 +17895,7 @@ automatically fetched from well-curated sources, and formatted as BibTeX.")
(define-public emacs-citar (define-public emacs-citar
(package (package
(name "emacs-citar") (name "emacs-citar")
(version "0.8") (version "0.9")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -17863,7 +17904,7 @@ automatically fetched from well-curated sources, and formatted as BibTeX.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1jrfcfr976c9nb2vpfrh6yhck5gm34wcjzbk0m6gq2xg3qfv2g6p")))) (base32 "15jhpl2j4rm97cvvqzlfzxarvxvcsg64raz068psrsd2y7y2zh4c"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-auctex" ,emacs-auctex) `(("emacs-auctex" ,emacs-auctex)
@ -20727,7 +20768,7 @@ describing the key binding changes.")
(define-public emacs-evil-multiedit (define-public emacs-evil-multiedit
(package (package
(name "emacs-evil-multiedit") (name "emacs-evil-multiedit")
(version "1.3.9") (version "1.4.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -20736,8 +20777,7 @@ describing the key binding changes.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32 "08ycwss58zh2zikk79jfj074q78yjcd7vbjgv5ssqvws09x5rgfq"))))
"19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-evil" ,emacs-evil) `(("emacs-evil" ,emacs-evil)
@ -20747,15 +20787,15 @@ describing the key binding changes.")
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'check 'fix-makefile (add-before 'check 'fix-checks
(lambda _ (lambda _
(substitute* "Makefile" (substitute* "Makefile"
(("@cask exec ") "")) (("@cask exec ") ""))
#t))) (substitute* "test/test-helper.el"
(("'\\(evil iedit\\)") "nil")))))
#:tests? #t #:tests? #t
#:test-command '("make" "test"))) #:test-command '("make" "test")))
(home-page (home-page "https://github.com/hlissner/evil-multiedit")
"https://github.com/hlissner/evil-multiedit")
(synopsis "Multiple cursors for Evil mode") (synopsis "Multiple cursors for Evil mode")
(description (description
"This plugin was an answer to the lack of proper multiple cursor support "This plugin was an answer to the lack of proper multiple cursor support
@ -26726,7 +26766,7 @@ Emacs that integrate with major modes like Org-mode.")
(define-public emacs-modus-themes (define-public emacs-modus-themes
(package (package
(name "emacs-modus-themes") (name "emacs-modus-themes")
(version "1.6.0") (version "1.7.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -26735,7 +26775,7 @@ Emacs that integrate with major modes like Org-mode.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0fkj5as1lx6q7n6iny9x5hhhswfgg9f5ky3d82832hrq5a1jc0mg")))) (base32 "06i2jsy7vigydci4261nfnh668rl5zrcss5icwxlqii928dkmy8y"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://protesilaos.com/modus-themes/") (home-page "https://protesilaos.com/modus-themes/")
(synopsis "Accessible themes (WCAG AAA)") (synopsis "Accessible themes (WCAG AAA)")
@ -27347,22 +27387,22 @@ each slide with left/right keys.")
(define-public emacs-fullframe (define-public emacs-fullframe
(package (package
(name "emacs-fullframe") (name "emacs-fullframe")
(version "0.5.0") (version "0.5.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/tomterl/fullframe") (url "https://git.sr.ht/~tomterl/fullframe")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32 "1q276p3bagx9fhzyzjmz449f95k1z287x4p34980d06klj11lrab"))
"0m43qnhp6ibsskpjkxc86p3lrjsjc0ndqml3lbd65s79x4x7i3fi"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/tomterl/fullframe") (home-page "https://git.sr.ht/~tomterl/fullframe")
(synopsis "Generalized automatic execution in a single frame") (synopsis "Generalized automatic execution in a single frame")
(description "This library provides helpers for single-window-per-frame (description
execution of buffer-exposing commands.") "This library provides helpers for single-window-per-frame execution of
buffer-exposing commands.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-eshell-toggle (define-public emacs-eshell-toggle
@ -28588,6 +28628,38 @@ a @samp{date} keywords, and optionally, a @samp{filetags} keyword.")
conversion program}, a Japanese input method on Emacs.") conversion program}, a Japanese input method on Emacs.")
(license license:gpl2+)))) (license license:gpl2+))))
(define-public emacs-ddskk-nicola
(package
(inherit emacs-ddskk)
(name "emacs-ddskk-nicola")
(propagated-inputs
`(("emacs-ddskk" ,emacs-ddskk)))
(arguments
`(#:make-flags
(let ((out (assoc-ref %outputs "out")))
(append
(list (string-append "PREFIX=" out)
(string-append "LISPDIR=" out "/share/emacs/site-lisp"))))
#:tests? #f ; no tests in this subtree
,@(substitute-keyword-arguments (package-arguments emacs-ddskk)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'chdir
(lambda _
(chdir "nicola")
#t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(make-file-writable "NICOLA-DDSKK-CFG")
(emacs-substitute-sexps "NICOLA-DDSKK-CFG"
("setq NICOLA-DDSKK_PREFIX" ""))
#t)))))))
(synopsis "Nicola layout for Daredevil SKK")
(description
"Daredevil SKK is a version of @acronym{SKK, Simple Kana to Kanji
conversion program}, a Japanese input method on Emacs. This package adds
support for the Nicola keyboard layout to it.")))
(define-public emacs-objed (define-public emacs-objed
(package (package
(name "emacs-objed") (name "emacs-objed")
@ -29309,7 +29381,7 @@ web development.")
(define-public emacs-iter2 (define-public emacs-iter2
(package (package
(name "emacs-iter2") (name "emacs-iter2")
(version "1.0") (version "1.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -29318,7 +29390,7 @@ web development.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0gaq3z2v1q4r9mkyq71dzmqakhi0p8g7ph4z0n3a11rvyc3z9ykx")))) (base32 "12flc98nv353cqr9qbkasgdmiyf9c3iw4apzh899xw857j1h5qdr"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(home-page "https://github.com/doublep/iter2") (home-page "https://github.com/doublep/iter2")
(synopsis "Reimplementation of Elisp generators") (synopsis "Reimplementation of Elisp generators")
@ -29724,7 +29796,7 @@ and preferred services can easily be configured.")
(define-public emacs-vertico (define-public emacs-vertico
(package (package
(name "emacs-vertico") (name "emacs-vertico")
(version "0.15") (version "0.16")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -29733,7 +29805,7 @@ and preferred services can easily be configured.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "059mj7x9iisjl2cdc1ggqd3racfs42yf0qqk0va9c857qgscrn26")))) (base32 "1w5i8qmh3sivqqaq3zygx1fw16s56p4nwm22d33j6inn7l9n5zsm"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -29745,8 +29817,7 @@ and preferred services can easily be configured.")
(let ((el-files (find-files "./extensions" ".*\\.el$"))) (let ((el-files (find-files "./extensions" ".*\\.el$")))
(for-each (lambda (f) (for-each (lambda (f)
(rename-file f (basename f))) (rename-file f (basename f)))
el-files)) el-files)))))))
#t)))))
(native-inputs (native-inputs
`(("texinfo" ,texinfo))) `(("texinfo" ,texinfo)))
(home-page "https://github.com/minad/vertico") (home-page "https://github.com/minad/vertico")

View file

@ -8,6 +8,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020, 2021 Simon South <simon@simonsouth.net>
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -1350,6 +1351,38 @@ these identified regions.
(home-page "https://www.freecalypso.org/") (home-page "https://www.freecalypso.org/")
(license license:public-domain))) (license license:public-domain)))
(define-public stcgal
(package
(name "stcgal")
(version "1.6")
(source (origin
;; Neither the unit tests nor the "doc" subdirectory referred to
;; by stcgal's setup.py is present in the source distribution on
;; PyPI, so we fetch directly from the project's git repository
;; instead.
(method git-fetch)
(uri (git-reference
(url "https://github.com/grigorig/stcgal")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1d10qxyghz66zp7iqpm8q8rfv9jz9n609gxmfcav1lssmf1dlyk3"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pyserial" ,python-pyserial)
("python-pyusb" ,python-pyusb)
("python-tqdm" ,python-tqdm)))
(native-inputs
;; For tests.
`(("python-pyyaml" ,python-pyyaml)))
(home-page "https://github.com/grigorig/stcgal")
(synopsis "Programmer for STC 8051-compatible microcontrollers")
(description "stcgal is a command-line flash-programming tool for STC
MCU's line of Intel 8051-compatible microcontrollers, including those in the
STC89, STC90, STC10, STC11, STC12, STC15 and STC8 series.")
(license license:expat)))
(define-public stlink (define-public stlink
(package (package
(name "stlink") (name "stlink")

View file

@ -771,7 +771,7 @@ and Game Boy Color games.")
(define-public sameboy (define-public sameboy
(package (package
(name "sameboy") (name "sameboy")
(version "0.14.5") (version "0.14.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -780,7 +780,7 @@ and Game Boy Color games.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0qqribyksm51fhq923rdhrzb9c4yf16szymprbw8fsz0nzv8frm3")))) (base32 "1r391jdh0gjnx8bwmr63dcdmq58lpm162mng2ncrx53ydbb13xxf"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("rgbds" ,rgbds) `(("rgbds" ,rgbds)

View file

@ -975,7 +975,7 @@ Powerline support.")
(define-public font-adobe-source-code-pro (define-public font-adobe-source-code-pro
(package (package
(name "font-adobe-source-code-pro") (name "font-adobe-source-code-pro")
(version "2.030R-ro-1.050R-it") (version "2.032R-ro-1.052R-it-1.012R-VAR")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -984,10 +984,12 @@ Powerline support.")
(commit (regexp-substitute/global (commit (regexp-substitute/global
;; The upstream tag uses "/" between the roman and italic ;; The upstream tag uses "/" between the roman and italic
;; versions, so substitute our "-" separator here. ;; versions, so substitute our "-" separator here.
#f "R-ro-" version 'pre "R-ro/" 'post)))) #f "((R-ro)|(R-it))(-)" version
'pre 1 "/" 'post
))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0hc5kflr8xzqgdm0c3gbgb1paygznxmnivkylid69ipc7wnicx1n")))) (base32 "1lqchm8z0ah5y675ycmciqvr8y1v1gcj22ysfs443gm291vy0z4v"))))
(build-system font-build-system) (build-system font-build-system)
(home-page "https://github.com/adobe-fonts/source-code-pro") (home-page "https://github.com/adobe-fonts/source-code-pro")
(synopsis (synopsis

View file

@ -23,6 +23,7 @@
;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz> ;;; Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz>
;;; Copyright © 2020-2021 James Smith <jsubuntuxp@disroot.org> ;;; Copyright © 2020-2021 James Smith <jsubuntuxp@disroot.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1016,6 +1017,59 @@ the creation of animations, tiled graphics, texture atlases, and more.")
(home-page "https://www.aseprite.org/") (home-page "https://www.aseprite.org/")
(license license:gpl2+))) (license license:gpl2+)))
(define-public libresprite
(package
(name "libresprite")
(version "1.0")
;; TODO: Unbundle third party software.
;; - duktape is bundled inside the project but it's hard to unbundle:
;; there are many differences from a version to the next and it is not
;; really designed to work as a shared lib.
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/LibreSprite/LibreSprite")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
"0djbjjh21ahlxzh0b0jp4mpfycam8h9157i4wbxkd618fraadhbp"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
(list "-DWITH_WEBP_SUPPORT=1")
;; Tests are unmaintained
#:tests? #f))
(native-inputs
`(("gcc@10" ,gcc-10) ; Requires 8.5 or higher
("pkg-config" ,pkg-config)))
(inputs
`(("curl" ,curl)
("freetype" ,freetype)
("giflib" ,giflib)
("googletest" ,googletest)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libwebp" ,libwebp)
("libx11" ,libx11)
("libxext" ,libxext)
("libxxf86dga" ,libxxf86dga)
("libxxf86vm" ,libxxf86vm)
("lua" ,lua) ; Optional
("pixman" ,pixman)
("sdl2" ,sdl2)
("sdl2-image" ,sdl2-image)
("tinyxml" ,tinyxml)
("zlib" ,zlib)))
(synopsis "Animated sprite editor and pixel art tool")
(description "LibreSprite is a tool for creating 2D pixel art for video
games. In addition to basic pixel editing features, it can assist in the
creation of animations, tiled graphics, texture atlases, and more.
LibreSprite is a fork of the latest GPLv2 commit of Aseprite.")
(home-page "https://libresprite.github.io/")
(license license:gpl2+)))
(define-public qqwing (define-public qqwing
(package (package
(name "qqwing") (name "qqwing")

View file

@ -3599,7 +3599,7 @@ are primarily in English, however some in other languages are provided.")
C++. Features include an OpenGL renderer, extensible materials, scene graph C++. Features include an OpenGL renderer, extensible materials, scene graph
management, character animation, particle and other special effects, support management, character animation, particle and other special effects, support
for common mesh file formats, and collision detection.") for common mesh file formats, and collision detection.")
(home-page "http://irrlicht.sourceforge.net/") (home-page "https://irrlicht.sourceforge.io/")
(license license:zlib))) (license license:zlib)))
(define-public mars (define-public mars
@ -5635,7 +5635,7 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.")
(patches (search-patches "laby-make-install.patch")))) (patches (search-patches "laby-make-install.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("lablgtk" ,lablgtk) `(("lablgtk3" ,lablgtk3)
("ocaml" ,ocaml) ("ocaml" ,ocaml)
("ocaml-findlib" ,ocaml-findlib) ("ocaml-findlib" ,ocaml-findlib)
("ocamlbuild" ,ocamlbuild))) ("ocamlbuild" ,ocamlbuild)))
@ -5643,15 +5643,9 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.")
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
(add-before 'build 'allow-unsafe-strings
;; Fix a build failure with ocaml >=4.06.0.
;; See <https://github.com/sgimenez/laby/issues/53>.
(lambda _
(setenv "OCAMLPARAM" "safe-string=0,_")
#t))
(add-before 'build 'set-library-path (add-before 'build 'set-library-path
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((lablgtk (assoc-ref inputs "lablgtk"))) (let ((lablgtk (assoc-ref inputs "lablgtk3")))
(setenv "LD_LIBRARY_PATH" (setenv "LD_LIBRARY_PATH"
(string-append lablgtk "/lib/ocaml/stublibs")))))) (string-append lablgtk "/lib/ocaml/stublibs"))))))
#:tests? #f ; no 'check' target #:tests? #f ; no 'check' target

View file

@ -6,7 +6,7 @@
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;; Copyright © 2018, 2019, 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018, 2019, 2020, 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2021 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2019, 2021 Wiktor Żelazny <wzelazny@vurv.cz>
@ -76,6 +76,7 @@
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gps) #:use-module (gnu packages gps)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-apps) #:use-module (gnu packages haskell-apps)
#:use-module (gnu packages image) #:use-module (gnu packages image)
@ -85,6 +86,7 @@
#:use-module (gnu packages kde) #:use-module (gnu packages kde)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages pdf) #:use-module (gnu packages pdf)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -2631,3 +2633,42 @@ becomes a world atlas, while OpenStreetMap takes the user to street level. It
supports searching for places of interest, viewing Wikipedia articles, supports searching for places of interest, viewing Wikipedia articles,
creating routes by drag and drop and more.") creating routes by drag and drop and more.")
(license license:gpl3)))) (license license:gpl3))))
(define-public gplates
(package
(name "gplates")
(version "2.3.0")
(source (origin
(method url-fetch)
(uri "https://www.earthbyte.org/download/8421/")
(file-name (string-append name "-" version ".tar.bz2"))
(sha256
(base32
"0lrcmcxc924ixddii8cyglqlwwxvk7f00g4yzbss5i3fgcbh8n96"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBoost_NO_BOOST_CMAKE=ON")
#:tests? #f)) ;no test target
(inputs
`(("boost" ,boost)
("cgal" ,cgal)
("gdal" ,gdal)
("glew" ,glew)
("glu" ,glu)
("gmp" ,gmp)
("mesa" ,mesa)
("mpfr" ,mpfr)
("proj" ,proj)
("python-3" ,python-3)
("python-numpy" ,python-numpy)
("qt" ,qtbase-5)
("qtsvg" ,qtsvg)
("qtxmlpatterns" ,qtxmlpatterns)
("qwt" ,qwt)
("zlib" ,zlib)))
(home-page "https://www.gplates.org")
(synopsis "Plate tectonics simulation program")
(description "GPlates is a plate tectonics program. Manipulate
reconstructions of geological and paleogeographic features through geological
time. Interactively visualize vector, raster and volume data.")
(license license:gpl2+)))

View file

@ -12,6 +12,7 @@
;;; Copyright © 2020 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2020 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -282,6 +283,39 @@ GNOME Shell.")
that caches clipboard history.") that caches clipboard history.")
(license license:expat))) (license license:expat)))
(define-public gnome-shell-extension-customize-ibus
(package
(name "gnome-shell-extension-customize-ibus")
(version "78")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/openSUSE/Customize-IBus.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hnnsjriq7xaakk8biwz55mn077lnm9nsmi4wz5zk7clgxmasvq9"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "VERSION=" ,version)
(string-append "INSTALLBASE=" (assoc-ref %outputs "out")
"/share/gnome-shell/extensions"))
#:tests? #f ; No test target
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure))))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")))
(home-page "https://github.com/openSUSE/Customize-IBus")
(synopsis "GNOME Shell Extension for IBus Customization")
(description "Customize IBus provides full customization of appearance,
behavior, system tray and input source indicator for IBus.")
(license license:gpl3+)))
(define-public gnome-shell-extension-topicons-redux (define-public gnome-shell-extension-topicons-redux
(package (package
(name "gnome-shell-extension-topicons-redux") (name "gnome-shell-extension-topicons-redux")

View file

@ -27,7 +27,7 @@
;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue> ;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org> ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;; Copyright © 2017, 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2017, 2020, 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
@ -12123,7 +12123,7 @@ It uses pandoc as back-end for parsing Markdown.")
(define-public libratbag (define-public libratbag
(package (package
(name "libratbag") (name "libratbag")
(version "0.14") (version "0.16")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -12132,7 +12132,7 @@ It uses pandoc as back-end for parsing Markdown.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1fpwp2sj8mf98bqasq2h8qwgprxi7k3iw33gcfid3d1lbyiacw0x")))) (base32 "0jjf6xc3a37icp5dvbxla3ai9is2ns31m0llbfq1bmb6dk8cd4n0"))))
(build-system meson-build-system) (build-system meson-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -12190,7 +12190,7 @@ your operating-system definition:
(define-public piper (define-public piper
(package (package
(name "piper") (name "piper")
(version "0.5.1") (version "0.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -12198,7 +12198,7 @@ your operating-system definition:
(url "https://github.com/libratbag/piper") (url "https://github.com/libratbag/piper")
(commit version))) (commit version)))
(sha256 (sha256
(base32 "1nfjnsiwg2rs6gkjsxzhr2708i6di149dgwq3cf6l12rxqpb8arj")) (base32 "02x4d4n0078slj2pl0rvgayrrxvna6y6vj8fxfamvazsh5xyfzwk"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
@ -12211,6 +12211,7 @@ your operating-system definition:
`(("adwaita-icon-theme" ,adwaita-icon-theme) `(("adwaita-icon-theme" ,adwaita-icon-theme)
("gtk" ,gtk+) ("gtk" ,gtk+)
("gtk:bin" ,gtk+ "bin") ("gtk:bin" ,gtk+ "bin")
("libratbag" ,libratbag)
("librsvg" ,librsvg) ("librsvg" ,librsvg)
("python-evdev" ,python-evdev) ("python-evdev" ,python-evdev)
("python-lxml" ,python-lxml) ("python-lxml" ,python-lxml)

View file

@ -18,6 +18,7 @@
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Baptiste Strazzul <bstrazzull@hotmail.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -2003,3 +2004,41 @@ Thunderbird. It supports email, news feeds, chat, calendar and contacts.")
(description "Firefox Decrypt is a tool to extract passwords from (description "Firefox Decrypt is a tool to extract passwords from
Mozilla (Firefox, Waterfox, Thunderbird, SeaMonkey) profiles.") Mozilla (Firefox, Waterfox, Thunderbird, SeaMonkey) profiles.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public lz4json
(package
(name "lz4json")
(version "2")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/andikleen/lz4json")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xxn8yzr6j8j6prmbj6mxspdczigarfiv3vlm9k70yxmky65ijh3"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("lz4" ,lz4)))
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(replace 'install ; no install target
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/share/man/man1")))
(install-file "lz4jsoncat" bin)
(install-file "lz4jsoncat.1" man)))))
#:make-flags `(,(string-append "CC=" ,(cc-for-target)))))
(home-page "https://github.com/andikleen/lz4json")
(synopsis "C decompress tool for mozilla lz4json format")
(description
"@code{lz4json} is a little utility to unpack lz4json files as generated
by Firefox's bookmark backups and session restore. This is a different format
from what the normal lz4 utility expects. The data is dumped to stdout.")
(license license:bsd-2)))

View file

@ -828,7 +828,7 @@ too slow and you'll get wound up in the scroll and crushed.")
(define-public shellcheck (define-public shellcheck
(package (package
(name "shellcheck") (name "shellcheck")
(version "0.7.2") (version "0.8.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -836,7 +836,7 @@ too slow and you'll get wound up in the scroll and crushed.")
"https://hackage.haskell.org/package/ShellCheck/ShellCheck-" "https://hackage.haskell.org/package/ShellCheck/ShellCheck-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "0wl43njaq95l35y5mvipwp1db9vr551nz9wl0xy83j1x1kc38xgz")) (base32 "05jlapp4m997w36h2wszdxz9gvczdczaylypsbn14jqpb650w232"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(arguments (arguments

View file

@ -8,6 +8,7 @@
;;; Copyright © 2020 kanichos <kanichos@yandex.ru> ;;; Copyright © 2020 kanichos <kanichos@yandex.ru>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -32,6 +33,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system python)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages anthy) #:use-module (gnu packages anthy)
@ -55,6 +57,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages python-web)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
@ -823,3 +826,31 @@ hanja dictionary and small hangul character classification.")
(description (description
"ibus-hangul is a Korean input method engine for IBus.") "ibus-hangul is a Korean input method engine for IBus.")
(license gpl2+))) (license gpl2+)))
(define-public ibus-theme-tools
(package
(name "ibus-theme-tools")
(version "4.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/openSUSE/IBus-Theme-Tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0i8vwnikwd1bfpv4xlgzc51gn6s18q58nqhvcdiyjzcmy3z344c2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; No tests
(propagated-inputs
`(("python-tinycss2" ,python-tinycss2)
("python-pygobject" ,python-pygobject)))
(native-inputs
`(("gettext" ,gettext-minimal)))
(home-page "https://github.com/openSUSE/IBus-Theme-Tools")
(synopsis "Tool for IBus Themes")
(description "IBus Theme Tools can extract IBus-specific settings from
GTK themes to apply both within and without GNOME Shell.")
(license gpl3+)))

View file

@ -137,6 +137,7 @@
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages slang) #:use-module (gnu packages slang)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
@ -353,17 +354,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major ;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream. ;; versions that are still supported upstream.
(define-public linux-libre-5.14-version "5.14.18") (define-public linux-libre-5.14-version "5.14.21")
(define-public linux-libre-5.14-gnu-revision "gnu") (define-public linux-libre-5.14-gnu-revision "gnu")
(define deblob-scripts-5.14 (define deblob-scripts-5.14
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
linux-libre-5.14-version linux-libre-5.14-version
linux-libre-5.14-gnu-revision linux-libre-5.14-gnu-revision
(base32 "11zax57brk8bl75q68c71xsdlvslj48wpmrv8rh34sb8wym9n4mc") (base32 "11zax57brk8bl75q68c71xsdlvslj48wpmrv8rh34sb8wym9n4mc")
(base32 "024rz0bp3n3r5nkwbib7byx10d72c2fh5cw9iv00diyzgnp819g7"))) (base32 "1xmmr26lpffc4dfmrkvh3gdkkr8666fcyvgam560vbyd2b2qkd78")))
(define-public linux-libre-5.14-pristine-source (define-public linux-libre-5.14-pristine-source
(let ((version linux-libre-5.14-version) (let ((version linux-libre-5.14-version)
(hash (base32 "1pr7qh2wjw7h6r3fixg9ia5r3na7vdb6b4sp9wnbifnqckahzwis"))) (hash (base32 "1cr381c179nfdrq95l4j56c4ygw09sxv493553ix4b80naf2a6pl")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.14))) deblob-scripts-5.14)))
@ -371,7 +372,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support. ;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines: ;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html> ;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.10-version "5.10.79") (define-public linux-libre-5.10-version "5.10.81")
(define-public linux-libre-5.10-gnu-revision "gnu1") (define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10 (define deblob-scripts-5.10
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -381,12 +382,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "024rz0bp3n3r5nkwbib7byx10d72c2fh5cw9iv00diyzgnp819g7"))) (base32 "024rz0bp3n3r5nkwbib7byx10d72c2fh5cw9iv00diyzgnp819g7")))
(define-public linux-libre-5.10-pristine-source (define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version) (let ((version linux-libre-5.10-version)
(hash (base32 "1bd86ywff2mv73sybjdjlvvvhnmsv891jlm17h5nvqifdbhmb6g4"))) (hash (base32 "1nssv94zivx08vrxxflq4dxk5fxl3azsqlnzvw58qnf469hniqd2")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.10))) deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.159") (define-public linux-libre-5.4-version "5.4.161")
(define-public linux-libre-5.4-gnu-revision "gnu1") (define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4 (define deblob-scripts-5.4
(linux-libre-deblob-scripts (linux-libre-deblob-scripts
@ -396,7 +397,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p")))
(define-public linux-libre-5.4-pristine-source (define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version) (let ((version linux-libre-5.4-version)
(hash (base32 "0hw68yjf0c8kahwra8hq863318cbyqc89f429z75scmb9rgk466p"))) (hash (base32 "19rrz7fzka506bpgy229v1sbaxc2s609ldmxc2522y9h5aswcj9i")))
(make-linux-libre-source version (make-linux-libre-source version
(%upstream-linux-source version hash) (%upstream-linux-source version hash)
deblob-scripts-5.4))) deblob-scripts-5.4)))
@ -8259,20 +8260,21 @@ platforms, it is not limited to resource-constrained systems.")
(define-public lttng-ust (define-public lttng-ust
(package (package
(name "lttng-ust") (name "lttng-ust")
(version "2.12.2") (version "2.13.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://lttng.org/files/lttng-ust/" (uri (string-append "https://lttng.org/files/lttng-ust/"
"lttng-ust-" version ".tar.bz2")) "lttng-ust-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1iwz6p79zvibj8sl8qqw84lcir9a8z1ylq77hhnwg26anrjg1l5w")))) "0l0p6y2zrd9hgd015dhafjmpcj7waz762n6wf5ws1xlwcwrwkr2l"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("liburcu" ,liburcu) `(("liburcu" ,liburcu)
("numactl" ,numactl))) ("numactl" ,numactl)))
(native-inputs (native-inputs
`(("python" ,python-3))) `(("python" ,python-3)
("pkg-config", pkg-config)))
(home-page "https://lttng.org/") (home-page "https://lttng.org/")
(synopsis "LTTng userspace tracer libraries") (synopsis "LTTng userspace tracer libraries")
(description "The user space tracing library, liblttng-ust, is the LTTng (description "The user space tracing library, liblttng-ust, is the LTTng
@ -8284,14 +8286,14 @@ to ring buffers shared with a consumer daemon.")
(define-public lttng-tools (define-public lttng-tools
(package (package
(name "lttng-tools") (name "lttng-tools")
(version "2.12.5") (version "2.13.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://lttng.org/files/lttng-tools/" (uri (string-append "https://lttng.org/files/lttng-tools/"
"lttng-tools-" version ".tar.bz2")) "lttng-tools-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0bgk35423v6z17j1w80m7dcza7gigs1pwyq24sdmgqwg6j2d1zmc")))) "1df8ag2a1yyjn6hz6wxgcz0p847cq91b8inf0zyhgz1im1yxzrng"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(;; FIXME - Currently there's a segmentation fault by swig when enabling `(;; FIXME - Currently there's a segmentation fault by swig when enabling
@ -8346,6 +8348,61 @@ line for tracing control, a @code{lttng-ctl} library for tracing control and a
@code{lttng-relayd} for network streaming.") @code{lttng-relayd} for network streaming.")
(license (list license:gpl2 license:lgpl2.1)))) (license (list license:gpl2 license:lgpl2.1))))
(define-public babeltrace
(package
(name "babeltrace")
(version "2.0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://www.efficios.com/files/babeltrace/babeltrace2-"
version ".tar.bz2"))
(sha256
(base32 "1jlv925pr7hykc48mdvbmqm4ipy1r11xwzapa6fdpdfshmk12kvp"))))
(build-system gnu-build-system)
(arguments
`(;; FIXME - When Python's bindings are enabled, tests do not pass.
#:configure-flags '("--enable-debug-info"
"--enable-man-pages"
"--disable-python-bindings"
"--disable-python-plugins")
#:phases
(modify-phases %standard-phases
;; These are recommended in the project's README for a development
;; build configuration.
(add-before 'configure 'set-environment-variables
(lambda _
(setenv "BABELTRACE_DEV_MODE" "1")
(setenv "BABELTRACE_MINIMAL_LOG_LEVEL" "TRACE"))))))
(inputs
`(("glib" ,glib)))
;; NOTE - elfutils is used for the LTTng debug information filter
;; component class. This can be moved to `native-inputs` if
;; `--enable-debug-info` is replaced by `--disable-debug-info` in
;; `#:configure-flags`.
(propagated-inputs
`(("elfutils" ,elfutils)))
;; NOTE - python-3 is set here for generating the bindings. Users need to
;; install python-3 in their profile in order to use these bindings.
(native-inputs
`(("asciidoc" ,asciidoc)
("bison" ,bison)
("flex" ,flex)
("pkg-config" ,pkg-config)
("python-3" ,python-3)
("python-sphinx" ,python-sphinx)
("swig", swig)
("xmltoman" ,xmltoman)))
(home-page "https://babeltrace.org/")
(synopsis "Trace manipulation toolkit")
(description "Babeltrace 2 is a framework for viewing, converting,
transforming, and analyzing traces. It is also the reference parser
implementation of the Common Trace Format (CTF), produced by tools such as
LTTng and barectf. This package provides a library with a C API, Python 3
bindings, and the command-line tool @command{babeltrace2}.")
(license license:expat)))
(define-public kexec-tools (define-public kexec-tools
(package (package
(name "kexec-tools") (name "kexec-tools")

View file

@ -28,6 +28,7 @@
;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com> ;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -5803,7 +5804,7 @@ offered, one SAX-like, the other similar to StAX.")
Common Lisp, including support for compact syntax, DTD Compatibility, and the Common Lisp, including support for compact syntax, DTD Compatibility, and the
XSD type library.") XSD type library.")
(home-page "http://www.lichteblau.com/cxml-rng/") (home-page "http://www.lichteblau.com/cxml-rng/")
(license license:x11-style)))) (license license:bsd-2))))
(define-public cl-cxml-rng (define-public cl-cxml-rng
(sbcl-package->cl-source-package sbcl-cxml-rng)) (sbcl-package->cl-source-package sbcl-cxml-rng))
@ -17371,6 +17372,126 @@ computing and event based message handling.")
(define-public cl-gserver (define-public cl-gserver
(sbcl-package->cl-source-package sbcl-cl-gserver)) (sbcl-package->cl-source-package sbcl-cl-gserver))
(define-public sbcl-assoc-utils
(let ((commit "74af16a3c0f10ad35e406167de02984744fc7854")
(revision "1"))
(package
(name "sbcl-assoc-utils")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fukamachi/assoc-utils")
(commit commit)))
(file-name (git-file-name "cl-assoc-utils" version))
(sha256
(base32 "1yac1v7zmdxj0p6rvwrrhyqvy7yjfhmqbchkwqhhr89gpjvvaick"))))
(build-system asdf-build-system/sbcl)
(arguments
;; All test cases pass, but tests successfully fail at the end:
;;
;; Summary:
;; All 1 file passed.
;; Unhandled ASDF/FIND-COMPONENT:MISSING-DEPENDENCY in thread
;; #<SB-THREAD:THREAD "main thread" RUNNING {1001858103}>:
;; Component ASSOC-UTILS-ASD::ASSOC-UTILS-TEST not found, required by
;; #<SYSTEM "assoc-utils">
`(#:tests? #f))
(native-inputs
`(("prove" ,sbcl-prove)))
(home-page "https://github.com/fukamachi/assoc-utils")
(synopsis "Utilities for manipulating association lists in Common Lisp")
(description
"@code{assoc-utils} provides utilities for manipulating association
lists in Common Lisp.")
(license license:public-domain))))
(define-public cl-assoc-utils
(sbcl-package->cl-source-package sbcl-assoc-utils))
(define-public ecl-assoc-utils
(sbcl-package->ecl-package sbcl-assoc-utils))
(define-public sbcl-let-over-lambda
(let ((commit "481b2e3ab4646186451dfdd2062113203287d520")
(revision "1"))
(package
(name "sbcl-let-over-lambda")
(version (git-version "1.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thephoeron/let-over-lambda")
(commit commit)))
(file-name (git-file-name "cl-let-over-lambda" version))
(sha256
(base32 "114p781lwi9lrbzg27dnkymz9m4cvm1k430j7qsykwd0b58d8qbk"))))
(build-system asdf-build-system/sbcl)
(arguments
;; All test cases pass, but tests successfully fail at the end:
;;
;; Summary:
;; All 1 file passed.
;; Unhandled ASDF/FIND-COMPONENT:MISSING-DEPENDENCY in thread
;; #<SB-THREAD:THREAD "main thread" RUNNING {1001860103}>:
;; Component LET-OVER-LAMBDA-ASD::LET-OVER-LAMBDA-TEST not found,
;; required by #<SYSTEM "let-over-lambda">
`(#:tests? #f))
(inputs
`(("alexandria" ,sbcl-alexandria)
("cl-ppcre" ,sbcl-cl-ppcre)
("named-readtables" ,sbcl-named-readtables)))
(native-inputs
`(("prove" ,sbcl-prove)))
(home-page "https://github.com/thephoeron/let-over-lambda")
(synopsis "Macros from Let Over Lambda")
(description
"This package provides Doug Hoyte's \"Production\" version of macros
from the Let Over Lambda book, including community updates.")
(license license:bsd-3))))
(define-public cl-let-over-lambda
(sbcl-package->cl-source-package sbcl-let-over-lambda))
(define-public ecl-let-over-lambda
(sbcl-package->ecl-package sbcl-let-over-lambda))
(define-public sbcl-flute
(let ((commit "90ebcd6e82f637f49b6de7d625ccc51ec4c92900")
(revision "1"))
(package
(name "sbcl-flute")
(version (git-version "0.2-dev" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ailisp/flute")
(commit commit)))
(file-name (git-file-name "cl-flute" version))
(sha256
(base32 "0q8jhp040cvpppyn820mm6a550yfxyr1lar298x13c42mm807f4f"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("assoc-utils" ,sbcl-assoc-utils)
("let-over-lambda" ,sbcl-let-over-lambda)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(home-page "https://github.com/ailisp/flute")
(synopsis "HTML5 generation library in Common Lisp")
(description
"Flute is an easily composable HTML5 generation library in Common
Lisp.")
(license license:expat))))
(define-public cl-flute
(sbcl-package->cl-source-package sbcl-flute))
(define-public ecl-flute
(sbcl-package->ecl-package sbcl-flute))
(define-public sbcl-cl-posix-mqueue (define-public sbcl-cl-posix-mqueue
(let ((commit "8977370c7206d1f62bd1be80f4254af40654b83f") (let ((commit "8977370c7206d1f62bd1be80f4254af40654b83f")
(revision "1")) (revision "1"))
@ -17762,11 +17883,11 @@ functions allow Lisp programs to explore the web.")
(sbcl-package->cl-source-package sbcl-aserve)) (sbcl-package->cl-source-package sbcl-aserve))
(define-public sbcl-yxorp (define-public sbcl-yxorp
(let ((commit "d2e8f9304549e47ae5c7fa35a6b114804603eac9") (let ((commit "041d0a535d6406df703f5f037d3d2cad4159c74d")
(revision "1")) (revision "2"))
(package (package
(name "sbcl-yxorp") (name "sbcl-yxorp")
(version (git-version "0" revision commit)) (version (git-version "0.2" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -17775,7 +17896,7 @@ functions allow Lisp programs to explore the web.")
(commit commit))) (commit commit)))
(file-name (git-file-name "cl-yxorp" version)) (file-name (git-file-name "cl-yxorp" version))
(sha256 (sha256
(base32 "1zz1j678vzwkf817h2z0pf0fcyf4mldv4hiv1wyam58hd4bcrjsw")))) (base32 "14fvncisig6h2qamczbx9cifp3rbjfw0cmc2ffifvr82x2bwab1f"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
`(("cl+ssl" ,sbcl-cl+ssl) `(("cl+ssl" ,sbcl-cl+ssl)
@ -17973,11 +18094,11 @@ and DOM cleaning, to ensure that all remote DOMs are the same.")
(sbcl-package->cl-source-package sbcl-issr-core)) (sbcl-package->cl-source-package sbcl-issr-core))
(define-public sbcl-portal (define-public sbcl-portal
(let ((commit "cc7ba6a54cea6ef63b17dcc6e653d91d9907f59e") (let ((commit "416589fa04cb239971422a1272acba236c8333be")
(revision "1")) (revision "2"))
(package (package
(name "sbcl-portal") (name "sbcl-portal")
(version (git-version "1" revision commit)) (version (git-version "1.2" revision commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -17986,7 +18107,7 @@ and DOM cleaning, to ensure that all remote DOMs are the same.")
(commit commit))) (commit commit)))
(file-name (git-file-name "portal" version)) (file-name (git-file-name "portal" version))
(sha256 (sha256
(base32 "0fc81iwb4lpp8d2scdwafkixxwkfmq4gqns522zyb4bh6c1rfmwy")))) (base32 "1012jc068qdd8df6mmbn8vmmqlniqm5j2jbyrraw3yz8c13c8280"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(inputs (inputs
`(("alexandria" ,sbcl-alexandria) `(("alexandria" ,sbcl-alexandria)
@ -18089,6 +18210,34 @@ bound to whatever value was in the same place in the URL (as a string).")
(define-public cl-hunchenissr-routes (define-public cl-hunchenissr-routes
(sbcl-package->cl-source-package sbcl-hunchenissr-routes)) (sbcl-package->cl-source-package sbcl-hunchenissr-routes))
(define-public sbcl-genhash
(let ((commit "220ae1af8361dbd2005177f2ee11072b6a33934f")
(revision "1"))
(package
(name "sbcl-genhash")
(version (git-version "1.7" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pnathan/genhash")
(commit commit)))
(file-name (git-file-name "cl-genhash" version))
(sha256
(base32 "1jnk1fix1zydhy0kn3cvlp6dy0241x7v8ahq001nlr6v152z1cwk"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/pnathan/genhash")
(synopsis "Generic hash tables for Common Lisp")
(description
"This an implementation of CDR 2: generic hash tables for Common Lisp")
(license license:public-domain))))
(define-public cl-genhash
(sbcl-package->cl-source-package sbcl-genhash))
(define-public ecl-genhash
(sbcl-package->ecl-package sbcl-genhash))
(define-public sbcl-spinneret (define-public sbcl-spinneret
;; No release since 2019, no tags. ;; No release since 2019, no tags.
(let ((commit "02451b32648eda4e6e4022bbb7f91d9ea71bebbc")) (let ((commit "02451b32648eda4e6e4022bbb7f91d9ea71bebbc"))
@ -18150,6 +18299,39 @@ semantics in Lisp and Parenscript.
(define-public cl-spinneret (define-public cl-spinneret
(sbcl-package->cl-source-package sbcl-spinneret)) (sbcl-package->cl-source-package sbcl-spinneret))
(define-public sbcl-path-parse
(let ((commit "86183f3752374435f8933394b4c5d8e75a37a113")
(revision "1"))
(package
(name "sbcl-path-parse")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eudoxia0/path-parse")
(commit commit)))
(file-name (git-file-name "cl-path-parse" version))
(sha256
(base32 "10mxm6q62cfpv3hw2w8k968ba8a1xglqdkwlkqs4l4nby3b11aaq"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("split-sequence" ,sbcl-split-sequence)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(home-page "https://github.com/eudoxia0/path-parse")
(synopsis "Parse the PATH environment variable in Common Lisp")
(description
"This package provides a function to parse the @code{PATH} environment
variable portably in Common Lisp.")
(license license:expat))))
(define-public cl-path-parse
(sbcl-package->cl-source-package sbcl-path-parse))
(define-public ecl-path-parse
(sbcl-package->ecl-package sbcl-path-parse))
(define-public sbcl-cl-libxml2 (define-public sbcl-cl-libxml2
(let ((commit "8d03110c532c1a3fe15503fdfefe82f60669e4bd")) (let ((commit "8d03110c532c1a3fe15503fdfefe82f60669e4bd"))
(package (package
@ -18236,6 +18418,40 @@ child nodes enumeration, etc.
(define-public cl-libxml2 (define-public cl-libxml2
(sbcl-package->cl-source-package sbcl-cl-libxml2)) (sbcl-package->cl-source-package sbcl-cl-libxml2))
(define-public sbcl-pileup
(let ((commit "f269473a570a8e55881082545ee63cfe5c7d3e72")
(revision "1"))
(package
(name "sbcl-pileup")
(version (git-version "1.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nikodemus/pileup")
(commit commit)))
(file-name (git-file-name "cl-pileup" version))
(sha256
(base32 "01gvshpxil0ggjgfmgcymbgmpsfaxy6aggm0bywkn40rck3038vb"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
("bordeaux-threads" ,sbcl-bordeaux-threads)))
(native-inputs
`(("hu.dwim.stefil" ,sbcl-hu.dwim.stefil)))
(home-page "https://github.com/nikodemus/pileup")
(synopsis "Simple thread-safe binary heap implementation for Common Lisp")
(description
"@code{Pileup} is a portable, performant, and thread-safe binary heap
for Common Lisp.")
(license license:expat))))
(define-public cl-pileup
(sbcl-package->cl-source-package sbcl-pileup))
(define-public ecl-pileup
(sbcl-package->ecl-package sbcl-pileup))
(define-public sbcl-feeder (define-public sbcl-feeder
;; No release. ;; No release.
(let ((commit "b05f517d7729564575cc809e086c262646a94d34") (let ((commit "b05f517d7729564575cc809e086c262646a94d34")
@ -18272,6 +18488,51 @@ formats within this framework.")
(define-public cl-feeder (define-public cl-feeder
(sbcl-package->cl-source-package sbcl-feeder)) (sbcl-package->cl-source-package sbcl-feeder))
(define-public sbcl-routes
(let ((commit "1b79e85aa653e1ec87e21ca745abe51547866fa9")
(revision "1"))
(package
(name "sbcl-routes")
(version (git-version "0.2.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/archimag/cl-routes")
(commit commit)))
(file-name (git-file-name "cl-routes" version))
(sha256
(base32 "1zpk3cp2v8hm50ppjl10yxr437vv4552r8hylvizglzrq2ibsbr1"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda* (#:key inputs #:allow-other-keys)
;; Fix: :FORCE and :FORCE-NOT arguments not allowed in
;; a nested call to ASDF/OPERATE:OPERATE unless
;; identically to toplevel
(substitute* "routes.asd"
((" :force t") "")))))))
(inputs
`(("iterate" ,sbcl-iterate)
("puri" ,sbcl-puri)
("split-sequence" ,sbcl-split-sequence)))
(native-inputs
`(("lift" ,sbcl-lift)))
(home-page "https://github.com/archimag/cl-routes")
(synopsis "Rails routes system for Common Lisp")
(description
"This is a a Common Lisp re-implementation of the Rails routes system
for mapping URLs.")
(license license:llgpl))))
(define-public cl-routes
(sbcl-package->cl-source-package sbcl-routes))
(define-public ecl-routes
(sbcl-package->ecl-package sbcl-routes))
(define-public sbcl-terminfo (define-public sbcl-terminfo
(let ((commit "b8b2e3ed786bfcf9f1aa4a264cee2e93135080f5") (let ((commit "b8b2e3ed786bfcf9f1aa4a264cee2e93135080f5")
(revision "1")) (revision "1"))
@ -18333,6 +18594,40 @@ tasks in Common Lisp. It is fork of SWANK-BACKEND.")
(define-public ecl-conium (define-public ecl-conium
(sbcl-package->ecl-package sbcl-conium)) (sbcl-package->ecl-package sbcl-conium))
(define-public sbcl-terminal-size
(let ((commit "e0b3d56a9dd3366baf2a05d84381da5747a2ef4a")
(revision "1"))
(package
(name "sbcl-terminal-size")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eudoxia0/terminal-size")
(commit commit)))
(file-name (git-file-name "cl-terminal-size" version))
(sha256
(base32 "1212wbadms9jzrqgarpj3d9xh9w4dab8jhx4k2aryqgf116zs42h"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("cffi" ,sbcl-cffi)
("osicat" ,sbcl-osicat)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(home-page "https://github.com/eudoxia0/terminal-size")
(synopsis "Get the size of the terminal from Common Lisp")
(description
"This package provides the @{(terminal-size:size)} function to get the
size of the terminal from Common Lisp.")
(license license:expat))))
(define-public cl-terminal-size
(sbcl-package->cl-source-package sbcl-terminal-size))
(define-public ecl-terminal-size
(sbcl-package->ecl-package sbcl-terminal-size))
(define-public sbcl-cl-readline (define-public sbcl-cl-readline
(let ((commit "8438c9ebd92ccc95ebab9cc9cbe6c72d44fccc58") (let ((commit "8438c9ebd92ccc95ebab9cc9cbe6c72d44fccc58")
(revision "1")) (revision "1"))
@ -18672,6 +18967,34 @@ higher-level lispier interface.")
(define-public ecl-cl-charms (define-public ecl-cl-charms
(sbcl-package->ecl-package sbcl-cl-charms)) (sbcl-package->ecl-package sbcl-cl-charms))
(define-public sbcl-trivial-open-browser
(let ((commit "7ab4743dea9d592639f15c565bfa0756e828c427")
(revision "1"))
(package
(name "sbcl-trivial-open-browser")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eudoxia0/trivial-open-browser")
(commit commit)))
(file-name (git-file-name "trivial-open-browser" version))
(sha256
(base32 "0ixay1piq420i6adx642qhw45l6ik7rvgk52lyz27dvx5f8yqsdb"))))
(build-system asdf-build-system/sbcl)
(home-page "https://github.com/eudoxia0/trivial-open-browser")
(synopsis "Open a browser window from Common Lisp")
(description
"This package provides a library to open a web browser to a URL.")
(license license:expat))))
(define-public cl-trivial-open-browser
(sbcl-package->cl-source-package sbcl-trivial-open-browser))
(define-public ecl-trivial-open-browser
(sbcl-package->ecl-package sbcl-trivial-open-browser))
(define-public sbcl-clinenoise (define-public sbcl-clinenoise
(let ((commit "46e21f99d06a55d93eaa382cf652d55d457032ef") (let ((commit "46e21f99d06a55d93eaa382cf652d55d457032ef")
(revision "1")) (revision "1"))
@ -18705,6 +19028,80 @@ terminals.")
(define-public ecl-clinenoise (define-public ecl-clinenoise
(sbcl-package->ecl-package sbcl-clinenoise)) (sbcl-package->ecl-package sbcl-clinenoise))
(define-public sbcl-trivial-raw-io
(let ((commit "b1a3c876305baa0dead419841de7b3e433a75867")
(revision "1"))
(package
(name "sbcl-trivial-raw-io")
(version (git-version "0.0.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kingcons/trivial-raw-io")
(commit commit)))
(file-name (git-file-name "trivial-raw-io" version))
(sha256
(base32 "19290zw2b64k78wr62gv30pp7cmqg07q85vfwjknaffjdd73xwi1"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("sbcl-alexandria" ,sbcl-alexandria)))
(home-page "https://github.com/kingcons/trivial-raw-io")
(synopsis "Trivial portability for raw *nix IO in Common Lisp")
(description
"This library exports three symbols: @code{with-raw-io},
@code{read-char}, and @code{read-line}, to provide raw POSIX I/O in Common
Lisp.")
(license license:bsd-2))))
(define-public cl-trivial-raw-io
(sbcl-package->cl-source-package sbcl-trivial-raw-io))
(define-public ecl-trivial-raw-io
(sbcl-package->ecl-package sbcl-trivial-raw-io))
(define-public sbcl-terminal-keypress
(let ((commit "2ef48c045aa627229764b2aa393a83d392d93d08")
(revision "1"))
(package
(name "sbcl-terminal-keypress")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eudoxia0/terminal-keypress")
(commit commit)))
(file-name (git-file-name "cl-terminal-keypress" version))
(sha256
(base32 "11c4krpq5x55qkchx6ykcnb455ssb4r3jjywx3c3irfrkj733ybp"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
("trivial-raw-io" ,sbcl-trivial-raw-io)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(home-page "https://github.com/eudoxia0/terminal-keypress")
(synopsis "Read keyboard events in the terminal from Common Lisp")
(description
"This is a library for reading semi-raw user input from terminals.
Semi-raw as in, we can't detect if the user pressed the @code{Control} key
alone, and the function keys are a mystery. What is supported, however, is:
@itemize
@item Regular characters
@item Control+[key]
@item Alt+[key]
@item Control+Alt+[key]
@end itemize")
(license license:expat))))
(define-public cl-terminal-keypress
(sbcl-package->cl-source-package sbcl-terminal-keypress))
(define-public ecl-terminal-keypress
(sbcl-package->ecl-package sbcl-terminal-keypress))
(define-public sbcl-periodic-table (define-public sbcl-periodic-table
(package (package
(name "sbcl-periodic-table") (name "sbcl-periodic-table")
@ -18857,12 +19254,46 @@ This package provides the text-based interface for Chemboy.")
(define-public ecl-cl-pass (define-public ecl-cl-pass
(sbcl-package->ecl-package sbcl-cl-pass)) (sbcl-package->ecl-package sbcl-cl-pass))
(define-public sbcl-which
(let ((commit "b2333e4fcacab6e5d85eecd28b5ef4944bda1448")
(revision "1"))
(package
(name "sbcl-which")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eudoxia0/which")
(commit commit)))
(file-name (git-file-name "cl-which" version))
(sha256
(base32 "127pm9h4rm4w9aadw5yvamnfzhk2rr69kchx10rf9k7sk7izqqfk"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("cl-fad" ,sbcl-cl-fad)
("path-parse" ,sbcl-path-parse)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)))
(home-page "https://github.com/eudoxia0/which")
(synopsis "The which command in Common Lisp")
(description
"This package provides an implementation of the @code{which} UNIX
command in Common Lisp.")
(license license:expat))))
(define-public cl-which
(sbcl-package->cl-source-package sbcl-which))
(define-public ecl-which
(sbcl-package->ecl-package sbcl-which))
(define-public sbcl-cl-tld (define-public sbcl-cl-tld
;; No release. ;; No release.
(let ((commit "6529c70042cf6e82be39bc522e87ad87da08f1c9")) (let ((commit "f5014da8d831fa9481d4181d4450f10a52850c75"))
(package (package
(name "sbcl-cl-tld") (name "sbcl-cl-tld")
(version (git-version "0.1" "1" commit)) (version (git-version "0.1" "2" commit))
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -18871,7 +19302,7 @@ This package provides the text-based interface for Chemboy.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1l6f0sak90pqjzkrjg0cyk7gv9h8gwpfvc0964z98dw2nj3hakqb")))) (base32 "0sxnn35gzdby1ixil6zbjg72vli9fcspwzsqimqk455310syx9iv"))))
(build-system asdf-build-system/sbcl) (build-system asdf-build-system/sbcl)
(home-page "https://github.com/lu4nx/cl-tld/") (home-page "https://github.com/lu4nx/cl-tld/")
(synopsis "Extract the Top Level Domain from domains, in Common Lisp") (synopsis "Extract the Top Level Domain from domains, in Common Lisp")
@ -19250,3 +19681,110 @@ Vernacular builds on Overlord and is inspired by Racket.")
(define-public cl-vernacular (define-public cl-vernacular
(sbcl-package->cl-source-package sbcl-vernacular)) (sbcl-package->cl-source-package sbcl-vernacular))
(define-public sbcl-cmn
(package
(name "sbcl-cmn")
(version "2021.11.22")
(source
(origin
(method url-fetch)
(uri "https://ccrma.stanford.edu/software/cmn/cmn.tar.gz")
(file-name (string-append "cmn-" version ".tar.gz"))
(sha256
(base32 "04j1l57cdyfi2zzxqwmvmf1hl899ffgs3bl4r42ba47zsw45kq14"))))
(build-system asdf-build-system/sbcl)
(home-page "https://ccrma.stanford.edu/software/cmn/")
(synopsis "Western music notation package written in Common Lisp")
(description
"CMN provides a package of functions to hierarchically describe a musical
score. When evaluated, the musical score is rendered to an image.")
(license license:expat)))
(define-public cl-cmn
(sbcl-package->cl-source-package sbcl-cmn))
(define-public ecl-cmn
(sbcl-package->ecl-package sbcl-cmn))
(define-public sbcl-cl-https-everywhere
;; No release.
;; Don't forget to update the https-everywhere input.
(let ((commit "cbcc73b985a5b1c0ce0d4ec38bc982a0538d4bd8"))
(package
(name "sbcl-cl-https-everywhere")
(version (git-version "0.0.0" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ruricolist/cl-https-everywhere/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1wcvx1icwym1ncd6wl1wxzkyyndrm796caalbklvjd4a2cbl3xxi"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("alexandria" ,sbcl-alexandria)
("global-vars" ,sbcl-global-vars)
("parenscript" ,sbcl-parenscript)
("cl-markdown" ,sbcl-cl-markdown)
("cl-tld" ,sbcl-cl-tld)
("fxml" ,sbcl-fxml)
("overlord" ,sbcl-overlord)
("ppcre" ,sbcl-cl-ppcre)
("serapeum" ,sbcl-serapeum)
("trivial-gray-streams" ,sbcl-trivial-gray-streams)
("vernacular" ,sbcl-vernacular)))
(native-inputs
`(("fiveam" ,sbcl-fiveam)
("https-everywhere"
,(let ((version "2021.7.13"))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/EFForg/https-everywhere")
(commit version)))
(file-name (git-file-name "https-everywhere" version))
(sha256
(base32
"1k5gj29imhxf47sv3d8rxyrgr6k65scp2fm040va3nfshayslzia")))))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'link-https-everywhere-repo
(lambda* (#:key inputs #:allow-other-keys)
(let ((https-everywhere (assoc-ref inputs "https-everywhere")))
(symlink https-everywhere "https-everywhere"))))
(add-after 'unpack 'fix-overlord-build
;; Upstream bugs? See
;; https://github.com/ruricolist/cl-https-everywhere/issues/1.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(rulesets.xml (string-append out "/share/common-lisp/" (%lisp-type)
"/cl-https-everywhere/rulesets.xml")))
(substitute* "build.lisp"
(("\\(depends-on https-everywhere-version\\)") "")
;; Don't rebuild the rulesets just because the timestamp is epoch.
(("\\(vernacular:require-default :cl-https-everywhere/rulesets-file \"rulesets.xml\"\\)")
(format #f "(if (uiop:file-exists-p ~s)
(compile-rulesets ~s)
(vernacular:require-default :cl-https-everywhere/rulesets-file \"rulesets.xml\"))"
rulesets.xml
rulesets.xml))
(("\\(uiop:parse-unix-namestring \"https-everywhere/src/chrome/content/rules/\\*\\.xml\")")
"\"https-everywhere/src/chrome/content/rules/*.xml\"")
(("\\(out temp :external-format :utf-8\\)")
"(out temp :external-format :utf-8 :if-exists :supersede)")))
#t)))))
(home-page "https://github.com/ruricolist/cl-https-everywhere/")
(synopsis "Use HTTPS Everywhere rules from Lisp")
(description
"CL-HTTPS-EVERYWHERE parses HTTPS Everywhere rulesets and makes them
available for use in Lisp programs.")
(license (list license:expat
;; For the ruleset
license:gpl2+)))))
(define-public cl-https-everywhere
(sbcl-package->cl-source-package sbcl-cl-https-everywhere))

View file

@ -29,6 +29,7 @@
;;; Copyright © 2020, 2021 Robert Karszniewicz <avoidr@posteo.de> ;;; Copyright © 2020, 2021 Robert Karszniewicz <avoidr@posteo.de>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2021 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2021 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -390,6 +391,47 @@ conferencing.")
license:gpl2+ license:gpl2+
license:bsd-2)))) license:bsd-2))))
(define-public qxmpp
(package
(name "qxmpp")
(version "1.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/qxmpp-project/qxmpp")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1knpq1jkwk0lxdwczbmzf7qrjvlxba9yr40nbq9s5nqkcx6q1c3i"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_EXAMPLES=false"
"-DWITH_GSTREAMER=true")
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "-E"
(string-join ;; These tests use the network.
(list "tst_qxmppiceconnection"
"tst_qxmppcallmanager"
"tst_qxmpptransfermanager")
"|"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("gstreamer" ,gstreamer)
("qtbase" ,qtbase-5)))
(home-page "https://github.com/qxmpp-project/qxmpp")
(synopsis "XMPP client and server library")
(description
"QXmpp is a XMPP client and server library written in C++ and uses the Qt
framework. It builds XMPP clients complying with the XMPP Compliance Suites
2021 for IM and Advanced Mobile.")
(license license:lgpl2.1+)))
(define-public meanwhile (define-public meanwhile
(package (package
(name "meanwhile") (name "meanwhile")

View file

@ -1499,14 +1499,14 @@ of the same name.")
(define-public wireshark (define-public wireshark
(package (package
(name "wireshark") (name "wireshark")
(version "3.4.9") (version "3.6.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-" (uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 "084nv4fbgpxsf6b6cfi6cinn8l3wsbn0g8lsd7p2aifjkf15wln6")))) (base32 "01nzzqig1z7ix4xb7ycs7wq3qqwq3ipdwp7rznynzmmibgyggj4w"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:phases `(#:phases

File diff suppressed because it is too large Load diff

View file

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2021 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
@ -129,14 +129,14 @@
(define-public nss-pam-ldapd (define-public nss-pam-ldapd
(package (package
(name "nss-pam-ldapd") (name "nss-pam-ldapd")
(version "0.9.11") (version "0.9.12")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://arthurdejong.org/nss-pam-ldapd/" (uri (string-append "https://arthurdejong.org/nss-pam-ldapd/"
"nss-pam-ldapd-" version ".tar.gz")) "nss-pam-ldapd-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1dna3r0q6sjhhlkhcp8x2zkslrd4y7701kk6fl5r940sdph1pmyh")))) "050fzcmxmf6y15dlcffc4gxr3wkk7fliqqwhlwqzbjwk8vkn3mn6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -157,8 +157,7 @@
(substitute* "Makefile.in" (substitute* "Makefile.in"
(("\\$\\(DESTDIR\\)\\$\\(NSLCD_CONF_PATH\\)") (("\\$\\(DESTDIR\\)\\$\\(NSLCD_CONF_PATH\\)")
(string-append (assoc-ref outputs "out") (string-append (assoc-ref outputs "out")
"/etc/nslcd.conf.example"))) "/etc/nslcd.conf.example"))))))))
#t)))))
(inputs (inputs
`(("linux-pam" ,linux-pam) `(("linux-pam" ,linux-pam)
("openldap" ,openldap) ("openldap" ,openldap)

View file

@ -1245,8 +1245,8 @@ environments.")
(license (list license:gpl3+ license:agpl3+ license:silofl1.1)))) (license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
(define-public guix-build-coordinator (define-public guix-build-coordinator
(let ((commit "200ffe795bd36052b64f7868c71a92925ee7beca") (let ((commit "c9c55c0a16c0d72ad11389baf722ce90644c45d7")
(revision "37")) (revision "39"))
(package (package
(name "guix-build-coordinator") (name "guix-build-coordinator")
(version (git-version "0" revision commit)) (version (git-version "0" revision commit))
@ -1257,7 +1257,7 @@ environments.")
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"09j67zdx5h6ic2yvzn1vvhmwlsj7kb06s765yjnvpnsb228ja96s")) "1sxbfc3fy9x8vvhkpj68m5gz0rj6h66w8xcsqi26zx85d7jcs3h3"))
(file-name (string-append name "-" version "-checkout")))) (file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -1,42 +0,0 @@
From 6103f6fc56f978c847ba7c1f2d9f38ee93a5e337 Mon Sep 17 00:00:00 2001
From: Sonja Heinze <sonjaleaheinze@gmail.com>
Date: Tue, 9 Mar 2021 12:57:47 +0100
Subject: [PATCH] Adapt to Ppxlib's API change
Ppxlib is removing Lexer.keyword_table from the API in exchange for
the more lightweight Keyword.is_keyword.
Signed-off-by: Sonja Heinze <sonjaleaheinze@gmail.com>
---
Patch from <https://github.com/janestreet/ppx_variants_conv/pull/9>.
ppx_variants_conv.opam | 2 +-
src/ppx_variants_conv.ml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/ppx_variants_conv.opam b/ppx_variants_conv.opam
index 7e7148d..b56040f 100644
--- a/ppx_variants_conv.opam
+++ b/ppx_variants_conv.opam
@@ -15,7 +15,7 @@ depends: [
"base" {>= "v0.14" & < "v0.15"}
"variantslib" {>= "v0.14" & < "v0.15"}
"dune" {>= "2.0.0"}
- "ppxlib" {>= "0.14.0"}
+ "ppxlib" {>= "0.23.0"}
]
synopsis: "Generation of accessor and iteration functions for ocaml variant types"
description: "
diff --git a/src/ppx_variants_conv.ml b/src/ppx_variants_conv.ml
index 8d60086..112fc78 100644
--- a/src/ppx_variants_conv.ml
+++ b/src/ppx_variants_conv.ml
@@ -66,7 +66,7 @@ end
let variant_name_to_string v =
let s = String.lowercase v in
- if Caml.Hashtbl.mem Lexer.keyword_table s
+ if Keyword.is_keyword s
then s ^ "_"
else s

View file

@ -0,0 +1,24 @@
From 0cb666fffcbeb78c8c14d271b3ba65ea514bfc44 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Fri, 19 Nov 2021 03:03:21 +0100
Subject: [PATCH] Fix whitespace issue in test
---
example/alcotest/output.txt.expected | 1 -
1 file changed, 1 deletion(-)
diff --git a/example/alcotest/output.txt.expected b/example/alcotest/output.txt.expected
index bde0b83..9f1417c 100644
--- a/example/alcotest/output.txt.expected
+++ b/example/alcotest/output.txt.expected
@@ -16,7 +16,6 @@ test `fail_sort_id` failed on ≥ 1 cases: [1; 0] (after 20 shrink steps)
[exception] test `fail_sort_id` failed on ≥ 1 cases: [1; 0] (after 20 shrink steps)
-
──────────────────────────────────────────────────────────────────────────────
3 failures! 5 tests run.
--
2.33.1

View file

@ -0,0 +1,25 @@
Resolves the following error that was most likely introduced in new version of
rust as this package is from 2019:
error: unnecessary parentheses around type
--> src/converter.rs:108:61
|
108 | fn add_arguments(arguments: &str, additional_arguments: Vec<(String)>, pre: bool) -> String {
| ^^^^^^^^ help: remove these parentheses
Reported upstream at https://github.com/sagiegurari/shell2batch/issues/17.
diff --git a/src/converter.rs b/src/converter.rs
index fc87d68..af309d2 100644
--- a/src/converter.rs
+++ b/src/converter.rs
@@ -105,7 +105,7 @@ fn replace_vars(arguments: &str) -> String {
updated_arguments
}
-fn add_arguments(arguments: &str, additional_arguments: Vec<(String)>, pre: bool) -> String {
+fn add_arguments(arguments: &str, additional_arguments: Vec<String>, pre: bool) -> String {
let mut windows_arguments = if pre {
"".to_string()
} else {

View file

@ -407,7 +407,7 @@ functions.")
(home-page "https://metacpan.org/release/Test-Dir") (home-page "https://metacpan.org/release/Test-Dir")
(synopsis "Utilities for testing directory attributes") (synopsis "Utilities for testing directory attributes")
(description (description
"This modules provides a collection of test utilities for directory "This module provides a collection of test utilities for directory
attributes.") attributes.")
(license perl-license))) (license perl-license)))
@ -1034,7 +1034,7 @@ code.")
(build-system perl-build-system) (build-system perl-build-system)
(synopsis "Ensure no warnings are produced while testing") (synopsis "Ensure no warnings are produced while testing")
(description (description
"This modules causes any warnings during testing to be captured and "This module causes any warnings during testing to be captured and
stored. It automatically adds an extra test that will run when your script stored. It automatically adds an extra test that will run when your script
ends to check that there were no warnings. If there were any warnings, the ends to check that there were no warnings. If there were any warnings, the
test will fail and output diagnostics of where, when and what the warning was, test will fail and output diagnostics of where, when and what the warning was,

View file

@ -845,7 +845,7 @@ Agency.")
("perl-mojolicious" ,perl-mojolicious))) ("perl-mojolicious" ,perl-mojolicious)))
(home-page "https://metacpan.org/release/Business-ISBN") (home-page "https://metacpan.org/release/Business-ISBN")
(synopsis "Work with International Standard Book Numbers") (synopsis "Work with International Standard Book Numbers")
(description "This modules provides tools to deal with International (description "This module provides tools to deal with International
Standard Book Numbers, including ISBN-10 and ISBN-13.") Standard Book Numbers, including ISBN-10 and ISBN-13.")
(license license:artistic2.0))) (license license:artistic2.0)))
@ -864,7 +864,7 @@ Standard Book Numbers, including ISBN-10 and ISBN-13.")
(build-system perl-build-system) (build-system perl-build-system)
(home-page "https://metacpan.org/release/Business-ISSN") (home-page "https://metacpan.org/release/Business-ISSN")
(synopsis "Work with International Standard Serial Numbers") (synopsis "Work with International Standard Serial Numbers")
(description "This modules provides tools to deal with International (description "This module provides tools to deal with International
Standard Serial Numbers.") Standard Serial Numbers.")
(license (package-license perl)))) (license (package-license perl))))
@ -884,7 +884,7 @@ Standard Serial Numbers.")
`(("perl-tie-cycle" ,perl-tie-cycle))) `(("perl-tie-cycle" ,perl-tie-cycle)))
(home-page "https://metacpan.org/release/Business-ISMN") (home-page "https://metacpan.org/release/Business-ISMN")
(synopsis "Work with International Standard Music Numbers") (synopsis "Work with International Standard Music Numbers")
(description "This modules provides tools to deal with International (description "This module provides tools to deal with International
Standard Music Numbers.") Standard Music Numbers.")
(license (package-license perl)))) (license (package-license perl))))
@ -5403,6 +5403,17 @@ for immediate access from Perl.")
(base32 (base32
"1b3sr39813di3j1kwbgn1xq2z726rhjjdw809ydzgmshj26jb1gi")))) "1b3sr39813di3j1kwbgn1xq2z726rhjjdw809ydzgmshj26jb1gi"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((make (assoc-ref inputs "make")))
(substitute* "lib/Inline/C.pm"
(("'\"make\"'")
(string-append "'\"" make "/bin/make\"'"))
(("'\"make install\"'")
(string-append "'\"" make "/bin/make install\"'")))))))))
(native-inputs (native-inputs
`(("perl-file-copy-recursive" ,perl-file-copy-recursive) `(("perl-file-copy-recursive" ,perl-file-copy-recursive)
("perl-file-sharedir-install" ,perl-file-sharedir-install) ("perl-file-sharedir-install" ,perl-file-sharedir-install)
@ -5920,7 +5931,7 @@ logging mechanism.")
throughout programs and projects. Every message will be logged with throughout programs and projects. Every message will be logged with
stacktraces, timestamps and so on. You can use built-in handlers stacktraces, timestamps and so on. You can use built-in handlers
immediately, or after the fact when you inspect the error stack. It immediately, or after the fact when you inspect the error stack. It
is highly configurable and let's you even provide your own handlers is highly configurable and lets you even provide your own handlers
for dealing with messages.") for dealing with messages.")
(license (package-license perl)))) (license (package-license perl))))
@ -10663,7 +10674,7 @@ operations can also be performed on the IxHash.")
(home-page "https://metacpan.org/release/Tie-Handle-Offset") (home-page "https://metacpan.org/release/Tie-Handle-Offset")
(synopsis "Special file handle that hides the beginning of a file") (synopsis "Special file handle that hides the beginning of a file")
(description (description
"This modules provides a file handle that hides the beginning of a file, "This module provides a file handle that hides the beginning of a file,
by modifying the @code{seek()} and @code{tell()} calls.") by modifying the @code{seek()} and @code{tell()} calls.")
(license license:asl2.0))) (license license:asl2.0)))

View file

@ -333,7 +333,7 @@ applications in mind and the idea to make logging fun.")
("python-xlib" ,python-xlib))) ("python-xlib" ,python-xlib)))
(home-page "https://github.com/seebye/ueberzug") (home-page "https://github.com/seebye/ueberzug")
(synopsis "Command line util to display images in combination with X11") (synopsis "Command line util to display images in combination with X11")
(description "Überzug is a command line util which allows to draw images on (description "Überzug is a command line util which draws images on
terminals by using child windows. The advantages of using Überzug are: terminals by using child windows. The advantages of using Überzug are:
@itemize @itemize
@item No race conditions as a new window is created to display images. @item No race conditions as a new window is created to display images.
@ -1367,6 +1367,13 @@ concepts.")
(sha256 (sha256
(base32 "0wf1cwmxmdzfqmfhrkqdxb5spf21ylgl2bidswhzjrqhwf35c9qf")))) (base32 "0wf1cwmxmdzfqmfhrkqdxb5spf21ylgl2bidswhzjrqhwf35c9qf"))))
(build-system python-build-system) (build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-native-optimization
(lambda _
(substitute* "setup.py"
((", '-march=native'") "")))))))
(propagated-inputs (propagated-inputs
`(("python-numpy" ,python-numpy))) `(("python-numpy" ,python-numpy)))
(native-inputs (native-inputs
@ -7334,14 +7341,14 @@ any machine that can run Python.")
(define-public python-xcffib (define-public python-xcffib
(package (package
(name "python-xcffib") (name "python-xcffib")
(version "0.6.0") (version "0.11.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "xcffib" version)) (uri (pypi-uri "xcffib" version))
(sha256 (sha256
(base32 (base32
"04k91yxyb3pgc5lvxmivh8w71yjrap2g57yk3s73x4rm4nvjq51n")))) "0nkglsm9nbhv238iagmmsjcz6lf1yfdvp5kmspphdj385vz9r50j"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("libxcb" ,libxcb))) `(("libxcb" ,libxcb)))
@ -7357,7 +7364,8 @@ any machine that can run Python.")
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((libxcb (assoc-ref inputs "libxcb"))) (let ((libxcb (assoc-ref inputs "libxcb")))
(substitute* '("xcffib/__init__.py") (substitute* '("xcffib/__init__.py")
(("^soname = \"") (string-append "soname = \"" libxcb "/lib/"))) (("soname = ctypes.util.find_library.*xcb.*")
(string-append "soname = \"" libxcb "/lib/libxcb.so\"\n")))
#t))) #t)))
(add-after 'install 'install-doc (add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -8898,6 +8906,31 @@ implementation of D-Bus.")
(arguments (arguments
`(#:configure-flags '("PYTHON_VERSION=2"))))) `(#:configure-flags '("PYTHON_VERSION=2")))))
(define-public python-dbus-next
(package
(name "python-dbus-next")
(version "0.2.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/altdesktop/python-dbus-next")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ahaz52kny1p9xxv6phvk4iq56rg8li390wywlxf2yslaij1188h"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/altdesktop/python-dbus-next")
(synopsis "Zero-dependency DBus library for Python with asyncio support")
(description
"This DBus library for Python aims to be a fully-featured high-level
library primarily geared towards integration of applications into desktop and
mobile environments.")
(license license:expat)))
(define-public python-notify2 (define-public python-notify2
(package (package
(name "python-notify2") (name "python-notify2")
@ -22077,13 +22110,53 @@ tool).")
(uri (pypi-uri "numcodecs" version)) (uri (pypi-uri "numcodecs" version))
(sha256 (sha256
(base32 (base32
"0kbfr8pl3x9glsypbq8hzim003f16ml1b1cvgrh4w1sdvgal6j7g")))) "0kbfr8pl3x9glsypbq8hzim003f16ml1b1cvgrh4w1sdvgal6j7g"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "c-blosc")
(for-each delete-file '("numcodecs/blosc.c"
"numcodecs/compat_ext.c"
"numcodecs/lz4.c"
"numcodecs/vlen.c"
"numcodecs/zstd.c"))))))
(build-system python-build-system) (build-system python-build-system)
(arguments
`(#:tests? #false ; TODO: unclear why numcodecs.* are not found
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-avx2
(lambda _
(setenv "DISABLE_NUMCODECS_AVX2" "1")))
(add-after 'unpack 'unbundle
(lambda _
(substitute* "setup.py"
(("sources=sources \\+ blosc_sources,")
"sources=sources,")
(("extra_compile_args=extra_compile_args")
"extra_compile_args=list(base_compile_args)")
(("'numcodecs.zstd',")
"'numcodecs.zstd', libraries=['zstd'], ")
(("'numcodecs.lz4',")
"'numcodecs.lz4', libraries=['lz4'], ")
(("'numcodecs.blosc',")
"'numcodecs.blosc', libraries=['blosc'], "))))
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv")))))))
(inputs
`(("c-blosc" ,c-blosc)
("lz4" ,lz4)
("zlib" ,zlib)
("zstd" ,zstd "lib")))
(propagated-inputs (propagated-inputs
`(("python-numpy" ,python-numpy) `(("python-numpy" ,python-numpy)
("python-msgpack" ,python-msgpack))) ("python-msgpack" ,python-msgpack)))
(native-inputs (native-inputs
`(("python-pytest" ,python-pytest) `(("python-cython" ,python-cython)
("python-pytest" ,python-pytest)
("python-setuptools-scm" ,python-setuptools-scm))) ("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "https://github.com/zarr-developers/numcodecs") (home-page "https://github.com/zarr-developers/numcodecs")
(synopsis "Buffer compression and transformation codecs") (synopsis "Buffer compression and transformation codecs")
@ -23467,7 +23540,7 @@ time-or-computationally-expensive properties quick and easy and works in Python
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0yi5y9pfpbc4bc4ibr8cblif8ls1wf3k0zawyx86r2qwxxkkyd6k")))) (base32 "1q05pzca3wfwgnbg03l3bagnhh348yx68w4aa91rg3g8zlviwjz1"))))
(build-system python-build-system) (build-system python-build-system)
(propagated-inputs (propagated-inputs
`(("python-branca" ,python-branca) `(("python-branca" ,python-branca)
@ -27958,3 +28031,22 @@ simple mock/record and a complete capture/replay framework.")
interfaces.") interfaces.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-iwlib
(package
(name "python-iwlib")
(version "1.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "iwlib" version))
(sha256
(base32 "18bd35wn7zclalpqbry42pf7bjrdggxkkw58mc0k1vkhg9czc1d8"))))
(build-system python-build-system)
(inputs
`(("wireless-tools" ,wireless-tools)))
(propagated-inputs `(("python-cffi" ,python-cffi)))
(home-page "https://github.com/nhoad/python-iwlib")
(synopsis "Python module to interface with iwlib")
(description
"This package provides a Python interface to iw wireless tools.")
(license license:gpl2)))

View file

@ -27,15 +27,18 @@
(define-public sg3-utils (define-public sg3-utils
(package (package
(name "sg3-utils") (name "sg3-utils")
(version "1.46") (version "1.47")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://sg.danny.cz/sg/p/sg3_utils-" (uri (string-append "http://sg.danny.cz/sg/p/sg3_utils-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"185rlxppnsmi6q7garfhglmw31gji2ff24xg2yjk3klk1fqnihjr")))) "1ckj2kjcs23lbjfyl5mz2rb0aylnyq13yghg0bdv1n7dbywcmc6x"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--disable-static")))
(home-page "http://sg.danny.cz/sg/sg3_utils.html") (home-page "http://sg.danny.cz/sg/sg3_utils.html")
(synopsis "SCSI device utilities") (synopsis "SCSI device utilities")
(description (description

View file

@ -841,14 +841,14 @@ Shell (pdksh).")
(define-public oil (define-public oil
(package (package
(name "oil") (name "oil")
(version "0.9.3") (version "0.9.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.oilshell.org/download/oil-" (uri (string-append "https://www.oilshell.org/download/oil-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "1js5i25wgvz7avsrfygxy96axanc97yvlc69arp0ja9vkcrxv5px")))) (base32 "13wm1p22hak45j91p7kc8nxcizcykdi467wxlqbhb7s57ywcck59"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:strip-binaries? #f ; strip breaks the binary `(#:strip-binaries? #f ; strip breaks the binary

View file

@ -0,0 +1,121 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021 Jorge Gomez <jgart@dismail.de>
;;;
;;; 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 spreadsheet)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix licenses)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages maths)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages time)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages statistics)
#:use-module (gnu packages xml))
(define-public sc-im
(package
(name "sc-im")
(version "0.8.2")
(home-page "https://github.com/andmarti1424/sc-im")
(source (origin
(method git-fetch)
(uri
(git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1nrjnw8sg75i0hkcbvjv7gydjddxjm27d5m1qczpg29fk9991q8z"))))
(build-system gnu-build-system)
(arguments
;; There are no tests at the moment.
;; https://github.com/andmarti1424/sc-im/issues/537
;; https://github.com/andmarti1424/sc-im/pull/385
`(#:tests? #f
#:make-flags (list "-C" "src"
(string-append "CC=" ,(cc-for-target))
(string-append "prefix=" %output))
#:phases
(modify-phases
%standard-phases
(delete 'configure))))
(inputs
`(("gnuplot" ,gnuplot)
("libxls" ,libxls)
("libxlsxwriter" ,libxlsxwriter)
("libxml2" ,libxml2)
("libzip" ,libzip)
("ncurses" ,ncurses)))
(native-inputs
`(("pkg-config" ,pkg-config)
("which" ,which)
("bison" ,bison)))
(synopsis "Spreadsheet program with vim-like keybindings")
(description
"@code{sc-im} is a highly configurable spreadsheet program
providing a vim-like experience. @code{sc-im} supports @{gnuplot} interaction,
functions for sorting and filtering, 256 color support, and much more.")
(license bsd-4)))
(define-public visidata
(package
(name "visidata")
(version "2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "visidata" version))
(sha256
(base32
"19fbjr9j91pcazcz0bqx3qrasmr8xdsb13haf5lfbpyxj23f7f1j"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests? (invoke "pytest"))
#t)))))
(inputs
`(("dateutil" ,python-dateutil)
("requests" ,python-requests)
("lxml" ,python-lxml)
("openpyxl" ,python-openpyxl)
("xlrd" ,python-xlrd)))
(native-inputs
`(("pytest" ,python-pytest)))
(synopsis "Terminal spreadsheet multitool for discovering and arranging data")
(description
"VisiData is an interactive multitool for tabular data. It combines the
clarity of a spreadsheet, the efficiency of the terminal, and the power of
Python, into a lightweight utility which can handle millions of rows.")
(home-page "https://www.visidata.org/")
(license gpl3)))

View file

@ -15,6 +15,7 @@
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> ;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net> ;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
;;; Copyright © 2021 Frank Pursel <frank.pursel@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -68,6 +69,7 @@
#:use-module (gnu packages machine-learning) #:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre) #:use-module (gnu packages pcre)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -75,6 +77,7 @@
#:use-module (gnu packages python-science) #:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages shells)
#:use-module (gnu packages sphinx) #:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh) #:use-module (gnu packages ssh)
#:use-module (gnu packages tcl) #:use-module (gnu packages tcl)
@ -3228,7 +3231,7 @@ using the multicore functionality of the parallel package.")
("https://cdn.datatables.net/1.10.20/js/dataTables.semanticui.js" ("https://cdn.datatables.net/1.10.20/js/dataTables.semanticui.js"
"1477f49xyxs4phias789mbspv23w8alxchhl5b5iy0aw6vd35c43" "1477f49xyxs4phias789mbspv23w8alxchhl5b5iy0aw6vd35c43"
"datatables") "datatables")
("https://cdn.datatables.net/autofill/2.3.4/js/dataTables.autoFill.js" ("https://cdn.datatables.net/autofill/2.3.4/js/dataTables.autoFill.js"
"04i6n7r3512gzfihl5wnhrvm0klnjp41g1z6cny3j803hvmnp8zk" "04i6n7r3512gzfihl5wnhrvm0klnjp41g1z6cny3j803hvmnp8zk"
"datatables-extensions/AutoFill") "datatables-extensions/AutoFill")
@ -3307,7 +3310,7 @@ using the multicore functionality of the parallel package.")
("https://cdn.datatables.net/colreorder/1.5.2/js/colReorder.jqueryui.js" ("https://cdn.datatables.net/colreorder/1.5.2/js/colReorder.jqueryui.js"
"1rd8hijz3prg2y36fvqczrpdzixibjy2dxgs2fmgr8wrm8k01rrm" "1rd8hijz3prg2y36fvqczrpdzixibjy2dxgs2fmgr8wrm8k01rrm"
"datatables-extensions/ColReorder") "datatables-extensions/ColReorder")
("https://cdn.datatables.net/fixedcolumns/3.3.0/js/dataTables.fixedColumns.js" ("https://cdn.datatables.net/fixedcolumns/3.3.0/js/dataTables.fixedColumns.js"
"0vsqk2fv59n351bdfcbvhmvpq38qwf41j1cn810xz1l1i07cg4hg" "0vsqk2fv59n351bdfcbvhmvpq38qwf41j1cn810xz1l1i07cg4hg"
"datatables-extensions/FixedColumns") "datatables-extensions/FixedColumns")
@ -3326,7 +3329,7 @@ using the multicore functionality of the parallel package.")
("https://cdn.datatables.net/fixedcolumns/3.3.0/js/fixedColumns.semanticui.js" ("https://cdn.datatables.net/fixedcolumns/3.3.0/js/fixedColumns.semanticui.js"
"1kqsap9y0d25a7m5zjakipifl5qi2qr72kfj4ap3zxavd8md2wyn" "1kqsap9y0d25a7m5zjakipifl5qi2qr72kfj4ap3zxavd8md2wyn"
"datatables-extensions/FixedColumns") "datatables-extensions/FixedColumns")
("https://cdn.datatables.net/fixedheader/3.1.6/js/dataTables.fixedHeader.js" ("https://cdn.datatables.net/fixedheader/3.1.6/js/dataTables.fixedHeader.js"
"1ml5ilnm8nirr6rsgmzn75l1k0hcjz3sqk6h1y1gy8cpwpklvqri" "1ml5ilnm8nirr6rsgmzn75l1k0hcjz3sqk6h1y1gy8cpwpklvqri"
"datatables-extensions/FixedHeader") "datatables-extensions/FixedHeader")
@ -3345,7 +3348,7 @@ using the multicore functionality of the parallel package.")
("https://cdn.datatables.net/fixedheader/3.1.6/js/fixedHeader.semanticui.js" ("https://cdn.datatables.net/fixedheader/3.1.6/js/fixedHeader.semanticui.js"
"1v0i6dc68h8l8673fb5970igzkl7as36riv504iyg82glfi7n877" "1v0i6dc68h8l8673fb5970igzkl7as36riv504iyg82glfi7n877"
"datatables-extensions/FixedHeader") "datatables-extensions/FixedHeader")
("https://cdn.datatables.net/keytable/2.5.1/js/dataTables.keyTable.js" ("https://cdn.datatables.net/keytable/2.5.1/js/dataTables.keyTable.js"
"16iib2icxsjh93x5hd42gpsl7bzpcsqb7zjgj0m1s02ls45bdlv5" "16iib2icxsjh93x5hd42gpsl7bzpcsqb7zjgj0m1s02ls45bdlv5"
"datatables-extensions/KeyTable") "datatables-extensions/KeyTable")
@ -3383,7 +3386,7 @@ using the multicore functionality of the parallel package.")
("https://cdn.datatables.net/responsive/2.2.3/js/responsive.bootstrap4.js" ("https://cdn.datatables.net/responsive/2.2.3/js/responsive.bootstrap4.js"
"1zjh15p7n1038sggaxv1xvcwbkhw2nk1ndx745s6cxiqb69y3i0h" "1zjh15p7n1038sggaxv1xvcwbkhw2nk1ndx745s6cxiqb69y3i0h"
"datatables-extensions/Responsive") "datatables-extensions/Responsive")
("https://cdn.datatables.net/rowgroup/1.1.1/js/dataTables.rowGroup.js" ("https://cdn.datatables.net/rowgroup/1.1.1/js/dataTables.rowGroup.js"
"0s4q7ir2d6q36g29nn9mqk7vrqrdig2mm5zbcv0sn2lixqi29pkj" "0s4q7ir2d6q36g29nn9mqk7vrqrdig2mm5zbcv0sn2lixqi29pkj"
"datatables-extensions/RowGroup") "datatables-extensions/RowGroup")
@ -3421,7 +3424,7 @@ using the multicore functionality of the parallel package.")
("https://cdn.datatables.net/rowreorder/1.2.6/js/rowReorder.semanticui.js" ("https://cdn.datatables.net/rowreorder/1.2.6/js/rowReorder.semanticui.js"
"1zjrx2rlgw3qannsqa88pcp3i4pc87pwv7rmgfw1dar8namkr9kk" "1zjrx2rlgw3qannsqa88pcp3i4pc87pwv7rmgfw1dar8namkr9kk"
"datatables-extensions/RowReorder") "datatables-extensions/RowReorder")
("https://cdn.datatables.net/scroller/2.0.1/js/dataTables.scroller.js" ("https://cdn.datatables.net/scroller/2.0.1/js/dataTables.scroller.js"
"0zfjjdvwwlsnps24i9l4c97hmway2qs6addks1is5bxl4k1r6d16" "0zfjjdvwwlsnps24i9l4c97hmway2qs6addks1is5bxl4k1r6d16"
"datatables-extensions/Scroller") "datatables-extensions/Scroller")
@ -3440,7 +3443,7 @@ using the multicore functionality of the parallel package.")
("https://cdn.datatables.net/scroller/2.0.1/js/scroller.semanticui.js" ("https://cdn.datatables.net/scroller/2.0.1/js/scroller.semanticui.js"
"1dfbblbzbryjgiv31qfdjnijz19lmyijg12win3y8gsgfd4fp9zz" "1dfbblbzbryjgiv31qfdjnijz19lmyijg12win3y8gsgfd4fp9zz"
"datatables-extensions/Scroller") "datatables-extensions/Scroller")
("https://cdn.datatables.net/searchbuilder/1.0.0/js/dataTables.searchBuilder.js" ("https://cdn.datatables.net/searchbuilder/1.0.0/js/dataTables.searchBuilder.js"
"0n5g0j0yfzqvdpsmwb27bj1rd8zx864fsx2k7b2kpv6mqqavzpqc" "0n5g0j0yfzqvdpsmwb27bj1rd8zx864fsx2k7b2kpv6mqqavzpqc"
"datatables-extensions/SearchBuilder") "datatables-extensions/SearchBuilder")
@ -3475,7 +3478,7 @@ using the multicore functionality of the parallel package.")
("https://cdn.datatables.net/searchpanes/1.1.1/js/searchPanes.semanticui.js" ("https://cdn.datatables.net/searchpanes/1.1.1/js/searchPanes.semanticui.js"
"1781d0xmx7xz0jly0wsw2zbrdmfc1crahmcdbsfbj5s66kdsnd7c" "1781d0xmx7xz0jly0wsw2zbrdmfc1crahmcdbsfbj5s66kdsnd7c"
"datatables-extensions/SearchPanes") "datatables-extensions/SearchPanes")
("https://cdn.datatables.net/select/1.3.1/js/dataTables.select.js" ("https://cdn.datatables.net/select/1.3.1/js/dataTables.select.js"
"0a7bkbz1cizhiq4h417b4rcdr7998pn8q4dlyzx8449xdp0h0n0v" "0a7bkbz1cizhiq4h417b4rcdr7998pn8q4dlyzx8449xdp0h0n0v"
"datatables-extensions/Select") "datatables-extensions/Select")
@ -6690,3 +6693,186 @@ original Datasaurus is detailed in \"Same Stats, Different Graphs: Generating
Datasets with Varied Appearance and Identical Statistics through Simulated Datasets with Varied Appearance and Identical Statistics through Simulated
Annealing\" @url{doi:10.1145/3025453.3025912}.") Annealing\" @url{doi:10.1145/3025453.3025912}.")
(license license:expat))) (license license:expat)))
(define-public r-lmom
(package
(name "r-lmom")
(version "2.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "lmom" version))
(sha256
(base32 "1lnj41gynaar5isyijg5nbll64qdxa12dnqvz7lxhaclqcjskqna"))))
(properties `((upstream-name . "lmom")))
(build-system r-build-system)
(native-inputs `(("gfortran" ,gfortran)))
(home-page "https://cran.r-project.org/package=lmom")
(synopsis "L-Moments for R")
(description
"This package provides functions related to L-moments: computation
of L-moments and trimmed L-moments of distributions and data samples;
parameter estimation; L-moment ratio diagram; plot vs. quantiles of an
extreme-value distribution.")
(license license:cpl1.0)))
(define-public r-gld
(package
(name "r-gld")
(version "2.6.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "gld" version))
(sha256
(base32 "1wrw7i5bq7rb2ahadm57y9fmr697r7lp9ln7ajcd592b0nn60n4i"))))
(properties `((upstream-name . "gld")))
(build-system r-build-system)
(propagated-inputs `(("r-e1071" ,r-e1071) ("r-lmom" ,r-lmom)))
(home-page
"https://cran.r-project.org/package=gld")
(synopsis
"Estimation and Use of the Generalised (Tukey) Lambda Distribution")
(description
"The generalised lambda distribution, or Tukey lambda distribution,
provides a wide variety of shapes with one functional form. This package
provides random numbers, quantiles, probabilities, densities and
density quantiles for four different types of the distribution, the FKML
(Freimer et al 1988), RS (Ramberg and Schmeiser 1974), GPD (van Staden
and Loots 2009) and FM5 - see documentation for details. It provides the
density function, distribution function, and Quantile-Quantile plots.
It implements a variety of estimation methods for the distribution,
including diagnostic plots. Estimation methods include the starship (all
4 types), method of L-Moments for the GPD and FKML types, and a number
of methods for only the FKML type. These include maximum likelihood,
maximum product of spacings, Titterington's method, Moments, Trimmed
L-Moments and Distributional Least Absolutes.")
(license license:gpl2+)))
(define-public r-exact
(package
(name "r-exact")
(version "3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "Exact" version))
(sha256
(base32 "0acm01njg3arlzwknv5v1sdsz5ab0bdh04sn1bmf91hcg3li8qd7"))))
(properties `((upstream-name . "Exact")))
(build-system r-build-system)
(propagated-inputs `(("r-rootsolve" ,r-rootsolve)))
(home-page "https://cran.r-project.org/package=Exact")
(synopsis "Unconditional Exact Test")
(description
"Performs unconditional exact tests and power calculations for 2x2
contingency tables. For comparing two independent proportions, performs
@url{doi:10.1038/156177a0, Barnard's test (1945)} using the original CSM
test (@url{doi:10.1093/biomet/34.1-2.123, Barnard (1947)}), using Fisher's
p-value referred to as @url{doi:10.1111/j.1467-9574.1970.tb00104.x,
Boschloo's test (1970)}, or using a Z-statistic (@url{doi:10.2307/2981892,
Suissa and Shuster (1985)}). For comparing two binary proportions,
performs unconditional exact test using McNemar's Z-statistic
(@url{doi:10.1191/0962280203sm312ra, Berger and Sidik (2003)}), using
McNemar's Z-statistic with continuity correction, or using CSM test.
Calculates confidence intervals for the difference in proportion.")
(license license:gpl2)))
(define-public r-desctools
(package
(name "r-desctools")
(version "0.99.43")
(source
(origin
(method url-fetch)
(uri (cran-uri "DescTools" version))
(sha256
(base32 "1zx4wwry7pph21q37r0r1vgx616pki232ych2wl9z2s2fmclwg4c"))))
(properties `((upstream-name . "DescTools")))
(build-system r-build-system)
(propagated-inputs
`(("r-bh" ,r-bh)
("r-boot" ,r-boot)
("r-data-table" ,r-data-table)
("r-exact" ,r-exact)
("r-expm" ,r-expm)
("r-gld" ,r-gld)
("r-mass" ,r-mass)
("r-mvtnorm" ,r-mvtnorm)
("r-rcpp" ,r-rcpp)
("r-rstudioapi" ,r-rstudioapi)))
(native-inputs `(("gfortran" ,gfortran)))
(home-page "https://andrisignorell.github.io/DescTools/")
(synopsis "Tools for Descriptive Statistics")
(description
"This package provides a collection of miscellaneous basic statistic
functions and convenience wrappers for efficiently describing data.
The author's intention was to create a toolbox, which facilitates the
(notoriously time consuming) first descriptive tasks in data analysis,
consisting of calculating descriptive statistics, drawing graphical
summaries and reporting the results. The package contains furthermore
functions to produce documents using MS Word (or PowerPoint) and functions
to import data from Excel. Many of the included functions can be found
scattered in other packages and other sources written partly by Titans
of R. The reason for collecting them here, was primarily to have them
consolidated in ONE instead of dozens of packages (which themselves might
depend on other packages which are not needed at all), and to provide a
common and consistent interface as far as function and arguments naming,
NA handling, recycling rules etc. are concerned. Google style guides
were used as naming rules (in absence of convincing alternatives).
The BigCamelCase style was consequently applied to functions borrowed
from contributed R packages as well.")
(license license:gpl2+)))
(define-public xlispstat
(let ((commit "f1bea6053df658ee48612bf1f63c35de99e2c649")
(revision "0"))
(package
(name "xlispstat")
(version (git-version "3.52.23" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jhbadger/xlispstat.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1p0cmgy19kbkxia139cb5w9dnkp2cdqp5n3baag6cq3prn3n71mf"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; Parallel builds are not supported
#:configure-flags (list "--with-gcc")
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-output-to-file "exit.lsp"
(lambda () (display "(exit)")))
(invoke "./xlisp" "tests/test" "exit")))))))
(inputs `(("tcsh" ,tcsh)
("libx11" ,libx11)
("libxmu" ,libxmu)
("libxext" ,libxext)
("libxpm" ,libxpm)
("libxaw" ,libxaw)
("ncurses" ,ncurses)
("gnuplot" ,gnuplot)))
(native-inputs `(("pkg-config" ,pkg-config)))
(synopsis "Statistical analysis environment with interactive graphics")
(description "XLISP-STAT is a statistical environment based on a Lisp
dialect called XLISP. To facilitate statistical computations, standard
functions for addition, logarithms, etc., have been modified to operate on
lists and arrays of numbers, and a number of basic statistical functions have
been added. Many of these functions have been written in Lisp, and additional
functions can be added easily by a user. Several basic forms of plots,
including histograms, scatterplots, rotatable plots and scatterplot matrices
are provided. These plots support various forms of interactive highlighting
operations and can be linked so points highlighted in one plot will be
highlighted in all linked plots. Interactions with the plots are controlled
by the mouse, menus and dialog boxes. An object-oriented programming system
is used to allow menus, dialogs, and the response to mouse actions to be
customized.")
(home-page "http://homepage.divms.uiowa.edu/~luke/xls/xlsinfo/")
(license license:expat))))

View file

@ -42,6 +42,7 @@
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -2055,6 +2056,14 @@ projects, from individuals to large-scale enterprise operations.")
"1if5pa4iip2p70gljm54nggfdnsfjxa4cqz8fpj07lvsijary39s")) "1if5pa4iip2p70gljm54nggfdnsfjxa4cqz8fpj07lvsijary39s"))
(patches (search-patches "rcs-5.10.0-no-stdin.patch")))) (patches (search-patches "rcs-5.10.0-no-stdin.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-rcsfreeze
(lambda* (#:key outputs #:allow-other-keys)
(chmod "src/rcsfreeze" #o755)
(install-file
"src/rcsfreeze"
(string-append (assoc-ref outputs "out") "/bin")))))))
(native-inputs `(("ed" ,ed))) (native-inputs `(("ed" ,ed)))
(home-page "https://www.gnu.org/software/rcs/") (home-page "https://www.gnu.org/software/rcs/")
(synopsis "Per-file local revision control system") (synopsis "Per-file local revision control system")
@ -2066,6 +2075,27 @@ administration files, for example, which are often inherently local to one
machine.") machine.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public rcs-blame
(package
(name "rcs-blame")
(version "1.3.1-20210207")
(source (origin
(method url-fetch)
(uri (string-append
"https://invisible-mirror.net/archives/rcs-blame/blame-"
version ".tgz"))
(sha256
(base32
"1j0brsvdx3hlbwchddafh8r2xmxv5vg4ahpd68v4bb9xhcq6pcih"))))
(build-system gnu-build-system)
(home-page "https://invisible-island.net/rcs-blame/rcs-blame.html")
(synopsis "Display the last modification for each line in an RCS file")
(description
"@code{blame} outputs an annotated revision from each RCS file. An
annotated RCS file describes the revision and date in which each line was
added to the file, and the author of each line.")
(license license:gpl2+)))
(define-public cvs (define-public cvs
(package (package
(name "cvs") (name "cvs")

View file

@ -1076,7 +1076,7 @@ H.264 (MPEG-4 AVC) video streams.")
(define-public pipe-viewer (define-public pipe-viewer
(package (package
(name "pipe-viewer") (name "pipe-viewer")
(version "0.1.5") (version "0.1.7")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1086,7 +1086,7 @@ H.264 (MPEG-4 AVC) video streams.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "075xc5kvnmyqqj7zijvdrvbkna931h7xf8f8z0ick7yx5fy3pn5j")))) (base32 "1fh8b77vchpsar88dszsz5h1gzd4jz0v902igp2880vnpvacmfi9"))))
(build-system perl-build-system) (build-system perl-build-system)
(arguments (arguments
`(#:imported-modules `(#:imported-modules
@ -1425,6 +1425,44 @@ support in old parsers.
libebml is a C++ library to read and write EBML files.") libebml is a C++ library to read and write EBML files.")
(license license:lgpl2.1))) (license license:lgpl2.1)))
(define-public libplacebo
(package
(name "libplacebo")
(version "4.157.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://code.videolan.org/videolan/libplacebo")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08kqsd29h8wm0vz7698wh2mdgpwv6anqc5n7d1spnnamwyfwc64h"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
`("-Dopengl=enabled"
,(string-append "-Dvulkan-registry="
(assoc-ref %build-inputs "vulkan-headers")
"/share/vulkan/registry/vk.xml"))))
(native-inputs
`(("python-mako" ,python-mako)
("pkg-config" ,pkg-config)))
(inputs
`(("lcms" ,lcms)
("libepoxy" ,libepoxy)
("mesa" ,mesa)
("shaderc" ,shaderc)
("vulkan-headers" ,vulkan-headers)
("vulkan-loader" ,vulkan-loader)))
(home-page "https://code.videolan.org/videolan/libplacebo")
(synopsis "GPU-accelerated image/video processing library")
(description "libplacebo is, in a nutshell, the core rendering algorithms
and ideas of mpv rewritten as an independent library. As of today, libplacebo
contains a large assortment of video processing shaders, focusing on both
quality and performance.")
(license license:lgpl2.1+)))
(define-public libva (define-public libva
(package (package
(name "libva") (name "libva")

View file

@ -1,64 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.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 visidata)
#:use-module (gnu packages check)
#:use-module (gnu packages time)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages xml)
#:use-module (guix build-system python)
#:use-module (guix build utils)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public visidata
(package
(name "visidata")
(version "2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "visidata" version))
(sha256
(base32
"19fbjr9j91pcazcz0bqx3qrasmr8xdsb13haf5lfbpyxj23f7f1j"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests? (invoke "pytest"))
#t)))))
(inputs
`(("dateutil" ,python-dateutil)
("requests" ,python-requests)
("lxml" ,python-lxml)
("openpyxl" ,python-openpyxl)
("xlrd" ,python-xlrd)))
(native-inputs
`(("pytest" ,python-pytest)))
(synopsis "Terminal spreadsheet multitool for discovering and arranging data")
(description
"VisiData is an interactive multitool for tabular data. It combines the
clarity of a spreadsheet, the efficiency of the terminal, and the power of
Python, into a lightweight utility which can handle millions of rows.")
(home-page "https://www.visidata.org/")
(license license:gpl3)))

View file

@ -577,7 +577,7 @@ driven and does not detract you from your daily work.")
(define-public nyxt (define-public nyxt
(package (package
(name "nyxt") (name "nyxt")
(version "2.2.0") (version "2.2.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -586,11 +586,11 @@ driven and does not detract you from your daily work.")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"0l8x32fsvk2gbymcda1yc0ggnsymjazqd58vmi05ifiiv7jwxyjw")) "1v1szbj44pwxh3k70fvg78xjfkab29dqnlafa722sppdyqd06cqp"))
(file-name (git-file-name "nyxt" version)))) (file-name (git-file-name "nyxt" version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags (list "nyxt" "NYXT_INTERNAL_QUICKLISP=false" `(#:make-flags (list "nyxt" "NYXT_SUBMODULES=false"
(string-append "DESTDIR=" (assoc-ref %outputs "out")) (string-append "DESTDIR=" (assoc-ref %outputs "out"))
"PREFIX=") "PREFIX=")
#:strip-binaries? #f ; Stripping breaks SBCL binaries. #:strip-binaries? #f ; Stripping breaks SBCL binaries.
@ -685,9 +685,9 @@ driven and does not detract you from your daily work.")
("gobject-introspection" ,gobject-introspection))) ("gobject-introspection" ,gobject-introspection)))
(synopsis "Extensible web-browser in Common Lisp") (synopsis "Extensible web-browser in Common Lisp")
(home-page "https://nyxt.atlas.engineer") (home-page "https://nyxt.atlas.engineer")
(description "Nyxt is a keyboard-oriented, extensible web browser designed (description "Nyxt is a keyboard-oriented, extensible web-browser designed
for power users. Conceptually inspired by Emacs and Vim, it has familiar for power users. The application has familiar Emacs and VI key-bindings and
key-bindings (Emacs, vi, CUA), and is fully configurable in Common Lisp.") is fully configurable and extensible in Common Lisp.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public lagrange (define-public lagrange

View file

@ -6158,7 +6158,7 @@ used to start services with both privileged and non-privileged port numbers.")
(define-public tidy-html (define-public tidy-html
(package (package
(name "tidy-html") (name "tidy-html")
(version "5.7.28") (version "5.8.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -6168,7 +6168,7 @@ used to start services with both privileged and non-privileged port numbers.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"01k5sqwgcsr26i8031v1yr2r8qcy9a5w7sj800660haszgfbjz2f")))) "1vd50q6xqxvidaclinsm89p6r0494wj72j1gpk32vkkhhx15cddz"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(outputs '("out" (outputs '("out"
"static")) ; 1.3MiB of .a files "static")) ; 1.3MiB of .a files

View file

@ -83,6 +83,7 @@
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages build-tools) #:use-module (gnu packages build-tools)
#:use-module (gnu packages calendar) #:use-module (gnu packages calendar)
#:use-module (gnu packages check)
#:use-module (gnu packages datastructures) #:use-module (gnu packages datastructures)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
@ -101,6 +102,7 @@
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages lisp-check) #:use-module (gnu packages lisp-check)
#:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lisp-xyz)
@ -116,12 +118,15 @@
#:use-module (gnu packages pretty-print) #:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx) #:use-module (gnu packages sphinx)
#:use-module (gnu packages suckless) #:use-module (gnu packages suckless)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages time)
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
@ -543,6 +548,60 @@ subscribe to events.")
(define-public python2-i3-py (define-public python2-i3-py
(package-with-python2 python-i3-py)) (package-with-python2 python-i3-py))
(define-public qtile
(package
(name "qtile")
(version "0.18.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "qtile" version))
(sha256
(base32 "14hb26xkza7brvkd4276j60mxd3zsas72ih6y0cq3j060izm1865"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Tests require Xvfb and writable temp/cache space
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libqtile/pangocffi.py"
(("^gobject = ffi.dlopen.*")
(string-append "gobject = ffi.dlopen(\""
(assoc-ref inputs "glib") "/lib/libgobject-2.0.so.0\")\n"))
(("^pango = ffi.dlopen.*")
(string-append "pango = ffi.dlopen(\""
(assoc-ref inputs "pango") "/lib/libpango-1.0.so.0\")\n"))
(("^pangocairo = ffi.dlopen.*")
(string-append "pangocairo = ffi.dlopen(\""
(assoc-ref inputs "pango") "/lib/libpangocairo-1.0.so.0\")\n"))))))))
(inputs
`(("glib" ,glib)
("pango" ,pango)
("pulseaudio" ,pulseaudio)))
(propagated-inputs
`(("python-cairocffi" ,python-cairocffi)
("python-cffi" ,python-cffi)
("python-dateutil" ,python-dateutil)
("python-dbus-next" ,python-dbus-next)
("python-iwlib" ,python-iwlib)
("python-keyring" ,python-keyring)
("python-mpd2" ,python-mpd2)
("python-pyxdg" ,python-pyxdg)
("python-xcffib" ,python-xcffib)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-flake8" ,python-flake8)
("python-pep8-naming" ,python-pep8-naming)
("python-psutil" ,python-psutil)
("python-pytest-cov" ,python-pytest-cov)
("python-setuptools-scm" ,python-setuptools-scm)))
(home-page "http://qtile.org")
(synopsis "Hackable tiling window manager written and configured in Python")
(description "Qtile is simple, small, and extensible. It's easy to write
your own layouts, widgets, and built-in commands.")
(license license:expat)))
(define-public quickswitch-i3 (define-public quickswitch-i3
(let ((commit "ed692b1e8f43b95bd907ced26238ce8ccb2ed28f") (let ((commit "ed692b1e8f43b95bd907ced26238ce8ccb2ed28f")
(revision "1")) ; Guix package revision (revision "1")) ; Guix package revision
@ -2560,6 +2619,37 @@ read and write, and compatible with JSON.")
capabilities. It is heavily inspired by the Calm Window manager(cwm).") capabilities. It is heavily inspired by the Calm Window manager(cwm).")
(license license:bsd-2))) (license license:bsd-2)))
(define-public devour
(package
(name "devour")
(version "12")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/salman-abedin/devour")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1qq5l6d0fn8azg7sj7a4m2jsmhlpswl5793clcxs1p34vy4wb2lp"))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)))
(arguments
`(#:tests? #f ;no tests
#:phases
(modify-phases %standard-phases
(delete 'configure)) ;no configure script
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(string-append "BIN_DIR=" %output "/bin"))))
(home-page "https://github.com/salman-abedin/devour")
(synopsis "X11 window swallower")
(description
"@command{devour} hides your current window before launching an external
program and unhides it after quitting.")
(license license:gpl2)))
(define-public wlogout (define-public wlogout
(package (package
(name "wlogout") (name "wlogout")

View file

@ -2475,7 +2475,7 @@ The cutbuffer and clipboard selection are always synchronized.")
(define-public jgmenu (define-public jgmenu
(package (package
(name "jgmenu") (name "jgmenu")
(version "4.3.0") (version "4.4.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2484,7 +2484,7 @@ The cutbuffer and clipboard selection are always synchronized.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "13y4ra2hjfqbn2vxyyn4ar5iqklbabyfwksbryc2gzxspw1vz4zq")))) (base32 "08dyygclayyipa0p2qsxqa3fsfyflkrkhpi25dkc3ybkicvynk24"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("cppcheck" ,cppcheck) `(("cppcheck" ,cppcheck)

View file

@ -574,7 +574,7 @@ keys for controlling the audio volume.")
(define-public xfce4-whiskermenu-plugin (define-public xfce4-whiskermenu-plugin
(package (package
(name "xfce4-whiskermenu-plugin") (name "xfce4-whiskermenu-plugin")
(version "2.6.0") (version "2.6.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -582,7 +582,7 @@ keys for controlling the audio volume.")
"xfce4-whiskermenu-plugin/" (version-major+minor version) "/" "xfce4-whiskermenu-plugin/" (version-major+minor version) "/"
"xfce4-whiskermenu-plugin-" version ".tar.bz2")) "xfce4-whiskermenu-plugin-" version ".tar.bz2"))
(sha256 (sha256
(base32 "0rnlhcfsbjj0n8m84jgqihp783hrkjdjfapqr7ia53mr0fjgcw9j")))) (base32 "0wpcc9i505mh6vphg27ph43dw4n3z59mwy39416yzmw325q04kl5"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
@ -1076,7 +1076,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
(define-public ristretto (define-public ristretto
(package (package
(name "ristretto") (name "ristretto")
(version "0.11.0") (version "0.12.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://archive.xfce.org/src/apps/ristretto/" (uri (string-append "https://archive.xfce.org/src/apps/ristretto/"
@ -1084,7 +1084,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
"ristretto-" version ".tar.bz2")) "ristretto-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"08w8nw6cl8kpvjnp7dxgpqlmi3s73amhrb7l0sbzmjy82ba30zl7")))) "008h8mlq82nwxb7kc8m8d6a51rwl2i9fgv4v6k5w30va46l2s0s7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)
@ -1395,7 +1395,7 @@ A plugin for the Xfce panel is also available.")
(define-public xfce4-cpugraph-plugin (define-public xfce4-cpugraph-plugin
(package (package
(name "xfce4-cpugraph-plugin") (name "xfce4-cpugraph-plugin")
(version "1.2.3") (version "1.2.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://archive.xfce.org/src/panel-plugins/" (uri (string-append "https://archive.xfce.org/src/panel-plugins/"
@ -1404,7 +1404,7 @@ A plugin for the Xfce panel is also available.")
"/xfce4-cpugraph-plugin-" version ".tar.bz2")) "/xfce4-cpugraph-plugin-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"13302psv0fzg2dsgadr8j6mb06k1bsa4zw6hxmb644vqlvcwq37v")))) "1c51qf93lr6kr2g4nil21rj1h3h5kp3k50n9hcxvcy9wz3bxpxn2"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("intltool" ,intltool) `(("intltool" ,intltool)

View file

@ -2,6 +2,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -25,6 +26,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages compression)) #:use-module (gnu packages compression))
@ -32,7 +34,7 @@
(define-public xfig (define-public xfig
(package (package
(name "xfig") (name "xfig")
(version "3.2.7a") (version "3.2.8b")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -40,11 +42,12 @@
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"096zgp0bqnxhgxbrv2jjylrjz3pr4da0xxznlk2z7ffxr5pri2fa")))) "0fndgbm1mkqb1sn2v2kj3nx9mxj70jbp31y2bjvzcmmkry0q3k5j"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
;; For tests. ;; For tests.
`(("desktop-file-utils" ,desktop-file-utils))) `(("desktop-file-utils" ,desktop-file-utils)
("ghostscript" ,ghostscript)))
(inputs (inputs
`(("libxaw3d" ,libxaw3d) `(("libxaw3d" ,libxaw3d)
("libjpeg" ,libjpeg-turbo) ("libjpeg" ,libjpeg-turbo)

View file

@ -58,11 +58,14 @@
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages terminals) #:use-module (gnu packages terminals)
#:use-module ((gnu build file-systems) #:use-module ((gnu build file-systems)
#:select (mount-flags->bit-mask)) #:select (mount-flags->bit-mask
swap-space->flags-bit-mask))
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix records) #:use-module (guix records)
#:use-module (guix modules) #:use-module (guix modules)
#:use-module ((guix self) #:select (make-config.scm)) #:use-module ((guix self) #:select (make-config.scm))
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (ice-9 match) #:use-module (ice-9 match)
@ -2146,62 +2149,96 @@ instance."
udev-service-type udev-extension)))))) udev-service-type udev-extension))))))
(service type #f))) (service type #f)))
(define (swap-space->shepherd-service-name space)
(let ((target (swap-space-target space)))
(symbol-append 'swap-
(string->symbol
(cond ((uuid? target)
(uuid->string target))
((file-system-label? target)
(file-system-label->string target))
(else
target))))))
; TODO Remove after deprecation
(define (swap-deprecated->shepherd-service-name sdep)
(symbol-append 'swap-
(string->symbol
(cond ((uuid? sdep)
(string-take (uuid->string sdep) 6))
((file-system-label? sdep)
(file-system-label->string sdep))
(else
sdep)))))
(define swap->shepherd-service-name
(match-lambda ((? swap-space? space)
(swap-space->shepherd-service-name space))
(sdep
(swap-deprecated->shepherd-service-name sdep))))
(define swap-service-type (define swap-service-type
(shepherd-service-type (shepherd-service-type
'swap 'swap
(lambda (device) (lambda (swap)
(define requirement (define requirements
(if (and (string? device) (cond ((swap-space? swap)
(string-prefix? "/dev/mapper/" device)) (map dependency->shepherd-service-name
(list (symbol-append 'device-mapping- (swap-space-dependencies swap)))
(string->symbol (basename device)))) ; TODO Remove after deprecation
'())) ((and (string? swap) (string-prefix? "/dev/mapper/" swap))
(list (symbol-append 'device-mapping-
(string->symbol (basename swap)))))
(else
'())))
(define (device-lookup device) (define device-lookup
;; The generic 'find-partition' procedures could return a partition ;; The generic 'find-partition' procedures could return a partition
;; that's not swap space, but that's unlikely. ;; that's not swap space, but that's unlikely.
(cond ((uuid? device) (cond ((swap-space? swap)
#~(find-partition-by-uuid #$(uuid-bytevector device))) (let ((target (swap-space-target swap)))
((file-system-label? device) (cond ((uuid? target)
#~(find-partition-by-uuid #$(uuid-bytevector target)))
((file-system-label? target)
#~(find-partition-by-label
#$(file-system-label->string target)))
(else
target))))
; TODO Remove after deprecation
((uuid? swap)
#~(find-partition-by-uuid #$(uuid-bytevector swap)))
((file-system-label? swap)
#~(find-partition-by-label #~(find-partition-by-label
#$(file-system-label->string device))) #$(file-system-label->string swap)))
(else (else
device))) swap)))
(define service-name
(symbol-append 'swap-
(string->symbol
(cond ((uuid? device)
(string-take (uuid->string device) 6))
((file-system-label? device)
(file-system-label->string device))
(else
device)))))
(with-imported-modules (source-module-closure '((gnu build file-systems))) (with-imported-modules (source-module-closure '((gnu build file-systems)))
(shepherd-service (shepherd-service
(provision (list service-name)) (provision (list (swap->shepherd-service-name swap)))
(requirement `(udev ,@requirement)) (requirement `(udev ,@requirements))
(documentation "Enable the given swap device.") (documentation "Enable the given swap space.")
(modules `((gnu build file-systems) (modules `((gnu build file-systems)
,@%default-modules)) ,@%default-modules))
(start #~(lambda () (start #~(lambda ()
(let ((device #$(device-lookup device))) (let ((device #$device-lookup))
(and device (and device
(begin (begin
(restart-on-EINTR (swapon device)) (restart-on-EINTR (swapon device
#$(swap-space->flags-bit-mask
swap)))
#t))))) #t)))))
(stop #~(lambda _ (stop #~(lambda _
(let ((device #$(device-lookup device))) (let ((device #$device-lookup))
(when device (when device
(restart-on-EINTR (swapoff device))) (restart-on-EINTR (swapoff device)))
#f))) #f)))
(respawn? #f)))) (respawn? #f))))
(description "Turn on the virtual memory swap area."))) (description "Turn on the virtual memory swap area.")))
(define (swap-service device) (define (swap-service swap)
"Return a service that uses @var{device} as a swap device." "Return a service that uses @var{swap} as a swap space."
(service swap-service-type device)) (service swap-service-type swap))
(define %default-gpm-options (define %default-gpm-options
;; Default options for GPM. ;; Default options for GPM.

View file

@ -62,6 +62,9 @@ loop-back communications.")
(enable-iptables? (enable-iptables?
(boolean #t) (boolean #t)
"Enable addition of iptables rules (enabled by default).") "Enable addition of iptables rules (enabled by default).")
(environment-variables
(list '())
"Environment variables to set for dockerd")
(no-serialization)) (no-serialization))
(define %docker-accounts (define %docker-accounts
@ -102,6 +105,7 @@ loop-back communications.")
(let* ((docker (docker-configuration-docker config)) (let* ((docker (docker-configuration-docker config))
(enable-proxy? (docker-configuration-enable-proxy? config)) (enable-proxy? (docker-configuration-enable-proxy? config))
(enable-iptables? (docker-configuration-enable-iptables? config)) (enable-iptables? (docker-configuration-enable-iptables? config))
(environment-variables (docker-configuration-environment-variables config))
(proxy (docker-configuration-proxy config)) (proxy (docker-configuration-proxy config))
(debug? (docker-configuration-debug? config))) (debug? (docker-configuration-debug? config)))
(shepherd-service (shepherd-service
@ -132,6 +136,8 @@ loop-back communications.")
(if #$enable-iptables? (if #$enable-iptables?
"--iptables" "--iptables"
"--iptables=false")) "--iptables=false"))
#:environment-variables
(list #$@environment-variables)
#:pid-file "/var/run/docker.pid" #:pid-file "/var/run/docker.pid"
#:log-file "/var/log/docker.log")) #:log-file "/var/log/docker.log"))
(stop #~(make-kill-destructor))))) (stop #~(make-kill-destructor)))))

View file

@ -234,8 +234,10 @@
(mapped-devices operating-system-mapped-devices ; list of <mapped-device> (mapped-devices operating-system-mapped-devices ; list of <mapped-device>
(default '())) (default '()))
(file-systems operating-system-file-systems) ; list of fs (file-systems operating-system-file-systems) ; list of fs
(swap-devices operating-system-swap-devices ; list of strings (swap-devices operating-system-swap-devices ; list of string | <swap-space>
(default '())) (default '())
(delayed)
(sanitize warn-swap-devices-change))
(users operating-system-users ; list of user accounts (users operating-system-users ; list of user accounts
(default %base-user-accounts)) (default %base-user-accounts))
@ -584,9 +586,41 @@ mapped-device '~a' may not be mounted by the bootloader.~%")
(map device-mapping-service (map device-mapping-service
(operating-system-user-mapped-devices os))) (operating-system-user-mapped-devices os)))
(define-syntax-rule (warn-swap-devices-change value)
(%warn-swap-devices-change value (current-source-location)))
(define (%warn-swap-devices-change value location)
(map (lambda (x)
(unless (swap-space? x)
(warning
(source-properties->location
location)
(G_ "List elements of the field 'swap-devices' should \
now use the <swap-space> record, as the old method is deprecated. \
See \"(guix) operating-system Reference\" for more details.~%")))
x) value))
(define (swap-services os) (define (swap-services os)
"Return the list of swap services for OS." "Return the list of swap services for OS."
(map swap-service (operating-system-swap-devices os))) (define early-userspace-file-systems
(filter file-system-needed-for-boot?
(operating-system-file-systems os)))
(define early-userspace-mapped-devices
(operating-system-boot-mapped-devices os))
(define (filter-deps swap)
(if (swap-space? swap)
(swap-space
(inherit swap)
(dependencies (remove (lambda (dep)
(or (member dep early-userspace-mapped-devices)
(member dep early-userspace-file-systems)))
(swap-space-dependencies swap))))
swap))
(map (compose swap-service filter-deps)
(operating-system-swap-devices os)))
(define* (system-linux-image-file-name #:optional (define* (system-linux-image-file-name #:optional
(target (or (%current-target-system) (target (or (%current-target-system)
@ -1093,16 +1127,17 @@ use 'plain-file' instead~%")
;; TODO: Remove when glibc@2.23 is long gone. ;; TODO: Remove when glibc@2.23 is long gone.
("GUIX_LOCPATH" . "/run/current-system/locale"))) ("GUIX_LOCPATH" . "/run/current-system/locale")))
(define-syntax-rule (ensure-setuid-program-list lst) ;; Ensure LST is a list of <setuid-program> records and warn otherwise.
"Ensure LST is a list of <setuid-program> records and warn otherwise." (define-with-syntax-properties (ensure-setuid-program-list (lst properties))
(%ensure-setuid-program-list lst (current-source-location))) (%ensure-setuid-program-list lst properties))
(define (%ensure-setuid-program-list lst location) ;; We want to be able to use defines, so define a procedure.
(define (%ensure-setuid-program-list lst properties)
(define warned? #f) (define warned? #f)
(define (warn-once) (define (warn-once)
(unless warned? (unless warned?
(warning (source-properties->location location) (warning (source-properties->location properties)
(G_ "representing setuid programs with file-like objects is \ (G_ "representing setuid programs with file-like objects is \
deprecated; use 'setuid-program' instead~%")) deprecated; use 'setuid-program' instead~%"))
(set! warned? #t))) (set! warned? #t)))

View file

@ -1,6 +1,6 @@
;; This is an operating system configuration template ;; This is an operating system configuration template
;; for a "desktop" setup with GNOME and Xfce where the ;; for a "desktop" setup with GNOME and Xfce where the
;; root partition is encrypted with LUKS. ;; root partition is encrypted with LUKS, and a swap file.
(use-modules (gnu) (gnu system nss)) (use-modules (gnu) (gnu system nss))
(use-service-modules desktop xorg) (use-service-modules desktop xorg)
@ -42,6 +42,11 @@
(type "vfat"))) (type "vfat")))
%base-file-systems)) %base-file-systems))
;; Specify a swap file for the system, which resides on the
;; root file system.
(swap-devices (list (swap-space
(target "/swapfile"))))
;; Create user `bob' with `alice' as its initial password. ;; Create user `bob' with `alice' as its initial password.
(users (cons (user-account (users (cons (user-account
(name "bob") (name "bob")

View file

@ -97,7 +97,14 @@
%store-mapping %store-mapping
%network-configuration-files %network-configuration-files
%network-file-mappings)) %network-file-mappings
swap-space
swap-space?
swap-space-target
swap-space-dependencies
swap-space-priority
swap-space-discard?))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -712,4 +719,19 @@ subvolume name is unknown."))
(G_ "Use the @code{subvol} Btrfs file system option.")))))))) (G_ "Use the @code{subvol} Btrfs file system option."))))))))
;;;
;;; Swap space
;;;
(define-record-type* <swap-space> swap-space make-swap-space
swap-space?
this-swap-space
(target swap-space-target)
(dependencies swap-space-dependencies
(default '()))
(priority swap-space-priority
(default #f))
(discard? swap-space-discard?
(default #f)))
;;; file-systems.scm ends here ;;; file-systems.scm ends here

View file

@ -151,7 +151,8 @@ set up using CL source package conventions."
name)) name))
(define (has-from-build-system? pkg) (define (has-from-build-system? pkg)
(eq? from-build-system (package-build-system pkg))) (and (package? pkg)
(eq? from-build-system (package-build-system pkg))))
(define (find-input-package pkg) (define (find-input-package pkg)
(let* ((name (package-name pkg)) (let* ((name (package-name pkg))

View file

@ -71,6 +71,11 @@
mounts mounts
mount-points mount-points
SWAP_FLAG_PREFER
SWAP_FLAG_PRIO_MASK
SWAP_FLAG_PRIO_SHIFT
SWAP_FLAG_DISCARD
swapon swapon
swapoff swapoff
@ -687,6 +692,13 @@ current process."
"Return the mounts points for currently mounted file systems." "Return the mounts points for currently mounted file systems."
(map mount-point (mounts))) (map mount-point (mounts)))
;; Pulled from glibc's sysdeps/unix/sysv/linux/sys/swap.h
(define SWAP_FLAG_PREFER #x8000) ;; Set if swap priority is specified.
(define SWAP_FLAG_PRIO_MASK #x7fff)
(define SWAP_FLAG_PRIO_SHIFT 0)
(define SWAP_FLAG_DISCARD #x10000) ;; Discard swap cluster after use.
(define swapon (define swapon
(let ((proc (syscall->procedure int "swapon" (list '* int)))) (let ((proc (syscall->procedure int "swapon" (list '* int))))
(lambda* (device #:optional (flags 0)) (lambda* (device #:optional (flags 0))

View file

@ -54,7 +54,9 @@
condition-fix-hint condition-fix-hint
guix-warning-port guix-warning-port
program-name)) program-name
define-with-syntax-properties))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -331,3 +333,37 @@ number of arguments in ARGS matches the escapes in FORMAT."
(define program-name (define program-name
;; Name of the command-line program currently executing, or #f. ;; Name of the command-line program currently executing, or #f.
(make-parameter #f)) (make-parameter #f))
(define-syntax define-with-syntax-properties
(lambda (x)
"Define BINDING to be a syntax form replacing each VALUE-IDENTIFIER and
SYNTAX-PROPERTIES-IDENTIFIER in body by the syntax and syntax-properties,
respectively, of each ensuing syntax object."
(syntax-case x ()
((_ (binding (value-identifier syntax-properties-identifier)
...)
body ...)
(and (and-map identifier? #'(value-identifier ...))
(and-map identifier? #'(syntax-properties-identifier ...)))
#'(define-syntax binding
(lambda (y)
(with-ellipsis :::
(syntax-case y ()
((_ value-identifier ...)
(with-syntax ((syntax-properties-identifier
#`'#,(datum->syntax y
(syntax-source
#'value-identifier)))
...)
#'(begin body ...)))
(_
(syntax-violation #f (format #f
"Expected (~a~{ ~a~})"
'binding
'(value-identifier ...))
y)))))))
(_
(syntax-violation #f "Expected a definition of the form \
(define-with-syntax-properties (binding (value syntax-properties) \
...) body ...)" x)))))

View file

@ -214,10 +214,11 @@ SRFI-19 time-utc object, as the creation time in metadata."
(else (else
(error "unsupported system" (error "unsupported system"
system))))))) system)))))))
(cond* ("x86_64" "amd64") (cond* ("x86_64" "amd64")
("i686" "386") ("i686" "386")
("arm" "arm") ("arm" "arm")
("mips64" "mips64le"))))) ("aarch64" "arm64")
("mips64" "mips64le")))))
;; Make sure we start with a fresh, empty working directory. ;; Make sure we start with a fresh, empty working directory.
(mkdir directory) (mkdir directory)
(with-directory-excursion directory (with-directory-excursion directory

View file

@ -2,6 +2,7 @@
;;; Copyright © 2010, 2011, 2013, 2014, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2010, 2011, 2013, 2014, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -56,9 +57,9 @@
"/gpg/trustedkeys.kbx"))) "/gpg/trustedkeys.kbx")))
(define %openpgp-key-server (define %openpgp-key-server
;; The default key server. Note that keys.gnupg.net appears to be ;; The default key server. It defaults to #f, which causes GnuPG to use the
;; unreliable. ;; one it is configured with.
(make-parameter "pool.sks-keyservers.net")) (make-parameter #f))
;; Regexps for status lines. See file `doc/DETAILS' in GnuPG. ;; Regexps for status lines. See file `doc/DETAILS' in GnuPG.
@ -182,22 +183,26 @@ missing key or its key id if the fingerprint is unavailable."
(_ #f))) (_ #f)))
status)) status))
(define* (gnupg-receive-keys fingerprint/key-id server (define* (gnupg-receive-keys fingerprint/key-id
#:optional (keyring (current-keyring))) #:key server (keyring (current-keyring)))
"Download FINGERPRINT/KEY-ID from SERVER, a key server, and add it to "Download FINGERPRINT/KEY-ID from SERVER if specified, otherwise from
KEYRING." GnuPG's default/configured one. The key is added to KEYRING."
(unless (file-exists? keyring) (unless (file-exists? keyring)
(mkdir-p (dirname keyring)) (mkdir-p (dirname keyring))
(call-with-output-file keyring (const #t))) ;create an empty keybox (call-with-output-file keyring (const #t))) ;create an empty keybox
(zero? (system* (%gpg-command) "--keyserver" server (zero? (apply system*
"--no-default-keyring" "--keyring" keyring `(,(%gpg-command)
"--recv-keys" fingerprint/key-id))) ,@(if server
(list "--keyserver" server)
'())
"--no-default-keyring" "--keyring" ,keyring
"--recv-keys" ,fingerprint/key-id))))
(define* (gnupg-verify* sig file (define* (gnupg-verify* sig file
#:key #:key
(key-download 'interactive) (key-download 'interactive)
(server (%openpgp-key-server)) server
(keyring (current-keyring))) (keyring (current-keyring)))
"Like `gnupg-verify', but try downloading the public key if it's missing. "Like `gnupg-verify', but try downloading the public key if it's missing.
Return two values: 'valid-signature and a fingerprint/name pair upon success, Return two values: 'valid-signature and a fingerprint/name pair upon success,
@ -215,7 +220,7 @@ fingerprint/user name pair on success and #f otherwise."
(let ((missing (gnupg-status-missing-key? status))) (let ((missing (gnupg-status-missing-key? status)))
(define (download-and-try-again) (define (download-and-try-again)
;; Download the missing key and try again. ;; Download the missing key and try again.
(if (gnupg-receive-keys missing server keyring) (if (gnupg-receive-keys missing #:server server #:keyring keyring)
(match (gnupg-status-good-signature? (match (gnupg-status-good-signature?
(gnupg-verify sig file keyring)) (gnupg-verify sig file keyring))
(#f (#f

View file

@ -231,7 +231,8 @@ path to the repository."
(('list-pat . stuff) stuff) (('list-pat . stuff) stuff)
(('string-pat stuff) stuff) (('string-pat stuff) stuff)
(('multiline-string stuff) stuff) (('multiline-string stuff) stuff)
(('dict records ...) records)) (('dict records ...) records)
(_ #f))
acc)))) acc))))
#f file)) #f file))
@ -317,7 +318,7 @@ path to the repository."
(_ others))) (_ others)))
#f #f
(filter-map get-opam-repository repositories-specs)) (filter-map get-opam-repository repositories-specs))
(leave (G_ "package '~a' not found~%") name))) (warning (G_ "opam: package '~a' not found~%") name)))
(define* (opam->guix-package name #:key (repo 'opam) version) (define* (opam->guix-package name #:key (repo 'opam) version)
"Import OPAM package NAME from REPOSITORY (a directory name) or, if "Import OPAM package NAME from REPOSITORY (a directory name) or, if

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -19,18 +19,16 @@
(define-module (guix import texlive) (define-module (guix import texlive)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (sxml simple) #:use-module (ice-9 rdelim)
#:use-module (sxml xpath)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (web uri)
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:use-module (guix http-client)
#:use-module (gcrypt hash) #:use-module (gcrypt hash)
#:use-module (guix derivations)
#:use-module (guix memoization) #:use-module (guix memoization)
#:use-module (guix monads)
#:use-module (guix gexp)
#:use-module (guix store) #:use-module (guix store)
#:use-module (guix base32) #:use-module (guix base32)
#:use-module (guix serialization) #:use-module (guix serialization)
@ -39,24 +37,15 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix upstream) #:use-module (guix upstream)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (guix build-system texlive) #:use-module (guix build-system texlive)
#:export (texlive->guix-package #:export (texlive->guix-package
texlive-recursive-import))
fetch-sxml
sxml->package))
;;; Commentary: ;;; Commentary:
;;; ;;;
;;; Generate a package declaration template for the latest version of a ;;; Generate a package declaration template for corresponding package in the
;;; package on CTAN, using the XML output produced by the XML API to the CTAN ;;; Tex Live Package Database (tlpdb). We fetch all sources from different
;;; database at http://www.ctan.org/xml/1.2/ ;;; locations in the SVN repository of the Texlive project.
;;;
;;; Instead of taking the packages from CTAN, however, we fetch the sources
;;; from the SVN repository of the Texlive project. We do this because CTAN
;;; only keeps a single version of each package whereas we can access any
;;; version via SVN. Unfortunately, this means that the importer is really
;;; just a Texlive importer, not a generic CTAN importer.
;;; ;;;
;;; Code: ;;; Code:
@ -79,6 +68,8 @@
("bsd4" 'bsd-4) ("bsd4" 'bsd-4)
("opl" 'opl1.0+) ("opl" 'opl1.0+)
("ofl" 'silofl1.1) ("ofl" 'silofl1.1)
("lpplgpl" `(list lppl gpl1+))
("lppl" 'lppl) ("lppl" 'lppl)
("lppl1" 'lppl1.0+) ; usually means "or later" ("lppl1" 'lppl1.0+) ; usually means "or later"
("lppl1.2" 'lppl1.2+) ; usually means "or later" ("lppl1.2" 'lppl1.2+) ; usually means "or later"
@ -107,91 +98,170 @@
("cc-by-nc-nd-4" 'non-free) ("cc-by-nc-nd-4" 'non-free)
((x) (string->license x)) ((x) (string->license x))
((lst ...) `(list ,@(map string->license lst))) ((lst ...) `(list ,@(map string->license lst)))
(_ #f))) (x `(error unknown-license ,x))))
(define (fetch-sxml name) (define (guix-name name)
"Return an sxml representation of the package information contained in the
XML description of the CTAN package or #f in case of failure."
;; This API always returns the latest release of the module.
(let ((url (string-append "http://www.ctan.org/xml/1.2/pkg/" name)))
(guard (c ((http-get-error? c)
(format (current-error-port)
"error: failed to retrieve package information \
from ~s: ~a (~s)~%"
(uri->string (http-get-error-uri c))
(http-get-error-code c)
(http-get-error-reason c))
#f))
(xml->sxml (http-fetch url)
#:trim-whitespace? #t))))
(define (guix-name component name)
"Return a Guix package name for a given Texlive package NAME." "Return a Guix package name for a given Texlive package NAME."
(string-append "texlive-" component "-" (string-append "texlive-"
(string-map (match-lambda (string-map (match-lambda
(#\_ #\-) (#\_ #\-)
(#\. #\-) (#\. #\-)
(chr (char-downcase chr))) (chr (char-downcase chr)))
name))) name)))
(define* (sxml->package sxml #:optional (component "latex")) (define (tlpdb-file)
"Return the `package' s-expression for a Texlive package from the SXML (define texlive-bin
expression describing it." ;; Resolve this variable lazily so that (gnu packages ...) does not end up
(define (sxml-value path) ;; in the closure of this module.
(match ((sxpath path) sxml) (module-ref (resolve-interface '(gnu packages tex))
(() #f) 'texlive-bin))
((val) val)))
(with-store store (with-store store
(let* ((id (sxml-value '(entry @ id *text*))) (run-with-store store
(synopsis (sxml-value '(entry caption *text*))) (mlet* %store-monad
(version (or (sxml-value '(entry version @ number *text*)) ((drv (lower-object texlive-bin))
(sxml-value '(entry version @ date *text*)))) (built (built-derivations (list drv))))
(license (match ((sxpath '(entry license @ type *text*)) sxml) (match (derivation->output-paths drv)
((license) (string->license license)) (((names . items) ...)
((lst ...) (map string->license lst)))) (return (string-append (first items)
(home-page (string-append "http://www.ctan.org/pkg/" id)) "/share/tlpkg/texlive.tlpdb"))))))))
(ref (texlive-ref component id))
(checkout (download-svn-to-store store ref))) (define tlpdb
(unless checkout (memoize
(warning (G_ "Could not determine source location. \ (lambda ()
Please manually specify the source field.~%"))) (let ((file (tlpdb-file))
`(package (fields
(name ,(guix-name component id)) '((name . string)
(version ,version) (shortdesc . string)
(source ,(if checkout (longdesc . string)
`(origin (catalogue-license . string)
(method svn-fetch) (catalogue-ctan . string)
(uri (texlive-ref ,component ,id)) (srcfiles . list)
(sha256 (runfiles . list)
(base32 (docfiles . list)
,(bytevector->nix-base32-string (depend . simple-list)))
(let-values (((port get-hash) (open-sha256-port))) (record
(write-file checkout port) (lambda* (key value alist #:optional (type 'string))
(force-output port) (let ((new
(get-hash)))))) (or (and=> (assoc-ref alist key)
#f)) (lambda (existing)
(build-system texlive-build-system) (cond
(arguments ,`(,'quote (#:tex-directory ,(string-join (list component id) "/")))) ((eq? type 'string)
(home-page ,home-page) (string-append existing " " value))
(synopsis ,synopsis) ((or (eq? type 'list) (eq? type 'simple-list))
(description ,(string-trim-both (cons value existing)))))
(string-join (cond
(map string-trim-both ((eq? type 'string)
(string-split value)
(beautify-description ((or (eq? type 'list) (eq? type 'simple-list))
(sxml->string (or (sxml-value '(entry description)) (list value))))))
'()))) (acons key new (alist-delete key alist))))))
#\newline))))) (call-with-input-file file
(license ,(match license (lambda (port)
((lst ...) `(list ,@lst)) (let loop ((all (list))
(license license))))))) (current (list))
(last-property #false))
(let ((line (read-line port)))
(cond
((eof-object? line) all)
;; End of record.
((string-null? line)
(loop (cons (cons (assoc-ref current 'name) current)
all)
(list) #false))
;; Continuation of a list
((and (zero? (string-index line #\space)) last-property)
;; Erase optional second part of list values like
;; "details=Readme" for files
(let ((plain-value (first
(string-split
(string-trim-both line) #\space))))
(loop all (record last-property
plain-value
current
'list)
last-property)))
(else
(or (and-let* ((space (string-index line #\space))
(key (string->symbol (string-take line space)))
(value (string-drop line (1+ space)))
(field-type (assoc-ref fields key)))
;; Erase second part of list keys like "size=29"
(cond
((eq? field-type 'list)
(loop all current key))
(else
(loop all (record key value current field-type) key))))
(loop all current #false))))))))))))
(define (files->directories files)
(map (cut string-join <> "/" 'suffix)
(delete-duplicates (map (lambda (file)
(drop-right (string-split file #\/) 1))
files)
equal?)))
(define (tlpdb->package name package-database)
(and-let* ((data (assoc-ref package-database name))
(dirs (files->directories
(map (lambda (dir)
(string-drop dir (string-length "texmf-dist/")))
(append (or (assoc-ref data 'docfiles) (list))
(or (assoc-ref data 'runfiles) (list))
(or (assoc-ref data 'srcfiles) (list))))))
(name (guix-name name))
(version (number->string %texlive-revision))
(ref (svn-multi-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist"))
(locations dirs)
(revision %texlive-revision)))
(source (with-store store
(download-multi-svn-to-store
store ref (string-append name "-svn-multi-checkout")))))
(values
`(package
(inherit (simple-texlive-package
,name
(list ,@dirs)
(base32
,(bytevector->nix-base32-string
(let-values (((port get-hash) (open-sha256-port)))
(write-file source port)
(force-output port)
(get-hash))))
,@(if (assoc-ref data 'srcfiles) '() '(#:trivial? #true))))
,@(or (and=> (assoc-ref data 'depend)
(lambda (inputs)
`((propagated-inputs
,(map (lambda (tex-name)
(let ((name (guix-name tex-name)))
(list name (list 'unquote (string->symbol name)))))
inputs)))))
'())
,@(or (and=> (assoc-ref data 'catalogue-ctan)
(lambda (url)
`((home-page ,(string-append "https://ctan.org" url)))))
'((home-page "https://www.tug.org/texlive/")))
(synopsis ,(assoc-ref data 'shortdesc))
(description ,(beautify-description
(assoc-ref data 'longdesc)))
(license ,(string->license
(assoc-ref data 'catalogue-license))))
(or (assoc-ref data 'depend) (list)))))
(define texlive->guix-package (define texlive->guix-package
(memoize (memoize
(lambda* (package-name #:optional (component "latex")) (lambda* (name #:key repo version (package-database tlpdb))
"Fetch the metadata for PACKAGE-NAME from REPO and return the `package' "Find the metadata for NAME in the tlpdb and return the `package'
s-expression corresponding to that package, or #f on failure." s-expression corresponding to that package, or #f on failure."
(and=> (fetch-sxml package-name) (tlpdb->package name (package-database)))))
(cut sxml->package <> component)))))
;;; ctan.scm ends here (define (texlive-recursive-import name)
(recursive-import name
#:repo->guix-package texlive->guix-package
#:guix-name guix-name))
;;; texlive.scm ends here

View file

@ -542,7 +542,7 @@ Emit a representation of the dependency graph of PACKAGE...\n"))
(display (G_ " (display (G_ "
--list-types list the available graph types")) --list-types list the available graph types"))
(display (G_ " (display (G_ "
--max-depth=DEPTH limit to nodes within distance DEPTH")) -M, --max-depth=DEPTH limit to nodes within distance DEPTH"))
(display (G_ " (display (G_ "
--path display the shortest path between the given nodes")) --path display the shortest path between the given nodes"))
(display (G_ " (display (G_ "

View file

@ -274,7 +274,15 @@ argument list and OPTS is the option alist."
(_ (leave (G_ "wrong number of arguments~%")))))) (_ (leave (G_ "wrong number of arguments~%"))))))
(unless (file-exists? destination) (unless (file-exists? destination)
(mkdir-p destination)) (mkdir-p destination))
(import-manifest manifest destination (current-output-port)))) (call-with-output-file
(string-append destination "/home-configuration.scm")
(cut import-manifest manifest destination <>))
(info (G_ "'~a' populated with all the Home configuration files~%")
destination)
(display-hint (format #f (G_ "\
Run @command{guix home reconfigure ~a/home-configuration.scm} to effectively
deploy the home environment described by these files.\n")
destination))))
((describe) ((describe)
(match (generation-number %guix-home) (match (generation-number %guix-home)
(0 (0

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -42,8 +42,6 @@
(define (show-help) (define (show-help)
(display (G_ "Usage: guix import texlive PACKAGE-NAME (display (G_ "Usage: guix import texlive PACKAGE-NAME
Import and convert the Texlive package for PACKAGE-NAME.\n")) Import and convert the Texlive package for PACKAGE-NAME.\n"))
(display (G_ "
-a, --archive=ARCHIVE specify the archive repository"))
(display (G_ " (display (G_ "
-h, --help display this help and exit")) -h, --help display this help and exit"))
(display (G_ " (display (G_ "
@ -60,10 +58,6 @@ Import and convert the Texlive package for PACKAGE-NAME.\n"))
(option '(#\V "version") #f #f (option '(#\V "version") #f #f
(lambda args (lambda args
(show-version-and-exit "guix import texlive"))) (show-version-and-exit "guix import texlive")))
(option '(#\a "archive") #t #f
(lambda (opt name arg result)
(alist-cons 'component arg
(alist-delete 'component result))))
%standard-import-options)) %standard-import-options))
@ -84,13 +78,11 @@ Import and convert the Texlive package for PACKAGE-NAME.\n"))
(_ #f)) (_ #f))
(reverse opts)))) (reverse opts))))
(match args (match args
((package-name) ((name)
(let ((sexp (texlive->guix-package package-name (let ((sexp (texlive->guix-package name)))
(or (assoc-ref opts 'component)
"latex"))))
(unless sexp (unless sexp
(leave (G_ "failed to download description for package '~a'~%") (leave (G_ "failed to download description for package '~a'~%")
package-name)) name))
sexp)) sexp))
(() (()
(leave (G_ "too few arguments~%"))) (leave (G_ "too few arguments~%")))

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in> ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -26,7 +26,9 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module ((guix build svn) #:prefix build:) #:use-module ((guix build svn) #:prefix build:)
#:use-module ((guix build utils) #:select (mkdir-p))
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:export (svn-reference #:export (svn-reference
svn-reference? svn-reference?
svn-reference-url svn-reference-url
@ -41,7 +43,8 @@
svn-multi-reference-revision svn-multi-reference-revision
svn-multi-reference-locations svn-multi-reference-locations
svn-multi-reference-recursive? svn-multi-reference-recursive?
svn-multi-fetch)) svn-multi-fetch
download-multi-svn-to-store))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -166,4 +169,28 @@ reports to LOG."
(add-to-store store name #t "sha256" (add-to-store store name #t "sha256"
(string-append temp "/svn"))))))) (string-append temp "/svn")))))))
(define* (download-multi-svn-to-store store ref
#:optional (name (basename (svn-multi-reference-url ref)))
#:key (log (current-error-port)))
"Download from REF, a <svn-multi-reference> object to STORE. Write progress
reports to LOG."
(call-with-temporary-directory
(lambda (temp)
(and (every (lambda (location)
(let ((dir (string-append temp "/" (dirname location))))
(mkdir-p dir))
(parameterize ((current-output-port log))
(build:svn-fetch (string-append (svn-multi-reference-url ref)
"/" location)
(svn-multi-reference-revision ref)
(if (string-suffix? "/" location)
(string-append temp "/" location)
(string-append temp "/" (dirname location)))
#:recursive?
(svn-multi-reference-recursive? ref)
#:user-name (svn-multi-reference-user-name ref)
#:password (svn-multi-reference-password ref))))
(svn-multi-reference-locations ref))
(add-to-store store name #t "sha256" temp)))))
;;; svn-download.scm ends here ;;; svn-download.scm ends here

View file

@ -337,12 +337,15 @@ static void _deletePath(const Path & path, unsigned long long & bytesFreed, size
for (auto & i : readDirectory(path)) for (auto & i : readDirectory(path))
_deletePath(path + "/" + i.name, bytesFreed, linkThreshold); _deletePath(path + "/" + i.name, bytesFreed, linkThreshold);
} }
int ret;
ret = S_ISDIR(st.st_mode) ? rmdir(path.c_str()) : unlink(path.c_str());
if (ret == -1)
throw SysError(format("cannot unlink `%1%'") % path);
#undef st_mode #undef st_mode
#undef st_size #undef st_size
#undef st_nlink #undef st_nlink
if (remove(path.c_str()) == -1)
throw SysError(format("cannot unlink `%1%'") % path);
} }

View file

@ -30,87 +30,174 @@
(test-begin "texlive") (test-begin "texlive")
(define xml (define %fake-tlpdb
"\ '(("stricttex"
<entry id=\"foo\"> . ((name
<name>foo</name> . "stricttex")
<caption>Foomatic frobnication in LuaLaTeX</caption> (shortdesc
<authorref id=\"rekado\"/> . "Strictly balanced brackets and numbers in command names")
<license type=\"lppl1.3\"/> (longdesc
<version number=\"2.6a\"/> . "This is a small, LuaLaTeX-only package providing you with three,
<description> sometimes useful features: It allows you to make brackets [...] \"strict\",
<p> meaning that each [ must be balanced by a ]. It allows you to use numbers in
Foo is a package for LuaLaTeX. It provides an interface to frobnicate gimbals command names, so that you can do stuff like \\newcommand\\pi12{\\pi_{12}}. It
in a foomatic way with the LuaTeX engine. allows you to use numbers and primes in command names, so that you can do
</p> stuff like \\newcommand\\pi'12{\\pi '_{12}}.")
<p> (docfiles
The package requires the bar and golly . ("texmf-dist/doc/lualatex/stricttex/README.md"
bundles for extremely special specialties. "texmf-dist/doc/lualatex/stricttex/stricttex.pdf"))
</p> (runfiles
</description> . ("texmf-dist/tex/lualatex/stricttex/stricttex.lua"
<ctan path=\"/macros/latex/contrib/foo\" file=\"true\"/> "texmf-dist/tex/lualatex/stricttex/stricttex.sty"))
<texlive location=\"foo\"/> (catalogue-license . "lppl1.3c")))
<keyval key=\"topic\" value=\"tests\"/> ("texsis"
null . ((name
</entry>") . "texsis")
(shortdesc
. "Plain TeX macros for Physicists")
(longdesc
. "TeXsis is a TeX macro package which provides useful features for
typesetting research papers and related documents. For example, it includes
support specifically for: Automatic numbering of equations, figures, tables
and references; Simplified control of type sizes, line spacing, footnotes,
running headlines and footlines, and tables of contents, figures and tables;
Specialized document formats for research papers, preprints and \"e-prints\",
conference proceedings, theses, books, referee reports, letters, and
memoranda; Simplified means of constructing an index for a book or thesis;
Easy to use double column formatting; Specialized environments for lists,
theorems and proofs, centered or non-justified text, and listing computer
code; Specialized macros for easily constructing ruled tables. TeXsis was
originally developed for physicists, but others may also find it useful. It is
completely compatible with Plain TeX.")
(depend . ("cm" "hyphen-base" "knuth-lib" "plain" "tex"))
(docfiles
. ("texmf-dist/doc/man/man1/texsis.1"
"texmf-dist/doc/man/man1/texsis.man1.pdf"
"texmf-dist/doc/otherformats/texsis/base/COPYING"
"texmf-dist/doc/otherformats/texsis/base/Example.tex"
"texmf-dist/doc/otherformats/texsis/base/Fonts.tex"
"texmf-dist/doc/otherformats/texsis/base/INSTALL"
"texmf-dist/doc/otherformats/texsis/base/Install.tex"
"texmf-dist/doc/otherformats/texsis/base/MANIFEST"
"texmf-dist/doc/otherformats/texsis/base/Manual.fgl"
"texmf-dist/doc/otherformats/texsis/base/Manual.ref"
"texmf-dist/doc/otherformats/texsis/base/Manual.tbl"
"texmf-dist/doc/otherformats/texsis/base/Manual.tex"
"texmf-dist/doc/otherformats/texsis/base/NEWS"
"texmf-dist/doc/otherformats/texsis/base/README"
"texmf-dist/doc/otherformats/texsis/base/TXSapxF.doc"
"texmf-dist/doc/otherformats/texsis/base/TXScover.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSdcol.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSdoc.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSdoc0.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSdocM.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSend.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSenvmt.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSeqns.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSfigs.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSfmts.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSfonts.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSinstl.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSintro.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSletr.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSmisc.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSprns.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSrefs.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSrevs.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSruled.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSsects.doc"
"texmf-dist/doc/otherformats/texsis/base/TXSsite.000"
"texmf-dist/doc/otherformats/texsis/base/TXSsymb.doc"
"texmf-dist/doc/otherformats/texsis/base/TXStags.doc"
"texmf-dist/doc/otherformats/texsis/base/index.tex"
"texmf-dist/doc/otherformats/texsis/base/letr"
"texmf-dist/doc/otherformats/texsis/base/penguin.eps"
"texmf-dist/doc/otherformats/texsis/base/penguin2.eps"
"texmf-dist/doc/otherformats/texsis/base/texsis.el"
"texmf-dist/doc/otherformats/texsis/base/texsis.lsm"))
(runfiles
. ("texmf-dist/bibtex/bst/texsis/texsis.bst"
"texmf-dist/tex/texsis/base/AIP.txs"
"texmf-dist/tex/texsis/base/CVformat.txs"
"texmf-dist/tex/texsis/base/Elsevier.txs"
"texmf-dist/tex/texsis/base/Exam.txs"
"texmf-dist/tex/texsis/base/Formletr.txs"
"texmf-dist/tex/texsis/base/IEEE.txs"
"texmf-dist/tex/texsis/base/PhysRev.txs"
"texmf-dist/tex/texsis/base/Spanish.txs"
"texmf-dist/tex/texsis/base/Swedish.txs"
"texmf-dist/tex/texsis/base/TXSconts.tex"
"texmf-dist/tex/texsis/base/TXSdcol.tex"
"texmf-dist/tex/texsis/base/TXSenvmt.tex"
"texmf-dist/tex/texsis/base/TXSeqns.tex"
"texmf-dist/tex/texsis/base/TXSfigs.tex"
"texmf-dist/tex/texsis/base/TXSfmts.tex"
"texmf-dist/tex/texsis/base/TXSfonts.tex"
"texmf-dist/tex/texsis/base/TXShead.tex"
"texmf-dist/tex/texsis/base/TXSinit.tex"
"texmf-dist/tex/texsis/base/TXSletr.tex"
"texmf-dist/tex/texsis/base/TXSmacs.tex"
"texmf-dist/tex/texsis/base/TXSmemo.tex"
"texmf-dist/tex/texsis/base/TXSprns.tex"
"texmf-dist/tex/texsis/base/TXSrefs.tex"
"texmf-dist/tex/texsis/base/TXSruled.tex"
"texmf-dist/tex/texsis/base/TXSsects.tex"
"texmf-dist/tex/texsis/base/TXSsite.tex"
"texmf-dist/tex/texsis/base/TXSsymb.tex"
"texmf-dist/tex/texsis/base/TXStags.tex"
"texmf-dist/tex/texsis/base/TXStitle.tex"
"texmf-dist/tex/texsis/base/Tablebod.txs"
"texmf-dist/tex/texsis/base/WorldSci.txs"
"texmf-dist/tex/texsis/base/color.txs"
"texmf-dist/tex/texsis/base/nuclproc.txs"
"texmf-dist/tex/texsis/base/printfont.txs"
"texmf-dist/tex/texsis/base/spine.txs"
"texmf-dist/tex/texsis/base/texsis.tex"
"texmf-dist/tex/texsis/base/thesis.txs"
"texmf-dist/tex/texsis/base/twin.txs"
"texmf-dist/tex/texsis/config/texsis.ini"))
(catalogue-license . "lppl")))))
(define sxml (test-assert "texlive->guix-package"
'(*TOP* (entry (@ (id "foo"))
(name "foo")
(caption "Foomatic frobnication in LuaLaTeX")
(authorref (@ (id "rekado")))
(license (@ (type "lppl1.3")))
(version (@ (number "2.6a")))
(description
(p "\n Foo is a package for LuaLaTeX. It provides an interface to frobnicate gimbals\n in a foomatic way with the LuaTeX engine.\n ")
(p "\n The package requires the bar and golly\n bundles for extremely special specialties.\n "))
(ctan (@ (path "/macros/latex/contrib/foo") (file "true")))
(texlive (@ (location "foo")))
(keyval (@ (value "tests") (key "topic")))
"\n null\n")))
(test-equal "fetch-sxml: returns SXML for valid XML"
sxml
(with-http-server `((200 ,xml))
(parameterize ((current-http-proxy (%local-url)))
(fetch-sxml "foo"))))
;; TODO:
(test-assert "sxml->package"
;; Replace network resources with sample data. ;; Replace network resources with sample data.
(mock ((guix build svn) svn-fetch (mock ((guix build svn) svn-fetch
(lambda* (url revision directory (lambda* (url revision directory
#:key (svn-command "svn") #:key (svn-command "svn")
(user-name #f) (user-name #f)
(password #f)) (password #f)
(recursive? #t))
(mkdir-p directory) (mkdir-p directory)
(with-output-to-file (string-append directory "/foo") (with-output-to-file (string-append directory "/foo")
(lambda () (lambda ()
(display "source"))))) (display "source")))))
(let ((result (sxml->package sxml))) (let ((result (texlive->guix-package "texsis"
#:package-database
(lambda _ %fake-tlpdb))))
(match result (match result
(('package (('package
('name "texlive-latex-foo") ('inherit ('simple-texlive-package
('version "2.6a") "texlive-texsis"
('source ('origin ('list "doc/man/man1/"
('method 'svn-fetch) "doc/otherformats/texsis/base/"
('uri ('texlive-ref "latex" "foo")) "bibtex/bst/texsis/"
('sha256 "tex/texsis/base/"
('base32 "tex/texsis/config/")
(? string? hash))))) ('base32 (? string? hash))
('build-system 'texlive-build-system) #:trivial? #t))
('arguments ('quote (#:tex-directory "latex/foo"))) ('propagated-inputs
('home-page "http://www.ctan.org/pkg/foo") (("texlive-cm" ',texlive-cm)
('synopsis "Foomatic frobnication in LuaLaTeX") ("texlive-hyphen-base" ',texlive-hyphen-base)
('description ("texlive-knuth-lib" ',texlive-knuth-lib)
"Foo is a package for LuaLaTeX. It provides an interface to \ ("texlive-plain" ',texlive-plain)
frobnicate gimbals in a foomatic way with the LuaTeX engine. The package \ ("texlive-tex" ',texlive-tex)))
requires the bar and golly bundles for extremely special specialties.") ('home-page "https://www.tug.org/texlive/")
('license 'lppl1.3+)) ('synopsis "Plain TeX macros for Physicists")
#t) ('description (? string? description))
('license 'lppl))
#true)
(_ (_
(begin (begin
(format #t "~s\n" result) (format #t "~s~%" result)
(pk 'fail result #f))))))) (pk 'fail result #f)))))))
(test-end "texlive") (test-end "texlive")