me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into gnome-team

Change-Id: I88d3789460d1a89917451d80405d89a2824006ac
master
Liliana Marie Prikler 2023-11-04 07:43:44 +01:00
commit 72e886328c
No known key found for this signature in database
GPG Key ID: 442A84B8C70E2F87
101 changed files with 66475 additions and 56370 deletions

View File

@ -1666,7 +1666,7 @@ relies on the @file{etc/teams.scm} script, which can also be invoked
manually if you do not use the preferred @command{git send-email}
command to submit patches. To list the available actions of the script,
you can invoke it via the @command{etc/teams.scm help} command. For
more information regarding teams, see @xref{Teams}.
more information regarding teams, @pxref{Teams}.
@unnumberedsubsubsec Multiple Patches
@anchor{Multiple Patches}

View File

@ -3714,7 +3714,7 @@ reference.
@section Guix Profiles in Practice
Guix provides a very useful feature that may be quite foreign to newcomers:
@emph{profiles}. They are a way to group package installations together and all users
@dfn{profiles}. They are a way to group package installations together and all users
on the same system are free to use as many profiles as they want.
Whether you're a developer or not, you may find that multiple profiles bring you
@ -3722,6 +3722,16 @@ great power and flexibility. While they shift the paradigm somewhat compared to
@emph{traditional package managers}, they are very convenient to use once you've
understood how to set them up.
@quotation Note
This section is an opinionated guide on the use of multiple profiles.
It predates @command{guix shell} and its fast profile cache
(@pxref{Invoking guix shell,,, guix, GNU Guix Reference Manual}).
In many cases, you may find that using @command{guix shell} to set up
the environment you need, when you need it, is less work that
maintaining a dedicated profile. Your call!
@end quotation
If you are familiar with Python's @samp{virtualenv}, you can think of a profile as a
kind of universal @samp{virtualenv} that can hold any kind of software whatsoever, not
just Python software. Furthermore, profiles are self-sufficient: they capture
@ -3977,7 +3987,9 @@ without having to specify the path to a profile.
@node The benefits of manifests
@subsection The benefits of manifests
Manifests are a convenient way to keep your package lists around and, say,
Manifests let you @dfn{declare} the set of packages you'd like to have
in a profile (@pxref{Writing Manifests,,, guix, GNU Guix Reference Manual}).
They are a convenient way to keep your package lists around and, say,
to synchronize them across multiple machines using a version control system.
A common complaint about manifests is that they can be slow to install when they
@ -4034,29 +4046,12 @@ profiles, they are not strictly equivalent: profiles have the side effect that
they ``pin'' packages in the store, which prevents them from being
garbage-collected (@pxref{Invoking guix gc,,, guix, GNU Guix Reference Manual})
and ensures that they will still be available at any point in
the future.
the future. The @command{guix shell} command also protects
recently-used profiles from garbage collection; profiles that have not
been used for a while may be garbage-collected though, along with the
packages they refer to.
Let's take an example:
@enumerate
@item
We have an environment for hacking on a project for which there isn't a Guix
package yet. We build the environment using a manifest, and then run @code{guix
environment -m manifest.scm}. So far so good.
@item
Many weeks pass and we have run a couple of @code{guix pull} in the mean time.
Maybe a dependency from our manifest has been updated; or we may have run
@code{guix gc} and some packages needed by our manifest have been
garbage-collected.
@item
Eventually, we set to work on that project again, so we run @code{guix shell
-m manifest.scm}. But now we have to wait for Guix to build and install
stuff!
@end enumerate
Ideally, we could spare the rebuild time. And indeed we can, all we need is to
To be 100% sure that a given profile will never be collected,
install the manifest to a profile and use @code{GUIX_PROFILE=/the/profile;
. "$GUIX_PROFILE"/etc/profile} as explained above: this guarantees that our
hacking environment will be available at all times.
@ -4071,16 +4066,18 @@ To reproduce a profile bit-for-bit, we need two pieces of information:
@itemize
@item
a manifest,
a manifest (@pxref{Writing Manifests,,, guix, GNU Guix Reference Manual});
@item
a Guix channel specification.
a Guix channel specification (@pxref{Replicating Guix,,, guix, GNU Guix
Reference Manual}).
@end itemize
Indeed, manifests alone might not be enough: different Guix versions (or
different channels) can produce different outputs for a given manifest.
You can output the Guix channel specification with @samp{guix describe
--format=channels}.
--format=channels} (@pxref{Invoking guix describe,,, guix, GNU Guix
Reference Manual}).
Save this to a file, say @samp{channel-specs.scm}.
On another computer, you can use the channel specification file and the manifest
@ -4331,7 +4328,7 @@ guix build -f guix.scm --target=x86_64-w64-mingw32
@end lisp
You can also use @dfn{package transformations} to test package variants
(@pxref{Package Transformations,,, guix, GNU Guix Reference Manual}):
(@pxref{Package Transformation Options,,, guix, GNU Guix Reference Manual}):
@example
# What if we built with Clang instead of GCC?

View File

@ -185,7 +185,6 @@ Weblate} (@pxref{Translating Guix}).
* Introduction:: What is Guix about?
* Installation:: Installing Guix.
* System Installation:: Installing the whole operating system.
* System Troubleshooting Tips:: When things don't go as planned.
* Getting Started:: Your first steps.
* Package Management:: Package installation, upgrade, etc.
* Channels:: Customizing the package collection.
@ -194,6 +193,7 @@ Weblate} (@pxref{Translating Guix}).
* Utilities:: Package management commands.
* Foreign Architectures:: Build for foreign architectures.
* System Configuration:: Configuring the operating system.
* System Troubleshooting Tips:: When things don't go as planned.
* Home Configuration:: Configuring the home environment.
* Documentation:: Browsing software user manuals.
* Platforms:: Defining platforms.
@ -251,10 +251,6 @@ Manual Installation
* Keyboard Layout and Networking and Partitioning:: Initial setup.
* Proceeding with the Installation:: Installing.
System Troubleshooting Tips
* Chrooting into an existing system::
Package Management
* Features:: How Guix will make your life brighter.
@ -427,6 +423,10 @@ Defining Services
* Shepherd Services:: A particular type of service.
* Complex Configurations:: Defining bindings for complex configurations.
System Troubleshooting Tips
* Chrooting into an existing system::
Home Configuration
* Declaring the Home Environment:: Customizing your Home.
@ -2978,123 +2978,6 @@ guix system image --system=armhf-linux -e '((@@ (gnu system install) os-with-u-b
@code{A20-OLinuXino-Lime2} is the name of the board. If you specify an invalid
board, a list of possible boards will be printed.
@c *********************************************************************
@cindex troubleshooting, guix system
@cindex guix system troubleshooting
@node System Troubleshooting Tips
@chapter System Troubleshooting Tips
Guix System allows rebooting into a previous generation should the last
one be malfunctioning, which makes it quite robust against being broken
irreversibly. This feature depends on GRUB being correctly functioning
though, which means that if for whatever reasons your GRUB installation
becomes corrupted during a system reconfiguration, you may not be able
to easily boot into a previous generation. A technique that can be used
in this case is to @i{chroot} into your broken system and reconfigure it
from there. Such technique is explained below.
@cindex chroot, guix system
@cindex chrooting, guix system
@cindex repairing GRUB, via chroot
@menu
* Chrooting into an existing system::
@end menu
@node Chrooting into an existing system
@section Chrooting into an existing system
This section details how to @i{chroot} to an already installed Guix
System with the aim of reconfiguring it, for example to fix a broken
GRUB installation. The process is similar to how it would be done on
other GNU/Linux systems, but there are some Guix System particularities
such as the daemon and profiles that make it worthy of explaining here.
@enumerate
@item
Obtain a bootable image of Guix System. It is recommended the latest
development snapshot so the kernel and the tools used are at least as as
new as those of your installed system; it can be retrieved from the
@url{https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso,
https://ci.guix.gnu.org} URL. Follow the @pxref{USB Stick and DVD
Installation} section for copying it to a bootable media.
@item
Boot the image, and proceed with the graphical text-based installer
until your network is configured. Alternatively, you could configure
the network manually by following the
@ref{manual-installation-networking} section. If you get the error
@samp{RTNETLINK answers: Operation not possible due to RF-kill}, try
@samp{rfkill list} followed by @samp{rfkill unblock 0}, where @samp{0}
is your device identifier (ID).
@item
Switch to a virtual console (tty) if you haven't already by pressing
simultaneously the @kbd{Control + Alt + F4} keys. Mount your file
system at @file{/mnt}. Assuming your root partition is
@file{/dev/sda2}, you would do:
@example sh
mount /dev/sda2 /mnt
@end example
@item
Mount special block devices and Linux-specific directories:
@example sh
mount --rbind /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
@end example
If your system is EFI-based, you must also mount the ESP partition.
Assuming it is @file{/dev/sda1}, you can do so with:
@example sh
mount /dev/sda1 /mnt/boot/efi
@end example
@item
Enter your system via chroot:
@example sh
chroot /mnt /bin/sh
@end example
@item
Source the system profile as well as your @var{user} profile to setup
the environment, where @var{user} is the user name used for the Guix
System you are attempting to repair:
@example sh
source /var/guix/profiles/system/profile/etc/profile
source /home/@var{user}/.guix-profile/etc/profile
@end example
To ensure you are working with the Guix revision you normally would as
your normal user, also source your current Guix profile:
@example sh
source /home/@var{user}/.config/guix/current/etc/profile
@end example
@item
Start a minimal @command{guix-daemon} in the background:
@example sh
guix-daemon --build-users-group=guixbuild --disable-chroot &
@end example
@item
Edit your Guix System configuration if needed, then reconfigure with:
@example sh
guix system reconfigure your-config.scm
@end example
@item
Finally, you should be good to reboot the system to test your fix.
@end enumerate
@c *********************************************************************
@node Getting Started
@ -3191,6 +3074,10 @@ deleting old generations, collecting garbage, and other nifty features
that will come in handy as you become more familiar with Guix. If you
are a developer, @pxref{Development} for additional tools. And if
you're curious, @pxref{Features}, to peek under the hood.
You can also manage the configuration of your entire @dfn{home
environment}---your user ``dot files'', services, and packages---using
Guix Home. @xref{Home Configuration}, to learn more about it!
@end quotation
Once you've installed a set of packages, you will want to periodically
@ -43148,6 +43035,124 @@ is-married = true
@end example
@c *********************************************************************
@cindex troubleshooting, Guix System
@cindex guix system troubleshooting
@node System Troubleshooting Tips
@chapter System Troubleshooting Tips
Guix System allows rebooting into a previous generation should the last
one be malfunctioning, which makes it quite robust against being broken
irreversibly. This feature depends on GRUB being correctly functioning
though, which means that if for whatever reasons your GRUB installation
becomes corrupted during a system reconfiguration, you may not be able
to easily boot into a previous generation. A technique that can be used
in this case is to @i{chroot} into your broken system and reconfigure it
from there. Such technique is explained below.
@cindex chroot, guix system
@cindex chrooting, guix system
@cindex repairing GRUB, via chroot
@menu
* Chrooting into an existing system::
@end menu
@node Chrooting into an existing system
@section Chrooting into an existing system
This section details how to @i{chroot} to an already installed Guix
System with the aim of reconfiguring it, for example to fix a broken
GRUB installation. The process is similar to how it would be done on
other GNU/Linux systems, but there are some Guix System particularities
such as the daemon and profiles that make it worthy of explaining here.
@enumerate
@item
Obtain a bootable image of Guix System. It is recommended the latest
development snapshot so the kernel and the tools used are at least as as
new as those of your installed system; it can be retrieved from the
@url{https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso,
https://ci.guix.gnu.org} URL. Follow the @pxref{USB Stick and DVD
Installation} section for copying it to a bootable media.
@item
Boot the image, and proceed with the graphical text-based installer
until your network is configured. Alternatively, you could configure
the network manually by following the
@ref{manual-installation-networking} section. If you get the error
@samp{RTNETLINK answers: Operation not possible due to RF-kill}, try
@samp{rfkill list} followed by @samp{rfkill unblock 0}, where @samp{0}
is your device identifier (ID).
@item
Switch to a virtual console (tty) if you haven't already by pressing
simultaneously the @kbd{Control + Alt + F4} keys. Mount your file
system at @file{/mnt}. Assuming your root partition is
@file{/dev/sda2}, you would do:
@example sh
mount /dev/sda2 /mnt
@end example
@item
Mount special block devices and Linux-specific directories:
@example sh
mount --rbind /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
@end example
If your system is EFI-based, you must also mount the ESP partition.
Assuming it is @file{/dev/sda1}, you can do so with:
@example sh
mount /dev/sda1 /mnt/boot/efi
@end example
@item
Enter your system via chroot:
@example sh
chroot /mnt /bin/sh
@end example
@item
Source the system profile as well as your @var{user} profile to setup
the environment, where @var{user} is the user name used for the Guix
System you are attempting to repair:
@example sh
source /var/guix/profiles/system/profile/etc/profile
source /home/@var{user}/.guix-profile/etc/profile
@end example
To ensure you are working with the Guix revision you normally would as
your normal user, also source your current Guix profile:
@example sh
source /home/@var{user}/.config/guix/current/etc/profile
@end example
@item
Start a minimal @command{guix-daemon} in the background:
@example sh
guix-daemon --build-users-group=guixbuild --disable-chroot &
@end example
@item
Edit your Guix System configuration if needed, then reconfigure with:
@example sh
guix system reconfigure your-config.scm
@end example
@item
Finally, you should be good to reboot the system to test your fix.
@end enumerate
@node Home Configuration
@chapter Home Configuration
@cindex home configuration
@ -43163,12 +43168,6 @@ command (@pxref{Invoking guix home}).
@c Maybe later, it will be possible to make home configuration a part of
@c system configuration to make everything managed by guix system.
@quotation Note
The functionality described in this section is still under development
and is subject to change. Get in touch with us on
@email{guix-devel@@gnu.org}!
@end quotation
The user's home environment usually consists of three basic parts:
software, configuration, and state. Software in mainstream distros are
usually installed system-wide, but with GNU Guix most software packages

View File

@ -1,4 +1,5 @@
#!/bin/sh
# -*- mode: scheme; -*-
# Extra care is taken here to ensure this script can run in most environments,
# since it is invoked by 'git send-email'.
pre_inst_env_maybe=
@ -522,6 +523,12 @@ GLib/GIO, GTK, GStreamer and Webkit."
#:scope (list "gnu/packages/lxqt.scm"
"gnu/packages/qt.scm")))
(define-team audio
(team 'audio
#:name "Audio team"
#:description "Audio related packages."
#:scope (list "gnu/packages/audio.scm")))
(define-member (person "Eric Bavier"
"bavier@posteo.net")
@ -651,6 +658,10 @@ GLib/GIO, GTK, GStreamer and Webkit."
"me@bonfacemunyoki.com")
python lisp)
(define-member (person "Gabriel Wicki"
"gabriel@erlikon.ch")
audio)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))

View File

@ -2,7 +2,7 @@
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017, 2020, 2022 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
;;; Copyright © 2022 Reza Alizadeh Majd <r.majd@pantherx.org>
@ -335,7 +335,7 @@ FILES may contain file like objects produced by procedures like plain-file,
local-file, etc., or package contents produced with file-append.
HOOKS lists additional hook functions to modify the profile."
(define (efi-bootloader-profile-hook manifest)
(define* (efi-bootloader-profile-hook manifest #:optional system)
(define build
(with-imported-modules '((guix build utils))
#~(begin
@ -383,6 +383,7 @@ HOOKS lists additional hook functions to modify the profile."
(gexp->derivation "efi-bootloader-profile"
build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties

View File

@ -435,7 +435,10 @@ activation.")))
;; after complete logout/reboot.
(if (file-exists? xdg-runtime-dir)
(when (claim-first-run flag-file-path)
(begin #$@gexps)) ;GEXPS can be empty, hence 'begin'
;; GEXPS can be empty, hence 'begin *unspecified*'. Having just
;; 'begin' without '*unspecified*' leads to
;; "Syntax error: ... sequence of zero expressions in form (begin)"
(begin *unspecified* #$@gexps))
;; TRANSLATORS: 'on-first-login' is the name of a service and
;; shouldn't be translated
(warning (G_ "XDG_RUNTIME_DIR doesn't exists, on-first-login script

View File

@ -61,6 +61,7 @@
# Copyright © 2023 Andy Tai <atai@atai.org>
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
# Copyright © 2023 Bruno Victal <mirai@makinata.eu>
# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
#
# This file is part of GNU Guix.
#
@ -1409,6 +1410,7 @@ dist_patch_DATA = \
%D%/packages/patches/heimdal-CVE-2022-45142.patch \
%D%/packages/patches/helm-fix-gcc-9-build.patch \
%D%/packages/patches/highlight-gui-data-dir.patch \
%D%/packages/patches/hplip-usb-timeout.patch \
%D%/packages/patches/http-parser-CVE-2020-8287.patch \
%D%/packages/patches/htslib-for-stringtie.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
@ -1710,6 +1712,7 @@ dist_patch_DATA = \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/oneko-remove-nonfree-characters.patch \
%D%/packages/patches/onionshare-cli-async-mode.patch \
%D%/packages/patches/online-judge-tools.patch \
%D%/packages/patches/onnx-optimizer-system-library.patch \
%D%/packages/patches/onnx-use-system-googletest.patch \
%D%/packages/patches/onnx-shared-libraries.patch \
@ -1869,6 +1872,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch \
%D%/packages/patches/python-hiredis-fix-header.patch \
%D%/packages/patches/python-hiredis-use-system-hiredis.patch \
%D%/packages/patches/python-online-judge-api-client-tests.patch \
%D%/packages/patches/python-pdoc3-tests.patch \
%D%/packages/patches/python-peachpy-determinism.patch \
%D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \
@ -1882,8 +1886,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-parso-unit-tests-in-3.10.patch \
%D%/packages/patches/python-packaging-test-arch.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python-pycrypto-time-clock.patch \
%D%/packages/patches/python-pyan3-fix-absolute-path-bug.patch \
%D%/packages/patches/python-pyan3-fix-positional-arguments.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \

View File

@ -406,7 +406,7 @@ interface and is based on GNU Guile.")
(define-public swineherd
(package
(name "swineherd")
(version "0.0.1")
(version "0.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -415,7 +415,7 @@ interface and is based on GNU Guile.")
(file-name (git-file-name name version))
(sha256
(base32
"18nk0sy5s0dm2rhxnrrn8g0m098b110mxnnxa2vnl1dnvfdzszw8"))))
"0il1ikaj478n7xs4vqgawbshvmwq3nd0gp235mwqvmf4knra6j3g"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")
@ -2835,13 +2835,13 @@ specified directories.")
(define-public ansible-core
(package
(name "ansible-core")
(version "2.14.4")
(version "2.15.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible-core" version))
(sha256
(base32 "057g87smxcn6zc558xk4zr6ga4q8clmkyxghn5gx60a94sy61clh"))))
(base32 "00hnwjk4dxgxbz4xlza2wqx20yks5xr7074hzlzsyja3ip5kkicc"))))
(build-system python-build-system)
(arguments
`(#:modules ((guix build python-build-system)
@ -2911,14 +2911,6 @@ test_context)" all)
(when tests?
;; Otherwise Ansible fails to create its config directory.
(setenv "HOME" "/tmp")
;; This test module messes up with sys.path and causes many
;; test failures.
(delete-file "test/units/_vendor/test_vendor.py")
;; The test fails when run in the container, for reasons
;; unknown.
(delete-file "test/units/utils/test_display.py")
;; This test fail for reasons unknown.
(delete-file "test/units/cli/test_adhoc.py")
;; These tests fail in the container; it appears that the
;; mocking of the absolute file names such as /usr/bin/svcs do
;; not work as intended there.
@ -2933,7 +2925,7 @@ test_command_nonexisting.py")
;; does some extra environment setup. Taken from
;; https://raw.githubusercontent.com/ansible/ansible/\
;; devel/test/utils/shippable/shippable.sh.
(invoke "ansible-test" "units" "-v"
(invoke "./bin/ansible-test" "units" "-v"
"--num-workers" (number->string
(parallel-job-count)))))))))
(native-inputs
@ -2954,7 +2946,7 @@ test_command_nonexisting.py")
python-jinja2
python-pyyaml
python-packaging ;for version number parsing
python-resolvelib-0.5))
python-resolvelib))
(home-page "https://www.ansible.com/")
(synopsis "Radically simple IT automation")
(description "Ansible aims to be a radically simple IT automation system.
@ -2981,13 +2973,13 @@ provides the following commands:
(define-public ansible
(package
(name "ansible")
(version "7.4.0")
(version "8.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ansible" version))
(sha256
(base32 "142barhwz0wx5kn74xi0bfl21iwq2yq3jp14kxajsg9nggndcr09"))))
(base32 "0bazj5h12wraf30bb2schzwk553y20n9vh45km4b5kgmvadm0z1j"))))
(build-system python-build-system)
(propagated-inputs (list ansible-core))
;; The Ansible collections are found by ansible-core via the Python search

View File

@ -936,7 +936,7 @@ algorithms from the FORTRAN library MINPACK.")
(define-public symengine
(package
(name "symengine")
(version "0.10.1")
(version "0.11.1")
(source
(origin
(method git-fetch)
@ -945,7 +945,7 @@ algorithms from the FORTRAN library MINPACK.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0qy5w5msq0zy7drbhdy0vx451zglha8jm5s4zzmvmsja5yyv8fx9"))))
(base32 "105rnnf33vx2n03wwv4962az7bfzgsn1gx6a6wyakmyrfdkb07jc"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags

View File

@ -493,6 +493,60 @@ in FITS files.")
(license (license:non-copyleft "file://License.txt"
"See License.txt in the distribution."))))
(define-public python-aplpy
(package
(name "python-aplpy")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "aplpy" version))
(sha256
(base32 "0ph9jhv4q4i4z6nkqr6hjw9148kdlnayxsn83qgv5dqn0h3nc9r8"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-astropy
python-matplotlib
python-numpy
python-pillow
python-pyavm
python-pyregion
python-reproject
python-scikit-image
python-shapely))
(native-inputs
(list python-pytest-astropy
python-pytest-mpl
python-semantic-version))
(home-page "http://aplpy.github.io")
(synopsis "Astronomical Plotting Library in Python")
(description
"@acronym{APLpy, the Astronomical Plotting Library in Python} is a Python
module aimed at producing publication-quality plots of astronomical imaging data
in FITS format. The module uses @code{matplotlib}, a powerful and interactive
plotting package. It is capable of creating output files in several graphical
formats, including EPS, PDF, PS, PNG, and SVG.
Main features:
@itemize
@item Make plots interactively or using scripts
@item Show grayscale, colorscale, and 3-color RGB images of FITS files
@item Generate co-aligned FITS cubes to make 3-color RGB images
@item Make plots from FITS files with arbitrary WCS (e.g. position-velocity)
@item Slice multi-dimensional FITS cubes
@item Overlay any number of contour sets
@item Overlay markers with fully customizable symbols
@item Plot customizable shapes like circles, ellipses, and rectangles
@item Overlay ds9 region files
@item Overlay coordinate grids
@item Show colorbars, scalebars, and beams
@item Customize the appearance of labels and ticks
@item Hide, show, and remove different contour and marker layers
@item Pan, zoom, and save any view as a full publication-quality plot
@item Save plots as EPS, PDF, PS, PNG, and SVG
@end itemize")
(license license:expat)))
(define-public python-astroml
(package
(name "python-astroml")
@ -2166,6 +2220,29 @@ cases for which diffractive rather than geometric optics is the topic of
interest, and which require portability between platforms or ease of scripting.")
(license license:bsd-3)))
(define-public python-pyavm
(package
(name "python-pyavm")
(version "0.9.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyAVM" version))
(sha256
(base32 "0vgjqvddq4a5lnmg8msm7fwqs3r6fc748xzvnhyvc387h0z8pdxk"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-astropy python-numpy))
(native-inputs
(list python-pillow python-pytest python-setuptools-scm))
(home-page "https://astrofrog.github.io/pyavm/")
(synopsis "Simple pure-python AVM meta-data handling")
(description
"PyAVM is a module to represent, read, and write metadata following the
@acronym{AVM, Astronomy Visualization Metadata} standard provided by
@url{https://www.virtualastronomy.org/avm_metadata.php, vamp} project.")
(license license:expat)))
(define-public python-pyvo
(package
(name "python-pyvo")
@ -2455,6 +2532,60 @@ positions of the sun: dawn, sunrise, solar noon, sunset, dusk, solar
elevation, solar azimuth, rahukaalam, and the phases of the moon.")
(license license:asl2.0)))
(define-public python-spectral-cube
(package
(name "python-spectral-cube")
(version "0.6.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "spectral-cube" version))
(sha256
(base32 "10q76rsgf9w4j7y68mfa870bpxf06m6kqvivj4340jmgnsrfy1zg"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-astropy
python-aplpy
python-casa-formats-io
python-dask
python-distributed
python-fsspec
;; python-glue-core ; Not packed http://glueviz.org/, optional.
python-joblib
python-matplotlib
python-numpy
python-radio-beam
python-reproject
python-scipy
python-six
;; python-yt ; Not packed https://yt-project.org/, optional.
python-zarr))
(native-inputs
(list ;; XXX: Introduce cycle with pvextractor, listed as extra requiremnts
;; in [noviz] option.
;; python-pvextractor
python-pytest-astropy
python-regions
python-semantic-version
python-setuptools-scm))
(home-page "https://spectral-cube.readthedocs.io/en/latest/")
(synopsis "Library for reading and analyzing astrophysical spectral data cubes")
(description
"The spectral-cube package provides an easy way to read, manipulate,
analyze, and write data cubes with two positional dimensions and one spectral
dimension, optionally with Stokes parameters.
It provides the following main features:
@itemize
@item A uniform interface to spectral cubes, robust to the wide range of conventions
of axis order, spatial projections, and spectral units that exist in the wild.
@item Easy extraction of cube sub-regions using physical coordinates.
@item Ability to easily create, combine, and apply masks to datasets.
@item Basic summary statistic methods like moments and array aggregates.
@item Designed to work with datasets too large to load into memory.
@end itemize")
(license license:bsd-3)))
(define-public python-spherical-geometry
(package
(name "python-spherical-geometry")
@ -3471,6 +3602,46 @@ astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, Gadget4/Arepo,
N-Chilada and RAMSES AMR outputs.")
(license license:gpl3+)))
(define-public python-pyregion
(package
(name "python-pyregion")
(version "2.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyregion" version))
(sha256
(base32 "0l7qb7r8fnv46mdih4m5b8jaxixgpw6m7v37dpikjkblgh0vigaw"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'build-extensions
(lambda _
;; Cython extensions have to be built before running the tests.
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(propagated-inputs
(list python-astropy python-numpy python-pyparsing))
(native-inputs
(list python-cython
python-pytest
python-pytest-astropy-header
python-setuptools-scm))
(home-page "https://github.com/astropy/pyregion")
(synopsis "Python parser for ds9 region files")
(description
"@code{pyregion} is a python module to parse ds9 region files. It also
supports ciao region files.
Features:
@itemize
@item ds9 and ciao region files.
@item (physical, WCS) coordinate conversion to the image coordinate.
@item convert regions to matplotlib patches.
@item convert regions to spatial filter (i.e., generate mask images)
@end itemize")
(license license:expat)))
(define-public python-pysynphot
(package
(name "python-pysynphot")
@ -3955,6 +4126,40 @@ format, which are used by ASDF to serialize and deserialize data for the Nancy
Grace Roman Space Telescope.")
(license license:bsd-3)))
(define-public python-radio-beam
(package
(name "python-radio-beam")
(version "0.3.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "radio-beam" version))
(sha256
(base32 "19c6gmm1wvyp5nn1yfbzl428rkysdq273j2yaarxpivv7cwj7qjk"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-astropy
python-matplotlib
python-numpy
python-scipy
python-six))
(native-inputs (list python-pytest-astropy python-setuptools-scm))
(home-page "https://radio-beam.readthedocs.io/en/latest/")
(synopsis "Operations for radio astronomy beams with Astropy")
(description
"Radio Beam is a simple toolkit for reading beam information from FITS
headers and manipulating beams.
Some example applications include:
@itemize
@item Convolution and deconvolution
@item Unit conversion (Jy to/from K)
@item Handle sets of beams for spectral cubes with varying resolution between
channels
@item Find the smallest common beam from a set of beams
@item Add the beam shape to a matplotlib plot
@end itemize")
(license license:bsd-3)))
(define-public python-roman-datamodels
(package
(name "python-roman-datamodels")

File diff suppressed because it is too large Load Diff

View File

@ -1063,11 +1063,11 @@ plotnames, filenames and paths.")
(license license:gpl3))))
(define-public r-readwriter
(let ((commit "71454f4aa706f5d2fbe606acd95abc14224e7058")
(let ((commit "12d32cb6533ef4b9eab4d707d1502525c2034aee")
(revision "1"))
(package
(name "r-readwriter")
(version (git-version "0.2.9" revision commit))
(version (git-version "0.3.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -1076,7 +1076,7 @@ plotnames, filenames and paths.")
(file-name (git-file-name name version))
(sha256
(base32
"0sp27smhdva2hi2x0svia2l56k8xrh7p5akn78g5b0lcvz4x3hd7"))))
"1hy47g8d7zppr2i9zlkwl2yb0ii8x710hqk07h089ldx9171qxab"))))
(properties `((upstream-name . "ReadWriter")))
(build-system r-build-system)
(propagated-inputs
@ -5164,6 +5164,18 @@ software to answer ad hoc questions.")
python-pysam
python-pyyaml
python-scipy
r-biocmanager
r-dplyr
r-genomicranges
r-here
r-openxlsx
r-optparse
r-readr
r-rsamtools
r-stringr
r-tidyr
r-upsetr
r-yaml
snakemake-7))
(native-inputs (list python-cython python-pyfakefs python-pytest))
(home-page "https://github.com/dieterich-lab/Baltica")
@ -10653,6 +10665,40 @@ of transcriptional heterogeneity among single cells.")
;; See https://github.com/hms-dbmi/scde/issues/38
(license license:gpl2)))
(define-public r-miamiplot
(let ((commit "beede9c5d6431b4d822aa42e064e01baeb5dd4a0")
(revision "1"))
(package
(name "r-miamiplot")
(version (git-version "1.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/juliedwhite/miamiplot")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0wxxk1lk9jbf0imf59qp302ffasvs84idinkvzirs3dw9w3589n9"))))
(properties `((upstream-name . "miamiplot")))
(build-system r-build-system)
(propagated-inputs (list r-checkmate
r-dplyr
r-ggplot2
r-ggrepel
r-gridextra
r-magrittr
r-rlang))
(native-inputs (list r-knitr))
(home-page "https://github.com/juliedwhite/miamiplot")
(synopsis "Create a ggplot2 miami plot")
(description
"This package generates a Miami plot with centered chromosome labels.
The output is a ggplot2 object. Users can specify which data they want
plotted on top vs. bottom, whether to display significance line(s), what
colors to give chromosomes, and what points to label.")
(license license:gpl2))))
(define-public r-millefy
(package
(name "r-millefy")
@ -18796,6 +18842,73 @@ transcriptional derivatives and visualization of the resulting velocity
patterns.")
(license license:gpl3))))
(define-public r-voltron
(let ((commit "5057b703479239a9aaba761f07e65d849f6111f8")
(revision "1"))
(package
(name "r-voltron")
(version (git-version "1.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/BIMSBbioinfo/VoltRon")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1nximl4708a7fdwn8ysxpni3mp6dx33cphavlay7hh1pa55pnzgn"))
(modules '((guix build utils)))
;; The tripack package is not available under a free license,
;; but interp provides free implementations of "tri.mesh" and
;; "neighbours".
(snippet
'(substitute* '("DESCRIPTION" "NAMESPACE" "R/spatial.R")
(("tripack") "interp")))))
(properties `((upstream-name . "VoltRon")))
(build-system r-build-system)
(inputs (list opencv tbb zlib))
(propagated-inputs (list r-anndata
r-data-table
r-dplyr
r-ebimage
r-fastdummies
r-fnn
r-ggforce
r-ggplot2
r-ggpubr
r-ggrepel
r-hdf5r
r-htmltools
r-igraph
r-interp
r-irlba
r-magick
r-matrix
r-morpho
r-raster
r-rcpp
r-reshape2
r-rjson
r-rlang
r-s4vectors
r-scales
r-shiny
r-shinyjs
r-stringr
r-terra
r-umap
r-xml))
(native-inputs (list pkg-config))
(home-page "https://github.com/BIMSBbioinfo/VoltRon")
(synopsis "VoltRon for Spatial Data Integration and Analysis")
(description
"@code{VoltRon} is a toolbox for spatial data analysis, multi-omics
integration using spatial image registration. @code{VoltRon} is capable of
analyzing multiple types and modalities of spatially-aware datasets.
@code{VoltRon} visualizes and analyzes regions of interests (ROIs), spots,
cells and even molecules.")
(license license:expat))))
(define-public methyldackel
(package
(name "methyldackel")

View File

@ -83,7 +83,7 @@
(define-public transmission
(package
(name "transmission")
(version "4.0.3")
(version "4.0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/transmission/transmission"
@ -91,7 +91,7 @@
version ".tar.xz"))
(sha256
(base32
"0njlmpcdsxwx8vwdk9dvsby51l6f6awks9d0mgvi9fs2ivaizc5n"))))
"19nm7f4x3zq610da5fl63vpycj4kv07np6ldm8czpgyziwqv9xqm"))))
(build-system cmake-build-system)
(outputs '("out" ; library and command-line interface
"gui")) ; graphical user interface
@ -112,8 +112,9 @@
(replace 'check
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
(if tests?
(invoke "ctest"
;; XXX this test fails...
(invoke "ctest" "-E" "usesBootstrapFile"
"-E" "usesBootstrapFile"
"-j" (if parallel-tests?
(number->string (parallel-job-count))
"1"))
@ -155,7 +156,7 @@
(native-inputs
(list intltool pkg-config))
(home-page "https://transmissionbt.com/")
(synopsis "Fast and easy BitTorrent client")
(synopsis "BitTorrent client")
(description
"Transmission is a BitTorrent client that comes with graphical,
textual, and Web user interfaces. Transmission also has a daemon for

View File

@ -28,6 +28,7 @@
#:use-module (gnu build chromium-extension)
#:use-module (gnu build icecat-extension)
#:use-module (gnu packages compression)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages python))
(define play-to-kodi
@ -150,3 +151,73 @@ ungoogled-chromium.")
(define-public ublock-origin/icecat
(make-icecat-extension ublock-origin "firefox"))
(define-public passff-host
(package
(name "passff-host")
(version "1.2.3")
(home-page "https://github.com/passff/passff-host")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1p18l1jh20x4v8dj64z9qjlp96fxsl5h069iynxfpbkzj6hd74yl"))))
(build-system copy-build-system)
(arguments
(let ((native-manifests "lib/icecat/native-messaging-hosts"))
(list
#:install-plan
`'(("src" ,native-manifests #:include ("passff.json" "passff.py")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'substitute
(lambda _
(substitute* "src/passff.json"
(("PLACEHOLDER")
(format #f "~a/~a/passff.py" #$output #$native-manifests)))
(substitute* "src/passff.py"
(("_VERSIONHOLDER_") #$version)
(("^COMMAND = .*")
(format #f "COMMAND = \"~a/bin/pass\"~%"
#$(this-package-input "password-store"))))
(patch-shebang "src/passff.py")))))))
(inputs (list password-store python))
(synopsis "Host app for the WebExtension PassFF")
(description "This piece of software wraps around the zx2c4 pass shell
command. It has to be installed for the PassFF browser extension to work
properly.")
(license license:gpl2+)))
(define passff
(package
(name "passff")
(version "1.15")
(home-page "https://github.com/passff/passff")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1gymqyqppr8k9fqv5js7f6pk6hcc47qpf51x5cy6aahsk2v1qssj"))))
(propagated-inputs (list passff-host))
(build-system copy-build-system)
(properties '((addon-id . "passff@invicem.pro")))
(arguments
`(#:install-plan '(("src" ,(assq-ref properties 'addon-id)))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'substitute-placeholder
(lambda _
(substitute* "src/manifest.json"
(("_VERSIONHOLDER_") ,version)))))))
(synopsis "zx2c4 pass management extension for Mozilla Firefox")
(description "This extension will allow you to access your zx2c4 pass
repository directly from your web browser. You can choose to automatically
fill and submit login forms if a matching password entry is found.")
(license license:gpl2+)))
(define-public passff/icecat
(make-icecat-extension passff))

View File

@ -59,11 +59,11 @@
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR)))
(define-public cuirass
(let ((commit "db6b63371159a735de74eee97c313740c998439a")
(revision "20"))
(let ((commit "eb3f539dc95de705c89b07258efe4663e76f7dab")
(revision "0"))
(package
(name "cuirass")
(version (git-version "1.1.0" revision commit))
(version "1.2.0")
(source
(origin
(method git-fetch)
@ -73,7 +73,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"16d9ylzk8mwsgppfdxyl0k2mkwll7fq17d6v09406rqkgddxg3m2"))))
"0rvzcsm0zwwv8rb5z0jdgc7adzzx0cin9n2hhclp5d0kqn582hny"))))
(build-system gnu-build-system)
(arguments
(list #:modules `((guix build utils)

View File

@ -263,6 +263,7 @@ and workspaces that can be used in the compiler environment of your choice.")
(package
(inherit cmake-bootstrap)
(name "cmake-minimal")
(properties (alist-delete 'hidden? (package-properties cmake-bootstrap)))
(source (origin
(inherit (package-source cmake-bootstrap))
;; Purge CMakes bundled dependencies as they are no longer needed.

View File

@ -1112,6 +1112,10 @@ portable applications targeting all major HPC platforms. For that purpose it
provides abstractions for both parallel execution of code and data management.
Kokkos is designed to target complex node architectures with N-level memory
hierarchies and multiple types of execution resources.")
;; Code exhibits integer size mismatches when compiled on 32-bit systems.
(supported-systems %64bit-supported-systems)
(license license:asl2.0))) ; With LLVM exception
(define-public tweeny
@ -1250,12 +1254,25 @@ Google's C++ code base.")
(number->string version))
#$flags))))))))
(define (make-static-abseil-cpp version)
(let ((base abseil-cpp))
(hidden-package
(package/inherit base
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags)
#~(cons* "-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
(delete "-DBUILD_SHARED_LIBS=ON" #$flags)))))))))
(define-public abseil-cpp-cxxstd17
(abseil-cpp-for-c++-standard 17)) ;XXX: the default with GCC 11?
(define-public abseil-cpp-cxxstd11
(abseil-cpp-for-c++-standard 11))
(define-public static-abseil-cpp
(make-static-abseil-cpp abseil-cpp))
(define-public pegtl
(package
(name "pegtl")

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,7 @@
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2023 Steve George <steve@futurile.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,6 +30,7 @@
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages webkit))
@ -1709,6 +1711,255 @@
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))))
(define-public rust-gstreamer-0.18
(package
(name "rust-gstreamer")
(version "0.18.8")
(source (origin
(method url-fetch)
(uri (crate-uri "gstreamer" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0mjlnw9917j3wwij8225bjp54k7408lxqjjnh6r6wksyryx66qyn"))))
(build-system cargo-build-system)
(arguments
(list #:tests? #f ; https://github.com/gtk-rs/gtk3-rs/issues/768
#:cargo-inputs `(("rust-bitflags" ,rust-bitflags-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-futures-channel" ,rust-futures-channel-0.3)
("rust-futures-core" ,rust-futures-core-0.3)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-glib" ,rust-glib-0.15)
("rust-gstreamer-sys" ,rust-gstreamer-sys-0.18)
("rust-libc" ,rust-libc-0.2)
("rust-muldiv" ,rust-muldiv-1)
("rust-num-integer" ,rust-num-integer-0.1)
("rust-num-rational" ,rust-num-rational-0.4)
("rust-once-cell" ,rust-once-cell-1)
("rust-option-operations" ,rust-option-operations-0.4)
("rust-paste" ,rust-paste-1)
("rust-pretty-hex" ,rust-pretty-hex-0.3)
("rust-serde" ,rust-serde-1)
("rust-serde-bytes" ,rust-serde-bytes-0.11)
("rust-thiserror" ,rust-thiserror-1))
#:cargo-development-inputs
`(("rust-futures-executor" ,rust-futures-executor-0.3)
("rust-gir-format-check" ,rust-gir-format-check-0.1)
("rust-ron" ,rust-ron-0.7)
("rust-serde-json" ,rust-serde-json-1))))
(native-inputs (list pkg-config))
(inputs (list glib gstreamer))
(home-page "https://gstreamer.freedesktop.org")
(synopsis "Rust bindings for GStreamer")
(description "Rust bindings for GStreamer.")
(license (list license:expat license:asl2.0))))
(define-public rust-gstreamer-app-0.18
(package
(name "rust-gstreamer-app")
(version "0.18.7")
(source
(origin
(method url-fetch)
(uri (crate-uri "gstreamer-app" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "115nykpdvfccyzvfi73qkhn061f6rdyhcaj9ajnw2ik5pimdyjk6"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; https://github.com/gtk-rs/gtk3-rs/issues/768
#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
("rust-futures-core" ,rust-futures-core-0.3)
("rust-futures-sink" ,rust-futures-sink-0.3)
("rust-glib" ,rust-glib-0.15)
("rust-gstreamer" ,rust-gstreamer-0.18)
("rust-gstreamer-app-sys" ,rust-gstreamer-app-sys-0.18)
("rust-gstreamer-base" ,rust-gstreamer-base-0.18)
("rust-libc" ,rust-libc-0.2)
("rust-once-cell" ,rust-once-cell-1))
#:cargo-development-inputs (("rust-futures-executor" ,rust-futures-executor-0.3)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-gir-format-check" ,rust-gir-format-check-0.1))))
(native-inputs (list pkg-config))
(inputs (list glib gstreamer gst-plugins-base))
(home-page "https://gstreamer.freedesktop.org")
(synopsis "Rust bindings for GStreamer App library")
(description "Rust bindings for the GStreamer App library.")
(license (list license:expat license:asl2.0))))
(define-public rust-gstreamer-app-sys-0.18
(package
(name "rust-gstreamer-app-sys")
(version "0.18.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "gstreamer-app-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1fsgdb3b23s45xc7s06xw96x7avza0jpyj02x1fkw6vk3pr03d63"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-glib-sys" ,rust-glib-sys-0.15)
("rust-gstreamer-base-sys" ,rust-gstreamer-base-sys-0.18)
("rust-gstreamer-sys" ,rust-gstreamer-sys-0.18)
("rust-libc" ,rust-libc-0.2)
("rust-system-deps" ,rust-system-deps-6))
#:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
("rust-tempfile" ,rust-tempfile-3))))
(native-inputs (list pkg-config))
(inputs (list glib gstreamer gst-plugins-base))
(home-page "https://gstreamer.freedesktop.org")
(synopsis "FFI bindings to libgstapp-1.0")
(description "FFI bindings to libgstapp-1.0, part of Gstreamer.")
(license license:expat)))
(define-public rust-gstreamer-audio-0.18
(package
(name "rust-gstreamer-audio")
(version "0.18.7")
(source
(origin
(method url-fetch)
(uri (crate-uri "gstreamer-audio" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0zl0bj03rz19qlrm50w7i5sagh0i0p5d8gr7ig1k6k5yd7k47sww"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; https://github.com/gtk-rs/gtk3-rs/issues/768
#:cargo-inputs (("rust-array-init" ,rust-array-init-2)
("rust-bitflags" ,rust-bitflags-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-glib" ,rust-glib-0.15)
("rust-gstreamer" ,rust-gstreamer-0.18)
("rust-gstreamer-audio-sys" ,rust-gstreamer-audio-sys-0.18)
("rust-gstreamer-base" ,rust-gstreamer-base-0.18)
("rust-libc" ,rust-libc-0.2)
("rust-once-cell" ,rust-once-cell-1))
#:cargo-development-inputs (("rust-gir-format-check" ,rust-gir-format-check-0.1)
("rust-itertools" ,rust-itertools-0.10))))
(native-inputs (list pkg-config))
(inputs (list glib gstreamer gst-plugins-base))
(home-page "https://gstreamer.freedesktop.org")
(synopsis "Rust bindings for the GStreamer Audio library")
(description "Rust bindings for the GStreamer Audio library.")
(license (list license:expat license:asl2.0))))
(define-public rust-gstreamer-audio-sys-0.18
(package
(name "rust-gstreamer-audio-sys")
(version "0.18.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "gstreamer-audio-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0z3xryblh75xp08xyw3m6jfz9azarcvl06dd3psc0n65agxmhhm3"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-test-flags
(list "--release" "--"
"--skip=cross_validate_constants_with_c")
#:cargo-inputs (("rust-glib-sys" ,rust-glib-sys-0.15)
("rust-gobject-sys" ,rust-gobject-sys-0.15)
("rust-gstreamer-base-sys" ,rust-gstreamer-base-sys-0.18)
("rust-gstreamer-sys" ,rust-gstreamer-sys-0.18)
("rust-libc" ,rust-libc-0.2)
("rust-system-deps" ,rust-system-deps-6))
#:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
("rust-tempfile" ,rust-tempfile-3))))
(native-inputs (list pkg-config))
(inputs (list glib gstreamer gst-plugins-base))
(home-page "https://gstreamer.freedesktop.org")
(synopsis "FFI bindings to libgstaudio-1.0")
(description "FFI bindings to libgstaudio, part of Gstreamer.")
(license license:expat)))
(define-public rust-gstreamer-base-0.18
(package
(name "rust-gstreamer-base")
(version "0.18.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "gstreamer-base" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0gw6sr75h01y3j6lpxhc7p1frvkba9a4imyyb2ppqh42cprkakr2"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; https://github.com/gtk-rs/gtk3-rs/issues/768
#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1)
("rust-cfg-if" ,rust-cfg-if-1)
("rust-glib" ,rust-glib-0.15)
("rust-gstreamer" ,rust-gstreamer-0.18)
("rust-gstreamer-base-sys" ,rust-gstreamer-base-sys-0.18)
("rust-libc" ,rust-libc-0.2))
#:cargo-development-inputs (("rust-gir-format-check" ,rust-gir-format-check-0.1))))
(native-inputs (list pkg-config))
(inputs (list glib gstreamer))
(home-page "https://gstreamer.freedesktop.org")
(synopsis "Rust bindings for GStreamer Base library")
(description "Rust bindings for GStreamer Base library.")
(license (list license:expat license:asl2.0))))
(define-public rust-gstreamer-base-sys-0.18
(package
(name "rust-gstreamer-base-sys")
(version "0.18.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "gstreamer-base-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "13h79fcn3b9bkg7h8j0vxc1zryp92shbvvk6gkx723il7hy4k0x0"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs (("rust-glib-sys" ,rust-glib-sys-0.15)
("rust-gobject-sys" ,rust-gobject-sys-0.15)
("rust-gstreamer-sys" ,rust-gstreamer-sys-0.18)
("rust-libc" ,rust-libc-0.2)
("rust-system-deps" ,rust-system-deps-6))
#:cargo-development-inputs (("rust-shell-words" ,rust-shell-words-1)
("rust-tempfile" ,rust-tempfile-3))))
(native-inputs (list pkg-config))
(inputs (list glib gstreamer))
(home-page "https://gstreamer.freedesktop.org")
(synopsis "FFI bindings to libgstbase-1.0")
(description "FFI bindings to libgstbase-1.0, part of GStreamer.")
(license license:expat)))
(define-public rust-gstreamer-sys-0.18
(package
(name "rust-gstreamer-sys")
(version "0.18.0")
(source (origin
(method url-fetch)
(uri (crate-uri "gstreamer-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1qikgp5m3xj41fbfyfl6ckb5i8dxadfvlvj5bf8girn2sdjpllg3"))))
(build-system cargo-build-system)
(arguments
(list #:cargo-inputs `(("rust-glib-sys" ,rust-glib-sys-0.15)
("rust-gobject-sys" ,rust-gobject-sys-0.15)
("rust-libc" ,rust-libc-0.2)
("rust-system-deps" ,rust-system-deps-6))
#:cargo-development-inputs `(("rust-shell-words" ,rust-shell-words-1)
("rust-tempfile" ,rust-tempfile-3))))
(native-inputs (list pkg-config))
(inputs (list glib gstreamer))
(home-page "https://gstreamer.freedesktop.org")
(synopsis "FFI bindings to libgstreamer-1.0")
(description
"Foreign Function Interface (FFI) bindings to libgstreamer-1.0.")
(license license:expat)))
(define-public rust-gtk-0.14
(package
(name "rust-gtk")

File diff suppressed because it is too large Load Diff

View File

@ -8,6 +8,7 @@
;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -204,8 +205,11 @@ driver is known to work with these printers:
(find-files (string-append #$output
"/lib/cups/filter"))))))))
(native-inputs
(append (if (%current-target-system)
(list cups-minimal)
'())
(list `(,glib "bin") ; for gdbus-codegen
pkg-config))
pkg-config)))
(inputs
(list avahi
fontconfig
@ -315,7 +319,10 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.")
;; to a missing font. Substitute the last observed count.
(("(\\$count != )33" _ prefix)
(string-append prefix "39"))))))))
(native-inputs (list config pkg-config))
(native-inputs (cons* config pkg-config
(if (%current-target-system)
(list this-package)
'())))
(inputs (list zlib gnutls))
(home-page "https://openprinting.github.io/cups")
(synopsis "The Common Unix Printing System")
@ -522,6 +529,7 @@ should only be used as part of the Guix cups-pk-helper service.")
(sha256
(base32
"0ihv9ddjrjx5bdf8pwc2fvljkpfzq4qi9r2awm8dgky053v0bk7p"))
(patches (search-patches "hplip-usb-timeout.patch"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -405,7 +405,7 @@ asynchronously via cURL in C++.")
(define-public curlie
(package
(name "curlie")
(version "1.6.9")
(version "1.7.2")
(source
(origin
(method git-fetch)
@ -415,7 +415,7 @@ asynchronously via cURL in C++.")
(file-name (git-file-name name version))
(sha256
(base32
"1b94wfliivfq06i5sf664nhmp3v1k0lpz33cv9lyk6s59awb2hnw"))))
"04gwd9sqpykappnzyw9icgn5253cx1vwpr2h1fg7sgkyq3fjmsv0"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/rs/curlie"))

View File

@ -61,6 +61,7 @@
;;; Copyright © 2021, 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Felix Gruber <felgru@posteo.ne
;;; Copyright © 2023 Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2973,14 +2974,16 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(define-public python-pypika-tortoise
(package
(name "python-pypika-tortoise")
(version "0.1.5")
(version "0.1.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pypika-tortoise" version))
(sha256
(base32 "0j20574s2yrq8d7fav3816vj1nfpihkm2mj8jzh2ank4zixp8brf"))))
(build-system python-build-system)
(base32 "0dmzpsnlqjjz0vm0r9xjk69xfsm235bpnk3jccr8ww4s8y7qc0nq"))))
(build-system pyproject-build-system)
(native-inputs
(list poetry))
(home-page "https://github.com/tortoise/pypika-tortoise")
(synopsis "Pypika fork for tortoise-orm")
(description "Pypika-tortoise is a fork of pypika which has been
@ -3075,20 +3078,25 @@ of PyMySQL. @code{aiomysql} tries to preserve the same API as the
(define-public python-tortoise-orm
(package
(name "python-tortoise-orm")
(version "0.19.1")
(version "0.20.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tortoise-orm" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/tortoise/tortoise-orm")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "17yk71dlx5ai98i6ivqgsplkwivdxackz9jfn6z42bpcdgbpiwhg"))))
(build-system python-build-system)
(base32 "19rgyvs2y9gn27x71y7djdz6rb6bszgvprv55q1hr4266wy6g999"))))
(build-system pyproject-build-system)
;; The test suite relies on asynctest, which is abandoned and doesn't
;; support Python >= 3.8.
(arguments '(#:tests? #f))
(native-inputs
(list poetry))
(propagated-inputs
(list python-aiomysql
python-aiosqlite
python-aiosqlite-0.17
python-asyncmy
python-asyncpg
python-ciso8601
@ -3106,6 +3114,48 @@ engraved in its design that you are working not with just tables, you work
with relational data.")
(license license:asl2.0)))
(define-public aerich
(package
(name "aerich")
(version "0.7.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tortoise/aerich")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0pcy945bg890p12s7cyw0mg7hxwsxyy570j600sbf7kwj2d3lilg"))))
(build-system pyproject-build-system)
(native-inputs
(list poetry
python-bandit
python-cryptography
python-isort
python-pydantic
python-pytest
python-pytest-asyncio
python-pytest-mock
python-pytest-xdist))
(propagated-inputs
(list python-asyncmy
python-asyncpg
python-click
python-ddlparse
python-dictdiffer
python-tomlkit
python-tortoise-orm))
(home-page "https://github.com/tortoise/aerich")
(synopsis "Database migrations tool for Tortoise @acronym{ORM, Object Relational
Mapper}")
(description
"This package provides @code{aerich}, a Python database migrations tool
for Tortoise @acronym{ORM, Object Relational Mapper}. It can be used both
programmatically or as a standalone CLI application.")
(license license:asl2.0)))
(define-public sqlcipher
(package
(name "sqlcipher")
@ -3778,6 +3828,33 @@ async versions of all the standard connection and cursor methods, and context
managers for automatically closing connections.")
(license license:expat)))
(define-public python-aiosqlite-0.17
(package
(inherit python-aiosqlite)
(version "0.17.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/omnilib/aiosqlite")
(commit (string-append "v" version))))
(file-name (git-file-name (package-name python-aiosqlite)
version))
(sha256
(base32
"1agh7b9g7rgryvb8flph85i8m80ai1rinpljxzlsrs0s0y616qgg"))))
(build-system pyproject-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(invoke "python" "-m" "unittest" "aiosqlite.tests")
(format #t "test suite not run~%")))))))
(propagated-inputs
(list python-typing-extensions))
(native-inputs
(list python-flit-core python-aiounittest))))
(define-public python-databases
(package
(name "python-databases")

View File

@ -32,14 +32,14 @@
(define-public dezyne
(package
(name "dezyne")
(version "2.17.6")
(version "2.17.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://dezyne.org/download/dezyne/"
name "-" version ".tar.gz"))
(sha256
(base32 "0z019yyvf1ac1l95j29wlayi2gmwa9sjqg31a4r89za1bijmk19k"))))
(base32 "09w2rl2ghm8z6fv3iflxnikcj2q98119imvlgvkmkhch5cplx7ny"))))
(inputs (list bash-minimal
guile-3.0-latest
guile-json-4

View File

@ -74,7 +74,7 @@
(define-public diffoscope
(package
(name "diffoscope")
(version "250")
(version "251")
(source
(origin
(method git-fetch)
@ -83,7 +83,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "12cdsgxlva1gcry16w9x44ji9asar1n8p9q6rv2jd1gr9fi6l0sz"))))
(base32 "1200kzwqyw2m298z8rfbiiziprz4s1n176z42xyziwc6mbx8m09z"))))
(build-system python-build-system)
(arguments
(list

View File

@ -95,7 +95,7 @@
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021, 2022 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021, 2022 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021, 2022, 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 David Dashyan <mail@davie.li>
@ -795,6 +795,35 @@ configuration language which makes it trivial to write your own themes.")
Common Lisp or Smalltalk, but for Emacs Lisp.")
(license license:gpl3+))))
(define-public emacs-treebundel
(package
(name "emacs-treebundel")
(version "0.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/purplg/treebundel")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1hk2xnjsr85in48h02xbzi8lsccp36li2bp9v9j0r8qn1bis2vv9"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-compat))
(home-page "https://github.com/purplg/treebundel")
(synopsis "Bundle related git-worktrees together")
(description
"This package is used for bundling related git-worktrees from multiple
repositories together. This helps switch quickly between repositories and
ensure you're on the correct branch. When you're done with your changes, you
can use the repositories in the workspace and know which ones were modified to
simplify the process of getting the changes merged in together. Additionally,
git metadata is shared between all projects. You can stash, pop, and pull
changes in from the same repository in other workspaces thanks to the power of
git-worktrees.")
(license license:expat)))
(define-public emacs-tree-inspector
(let ((commit "bbb8d2dfe84fbf857fcc1579de5a1324b09a877e"))
(package
@ -1730,6 +1759,27 @@ leveraging built-in functionality.")
purpose finder.")
(license license:gpl3+))))
(define-public emacs-pacfiles-mode
(package
(name "emacs-pacfiles-mode")
(version "1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/UndeadKernel/pacfiles-mode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1d61s846r9ncmyx97f44r8i3p1ikgi4bab8k7xk868lja96y2ij7"))))
(build-system emacs-build-system)
(home-page "https://github.com/UndeadKernel/pacfiles-mode")
(synopsis "ArchLinux's pacnew and pacsave merging tool")
(description
"This Emacs major mode helps manage @file{.pacnew} and @file{.pacsave}
files left by ArchLinux's pacman.")
(license license:expat)))
(define-public emacs-minions
(package
(name "emacs-minions")
@ -4547,6 +4597,30 @@ popup for completion candidates when using @code{emacs-corfu}. It can
be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
(license license:gpl3+)))
(define-public emacs-corfu-candidate-overlay
(package
(name "emacs-corfu-candidate-overlay")
(version "1.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://code.bsdgeek.org/adam/corfu-candidate-overlay")
(commit "265438b16155e899d82a869aebca16105665c998")))
(file-name (git-file-name name version))
(sha256
(base32
"0i36g2i7435pby32vcapv4ydmp6rqn0r51qm91wqyzan1f3n3qck"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-corfu))
(license license:gpl3)
(home-page "https://code.bsdgeek.org/adam/corfu-candidate-overlay")
(synopsis "Show first Corfu's completion candidate in an overlay while
typing")
(description
"Simple corfu as-you-type auto-suggestion candidate overlay with a visual
indication of whether there are many or exactly one candidate available.")))
(define-public emacs-cape
(package
(name "emacs-cape")
@ -5068,6 +5142,30 @@ This buffer is typically shown as a sidebar (Emacs vertically splits the
window).")
(license license:gpl3+))))
(define-public emacs-imenu-anywhere
(package
(name "emacs-imenu-anywhere")
(version "1.1.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vspinu/imenu-anywhere")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0lbwfhcl40ayxskvmsvdrg8p63qp086xpzw61bqk4b3fxndxl04h"))))
(build-system emacs-build-system)
(home-page "https://github.com/vspinu/imenu-anywhere")
(synopsis
"Imenu tag selection across buffers with the same mode/project")
(description
"This Emacs package provides navigation for imenu tags across all buffers
that satisfy a filtering criteria. Available criteria are all buffers with
the same major mode, same project buffers, and user-defined list of friendly
mode buffers.")
(license license:gpl3+)))
(define-public emacs-mmm-mode
(package
(name "emacs-mmm-mode")
@ -9895,18 +9993,21 @@ in @code{html-mode}.")
(license license:gpl3+)))
(define-public emacs-slime
;; Update together with sbcl-slime-swank.
(let ((commit "0cc2e736112a0bc2a048ef6efd11dd67e3fbf7ad")
(revision "0"))
(package
(name "emacs-slime")
(version "2.28")
(version (git-version "2.28" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/slime/slime")
(commit (string-append "v" version))))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1acmm4w1mv1qzpnkgc4wyiilbx8l0dk16sx8wv815ri5ks289rll"))))
(base32 "0iq9r4007rrnabj290y79i926x2m4j20j6b0x701pkywz926sn02"))))
(build-system emacs-build-system)
(arguments
(list
@ -9956,7 +10057,7 @@ an Emacs minor mode that complements the standard @command{lisp-mode}.
While lisp-mode supports editing Lisp source files, @command{slime-mode}
adds support for interacting with a running Common Lisp process
for compilation, debugging, documentation lookup, and so on.")
(license (list license:gpl2+ license:public-domain))))
(license (list license:gpl2+ license:public-domain)))))
(define-public emacs-popup
(package
@ -13016,7 +13117,7 @@ allowing unprefixed keys to insert their respective characters as expected.")
(define-public emacs-clojure-mode
(package
(name "emacs-clojure-mode")
(version "5.17.0")
(version "5.18.0")
(source
(origin
(method git-fetch)
@ -13025,7 +13126,7 @@ allowing unprefixed keys to insert their respective characters as expected.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0knx3y53z0dn49xisa78bac55vhhkwxs2iw3jvalx41wfwvkirxc"))))
(base32 "0g4x587fpzcj9y59k8sb1g7c6yvga9gjs8ximpmar7d8jq2cv5qa"))))
(build-system emacs-build-system)
(native-inputs
(list emacs-buttercup emacs-dash emacs-paredit emacs-s))
@ -13068,7 +13169,7 @@ Clojure projects from templates.")
(define-public emacs-clj-refactor
(package
(name "emacs-clj-refactor")
(version "3.9.4")
(version "3.10.0")
(source
(origin
(method git-fetch)
@ -13077,7 +13178,7 @@ Clojure projects from templates.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1j9pkkpnbvyl9p45dycngdiq2kyj6bmyb709pdxj3nar2d8ryl1h"))))
(base32 "100ngpgvff0xvw1h5krvh40sa3ympl241imwskcv62yk29m9z411"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-cider
@ -13484,30 +13585,44 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
(license license:gpl3+))))
(define-public emacs-julia-mode
;; Last release was in March 2020.
(let ((commit "7a8c868e0d3e51ba4a2c621ee22ca9599e0e4bbb")
(revision "0"))
(package
(name "emacs-julia-mode")
(version "0.4")
(version (git-version "0.4" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaEditorSupport/julia-emacs")
(commit version)))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1w131jb9mhvyjxa0p93iwfhzidgbcs6b8i6jg79yisqb9wchik99"))))
"0xwd4kq69ray6bk8hwjxnqf7myc3mn36chc2l9jn7a0x1f8x6k10"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("emacs" "--batch"
(list
#:tests? #t
#:test-command #~(list "emacs" "--batch"
"-l" "julia-mode-tests.el"
"-f" "ert-run-tests-batch-and-exit")))
"-f" "ert-run-tests-batch-and-exit")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'fix-test
(lambda _
(substitute* "julia-mode-tests.el"
;; The test started failing with Emacs 29; see
;; <https://github.com/JuliaEditorSupport/julia-emacs/issues/199>
;; and discrepancy reported <https://issues.guix.gnu.org/66763>.
(("julia--test-end-of-defun-nested-2.*" all)
(string-append all " :expected-result :failed\n"))))))))
(home-page "https://github.com/JuliaEditorSupport/julia-emacs")
(synopsis "Major mode for Julia")
(description "This Emacs package provides a mode for the Julia
programming language.")
(license license:expat)))
(license license:expat))))
(define-public emacs-julia-repl
(package
@ -15219,7 +15334,7 @@ implementation.")
(define-public emacs-cider
(package
(name "emacs-cider")
(version "1.7.0")
(version "1.9.0")
(source
(origin
(method git-fetch)
@ -15228,10 +15343,11 @@ implementation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jqjgygdvny1vhjbx7k0l492fhamwndsjcbb2mccwp9j47k4qar9"))))
(base32 "0sjscbi3qgwn3wcpq5lz7k4gam69h0svh8wbhxcbskr9ys1rmysp"))))
(build-system emacs-build-system)
(arguments
'(#:exclude ;don't exclude 'cider-test.el'
'(#:include (cons* "^lein\\.sh$" "^clojure\\.sh$" %default-include)
#:exclude ;don't exclude 'cider-test.el'
'("^\\.dir-locals\\.el$" "^test/")
#:phases
;; XXX: file "test/cider-tests.el" contains a bogus "/bin/command"
@ -16398,8 +16514,6 @@ programming and reproducible research.")
(add-after 'unpack 'enter-source-directory
(lambda _
(chdir "lisp"))))))
(native-inputs
(list emacs-cider))
(propagated-inputs
(list emacs-org))
(home-page "https://git.sr.ht/~bzg/org-contrib")
@ -18858,7 +18972,7 @@ It should enable you to implement low-level X11 applications.")
(define-public emacs-exwm
(package
(name "emacs-exwm")
(version "0.27")
(version "0.28")
(synopsis "Emacs X window manager")
(source
(origin
@ -18866,7 +18980,7 @@ It should enable you to implement low-level X11 applications.")
(uri (string-append "https://elpa.gnu.org/packages/"
"exwm-" version ".tar"))
(sha256
(base32 "094k33clmxhnab0wniyrs48sdz28kna2g6fmkhsd7n20nmhhc4sn"))))
(base32 "00h5awqazk807zxvb02a9dp8gd5ifi3y1kcwmr1czk6kdmkjx32l"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-xelb))
@ -28172,6 +28286,27 @@ editors to read the file format and adhere to defined styles. EditorConfig
files are easily readable and they work nicely with version control systems.")
(license license:gpl3+)))
(define-public emacs-nerd-icons
(package
(name "emacs-nerd-icons")
(version "0.1.0")
(home-page "https://github.com/rainstormstudio/nerd-icons.el")
(source
(origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0ggj6lm02m7nb5gxnqs2v2lkxsclml6kq176vam9qyg1fsm7yvdw"))))
(build-system emacs-build-system)
(arguments
(list #:include #~(cons "^data\\/" %default-include)))
(synopsis "Library for easily using nerd font icons inside Emacs")
(description "Nerd-icons an alternative to all-the-icons. It works on both
GUI and terminal, and requires a nerd font installed on your system.")
(license license:gpl3+)))
(define-public emacs-all-the-icons
(package
(name "emacs-all-the-icons")
@ -32854,7 +32989,7 @@ simple but powerful Org contents.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/nsavage/ox-rss")
(url "https://github.com/BenedictHW/ox-rss")
(commit commit)))
(file-name (git-file-name name version))
(sha256
@ -32918,7 +33053,7 @@ time.")
(define-public emacs-mastodon
(package
(name "emacs-mastodon")
(version "1.0.6")
(version "1.0.13")
(source
(origin
(method git-fetch)
@ -32927,7 +33062,7 @@ time.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1z5lmzxhindxa0f6qi6z361k9smqcz68alr6w6jbmwg279qmk8jj"))))
(base32 "143wmg9jhdi79y1gdi0y9xxpp8vyn7qbhvaysq1sf7g1h0jskxc2"))))
(build-system emacs-build-system)
(arguments
(list
@ -33980,7 +34115,7 @@ contributed packages to Telega.")))
(define-public emacs-doom-modeline
(package
(name "emacs-doom-modeline")
(version "3.4.0")
(version "4.0.1")
(source
(origin
(method git-fetch)
@ -33988,14 +34123,14 @@ contributed packages to Telega.")))
(url "https://github.com/seagle0128/doom-modeline")
(commit (string-append "v" version))))
(sha256
(base32 "1z5cqn33v7sjihs05ycz1yzi5wcg90yn3cy09qj9g5g8pjs8qdki"))
(base32 "0pwfmj01cqij84dig5qj86n7f4cva5mdjqahr0061byrlv9xrpzb"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
`(#:test-command '("ert-runner")))
(native-inputs (list emacs-ert-runner))
(propagated-inputs
(list emacs-all-the-icons emacs-compat emacs-dash emacs-shrink-path))
(list emacs-nerd-icons emacs-compat emacs-shrink-path))
(synopsis "Fancy and fast mode-line inspired by minimalism design")
(description "Doom modeline is a complete modeline for GNU Emacs inspired
by the Doom theme collection. This modeline features support for mode-specific
@ -35899,6 +36034,26 @@ should replace it. However, if you call them again immediately after, they
restore that occurrence of the placeholder and move to the next.")
(license license:gpl3+))))
(define-public emacs-pddl-mode
(package
(name "emacs-pddl-mode")
(version "0.100")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacsmirror/pddl-mode")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1zq5a0sv8am1c1gxky80dsi39gqsgnwbasv3nw4993r3ccz180r8"))))
(build-system emacs-build-system)
(home-page "https://github.com/emacsmirror/pddl-mode")
(synopsis "Emacs mode for PDDL files")
(description "This package provides a major mode for browsing and editing
PDDL files with syntax highlighting, templates, auto-completion, and more.")
(license license:gpl2+)))
(define-public emacs-plantuml-mode
(package
(name "emacs-plantuml-mode")

View File

@ -1431,7 +1431,7 @@ as RetroArch.")
(define-public retroarch
(package
(name "retroarch")
(version "1.15.0")
(version "1.16.0.3")
(source
(origin
(method git-fetch)
@ -1440,7 +1440,7 @@ as RetroArch.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ii31mc7wfd386rzyxqk8nmx5a13f9iqz47991z4zx0d8gqcchzg"))))
(base32 "1nvvd78hx1s73nif7g02pqms29b9v072mxnld0vmsh78236qngq5"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@ -1471,26 +1471,36 @@ as RetroArch.")
;; Non-free software are available through the core updater,
;; disable it. See <https://issues.guix.gnu.org/38360>.
"--disable-update_cores"
"--disable-builtinzlib")))))))
"--disable-builtinmbedtls"
"--disable-builtinbearssl"
"--disable-builtinzlib"
"--disable-builtinflac"
"--disable-builtinglslang")))))))
(inputs
`(("alsa-lib" ,alsa-lib)
("ffmpeg" ,ffmpeg-4)
("freetype" ,freetype)
("libxinerama" ,libxinerama)
("libxkbcommon" ,libxkbcommon)
("libxml2" ,libxml2)
("libxrandr" ,libxrandr)
("libxv" ,libxv)
("mesa" ,mesa)
("openal" ,openal)
("pulseaudio" ,pulseaudio)
("python" ,python)
("qtbase" ,qtbase-5)
("sdl" ,sdl2)
("udev" ,eudev)
("vulkan-loader" ,vulkan-loader)
("wayland" ,wayland)
("zlib" ,zlib)))
(list alsa-lib
eudev
ffmpeg
flac
freetype
glslang
libxinerama
libxkbcommon
libxml2
libxrandr
libxv
mbedtls-apache
mesa
openal
openssl
pulseaudio
python
qtbase-5
sdl2
spirv-headers
spirv-tools
vulkan-loader
wayland
zlib))
(native-inputs
(list pkg-config wayland-protocols which))
(native-search-paths

View File

@ -10,6 +10,7 @@
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -174,6 +175,8 @@ Linux-libre.")
(guix build gnu-build-system)
(guix build utils))
#:tests? #f ; no tests
#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
,(string-append "CC=" ,(cc-for-target)))
#:phases
(let ((subdirs '("assembler" "disassembler")))
(modify-phases %standard-phases
@ -181,24 +184,19 @@ Linux-libre.")
(add-before 'build 'patch-/bin/true
(lambda _
(substitute* (find-files "." "Makefile")
(("/bin/true") ":"))
#t))
(("/bin/true") ":"))))
(replace 'build
(lambda _
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(for-each (lambda (dir)
(invoke "make" "-C" dir "CC=gcc"))
subdirs)
#t))
(apply invoke "make" "-C" dir make-flags))
subdirs)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(for-each (lambda (dir)
(invoke "make" "-C" dir
(string-append "PREFIX=" out)
"install"))
subdirs)
#t)))))))
(apply invoke "make" "-C" dir "install" make-flags))
subdirs))))))))
(home-page
"https://bues.ch/cms/hacking/misc.html#linux_b43_driver_firmware_tools")
(synopsis "Collection of tools for the b43 wireless driver")
@ -397,6 +395,7 @@ broadband modem as found, for example, on PinePhone.")
#:test-target "tests"
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "STRIP=" #$(strip-for-target))
(string-append "DESTDIR=" #$output))
#:phases
#~(modify-phases %standard-phases

View File

@ -2055,7 +2055,7 @@ scripted in a Python-like language.")
(define-public godot
(package
(name "godot")
(version "4.1.1")
(version "4.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2064,7 +2064,7 @@ scripted in a Python-like language.")
(file-name (git-file-name name version))
(sha256
(base32
"1byy4zdsj8nq54rhmij7kl0mdh4zv3c056y6c7rjy17bqjq2n8fh"))
"1zm07rknpjkvyxpiscqsx5hi4gc5wi647jlhillxdf85b36s6q9j"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))

View File

@ -1071,10 +1071,10 @@ want what you have.")
(license license:cc-by-sa3.0)))
(define-public cockatrice
(let ((release-date "2021-01-26"))
(let ((release-date "2023-09-14"))
(package
(name "cockatrice")
(version "2.8.0")
(version "2.9.0")
(source
(origin
(method git-fetch)
@ -1084,7 +1084,7 @@ want what you have.")
(file-name (git-file-name name version))
(sha256
(base32
"0q8ffcklb2b7hcqhy3d2f9kz9aw22pp04pc9y4sslyqmf17pwnz9"))
"1jhn6pprd3j8m312mm8nlb9hwcchg3qkks5rw0x7d22alk922dlv"))
(modules '((guix build utils)))
(snippet
;; Strip image URLs as they point towards non-free web services
@ -6926,7 +6926,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(define-public crawl
(package
(name "crawl")
(version "0.29.1")
(version "0.30.1")
(source
(origin
(method git-fetch)
@ -6935,7 +6935,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "17bl8hdv2z3mpdfmd5gnwg3r1p9dqjbisiql24pxs1d33qcw0h7x"))
(base32 "1rlp8z1n7ziv7aaa3fb4h4nnq24pfz1m23a99c1ra582fh0yx1pl"))
(patches (search-patches "crawl-upgrade-saves.patch"))))
(build-system gnu-build-system)
(inputs
@ -7324,7 +7324,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(define-public tome4
(package
(name "tome4")
(version "1.7.4")
(version "1.7.6")
(synopsis "Single-player, RPG roguelike game set in the world of Eyal")
(source
(origin
@ -7332,27 +7332,30 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(uri (string-append "https://te4.org/dl/t-engine/t-engine4-src-"
version ".tar.bz2"))
(sha256
(base32 "197jmd99l3w3sig32pvdlq9fcgdjjx7g9csy08kz174cyhrlyly3"))
(base32 "0338lirc4jbmq29449bw8c6src8b91yn9x14w2nxr31zh00fm7cq"))
(modules '((guix build utils)))))
(build-system gnu-build-system)
(native-inputs
(list unzip))
(inputs
`(("sdl-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))
("glu" ,glu)
("premake4" ,premake4)
("openal" ,openal)
("vorbis" ,libvorbis)
("luajit" ,luajit)))
(list glu
libvorbis
luajit
openal
premake4
(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))
(arguments
`(#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(list
#:tests? #false ;no test
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"config=release")
;; XXX: Building in parallel occasionally causes this build failure:
;; ../src/luajit2/src/host/buildvm.c:73:10: fatal error: buildvm_arch.h:
;; No such file or directory
#:parallel-build? #f
#:phases (modify-phases %standard-phases
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(replace 'configure
(lambda _
@ -7363,7 +7366,6 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(string-append
(search-input-directory inputs "/include/SDL2")
":" (or (getenv "CPATH") "")))))
(delete 'check)
;; premake doesn't provide install target
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
@ -7374,17 +7376,17 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(documents (string-append out "/share/doc"))
(pixmaps (string-append out "/share/pixmaps"))
(icon "te4-icon.png")
(data (string-append out "/share/" ,name))
(data (string-append out "/share/" #$name))
(applications (string-append
out "/share/applications"))
(unzip (string-append
(assoc-ref inputs "unzip") "/bin/unzip"))
(wrapper (string-append bin "/" ,name)))
(wrapper (string-append bin "/" #$name)))
;; icon
(mkdir-p pixmaps)
(invoke unzip "-j"
(string-append
"game/engines/te4-" ,version ".teae")
"game/engines/te4-" #$version ".teae")
(string-append
"data/gfx/" icon) "-d" pixmaps)
;; game executable
@ -7416,10 +7418,10 @@ Crowther & Woods, its original authors, in 1995. It has been known as
;; launcher
(mkdir-p applications)
(make-desktop-entry-file
(string-append applications "/" ,name ".desktop")
(string-append applications "/" #$name ".desktop")
#:name "ToME4"
#:comment ,synopsis
#:exec ,name
#:comment #$synopsis
#:exec #$name
#:icon icon
#:categories '("Game" "RolePlaying"))))))))
(home-page "https://te4.org")
@ -7427,9 +7429,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
combat and advanced character building. Play as one of many unique races and
classes in the lore-filled world of Eyal, exploring random dungeons, facing
challenging battles, and developing characters with your own tailored mix of
abilities and powers. With a modern graphical and customisable interface,
intuitive mouse control, streamlined mechanics and deep, challenging combat,
Tales of MajEyal offers engaging roguelike gameplay for the 21st century.")
abilities and powers.")
(license license:gpl3+)))
(define-public quakespasm
@ -10366,6 +10366,55 @@ ChessX.")
(home-page "https://stockfishchess.org/")
(license license:gpl3+))))
(define-public moonfish
(let ((commit "4f8829009e8c26e6a878261e0bc4c7e7617ef6b6")
(revision "1"))
(package
(name "moonfish")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~zamfofex/moonfish")
(commit commit)))
(sha256
(base32
"1ksg42x9cyn3pbfryy9raqb355k47cqcisascpy157c3cgdr2z60"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:tests? #f ;no check target
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ;no configure script
(replace 'install ;no 'install' target
(lambda _
(let* ((out-bin (string-append #$output "/bin"))
(tools-bin (string-append #$output:tools "/bin"))
(tool (string-append tools-bin "/moonfish-")))
(mkdir-p out-bin)
(mkdir-p tools-bin)
(copy-file "moonfish"
(string-append out-bin "/moonfish"))
(copy-file "play"
(string-append tool "play"))
(copy-file "lichess"
(string-append tool "lichess"))
(copy-file "analyse"
(string-append tool "analyse"))))))))
(inputs (list bearssl cjson))
(outputs '("out" "tools"))
(home-page "https://git.sr.ht/~zamfofex/moonfish")
(synopsis "Simple chess engine written in C")
(description
"moonfish is a toy UCI chess engine made for fun. It is inspired by
sunfish, but is written in C rather than Python. It also has TUI tools for
using any UCI engine and also to connect UCI engines to Lichess.")
(license license:agpl3+))))
(define-public barrage
(package
(name "barrage")

View File

@ -706,17 +706,16 @@ It also includes runtime support libraries for these languages.")
(define-public gcc-10
(package
(inherit gcc-8)
(version "10.4.0")
(version "10.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
"1wg4xdizkksmwi66mvv2v4pk3ja8x64m7v9gzhykzd3wrmdpsaf9"))
"1h87lcfaga0ydsf4pkhwlnjr8mky5ix8npbv6iy3jvzlzm1ra415"))
(patches (search-patches "gcc-9-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"
"gcc-10-tree-sra-union-handling.patch"))
"gcc-5.0-libvtv-runpath.patch"))
(modules '((guix build utils)))
(snippet gcc-canadian-cross-objdump-snippet)))
(properties
@ -1059,7 +1058,6 @@ as the 'native-search-paths' field."
(package-outputs gcc)
(delete "lib" (package-outputs gcc))))
(native-search-paths search-paths)
(properties (alist-delete 'hidden? (package-properties gcc)))
(arguments
(substitute-keyword-arguments (package-arguments gcc)
((#:modules modules %gnu-build-system-modules)
@ -1079,7 +1077,9 @@ as the 'native-search-paths' field."
(for-each
delete-file
(find-files (string-append (assoc-ref outputs "out") "/bin")
".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|lto)(-.*)?$"))))))))))
".*(c\\+\\+|cpp|g\\+\\+|gcov|gcc|lto)(-.*)?$"))))))))
(properties `((upstream-name . "gcc")
,@(alist-delete 'hidden? (package-properties gcc))))))
(define %generic-search-paths
;; This is the language-neutral search path for GCC. Entries in $CPATH are
@ -1224,15 +1224,22 @@ provides the GNU compiler for the Go programming language."))
;; a cyclic dependency. <http://debbugs.gnu.org/18101>
#:separate-lib-output? #f))
;; Provides go-1.14.6
(define-public gccgo-10
(make-gccgo gcc-10))
;; Provides go-1.16.5
(define-public gccgo-11
(make-gccgo gcc-11))
;; Provides go-1.18
(define-public gccgo-12
(make-gccgo gcc-12))
;; Provides go-1.18
(define-public gccgo-13
(make-gccgo gcc-13))
(define %objc-search-paths
(list (search-path-specification
(variable "OBJC_INCLUDE_PATH")

View File

@ -547,9 +547,9 @@ variable defined below. It requires guile-json to be installed."
;; XXXX: Workaround 'snippet' limitations.
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define %icecat-base-version "115.3.1")
(define %icecat-base-version "115.4.0")
(define %icecat-version (string-append %icecat-base-version "-guix0-preview1"))
(define %icecat-build-id "20230928000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20231024000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@ -569,12 +569,12 @@ variable defined below. It requires guile-json to be installed."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"0lqymabkhxpdhmgz81if8za1hdakh8nlm4cmsir4y1fa95p2bnkx"))))
"0ndf8b6qj0f178k5yq9s9mjgj9csb62f0igy74dzj28vlgrxn7y3"))))
;; The upstream-icecat-base-version may be older than the
;; %icecat-base-version.
(upstream-icecat-base-version "115.3.1")
(gnuzilla-commit "1b0f0ba84716023657dd7dff72cb408e35380a60")
(upstream-icecat-base-version "115.4.0")
(gnuzilla-commit "5b2ce0c4cefc73f996f260edfac368ecc3d86b24")
(gnuzilla-source
(origin
(method git-fetch)
@ -586,7 +586,7 @@ variable defined below. It requires guile-json to be installed."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"0kvdyg2kzjabldqa10any5ad8r06pcybamvfnkn7nwcvd86g8s0v"))))
"13a0rv6b2vcf2mv7bfbb0rlx08pi0bz29dig0xrfdy3m1p39apla"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.

View File

@ -10826,7 +10826,7 @@ additions.")
(define-public go-github-com-hjson-hjson-go
(package
(name "go-github-com-hjson-hjson-go")
(version "3.1.0")
(version "4.3.1")
(source
(origin
(method git-fetch)
@ -10836,7 +10836,7 @@ additions.")
(file-name (git-file-name name version))
(sha256
(base32
"1dfdiahimg6z9idg8jiqxwnlwjnmasbjccx8gnag49cz4yfqskaz"))))
"138vmbnrwzxf64cia27k407clrydvs2jx927dlv6ziydiqyvy7m3"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/hjson/hjson-go"))

View File

@ -46,6 +46,7 @@
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2023 Andrew Tropin <andrew@trop.in>
;;;
;;; This file is part of GNU Guix.
;;;
@ -119,6 +120,7 @@
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages tree-sitter)
#:use-module (gnu packages version-control)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
@ -728,7 +730,7 @@ you send to a FIFO file.")
(define-public guile-dsv
(package
(name "guile-dsv")
(version "0.7.0")
(version "0.7.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -737,7 +739,7 @@ you send to a FIFO file.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0shrzmbh6x3n3xzpcijkxk3f73z6m1i50zgc2dnnccwf4j1c78p2"))))
"18v8snh45ibh13mvihhajs226yflxpl6v09wqndyfj1da8cdmkzk"))))
(build-system gnu-build-system)
(native-inputs (list autoconf
automake
@ -757,6 +759,7 @@ you send to a FIFO file.")
#:imported-modules ((guix build guile-build-system)
,@%gnu-build-system-modules)
#:phases (modify-phases %standard-phases
(delete 'strip)
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -1401,8 +1404,8 @@ the Guile compiler tower to generate the DSL from AWS JSON specifications.")
(license license:gpl3+))))
(define-public guile-simple-zmq
(let ((commit "ff0b39aec9312517fb48681564e261bd000aaf63")
(revision "10"))
(let ((commit "d25d1865e3378d93c44e2b4f5246a70b078a489d")
(revision "11"))
(package
(name "guile-simple-zmq")
(version (git-version "0.0.0" revision commit))
@ -1414,7 +1417,7 @@ the Guile compiler tower to generate the DSL from AWS JSON specifications.")
(commit commit)))
(sha256
(base32
"0qfnljap1cxkfsydadarvhcw4p6cgayxzbhqr6r1y0as0m8250q3"))
"1aq1s0f0z5g6qsv9jqr0663qv4rwxd9j1pmg1g8v6rl09xb8g8lp"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@ -4587,6 +4590,52 @@ models and also supports a rich set of boolean query operators.")
according to Bitorrent BEP003.")
(license license:gpl3+)))
(define-public guile-ts
(package
(name "guile-ts")
(version "0.1.0")
(source (origin (method git-fetch)
(uri (git-reference
(url
"https://github.com/Z572/guile-ts")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0xmq2d3mv921m0g1hqw6bjzh4m622g2c7pal11ks7vjn0m8d4bxj"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags #~(list "GUILE_AUTO_COMPILE=0")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-extension-path
(lambda* (#:key outputs #:allow-other-keys)
(substitute*
(find-files "." ".*\\.scm")
(("\\(load-extension \"libguile_ts\" *\"(.*)\"\\)" _ o)
(string-append
(object->string
`(or (false-if-exception
(load-extension "libguile_ts" ,o))
(load-extension
,(string-append
#$output
"/lib/libguile_ts.so")
,o)))))))))))
(native-inputs
(list autoconf automake libtool texinfo pkg-config guile-3.0))
(inputs
(list guile-3.0 tree-sitter))
(native-search-paths
(list (search-path-specification
(variable "TREE_SITTER_GRAMMAR_PATH")
(files '("lib/tree-sitter")))))
(synopsis "Guile bindings to the Tree-sitter parsing library")
(description "This package provides Guile bindings to the Tree-sitter
parsing library.")
(home-page "https://github.com/Z572/guile-ts")
(license license:gpl3+)))
(define-public guile-irc
(let ((commit "7d08ce6fdcb87ac668c5d3bfd5584247805507bb")
(revision "1"))
@ -5292,7 +5341,7 @@ locations.")
(define-public guile-netlink
(package
(name "guile-netlink")
(version "1.2")
(version "1.2.1")
(source
(origin
(method git-fetch)
@ -5302,7 +5351,7 @@ locations.")
(file-name (git-file-name name version))
(sha256
(base32
"06ls830nrshzi2j532di5vdf03fp8cy1275ll4ms93x1hv2g8dk0"))))
"181drjshcz7pi5zwydwd702h7v8p1nh50q6slsw9q372k2bzyl4a"))))
(build-system gnu-build-system)
(inputs
(list guile-3.0))

View File

@ -219,10 +219,10 @@ powerful and simple.")
written in Go.")
(license license:expat)))
(define-public go-ipfs
(define-public kubo
(package
(name "go-ipfs")
(version "0.14.0")
(name "kubo")
(version "0.15.0")
(source
(origin
(method url-fetch/tarbomb)
@ -230,7 +230,7 @@ written in Go.")
"https://dist.ipfs.io/kubo/v" version
"/kubo-source.tar.gz"))
(sha256
(base32 "0n7nfiymh6knj3h672gdrb24g9vz9j15x3vn6aml2nk7pv9dsy7p"))
(base32 "0ss5k8xnzn9qk977dni5ja89yygcysdw7r3mdk67cac2dpa9hhqs"))
(file-name (string-append name "-" version "-source"))
(modules '((guix build utils)))
(snippet '(for-each delete-file-recursively
@ -368,3 +368,6 @@ like a single bittorrent swarm, exchanging git objects. IPFS provides an
interface as simple as the HTTP web, but with permanence built in. You can
also mount the world at @code{/ipfs}.")
(license license:expat)))
(define-public go-ipfs
(deprecated-package "go-ipfs" kubo))

View File

@ -13450,7 +13450,7 @@ network protocols, and core version control algorithms.")
(define-public abcl
(package
(name "abcl")
(version "1.9.0")
(version "1.9.2")
(source
(origin
(method url-fetch)
@ -13458,7 +13458,7 @@ network protocols, and core version control algorithms.")
version "/abcl-src-" version ".tar.gz"))
(sha256
(base32
"0scqq5c7201xhp0g6i4y3m2nrk6l5any1nisiscbsd48ya25qax1"))
"0f0xpi47pfgz36y15krggshk2qdd2zxdkg5xwnamvng2hn7lnbsf"))
(patches
(search-patches
"abcl-fix-build-xml.patch"))))

View File

@ -410,6 +410,54 @@ endpoints—to Jupyter web applications.")
are interactive HTML widgets for Jupyter notebooks and the IPython kernel.")
(license license:bsd-3)))
(define-public python-jupyterlite-core
(package
(name "python-jupyterlite-core")
(version "0.1.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jupyterlite_core" version))
(sha256
(base32 "18ysrqlsh7a31sknfnng419r7wpx9nfj59lxxd6zl1kcj6wazh34"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-doit python-importlib-metadata
python-jupyter-core))
(native-inputs (list python-ansi2html
python-hatchling
python-pytest-console-scripts
python-pytest-cov
python-pytest-xdist
python-tornado-6))
(home-page "https://github.com/jupyterlite/jupyterlite")
(synopsis "Core functionality for building JupyterLite websites")
(description "The jupyterlite-core package provides the core functionality
for building JupyterLite websites, the jupyter-lite CLI, and extension points
for authoring custom addons.")
(license license:bsd-3)))
(define-public python-jupyterlite-sphinx
(package
(name "python-jupyterlite-sphinx")
(version "0.9.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jupyterlite_sphinx" version))
(sha256
(base32 "05h7zrvsx0xzxlddsqfz1fxdgld66yhn6nxfp4jz20wbx6csrr4v"))))
(build-system pyproject-build-system)
(arguments (list #:tests? #false)) ;there are none
(propagated-inputs (list python-docutils python-jupyter-server
python-jupyterlab-server python-jupyterlite-core
python-sphinx))
(native-inputs (list python-hatchling))
(home-page "https://github.com/jupyterlite/jupyterlite")
(synopsis "Sphinx extension for deploying JupyterLite")
(description "This package provides a Sphinx extension for deploying
@code{JupyterLite}.")
(license license:bsd-3)))
(define-public python-jupyter-server-mathjax
(package
(name "python-jupyter-server-mathjax")

View File

@ -493,17 +493,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-6.5-version "6.5.7")
(define-public linux-libre-6.5-version "6.5.9")
(define-public linux-libre-6.5-gnu-revision "gnu")
(define deblob-scripts-6.5
(linux-libre-deblob-scripts
linux-libre-6.5-version
linux-libre-6.5-gnu-revision
(base32 "01mm6v67bcrhgm97axsw46x0iix9im7hmlb765f3bkjhwklpxdy7")
(base32 "132ps1jprxw6kqyscsar38fn7s12kg416mfhz7w702f4ajgq1ndi")))
(base32 "066z5lw5vrfayhv23hpfcm6fh6b7zmn2v13kfv1g3z3jl1wblhfh")))
(define-public linux-libre-6.5-pristine-source
(let ((version linux-libre-6.5-version)
(hash (base32 "135v3y2vgc83dca4xi7q52wqi4dkfal74k1y73jwzj85h12fl28d")))
(hash (base32 "1mcg0lpxr832mwyqlbn0s5gssvsk2nn2xhq9w0qbymizf5j2yrn6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.5)))
@ -511,7 +511,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.1-version "6.1.58")
(define-public linux-libre-6.1-version "6.1.60")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@ -521,12 +521,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1c73516nbhnz0cxjz38b5794dxygb8sznv9idiibw7ablmjbhd11")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "1b913ina3rcw4dx2s7n37kynv8rqsmrqa2ialsib6h7nsb9px66f")))
(hash (base32 "02pvymr1dgd36mp7yikxqqv0sfrpwi1grnvxvx6jbbx6wmx0wljq")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.135")
(define-public linux-libre-5.15-version "5.15.137")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@ -536,12 +536,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1c3lm0j401lv2lk39dmr4mlf5ic173snm7cc0cckl6czyvxr5ysy")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "0w3i8jvzqvfnlarcvg89k1144ln96fszv16lzrn16zr3kri5x0ql")))
(hash (base32 "1xxjbxldrhmnh2q6rykpxyfbj8xqgl82q30n8sfavrzr14bb4jcp")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.198")
(define-public linux-libre-5.10-version "5.10.199")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@ -551,12 +551,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0nnp46mn32yk436swd2qh34igmzinfgkwvbzp3lqyy45f06hbc2j")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "01gsw96anw44nh8ii3zipp6vh61m1n8yf0bv2fzznr23k771y51b")))
(hash (base32 "1h944syk7n6c4j1djlx19n77alzwbxcdza77c9ykicgfynhpgsm0")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.258")
(define-public linux-libre-5.4-version "5.4.259")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@ -566,12 +566,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0gk2xav1ng565l1qsqlr8ja6m4j5g8rfj66vad1fmdd1lwaihw1r")))
(hash (base32 "195v4fidavzm637glj6580006mrcaygnbj4za874imb62bxf9rpz")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.296")
(define-public linux-libre-4.19-version "4.19.297")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@ -581,12 +581,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1bk051canr4fb00j6x9ff2wam2f20whw4h4z767x2cn2kmv6cqb3")))
(hash (base32 "0c9xxqgv2i36hrr06dwz7f3idc04xpv0a5pxg08xdh03cnyf12cx")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.327")
(define-public linux-libre-4.14-version "4.14.328")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@ -596,7 +596,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "0nharfyxlr17yan86zrhlbq7idm0g3zvvvmy2zbw7m9dhgc8bw5z")))
(hash (base32 "1igcpvnhwwrczfdsafmszvi0456k7f6j4cgpfw6v6afw09p95d8x")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
@ -3673,7 +3673,7 @@ processes currently causing I/O.")
(define-public iotop
(package
(name "iotop")
(version "1.23")
(version "1.25")
(source
(origin
(method git-fetch)
@ -3682,7 +3682,7 @@ processes currently causing I/O.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1i5m2w0jzxzxn2xvragygidw35p87skjs6bfjakrz6bd96sxhd70"))))
(base32 "0h8fb7zzqszdrybk9zzzqqkiz78i8z2zr0f2nj84jja6visdd2v4"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags

View File

@ -3610,18 +3610,20 @@ writing code that contains string literals that contain code themselves.")
(sbcl-package->ecl-package sbcl-pythonic-string-reader))
(define-public sbcl-slime-swank
(let ((commit "0cc2e736112a0bc2a048ef6efd11dd67e3fbf7ad")
(revision "0"))
(package
(name "sbcl-slime-swank")
(version "2.28")
(version (git-version "2.28" revision commit))
(source
(origin
(file-name (git-file-name "cl-slime-swank" version))
(method git-fetch)
(uri (git-reference
(url "https://github.com/slime/slime/")
(commit (string-append "v" version))))
(commit commit)))
(sha256
(base32 "1acmm4w1mv1qzpnkgc4wyiilbx8l0dk16sx8wv815ri5ks289rll"))
(base32 "0iq9r4007rrnabj290y79i926x2m4j20j6b0x701pkywz926sn02"))
(modules '((guix build utils)))
(snippet
;; The doc folder drags `gawk' into the closure. Doc is already
@ -3631,55 +3633,28 @@ writing code that contains string literals that contain code themselves.")
#t))))
(build-system asdf-build-system/sbcl)
(arguments
'(#:asd-systems '("swank")
'(#:asd-systems '("swank" "swank/exts")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-fasl-directory
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lib-dir (string-append out "/lib/common-lisp/"
(%lisp-type)
"/slime-swank/")))
;; Use the ASDF registry instead of Swank's default that places
;; the .fasl files in ~/.slime.
(substitute* "swank.asd"
(("\\(load \\(asdf::component-pathname f\\)\\)" all)
(string-append
all "\n"
"(setf (symbol-value"
"(read-from-string \"swank-loader::*fasl-directory*\"))"
"\"" lib-dir "\")")))
(substitute* "swank-loader.lisp"
(("\\(probe-file fasl\\)" all)
;; Do not try to delete Guix store files.
(string-append
all "\n"
" (not (equal (subseq (pathname-directory fasl) 1 3)"
" '(\"gnu\" \"store\"))) ; XXX: GUIX PATCH")))))))))
" '(\"gnu\" \"store\"))) ; XXX: GUIX PATCH"))))))))
(home-page "https://github.com/slime/slime")
(synopsis "Common Lisp Swank server")
(description
"This is only useful if you want to start a Swank server in a Lisp
processes that doesn't run under Emacs. Lisp processes created by
@command{M-x slime} automatically start the server.")
(license (list license:gpl2+ license:public-domain))))
(license (list license:gpl2+ license:public-domain)))))
(define-public cl-slime-swank
(let ((pkg (sbcl-package->cl-source-package sbcl-slime-swank)))
(package
(inherit pkg)
(arguments
(substitute-keyword-arguments (package-arguments pkg)
((#:phases phases)
`(modify-phases ,phases
(add-after 'install 'revert-asd-patch
;; We do not want to include the Guix patch in the cl- package
;; since it would include the sbcl- package in the closure.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(source-path (string-append out "/share/common-lisp/source/")))
(substitute* (string-append source-path "/cl-slime-swank/swank.asd")
((".*fasl-directory.*") ""))))))))))))
(sbcl-package->cl-source-package sbcl-slime-swank))
(define-public ecl-slime-swank
(sbcl-package->ecl-package sbcl-slime-swank))

View File

@ -1439,7 +1439,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.")
(define-public eisl
(package
(name "eisl")
(version "3.00")
(version "3.50")
(source
(origin
(method git-fetch)
@ -1448,7 +1448,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0nppbzfdx4cjy72b4n0yk177i7063a0nhsrs9b1y45y4avbrbl00"))))
(base32 "18alxwpvkcjfm63bc5kp6nn8351fl0p0ccxc8j9a7nb3fmg4fvyb"))))
(build-system gnu-build-system)
(inputs
(list bash-minimal freeglut gdbm libiconv ncurses tcl tk))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com>
;;; Copyright © 2016, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2018, 2019, 2020, 2021, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 20182022 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@ -1970,7 +1970,8 @@ requirements according to version 1.1 of the OpenCL specification.")
(build-system python-build-system)
(outputs '("out"))
(arguments
'(#:phases (modify-phases %standard-phases
(list
#:phases #~(modify-phases %standard-phases
(add-before 'build 'change-directory
(lambda _
(chdir "bindings/python")))
@ -1980,8 +1981,9 @@ requirements according to version 1.1 of the OpenCL specification.")
;; built and installed.
(with-output-to-file "setup.py"
(lambda ()
(display "from setuptools import setup
setup(name=\"clang\", packages=[\"clang\"])\n")))))
(format #true "from setuptools import setup
setup(name=\"clang\", version=\"~a\", packages=[\"clang\"])\n"
#$(package-version this-package))))))
(add-before 'build 'set-libclang-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Record the absolute file name of libclang.so.

View File

@ -151,6 +151,42 @@ representations and sentence classification.")
(inputs (list fasttext))
(native-inputs (list pybind11))))
(define-public python-funsor
(package
(name "python-funsor")
(version "0.4.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "funsor" version))
(sha256
(base32 "0cgysij0dix0fikyz2x4f8jvaskm5s5a04s07chzaz2dw1fpxdq8"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-makefun python-multipledispatch
python-numpy python-opt-einsum
python-typing-extensions))
(native-inputs (list python-black
python-flake8
python-isort
python-nbsphinx
python-pandas
python-pillow
python-pyro-api
python-pytest
python-pytest-xdist
python-requests
python-scipy
python-sphinx
python-sphinx-gallery
python-sphinx-rtd-theme
python-torchvision))
(home-page "https://github.com/pyro-ppl/funsor")
(synopsis "Tensor-like library for functions and distributions")
(description
"This package provides a tensor-like library for functions and
distributions.")
(license license:asl2.0)))
(define-public fann
;; The last release is >100 commits behind, so we package from git.
(let ((commit "d71d54788bee56ba4cf7522801270152da5209d7"))
@ -260,6 +296,42 @@ classification.")
(list python))
(synopsis "Python bindings of libSVM")))
(define-public python-ml-collections
(package
(name "python-ml-collections")
(version "0.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ml_collections" version))
(sha256
(base32 "1k38psfzqsqnl99fl578bd07zdmvfkja61r3sgjs2fj3xircrvrz"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; TODO: we can't seem to run the config_flags tests, because
;; the installed Python files conflict with those from the
;; source directory, resulting in constants to be defined more
;; than once.
(invoke "pytest" "ml_collections/config_dict/tests"
;; This one fails because we're testing the __main__
;; class, not config_dict_test.
"-k" "not testJSONConversionBestEffort")))))))
(propagated-inputs
(list python-absl-py python-contextlib2 python-pyyaml python-six))
(native-inputs (list python-mock python-pytest))
(home-page "https://github.com/google/ml_collections")
(synopsis "Python collections designed for Machine Learning usecases")
(description
"ML Collections is a library of Python collections designed for Machine
Learning usecases.")
(license license:asl2.0)))
(define-public ghmm
;; The latest release candidate is several years and a couple of fixes have
;; been published since. This is why we download the sources from the SVN
@ -1672,7 +1744,7 @@ for k-neighbor-graph construction and approximate nearest neighbor search.")
(define-public python-opentsne
(package
(name "python-opentsne")
(version "0.7.1")
(version "1.0.0")
(source
(origin
(method git-fetch) ; no tests in PyPI release
@ -1681,7 +1753,7 @@ for k-neighbor-graph construction and approximate nearest neighbor search.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12wp98mh67v6v683yi7wbv8zhpafrfz21z349bww4wgi2q7bl3il"))))
(base32 "05qzpq1zjs42bl0z8girfwcj3nfxs1a99c5525vp3589sglk351g"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -2030,13 +2102,13 @@ discrete, and conditional dimensions.")
(define-public python-deepxde
(package
(name "python-deepxde")
(version "1.9.3")
(version "1.10.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "DeepXDE" version))
(sha256
(base32
"1zw2gqssc0s3maf4gdjckxmzx1d3036hbp1iir26kd08hxj93vzs"))))
"0fdxrjrm7l19yx6n8vaklxlhwzx0bw9n08vp8idikzdifybz5gij"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f ; there are no tests

View File

@ -118,6 +118,7 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages language)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
@ -1837,14 +1838,14 @@ addons which can add many functionalities to the base client.")
(define-public msmtp
(package
(name "msmtp")
(version "1.8.24")
(version "1.8.25")
(source
(origin
(method url-fetch)
(uri (string-append "https://marlam.de/msmtp/releases"
"/msmtp-" version ".tar.xz"))
(sha256
(base32 "0nda218iz72pvh6v10s2qlihp1mdxzir6yb4hqdxc5xbmaql8rmx"))))
(base32 "0f6pa8kdlfingw6yf61dshnxgygx5v6ykcmnn3h6zllpnfxivzid"))))
(build-system gnu-build-system)
(inputs
(list libsecret gnutls zlib gsasl))
@ -3183,26 +3184,32 @@ from the Cyrus IMAP project.")
(define-public opensmtpd
(package
(name "opensmtpd")
(version "7.3.0p2")
(version "7.4.0p0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.opensmtpd.org/archives/"
"opensmtpd-" version ".tar.gz"))
(sha256
(base32 "0kjs5cxbh9lq51b8p20hxmiah61cfm8yzkcwpw9005cdp72zpkgw"))))
(base32 "0x731hi7i01mxaz07p1l5q3gwmyl422h404yc61ya4aa8g1wr0f1"))))
(build-system gnu-build-system)
(inputs
;; OpenSMTPd bundled (a subset of) libasr and libtls, which we use. See
;; https://www.mail-archive.com/misc@opensmtpd.org/msg05909.html for why.
(list bdb
libbsd ;https://github.com/OpenSMTPD/OpenSMTPD/issues/1233
libevent
libressl
linux-pam
zlib))
(native-inputs
(list bison groff)) ; for man pages
(list bison
groff ;for man pages
pkg-config))
(arguments
`(#:configure-flags
(list "--localstatedir=/var"
"--with-libbsd"
;; This is the default only if it exists at build time—it doesn't.
"--with-path-socket=/var/run"
"--with-path-CAfile=/etc/ssl/certs/ca-certificates.crt"

View File

@ -391,7 +391,7 @@ CommonMark C library libcmark. It closely follows the original API.")
(package
(inherit cmark)
(name "cmark-gfm")
(version "0.29.0.gfm.2")
(version "0.29.0.gfm.13")
(home-page "https://github.com/github/cmark-gfm")
(source (origin
(method git-fetch)
@ -399,16 +399,15 @@ CommonMark C library libcmark. It closely follows the original API.")
(file-name (git-file-name name version))
(sha256
(base32
"0vz6zs3m22k7jzfj4782lahciwfjlbi4m3qz5crsmssip3rwdy7h"))))
"1apy9i76rgs0bmgdlpjszv0fpqhlap2s12m68wvnsv8j3fsqc90y"))))
(arguments
'(#:test-target "test"
#:phases (modify-phases %standard-phases
(list #:test-target "test"
#:phases #~(modify-phases %standard-phases
(add-after 'install 'install-config
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(lambda _
;; XXX: cmark-gfm-core-extensions.h includes this file.
(install-file "src/config.h"
(string-append out "/include"))))))))
(string-append #$output "/include")))))))
(synopsis "GitHub flavored CommonMark")
(description
"This package is a fork of @code{cmark}, with GitHub-specific Markdown

View File

@ -1302,14 +1302,14 @@ in the terminal or with an external viewer.")
(define-public gnuplot
(package
(name "gnuplot")
(version "5.4.8")
(version "5.4.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gnuplot/gnuplot/"
version "/gnuplot-"
version ".tar.gz"))
(sha256
(base32 "1kzmj4yyxvlxqzqbrw6sx6dnvhj1zzqnciyb8ryzy6mdrb3pj4lk"))))
(base32 "15vabi30s4ln4vi82csx4nvfms3ik8704rk0prcm9h1xylhs0a53"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config (texlive-updmap.cfg)))
@ -1317,7 +1317,8 @@ in the terminal or with an external viewer.")
(list cairo gd lua pango readline))
(arguments
(list #:configure-flags
#~(list (string-append "--with-texdir=" #$output
#~(list "--with-qt=no"
(string-append "--with-texdir=" #$output
"/texmf-local/tex/latex/gnuplot"))
;; Plot on a dumb terminal during tests.
#:make-flags #~'("GNUTERM=dumb")))
@ -3180,6 +3181,54 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
supports the propositional fragment of PDDL2.2.")
(license license:gpl3+)))
(define-public popf
(package
(name "popf")
(version "0.0.15")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fmrico/popf")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1i1am3h6japn8fgapi5s5mnyrm31a05jkjhzgk48cd2n42c5060v"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-cmake
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." "CMakeLists\\.txt")
(("/usr/local/opt/flex/include")
(dirname (search-input-file inputs "include/FlexLexer.h"))))
(substitute* "CMakeLists.txt"
(("find_package\\(ament_cmake REQUIRED\\)") "")
(("ament_.*") "")
(("(RUNTIME DESTINATION) .*" all dst)
(string-append dst " libexec/${PROJECT_NAME}")))))
(add-after 'install 'symlink
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(for-each (lambda (link)
(symlink
(string-append out "/libexec/popf/" (cdr link))
(string-append out "/bin/" (car link))))
'(("popf" . "popf") ("VAL" . "validate")))))))))
(inputs (list cbc flex))
(native-inputs (list flex bison perl))
(home-page "https://github.com/fmrico/popf")
(synopsis "Forward-chaining temporal planner")
(description "This package contains an implementation of the @acronym{POPF,
Partial Order Planning Forwards} planner described in @cite{Forward-Chaining
Partial Order Planning}, that has been updated to compile with newer C++
compilers.")
(license license:gpl2+)))
(define-public gmsh
(package
(name "gmsh")
@ -8519,15 +8568,15 @@ management via the GIMPS project's Primenet server.")
(define-public nauty
(package
(name "nauty")
(version "2.7r4")
(version "2.8.6")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pallini.di.uniroma1.it/"
"nauty" (string-join (string-split version #\.) "") ".tar.gz"))
"nauty" (string-join (string-split version #\.) "_") ".tar.gz"))
(sha256
(base32 "19j8i10cgnqavphj0p7kq939azxckj9ayjpjr6sg76g2dxdch45q"))))
(base32 "1yp6wpz2drq0viww8px1vl4pw919nq3xgxrmrrdhycx8bhi9ikpj"))))
(build-system gnu-build-system)
(outputs '("out" "lib"))
(arguments
@ -8536,37 +8585,11 @@ management via the GIMPS project's Primenet server.")
#:configure-flags #~(list "--enable-generic") ;prevent -march-native
#:phases
#~(modify-phases %standard-phases
;; Default make target does not build all available
;; executables. Create them now.
(add-after 'build 'build-extra-programs
(add-after 'unpack 'normalize-pkgconfig-files-location
(lambda _
(for-each (lambda (target) (invoke "make" target))
'("blisstog" "bliss2dre" "checks6" "sumlines"))))
;; Upstream does not provide any install target.
(replace 'install
(lambda _
(let* ((bin (string-append #$output "/bin"))
(doc (string-append #$output "/share/doc/nauty/"))
(include (string-append #$output:lib "/include/nauty"))
(lib (string-append #$output:lib "/lib/nauty")))
(for-each (lambda (f) (install-file f bin))
'("addedgeg" "amtog" "assembleg" "biplabg" "blisstog"
"bliss2dre" "catg" "checks6" "complg" "converseg"
"copyg" "countg" "cubhamg" "deledgeg" "delptg"
"directg" "dreadnaut" "dretodot" "dretog" "genbg"
"genbgL" "geng" "genquarticg" "genrang" "genspecialg"
"gentourng" "gentreeg" "hamheuristic" "labelg"
"linegraphg" "listg" "multig" "newedgeg" "pickg"
"planarg" "ranlabg" "shortg" "showg" "subdivideg"
"sumlines" "twohamg" "underlyingg" "vcolg"
"watercluster2" "NRswitchg"))
(for-each (lambda (f) (install-file f include))
(find-files "." "\\.h$"))
(for-each (lambda (f) (install-file f lib))
(find-files "." "\\.a$"))
(for-each (lambda (f) (install-file f doc))
(append '("formats.txt" "README" "schreier.txt")
(find-files "." "\\.pdf$")))))))))
(substitute* "makefile.in"
(("^(pkgconfigexecdir=).*" _ prefix)
(string-append prefix "${libdir}/pkgconfig\n"))))))))
(inputs
(list gmp)) ;for sumlines
(home-page "https://pallini.di.uniroma1.it/")

View File

@ -622,7 +622,7 @@ mpdevil loads all tags and covers on demand.")
(define-public mympd
(package
(name "mympd")
(version "12.1.0")
(version "12.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -631,7 +631,7 @@ mpdevil loads all tags and covers on demand.")
(file-name (git-file-name name version))
(sha256
(base32
"0vmnfwkajgm1dmm34z0zk74j5wzlwcwk45aalfzc5pqlkcy6c4z5"))))
"1bal31xmdmq46bi0qmia07sqcwy695vcz5y5hxwkz71rcfywbsf9"))))
(build-system cmake-build-system)
(arguments
(list

View File

@ -40,7 +40,7 @@
;;; Copyright © 2021 Frank Pursel <frank.pursel@gmail.com>
;;; Copyright © 2021 Rovanion Luckey <rovanion.luckey@gmail.com>
;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Thomas Albers Raviola <thomas@thomaslabs.org>
@ -553,7 +553,7 @@ you create custom user interfaces for your MIDI hardware.")
(define-public strawberry
(package
(name "strawberry")
(version "1.0.18")
(version "1.0.21")
(source (origin
(method git-fetch)
(uri (git-reference
@ -562,7 +562,7 @@ you create custom user interfaces for your MIDI hardware.")
(file-name (git-file-name name version))
(sha256
(base32
"1knijckphq2jxrz8nmv4cb64zl1rz3bjyq5ipac09hnj2gvv5rmw"))
"1ibs7x7i1zz2r13wg238c5bhr1j4x8vl7hvjg01vdl5hfrh2gk1i"))
(modules '((guix build utils)
(ice-9 regex)))
(snippet
@ -619,6 +619,7 @@ you create custom user interfaces for your MIDI hardware.")
gst-plugins-good
icu4c
libcdio
libebur128
libmtp
protobuf
pulseaudio
@ -3780,7 +3781,7 @@ event-based scripts for scrobbling, notifications, etc.")
(define-public picard
(package
(name "picard")
(version "2.9.2")
(version "2.10")
(source (origin
(method url-fetch)
(uri (string-append
@ -3788,7 +3789,7 @@ event-based scripts for scrobbling, notifications, etc.")
"picard/picard-" version ".tar.gz"))
(sha256
(base32
"1gd4mypqcmpf8xnil1kqfv56znqg9pllvsj7fx8nq8jqaaw9cy6g"))))
"0f9rvif9m83jhal9n9x8kks17c0cgcipi1hjqmki7a296lz175ss"))))
(build-system python-build-system)
(arguments
(list
@ -6790,7 +6791,7 @@ plugin support, JACK support and chord assistance.")
(define-public dragonfly-reverb
(package
(name "dragonfly-reverb")
(version "3.2.5")
(version "3.2.10")
(source
(origin
(method git-fetch)
@ -6802,7 +6803,7 @@ plugin support, JACK support and chord assistance.")
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "14kia9wjs0nqfx4psnr3vf4x6hihkf80gb0mjzmdnnnk4cnrdydm"))))
(base32 "11i2k888m3zj4gz9si4y5mach8dwdq3yksbvjn1syrbwj99phwk1"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target

View File

@ -64,14 +64,14 @@
(define-public parallel
(package
(name "parallel")
(version "20230922")
(version "20231022")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
(base32 "0qz0pzy6icgdr6ak0gszzlxqm4s0w514ayyg2d8gcpayvlb78i0i"))
(base32 "1316ydijavz41078c99mbrbaddnshspbs8nsbm5qlyah317vkwlk"))
(snippet
'(begin
(use-modules (guix build utils))

View File

@ -678,7 +678,7 @@ any X11 window.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(requisites '("getopt" "git" "gpg" "qrencode" "sed"
"tree" "which" "wl-copy" "xclip"))
"tail" "tree" "which" "wl-copy" "xclip"))
(path (map (lambda (pkg)
(dirname (search-input-file
inputs (string-append "/bin/" pkg))))
@ -699,7 +699,8 @@ any X11 window.")
(separator #f) ;single entry
(files '("lib/password-store/extensions")))))
(inputs
(list dmenu
(list coreutils
dmenu
util-linux
git
gnupg

View File

@ -0,0 +1,24 @@
# Source: <https://bugs.launchpad.net/hplip/+bug/1922404>
--- a/config_usb_printer.py
+++ b/config_usb_printer.py
@@ -28,6 +28,7 @@
# Std Lib
import sys
import os
+import time
# Local
from base.g import *
@@ -181,9 +182,10 @@
# ******************************* RUNNING FIRMWARE DOWNLOAD TO DEVICE FOR SUPPORTED PRINTER'S
fw_download_req = mq.get('fw-download', False)
if fw_download_req:
- fw_cmd = "hp-firmware -y3 -s %s"%param
+ fw_cmd = "hp-firmware -n -y3 -s %s"%param
log.info(fw_cmd)
fw_sts, fw_out = utils.run(fw_cmd)
+ time.sleep(5)
if fw_sts == 0:
log.debug("Firmware downloaded to %s "%device_uri)
else:

View File

@ -0,0 +1,62 @@
Skip failing tests and an assertion. The skipped tests require network
connections.
--- a/tests/command_download.py
+++ b/tests/command_download.py
@@ -90,6 +90,7 @@ class DownloadTest(unittest.TestCase):
def snippet_call_download_failure(self, *args, **kwargs):
tests.command_download.snippet_call_download_failure(self, *args, **kwargs)
+ @unittest.skip("Disabled by Guix")
def test_call_download_atcoder_abc114_c(self):
self.snippet_call_download('https://atcoder.jp/contests/abc114/tasks/abc114_c', [
{
@@ -106,6 +107,7 @@ class DownloadTest(unittest.TestCase):
},
], type='json')
+ @unittest.skip("Disabled by Guix")
def test_call_download_atcoder_abc003_4(self):
self.snippet_call_download('https://atcoder.jp/contests/abc003/tasks/abc003_4', [
{
@@ -126,9 +128,11 @@ class DownloadTest(unittest.TestCase):
},
], type='json')
+ @unittest.skip("Disabled by Guix")
def test_call_download_invalid_url(self):
self.snippet_call_download_failure('http://abc001.contest.atcoder.jp/tasks/abc001_100')
+ @unittest.skip("Disabled by Guix")
def test_call_download_413(self):
# This task is not supported.
self.snippet_call_download_failure('https://chokudai001.contest.atcoder.jp/tasks/chokudai_001_a')
@@ -141,13 +145,16 @@ class DownloadInvalidTest(unittest.TestCase):
def snippet_call_download_twice(self, *args, **kwargs):
tests.command_download.snippet_call_download_twice(self, *args, **kwargs)
+ @unittest.skip("Disabled by Guix")
def test_call_download_invalid(self):
self.snippet_call_download_failure('https://not_exist_contest.jp/tasks/001_a')
+ @unittest.skip("Disabled by Guix")
def test_call_download_no_sample_found(self):
self.snippet_call_download_failure('https://atcoder.jp/contests/tenka1-2013-quala/tasks/tenka1_2013_qualA_a')
self.snippet_call_download_failure('https://open.kattis.com/problems/hello')
+ @unittest.skip("Disabled by Guix")
def test_call_download_twice(self):
self.snippet_call_download_twice('https://atcoder.jp/contests/abc114/tasks/abc114_c', 'https://atcoder.jp/contests/abc003/tasks/abc003_4', [
{
--- a/tests/command_test.py
+++ b/tests/command_test.py
@@ -1319,7 +1319,7 @@ class TestTest(unittest.TestCase):
timer = threading.Timer(1.0, send_keyboard_interrupt)
timer.start()
result = tests.utils.run_in_sandbox(args=['-v', 'test', '-c', tests.utils.python_c("import time; time.sleep(10) # {}".format(marker_for_callee)), 'test/{}-1.in'.format(marker_for_caller)], files=files)
- self.assertNotEqual(result['proc'].returncode, 0)
+ # self.assertNotEqual(result['proc'].returncode, 0)
# check there are no processes whose command-line arguments contains the marker word
for cmdline in pathlib.Path('/proc').glob('*/cmdline'):

View File

@ -0,0 +1,429 @@
Skip tests which requires network connections.
--- a/tests/dispatch.py
+++ b/tests/dispatch.py
@@ -4,6 +4,7 @@ from onlinejudge import dispatch, service
class DispatchAtCoderTest(unittest.TestCase):
+ @unittest.skip("Disabled by Guix")
def test_problem_from_url(self):
problem = dispatch.problem_from_url('https://atcoder.jp/contests/arc001/tasks/arc001_1')
self.assertIsInstance(problem, service.atcoder.AtCoderProblem)
--- a/tests/service_anarchygolf.py
+++ b/tests/service_anarchygolf.py
@@ -10,6 +10,7 @@ class AnarchyGolfServiceTest(unittest.TestCase):
self.assertIsInstance(AnarchyGolfService.from_url('http://golf.shinh.org/p.rb?Indent+Space+Alignment'), AnarchyGolfService)
+@unittest.skip("Disabled by Guix")
class AnarchyGolfProblemTest(unittest.TestCase):
def test_download_sample_cases(self):
self.assertEqual(AnarchyGolfProblem.from_url('http://golf.shinh.org/p.rb?last+non+zero').download_sample_cases(), [
--- a/tests/service_aoj.py
+++ b/tests/service_aoj.py
@@ -20,6 +20,7 @@ class AOJProblemTest(unittest.TestCase):
self.assertEqual(AOJProblem.from_url('https://onlinejudge.u-aizu.ac.jp/challenges/sources/JAG/Spring/2394?year=2011').problem_id, '2394')
self.assertIsNone(AOJProblem.from_url('https://onlinejudge.u-aizu.ac.jp/services/room.html#RitsCamp19Day2/problems/A'))
+ @unittest.skip("Disabled by Guix")
def test_download_sample_cases(self):
self.assertEqual(AOJProblem.from_url('http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DSL_1_A').download_sample_cases(), [
TestCase(name='sample-1', input_name='1', input_data=b'5 12\n0 1 4\n0 2 3\n1 1 2\n1 3 4\n1 1 4\n1 3 2\n0 1 3\n1 2 4\n1 3 0\n0 0 4\n1 0 2\n1 3 0\n', output_name='1', output_data=b'0\n0\n1\n1\n1\n0\n1\n1\n'),
@@ -39,6 +40,7 @@ class AOJProblemTest(unittest.TestCase):
TestCase(name='sample-1', input_name='1', input_data=b'4\n0 0\n10 0\n10 10\n0 10\n3\n0 0\n1 0\n0 1\n0\n', output_name='1', output_data=b'Case 1: 14.142135624\nCase 2: 1.41421356\n'),
])
+ @unittest.skip("Disabled by Guix")
def test_download_sample_cases_not_registered(self):
# see: https://github.com/kmyk/online-judge-tools/issues/207
self.assertEqual(AOJProblem.from_url('https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Regional/1399').download_sample_cases(), [
@@ -57,11 +59,13 @@ class AOJArenaProblemTest(unittest.TestCase):
self.assertEqual(AOJArenaProblem.from_url('https://onlinejudge.u-aizu.ac.jp/services/room.html#ACPC2018Day2/problems/d').alphabet, 'D')
self.assertIsNone(AOJArenaProblem.from_url('http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=DSL_1_A'))
+ @unittest.skip("Disabled by Guix")
def test_download_sample_cases(self):
self.assertEqual(AOJArenaProblem.from_url('https://onlinejudge.u-aizu.ac.jp/services/room.html#yupro/problems/A').download_sample_cases(), [
TestCase(name='sample-1', input_name='1', input_data=b'koukyoukoukokukikou\nabrakadabra\nacmicpc\njapaque\nhelloworld\n#\n', output_name='1', output_data=b'0\n2\n4\n5\n7\n'),
])
+ @unittest.skip("Disabled by Guix")
def test_download_sample_cases_not_registered(self):
# see: https://github.com/kmyk/online-judge-tools/issues/207
self.assertEqual(AOJArenaProblem.from_url('https://onlinejudge.u-aizu.ac.jp/services/room.html#RitsCamp18Day3/problems/B').download_sample_cases(), [
--- a/tests/service_atcoder.py
+++ b/tests/service_atcoder.py
@@ -15,6 +15,7 @@ class AtCoderSerivceTest(unittest.TestCase):
self.assertIsInstance(AtCoderService.from_url('https://atcoder.jp/contests/agc001/submissions/806160'), AtCoderService)
self.assertIsNone(AtCoderService.from_url('https://codeforces.com/'))
+ @unittest.skip("Disabled by Guix")
def test_iterate_contests(self):
contests = list(AtCoderService().iterate_contests())
contest_ids = [contest.contest_id for contest in contests]
@@ -37,6 +38,7 @@ class AtCoderContestTest(unittest.TestCase):
self.assertEqual(AtCoderContest.from_url('https://atcoder.jp/contests/agc030').contest_id, 'agc030')
self.assertIsNone(AtCoderContest.from_url('https://atcoder.jp/contests/'))
+ @unittest.skip("Disabled by Guix")
def test_load_details(self):
contest = AtCoderContest.from_url('https://atcoder.jp/contests/keyence2019')
self.assertEqual(contest.download_data(lang='en').name, 'KEYENCE Programming Contest 2019')
@@ -62,10 +64,12 @@ class AtCoderContestTest(unittest.TestCase):
self.assertEqual(data.rated_range, '-')
self.assertEqual(data.penalty.total_seconds(), 5 * 60)
+ @unittest.skip("Disabled by Guix")
def test_get_penalty_a_singular_form(self):
contest = AtCoderContest.from_url('https://atcoder.jp/contests/chokudai_S002')
self.assertEqual(contest.download_data().penalty.total_seconds(), 60) # Penalty is written as "1 minute", not "1 minutes"
+ @unittest.skip("Disabled by Guix")
def test_list_problems(self):
contest = AtCoderContest.from_url('https://atcoder.jp/contests/agc028')
problems = contest.list_problems()
@@ -79,6 +83,7 @@ class AtCoderContestTest(unittest.TestCase):
self.assertEqual(problems[6].download_data().alphabet, 'F2')
self.assertEqual(problems[6].problem_id, 'agc028_f2')
+ @unittest.skip("Disabled by Guix")
def test_list_problems_with_float_values(self):
"""
.. seealso:
@@ -92,6 +97,7 @@ class AtCoderContestTest(unittest.TestCase):
self.assertEqual(problems[1].download_data().time_limit_msec, 5252)
self.assertEqual(problems[1].download_data().memory_limit_byte, 512 * 1000 * 1000)
+ @unittest.skip("Disabled by Guix")
def test_list_problems_time_limit_is_less_than_msec(self):
contest = AtCoderContest.from_url('https://atcoder.jp/contests/joi2019ho')
problems = contest.list_problems()
@@ -101,12 +107,14 @@ class AtCoderContestTest(unittest.TestCase):
self.assertEqual(problems[3].download_data().time_limit_msec, 1000)
self.assertEqual(problems[4].download_data().time_limit_msec, 2000)
+ @unittest.skip("Disabled by Guix")
def test_list_problems_memory_limit_is_zero(self):
contest = AtCoderContest.from_url('https://atcoder.jp/contests/future-contest-2019-final-open')
problems = contest.list_problems()
self.assertEqual(problems[0].download_data().memory_limit_byte, 1024 * 1000 * 1000) # 1024 MB
self.assertEqual(problems[1].download_data().memory_limit_byte, 0) # 0 KB
+ @unittest.skip("Disabled by Guix")
def test_iterate_submissions(self):
contest = AtCoderContest.from_url('https://atcoder.jp/contests/code-festival-2014-exhibition-open')
submissions = list(contest.iterate_submissions())
@@ -114,6 +122,7 @@ class AtCoderContestTest(unittest.TestCase):
self.assertEqual(submissions[0].get_url(), 'https://atcoder.jp/contests/code-festival-2014-exhibition-open/submissions/272697')
self.assertEqual(submissions[1].get_url(), 'https://atcoder.jp/contests/code-festival-2014-exhibition-open/submissions/272700')
+ @unittest.skip("Disabled by Guix")
def test_get_contest_without_penalty(self):
contest = AtCoderContest.from_url('https://atcoder.jp/contests/otemae2019')
self.assertEqual(contest.download_data(lang='ja').name, '大手前プロコン 2019')
@@ -154,6 +163,7 @@ class AtCoderProblemTest(unittest.TestCase):
self.assertEqual(AtCoderProblem.from_url('https://kupc2014.contest.atcoder.jp/tasks/kupc2014_d'), AtCoderProblem.from_url('https://atcoder.jp/contests/kupc2014/tasks/kupc2014_d'))
self.assertNotEqual(AtCoderProblem.from_url('https://kupc2014.contest.atcoder.jp/tasks/kupc2014_d'), AtCoderProblem.from_url('https://atcoder.jp/contests/agc030/tasks/agc030_c'))
+ @unittest.skip("Disabled by Guix")
def test_load_details(self):
problem = AtCoderProblem.from_url('https://atcoder.jp/contests/abc118/tasks/abc118_a')
data = problem.download_data()
@@ -163,14 +173,17 @@ class AtCoderProblemTest(unittest.TestCase):
self.assertEqual(data.memory_limit_byte, 1024 * 1000 * 1000)
self.assertEqual(data.score, 100)
+ @unittest.skip("Disabled by Guix")
def test_get_alphabet(self):
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/agc028/tasks/agc028_f').download_data().alphabet, 'F')
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/agc028/tasks/agc028_f2').download_data().alphabet, 'F2')
+ @unittest.skip("Disabled by Guix")
def test_get_score(self):
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/future-contest-2018-final/tasks/future_contest_2018_final_a').download_data().score, 50000000)
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/abc001/tasks/abc001_4').download_data().score, None)
+ @unittest.skip("Disabled by Guix")
def test_get_score_latex(self):
"""
.. seealso::
@@ -179,13 +192,16 @@ class AtCoderProblemTest(unittest.TestCase):
self.assertIsNone(AtCoderProblem.from_url('https://atcoder.jp/contests/wupc2019/tasks/wupc2019_a').download_data().score)
+ @unittest.skip("Disabled by Guix")
def test_get_time_limit_is_less_than_msec(self):
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/joi2019ho/tasks/joi2019ho_c').download_data().time_limit_msec, 500)
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/future-contest-2019-qual/tasks/future_contest_2019_qual_b').download_data().time_limit_msec, 0)
+ @unittest.skip("Disabled by Guix")
def test_get_memory_limit_is_zero(self):
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/future-contest-2019-qual/tasks/future_contest_2019_qual_b').download_data().memory_limit_byte, 0)
+ @unittest.skip("Disabled by Guix")
def test_iterate_submissions(self):
problem = AtCoderProblem.from_url('https://atcoder.jp/contests/abc119/tasks/abc119_c')
submissions = problem.iterate_submissions()
@@ -204,6 +220,7 @@ class AtCoderSubmissionTest(unittest.TestCase):
class AtCoderProblemDataTest(unittest.TestCase):
+ @unittest.skip("Disabled by Guix")
def test_from_html_very_old(self):
url = 'https://atcoder.jp/contests/utpc2011/tasks/utpc2011_1'
resp = requests.get(url)
@@ -225,6 +242,7 @@ class AtCoderProblemDataTest(unittest.TestCase):
self.assertEqual(data.score, None)
self.assertEqual(data.time_limit_msec, 1 * 1000)
+ @unittest.skip("Disabled by Guix")
def test_from_html_old(self):
url = 'https://atcoder.jp/contests/abc003/tasks/abc003_4'
resp = requests.get(url)
@@ -247,6 +265,7 @@ class AtCoderProblemDataTest(unittest.TestCase):
self.assertEqual(data.score, None)
self.assertEqual(data.time_limit_msec, 2 * 1000)
+ @unittest.skip("Disabled by Guix")
def test_from_html_standard(self):
url = 'https://atcoder.jp/contests/abc114/tasks/abc114_d'
resp = requests.get(url)
@@ -268,6 +287,7 @@ class AtCoderProblemDataTest(unittest.TestCase):
self.assertEqual(data.score, 400)
self.assertEqual(data.time_limit_msec, 2 * 1000)
+ @unittest.skip("Disabled by Guix")
def test_from_html_with_empty_output(self):
url = 'https://atcoder.jp/contests/agc036/tasks/agc036_b'
resp = requests.get(url)
@@ -290,6 +310,7 @@ class AtCoderProblemDataTest(unittest.TestCase):
self.assertEqual(data.score, 700)
self.assertEqual(data.time_limit_msec, 2 * 1000)
+ @unittest.skip("Disabled by Guix")
def test_from_html_without_sample_cases(self):
url = 'https://atcoder.jp/contests/tenka1-2013-quala/tasks/tenka1_2013_qualA_a'
resp = requests.get(url)
@@ -307,6 +328,7 @@ class AtCoderProblemDataTest(unittest.TestCase):
self.assertEqual(data.score, None)
self.assertEqual(data.time_limit_msec, 2 * 1000)
+ @unittest.skip("Disabled by Guix")
def test_from_html_issue_414(self):
url = 'https://atcoder.jp/contests/fuka5/tasks/fuka_graphcut'
resp = requests.get(url)
@@ -399,6 +421,7 @@ class AtCoderProblemDataTest(unittest.TestCase):
self.assertEqual(data.score, None)
self.assertEqual(data.time_limit_msec, 5 * 1000)
+ @unittest.skip("Disabled by Guix")
def test_download_sample_cases_pre_without_prettyprint_insection(self):
# see: https://github.com/kmyk/online-judge-tools/issues/625
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/tdpc/tasks/tdpc_fibonacci').download_sample_cases(), [
@@ -406,6 +429,7 @@ class AtCoderProblemDataTest(unittest.TestCase):
TestCase(name='sample-2', input_name='Sample Input 2', input_data=b'3 10\n', output_name='Sample Output 2', output_data=b'105\n'),
])
+ @unittest.skip("Disabled by Guix")
def test_download_sample_cases_s8pc_broken_html(self):
# see: https://github.com/kmyk/online-judge-tools/issues/615
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/s8pc-4/tasks/s8pc_4_d').download_sample_cases(), [
@@ -427,6 +451,7 @@ class AtCoderProblemDataTest(unittest.TestCase):
class AtCoderProblemGetInputFormatTest(unittest.TestCase):
+ @unittest.skip("Disabled by Guix")
def test_normal(self):
"""
.. code-block:: html
@@ -456,6 +481,7 @@ class AtCoderProblemGetInputFormatTest(unittest.TestCase):
self.assertEqual(AtCoderProblem.from_url('https://beta.atcoder.jp/contests/arc083/tasks/arc083_a').download_data().input_format, '<var>A</var> <var>B</var> <var>C</var> <var>D</var> <var>E</var> <var>F</var>\r\n')
+ @unittest.skip("Disabled by Guix")
def test_old_problem(self):
"""
:note: https://github.com/kmyk/online-judge-tools/issues/380
@@ -475,6 +501,7 @@ class AtCoderProblemGetInputFormatTest(unittest.TestCase):
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/arc002/tasks/arc002_3').download_data().input_format, '\r\n<var>N</var>\r\n<var>c_{1}c_{2}...c_{N}</var>\r\n')
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/arc034/tasks/arc034_4').download_data().input_format, '\r\n<var>A</var> <var>B</var> <var>C</var>\r\n<var>a_1</var> <var>a_2</var> .. <var>a_A</var>\r\n<var>b_1</var> <var>b_2</var> .. <var>b_B</var>\r\n')
+ @unittest.skip("Disabled by Guix")
def test_dwacon_problem(self):
"""
:note: https://github.com/kmyk/online-judge-tools/issues/142
@@ -493,9 +520,11 @@ class AtCoderProblemGetInputFormatTest(unittest.TestCase):
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/dwacon2018-final/tasks/dwacon2018_final_a').download_data().input_format, '\r\n<var>H</var> <var>M</var> <var>S</var>\r\n<var>C_1</var> <var>C_2</var>\r\n')
self.assertEqual(AtCoderProblem.from_url('https://atcoder.jp/contests/dwacon2018-final/tasks/dwacon2018_final_b').download_data().input_format, '\r\n<var>N</var> <var>K</var>\r\n<var>v_1</var> <var>...</var> <var>v_N</var>\r\n')
+ @unittest.skip("Disabled by Guix")
def test_problem_without_input(self):
self.assertIsNone(AtCoderProblem.from_url('https://atcoder.jp/contests/tenka1-2013-quala/tasks/tenka1_2013_qualA_a').download_data().input_format)
+ @unittest.skip("Disabled by Guix")
def test_problem_without_input_format(self):
self.assertIsNone(AtCoderProblem.from_url('https://atcoder.jp/contests/joi2006ho/tasks/joi2006ho_a').download_data().input_format)
--- a/tests/service_codechef.py
+++ b/tests/service_codechef.py
@@ -15,6 +15,7 @@ class CodeChefProblemTest(unittest.TestCase):
self.assertEqual(CodeChefProblem.from_url('https://www.codechef.com/COOK113A/problems/DAND').contest_id, 'COOK113A')
self.assertEqual(CodeChefProblem.from_url('https://www.codechef.com/COOK113A/problems/DAND').problem_id, 'DAND')
+ @unittest.skip("Disabled by Guix")
def test_download_samples_chfgcd(self):
url = 'https://www.codechef.com/COOK131B/problems/CHFGCD'
expected = [
--- a/tests/service_codeforces.py
+++ b/tests/service_codeforces.py
@@ -25,6 +25,7 @@ class CodeforcesContestTest(unittest.TestCase):
self.assertEqual(CodeforcesContest.from_url('http://m3.codeforces.com/contest/1333').get_url(), CodeforcesContest.from_url('https://codeforces.com/contest/1333').get_url())
self.assertIsNone(CodeforcesContest.from_url('http://m4.codeforces.com/contest/1333'))
+ @unittest.skip("Disabled by Guix")
def test_list_problems_data(self):
contest = CodeforcesContest.from_url('https://codeforces.com/contest/1157')
problems = contest.list_problem_data()
@@ -38,6 +39,7 @@ class CodeforcesContestTest(unittest.TestCase):
self.assertEqual(problems[6].tags, ['constructive algorithms', 'dp', 'greedy', 'two pointers'])
self.assertEqual(problems[7].tags, ['brute force', 'constructive algorithms'])
+ @unittest.skip("Disabled by Guix")
def test_list_problems(self):
contest = CodeforcesContest.from_url('https://codeforces.com/contest/1157')
problems = contest.list_problems()
@@ -46,6 +48,7 @@ class CodeforcesContestTest(unittest.TestCase):
self.assertEqual(problems[6].get_url(), 'https://codeforces.com/contest/1157/problem/F')
self.assertEqual(problems[7].download_data().tags, ['brute force', 'constructive algorithms'])
+ @unittest.skip("Disabled by Guix")
def test_download_data(self):
contest = CodeforcesContest.from_url('http://codeforces.com/contest/1200')
data = contest.download_data()
@@ -85,6 +88,7 @@ class CodeforcesProblemTest(unittest.TestCase):
self.assertEqual(CodeforcesProblem.from_url('https://codeforces.com/contest/1133/problem/F1').index, 'F1')
self.assertEqual(CodeforcesProblem.from_url('https://codeforces.com/contest/1133/problem/F2').index, 'F2')
+ @unittest.skip("Disabled by Guix")
def test_download_problem(self):
problem = CodeforcesProblem.from_url('http://codeforces.com/contest/1205/problem/D')
data = problem.download_data()
--- a/tests/service_google.py
+++ b/tests/service_google.py
@@ -42,6 +42,7 @@ class GoogleCodeJamProblemTest(unittest.TestCase):
self.assertEqual(problem.contest_id, '8404486')
self.assertEqual(problem.problem_id, 'p0')
+ @unittest.skip("Disabled by Guix")
def test_download_samples_codejam(self):
problem = GoogleCodeJamProblem.from_url('https://codingcompetitions.withgoogle.com/codejam/round/000000000019fd27/000000000020993c')
sample_input = textwrap.dedent("""\
@@ -76,6 +77,7 @@ class GoogleCodeJamProblemTest(unittest.TestCase):
),
])
+ @unittest.skip("Disabled by Guix")
def test_download_samples_kickstart(self):
problem = GoogleCodeJamProblem.from_url('https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ffc7/00000000001d3f56')
sample_input = textwrap.dedent("""\
@@ -102,6 +104,7 @@ class GoogleCodeJamProblemTest(unittest.TestCase):
),
])
+ @unittest.skip("Disabled by Guix")
def test_download_multiple_samples(self):
problem = GoogleCodeJamProblem.from_url('https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ffc7/00000000001d3ff3')
sample_input1 = textwrap.dedent("""\
--- a/tests/service_library_checker.py
+++ b/tests/service_library_checker.py
@@ -29,13 +29,13 @@ class LibraryCheckerProblemTest(unittest.TestCase):
def test_from_url(self):
self.assertEqual(LibraryCheckerProblem.from_url('https://judge.yosupo.jp/problem/point_add_range_sum').problem_id, 'point_add_range_sum')
- @unittest.skipIf(os.name == 'nt', "Library Checker is not supported on Windows")
+ @unittest.skip("Disabled by Guix")
def test_download_samples(self):
self.assertEqual(LibraryCheckerProblem.from_url('https://judge.yosupo.jp/problem/unionfind').download_sample_cases(), [
TestCase(name='example_00', input_name='example_00.in', input_data=b'4 7\n1 0 1\n0 0 1\n0 2 3\n1 0 1\n1 1 2\n0 0 2\n1 1 3\n', output_name='example_00.out', output_data=b'0\n1\n0\n1\n'),
])
- @unittest.skipIf(os.name == 'nt', "Library Checker is not supported on Windows")
+ @unittest.skip("Disabled by Guix")
def test_pull_repository(self):
# reset
LibraryCheckerService.is_repository_updated = False
--- a/tests/service_spoj.py
+++ b/tests/service_spoj.py
@@ -14,11 +14,13 @@ class SPOJProblemTest(unittest.TestCase):
def test_from_url(self):
self.assertEqual(SPOJProblem.from_url('https://www.spoj.com/problems/ACARGO/').problem_id, 'ACARGO')
+ @unittest.skip("Disabled by Guix")
def test_download_samples(self):
self.assertEqual(SPOJProblem.from_url('https://www.spoj.com/problems/ACARGO/').download_sample_cases(), [
TestCase(name='sample-1', input_name='Sample Input:', input_data=b'3 5\n0\n1\n3\n2 3\n0\n1\n5 20\n2\n7\n12\n9\n13\n0 0\n', output_name='Sample Output:', output_data=b'1\n0\n10\n'),
])
+ @unittest.skip("Disabled by Guix")
def test_download_samples_todo(self):
# No samples found.
self.assertFalse(SPOJProblem.from_url('https://www.spoj.com/problems/MKLABELS/').download_sample_cases())
--- a/tests/service_yukicoder.py
+++ b/tests/service_yukicoder.py
@@ -20,6 +20,7 @@ class YukicoderProblemTest(unittest.TestCase):
self.assertEqual(YukicoderProblem.from_url('http://yukicoder.me/problems/no/123/').problem_no, 123)
self.assertEqual(YukicoderProblem.from_url('http://yukicoder.me/problems/123').problem_id, 123)
+ @unittest.skip("Disabled by Guix")
def test_download_sample_cases(self):
self.assertEqual(YukicoderProblem.from_url('http://yukicoder.me/problems/no/9000').download_sample_cases(), [
TestCase(name='sample-1', input_name='サンプル1 入力', input_data=b'yukicoder\n', output_name='サンプル1 出力', output_data=b'Hello World!\n'),
@@ -45,6 +46,7 @@ class YukicoderProblemTest(unittest.TestCase):
TestCase(name='sample-4', input_name='サンプル4 入力', input_data=b'\n', output_name='サンプル4 出力', output_data=b'1\n'),
])
+ @unittest.skip("Disabled by Guix")
def test_download_sample_cases_issue_355(self):
# see https://github.com/kmyk/online-judge-tools/issues/355
self.assertEqual(YukicoderProblem.from_url('https://yukicoder.me/problems/no/649').download_sample_cases(), [
@@ -54,6 +56,7 @@ class YukicoderProblemTest(unittest.TestCase):
TestCase(name='sample-4', input_name='サンプル4 入力', input_data=b'1 1\n2\n', output_name='サンプル4 出力', output_data=b'-1\n'),
])
+ @unittest.skip("Disabled by Guix")
def test_download_sample_cases_issue_192(self):
# see https://github.com/kmyk/online-judge-tools/issues/192
self.assertEqual(YukicoderProblem.from_url('https://yukicoder.me/problems/no/750').download_sample_cases(), [
@@ -133,6 +136,7 @@ class YukicoderContestTest(unittest.TestCase):
self.assertEqual(YukicoderContest.from_url('https://yukicoder.me/contests/276').contest_id, 276)
self.assertEqual(YukicoderContest.from_url('http://yukicoder.me/contests/276/all').contest_id, 276)
+ @unittest.skip("Disabled by Guix")
def test_list_problems(self):
self.assertEqual(YukicoderContest.from_url('https://yukicoder.me/contests/276').list_problems(), [
YukicoderProblem(problem_id=4401),
@@ -145,6 +149,7 @@ class YukicoderContestTest(unittest.TestCase):
class YukicoderProblemGetInputFormatTest(unittest.TestCase):
+ @unittest.skip("Disabled by Guix")
def test_normal(self):
self.assertEqual(YukicoderProblem.from_url('https://yukicoder.me/problems/no/1').get_input_format(), '\\(N\\)\n\\(C\\)\n\\(V\\)\n\\(S_1\\ S_2\\ S_3\\ \\dots\\ S_V\\)\n\\(T_1\\ T_2\\ T_3\\ \\dots\\ T_V\\)\n\\(Y_1\\ Y_2\\ Y_3\\ \\dots\\ Y_V\\)\n\\(M_1\\ M_2\\ M_3\\ \\dots\\ M_V\\)\n')
self.assertEqual(YukicoderProblem.from_url('https://yukicoder.me/problems/no/2').get_input_format(), 'N\n')
@@ -154,6 +159,7 @@ class YukicoderProblemGetInputFormatTest(unittest.TestCase):
self.assertEqual(YukicoderProblem.from_url('https://yukicoder.me/problems/no/512').get_input_format(), '$X$ $Y$\n$N$\n$A_1$ $\\cdots$ $A_N$\n')
self.assertEqual(YukicoderProblem.from_url('https://yukicoder.me/problems/no/777').get_input_format(), '$N$\n$A_1$ $B_1$ $C_1$\n$A_2$ $B_2$ $C_2$\n…\n$A_N$ $B_N$ $C_N$\n')
+ @unittest.skip("Disabled by Guix")
def test_problem_without_input(self):
self.assertIsNone(YukicoderProblem.from_url('https://yukicoder.me/problems/no/3003').get_input_format())

View File

@ -1,97 +0,0 @@
Fix CVE-2013-7459:
https://github.com/dlitz/pycrypto/issues/176
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-7459
Copied from Debian:
https://anonscm.debian.org/cgit/collab-maint/python-crypto.git/commit/?id=0de2243837ed369a086f15c50cca2be85bdfab9d
Debian adapts this upstream commit:
https://github.com/dlitz/pycrypto/commit/8dbe0dc3eea5c689d4f76b37b93fe216cf1f00d4
From 8dbe0dc3eea5c689d4f76b37b93fe216cf1f00d4 Mon Sep 17 00:00:00 2001
From: Legrandin <helderijs@gmail.com>
Date: Sun, 22 Dec 2013 22:24:46 +0100
Subject: [PATCH] Throw exception when IV is used with ECB or CTR
The IV parameter is currently ignored when initializing
a cipher in ECB or CTR mode.
For CTR mode, it is confusing: it takes some time to see
that a different parameter is needed (the counter).
For ECB mode, it is outright dangerous.
This patch forces an exception to be raised.
---
lib/Crypto/SelfTest/Cipher/common.py | 31 +++++++++++++++++++++++--------
src/block_template.c | 11 +++++++++++
2 files changed, 34 insertions(+), 8 deletions(-)
--- a/lib/Crypto/SelfTest/Cipher/common.py
+++ b/lib/Crypto/SelfTest/Cipher/common.py
@@ -239,19 +239,34 @@ class RoundtripTest(unittest.TestCase):
return """%s .decrypt() output of .encrypt() should not be garbled""" % (self.module_name,)
def runTest(self):
- for mode in (self.module.MODE_ECB, self.module.MODE_CBC, self.module.MODE_CFB, self.module.MODE_OFB, self.module.MODE_OPENPGP):
+
+ ## ECB mode
+ mode = self.module.MODE_ECB
+ encryption_cipher = self.module.new(a2b_hex(self.key), mode)
+ ciphertext = encryption_cipher.encrypt(self.plaintext)
+ decryption_cipher = self.module.new(a2b_hex(self.key), mode)
+ decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
+ self.assertEqual(self.plaintext, decrypted_plaintext)
+
+ ## OPENPGP mode
+ mode = self.module.MODE_OPENPGP
+ encryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
+ eiv_ciphertext = encryption_cipher.encrypt(self.plaintext)
+ eiv = eiv_ciphertext[:self.module.block_size+2]
+ ciphertext = eiv_ciphertext[self.module.block_size+2:]
+ decryption_cipher = self.module.new(a2b_hex(self.key), mode, eiv)
+ decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
+ self.assertEqual(self.plaintext, decrypted_plaintext)
+
+ ## All other non-AEAD modes (but CTR)
+ for mode in (self.module.MODE_CBC, self.module.MODE_CFB, self.module.MODE_OFB):
encryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
ciphertext = encryption_cipher.encrypt(self.plaintext)
-
- if mode != self.module.MODE_OPENPGP:
- decryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
- else:
- eiv = ciphertext[:self.module.block_size+2]
- ciphertext = ciphertext[self.module.block_size+2:]
- decryption_cipher = self.module.new(a2b_hex(self.key), mode, eiv)
+ decryption_cipher = self.module.new(a2b_hex(self.key), mode, self.iv)
decrypted_plaintext = decryption_cipher.decrypt(ciphertext)
self.assertEqual(self.plaintext, decrypted_plaintext)
+
class PGPTest(unittest.TestCase):
def __init__(self, module, params):
unittest.TestCase.__init__(self)
--- a/src/block_template.c
+++ b/src/block_template.c
@@ -170,6 +170,17 @@ ALGnew(PyObject *self, PyObject *args, P
"Key cannot be the null string");
return NULL;
}
+ if (IVlen != 0 && mode == MODE_ECB)
+ {
+ PyErr_Format(PyExc_ValueError, "ECB mode does not use IV");
+ return NULL;
+ }
+ if (IVlen != 0 && mode == MODE_CTR)
+ {
+ PyErr_Format(PyExc_ValueError,
+ "CTR mode needs counter parameter, not IV");
+ return NULL;
+ }
if (IVlen != BLOCK_SIZE && mode != MODE_ECB && mode != MODE_CTR)
{
PyErr_Format(PyExc_ValueError,

View File

@ -1,23 +0,0 @@
Drop use of the deprecated time.clock which was removed in Python 3.8.
Adapted from upstream pull request:
https://github.com/dlitz/pycrypto/pull/296
diff --git a/lib/Crypto/Random/_UserFriendlyRNG.py b/lib/Crypto/Random/_UserFriendlyRNG.py
--- a/lib/Crypto/Random/_UserFriendlyRNG.py
+++ b/lib/Crypto/Random/_UserFriendlyRNG.py
@@ -73,8 +73,11 @@ class _EntropyCollector(object):
t = time.time()
self._time_es.feed(struct.pack("@I", int(2**30 * (t - floor(t)))))
- # Add the fractional part of time.clock()
- t = time.clock()
+ # Add the fractional part of time.process_time()
+ try:
+ t = time.process_time()
+ except AttributeError:
+ t = time.clock()
self._clock_es.feed(struct.pack("@I", int(2**30 * (t - floor(t)))))

View File

@ -824,14 +824,14 @@ and based on PDF specification 1.7.")
(define-public mupdf
(package
(name "mupdf")
(version "1.23.3")
(version "1.23.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://mupdf.com/downloads/archive/"
"mupdf-" version "-source.tar.gz"))
"mupdf-" version "-source.tar.lz"))
(sha256
(base32 "1b8ajj5xmi2p9c92l8fd46amfshmxdw6zcg1hqajg8y0kd0ady8y"))
(base32 "0068swdrlq9q7pkg3dxn4rschxm5j37pd4vz0cb2pcry75rdmxpc"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))
@ -1003,7 +1003,7 @@ using a stylus.")
(define-public xournalpp
(package
(name "xournalpp")
(version "1.2.1")
(version "1.2.2")
(source
(origin
(method git-fetch)
@ -1012,7 +1012,7 @@ using a stylus.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18slm517yazysvd0ii0gi7kg4hzyf17d86w2bflgfaz9ccclswbn"))))
(base32 "1svmdj43z1shm3wnkrdrq1h6rba843mp4x4d8jmxsx7kwiiz9l78"))))
(build-system cmake-build-system)
(arguments
(list

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@ -59,6 +59,24 @@
#:use-module (guix packages)
#:use-module (guix utils))
(define-public python-assertpy
(package
(name "python-assertpy")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "assertpy" version))
(sha256
(base32 "0cs8xya465wvb9dw0kdl7cvkxwrslhbma66y44r1mmsajcll7imc"))))
(build-system pyproject-build-system)
(home-page "https://github.com/assertpy/assertpy")
(synopsis "Simple assertion library for unit testing")
(description
"This package provides a simple assertion library for unit testing in
Python with a fluent API.")
(license license:bsd-3)))
(define-public python-tappy
(package
(name "python-tappy")

View File

@ -810,7 +810,7 @@ functions and around einops with an API and features adapted to xarray.")
(define-public python-pytensor
(package
(name "python-pytensor")
(version "2.14.2")
(version "2.17.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -819,7 +819,7 @@ functions and around einops with an API and features adapted to xarray.")
(file-name (git-file-name name version))
(sha256
(base32
"1428l1v7yrnls8875xjx1svn48cmz0q83sv7sg0xdqghkfnyi7xx"))))
"1694apl8gjdrl6hrfly9yixmfimmmh51vacxmxx63nn4k5qnsgbg"))))
(build-system pyproject-build-system)
(arguments
(list
@ -2030,6 +2030,33 @@ Out-of-Core DataFrames (similar to Pandas), to visualize and explore big
tabular datasets. This package provides the core modules of Vaex.")
(license license:expat)))
(define-public python-salib
(package
(name "python-salib")
(version "1.4.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/SALib/SALib")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"18xfyzircsx2q2lmfc9lxb6xvkxicnc83qzghd7df1jsprr5ymch"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-matplotlib
python-multiprocess
python-numpy
python-pandas
python-scipy))
(native-inputs (list python-hatchling python-pytest python-pytest-cov))
(home-page "https://salib.readthedocs.io/en/latest/")
(synopsis "Tools for global sensitivity analysis")
(description "SALib provides tools for global sensitivity analysis. It
contains Sobol', Morris, FAST, DGSM, PAWN, HDMR, Moment Independent and
fractional factorial methods.")
(license license:expat)))
(define-public python-pylems
(package
(name "python-pylems")

View File

@ -63,7 +63,7 @@
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019, 2020, 2021, 2022, 2023 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
;;; Copyright © 2019, 2020, 2021 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019-2021, 2023 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2019, 2020, 2021, 2022 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019, 2021-2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
@ -139,6 +139,7 @@
;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
;;; Copyright © 2023 Ivan Vilata-i-Balaguer <ivan@selidor.net>
;;; Copyright © 2023 Ontje Lünsdorf <ontje.luensdorf@dlr.de>
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Parnikkapore <poomklao@yahoo.com>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © c4droid <c4droid@foxmail.com>
@ -4881,6 +4882,30 @@ between Julian dates and Gregorian dates.")
compare, diff, and patch JSON and JSON-like structures in Python.")
(license license:expat)))
(define-public python-ddlparse
(package
(name "python-ddlparse")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ddlparse" version))
(sha256
(base32 "1nh8m6rxslwk05daxshxmgk41qfp18yynydba49b13l4m8dnh634"))))
(build-system pyproject-build-system)
(native-inputs
(list python-codecov
python-coveralls
python-pytest
python-pytest-cov
python-tox))
(propagated-inputs (list python-pyparsing))
(home-page "https://github.com/shinichi-takii/ddlparse")
(synopsis "Parses and converts DDL to BigQuery JSON schema")
(description "This package provides @{ddlparse}, a Python library to parse
and convert DDL to BigQuery JSON schema.")
(license license:bsd-3)))
(define-public python-jsonschema
(package
(name "python-jsonschema")
@ -5819,14 +5844,17 @@ flexibility and power of the Python language.")
(define-public python-dm-tree
(package
(name "python-dm-tree")
(version "0.1.7")
(version "0.1.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "dm-tree" version))
(sha256
(base32 "0apxfxgmqh22qpk92zmmf3acqkavhwxz78lnwz026a5rlnncizih"))))
(build-system python-build-system)
(inputs (list pybind11 abseil-cpp python))
(base32 "0c4l9gpaqd7j34qwnpjibv53j9sm0nyl0wcy8dvh76772jxspjhg"))))
(build-system pyproject-build-system)
;; We link the static abseil libraries here to avoid problems in
;; downstream libraries using potentially different variants of
;; abseil-cpp. This is also what's done in the upstream CMake build.
(inputs (list pybind11 static-abseil-cpp python))
(propagated-inputs (list python-wheel
python-absl-py
python-attrs
@ -5867,13 +5895,15 @@ flexibility and power of the Python language.")
(string-append "-Wl," "-rpath=" python "/lib")
"-fno-semantic-interposition"
"build/temp/tree/tree.o"
"-Wl,--whole-archive"
"-L" (string-append python "/lib")
"-L" (string-append abseil-cpp "/lib")
"-l" "absl_int128"
"-l" "absl_raw_hash_set"
"-l" "absl_raw_logging_internal"
"-l" "absl_strings"
"-l" "absl_throw_delegate"
(string-append abseil-cpp "/lib/libabsl_int128.a")
(string-append abseil-cpp "/lib/libabsl_raw_hash_set.a")
(string-append abseil-cpp "/lib/libabsl_raw_logging_internal.a")
(string-append abseil-cpp "/lib/libabsl_strings.a")
(string-append abseil-cpp "/lib/libabsl_strings_internal.a")
(string-append abseil-cpp "/lib/libabsl_throw_delegate.a")
"-Wl,--no-whole-archive"
"-o" "build/lib/tree/_tree.so")))))))
(home-page "https://github.com/deepmind/tree")
(synopsis "Work with nested data structures in Python")
@ -13467,6 +13497,24 @@ provided that can be used to do various manipulations with LilyPond files.")
should be stored on various operating systems.")
(license license:expat)))
(define-public python-google-pasta
(package
(name "python-google-pasta")
(version "0.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "google-pasta" version))
(sha256
(base32 "0vm1r1jlaiagj0l9yf7j6zn9w3733dr2169911c0svgrr3gwiwn9"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-six))
(home-page "https://github.com/google/pasta")
(synopsis "pasta is an AST-based Python refactoring library")
(description "This package provides \"pasta\", an AST-based Python
refactoring library.")
(license license:asl2.0)))
(define-public python-gorilla
(package
(name "python-gorilla")
@ -13745,22 +13793,6 @@ similar to the Python standard library's @code{json} module.")
includes dependency resolution logic.")
(license license:isc)))
;;; This older version is required by ansible-core.
(define-public python-resolvelib-0.5
(package/inherit python-resolvelib
(name "python-resolvelib")
(version "0.5.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sarugaku/resolvelib")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0697y330sqhiclk25v151qxg7aixzpj434lbg5qib0qlna5zg9la"))))))
(define-public python-commonmark
(package
(name "python-commonmark")
@ -24523,6 +24555,102 @@ in Python. You can simply type pybtex instead of bibtex.")
time-based (TOTP) passwords.")
(license license:expat)))
(define-public python-online-judge-api-client
(package
(name "python-online-judge-api-client")
(version "10.10.1")
;; Source distributions are not uploaded to PyPI.
;; https://pypi.org/project/online-judge-api-client/10.10.1/#files
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/online-judge-tools/api-client")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0yjqhh44va5nawd9rpqcjyf0g7rjlkvn7s90fmwmwjyqvy6lhjiz"))
(patches (search-patches
"python-online-judge-api-client-tests.patch"))))
(build-system python-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
;; These tests require network connections
(add-after 'unpack 'remove-failing-test
(lambda _
(for-each delete-file
'("tests/get_contest_atcoder.py"
"tests/get_contest_atcoder_problems.py"
"tests/get_contest_codechef.py"
"tests/get_contest_codeforces.py"
"tests/get_contest_yukicoder.py"
"tests/get_problem_anarchygolf.py"
"tests/get_problem_aoj.py"
"tests/get_problem_atcoder.py"
"tests/get_problem_codechef.py"
"tests/get_problem_codeforces.py"
"tests/get_problem_csacademy.py"
"tests/get_problem_facebook.py"
"tests/get_problem_hackerrank.py"
"tests/get_problem_kattis.py"
"tests/get_problem_library_checker.py"
"tests/get_problem_poj.py"
"tests/get_problem_topcoder.py"
"tests/get_problem_toph.py"
"tests/get_problem_yukicoder.py"
"tests/login_service.py")) #t)))))
(propagated-inputs (list python-appdirs
python-beautifulsoup4
python-colorlog
python-lxml
python-requests
python-toml
python-jsonschema))
(home-page "https://github.com/online-judge-tools/api-client")
(synopsis "API client for various online judges")
(description
"This is an API client for various online judges, used as the backend
library of @code{oj} command. You can use the Python
library (@code{onlinejudge} module) and the command-line
interface (@command{oj-api} command) which talks JSON compatible with
jmerle/competitive-companion.")
(license license:expat)))
(define-public online-judge-tools
(package
(name "online-judge-tools")
(version "11.5.1")
;; Source distributions are not uploaded to PyPI.
;; https://pypi.org/project/online-judge-tools/11.5.1/#files
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/online-judge-tools/oj")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0zkzmmjgjb6lyrzq1ip54cpnp7al9a7mcyjyi5vx58bvnx3q0c6m"))
(patches (search-patches "online-judge-tools.patch"))))
(build-system python-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
;; These tests require network connections
(add-after 'unpack 'remove-failing-test
(lambda _
(delete-file "tests/command_version.py") #t)))))
(inputs (list time))
(propagated-inputs (list python-online-judge-api-client python-colorama
python-requests))
(home-page "https://github.com/online-judge-tools/oj")
(synopsis "Command to help solving problems on various online judges")
(description
"@command{oj} is a command line tool to help solving problems on
various online judges. This command automates downloading sample
cases, generating additional test cases, testing for your code, and
submitting it.")
(license license:expat)))
(define-public python-parso
(package
(name "python-parso")
@ -28912,7 +29040,7 @@ accessor layer.")
(define-public pyzo
(package
(name "pyzo")
(version "4.12.8")
(version "4.13.3")
(source
(origin
(method git-fetch)
@ -28922,7 +29050,7 @@ accessor layer.")
(file-name (git-file-name name version))
(sha256
(base32
"036snpv6j63bv9z9mbq317qb43zwsj1m8vljra3c0kiakahp7cc3"))))
"1m0mrp20wjvy804214f4zzlbaqrakam0g3qr562yn2mjcgfba554"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -29883,26 +30011,48 @@ applications with variable CPU loads).")
(define-public python-versioneer
(package
(name "python-versioneer")
(version "0.21")
(version "0.29")
(source
(origin
(method url-fetch)
(uri (pypi-uri "versioneer" version))
(sha256
(base32
"084fglxafbzvf1vbkzfajvs9qwnvjwwn8pxql9nrlpyipv5xpwk4"))
"0cap4cjckxp9mlkprqayfs77k3pn5iwpr2riacdxc4bjhnwq7cjs"))
(patches (search-patches "python-versioneer-guix-support.patch"))))
(build-system python-build-system)
(home-page
"https://github.com/python-versioneer/python-versioneer")
(synopsis
"Version-string management for VCS-controlled trees")
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Taken from tox.ini.
(invoke "python" "setup.py" "make_versioneer")
(invoke "python" "-m" "unittest" "discover" "test")
(invoke "python" "test/git/test_git.py" "-v")
;; Some invocation tests require the network.
;;(invoke "python" "test/git/test_invocations.py" "-v")
(invoke "python" "setup.py" "make_long_version_py_git")
(invoke "pyflakes" "setup.py" "versioneer.py" "git_version.py")
(invoke "python" "test/run_pyflakes_src.py")
(invoke "pyflakes" "test")
(invoke "flake8" "git_version.py" "versioneer.py")
(invoke "pycodestyle" "--max-line-length=88"
"git_version.py" "versioneer.py")))))))
(native-inputs
(list git python-flake8 python-pycodestyle python-pyflakes))
(propagated-inputs
(list python-tomli))
(home-page "https://github.com/python-versioneer/python-versioneer")
(synopsis "Version-string management for VCS-controlled trees")
(description
"@code{versioneer} is a tool for managing a recorded version number in
distutils-based python projects. The goal is to remove the tedious and
error-prone \"update the embedded version string\" step from your release
process.")
(license license:public-domain)))
(license license:unlicense)))
(define-public python-gamera
(package

View File

@ -1200,7 +1200,7 @@ satellites.")
(define-public gqrx
(package
(name "gqrx")
(version "2.17.2")
(version "2.17.3")
(source
(origin
(method git-fetch)
@ -1209,7 +1209,7 @@ satellites.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1psfbwdgac4wkl6vjdk092rmwbd7228l0d3l5p9ab48d6vyrn2kp"))))
(base32 "00pasp13gqglixl0iy9jb242vx1kczgpinjs3d8a1cl8yv5w6xkl"))))
(build-system qt-build-system)
(native-inputs
(list pkg-config))

View File

@ -1370,21 +1370,20 @@ rebase.")
"This package provides a tool for generating C/C++ bindings to Rust code.")
(license license:mpl2.0)))
(define-public rust-cbindgen-0.24
(define-public rust-cbindgen-0.26
(package
(inherit rust-cbindgen)
(name "rust-cbindgen")
(version "0.24.3")
(source (origin
(version "0.26.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "cbindgen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1yqxqsz2d0cppd8zwihk2139g5gy38wqgl9snj6rnk8gyvnqsdd6"))))
(base32 "0jdbxmn5h5nlr4bifx85gny309djv5djs9q78fa1d7sj0wdw2sys"))))
(arguments
`(#:cargo-inputs
(("rust-clap" ,rust-clap-3)
`(#:cargo-inputs (("rust-clap" ,rust-clap-3)
("rust-heck" ,rust-heck-0.4)
("rust-indexmap" ,rust-indexmap-1)
("rust-log" ,rust-log-0.4)
@ -1395,10 +1394,21 @@ rebase.")
("rust-syn" ,rust-syn-1)
("rust-tempfile" ,rust-tempfile-3)
("rust-toml" ,rust-toml-0.5))
#:cargo-development-inputs
(("rust-serial-test" ,rust-serial-test-0.5))))
(native-inputs
(list python-cython))))
#:cargo-development-inputs (("rust-serial-test" ,rust-serial-test-0.5))))
(native-inputs (list python-cython))))
(define-public rust-cbindgen-0.24
(package
(inherit rust-cbindgen-0.26)
(name "rust-cbindgen")
(version "0.24.3")
(source (origin
(method url-fetch)
(uri (crate-uri "cbindgen" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1yqxqsz2d0cppd8zwihk2139g5gy38wqgl9snj6rnk8gyvnqsdd6"))))))
(define-public rust-cbindgen-0.23
(package

View File

@ -14,6 +14,7 @@
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Evgeny Pisemsky <evgeny@pisemsky.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -41,6 +42,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages audio)
@ -563,6 +565,31 @@ directory.")
(prepend harfbuzz freetype)))
(properties '((upstream-name . "SDL2_ttf")))))
(define-public sdl2-gamecontrollerdb
(let ((commit "6f3c4edcb5a2e2ed090ca8af40d2c0f00dcd77f6")
(revision "0"))
(package
(name "sdl2-gamecontrollerdb")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gabomdq/SDL_GameControllerDB")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1gciqc8qm2qgcjj5s9jpclznznsp6awl4ldrnj7g01chkcx0l6a3"))))
(build-system copy-build-system)
(arguments
'(#:install-plan '(("gamecontrollerdb.txt" "share/sdl2/"))))
(home-page "https://github.com/gabomdq/SDL_GameControllerDB")
(synopsis "SDL2 game controller database")
(description
"This package provides a community sourced database of game controller
mappings intended for the use with SDL2's game controller functionality.")
(license license:zlib))))
(define-public guile-sdl
(package
(name "guile-sdl")

View File

@ -49,6 +49,7 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@ -528,35 +529,42 @@ Sphinx documentation into your web application. It provides tools to
integrate Sphinx documents in web templates and to handle searches.")
(license license:bsd-3)))
(define-public python-sphinx-gallery
(package
(name "python-sphinx-gallery")
(version "0.10.1")
(version "0.14.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sphinx-gallery" version))
(sha256
(base32 "1r07sa34511fbnwi2s32q00qdyv5d23d05imyfgnh2ivhfq34gwm"))))
(build-system python-build-system)
(base32 "1hj380d5bjhbzxmhjw8f8b71jy1wk8crad0g3n750m990fphljia"))))
(build-system pyproject-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'writable-files-for-tests
(lambda _
(for-each make-file-writable (find-files "."))))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
(invoke "python" "-m" "pytest" "--pyargs" "sphinx_gallery" "-k"
(list
#:test-flags
'(list "--pyargs" "sphinx_gallery" "-k"
(string-append
;; These tests require online data.
"not test_embed_code_links_get_data"
" and not test_run_sphinx"
;; Requires webp support
" and not test_image_formats"
;; Needs graphviz
" and not test_rebuild"
;; Fails because we've deleted an example file, so the numbers
;; don't match.
" and not test_junit"
;; AssertionError.
" and not test_embed_links_and_styles"))))))))
" and not test_embed_links_and_styles"))
#:phases
'(modify-phases %standard-phases
;; TODO: Our version of matplotlib does not support webp.
(add-after 'unpack 'delete-webp-example
(lambda _
(delete-file "sphinx_gallery/tests/tinybuild/examples/plot_webp.py"))))))
(propagated-inputs
(list python-jupyterlite-sphinx))
(native-inputs
(list python-joblib
python-matplotlib

View File

@ -652,13 +652,13 @@ estimation) corresponding to the book: Wand, M.P. and Jones, M.C. (1995)
(define-public r-lattice
(package
(name "r-lattice")
(version "0.21-9")
(version "0.22-5")
(source (origin
(method url-fetch)
(uri (cran-uri "lattice" version))
(sha256
(base32
"0ak9k6s6drd1a25m7mwzb426ms92a2p3ps04h2pacifwnk74ca59"))))
"1wd5dlxi0hd4l08g999y3xnxnaq06gwvflcqr9ym0cx131gbw7xs"))))
(build-system r-build-system)
(home-page "https://lattice.r-forge.r-project.org/")
(synopsis "High-level data visualization system")
@ -757,14 +757,14 @@ single hidden layer, and for multinomial log-linear models.")
(define-public r-rpart
(package
(name "r-rpart")
(version "4.1.19")
(version "4.1.21")
(source
(origin
(method url-fetch)
(uri (cran-uri "rpart" version))
(sha256
(base32
"0rcm4hk2k0ag9qmb0f933yqrq8jpnclwrzp6825swgsqnp83wwpy"))))
"0av28n5as53qrxm41hcrwv59qdv7gfli668q32z0a5r1bdkiqz77"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/rpart")
(synopsis "Recursive partitioning and regression trees")
@ -1252,13 +1252,13 @@ using just two functions: melt and dcast (or acast).")
(define-public r-ggplot2
(package
(name "r-ggplot2")
(version "3.4.3")
(version "3.4.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggplot2" version))
(sha256
(base32 "0hx5j47y2fxrcg4fxavyn5jjycpwkmsiqsjh6kj7nwp7dg79mqjw"))))
(base32 "0iiywrzv8j0npasvzgkxwhw0zqisf4xmpx06jl0lsq1ybl3fqxid"))))
(build-system r-build-system)
(propagated-inputs
(list r-cli
@ -1268,10 +1268,10 @@ using just two functions: melt and dcast (or acast).")
r-lifecycle
r-mass
r-mgcv
r-tibble
r-rlang
r-scales
r-svglite ; Needed for 'ggsave'
r-tibble
r-vctrs
r-withr))
(native-inputs
@ -1316,19 +1316,19 @@ agnes cluster diagrams.")
(define-public r-gdtools
(package
(name "r-gdtools")
(version "0.3.3")
(version "0.3.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "gdtools" version))
(sha256
(base32
"10rlx1ciyvh0ayic03kckv360idl9s1zyc2ar5lisns786c1hnns"))))
"00mak9js1s05j5bmkda24nl2z023jsyg8zc60nm4h2xs7w1l7mxa"))))
(build-system r-build-system)
(native-inputs
(list pkg-config))
(inputs
(list cairo fontconfig freetype))
(list cairo fontconfig freetype zlib))
(propagated-inputs
(list r-curl
r-fontquiver
@ -1534,13 +1534,13 @@ data derived from /etc/mime.types in UNIX-type systems.")
(define-public r-markdown
(package
(name "r-markdown")
(version "1.9")
(version "1.11")
(source (origin
(method url-fetch)
(uri (cran-uri "markdown" version))
(sha256
(base32
"0201v3spgl8a5c5xkddac5a3z9zh8d0nm9yg6alyhhj4cjwmgibh"))))
"052zrb6bnr6k3p9pmm3vfh3g7z20g6pjvphjdiqyjb4mb9sn3z27"))))
(build-system r-build-system)
;; Skip check phase because the tests require the r-knitr package to be
;; installed. This prevents installation failures. Knitr normally
@ -1578,13 +1578,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.")
(define-public r-knitr
(package
(name "r-knitr")
(version "1.44")
(version "1.45")
(source (origin
(method url-fetch)
(uri (cran-uri "knitr" version))
(sha256
(base32
"015ylljvx0q2himch4k813021nvh0l7p5x3aqdkj3w0ax8x8k3ki"))))
"1yw4fnzm8lvh6kpcdlvr1fahz7421h5mmaris58zlgn57fjxwbpf"))))
(build-system r-build-system)
(propagated-inputs
(list r-evaluate r-highr r-xfun r-yaml))
@ -1866,14 +1866,14 @@ database.")
(define-public r-dbplyr
(package
(name "r-dbplyr")
(version "2.3.4")
(version "2.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "dbplyr" version))
(sha256
(base32
"1b6y1jhf5ix4vry165vwid5nqm0d99q61vxak6aw3vfkj379vgk9"))))
"1rzi8112fi0bx2fj0j5ak9bfgqgjk5k5dv66qrb890gsf5bz6m4i"))))
(build-system r-build-system)
(propagated-inputs
(list r-blob
@ -2182,7 +2182,7 @@ comparison and diagnostics.")
(define-public python-pymc
(package
(name "python-pymc")
(version "5.7.2")
(version "5.9.1")
(source (origin
(method git-fetch) ; no tests in PyPI
(uri (git-reference
@ -2191,7 +2191,7 @@ comparison and diagnostics.")
(file-name (git-file-name name version))
(sha256
(base32
"1r3lxpfc782f0wphdqfgsskbz52i0gwgrmxb65307k6cqia69s3r"))))
"1y90xa85q38zwsi69q5bv95vyjg3jp1hs0z18sg5jyi17irgw8x7"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f ; tests are too computationally intensive
@ -2317,6 +2317,29 @@ uncertainties and are backed by strong theoretical guarantees thanks to
conformal prediction methods intervals.")
(license license:bsd-3)))
(define-public python-emcee
(package
(name "python-emcee")
(version "3.1.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "emcee" version))
(sha256
(base32 "1vbz67cwzig28dlndkm6g246p1vcvj6yy2w65z8cdyffigf1j3lf"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-numpy))
(native-inputs (list python-coverage
python-pytest
python-pytest-cov
python-setuptools-scm))
(home-page "https://emcee.readthedocs.io/en/stable/")
(synopsis "Ensemble sampling toolkit for MCMC")
(description
"@code{emcee} is a Python implementation of the affine-invariant ensemble
sampler for Markov chain Monte Carlo (MCMC).")
(license license:expat)))
(define-public python-statsmodels
(package
(name "python-statsmodels")
@ -2374,7 +2397,7 @@ inference for statistical models.")
(define-public python-openturns
(package
(name "python-openturns")
(version "1.21")
(version "1.21.1")
(source
(origin
(method git-fetch)
@ -2383,7 +2406,7 @@ inference for statistical models.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05lbx8npvvk7jyakvfpgi9ggdp6cnzwv2hjmjrkji2s42axv0q6d"))))
(base32 "147pyh7j5nqp9bl9hfikcfzqj5qp95an0qrna9g5qq07md13c3if"))))
(build-system cmake-build-system)
(arguments
(list
@ -2615,14 +2638,14 @@ R version.")
(define-public r-checkmate
(package
(name "r-checkmate")
(version "2.2.0")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "checkmate" version))
(sha256
(base32
"064i6l0n4w4jncpnk5wnj6sxak0jirdz757iirglcxg8ayq19v4n"))))
"1m41idv7iwq6mby8dyvsbljj5jkyhj65k7caz2na17a83s2inwl8"))))
(build-system r-build-system)
(propagated-inputs
(list r-backports))
@ -2966,13 +2989,13 @@ tools to simplify the devolpment of R packages.")
(define-public r-withr
(package
(name "r-withr")
(version "2.5.1")
(version "2.5.2")
(source (origin
(method url-fetch)
(uri (cran-uri "withr" version))
(sha256
(base32
"1kndhxl0fxn40v9yx0iglilani3ym3ywbjf6zbg1pnb52ncf0nm9"))))
"01a27nqlrrf1pws57hi9631f3aj33a9dashd640m5nlgf9nzmdnm"))))
(build-system r-build-system)
(native-inputs
(list r-knitr))
@ -3317,13 +3340,13 @@ a column in data frame.")
(define-public r-rsqlite
(package
(name "r-rsqlite")
(version "2.3.1")
(version "2.3.2")
(source (origin
(method url-fetch)
(uri (cran-uri "RSQLite" version))
(sha256
(base32
"1jil3wgfh1asfb9c4cr9qyr74wb9f87r7sa03kj187201hb3xlly"))))
"09vbx3akqws8a07ai6qbp3jn1w05qsmazl79wl2dyvvjpzs8b62x"))))
(properties `((upstream-name . "RSQLite")))
(build-system r-build-system)
(propagated-inputs
@ -3332,8 +3355,8 @@ a column in data frame.")
r-cpp11
r-dbi
r-memoise
r-plogr
r-pkgconfig))
r-pkgconfig
r-plogr))
(native-inputs
(list r-knitr))
(home-page "https://github.com/rstats-db/RSQLite")
@ -4711,13 +4734,13 @@ features present in other programming languages.")
(define-public r-plotly
(package
(name "r-plotly")
(version "4.10.2")
(version "4.10.3")
(source (origin
(method url-fetch)
(uri (cran-uri "plotly" version))
(sha256
(base32
"0y2jiyfx895f15wcpizybssic4draw1vgvqz2b7f82z73319m01b"))
"13sxmanx2xck8dn0prn2fplgx4bafb7h2kk2wjmci21h8hk6qylb"))
(modules '((guix build utils)))
(snippet
'(with-directory-excursion "inst/htmlwidgets/lib/"
@ -4964,7 +4987,12 @@ from within R.")
(add-after 'mkdist 'no-mtune
(lambda _
(substitute* "src/Makevars"
(("-mtune=native") "")))))))
(("-mtune=native") ""))))
(add-after 'no-mtune 'use-c++11
(lambda _
(substitute* "src/Makevars"
(("-DUSE_BLAS_LIB" m)
(string-append m " -std=c++11"))))))))
(native-inputs
(list hevea
perl
@ -5164,17 +5192,15 @@ tests for whether a value is missing, empty or contains only @code{NA} and
(define-public r-gdata
(package
(name "r-gdata")
(version "2.19.0")
(version "3.0.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "gdata" version))
(sha256
(base32
"1lv3cz990f7m2bfcf62fjm6wz6zd2ycrci06b7mfd0xmcn3bwifi"))))
"0zxi0634dkgczw7gicj8r6mhb83cpkxhsy2iivz0b9v52y9bjmm4"))))
(build-system r-build-system)
(inputs
(list perl))
(propagated-inputs
(list r-gtools))
(home-page "https://cran.r-project.org/web/packages/gdata")
@ -5189,7 +5215,6 @@ including:
@item character vector operations
@item factor manipulation
@item obtaining information about R objects
@item manipulating MS-Excel formatted files
@item generating fixed-width format files
@item extricating components of date and time objects
@item operations on columns of data frames
@ -5703,14 +5728,14 @@ and resampling-based inference.")
(define-public r-prabclus
(package
(name "r-prabclus")
(version "2.3-2")
(version "2.3-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "prabclus" version))
(sha256
(base32
"0hg4d7y1w18jpgvw10z8833bbbcnlkwiasx0wh6iwa2pnnybq8gl"))))
"1haq8dvvi21fdnzl7ykm28sif5nv9pybir96vrqfcmy3k8500p80"))))
(build-system r-build-system)
(propagated-inputs
(list r-mass r-mclust))
@ -7171,14 +7196,14 @@ or eta squared effect size.")
(define-public r-logspline
(package
(name "r-logspline")
(version "2.1.20")
(version "2.1.21")
(source
(origin
(method url-fetch)
(uri (cran-uri "logspline" version))
(sha256
(base32
"1nsrgz9sh9qg2fj0x7k48lqhpgzq1z78jfz89ckzp5xm4r8lpgcb"))))
"0xqbk3h28gkx3haj7hdg314616x673cmg9ia148g0q9j3zqkqflf"))))
(properties `((upstream-name . "logspline")))
(build-system r-build-system)
(native-inputs (list gfortran))

View File

@ -44,7 +44,7 @@
(define-public syncthing
(package
(name "syncthing")
(version "1.24.0")
(version "1.25.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@ -52,7 +52,7 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
"13v04slf231hd3rywyan0n7yyc94s34wfwnmwz8sfw4vgxk5k52a"))))
"18cyg0wnf34xi964fxvzxgcq6z0pbirk0k4z82w1cqi3f3l9jlg2"))))
(build-system go-build-system)
;; The primary Syncthing executable goes to "out", while the auxiliary
;; server programs and utility tools go to "utils". This reduces the size

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Adonay Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
@ -903,7 +903,7 @@ telephony functionality into custom Telegram clients.")
(define-public coturn
(package
(name "coturn")
(version "4.6.1")
(version "4.6.2")
(source
(origin
(method git-fetch)
@ -912,7 +912,7 @@ telephony functionality into custom Telegram clients.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "04d3c2lxc496zxx3nzqr9fskm2w57kqijdfq3wsa0yp2dp28yjkj"))))
(base32 "16rr8666spi84qcc8l2qga42hpskjmvrpj1w58jbanxnpsijv8h4"))))
(inputs
(list openssl
sqlite

View File

@ -37,6 +37,7 @@
;;; Copyright © 2023 Aaron Covrig <aaron.covrig.us@ieee.org>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -230,7 +231,7 @@ managers.")
(define-public asciinema
(package
(name "asciinema")
(version "2.3.0")
(version "2.4.0")
(source
(origin
(method git-fetch)
@ -239,7 +240,7 @@ managers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mqn12h51nqdmn1ya7hw1l2z2893937dqq4b1zh32y6bazd807fl"))))
(base32 "0qhf4sc5fl81rpq3rgzy7qcch620dh12scvsbdfczfbyjb10ps2i"))))
(build-system pyproject-build-system)
(arguments
(list #:phases
@ -834,24 +835,26 @@ eye-candy, customizable, and reasonably lightweight.")
(define-public foot
(package
(name "foot")
(version "1.15.3")
(version "1.16.2")
(home-page "https://codeberg.org/dnkl/foot")
(source (origin
(source
(origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1a224i2i7qk170kf2rzyxqcv3lnx9f548lwa37jgjr7i339x4zwf"))))
(base32 "00wac8li1ac8ncmnlqvz3xnr5pi8gj4v3v341n0h2zzaayv9ngw5"))))
(build-system meson-build-system)
(arguments
`(;; Using a "release" build is recommended both for performance, and
(list
;; Using a "release" build is recommended both for performance, and
;; also to address a GCC 10 issue when doing PGO builds.
#:build-type "release"
;; Enable LTO as recommended by INSTALL.md.
#:configure-flags '("-Db_lto=true")))
(native-inputs
(list ncurses ;for 'tic'
#:configure-flags #~'("-Db_lto=true")))
(native-inputs (list ncurses ;for 'tic'
pkg-config scdoc wayland-protocols))
(native-search-paths
;; FIXME: This should only be located in 'ncurses'. Nonetheless it is
@ -859,8 +862,7 @@ eye-candy, customizable, and reasonably lightweight.")
(list (search-path-specification
(variable "TERMINFO_DIRS")
(files '("share/terminfo")))))
(inputs
(list fcft libxkbcommon wayland))
(inputs (list fcft libxkbcommon wayland))
(synopsis "Wayland-native terminal emulator")
(description
"@command{foot} is a terminal emulator for systems using the Wayland

View File

@ -318,7 +318,20 @@ required structures.")
(patches (search-patches "gnutls-skip-trust-store-test.patch"))
(sha256
(base32
"1742jiigwsfhx7nj5rz7dwqr8d46npsph6b68j7siar0mqarx2xs"))))))
"1742jiigwsfhx7nj5rz7dwqr8d46npsph6b68j7siar0mqarx2xs"))))
(arguments
(if (target-hurd?)
;; Fix reference to undefined 'PATH_MAX'. This is fixed in GnuTLS
;; commit 3b6ec1e01de4e96d36276dfe34ee9e183f285264.
(substitute-keyword-arguments (package-arguments gnutls)
((#:phases phases #~%standard-phases)
#~(modify-phases #$phases
(add-after 'unpack 'set-path-max
(lambda _
(substitute* "lib/pathbuf.h"
(("^#define GNUTLS_PATH_MAX PATH_MAX")
"#define GNUTLS_PATH_MAX 8192\n")))))))
(package-arguments gnutls)))))
(define-public gnutls/dane
;; GnuTLS with build libgnutls-dane, implementing DNS-based

View File

@ -63,14 +63,14 @@
(define-public tor
(package
(name "tor")
(version "0.4.8.6")
(version "0.4.8.7")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
"122h6l3nh8xrpzkmn4alsbz30jw8nxivwnhgnp97qv7nr9gqjbam"))))
"14blalf96240dg6crpmgyf2bdcj109dyx47h0w6a0a6vfjf2n3dj"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags

View File

@ -6,6 +6,7 @@
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
;;; Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -25,17 +26,27 @@
(define-module (gnu packages upnp)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages file)
#:use-module (gnu packages gettext)
#:use-module (gnu packages image)
#:use-module (gnu packages javascript)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages mp3)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages video)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
@ -162,3 +173,48 @@ and others.")
server, which serves multimedia content to compatible clients on the network.
It aims to be fully compliant with DLNA and UPnP-AV standards.")
(license license:gpl2)))
(define-public gerbera
(package
(name "gerbera")
(version "1.12.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gerbera/gerbera")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jz3jpg6ja9vi5zykcdh410r07ysrn6g0kzyj0v7d3689jxp94lg"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags
#~(list "-DWITH_SYSTEMD=NO"
"-DWITH_AVCODEC=YES"
"-DWITH_TESTS=YES")))
(inputs
(list curl
duktape
ffmpeg
file
fmt
libebml
libexif
libmatroska
libupnp
pugixml
spdlog
sqlite
taglib
`(,util-linux "lib")
zlib))
(native-inputs
(list googletest pkg-config))
(home-page "https://gerbera.io/")
(synopsis "UPnP media server")
(description "Gerbera is a UPnP media server which allows you to stream
your digital media through your home network and consume it on a variety of
UPnP compatible devices.")
(license license:gpl2)))

View File

@ -1940,6 +1940,81 @@ thumbnailer uses ffmpeg to decode frames from the video files, so supported
videoformats depend on the configuration flags of ffmpeg.")
(license license:gpl2+)))
(define-public ffmpeg-progress-yield
(package
(name "ffmpeg-progress-yield")
(version "0.7.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "ffmpeg-progress-yield" version))
(sha256
(base32
"07j6m8p8z8ybl75h0d4xzjl1pvkfzr0i73siysqcgrrahdgsxrls"))))
(build-system pyproject-build-system)
(arguments
;; Not sure if the test file actually does anything.
(list #:phases #~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "test/test.py"))))
(add-after 'wrap 'wrap-program
;; Wrap ffmpeg on the executable.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((fpy "bin/ffmpeg-progress-yield")
(ffm "bin/ffmpeg"))
(wrap-program (search-input-file outputs fpy)
`("PATH" ":" prefix
(,(search-input-file inputs ffm))))))))))
(inputs (list bash-minimal ffmpeg))
(home-page "https://github.com/slhck/ffmpeg-progress-yield")
(synopsis "Run an ffmpeg command with progress")
(description "This package allows an ffmpeg command to run with progress.
It is usually a complement to @code{ffmpeg-normalize}.")
(license license:expat)))
(define-public ffmpeg-normalize
(package
(name "ffmpeg-normalize")
(version "1.27.7")
(source (origin
(method url-fetch)
(uri (pypi-uri "ffmpeg-normalize" version))
(sha256
(base32
"0idqqgsr3p840vx2x3idn851qwghjdbm6v4yrq2kprppyfvglni7"))))
(build-system pyproject-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "-m" "pytest"
"test/test.py"))))
(add-after 'wrap 'wrap-ffmpeg
;; Wrap ffmpeg on the executable.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((ffn (search-input-file outputs
"bin/ffmpeg-normalize"))
(ffm (search-input-file inputs "bin/ffmpeg")))
(wrap-program ffn
`("FFMPEG_PATH" = (,ffm)))))))))
(native-inputs (list python-pytest))
(inputs (list bash-minimal ffmpeg))
(propagated-inputs (list ffmpeg-progress-yield
python-colorama
python-colorlog
python-tqdm))
(home-page "https://github.com/slhck/ffmpeg-normalize")
(synopsis "Normalize audio via ffmpeg")
(description "This program normalizes media files to a certain loudness
level using the EBU R128 loudness normalization procedure. It can also
perform RMS-based normalization (where the mean is lifted or attenuated),
or peak normalization to a certain target level. Batch processing of several
input files is possible, including video files.")
(license license:expat)))
(define-public vlc
(package
(name "vlc")

View File

@ -719,7 +719,7 @@ are detected, the user is notified.")))
(define-public neovim
(package
(name "neovim")
(version "0.9.1")
(version "0.9.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -728,7 +728,7 @@ are detected, the user is notified.")))
(file-name (git-file-name name version))
(sha256
(base32
"18dsl9fjcqvcqffny6jmcxwx5a7d13aykn310hbgghny8l11rw3c"))))
"0wj1p5x88s58f22crdyzwlfiqgnwlqdkbw4wxllf0v5hg16gbnhp"))))
(build-system cmake-build-system)
(arguments
(list #:modules

View File

@ -586,7 +586,7 @@ driven and does not detract you from your daily work.")
(define-public nyxt
(package
(name "nyxt")
(version "3.9.0")
(version "3.9.1")
(source
(origin
(method git-fetch)
@ -595,7 +595,7 @@ driven and does not detract you from your daily work.")
(commit version)))
(sha256
(base32
"1nbj3nv9bb6gngkd3xdcz5wxpb9j3yh8gcskrb7hbbj4849h16kd"))
"1x7ia43yh024hwwsh2a6g2daznkzgjlisnxvjfcb9sgvfqfa368i"))
(file-name (git-file-name "nyxt" version))
(modules '((guix build utils)))
(snippet

View File

@ -278,14 +278,14 @@
(define-public httpd
(package
(name "httpd")
(version "2.4.57")
(version "2.4.58")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/httpd/httpd-"
version ".tar.bz2"))
(sha256
(base32
"0ajdz5f2w9nbmqydip2mv9m4xlnc4swmw7mqzgnrbq4mxr5bik6v"))))
"1id45r2ccgkbjm9i998997ch32lvicpyynyx8x6aa4420wmdf5ps"))))
(build-system gnu-build-system)
(native-inputs (list `(,pcre "bin"))) ;for 'pcre-config'
(inputs (list apr apr-util openssl perl)) ; needed to run bin/apxs
@ -448,7 +448,7 @@ replacing them with data URIs.")
(define-public monolith
(package
(name "monolith")
(version "2.6.1")
(version "2.7.0")
(source
(origin
(method git-fetch)
@ -457,23 +457,24 @@ replacing them with data URIs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pj4wnsw5a4ys79sqw68ib6zimaqlkplb89x6yncg949a6hj8516"))))
(base32 "0ccwjsp8gdgp0wafc3zvlfmx3f58axc1k1ac80qha3g60xccqn56"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-atty" ,rust-atty-0.2)
("rust-base64" ,rust-base64-0.13)
("rust-chrono" ,rust-chrono-0.4)
("rust-clap" ,rust-clap-2)
("rust-cssparser" ,rust-cssparser-0.28)
("rust-clap" ,rust-clap-3)
("rust-cssparser" ,rust-cssparser-0.29)
("rust-encoding-rs" ,rust-encoding-rs-0.8)
("rust-html5ever" ,rust-html5ever-0.24)
("rust-percent-encoding" ,rust-percent-encoding-2)
("rust-regex" ,rust-regex-1)
("rust-reqwest" ,rust-reqwest-0.11)
("rust-sha2" ,rust-sha2-0.9)
("rust-sha2" ,rust-sha2-0.10)
("rust-url" ,rust-url-2))
#:cargo-development-inputs
(("rust-assert-cmd" ,rust-assert-cmd-1))))
(("rust-assert-cmd" ,rust-assert-cmd-2))))
(native-inputs
(list pkg-config))
(inputs
@ -1003,7 +1004,7 @@ similar to live activity monitoring provided with NGINX plus.")
(define-public lighttpd
(package
(name "lighttpd")
(version "1.4.71")
(version "1.4.72")
(source (origin
(method url-fetch)
(uri (string-append "https://download.lighttpd.net/lighttpd/"
@ -1011,7 +1012,7 @@ similar to live activity monitoring provided with NGINX plus.")
"lighttpd-" version ".tar.xz"))
(sha256
(base32
"1b5g4l9q84sjfwx9x1d7bqp9n5j0wkaj8cyzak1zv5h3l9fr3dmq"))))
"1v2m9vavrg3ibbl0kfq3rjlnqicbrlrkqih1iisa0m5pd56xxjpp"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
@ -7958,6 +7959,7 @@ derivation by David Revoy from the original MonsterID by Andreas Gohr.")
(package
(name "nghttp2")
(version "1.49.0")
(replacement nghttp2-1.57)
(source
(origin
(method url-fetch)
@ -8068,6 +8070,19 @@ compressed JSON header blocks.
(("print \\(ver >= '3\\.8'\\)")
"print (tuple(map(int, ver.split('.'))) >= (3,8))")))))))))))
(define-public nghttp2-1.57
(package
(inherit nghttp2)
(version "1.57.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/nghttp2/nghttp2/"
"releases/download/v" version "/"
"nghttp2-" version ".tar.xz"))
(sha256
(base32
"0n598w7w8rqdqiay2fad3a11253hibakan5c4vjkpx09648v044j"))))))
(define-public hpcguix-web
(package
(name "hpcguix-web")

View File

@ -79,7 +79,7 @@
(define-public wine-minimal
(package
(name "wine-minimal")
(version "8.16")
(version "8.18")
(source
(origin
(method url-fetch)
@ -91,7 +91,8 @@
(string-append "https://dl.winehq.org/wine/source/" dir
"wine-" version ".tar.xz")))
(sha256
(base32 "1zgkqflqgl2y3a90f2nvcc1vhzr9ni0lps276553j8zgbqvnd0hn"))))
(base32 "1nv06awb3hv26v64nqnks9yiz7w368scxznj77vxa3zpmhafzyih"))))
(properties '((upstream-name . "wine")))
(build-system gnu-build-system)
(native-inputs (list bison flex))
(inputs `())

View File

@ -1988,7 +1988,7 @@ core/thread.")
(define-public wlr-randr
(package
(name "wlr-randr")
(version "0.3.0")
(version "0.3.1")
(source
(origin
(method git-fetch)
@ -1997,7 +1997,7 @@ core/thread.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0cj24fb6s7n8nphvhrp8ldrivjdcrjw64i5v9rsfb6z80q4qg548"))))
(base32 "13mya6j5z7cwg2a973y28ya8w36kxhj0fgj8bk9z6yf2w0ryr5xv"))))
(build-system meson-build-system)
(inputs (list wayland))
(native-inputs (list pkg-config))
@ -2943,7 +2943,7 @@ read and write, and compatible with JSON.")
(define-public labwc
(package
(name "labwc")
(version "0.6.4")
(version "0.6.5")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2952,13 +2952,14 @@ read and write, and compatible with JSON.")
(file-name (git-file-name name version))
(sha256
(base32
"00ajr7s8qywdfa9vhlfc02p1wwdcqaaa09pm1im9w6mrvb904lzh"))))
"04401k1i6b9s2v6mbhw5llla8fdpkhmgz826iva246iqch9z20lx"))))
(build-system meson-build-system)
(native-inputs
(list pkg-config gettext-minimal scdoc))
(inputs
(list cairo
glib
librsvg
libxcb
libxml2
pango

View File

@ -52,6 +52,10 @@
rottlog-configuration
rottlog-configuration?
rottlog-configuration-rottlog
rottlog-configuration-rc-file
rottlog-configuration-rotations
rottlog-configuration-jobs
rottlog-service
rottlog-service-type
@ -193,25 +197,25 @@ for ROTATION."
(define-record-type* <rottlog-configuration>
rottlog-configuration make-rottlog-configuration
rottlog-configuration?
(rottlog rottlog-rottlog ;file-like
(rottlog rottlog-configuration-rottlog ;file-like
(default rottlog))
(rc-file rottlog-rc-file ;file-like
(rc-file rottlog-configuration-rc-file ;file-like
(default (file-append rottlog "/etc/rc")))
(rotations rottlog-rotations ;list of <log-rotation>
(rotations rottlog-configuration-rotations ;list of <log-rotation>
(default %default-rotations))
(jobs rottlog-jobs ;list of <mcron-job>
(jobs rottlog-configuration-jobs ;list of <mcron-job>
(default #f)))
(define (rottlog-etc config)
`(("rottlog"
,(file-union "rottlog"
(cons `("rc" ,(rottlog-rc-file config))
(cons `("rc" ,(rottlog-configuration-rc-file config))
(log-rotations->/etc-entries
(rottlog-rotations config)))))))
(rottlog-configuration-rotations config)))))))
(define (rottlog-jobs-or-default config)
(or (rottlog-jobs config)
(default-jobs (rottlog-rottlog config))))
(or (rottlog-configuration-jobs config)
(default-jobs (rottlog-configuration-rottlog config))))
(define rottlog-service-type
(service-type
@ -226,12 +230,12 @@ Old log files are removed or compressed according to the configuration.")
;; Add Rottlog to the global profile so users can access
;; the documentation.
(service-extension profile-service-type
(compose list rottlog-rottlog))))
(compose list rottlog-configuration-rottlog))))
(compose concatenate)
(extend (lambda (config rotations)
(rottlog-configuration
(inherit config)
(rotations (append (rottlog-rotations config)
(rotations (append (rottlog-configuration-rotations config)
rotations)))))
(default-value (rottlog-configuration))))

View File

@ -369,7 +369,7 @@ TARGET in the other system."
;; List of know pseudo file system types. This is used when validating file
;; system definitions.
'("binfmt_misc" "cgroup" "cgroup2" "debugfs" "devpts" "devtmpfs" "efivarfs" "fusectl"
"hugetlbfs" "overlay" "proc" "securityfs" "sysfs" "tmpfs"))
"hugetlbfs" "overlay" "proc" "securityfs" "sysfs" "tmpfs" "xenfs"))
(define %fuse-control-file-system
;; Control file system for Linux' file systems in user-space (FUSE).

View File

@ -168,6 +168,12 @@ environment with the store shared with the host. MAPPINGS is a list of
file-systems
#:volatile-root? volatile?
rest)))
;; The (QEMU-only) "cirrus" graphics driver is still expected by some
;; VPS with old QEMU versions. See <https://bugs.gnu.org/36069>.
(initrd-modules (let ((modules (operating-system-initrd-modules os)))
(if (member "cirrus" modules)
modules
(cons "cirrus" modules))))
;; Disable swap.
(swap-devices '())

View File

@ -3,7 +3,7 @@
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;;
;;; This file is part of GNU Guix.
@ -114,12 +114,19 @@ commit hash and its date rather than a proper release tag."
(let ((go (resolve-interface '(gnu packages golang))))
(module-ref go 'go)))
(define (default-gccgo)
;; Lazily resolve the binding to avoid a circular dependency.
(let ((gcc (resolve-interface '(gnu packages gcc))))
(module-ref gcc 'gccgo-12)))
(define (make-go-std)
(module-ref (resolve-interface '(gnu packages golang)) 'make-go-std))
(define* (lower name
#:key source inputs native-inputs outputs system target
(go (default-go))
(go (if (supported-package? (default-go))
(default-go)
(default-gccgo)))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."

View File

@ -60,7 +60,7 @@ release corresponding to NAME and VERSION."
"/src/contrib/"
name "_" version ".tar.gz")
;; TODO: use %bioconductor-version from (guix import cran)
(string-append "https://bioconductor.org/packages/3.17"
(string-append "https://bioconductor.org/packages/3.18"
type-url-part
"/src/contrib/"
name "_" version ".tar.gz"))))

View File

@ -926,7 +926,7 @@ specified."
(entries -> (map instance->entry instances derivations)))
(return (manifest entries))))
(define (package-cache-file manifest)
(define* (package-cache-file manifest #:optional system)
"Build a package cache file for the instance in MANIFEST. This is meant to
be used as a profile hook."
;; Note: Emit a profile in format version 3, which was introduced in 2017
@ -961,6 +961,7 @@ be used as a profile hook."
(gexp->derivation-in-inferior "guix-package-cache" build
profile
#:system system
;; If the Guix in PROFILE is too old and
;; lacks 'guix repl', don't build the cache

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014-2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -176,11 +176,8 @@ references."
(append-map (cut references/cached store <>) items))))
(append-map (cut references/cached store <>) items)))
(let ((refs (references* (map (cut derivation->output-path drv <>)
outputs)))
(self (match (derivation->output-paths drv)
(((names . items) ...)
items))))
(let* ((self (map (cut derivation->output-path drv <>) outputs))
(refs (references* self)))
(remove (cut member <> self) refs)))
(define %graft-cache
@ -207,7 +204,7 @@ references."
(return result)))))))
(define (reference-origins drv items)
"Return the derivation/output pairs among the inputs of DRV, recursively,
"Return the derivation/output pairs among DRV and its inputs, recursively,
that produce ITEMS. Elements of ITEMS not produced by a derivation (i.e.,
it's a content-addressed \"source\"), or not produced by a dependency of DRV,
have no corresponding element in the resulting list."
@ -238,13 +235,10 @@ have no corresponding element in the resulting list."
((set-contains? visited drv)
(loop rest items result visited))
(else
(let* ((inputs
(let ((result items (lookup-derivers drv result items)))
(loop (append rest
(map derivation-input-derivation
(derivation-inputs drv)))
(result items
(fold2 lookup-derivers
result items inputs)))
(loop (append rest inputs)
items result
(set-insert drv visited)))))))))
@ -258,16 +252,17 @@ GRAFTS to the dependencies of DRV. Return the resulting list of grafts.
This is a monadic procedure in %STATE-MONAD where the state is a vhash mapping
derivations to the corresponding set of grafts."
(define (graft-origin? drv graft)
;; Return true if DRV corresponds to the origin of GRAFT.
(define (graft-origin? drv output graft)
;; Return true if DRV and OUTPUT correspond to the origin of GRAFT.
(match graft
(($ <graft> (? derivation? origin) output)
(($ <graft> (? derivation? origin) origin-output)
(and (string=? origin-output output)
(match (assoc-ref (derivation->output-paths drv) output)
((? string? result)
(string=? result
(derivation->output-path origin output)))
(_
#f)))
#f))))
(_
#f)))
@ -278,7 +273,7 @@ derivations to the corresponding set of grafts."
((drv . output)
;; If GRAFTS already contains a graft from DRV, do not
;; override it.
(if (find (cut graft-origin? drv <>) grafts)
(if (find (cut graft-origin? drv output <>) grafts)
(state-return grafts)
(cumulative-grafts store drv grafts
#:outputs (list output)

View File

@ -181,9 +181,9 @@ package definition."
(define %cran-canonical-url "https://cran.r-project.org/package=")
(define %bioconductor-url "https://bioconductor.org/packages/")
;; The latest Bioconductor release is 3.17. Bioconductor packages should be
;; The latest Bioconductor release is 3.18. Bioconductor packages should be
;; updated together.
(define %bioconductor-version "3.17")
(define %bioconductor-version "3.18")
(define* (bioconductor-packages-list-url #:optional type)
(string-append "https://bioconductor.org/packages/"

View File

@ -2022,11 +2022,12 @@ symbolic output name, such as \"out\". Note that this procedure calls
;;; Monadic interface.
;;;
(define (set-guile-for-build guile)
(define* (set-guile-for-build guile #:optional system)
"This monadic procedure changes the Guile currently used to run the build
code of derivations to GUILE, a package object."
code of derivations to GUILE, a package object, compiled for SYSTEM."
(lambda (store)
(let ((guile (package-derivation store guile)))
(let ((guile (package-derivation store guile
(or system (%current-system)))))
(values (%guile-for-build guile) store))))
(define* (package-file package

View File

@ -993,7 +993,7 @@ if not found."
(anym %store-monad
entry-lookup-package (manifest-entries manifest)))
(define (info-dir-file manifest)
(define* (info-dir-file manifest #:optional system)
"Return a derivation that builds the 'dir' file for all the entries of
MANIFEST."
(define texinfo ;lazy reference
@ -1051,13 +1051,14 @@ MANIFEST."
'#$(manifest-inputs manifest)))))))
(gexp->derivation "info-dir" build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
`((type . profile-hook)
(hook . info-dir))))
(define (ghc-package-cache-file manifest)
(define* (ghc-package-cache-file manifest #:optional system)
"Return a derivation that builds the GHC 'package.cache' file for all the
entries of MANIFEST, or #f if MANIFEST does not have any GHC packages."
(define ghc ;lazy reference
@ -1108,6 +1109,7 @@ entries of MANIFEST, or #f if MANIFEST does not have any GHC packages."
(if (any (cut string-prefix? "ghc" <>)
(map manifest-entry-name (manifest-entries manifest)))
(gexp->derivation "ghc-package-cache" build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
@ -1115,7 +1117,7 @@ entries of MANIFEST, or #f if MANIFEST does not have any GHC packages."
(hook . ghc-package-cache)))
(return #f))))
(define (ca-certificate-bundle manifest)
(define* (ca-certificate-bundle manifest #:optional system)
"Return a derivation that builds a single-file bundle containing the CA
certificates in the /etc/ssl/certs sub-directories of the packages in
MANIFEST. Single-file bundles are required by programs such as Git and Lynx."
@ -1179,13 +1181,14 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx."
#t))))))
(gexp->derivation "ca-certificate-bundle" build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
`((type . profile-hook)
(hook . ca-certificate-bundle))))
(define (emacs-subdirs manifest)
(define* (emacs-subdirs manifest #:optional system)
(define build
(with-imported-modules (source-module-closure
'((guix build profiles)
@ -1219,13 +1222,14 @@ MANIFEST. Single-file bundles are required by programs such as Git and Lynx."
(newline port)
#t)))))))
(gexp->derivation "emacs-subdirs" build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
`((type . profile-hook)
(hook . emacs-subdirs))))
(define (gdk-pixbuf-loaders-cache-file manifest)
(define* (gdk-pixbuf-loaders-cache-file manifest #:optional system)
"Return a derivation that produces a loaders cache file for every gdk-pixbuf
loaders discovered in MANIFEST."
(define gdk-pixbuf ;lazy reference
@ -1264,6 +1268,7 @@ loaders discovered in MANIFEST."
(if gdk-pixbuf
(gexp->derivation "gdk-pixbuf-loaders-cache-file" build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
@ -1271,7 +1276,7 @@ loaders discovered in MANIFEST."
(hook . gdk-pixbuf-loaders-cache-file)))
(return #f))))
(define (glib-schemas manifest)
(define* (glib-schemas manifest #:optional system)
"Return a derivation that unions all schemas from manifest entries and
creates the Glib 'gschemas.compiled' file."
(define glib ; lazy reference
@ -1318,6 +1323,7 @@ creates the Glib 'gschemas.compiled' file."
;; Don't run the hook when there's nothing to do.
(if %glib
(gexp->derivation "glib-schemas" build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
@ -1325,7 +1331,7 @@ creates the Glib 'gschemas.compiled' file."
(hook . glib-schemas)))
(return #f))))
(define (gtk-icon-themes manifest)
(define* (gtk-icon-themes manifest #:optional system)
"Return a derivation that unions all icon themes from manifest entries and
creates the GTK+ 'icon-theme.cache' file for each theme."
(define gtk+ ; lazy reference
@ -1377,6 +1383,7 @@ creates the GTK+ 'icon-theme.cache' file for each theme."
;; Don't run the hook when there's nothing to do.
(if %gtk+
(gexp->derivation "gtk-icon-themes" build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
@ -1384,7 +1391,7 @@ creates the GTK+ 'icon-theme.cache' file for each theme."
(hook . gtk-icon-themes)))
(return #f))))
(define (gtk-im-modules manifest)
(define* (gtk-im-modules manifest #:optional system)
"Return a derivation that builds the cache files for input method modules
for both major versions of GTK+."
@ -1454,6 +1461,7 @@ for both major versions of GTK+."
#t))))
(if (or gtk+ gtk+-2)
(gexp->derivation "gtk-im-modules" gexp
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
@ -1461,7 +1469,7 @@ for both major versions of GTK+."
(hook . gtk-im-modules)))
(return #f)))))
(define (linux-module-database manifest)
(define* (linux-module-database manifest #:optional system)
"Return a derivation that unites all the kernel modules of the manifest
and creates the dependency graph of all these kernel modules.
@ -1511,13 +1519,14 @@ This is meant to be used as a profile hook."
(_ (error "Specified Linux kernel and Linux kernel modules
are not all of the same version"))))))))
(gexp->derivation "linux-module-database" build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
`((type . profile-hook)
(hook . linux-module-database))))
(define (xdg-desktop-database manifest)
(define* (xdg-desktop-database manifest #:optional system)
"Return a derivation that builds the @file{mimeinfo.cache} database from
desktop files. It's used to query what applications can handle a given
MIME type."
@ -1551,6 +1560,7 @@ MIME type."
;; Don't run the hook when 'glib' is not referenced.
(if glib
(gexp->derivation "xdg-desktop-database" build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
@ -1558,7 +1568,7 @@ MIME type."
(hook . xdg-desktop-database)))
(return #f))))
(define (xdg-mime-database manifest)
(define* (xdg-mime-database manifest #:optional system)
"Return a derivation that builds the @file{mime.cache} database from manifest
entries. It's used to query the MIME type of a given file."
(define shared-mime-info ; lazy reference
@ -1605,6 +1615,7 @@ entries. It's used to query the MIME type of a given file."
;; Don't run the hook when there are no GLib based applications.
(if glib
(gexp->derivation "xdg-mime-database" build
#:system system
#:local-build? #t
#:substitutable? #f
#:properties
@ -1615,7 +1626,7 @@ entries. It's used to query the MIME type of a given file."
;; Several font packages may install font files into same directory, so
;; fonts.dir and fonts.scale file should be generated here, instead of in
;; packages.
(define (fonts-dir-file manifest)
(define* (fonts-dir-file manifest #:optional system)
"Return a derivation that builds the @file{fonts.dir} and @file{fonts.scale}
files for the fonts of the @var{manifest} entries."
(define mkfontscale
@ -1676,6 +1687,7 @@ files for the fonts of the @var{manifest} entries."
directories)))))))
(gexp->derivation "fonts-dir" build
#:system system
#:modules '((guix build utils)
(guix build union)
(srfi srfi-26))
@ -1685,7 +1697,7 @@ files for the fonts of the @var{manifest} entries."
`((type . profile-hook)
(hook . fonts-dir))))
(define (manual-database manifest)
(define* (manual-database manifest #:optional system)
"Return a derivation that builds the manual page database (\"mandb\") for
the entries in MANIFEST."
(define gdbm-ffi
@ -1761,23 +1773,24 @@ the entries in MANIFEST."
(force-output))))))
(gexp->derivation "manual-database" build
#:system system
#:substitutable? #f
#:local-build? #t
#:properties
`((type . profile-hook)
(hook . manual-database))))
(define (manual-database/optional manifest)
(define* (manual-database/optional manifest #:optional system)
"Return a derivation to build the manual database of MANIFEST, but only if
MANIFEST contains the \"man-db\" package. Otherwise, return #f."
;; Building the man database (for "man -k") is expensive and rarely used.
;; Build it only if the profile also contains "man-db".
(mlet %store-monad ((man-db (manifest-lookup-package manifest "man-db")))
(if man-db
(manual-database manifest)
(manual-database manifest system)
(return #f))))
(define (texlive-font-maps manifest)
(define* (texlive-font-maps manifest #:optional system)
"Return a derivation that builds the TeX Live font maps for the entries in
MANIFEST."
(define entry->texlive-input
@ -1898,6 +1911,7 @@ MANIFEST."
;; incomplete modular TeX Live installations to generate errors.
(if (any texlive-scripts-entry? (manifest-entries manifest))
(gexp->derivation "texlive-font-maps" build
#:system system
#:substitutable? #f
#:local-build? #t
#:properties
@ -1977,7 +1991,8 @@ are cross-built for TARGET."
(extras (if (null? (manifest-entries manifest))
(return '())
(mapm/accumulate-builds (lambda (hook)
(hook manifest))
(hook manifest
system))
hooks))))
(define extra-inputs
(filter-map (lambda (drv)

View File

@ -1100,6 +1100,7 @@ command-line option processing with 'parse-command-line'."
;; Evaluate EXP... with STORE bound to a connection, unless
;; STORE-NEEDED? is false, in which case STORE is bound to #f.
(let ((proc (lambda (store) exp ...)))
(parameterize ((%graft? (assoc-ref opts 'graft?)))
(if store-needed?
(with-store s
(set-build-options-from-command-line s opts)
@ -1110,7 +1111,7 @@ command-line option processing with 'parse-command-line'."
#:dry-run?
(assoc-ref opts 'dry-run?))
(proc s)))
(proc #f))))
(proc #f)))))
(when container? (assert-container-features))
@ -1122,11 +1123,11 @@ command-line option processing with 'parse-command-line'."
(when no-cwd?
(leave (G_ "--no-cwd cannot be used without '--container'~%")))
(when emulate-fhs?
(leave (G_ "'--emulate-fhs' cannot be used without '--container~%'")))
(leave (G_ "'--emulate-fhs' cannot be used without '--container'~%")))
(when nesting?
(leave (G_ "'--nesting' cannot be used without '--container~%'")))
(leave (G_ "'--nesting' cannot be used without '--container'~%")))
(when (pair? symlinks)
(leave (G_ "'--symlink' cannot be used without '--container~%'"))))
(leave (G_ "'--symlink' cannot be used without '--container'~%"))))
(with-store/maybe store
(with-status-verbosity (assoc-ref opts 'verbosity)
@ -1146,14 +1147,14 @@ command-line option processing with 'parse-command-line'."
(warning (G_ "no packages specified; creating an empty environment~%")))
;; Use the bootstrap Guile when requested.
(parameterize ((%graft? (assoc-ref opts 'graft?))
(%guile-for-build
(parameterize ((%guile-for-build
(and store-needed?
(package-derivation
store
(if bootstrap?
%bootstrap-guile
(default-guile))))))
(default-guile))
system))))
(run-with-store store
;; Containers need a Bourne shell at /bin/sh.
(mlet* %store-monad ((bash (environment-bash container?

View File

@ -18,6 +18,7 @@
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 Philip McGrath <philip@philipmcgrath.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -111,6 +112,7 @@
cxx-for-target
ld-for-target
pkg-config-for-target
strip-for-target
version-compare
version>?
@ -784,6 +786,11 @@ architecture (x86_64)?"
(string-append target "-pkg-config")
"pkg-config"))
(define* (strip-for-target #:optional (target (%current-target-system)))
(if target
(string-append target "-strip")
"strip"))
(define version-compare
(let ((strverscmp
(let ((sym (or (dynamic-func "strverscmp" (dynamic-link))

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -10,21 +10,22 @@
# Alvaro Tejero Cantero <alvarot@gmail.com>, 2022.
# Julien Lepiller <fedora-account@lepiller.eu>, 2022.
# Florian Pelz <pelzflorian@pelzflorian.de>, 2023.
# Alejandro Alcaide <alex@blueselene.com>, 2023.
#: guix/diagnostics.scm:159
msgid ""
msgstr ""
"Project-Id-Version: guix 1.2.0-pre3\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2023-06-19 03:18+0000\n"
"PO-Revision-Date: 2023-07-30 12:21+0000\n"
"Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n"
"PO-Revision-Date: 2023-10-23 10:36+0000\n"
"Last-Translator: Alejandro Alcaide <alex@blueselene.com>\n"
"Language-Team: Spanish <https://translate.fedoraproject.org/projects/guix/guix/es/>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.18.2\n"
"X-Generator: Weblate 5.0.2\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
#: gnu.scm:81
@ -111,12 +112,12 @@ msgstr "~a: no se ha especificado un valor para el servicio de tipo '~a'"
#: gnu/services.scm:298
msgid "This is a simple service."
msgstr ""
msgstr "Este es un servicio simple."
#: gnu/services.scm:341
#, scheme-format
msgid "modify-services: service '~a' not found in service list"
msgstr ""
msgstr "modify-services: servicio '~a' no encontrado en la lista de servicios"
# FUZZY
#: gnu/services.scm:422

View File

@ -7,21 +7,22 @@
# Julien Lepiller <fedora-account@lepiller.eu>, 2022, 2023.
# Tobias Geerinckx-Rice <fedora@tobias.gr>, 2023.
# Florian Pelz <pelzflorian@pelzflorian.de>, 2023.
# Giacomo Leidi <goodoldpaul@autistici.org>, 2023.
#: guix/diagnostics.scm:159
msgid ""
msgstr ""
"Project-Id-Version: GNU guix\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2023-06-19 03:18+0000\n"
"PO-Revision-Date: 2023-07-30 12:21+0000\n"
"Last-Translator: Florian Pelz <pelzflorian@pelzflorian.de>\n"
"PO-Revision-Date: 2023-10-09 07:36+0000\n"
"Last-Translator: Giacomo Leidi <goodoldpaul@autistici.org>\n"
"Language-Team: Italian <https://translate.fedoraproject.org/projects/guix/guix/it/>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.18.2\n"
"X-Generator: Weblate 5.0.2\n"
#: gnu.scm:81
#, scheme-format
@ -110,7 +111,7 @@ msgstr "Questo è un servizio semplice."
#: gnu/services.scm:341
#, scheme-format
msgid "modify-services: service '~a' not found in service list"
msgstr ""
msgstr "modify-services: il servizio '~a' non è presente nella lista dei servizi"
#: gnu/services.scm:422
msgid ""
@ -255,9 +256,9 @@ msgid "service of type '~a' not found"
msgstr "servizio di tipo '~a' non trovato"
#: gnu/system.scm:217
#, fuzzy, scheme-format
#, scheme-format
msgid "the 'hosts-file' field is deprecated, please use 'hosts-service-type' instead~%"
msgstr "è deprecato l'uso di 'disk-image': usa invece 'image'~%"
msgstr "il campo 'hosts-file' è deprecato: per favore usa 'hosts-service-type'~%"
#: gnu/system.scm:397
#, scheme-format

View File

@ -11,21 +11,22 @@
# Julien Lepiller <fedora-account@lepiller.eu>, 2022.
# Wen Wu Song <iyzsong@envs.net>, 2023.
# Hilton Chain <yareli@ultrarare.space>, 2023.
# a x <meruarasu@email1.io>, 2023.
#: guix/diagnostics.scm:159
msgid ""
msgstr ""
"Project-Id-Version: guix 0.14.0\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2023-06-19 03:18+0000\n"
"PO-Revision-Date: 2023-06-06 07:20+0000\n"
"Last-Translator: Hilton Chain <yareli@ultrarare.space>\n"
"PO-Revision-Date: 2023-10-06 19:36+0000\n"
"Last-Translator: a x <meruarasu@email1.io>\n"
"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/projects/guix/guix/zh_CN/>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.17\n"
"X-Generator: Weblate 5.0.2\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
#: gnu.scm:81
@ -182,11 +183,12 @@ msgid ""
msgstr "这是 @dfn{system profile} ,位于 @file{/run/current-system/profile} 。它包含了系统管理员想要的对所有系统用户全局可用的软件包。"
#: gnu/services.scm:942
#, fuzzy
msgid ""
"Make ``firmware'' files loadable by the operating system\n"
"kernel. Firmware may then be uploaded to some of the machine's devices, such\n"
"as Wifi cards."
msgstr ""
msgstr "让固件文件可以被系统加载。这样固件可以被载入到这台机器的设备中,比如说无线网卡。"
#: gnu/services.scm:973
msgid ""
@ -195,34 +197,36 @@ msgid ""
msgstr ""
#: gnu/services.scm:1031
#, fuzzy
msgid ""
"Builds the linux-libre kernel profile, containing\n"
"the kernel itself and any linux-loadable kernel modules. This can be extended\n"
"with a function that accepts the current configuration and returns a new\n"
"configuration."
msgstr ""
msgstr "建构linux-libre内核profile包括内核和linux可装载的内核模块。这可以用一个输入当前配置返回新配置的函数来拓展。"
#: gnu/services.scm:1053
#, fuzzy
msgid ""
"Adds packages and package outputs as modules\n"
"included in the booted linux-libre profile. Other services can extend this\n"
"service type to add particular modules to the set of linux-loadable modules."
msgstr ""
msgstr "添加包和包输出作为启动的linux-libre profile的模块。其他服务可已拓展此类服务以向linux可载的模块中添加特定模块。"
#: gnu/services.scm:1080
#, scheme-format
#, fuzzy, scheme-format
msgid "no target of type '~a' for service '~a'"
msgstr ""
msgstr "没有为服务'~a'找到类为'~a'的目标"
#: gnu/services.scm:1106 gnu/services.scm:1225
#, scheme-format
#, fuzzy, scheme-format
msgid "more than one target service of type '~a'"
msgstr ""
msgstr "多余一个类为'~a'的目标服务"
#: gnu/services.scm:1215
#, scheme-format
#, fuzzy, scheme-format
msgid "service of type '~a' not found"
msgstr ""
msgstr "未找到类为'~a'的服务"
#: gnu/system.scm:217
#, scheme-format
@ -235,17 +239,17 @@ msgid "unrecognized uuid ~a at '~a'~%"
msgstr "有无法识别的 UUID ~a 在 '~a' 中~%"
#: gnu/system.scm:485
#, fuzzy, scheme-format
#, scheme-format
msgid "unrecognized crypto-devices ~S at '~a'~%"
msgstr "无法识别的选项: ~a~%"
msgstr ""
#: gnu/system.scm:505
#, fuzzy, scheme-format
msgid "unrecognized boot parameters at '~a'~%"
msgstr "无法识别的选项: ~a~%"
msgstr "无法识别的启动选项: ~a~%"
#: gnu/system.scm:508
#, scheme-format
#, fuzzy, scheme-format
msgid ""
"This probably means that this version\n"
"of Guix is older than the one that created @file{~a}. To address this, you\n"
@ -255,6 +259,11 @@ msgid ""
"guix pull\n"
"@end example"
msgstr ""
"这大概意味着此版本的Guix比使用@file{~a}创建的版本更老。为了解决此问题需要更新Guix\n"
"\n"
"@example\n"
"guix pull\n"
"@end example"
#: gnu/system.scm:645
#, scheme-format
@ -2018,7 +2027,7 @@ msgstr "分区表"
#: gnu/installer/newt/partition.scm:134
msgid "Please select a partition type."
msgstr ""
msgstr "请选择分区类型。"
#: gnu/installer/newt/partition.scm:135
msgid "Partition type"
@ -2038,8 +2047,9 @@ msgstr ""
#: gnu/installer/newt/partition.scm:164 gnu/installer/newt/partition.scm:169
#: gnu/installer/newt/partition.scm:174
#, fuzzy
msgid "Creation error"
msgstr ""
msgstr "创建错误"
#: gnu/installer/newt/partition.scm:168
msgid "Extended partition creation error."
@ -2055,8 +2065,9 @@ msgid "Please enter the password for the encryption of partition ~a (label: ~a).
msgstr ""
#: gnu/installer/newt/partition.scm:189 gnu/installer/newt/wifi.scm:92
#, fuzzy
msgid "Password required"
msgstr ""
msgstr "需要密码"
#: gnu/installer/newt/partition.scm:194
#, scheme-format
@ -2089,20 +2100,20 @@ msgstr ""
#: gnu/installer/newt/partition.scm:327
msgid "Encryption label"
msgstr ""
msgstr "加密标签"
#: gnu/installer/newt/partition.scm:344
#, scheme-format
msgid "Please enter the size of the partition. The maximum size is ~a."
msgstr ""
msgstr "请输入分区大小。最大为~a。"
#: gnu/installer/newt/partition.scm:346
msgid "Partition size"
msgstr ""
msgstr "分区容量"
#: gnu/installer/newt/partition.scm:364
msgid "The percentage can not be superior to 100."
msgstr ""
msgstr "百分比不得超过100。"
#: gnu/installer/newt/partition.scm:365 gnu/installer/newt/partition.scm:370
#: gnu/installer/newt/partition.scm:375
@ -2137,20 +2148,20 @@ msgstr ""
#: gnu/installer/newt/partition.scm:465
msgid "Partition creation"
msgstr ""
msgstr "分区创建"
#: gnu/installer/newt/partition.scm:466
msgid "Partition edit"
msgstr ""
msgstr "分区编辑"
#: gnu/installer/newt/partition.scm:647
#, scheme-format
#, fuzzy, scheme-format
msgid "Are you sure you want to delete everything on disk ~a?"
msgstr ""
msgstr "您确定要删除盘~a上的所有内容吗"
#: gnu/installer/newt/partition.scm:649
msgid "Delete disk"
msgstr ""
msgstr "删除盘幅"
#: gnu/installer/newt/partition.scm:664
msgid "You cannot delete a free space area."
@ -2199,8 +2210,9 @@ msgid "Cannot read the ~a partition UUID. You may need to format it."
msgstr ""
#: gnu/installer/newt/partition.scm:737
#, fuzzy
msgid "Wrong partition format"
msgstr ""
msgstr "错误分区格式"
#: gnu/installer/newt/partition.scm:768
msgid "Guided - using the entire disk"
@ -2216,15 +2228,15 @@ msgstr "手动"
#: gnu/installer/newt/partition.scm:772
msgid "Please select a partitioning method."
msgstr ""
msgstr "请选择分区方法。"
#: gnu/installer/newt/partition.scm:773
msgid "Partitioning method"
msgstr ""
msgstr "分区方法"
#: gnu/installer/newt/services.scm:39
msgid "Please select the desktop environment(s) you wish to install. If you select multiple desktop environments here, you will be able to choose from them later when you log in."
msgstr ""
msgstr "请选择需要安装的桌面环境。如果此处选中了多个桌面环境,可在登录之后选择性使用。"
#: gnu/installer/newt/services.scm:42
msgid "Desktop environment"
@ -2288,7 +2300,7 @@ msgstr ""
#: gnu/installer/newt/timezone.scm:59
msgid "Please select a timezone."
msgstr ""
msgstr "请选择时区。"
#: gnu/installer/newt/user.scm:47
msgid "Name"
@ -2330,7 +2342,7 @@ msgstr ""
#: gnu/installer/newt/user.scm:190
msgid "System administrator password"
msgstr ""
msgstr "系统管理员密码"
#: gnu/installer/newt/user.scm:203
msgid "Please add at least one user to system using the 'Add' button."
@ -2778,7 +2790,7 @@ msgstr ""
#: guix/scripts.scm:89
msgid "internal commands"
msgstr ""
msgstr "内部命令"
#: guix/scripts.scm:90
msgid "extension commands"

View File

@ -5,20 +5,21 @@
# Liu Tao <lyuutau@outlook.com>, 2021.
# Whired Planck <fungdaat31@outlook.com>, 2021.
# Went He <1437061699@qq.com>, 2021.
# a x <meruarasu@email1.io>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: guix-packages 0.14.0\n"
"Report-Msgid-Bugs-To: bug-guix@gnu.org\n"
"POT-Creation-Date: 2023-03-10 17:18+0000\n"
"PO-Revision-Date: 2021-08-28 14:43+0000\n"
"Last-Translator: Went He <1437061699@qq.com>\n"
"PO-Revision-Date: 2023-10-19 21:36+0000\n"
"Last-Translator: a x <meruarasu@email1.io>\n"
"Language-Team: Chinese (Simplified) <https://translate.fedoraproject.org/projects/guix/packages/zh_CN/>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.8\n"
"X-Generator: Weblate 5.0.2\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
#: gnu/packages/abiword.scm:124
@ -57,14 +58,8 @@ msgid "This package provides a dictionary for the GNU Aspell spell checker."
msgstr "此软件包为 GNU Aspell 拼写检查器提供词典。"
#: gnu/packages/aspell.scm:446
#, fuzzy
#| msgid ""
#| "Ispell is an interactive spell-checking tool supporting many\n"
#| "European languages."
msgid "Interactive spell-checking tool for Unix"
msgstr ""
"Ispell 是一款交互式拼写检查工具,\n"
"支持多种欧洲语言。"
msgstr "一款交互式Unix拼写检查工具"
#: gnu/packages/aspell.scm:447
msgid ""

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014-2019, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014-2019, 2022-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
@ -268,6 +268,54 @@
(readlink (string-append out "/two")))
(file-exists? (string-append out "/one/replacement")))))))
(test-assert "graft-derivation, multiple outputs need to be replaced"
;; Build a reference graph like this:
;;
;; ,- p2:out --.
;; v v
;; p1:one <---- p1:two
;; |
;; `-> p0
;;
;; Graft p0r in lieu of p0, and make sure all the paths from the grafted p2
;; lead to p0r. See <https://issues.guix.gnu.org/66662>.
(let* ((p0 (build-expression->derivation
%store "p0" '(mkdir (assoc-ref %outputs "out"))))
(p0r (build-expression->derivation
%store "P0"
'(let ((out (assoc-ref %outputs "out")))
(mkdir out)
(call-with-output-file (string-append out "/replacement")
(const #t)))))
(p1 (build-expression->derivation
%store "p1"
`(let ((one (assoc-ref %outputs "one"))
(two (assoc-ref %outputs "two"))
(p0 (assoc-ref %build-inputs "p0")))
(mkdir one)
(mkdir two)
(symlink p0 (string-append one "/p0"))
(symlink one (string-append two "/link")))
#:inputs `(("p0" ,p0))
#:outputs '("one" "two")))
(p2 (build-expression->derivation
%store "p2"
`(let ((out (assoc-ref %outputs "out")))
(mkdir out) (chdir out)
(symlink (assoc-ref %build-inputs "p1:one") "one")
(symlink (assoc-ref %build-inputs "p1:two") "two"))
#:inputs `(("p1:one" ,p1 "one")
("p1:two" ,p1 "two"))))
(p0g (list (graft
(origin p0)
(replacement p0r))))
(p2d (graft-derivation %store p2 p0g)))
(build-derivations %store (list p2d))
(let ((out (derivation->output-path (pk 'p2d p2d))))
(equal? (stat (string-append out "/one/p0/replacement"))
(stat (string-append out "/two/link/p0/replacement"))))))
(test-assert "graft-derivation with #:outputs"
;; Call 'graft-derivation' with a narrowed set of outputs passed as
;; #:outputs.

View File

@ -270,5 +270,5 @@ guix build hello -d
env="$(type -P pre-inst-env)"
guix shell -C -D guix -- "$env" guix build hello -d && false # cannot work
hello_drv="$(guix build hello -d)"
hello_drv_nested="$(cd "$(dirname env)" && guix shell --bootstrap -CW -D guix -- "$env" guix build hello -d)"
hello_drv_nested="$(cd "$(dirname env)" && guix shell --bootstrap -E GUIX_BUILD_OPTIONS -CW -D guix -- "$env" guix build hello -d)"
test "$hello_drv" = "$hello_drv_nested"

View File

@ -30,7 +30,9 @@ fi
guix pack --version
# Use --no-substitutes because we need to verify we can do this ourselves.
GUIX_BUILD_OPTIONS="--no-substitutes"
# Use --no-grafts to avoid interference--e.g., --dry-run passing even when
# given an unsupported package.
GUIX_BUILD_OPTIONS="--no-substitutes --no-grafts"
export GUIX_BUILD_OPTIONS
test_directory="`mktemp -d`"

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -382,6 +382,28 @@
(_ (built-derivations (list drv))))
(return (file-exists? (string-append bindir "/guile")))))
(test-assertm "profile-derivation, #:system, and hooks"
;; Make sure all the profile hooks are built for the system specified with
;; #:system, even if that does not match (%current-system).
;; See <https://issues.guix.gnu.org/65225>.
(mlet* %store-monad
((system -> (if (string=? (%current-system) "riscv64-linux")
"x86_64-linux"
"riscv64-linux"))
(entry -> (package->manifest-entry packages:coreutils))
(_ (set-guile-for-build (default-guile) system))
(drv (profile-derivation (manifest (list entry))
#:system system))
(refs (references* (derivation-file-name drv))))
(return (and (string=? (derivation-system drv) system)
(pair? refs)
(every (lambda (ref)
(or (not (string-suffix? ".drv" ref))
(let ((drv (read-derivation-from-file ref)))
(string=? (derivation-system drv)
system))))
refs)))))
(test-assertm "profile-derivation relative symlinks, one entry"
(mlet* %store-monad
((entry -> (package->manifest-entry %bootstrap-guile))

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