3
5
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00

Merge branch 'master' into core-updates

This commit is contained in:
Marius Bakke 2022-06-27 19:23:48 +02:00
commit 2a7648774f
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
108 changed files with 4080 additions and 1733 deletions

View file

@ -682,6 +682,20 @@ chmod +x guix-install.sh
./guix-install.sh
@end example
If you're running Debian or a derivative such as Ubuntu, you can instead
install the package (it might be a version older than @value{VERSION}
but you can update it afterwards by running @samp{guix pull}):
@example
sudo apt install guix
@end example
Likewise on openSUSE:
@example
sudo zypper install guix
@end example
When you're done, @pxref{Application Setup} for extra configuration you
might need, and @ref{Getting Started} for your first steps!
@end quotation
@ -7379,8 +7393,25 @@ The build system that should be used to build the package (@pxref{Build
Systems}).
@item @code{arguments} (default: @code{'()})
The arguments that should be passed to the build system. This is a
list, typically containing sequential keyword-value pairs.
The arguments that should be passed to the build system (@pxref{Build
Systems}). This is a list, typically containing sequential
keyword-value pairs, as in this example:
@lisp
(package
(name "example")
;; several fields omitted
(arguments
(list #:tests? #f ;skip tests
#:make-flags #~'("VERBOSE=1") ;pass flags to 'make'
#:configure-flags #~'("--enable-frobbing"))))
@end lisp
The exact set of supported keywords depends on the build system
(@pxref{Build Systems}), but you will find that almost all of them honor
@code{#:configure-flags}, @code{#:make-flags}, @code{#:tests?}, and
@code{#:phases}. The @code{#:phases} keyword in particular lets you
modify the set of build phases for your package (@pxref{Build Phases}).
@item @code{inputs} (default: @code{'()})
@itemx @code{native-inputs} (default: @code{'()})
@ -9713,8 +9744,7 @@ phase before the @code{build} phase, called
(substitute* "Makefile"
(("PREFIX =.*")
(string-append "PREFIX = "
out "\n")))
#true))))))))
out "\n")))))))))))
@end lisp
The new phase that is inserted is written as an anonymous procedure,
@ -13724,7 +13754,6 @@ gnu/packages/emacs.scm:856:13: emacs-auctex would be upgraded from 11.88.6 to 11
@end example
@item --list-updaters
@itemx -L
List available updaters and exit (see @option{--type} above).
For each updater, display the fraction of packages it covers; at the
@ -13855,6 +13884,7 @@ the user whether to download it or not. This is the default behavior.
Use @var{host} as the OpenPGP key server when importing a public key.
@item --load-path=@var{directory}
@itemx -L @var{directory}
Add @var{directory} to the front of the package module search path
(@pxref{Package Modules}).
@ -14921,8 +14951,8 @@ The command output looks like this:
@smallexample
$ guix challenge --substitute-urls="https://@value{SUBSTITUTE-SERVER-1} https://guix.example.org"
updating list of substitutes from 'https://@value{SUBSTITUTE-SERVER-1}'... 100.0%
updating list of substitutes from 'https://guix.example.org'... 100.0%
updating substitutes from 'https://@value{SUBSTITUTE-SERVER-1}'... 100.0%
updating substitutes from 'https://guix.example.org'... 100.0%
/gnu/store/@dots{}-openssl-1.0.2d contents differ:
local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
https://@value{SUBSTITUTE-SERVER-1}/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q
@ -15209,7 +15239,7 @@ Here's a sample run:
$ guix weather --substitute-urls=https://guix.example.org
computing 5,872 package derivations for x86_64-linux...
looking for 6,128 store items on https://guix.example.org..
updating list of substitutes from 'https://guix.example.org'... 100.0%
updating substitutes from 'https://guix.example.org'... 100.0%
https://guix.example.org
43.4% substitutes available (2,658 out of 6,128)
7,032.5 MiB of nars (compressed)
@ -15830,6 +15860,11 @@ file, the @command{guix system reconfigure my-system-config.scm} command
instantiates that configuration, and makes it the default GRUB boot
entry (@pxref{Invoking guix system}).
@quotation Note
We recommend that you keep this @file{my-system-config.scm} file safe
and under version control to easily track changes to your configuration.
@end quotation
The normal way to change the system configuration is by updating this
file and re-running @command{guix system reconfigure}. One should never
have to touch files in @file{/etc} or to run commands that modify the
@ -18699,7 +18734,7 @@ starting with static network configuration.
This is the type for statically-configured network interfaces. Its
value must be a list of @code{static-networking} records. Each of them
declares a set of @dfn{addresses}, @dfn{routes}, and @dfn{links}, as
show below.
shown below.
@cindex network interface controller (NIC)
@cindex NIC, networking interface controller
@ -21105,9 +21140,11 @@ You can do that directly, like this (you need to use the
(list cups-filters epson-inkjet-printer-escpr hplip-minimal))))
@end lisp
Note: If you wish to use the Qt5 based GUI which comes with the hplip
@quotation Note
If you wish to use the Qt5 based GUI which comes with the hplip
package then it is suggested that you install the @code{hplip} package,
either in your OS configuration file or as your user.
@end quotation
The available configuration parameters follow. Each parameter
definition is preceded by its type; for example, @samp{string-list foo}
@ -25555,13 +25592,15 @@ example if you want your users to have addresses like
@samp{"john.smith@@example.com"} then you need to add a host
@samp{"example.com"}. All options in this list will apply only to this host.
Note: the name @emph{virtual} host is used in configuration to avoid confusion with
@quotation Note
The name @emph{virtual} host is used in configuration to avoid confusion with
the actual physical host that Prosody is installed on. A single Prosody
instance can serve many domains, each one defined as a VirtualHost entry in
Prosody's configuration. Conversely a server that hosts a single domain would
have just one VirtualHost entry.
See @url{https://prosody.im/doc/configure#virtual_host_settings}.
@end quotation
Available @code{virtualhost-configuration} fields are:
@ -26162,8 +26201,10 @@ After setting this option, it is recommend that you inspect your Mumble
server log to ensure that Mumble is using the cipher suites that you
expected it to.
Note: Changing this option may impact the backwards compatibility of your
@quotation Note
Changing this option may impact the backwards compatibility of your
Mumble-Server server, and can remove the ability for older Mumble clients to be able to connect to it.
@end quotation
@item @code{public-registration} (default: @code{#f})
Must be a @code{<mumble-server-public-registration-configuration>}
@ -37538,6 +37579,10 @@ $ guix system extension-graph @var{file} | xdot -
shows the extension relations among services.
@quotation Note
The @command{dot} program is provided by the @code{graphviz} package.
@end quotation
@anchor{system-shepherd-graph}
@item shepherd-graph
Emit to standard output the @dfn{dependency
@ -38862,12 +38907,6 @@ Return a G-expression that contains the values corresponding to the
disk by using something like @code{mixed-text-file}.
@end deffn
@deffn {Scheme Procedure} validate-configuration @var{configuration}
@var{fields}
Type-check @var{fields}, a list of field names of @var{configuration}, a
configuration record created by @code{define-configuration}.
@end deffn
@deffn {Scheme Procedure} empty-serializer @var{field-name} @var{value}
A serializer that just returns an empty string. The
@code{serialize-package} procedure is an alias for this.

View file

@ -25,6 +25,32 @@
(channel-news
(version 0)
(entry (commit "bdf422176739b473add66eb8cac9fdd8c654f794")
(title
(en "@option{-L} option of @command{guix refresh} repurposed")
(de "Option @option{-L} von @command{guix refresh} wechselt Bedeutung")
(fr "Option @option{-L} de @command{guix refresh} réutilisée"))
(body
(en "The @option{-L} option of @command{guix refresh} has been
repurposed: it used to be synonymous with @option{--list-updaters}; it is now
synonymous with @option{--load-path} as is the case with most other commands.
Run @command{info \"(guix) Invoking guix refresh\"} for more info.")
(de "Die Befehlszeilenoption @option{-L} von @command{guix refresh} hat
einen anderen Zweck bekommen: Früher war sie gleichbedeutend mit
@option{--list-updaters}; jetzt ist sie gleichbedeutend mit
@option{--load-path}, wie bereits beim Großteil der anderen Befehle.
Führen Sie @command{info \"(guix.de) Aufruf von guix refresh\"} aus, wenn Sie
mehr wissen möchten.")
(fr "L'option @option{-L} de @command{guix refresh} a changé de
signification : elle était auparavant synonyme de @option{--list-updaters} ;
elle est maintenant synonyme de @option{--load-path} comme c'est le cas pour
la plupart des autres commandes.
Lancer @command{info \"(guix.fr) Invoquer guix refresh\"} pour plus
d'informations.")))
(entry (commit "35c1edb20ad07250728d3bdcd0296bd0cedaf6bb")
(title
(en "New @command{edit} sub-commands for services")

View file

@ -8,6 +8,7 @@
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022 Karl Hallsby <karl@hallsby.com>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -57,6 +58,7 @@
grub-bootloader
grub-efi-bootloader
grub-efi-removable-bootloader
grub-efi32-bootloader
grub-efi-netboot-bootloader
grub-mkrescue-bootloader
grub-minimal-bootloader
@ -636,6 +638,29 @@ fi~%"))))
"--bootloader-id=Guix"
"--efi-directory" target-esp)))))
(define install-grub-efi32
#~(lambda (bootloader efi-dir mount-point)
;; There is nothing useful to do when called in the context of a disk
;; image generation.
(when efi-dir
;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the
;; system whose root is mounted at MOUNT-POINT.
(let ((grub-install (string-append bootloader "/sbin/grub-install"))
(install-dir (string-append mount-point "/boot"))
;; When installing Guix, it's common to mount EFI-DIR below
;; MOUNT-POINT rather than /boot/efi on the live image.
(target-esp (if (file-exists? (string-append mount-point efi-dir))
(string-append mount-point efi-dir)
efi-dir)))
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
;; root partition.
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
(invoke/quiet grub-install "--boot-directory" install-dir
"--bootloader-id=Guix"
(cond ((target-x86?) "--target=i386-efi")
((target-arm?) "--target=arm-efi"))
"--efi-directory" target-esp)))))
(define (install-grub-efi-netboot subdir)
"Define a grub-efi-netboot bootloader installer for installation in SUBDIR,
which is usually efi/Guix or efi/boot."
@ -768,6 +793,13 @@ considered for security aspects."
(name 'grub-efi-removable-bootloader)
(installer install-grub-efi-removable)))
(define grub-efi32-bootloader
(bootloader
(inherit grub-efi-bootloader)
(installer install-grub-efi32)
(name 'grub-efi32)
(package grub-efi32)))
(define grub-efi-netboot-bootloader
(bootloader
(inherit grub-efi-bootloader)

View file

@ -1,6 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -54,8 +56,12 @@
;;; EFI bootloader.
;;;
(define (install-efi grub grub-config esp)
"Write a self-contained GRUB EFI loader to the mounted ESP using GRUB-CONFIG."
(define* (install-efi grub grub-config esp #:key targets)
"Write a self-contained GRUB EFI loader to the mounted ESP using
GRUB-CONFIG.
If TARGETS is set, use its car as the GRUB image format and its cdr as
the output filename. Otherwise, use defaults for the host platform."
(let* ((system %host-type)
;; Hard code the output location to a well-known path recognized by
;; compliant firmware. See "3.5.1.1 Removable Media Boot Behaviour":
@ -63,14 +69,15 @@
(grub-mkstandalone (string-append grub "/bin/grub-mkstandalone"))
(efi-directory (string-append esp "/EFI/BOOT"))
;; Map grub target names to boot file names.
(efi-targets (cond ((string-prefix? "x86_64" system)
'("x86_64-efi" . "BOOTX64.EFI"))
((string-prefix? "i686" system)
'("i386-efi" . "BOOTIA32.EFI"))
((string-prefix? "armhf" system)
'("arm-efi" . "BOOTARM.EFI"))
((string-prefix? "aarch64" system)
'("arm64-efi" . "BOOTAA64.EFI")))))
(efi-targets (or targets
(cond ((string-prefix? "x86_64" system)
'("x86_64-efi" . "BOOTX64.EFI"))
((string-prefix? "i686" system)
'("i386-efi" . "BOOTIA32.EFI"))
((string-prefix? "armhf" system)
'("arm-efi" . "BOOTARM.EFI"))
((string-prefix? "aarch64" system)
'("arm64-efi" . "BOOTAA64.EFI"))))))
;; grub-mkstandalone requires a TMPDIR to prepare the firmware image.
(setenv "TMPDIR" esp)
@ -81,9 +88,12 @@
;; Graft the configuration file onto the image.
(string-append "boot/grub/grub.cfg=" grub-config))))
(define (install-efi-loader grub-efi esp)
(define* (install-efi-loader grub-efi esp #:key targets)
"Install in ESP directory the given GRUB-EFI bootloader. Configure it to
load the Grub bootloader located in the 'Guix_image' root partition."
load the Grub bootloader located in the 'Guix_image' root partition.
If TARGETS is set, use its car as the GRUB image format and its cdr as
the output filename. Otherwise, use defaults for the host platform."
(let ((grub-config "grub.cfg"))
(call-with-output-file grub-config
(lambda (port)
@ -97,5 +107,6 @@ load the Grub bootloader located in the 'Guix_image' root partition."
insmod part_gpt~@
search --set=root --label Guix_image~@
configfile /boot/grub/grub.cfg~%")))
(install-efi grub-efi grub-config esp)
(install-efi grub-efi grub-config esp #:targets targets)
(delete-file grub-config)))

View file

@ -6,6 +6,7 @@
;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2022 Pavel Shlyak <p.shlyak@pantherx.org>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,6 +28,7 @@
#:use-module (guix build syscalls)
#:use-module (guix build utils)
#:use-module (guix store database)
#:use-module (guix utils)
#:use-module (gnu build bootloader)
#:use-module (gnu build install)
#:use-module (gnu build linux-boot)
@ -41,6 +43,7 @@
convert-disk-image
genimage
initialize-efi-partition
initialize-efi32-partition
initialize-root-partition
make-iso9660-image))
@ -169,6 +172,17 @@ produced by #:references-graphs. Pass WAL-MODE? to call-with-database."
"Install in ROOT directory, an EFI loader using GRUB-EFI."
(install-efi-loader grub-efi root))
(define* (initialize-efi32-partition root
#:key
grub-efi32
#:allow-other-keys)
"Install in ROOT directory, an EFI 32bit loader using GRUB-EFI32."
(install-efi-loader grub-efi32 root
#:targets (cond ((target-x86?)
'("i386-efi" . "BOOTIA32.EFI"))
((target-arm?)
'("arm-efi" . "BOOTARM.EFI")))))
(define* (initialize-root-partition root
#:key
bootcfg

View file

@ -960,6 +960,7 @@ dist_patch_DATA = \
%D%/packages/patches/cling-use-shared-library.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/cmake-curl-certificates.patch \
%D%/packages/patches/cmh-support-fplll.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
@ -1000,7 +1001,6 @@ dist_patch_DATA = \
%D%/packages/patches/docbook-xsl-support-old-url.patch \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/docker-fix-tests.patch \
%D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
%D%/packages/patches/dstat-skip-devices-without-io.patch \
@ -1611,6 +1611,7 @@ dist_patch_DATA = \
%D%/packages/patches/perl-reproducible-build-date.patch \
%D%/packages/patches/perl-www-curl-fix-struct-void.patch \
%D%/packages/patches/perl-www-curl-remove-symbol.patch \
%D%/packages/patches/phoronix-test-suite-fsdg.patch \
%D%/packages/patches/php-bug-74093-test.patch \
%D%/packages/patches/php-openssl_x509_checkpurpose_basic.patch \
%D%/packages/patches/picard-fix-id3-rename-test.patch \

View file

@ -1156,8 +1156,7 @@ IPv6, proxies, and Unix sockets.")
(lambda _
;; These #defines aren't well-documented and, e.g., POWER was
;; not actually tested on every possible TARGET-POWERPC?.
(let* ((system #$(cond ((target-x86-32?) "X86")
((target-x86-64?) "X86")
(let* ((system #$(cond ((target-x86?) "X86")
((target-arm?) "ARM")
((target-powerpc?) "POWER")
(else "CROSS_FINGERS"))))
@ -1845,7 +1844,7 @@ system administrator.")
(define-public sudo
(package
(name "sudo")
(version "1.9.11p2")
(version "1.9.11p3")
(source (origin
(method url-fetch)
(uri
@ -1855,7 +1854,7 @@ system administrator.")
version ".tar.gz")))
(sha256
(base32
"1lli4z10b5j238cn7471jb8vcjlj5px68x48ysa3f1n0kzmih6d2"))
"0w0z9w4vnhjsc4jjghi6wlyv4v055hsy38ncb67p08b7yp9fg1s6"))
(modules '((guix build utils)))
(snippet
'(begin

View file

@ -302,7 +302,8 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
version ".tar.gz"))
(sha256
(base32
"1ws2yhzxmm2l5xqqqcjcimmg40f9qq5l9i6d4i5434an9v9s8531"))))
"1ws2yhzxmm2l5xqqqcjcimmg40f9qq5l9i6d4i5434an9v9s8531"))
(patches (search-patches "cmh-support-fplll.patch"))))
(build-system gnu-build-system)
(inputs
(list gmp

View file

@ -26,18 +26,15 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages astronomy)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@ -49,16 +46,20 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages time)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
@ -66,9 +67,15 @@
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@ -107,6 +114,93 @@ moment, supported SPICE files are:
@end itemize\n")
(license license:cecill)))
(define-public casacore
(package
(name "casacore")
(version "3.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/casacore/casacore")
(commit (string-append "v" version))))
(sha256
(base32
"05ar5gykgh4dm826xplj5ri5rw7znhxrvin2l67a3mjwfys7r2a0"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
(list
;; Note: There are multiple failures in
;; tests which require additional measures data. They are
;; distributed via FTP without any license:
;; ftp://ftp.astron.nl/outgoing/Measures/
;; TODO: Check how to fix tests.
#:tests? #f
#:parallel-build? #t
#:configure-flags
#~(list "-DBUILD_PYTHON3=ON"
"-DBUILD_PYTHON=OFF"
"-DBUILD_TESTING=TRUE"
"-DUSE_HDF5=ON"
"-DUSE_OPENMP=OFF"
"-DUSE_THREADS=ON"
(string-append "-DDATA_DIR=" #$output "/data")
(string-append "-DPYTHON3_EXECUTABLE="
#$(this-package-input "python") "/bin")
(string-append "-DPYTHON3_INCLUDE_DIR="
#$(this-package-input "python") "/include")
(string-append "-DPYTHON3_LIBRARY="
#$(this-package-input "python") "/lib"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-env
(lambda _
(setenv "HOME" "/tmp")))
(add-after 'unpack 'use-absolute-rm
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "casa/OS/test/tFile.run"
(("/bin/rm")
(search-input-file inputs "/bin/rm")))))
(add-after 'unpack 'use-absolute-python3
(lambda _
(substitute* "build-tools/casacore_floatcheck"
(("#!/usr/bin/env python")
(string-append "#!" (which "python3"))))))
;; NOTE: (Sharlatan-20220611T200837+0100): Workaround for casacore
;; tests stuck with missing "qsub" issue.
;; https://github.com/casacore/casacore/issues/1122
(add-after 'unpack 'patch-pre-test-checks
(lambda _
(substitute* "build-tools/casacore_assay"
(("QSUBP=.*$") "QSUBP=\n")
(("YODP=.*$") "YODP=\n")))))))
(native-inputs
(list bison
boost
flex
readline))
(inputs
(list cfitsio
fftw
fftwf
gfortran
hdf5
lapack
ncurses
openblas
python
python-numpy
wcslib))
(home-page "http://casacore.github.io/casacore/")
(synopsis "Suite of C++ libraries for radio astronomy data processing")
(description
"The casacore package contains the core libraries of the old
AIPS++/CASA (Common Astronomy Software Application) package. This split was
made to get a better separation of core libraries and applications.
@url{https://casa.nrao.edu/, CASA} is now built on top of Casacore.")
(license license:gpl2+)))
(define-public cfitsio
(package
(name "cfitsio")

View file

@ -86,6 +86,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)

View file

@ -39,20 +39,23 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages opencl)
#:use-module (gnu packages perl)
#:use-module (gnu packages php)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@ -60,6 +63,11 @@
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
;; Lazily resolve the gcc-toolchain to avoid a circular dependency.
(define gcc-toolchain*
(delay (module-ref (resolve-interface '(gnu packages commencement))
'gcc-toolchain)))
(define-public fio
(package
(name "fio")
@ -263,6 +271,59 @@ speed, the number of seeks that can be performed per second, and the number of
file metadata operations that can be performed per second.")
(license license:gpl2))) ;GPL 2 only, see copyright.txt
(define-public phoronix-test-suite
(package
(name "phoronix-test-suite")
(version "10.8.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://phoronix-test-suite.com/releases/"
name "-" version ".tar.gz"))
(sha256
(base32
"105shk78jy46nwj6vnlmgp3y3lv9klar3dmcgasy4bslm4l2wx2b"))
(patches (search-patches "phoronix-test-suite-fsdg.patch"))))
(arguments
(list
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(replace 'install
(lambda _
(invoke "./install-sh" #$output "--free-software-only")))
(add-after 'install 'wrap-binary
(lambda* (#:key inputs #:allow-other-keys)
(let ((pts (string-append #$output "/bin/phoronix-test-suite")))
(wrap-program pts
(list "PATH" 'prefix
(map (lambda (binary)
(dirname (search-input-file
inputs (string-append "bin/" binary))))
'("bash" "cat" ;coreutils
"gzip" "make" "php" "sed" "tar" "which"))))))))))
(build-system gnu-build-system)
(native-inputs (list python which))
;; Wrap the most basic build tools needed by Phoronix Test Suite to build
;; simple tests such as 'fio'.
(inputs (list bash coreutils gnu-make gzip php sed tar which))
;; Phoronix Test Suite builds and caches the benchmarking tools itself;
;; the user is required to manually install extra libraries depending on
;; the selected test; but at least a working C/C++ toolchain is assumed to
;; be available.
(propagated-inputs (list (force gcc-toolchain*)))
(home-page "https://www.phoronix-test-suite.com/")
(synopsis "Automated testing/benchmarking software")
(description
"The Phoronix Test Suite is a comprehensive testing and benchmarking platform
that provides an extensible framework for which new tests can be easily added.
It can carry out both qualitative and quantitative benchmarks in a clean,
reproducible, and easy-to-use manner, making it easy to compare one particular
setup against another one.")
(license license:gpl3+)))
(define-public python-locust
(package
(name "python-locust")

View file

@ -15,6 +15,7 @@
;;; Copyright © 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -332,6 +333,18 @@ menu to select one of the installed operating systems.")
"/bin/mcopy\"")))
#t))))))))))
(define-public grub-efi32
(package
(inherit grub-efi)
(name "grub-efi32")
(synopsis "GRand Unified Boot loader (UEFI 32bit version)")
(arguments
`(,@(substitute-keyword-arguments (package-arguments grub-efi)
((#:configure-flags flags
''()) `(cons* ,(cond ((target-x86?) "--target=i386")
((target-arm?) "--target=arm"))
,flags)))))))
;; Because grub searches hardcoded paths it's easiest to just build grub
;; again to make it find both grub-pc and grub-efi. There is a command
;; line argument which allows you to specify ONE platform - but

View file

@ -147,44 +147,38 @@ compiler while still keeping it small, simple, fast and understandable.")
(license (list license:bsd-2 license:bsd-3))))
(define-public qbe
(let ((commit "2caa26e388b1c904d2f12fb09f84df7e761d8331")
(revision "1"))
(package
(name "qbe")
(version (git-version "0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://c9x.me/qbe")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1gv03ym0gqrl4wkbhysa82025xwrkr1fg44z814b6vnggwlqgljc"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'allow-cross-compilation
(lambda _
(substitute* "Makefile"
(("`uname -m`") #$(or (%current-target-system)
(%current-system))))))
(add-after 'allow-cross-compilation 'use-$CC-for-tests
(lambda _
(substitute* "tools/test.sh"
(("cc=\"cc -no-pie\"") "cc=\"${CC} -no-pie\""))))
(delete 'configure))))
(supported-systems (list "x86_64-linux" "aarch64-linux" "riscv64-linux"))
(synopsis "Simple compiler backend")
(description
"QBE is a small compiler backend using an SSA-based intermediate
(package
(name "qbe")
(version "1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://c9x.me/qbe")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0qx4a3fjjrp2m4dsn19rpbjf89k9w7w7l09s96jx8vv15vzsdgis"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'allow-cross-compilation
(lambda _
(substitute* "Makefile"
(("`uname -m`") #$(or (%current-target-system)
(%current-system))))))
(delete 'configure))))
(supported-systems (list "x86_64-linux" "aarch64-linux" "riscv64-linux"))
(synopsis "Simple compiler backend")
(description
"QBE is a small compiler backend using an SSA-based intermediate
language as input.")
(home-page "https://c9x.me/compile/")
(license license:expat))))
(home-page "https://c9x.me/compile/")
(license license:expat)))
(define-public python-pcpp
(package

View file

@ -50,6 +50,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sphinx)

View file

@ -7,7 +7,7 @@
;;; Copyright © 2015, 2017 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2018-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
@ -892,18 +892,28 @@ available via the @code{unittest.mock} module.")
(define-public python-nose2
(package
(name "python-nose2")
(version "0.9.2")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nose2" version))
(sha256
(base32
"0pmbb6nk31yhgh4zkcblzxsznml7f7pf5q1ihgrwvbxv4mwzfql7"))))
"1scxwvwbgfdj41acma41xzdhcfdwjj9irj6sfifdbyf9dryqs83d"))))
(build-system python-build-system)
(arguments `(#:tests? #f)) ; 'module' object has no attribute 'collector'
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Tests require nose2 itself.
(setenv "PYTHONPATH" (getcwd))
(invoke (string-append #$output "/bin/nose2") "-v")))))))
(native-inputs
(list python-coverage))
(propagated-inputs
(list python-cov-core python-pytest-cov python-six))
(list python-six))
(home-page "https://github.com/nose-devs/nose2")
(synopsis "Next generation of nicer testing for Python")
(description
@ -2036,14 +2046,14 @@ programs, something like CSmith, a random generator of C programs.")
(define-public python-lit
(package
(name "python-lit")
(version "12.0.1")
(version "14.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lit" version))
(sha256
(base32
"01yggsb73s2gbq36xwifxl6k5ll5lkss5rwz59k9h3jnbnn7m5fj"))))
"162x7pddwl395c3mdb0mfn3f5z24x1jz6g27x303lfxpzidnn4m4"))))
(build-system python-build-system)
(arguments
`(#:phases

View file

@ -50,6 +50,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages maths)
#:use-module (gnu packages ninja)
#:use-module (gnu packages node)
#:use-module (gnu packages nss)
@ -122,6 +123,7 @@
"third_party/ced" ;BSD-3
"third_party/cld_3" ;ASL2.0
"third_party/closure_compiler" ;ASL2.0
"third_party/cpuinfo" ;BSD-2
"third_party/crashpad" ;ASL2.0
"third_party/crashpad/crashpad/third_party/lss" ;ASL2.0
"third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h" ;Zlib
@ -233,6 +235,7 @@
"third_party/private-join-and-compute" ;ASL2.0
"third_party/protobuf" ;BSD-3
"third_party/protobuf/third_party/six" ;Expat
"third_party/pthreadpool" ;BSD-2
"third_party/pyjson5" ;ASL2.0
"third_party/qcms" ;Expat
"third_party/rnnoise" ;BSD-3
@ -290,6 +293,7 @@
"third_party/wuffs" ;ASL2.0
"third_party/xcbproto" ;X11
"third_party/xdg-utils" ;Expat
"third_party/xnnpack" ;BSD-3
;; These are forked components of the X11 keybinding code.
"third_party/libxcb-keysyms" ;X11
@ -312,7 +316,7 @@
;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests"))
(define %chromium-version "102.0.5005.115")
(define %chromium-version "103.0.5060.53")
(define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision "debian/102.0.5005.61-1")
@ -324,7 +328,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"1z2xkxxviggyyksga74cqa4v73gynlgzi22ckg8yv84qxrklik6p"))))
"1g5ciwzrhg9g13gvhrwqf19djk9jhj1d6nx2f6a8d5ch1mhi2z8s"))))
(define %debian-origin
(origin
@ -347,11 +351,7 @@
(define %debian-patches
(map debian-patch
'("upstream/libxml.patch"
"upstream/dawn-version-fix.patch"
"upstream/blink-ftbfs.patch"
"upstream/nested-nested-nested-nested-nested-nested-regex-patterns.patch"
"system/jsoncpp.patch"
'("system/jsoncpp.patch"
"system/zlib.patch"
"system/openjpeg.patch")))
@ -477,7 +477,7 @@
%chromium-version ".tar.xz"))
(sha256
(base32
"1rj7vy824vn513hiivc90lnxvxyi2s0qkdmfqsdssv9v6zjl079h"))
"00di0nw6h3kb0qp2wp3ny3zsar1ayn1lyx5zr28dl1h5cwaaxjqf"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@ -880,12 +880,14 @@
flac
ffmpeg
fontconfig
fp16
freetype
fxdiv
gdk-pixbuf
glib
gtk+
harfbuzz-3.0
icu4c
icu4c-71
jsoncpp
lcms
libevent

View file

@ -2,7 +2,7 @@
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Dion Mendel <guix@dm9.info>
;;;
;;; This file is part of GNU Guix.
@ -22,6 +22,7 @@
(define-module (gnu packages cluster)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix git-download)
@ -29,27 +30,30 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages docbook)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages ruby)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls))
#:use-module (gnu packages tls)
#:use-module (gnu packages xml))
(define-public drbd-utils
(package
(name "drbd-utils")
(version "9.19.1")
(version "9.21.2")
(source (origin
(method url-fetch)
(uri (list (string-append "https://pkg.linbit.com/downloads/drbd"
"/utils/drbd-utils-" version ".tar.gz")))
(sha256
(base32
"1l99kcrb0j85wxxmrdihpx9bk1a4sdi7wlp5m1x5l24k8ck1m5cf"))
"1zhinblhpfb7wq3wkaim4xzx1m89671djvnrf4vjabfzpclkz60h"))
(modules '((guix build utils)))
(snippet
'(begin
@ -65,62 +69,73 @@
(substitute* "configure"
;; Use a sensible default udev rules directory.
(("default_udevdir=/lib/udev")
"default_udevdir='${prefix}/lib/udev'"))
#t))))
"default_udevdir='${prefix}/lib/udev'"))))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '(;; Do not install sysv or systemd init scripts.
"--with-initscripttype=none"
;; Use the pre-built manual pages present in release
;; tarballs instead of generating them from scratch.
"--with-prebuiltman"
;; Disable support for DRBD 8.3 as it is only for
;; Linux-Libre versions < 3.8. 8.4 is the latest
;; kernel driver as of Linux 5.7.
"--without-83support"
"--sysconfdir=/etc"
"--localstatedir=/var")
#:test-target "test"
#:make-flags '("WANT_DRBD_REPRODUCIBLE_BUILD=yesplease")
#:phases
(modify-phases %standard-phases
(add-after 'patch-generated-file-shebangs 'patch-documentation
(lambda _
;; The preceding phase misses some Makefiles with unusual file
;; names, so we handle those here.
(for-each patch-makefile-SHELL (find-files "documentation/common"
"^Makefile"))
#t))
(add-before 'configure 'use-absolute-/lib/drbd
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Look for auxiliary executables below exec_prefix instead
;; of assuming /lib/drbd (see TODO comment in the file).
(substitute* "user/v9/drbdtool_common.c"
(("\"/lib/drbd\"")
(string-append "\"" out "/lib/drbd\"")))
#t)))
(add-after 'configure 'adjust-installation-directories
(lambda _
;; Do not attempt to create /etc or /var.
(substitute* "scripts/Makefile"
(("\\$\\(DESTDIR\\)\\$\\(sysconfdir\\)")
"$(DESTDIR)$(prefix)$(sysconfdir)"))
(substitute* "user/v84/Makefile"
(("\\$\\(DESTDIR\\)\\$\\(localstatedir\\)")
"$(DESTDIR)$(prefix)$(localstatedir)")
(("\\$\\(DESTDIR\\)/lib/drbd")
"$(DESTDIR)$(prefix)/lib/drbd"))
(substitute* "user/v9/Makefile"
(("\\$\\(DESTDIR\\)\\$\\(localstatedir\\)")
"$(DESTDIR)$(prefix)$(localstatedir)")
(("\\$\\(DESTDIR\\)\\$\\(DRBD_LIB_DIR\\)")
"$(DESTDIR)$(prefix)$(DRBD_LIB_DIR)"))
#t)))))
(list
#:configure-flags
#~(list "--sysconfdir=/etc"
"--localstatedir=/var"
;; Do not install sysv or systemd init scripts.
"--with-initscripttype=none"
;; Disable support for DRBD 8.3 as it is only for
;; Linux-Libre versions < 3.8. 8.4 is the latest
;; kernel driver as of Linux 5.18.
"--without-83support")
#:test-target "test"
#:make-flags #~(list "WANT_DRBD_REPRODUCIBLE_BUILD=yesplease")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-ja-translation
(lambda _
;; XXX: The japanese documentation cannot be created due to
;; several "Invalid po file" and "use of uninitialized variable"
;; in po4a.
(substitute* "Makefile.in"
(("(DOC_DIRS.*)documentation/ja/v[[:digit:]]+" _ match)
match)
(("[[:blank:]]+\\$\\(MAKE\\) -C documentation/ja/v[[:digit:]]+.*")
""))))
(add-after 'patch-generated-file-shebangs 'patch-documentation
(lambda _
;; The preceding phase misses some Makefiles with unusual file
;; names, so we handle those here.
(for-each patch-makefile-SHELL (find-files "documentation/common"
"^Makefile"))))
(add-before 'configure 'use-absolute-/lib/drbd
(lambda _
;; Look for auxiliary executables below exec_prefix instead
;; of assuming /lib/drbd (see TODO comment in the file).
(substitute* "user/v9/drbdtool_common.c"
(("\"/lib/drbd\"")
(string-append "\"" #$output "/lib/drbd\"")))))
(add-after 'configure 'adjust-installation-directories
(lambda _
;; Do not attempt to create /etc or /var.
(substitute* "scripts/Makefile"
(("\\$\\(DESTDIR\\)\\$\\(sysconfdir\\)")
"$(DESTDIR)$(prefix)$(sysconfdir)"))
(substitute* "user/v84/Makefile"
(("\\$\\(DESTDIR\\)\\$\\(localstatedir\\)")
"$(DESTDIR)$(prefix)$(localstatedir)")
(("\\$\\(DESTDIR\\)/lib/drbd")
"$(DESTDIR)$(prefix)/lib/drbd"))
(substitute* "user/v9/Makefile"
(("\\$\\(DESTDIR\\)\\$\\(localstatedir\\)")
"$(DESTDIR)$(prefix)$(localstatedir)")
(("\\$\\(DESTDIR\\)\\$\\(DRBD_LIB_DIR\\)")
"$(DESTDIR)$(prefix)$(DRBD_LIB_DIR)")))))))
(native-inputs
`(("clitest" ,clitest)
("flex" ,flex)
("udev" ,eudev))) ;just to satisfy a configure check
(list clitest
eudev ;just to satisfy a configure check
flex
;; For the documentation.
docbook-xml
docbook-xml-4.4 ;used by documentation/ra2refentry.xsl
docbook-xsl
libxml2 ;for XML_CATALOG_FILES
libxslt ;for xsltproc
ruby-asciidoctor))
(home-page "https://www.linbit.com/drbd/")
(synopsis "Replicate block devices between machines")
(description
@ -128,6 +143,9 @@
shared-nothing, replicated storage solution mirroring the content of block
devices (hard disks, partitions, logical volumes etc.) over any network
connection. This package contains the userland utilities.")
(properties
'((release-monitoring-url
. "https://www.linbit.com/en/drbd-community/drbd-download/")))
(license license:gpl2+)))
(define-public keepalived

View file

@ -406,7 +406,7 @@ combination of these streams.")
(define-public xsimd
(package
(name "xsimd")
(version "8.0.5")
(version "8.1.0")
(source
(origin
(method git-fetch)
@ -414,7 +414,7 @@ combination of these streams.")
(url "https://github.com/QuantStack/xsimd")
(commit version)))
(sha256
(base32 "0fph1gzrj13knfkl3fvg098ccvqkbzs0jb8n323m7pnxajpzhzij"))
(base32 "16b9fdvhhsbs93llbzccgpxjdkj8kfvac3wx0b30i306k5f3maq2"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@ -435,7 +435,7 @@ operating on batches.")
(define-public google-highway
(package
(name "google-highway")
(version "0.15.0")
(version "0.17.0")
(source
(origin
(method git-fetch)
@ -444,7 +444,7 @@ operating on batches.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1yjwgnrpd9m99x2nqf6ld28zc6y9nlsxqg128bxxmja1gg4g4qdz"))))
(base32 "0iwn7m8f1j7bchwbi5h84nzkzmzqd7byddbr4lh6i6lpd87wny08"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DHWY_SYSTEM_GTEST=on")))

View file

@ -131,6 +131,7 @@
#:use-module (gnu packages popt)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
@ -650,13 +651,13 @@ replacement for the code@{python-memcached} library.")
(define-public litecli
(package
(name "litecli")
(version "1.8.0")
(version "1.9.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "litecli" version))
(sha256
(base32 "0ghh8hq5bw3y2ybiy4ibbdfz55jxvilg1s6zmhxmqikhg5s95xh2"))))
(base32 "1897divrdqlhl1p5jvvm29rg3d99f48s58na7hgdzm1x13x2rbr1"))))
(build-system python-build-system)
(propagated-inputs
(list python-cli-helpers
@ -1184,14 +1185,14 @@ and high-availability (HA).")
(define-public postgresql-14
(package
(name "postgresql")
(version "14.3")
(version "14.4")
(source (origin
(method url-fetch)
(uri (string-append "https://ftp.postgresql.org/pub/source/v"
version "/postgresql-" version ".tar.bz2"))
(sha256
(base32
"0f5gm43hx8j67nfad8mrfhzb9aq4brfgka5d0nf936pmicv5g417"))
"0slg7ld5mldmv3pn1wxxwglm4s3xc6c91ixx24apj713qlvn4fy2"))
(patches (search-patches "postgresql-disable-resolve_symlinks.patch"))))
(build-system gnu-build-system)
(arguments
@ -1426,7 +1427,7 @@ PostgreSQL extension, providing automatic partitioning across time and space
(define-public pgloader
(package
(name "pgloader")
(version "3.6.3")
(version "3.6.4")
(source
(origin
(method git-fetch)
@ -1434,7 +1435,7 @@ PostgreSQL extension, providing automatic partitioning across time and space
(url "https://github.com/dimitri/pgloader")
(commit (string-append "v" version))))
(sha256
(base32 "147dcf0rmi94p95dvifx8qy7602fvs041dv9wlg3q31ly13agwb5"))
(base32 "05lpa0r5l7pvx97ljfb0cryxz11krczbb86gi1i1ixp0h9bvqw2a"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments

View file

@ -30,6 +30,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)

View file

@ -31,14 +31,14 @@
(define-public dezyne
(package
(name "dezyne")
(version "2.15.1")
(version "2.15.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://dezyne.org/download/dezyne/"
name "-" version ".tar.gz"))
(sha256
(base32 "0yid2a9xvp4hc7fry07zp0q2hva89czri6i1m2d1n22srh7r0my6"))))
(base32 "0yy4cmpxhw4z82bc1mvxyic4fnmb9a1d3w8fijvk1y2kqx2fiq6f"))))
(inputs (list bash-minimal
guile-3.0-latest
guile-json-4

View file

@ -73,7 +73,7 @@
(define-public diffoscope
(package
(name "diffoscope")
(version "216")
(version "217")
(source
(origin
(method git-fetch)
@ -82,7 +82,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "066w4mcrjvymwii5j5hylcslpz18wgd5afl11z1n3588j8c1zw15"))
(base32 "0vbyg8lm5ddrdkhahcs70rhdmz42blppzliryghxcyyxs7g3gzq5"))
(patches
(search-patches "diffoscope-fix-llvm-test.patch"))))
(build-system python-build-system)

View file

@ -1198,13 +1198,13 @@ FileFields during tests.")
(define-public python-django-auth-ldap
(package
(name "python-django-auth-ldap")
(version "4.0.0")
(version "4.1.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "django-auth-ldap" version))
(sha256
(base32
"0fajn4bk7m1hk0mjz97q7vlfzh7ibzv8f4qn7zhkq26f4kk7jvr7"))))
"0jd9jms9qpa92fk5n7gqcxjk3zs6ay79r73ann7cw1vqn79lkxvp"))))
(build-system python-build-system)
(arguments
(list #:phases
@ -1271,13 +1271,13 @@ to ElasticSearch.")
(define-public python-django-netfields
(package
(name "python-django-netfields")
(version "1.2.4")
(version "1.3.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "django-netfields" version))
(sha256
(base32
"0jwlbyaxk91fq69g2y0zpfjgmjgh6l0lqm5mhys7m5968lkihvgp"))))
"122d0db1f420cwzrd7hynfbnnpqkjj2ridym5mrnj0l736nin5rr"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ;XXX: Requires a running PostgreSQL server
(propagated-inputs

View file

@ -3,10 +3,12 @@
;;; Copyright © 2015, 2018 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2017 Frederick Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,19 +30,23 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module ((guix build utils) #:hide (delete which))
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gdb)
#:use-module (gnu packages libedit)
#:use-module (gnu packages llvm)
#:use-module (gnu packages ninja)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
@ -48,220 +54,101 @@
#:use-module (gnu packages xorg)
#:use-module (srfi srfi-1))
(define-public rdmd
(define-public d-tools
(package
(name "rdmd")
(version "2.077.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dlang/tools/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0c8w373rv6iz3xfid94w40ncv2lr2ncxi662qsr4lda4aghczmq7"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check) ; There is no Makefile, so there's no 'make check'.
(replace
'build
(lambda _
(invoke "ldc2" "rdmd.d")))
(replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(install-file "rdmd" bin)))))))
(native-inputs
(list ldc))
(home-page "https://github.com/D-Programming-Language/tools/")
(synopsis "Specialized equivalent to 'make' for the D language")
(description
"rdmd is a companion to the dmd compiler that simplifies the typical
edit-compile-link-run or edit-make-run cycle to a rapid edit-run cycle. Like
make and other tools, rdmd uses the relative dates of the files involved to
minimize the amount of work necessary. Unlike make, rdmd tracks dependencies
and freshness without requiring additional information from the user.")
(license license:boost1.0)))
;;; The 0.17.6 version is the last release to support being bootstrapped
;;; without a D compiler (requiring only a C++ compiler).
;;; TODO: Bootstrap ldc from GDC (the D frontend for GCC).
(define ldc-bootstrap-0.17
(package
(name "ldc")
(version "0.17.6")
(name "d-tools")
(version "2.100.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ldc-developers/ldc")
(url "https://github.com/dlang/tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1q6hm4fkrcwys83x0p4kfg9xrc1b9g2qicqif2zy5z4nsfsb5vgs"))))
(build-system cmake-build-system)
(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
(properties
;; Some of the tests take a very long time on ARMv7. See
;; <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00312.html>.
`((max-silent-time . ,(* 3600 3))))
(base32 "1jbn0hyskv4ykcckw0iganpyrm0bq2lggswspw21r4hgnxkmjbyw"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;requires obsolete python-lit test dependency
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-submodule-sources
(lambda* (#:key inputs #:allow-other-keys)
(let ((unpack (lambda (input target)
(let ((source (assoc-ref inputs input)))
;; Git checkouts are directories as long as
;; there are no patches; tarballs otherwise.
(if (file-is-directory? source)
(copy-recursively source target)
(with-directory-excursion target
(invoke "tar" "xvf" source
"--strip-components=1")))))))
(unpack "phobos-src" "runtime/phobos")
(unpack "druntime-src" "runtime/druntime")
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite"))))
(add-after 'unpack-submodule-sources 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "runtime/phobos/std/process.d"
(("/bin/sh") (which "sh"))
(("echo") (which "echo")))
(substitute* "runtime/phobos/std/datetime.d"
(("/usr/share/zoneinfo/")
(string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
(("tzName == \"[+]VERSION\"")
"(tzName == \"+VERSION\" || \
std.algorithm.endsWith(tzName, \"/leapseconds\"))")))))))
(inputs
`(("libconfig" ,libconfig)
("libedit" ,libedit)
("tzdata" ,tzdata)
("zlib" ,zlib)))
(list #:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda _
(mkdir-p "bin")
(setenv "CC" #$(cc-for-target))
(setenv "LD" #$(ld-for-target))
(invoke "ldc2" "rdmd.d" "--of" "bin/rdmd")
(apply invoke "ldc2" "--of=bin/dustmite"
(find-files "DustMite" ".*\\.d"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "bin/rdmd" "rdmd_test.d" "bin/rdmd"
"--rdmd-default-compiler" "ldmd2"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/man")))
(for-each delete-file (find-files "bin" "\\.o$"))
(copy-recursively "bin" bin)
(copy-recursively "man" man)))))))
(native-inputs
`(("llvm" ,llvm-6)
("python-wrapper" ,python-wrapper)
("unzip" ,unzip)
("phobos-src"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ldc-developers/phobos")
(commit (string-append "ldc-v" version))))
(file-name (git-file-name "phobos" version))
(sha256
(base32 "15jzs38wanks2jfp2izzl7zqrp4c8ai54ppsgm8ws86p3sbbkmj8"))))
("druntime-src"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ldc-developers/druntime")
(commit (string-append "ldc-v" version))))
(file-name (git-file-name "druntime" version))
(sha256
(base32 "00wr2kiggwnd8h7by51fhj1xc65hv1ysip5gbgdbkfar58p2d0bb"))))
("dmd-testsuite-src"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ldc-developers/dmd-testsuite")
(commit (string-append "ldc-v" version))))
(file-name (git-file-name "dmd-testsuite" version))
(sha256
(base32 "1d1c0979wbippldrkjf7szyj4n87hxz8dwqg1r5b3aai37g9kcky"))))))
(home-page "http://wiki.dlang.org/LDC")
(synopsis "LLVM-based compiler for the D programming language")
(list ldc
(module-ref (resolve-interface
'(gnu packages commencement))
'ld-gold-wrapper)))
(home-page "https://github.com/dlang/tools")
(synopsis "Useful D-related tools")
(description
"LDC is an LLVM compiler for the D programming language. It is based on
the latest DMD compiler that was written in C and is used for
bootstrapping more recent compilers written in D.")
;; Most of the code is released under BSD-3, except for code originally
;; written for GDC, which is released under GPLv2+, and the DMD frontend,
;; which is released under the "Boost Software License version 1.0".
(license (list license:bsd-3
license:gpl2+
license:boost1.0))))
"@code{d-tools} provides two useful tools for the D language: @code{rdmd},
which runs D source files as scripts, and @code{dustmite}, which reduces D code
to a minimal test case.")
(license license:boost1.0)))
;;; This is the last version that supports being built with 32 bit machines
;;; from 0.17.
(define ldc-bootstrap-1.12
(package
(inherit ldc-bootstrap-0.17)
(version "1.12.0")
(source
(origin
(method url-fetch)
;; The official release include the matching source code releases of
;; phobos, druntime and dmd-testsuite.
(uri (string-append "https://github.com/ldc-developers/ldc/releases"
"/download/v" version "/ldc-" version "-src.tar.gz"))
(sha256
(base32 "1fdma1w8j37wkr0pqdar11slkk36qymamxnk6d9k8ybhjmxaaawm"))))
(arguments
(substitute-keyword-arguments (package-arguments ldc-bootstrap-0.17)
((#:build-type _ #f) "Release")
((#:configure-flags _ #f)
`(list "-GNinja"))
((#:make-flags _ #f) ;used as build targets
`(list "all"))
((#:tests? _) #f)
((#:phases phases)
`(modify-phases ,phases
(delete 'unpack-submodule-sources)
(replace 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("runtime/phobos/std/process.d")
(("/bin/sh") (which "sh"))
(("echo") (which "echo")))))
(replace 'build
;; Building with Make would result in "make: *** [Makefile:166:
;; all] Error 2".
(lambda* (#:key make-flags parallel-tests? #:allow-other-keys)
(let ((job-count (number->string (or (and parallel-tests?
(parallel-job-count))
1))))
(apply invoke "cmake" "--build" "." "-j" job-count
"--target" make-flags))))
(replace 'install
(lambda _
(invoke "cmake" "--install" ".")))))))
(native-inputs
;; Importing (gnu packages commencement) would introduce a cycle.
`(("ld-gold-wrapper" ,(module-ref (resolve-interface
'(gnu packages commencement))
'ld-gold-wrapper))
("llvm" ,llvm-6)
("ldc" ,ldc-bootstrap-0.17)
("ninja" ,ninja)
("python-wrapper" ,python-wrapper)
("unzip" ,unzip)))))
(define-public gdmd
(let ((commit "ff2c97a47408fb71c18a2d453294d18808a97cc5")
(revision "1"))
(package
(name "gdmd")
(version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/D-Programming-GDC/gdmd")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0pd70clk70069xcjysaas7zszzmigrcw1zl2xxv8kzdg7y7xrzvm"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("dmd-script" "bin/gdmd")
("dmd-script.1" "share/man/man1/gdmd.1"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-gdc-location
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "dmd-script"
(("my \\$gdc_dir.*")
(string-append "my $gdc_dir = \""
(dirname (search-input-file inputs "/bin/gdc"))
"\";\n"))))))))
(inputs
(list gdc-10 perl))
(home-page "https://github.com/D-Programming-GDC/gdmd")
(synopsis "DMD-like wrapper for GDC")
(description "This package provides a DMD-like wrapper for the
@acronym{GNU D Compiler,GDC}.")
(license license:gpl3+))))
;;; For 32 bits systems, 1.12 cannot build 1.27 directly, so we need another
;;; hop.
(define ldc-bootstrap-1.24
;; We use GDC, the D frontend for GCC, to bootstrap ldc. We then use
;; ldc to bootstrap itself so that no reference remains to GDC.
(define ldc-bootstrap
(package
(inherit ldc-bootstrap-1.12)
(version "1.24.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ldc-developers/ldc/releases"
"/download/v" version "/ldc-" version "-src.tar.gz"))
(sha256
(base32 "0g5svf55i0kq55q49awmwqj9qi1n907cyrn1vjdjgs8nx6nn35gx"))))
(native-inputs
(fold alist-replace
(package-native-inputs ldc-bootstrap-1.12)
'("ldc" "llvm")
`((,ldc-bootstrap-1.12) (,llvm-11))))))
(define ldc-bootstrap-1.27
(package
(inherit ldc-bootstrap-1.24)
(name "ldc")
(version "1.27.1")
(source
(origin
@ -270,24 +157,78 @@ bootstrapping more recent compilers written in D.")
"/download/v" version "/ldc-" version "-src.tar.gz"))
(sha256
(base32 "1775001ba6n8w46ln530kb5r66vs935ingnppgddq8wqnc0gbj4k"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;skip in the bootstrap
#:build-type "Release"
#:configure-flags
(list "-GNinja")
#:make-flags ;used as build targets
(list "all")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "runtime/phobos/std/process.d"
(("/bin/sh") (which "sh"))
(("echo") (which "echo")))))
(replace 'build
;; Building with Make would result in "make: *** [Makefile:166:
;; all] Error 2".
(lambda* (#:key make-flags parallel-tests? #:allow-other-keys)
(let ((job-count (number->string (or (and parallel-tests?
(parallel-job-count))
1))))
(apply invoke "cmake" "--build" "." "-j" job-count
"--target" make-flags))))
(replace 'install
(lambda _
(invoke "cmake" "--install" "."))))))
(inputs
`(("libconfig" ,libconfig)
("libedit" ,libedit)
("tzdata" ,tzdata)
("zlib" ,zlib)))
(native-inputs
(fold alist-replace
(package-native-inputs ldc-bootstrap-1.24)
'("ldc" "llvm")
`((,ldc-bootstrap-1.24) (,llvm-11))))))
;; Importing (gnu packages commencement) would introduce a cycle.
`(("ld-gold-wrapper" ,(module-ref (resolve-interface
'(gnu packages commencement))
'ld-gold-wrapper))
("llvm" ,llvm-11)
("ldc" ,gdmd)
("ninja" ,ninja)
("python-wrapper" ,python-wrapper)
("unzip" ,unzip)))
(home-page "http://wiki.dlang.org/LDC")
(synopsis "LLVM-based compiler for the D programming language")
(description
"LDC is an LLVM compiler for the D programming language. It is based on
the latest DMD compiler that was written in C and is used for
bootstrapping more recent compilers written in D.")
(properties
;; Some of the tests take a very long time on ARMv7. See
;; <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00312.html>.
`((max-silent-time . ,(* 3600 3))))
;; Most of the code is released under BSD-3, except for code originally
;; written for GDC, which is released under GPLv2+, and the DMD frontend,
;; which is released under the "Boost Software License version 1.0".
(license (list license:bsd-3
license:gpl2+
license:boost1.0))))
(define-public ldc
(package
(inherit ldc-bootstrap-1.27)
(inherit ldc-bootstrap)
(arguments
(substitute-keyword-arguments (package-arguments ldc-bootstrap-1.27)
(substitute-keyword-arguments (package-arguments ldc-bootstrap)
((#:make-flags _ #f)
'(list "all"
;; Also build the test runner binaries.
"ldc2-unittest" "all-test-runners"))
((#:configure-flags flags)
`(,@flags "-DBUILD_SHARED_LIBS=ON"
"-DLDC_LINK_MANUALLY=OFF"))
"-DLDC_LINK_MANUALLY=OFF"
"-DLDC_DYNAMIC_COMPILE=OFF"))
((#:tests? _) #t)
((#:phases phases)
`(modify-phases ,phases
@ -308,7 +249,8 @@ bootstrapping more recent compilers written in D.")
system)))))
(matches ("x86_64" => "x86_64")
("i686" => "i386")
("armhf" => "armhf"))))
("armhf" => "armhf")
("aarch64" => "aarch64"))))
;; Coax LLVM into agreeing with Clang about system target
;; naming.
(substitute* "driver/linker-gcc.cpp"
@ -358,30 +300,28 @@ bootstrapping more recent compilers written in D.")
(substitute* "runtime/druntime/test/exceptions/Makefile"
((".*TESTS\\+=rt_trap_exceptions_drt_gdb.*")
""))
;; The following tests fail on the supported 32 bit systems,
;; which are not tested upstream.
;; The following tests fail on some systems, not all of
;; which are tested upstream.
(with-directory-excursion "tests"
(let ((system ,(or (%current-target-system)
(%current-system))))
(when (or (string-prefix? "armhf" system )
(string-prefix? "i686" system ))
(cond
(,(or (target-x86-32?)
(target-arm32?))
(for-each delete-file
'("PGO/profile_rt_calls.d"
"codegen/mangling.d"
"debuginfo/print_gdb.d"
"dynamiccompile/bind.d"
"dynamiccompile/bind_bool.d"
"dynamiccompile/bind_func_opt.d"
"dynamiccompile/bind_nested_opt.d"
"dynamiccompile/bind_opt.d"
"dynamiccompile/compiler_context.d"
"dynamiccompile/compiler_context_parallel.d"
"instrument/xray_check_pipeline.d"
"instrument/xray_link.d"
"instrument/xray_simple_execution.d"
"sanitizers/msan_noerror.d"
"sanitizers/msan_uninitialized.d"
"d2/dmd-testsuite/runnable_cxx/cppa.d")))))))
"d2/dmd-testsuite/runnable_cxx/cppa.d")))
(,(target-aarch64?)
(for-each delete-file
'("d2/dmd-testsuite/runnable/ldc_cabi1.d"
"sanitizers/fuzz_basic.d"
"sanitizers/msan_noerror.d"
"sanitizers/msan_uninitialized.d")))
(#t '())))))
(add-before 'configure 'set-cc-and-cxx-to-use-clang
;; The tests require to be built with Clang; build everything
;; with it, for simplicity.
@ -414,15 +354,15 @@ integration tests...\n")
"-E" "dmd-testsuite|lit-tests|ldc2-unittest")))))))))
(native-inputs
(append (delete "llvm"
(alist-replace "ldc" (list ldc-bootstrap-1.27)
(package-native-inputs ldc-bootstrap-1.27)))
(alist-replace "ldc" (list ldc-bootstrap)
(package-native-inputs ldc-bootstrap)))
`(("clang" ,clang-11) ;propagates llvm and clang-runtime
("python-lit" ,python-lit))))))
(define-public dub
(package
(name "dub")
(version "1.7.2")
(version "1.23.0")
(source
(origin
(method git-fetch)
@ -431,26 +371,31 @@ integration tests...\n")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "073ibvgm1gphcqs1yjrav9ryp677nh3b194nxmvicwgvdc0sb6w9"))))
(base32 "06a4whsl1m600k096nwif83n7za3vr7pj1xwapncy5fcad1gmady"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; it would have tested itself by installing some packages (vibe etc)
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(replace 'build
(lambda _
(invoke "./build.sh")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "bin/dub" bin)
#t))))))
(list #:tests? #f ; tests try to install packages
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; no configure script
(replace 'build
(lambda _
(setenv "CC" #$(cc-for-target))
(setenv "LD" #$(ld-for-target))
(invoke "./build.d")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "bin/dub" bin)))))))
(inputs
(list curl))
(native-inputs
(list ldc))
(list d-tools
ldc
(module-ref (resolve-interface
'(gnu packages commencement))
'ld-gold-wrapper)))
(home-page "https://code.dlang.org/getting_started")
(synopsis "Package and build manager for D projects")
(description

View file

@ -7,6 +7,7 @@
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com>
;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,6 +29,7 @@
#:use-module (gnu packages)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@ -52,7 +54,7 @@
;; Note - when changing Docker versions it is important to update the versions
;; of several associated packages (docker-libnetwork and go-sctp).
(define %docker-version "19.03.15")
(define %docker-version "20.10.17")
(define-public python-docker
(package
@ -173,7 +175,7 @@ Python without keeping their credentials in a Docker configuration file.")
(define-public containerd
(package
(name "containerd")
(version "1.4.4")
(version "1.6.6")
(source
(origin
(method git-fetch)
@ -182,51 +184,58 @@ Python without keeping their credentials in a Docker configuration file.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0qjbfj1dw6pykxhh8zahcxlgpyjzgnrngk5vjaf34akwyan8nrxb"))))
(base32 "1vsl747i3wyy68j4lp4nprwxadbyga8qxlrk892afcd2990zp5mr"))))
(build-system go-build-system)
(arguments
(let ((make-flags (list (string-append "VERSION=" version)
"REVISION=0")))
`(#:import-path "github.com/containerd/containerd"
#:phases
(modify-phases %standard-phases
(add-after 'chdir 'patch-paths
(lambda* (#:key inputs import-path outputs #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(substitute* "runtime/v1/linux/runtime.go"
(("defaultRuntime[ \t]*=.*")
(string-append "defaultRuntime = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n"))
(("defaultShim[ \t]*=.*")
(string-append "defaultShim = \""
(assoc-ref outputs "out")
"/bin/containerd-shim\"\n")))
(substitute* "vendor/github.com/containerd/go-runc/runc.go"
(("DefaultCommand[ \t]*=.*")
(string-append "DefaultCommand = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n")))
(substitute* "vendor/github.com/containerd/continuity/testutil\
(let ((make-flags #~(list (string-append "VERSION=" #$version)
(string-append "DESTDIR=" #$output)
"PREFIX="
"REVISION=0")))
(list
#:import-path "github.com/containerd/containerd"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs import-path outputs #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(substitute* "runtime/v1/linux/runtime.go"
(("defaultRuntime[ \t]*=.*")
(string-append "defaultRuntime = \""
(search-input-file inputs "/sbin/runc")
"\"\n"))
(("defaultShim[ \t]*=.*")
(string-append "defaultShim = \""
(assoc-ref outputs "out")
"/bin/containerd-shim\"\n")))
(substitute* "pkg/cri/config/config_unix.go"
(("DefaultRuntimeName: \"runc\"")
(string-append "DefaultRuntimeName: \""
(search-input-file inputs "/sbin/runc")
"\"")))
(substitute* "vendor/github.com/containerd/go-runc/runc.go"
(("DefaultCommand[ \t]*=.*")
(string-append "DefaultCommand = \""
(search-input-file inputs "/sbin/runc")
"\"\n")))
(substitute* "vendor/github.com/containerd/continuity/testutil\
/loopback/loopback_linux.go"
(("exec\\.Command\\(\"losetup\"")
(string-append "exec.Command(\""
(assoc-ref inputs "util-linux")
"/sbin/losetup\"")))
(substitute* "archive/compression/compression.go"
(("exec\\.LookPath\\(\"unpigz\"\\)")
(string-append "\"" (assoc-ref inputs "pigz")
"/bin/unpigz\", error(nil)"))))))
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(apply invoke "make" ',make-flags))))
(replace 'install
(lambda* (#:key import-path outputs #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(let* ((out (assoc-ref outputs "out")))
(apply invoke "make" (string-append "DESTDIR=" out) "install"
',make-flags)))))))))
(("exec\\.Command\\(\"losetup\"")
(string-append "exec.Command(\""
(search-input-file inputs "/sbin/losetup")
"\"")))
(substitute* "archive/compression/compression.go"
(("exec\\.LookPath\\(\"unpigz\"\\)")
(string-append "\""
(search-input-file inputs "/bin/unpigz")
"\", error(nil)"))))))
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(apply invoke "make" #$make-flags))))
(replace 'install
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(apply invoke "make" "install" #$make-flags))))))))
(inputs
(list btrfs-progs libseccomp pigz runc util-linux))
(native-inputs
@ -243,11 +252,10 @@ network attachments.")
;;; anyway, as it needs many dependencies that aren't being satisfied.
(define docker-libnetwork
;; There are no recent release for libnetwork, so choose the last commit of
;; the branch that Docker uses, as can be seen in the Docker source file
;; 'hack/dockerfile/install/proxy.installer'. NOTE - It is important that
;; this version is kept in sync with the version of Docker being used.
;; This commit is the "bump_19.03" branch, as mentioned in Docker's vendor.conf.
(let ((commit "55e924b8a84231a065879156c0de95aefc5f5435")
;; the branch that Docker uses, as can be seen in the 'vendor.conf' Docker
;; source file. NOTE - It is important that this version is kept in sync
;; with the version of Docker being used.
(let ((commit "f6ccccb1c082a432c2a5814aaedaca56af33d9ea")
(version (version-major+minor %docker-version))
(revision "1"))
(package
@ -262,12 +270,10 @@ network attachments.")
(file-name (git-file-name name version))
(sha256
(base32
"19syb3scwiykn44gqfaqrgqv8a0df4ps0ykf3za9xkjc5cyi99mp"))
"0nxpr0h0smv4n641g41vxibr5r85ixfcvs9cp3c4fc7zvrhjc49s"))
;; Delete bundled ("vendored") free software source code.
(modules '((guix build utils)))
(snippet '(begin
(delete-file-recursively "vendor")
#t))))
(snippet '(delete-file-recursively "vendor"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/moby/libnetwork/"))
@ -315,278 +321,269 @@ built-in registry server of Docker.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0419iha9zmwlhzhnbfxlsa13vgd04yifnsr8qqnj2ks5dxrcajl8"))
(patches
(search-patches "docker-fix-tests.patch"))))
(base32 "0hn7fg717rggwk6dbicrwa7aglqp7dp0jp5rvn6p9gfcnrp2w97d"))))
(build-system gnu-build-system)
(arguments
`(#:modules
((guix build gnu-build-system)
(list
#:modules
'((guix build gnu-build-system)
((guix build go-build-system) #:prefix go:)
(guix build union)
(guix build utils))
#:imported-modules
(,@%gnu-build-system-modules
#:imported-modules
`(,@%gnu-build-system-modules
(guix build union)
(guix build go-build-system))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "builder/builder-next/executor_unix.go"
(("CommandCandidates:.*runc.*")
(string-append "CommandCandidates: []string{\""
(assoc-ref inputs "runc")
"/sbin/runc\"},\n")))
(substitute* "vendor/github.com/containerd/go-runc/runc.go"
(("DefaultCommand = .*")
(string-append "DefaultCommand = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n")))
(substitute* "vendor/github.com/containerd/containerd/runtime/v1/linux/runtime.go"
(("defaultRuntime[ \t]*=.*")
(string-append "defaultRuntime = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n"))
(("defaultShim[ \t]*=.*")
(string-append "defaultShim = \""
(assoc-ref inputs "containerd")
"/bin/containerd-shim\"\n")))
(substitute* "daemon/daemon_unix.go"
(("DefaultShimBinary = .*")
(string-append "DefaultShimBinary = \""
(assoc-ref inputs "containerd")
"/bin/containerd-shim\"\n"))
(("DefaultRuntimeBinary = .*")
(string-append "DefaultRuntimeBinary = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n"))
(("DefaultRuntimeName = .*")
(string-append "DefaultRuntimeName = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n")))
(substitute* "daemon/config/config.go"
(("StockRuntimeName = .*")
(string-append "StockRuntimeName = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n"))
(("DefaultInitBinary = .*")
(string-append "DefaultInitBinary = \""
(assoc-ref inputs "tini")
"/bin/tini-static\"\n")))
(substitute* "daemon/config/config_common_unix_test.go"
(("expectedInitPath: \"docker-init\"")
(string-append "expectedInitPath: \""
(assoc-ref inputs "tini")
"/bin/tini-static\"")))
(substitute* "vendor/github.com/moby/buildkit/executor/runcexecutor/executor.go"
(("var defaultCommandCandidates = .*")
(string-append "var defaultCommandCandidates = []string{\""
(assoc-ref inputs "runc") "/sbin/runc\"}")))
(substitute* "vendor/github.com/docker/libnetwork/portmapper/proxy.go"
(("var userlandProxyCommandName = .*")
(string-append "var userlandProxyCommandName = \""
(assoc-ref inputs "docker-proxy")
"/bin/proxy\"\n")))
(substitute* "pkg/archive/archive.go"
(("string\\{\"xz")
(string-append "string{\"" (assoc-ref inputs "xz") "/bin/xz")))
;; TODO: Remove when Docker proper uses v1.14.x to build
(substitute* "registry/resumable/resumablerequestreader_test.go"
(("I%27m%20not%20an%20url" all)
(string-append "\"" all "\"")))
;; TODO: Remove when Docker proper uses v1.14.x to build
(substitute* "vendor/gotest.tools/x/subtest/context.go"
(("func \\(tc \\*testcase\\) Cleanup\\(" all)
(string-append all "func()"))
(("tc\\.Cleanup\\(" all)
(string-append all "nil")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "builder/builder-next/executor_unix.go"
(("CommandCandidates:.*runc.*")
(string-append "CommandCandidates: []string{\""
(search-input-file inputs "/sbin/runc")
"\"},\n")))
(substitute* "vendor/github.com/containerd/go-runc/runc.go"
(("DefaultCommand = .*")
(string-append "DefaultCommand = \""
(search-input-file inputs "/sbin/runc")
"\"\n")))
(substitute* "vendor/github.com/containerd/containerd/\
runtime/v1/linux/runtime.go"
(("defaultRuntime[ \t]*=.*")
(string-append "defaultRuntime = \""
(search-input-file inputs "/sbin/runc")
"\"\n"))
(("defaultShim[ \t]*=.*")
(string-append "defaultShim = \""
(search-input-file inputs "/bin/containerd-shim")
"\"\n")))
(substitute* "daemon/daemon_unix.go"
(("DefaultShimBinary = .*")
(string-append "DefaultShimBinary = \""
(search-input-file inputs "/bin/containerd-shim")
"\"\n"))
(("DefaultRuntimeBinary = .*")
(string-append "DefaultRuntimeBinary = \""
(search-input-file inputs "/sbin/runc")
"\"\n")))
(substitute* "daemon/runtime_unix.go"
(("defaultRuntimeName = .*")
(string-append "defaultRuntimeName = \""
(search-input-file inputs "/sbin/runc")
"\"\n")))
(substitute* "daemon/config/config.go"
(("StockRuntimeName = .*")
(string-append "StockRuntimeName = \""
(search-input-file inputs "/sbin/runc")
"\"\n"))
(("DefaultInitBinary = .*")
(string-append "DefaultInitBinary = \""
(search-input-file inputs "/bin/tini-static")
"\"\n")))
(substitute* "daemon/config/config_common_unix_test.go"
(("expectedInitPath: \"docker-init\"")
(string-append "expectedInitPath: \""
(search-input-file inputs "/bin/tini-static")
"\"")))
(substitute* "vendor/github.com/moby/buildkit/executor/\
runcexecutor/executor.go"
(("var defaultCommandCandidates = .*")
(string-append "var defaultCommandCandidates = []string{\""
(search-input-file inputs "/sbin/runc") "\"}")))
(substitute* "vendor/github.com/docker/libnetwork/portmapper/proxy.go"
(("var userlandProxyCommandName = .*")
(string-append "var userlandProxyCommandName = \""
(search-input-file inputs "/bin/proxy")
"\"\n")))
(substitute* "pkg/archive/archive.go"
(("string\\{\"xz")
(string-append "string{\"" (search-input-file inputs "/bin/xz"))))
(let ((source-files (filter (lambda (name)
(not (string-contains name "test")))
(find-files "." "\\.go$"))))
(let-syntax ((substitute-LookPath*
(syntax-rules ()
((_ (source-text package relative-path) ...)
(substitute* source-files
(((string-append "\\<exec\\.LookPath\\(\""
source-text
"\")"))
(string-append "\""
(assoc-ref inputs package)
"/" relative-path
"\", error(nil)")) ...))))
(substitute-Command*
(syntax-rules ()
((_ (source-text package relative-path) ...)
(substitute* source-files
(((string-append "\\<(re)?exec\\.Command\\(\""
source-text
"\"") _ re?)
(string-append (if re? re? "")
"exec.Command(\""
(assoc-ref inputs package)
"/" relative-path
"\"")) ...)))))
(substitute-LookPath*
("containerd" "containerd" "bin/containerd")
("ps" "procps" "bin/ps")
("mkfs.xfs" "xfsprogs" "bin/mkfs.xfs")
("lvmdiskscan" "lvm2" "sbin/lvmdiskscan")
("pvdisplay" "lvm2" "sbin/pvdisplay")
("blkid" "util-linux" "sbin/blkid")
("unpigz" "pigz" "bin/unpigz")
("iptables" "iptables" "sbin/iptables")
("iptables-legacy" "iptables" "sbin/iptables")
("ip" "iproute2" "sbin/ip"))
(let ((source-files (filter (lambda (name)
(not (string-contains name "test")))
(find-files "." "\\.go$"))))
(let-syntax ((substitute-LookPath*
(syntax-rules ()
((_ (source-text path) ...)
(substitute* source-files
(((string-append "\\<exec\\.LookPath\\(\""
source-text
"\")"))
(string-append "\""
(search-input-file inputs path)
"\", error(nil)")) ...))))
(substitute-Command*
(syntax-rules ()
((_ (source-text path) ...)
(substitute* source-files
(((string-append "\\<(re)?exec\\.Command\\(\""
source-text
"\"") _ re?)
(string-append (if re? re? "")
"exec.Command(\""
(search-input-file inputs path)
"\"")) ...)))))
(substitute-LookPath*
("containerd" "/bin/containerd")
("ps" "/bin/ps")
("mkfs.xfs" "/sbin/mkfs.xfs")
("lvmdiskscan" "/sbin/lvmdiskscan")
("pvdisplay" "/sbin/pvdisplay")
("blkid" "/sbin/blkid")
("unpigz" "/bin/unpigz")
("iptables" "/sbin/iptables")
("ip6tables" "/sbin/ip6tables")
("iptables-legacy" "/sbin/iptables")
("ip" "/sbin/ip"))
(substitute-Command*
("modprobe" "kmod" "bin/modprobe")
("pvcreate" "lvm2" "sbin/pvcreate")
("vgcreate" "lvm2" "sbin/vgcreate")
("lvcreate" "lvm2" "sbin/lvcreate")
("lvconvert" "lvm2" "sbin/lvconvert")
("lvchange" "lvm2" "sbin/lvchange")
("mkfs.xfs" "xfsprogs" "sbin/mkfs.xfs")
("xfs_growfs" "xfsprogs" "sbin/xfs_growfs")
("mkfs.ext4" "e2fsprogs" "sbin/mkfs.ext4")
("tune2fs" "e2fsprogs" "sbin/tune2fs")
("blkid" "util-linux" "sbin/blkid")
("resize2fs" "e2fsprogs" "sbin/resize2fs")
("ps" "procps" "bin/ps")
("losetup" "util-linux" "sbin/losetup")
("uname" "coreutils" "bin/uname")
("dbus-launch" "dbus" "bin/dbus-launch")
("git" "git" "bin/git")))
;; docker-mountfrom ??
;; docker
;; docker-untar ??
;; docker-applyLayer ??
;; /usr/bin/uname
;; grep
;; apparmor_parser
(substitute-Command*
("modprobe" "/bin/modprobe")
("pvcreate" "/sbin/pvcreate")
("vgcreate" "/sbin/vgcreate")
("lvcreate" "/sbin/lvcreate")
("lvconvert" "/sbin/lvconvert")
("lvchange" "/sbin/lvchange")
("mkfs.xfs" "/sbin/mkfs.xfs")
("xfs_growfs" "/sbin/xfs_growfs")
("mkfs.ext4" "/sbin/mkfs.ext4")
("tune2fs" "/sbin/tune2fs")
("blkid" "/sbin/blkid")
("resize2fs" "/sbin/resize2fs")
("ps" "/bin/ps")
("losetup" "/sbin/losetup")
("uname" "/bin/uname")
("dbus-launch" "/bin/dbus-launch")
("git" "/bin/git")))
;; docker-mountfrom ??
;; docker
;; docker-untar ??
;; docker-applyLayer ??
;; /usr/bin/uname
;; grep
;; apparmor_parser
;; Make compilation fail when, in future versions, Docker
;; invokes other programs we don't know about and thus don't
;; substitute.
(substitute* source-files
;; Search for Java in PATH.
(("\\<exec\\.Command\\(\"java\"")
"xxec.Command(\"java\"")
;; Search for AUFS in PATH (mainline Linux doesn't support it).
(("\\<exec\\.Command\\(\"auplink\"")
"xxec.Command(\"auplink\"")
;; Fail on other unsubstituted commands.
(("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
_ executable)
(string-append "exec.Guix_doesnt_want_Command(\""
executable "\""))
(("\\<xxec\\.Command")
"exec.Command")
;; Search for ZFS in PATH.
(("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
;; Fail on other unsubstituted LookPaths.
(("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
(("\\<LooxPath") "LookPath")))
#t))
(add-after 'patch-paths 'delete-failing-tests
(lambda _
;; Needs internet access.
(delete-file "builder/remotecontext/git/gitutils_test.go")
;; Permission denied.
(delete-file "daemon/graphdriver/devmapper/devmapper_test.go")
;; Operation not permitted (idtools.MkdirAllAndChown).
(delete-file "daemon/graphdriver/vfs/vfs_test.go")
;; Timeouts after 5 min.
(delete-file "plugin/manager_linux_test.go")
;; Operation not permitted.
(delete-file "daemon/graphdriver/aufs/aufs_test.go")
(delete-file "daemon/graphdriver/btrfs/btrfs_test.go")
(delete-file "daemon/graphdriver/overlay/overlay_test.go")
(delete-file "daemon/graphdriver/overlay2/overlay_test.go")
(delete-file "pkg/chrootarchive/archive_unix_test.go")
(delete-file "daemon/container_unix_test.go")
;; This file uses cgroups and /proc.
(delete-file "pkg/sysinfo/sysinfo_linux_test.go")
;; This file uses cgroups.
(delete-file "runconfig/config_test.go")
;; This file uses /var.
(delete-file "daemon/oci_linux_test.go")
;; Signal tests fail in bizarre ways
(delete-file "pkg/signal/signal_linux_test.go")
#t))
(replace 'configure
(lambda _
(setenv "DOCKER_BUILDTAGS" "seccomp")
(setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version))
(setenv "VERSION" (string-append ,%docker-version "-ce"))
;; Automatically use bundled dependencies.
;; TODO: Unbundle - see file "vendor.conf".
(setenv "AUTO_GOPATH" "1")
;; Respectively, strip the symbol table and debug
;; information, and the DWARF symbol table.
(setenv "LDFLAGS" "-s -w")
;; Make build faster
(setenv "GOCACHE" "/tmp")
#t))
(add-before 'build 'setup-go-environment
(assoc-ref go:%standard-phases 'setup-go-environment))
(replace 'build
(lambda _
;; Our LD doesn't like the statically linked relocatable things
;; that go produces, so install the dynamic version of
;; dockerd instead.
(invoke "hack/make.sh" "dynbinary")))
(replace 'check
(lambda _
;; The build process generated a file because the environment
;; variable "AUTO_GOPATH" was set. Use it.
(setenv "GOPATH" (string-append (getcwd) "/.gopath"))
;; ".gopath/src/github.com/docker/docker" is a link to the current
;; directory and chdir would canonicalize to that.
;; But go needs to have the uncanonicalized directory name, so
;; store that.
(setenv "PWD" (string-append (getcwd)
"/.gopath/src/github.com/docker/docker"))
(with-directory-excursion ".gopath/src/github.com/docker/docker"
(invoke "hack/test/unit"))
(setenv "PWD" #f)
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out-bin (string-append out "/bin")))
(install-file "bundles/dynbinary-daemon/dockerd" out-bin)
(install-file (string-append "bundles/dynbinary-daemon/dockerd-"
(getenv "VERSION"))
out-bin)
#t)))
(add-after 'install 'remove-go-references
(assoc-ref go:%standard-phases 'remove-go-references)))))
;; Make compilation fail when, in future versions, Docker
;; invokes other programs we don't know about and thus don't
;; substitute.
(substitute* source-files
;; Search for Java in PATH.
(("\\<exec\\.Command\\(\"java\"")
"xxec.Command(\"java\"")
;; Search for AUFS in PATH (mainline Linux doesn't support it).
(("\\<exec\\.Command\\(\"auplink\"")
"xxec.Command(\"auplink\"")
;; Fail on other unsubstituted commands.
(("\\<exec\\.Command\\(\"([a-zA-Z0-9][a-zA-Z0-9_-]*)\""
_ executable)
(string-append "exec.Guix_doesnt_want_Command(\""
executable "\""))
(("\\<xxec\\.Command")
"exec.Command")
;; Search for ZFS in PATH.
(("\\<LookPath\\(\"zfs\"\\)") "LooxPath(\"zfs\")")
;; Do not fail when buildkit-qemu-<target> isn't found.
;; FIXME: We might need to package buildkit and docker's
;; buildx plugin, to support qemu-based docker containers.
(("\\<LookPath\\(\"buildkit-qemu-\"") "LooxPath(\"buildkit-qemu-\"")
;; Fail on other unsubstituted LookPaths.
(("\\<LookPath\\(\"") "Guix_doesnt_want_LookPath\\(\"")
(("\\<LooxPath") "LookPath")))))
(add-after 'patch-paths 'delete-failing-tests
(lambda _
;; Needs internet access.
(delete-file "builder/remotecontext/git/gitutils_test.go")
;; Permission denied.
(delete-file "daemon/graphdriver/devmapper/devmapper_test.go")
;; Operation not permitted (idtools.MkdirAllAndChown).
(delete-file "daemon/graphdriver/vfs/vfs_test.go")
;; Timeouts after 5 min.
(delete-file "plugin/manager_linux_test.go")
;; Operation not permitted.
(delete-file "daemon/graphdriver/aufs/aufs_test.go")
(delete-file "daemon/graphdriver/btrfs/btrfs_test.go")
(delete-file "daemon/graphdriver/overlay/overlay_test.go")
(delete-file "daemon/graphdriver/overlay2/overlay_test.go")
(delete-file "pkg/chrootarchive/archive_unix_test.go")
(delete-file "daemon/container_unix_test.go")
;; This file uses cgroups and /proc.
(delete-file "pkg/sysinfo/sysinfo_linux_test.go")
;; This file uses cgroups.
(delete-file "runconfig/config_test.go")
;; This file uses /var.
(delete-file "daemon/oci_linux_test.go")
;; Signal tests fail in bizarre ways
(delete-file "pkg/signal/signal_linux_test.go")))
(replace 'configure
(lambda _
(setenv "DOCKER_BUILDTAGS" "seccomp")
(setenv "DOCKER_GITCOMMIT" (string-append "v" #$%docker-version))
(setenv "VERSION" (string-append #$%docker-version "-ce"))
;; Automatically use bundled dependencies.
;; TODO: Unbundle - see file "vendor.conf".
(setenv "AUTO_GOPATH" "1")
;; Respectively, strip the symbol table and debug
;; information, and the DWARF symbol table.
(setenv "LDFLAGS" "-s -w")
;; Make build faster
(setenv "GOCACHE" "/tmp")))
(add-before 'build 'setup-go-environment
(assoc-ref go:%standard-phases 'setup-go-environment))
(replace 'build
(lambda _
;; Our LD doesn't like the statically linked relocatable things
;; that go produces, so install the dynamic version of
;; dockerd instead.
(invoke "hack/make.sh" "dynbinary")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; The build process generated a file because the environment
;; variable "AUTO_GOPATH" was set. Use it.
(setenv "GOPATH" (string-append (getcwd) "/.gopath"))
;; ".gopath/src/github.com/docker/docker" is a link to the current
;; directory and chdir would canonicalize to that.
;; But go needs to have the uncanonicalized directory name, so
;; store that.
(setenv "PWD" (string-append
(getcwd) "/.gopath/src/github.com/docker/docker"))
(with-directory-excursion ".gopath/src/github.com/docker/docker"
(invoke "hack/test/unit"))
(setenv "PWD" #f))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(out-bin (string-append out "/bin")))
(install-file "bundles/dynbinary-daemon/dockerd" out-bin)
(install-file (string-append "bundles/dynbinary-daemon/dockerd-"
(getenv "VERSION"))
out-bin))))
(add-after 'install 'remove-go-references
(assoc-ref go:%standard-phases 'remove-go-references)))))
(inputs
`(("btrfs-progs" ,btrfs-progs)
("containerd" ,containerd) ; for containerd-shim
("coreutils" ,coreutils)
("dbus" ,dbus)
("docker-proxy" ,docker-libnetwork-cmd-proxy)
("e2fsprogs" ,e2fsprogs)
("git" ,git)
("iproute2" ,iproute)
("iptables" ,iptables)
("kmod" ,kmod)
("libseccomp" ,libseccomp)
("pigz" ,pigz)
("procps" ,procps)
("runc" ,runc)
("util-linux" ,util-linux)
("lvm2" ,lvm2)
("tini" ,tini)
("xfsprogs" ,xfsprogs)
("xz" ,xz)))
(list btrfs-progs
containerd ; for containerd-shim
coreutils
dbus
docker-libnetwork-cmd-proxy
e2fsprogs
git
iproute
iptables
kmod
libseccomp
pigz
procps
runc
util-linux
lvm2
tini
xfsprogs
xz))
(native-inputs
(list eudev ; TODO: Should be propagated by lvm2 (.pc -> .pc)
go-1.14 gotestsum pkg-config))
(synopsis "Docker container component library, and daemon")
go gotestsum pkg-config))
(synopsis "Container component library and daemon")
(description "This package provides a framework to assemble specialized
container systems. It includes components for orchestration, image
management, secret management, configuration management, networking,
@ -600,13 +597,13 @@ provisioning etc.")
(version %docker-version)
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/docker/cli")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1asapjj8brvbkd5irgdq82fx1ihrc14qaq30jxvjwflfm5yb7lv0"))))
(method git-fetch)
(uri (git-reference
(url "https://github.com/docker/cli")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ksicj4iqvgp9jabd4xmhkf3vax6dwn4f5dsr73bdqj4mf3ahav0"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/docker/cli"
@ -626,21 +623,20 @@ provisioning etc.")
;; Make build reproducible.
(setenv "BUILDTIME" "1970-01-01 00:00:01.000000000+00:00")
(symlink "src/github.com/docker/cli/scripts" "./scripts")
(symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")
#t))
(symlink "src/github.com/docker/cli/docker.Makefile" "./docker.Makefile")))
(replace 'build
(lambda _
(invoke "./scripts/build/dynbinary")))
(setenv "GO_LINKMODE" "dynamic")
(invoke "./scripts/build/binary")))
(replace 'check
(lambda* (#:key make-flags tests? #:allow-other-keys)
(setenv "PATH" (string-append (getcwd) "/build:" (getenv "PATH")))
(if tests?
;; Use the newly-built docker client for the tests.
(with-directory-excursion "src/github.com/docker/cli"
;; TODO: Run test-e2e as well?
(apply invoke "make" "-f" "docker.Makefile" "test-unit"
(or make-flags '())))
#t)))
(when tests?
;; Use the newly-built docker client for the tests.
(with-directory-excursion "src/github.com/docker/cli"
;; TODO: Run test-e2e as well?
(apply invoke "make" "-f" "docker.Makefile" "test-unit"
(or make-flags '()))))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -653,8 +649,7 @@ provisioning etc.")
(string-append etc "/fish/completions"))
(install-file "zsh/_docker"
(string-append etc "/zsh/site-functions")))
(install-file "build/docker" out-bin)
#t))))))
(install-file "build/docker" out-bin)))))))
(native-inputs
(list go libltdl pkg-config))
(synopsis "Command line interface to Docker")

View file

@ -579,7 +579,7 @@ a pen-tablet display and a beamer.")
(define-public fet
(package
(name "fet")
(version "6.2.2")
(version "6.5.3")
(source
(origin
(method url-fetch)
@ -588,20 +588,21 @@ a pen-tablet display and a beamer.")
(list (string-append directory base)
(string-append directory "old/" base))))
(sha256
(base32 "1x8m543n88iqprh4zccx1zcfm20balmh0h6syrbv03cszmkvfw07"))))
(base32 "030njv53azzw6fn2d5mkxn7hyvyb45yss2y49wxb8bgj3ayv1rgp"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-hardcoded-directories
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (list "fet.pro"
"src/src.pro"
"src/src-cl.pro"
"src/interface/fet.cpp")
(("/usr") (assoc-ref outputs "out")))))
(replace 'configure
(lambda _ (invoke "qmake" "fet.pro"))))))
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-hardcoded-directories
(lambda _
(substitute* (list "fet.pro"
"src/src.pro"
"src/src-cl.pro"
"src/interface/fet.cpp")
(("/usr") #$output))))
(replace 'configure
(lambda _ (invoke "qmake" "fet.pro"))))))
(inputs
(list qtbase))
(home-page "https://www.lalescu.ro/liviu/fet/")

View file

@ -114,6 +114,7 @@
;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2022 Haider Mirza <haider@haider.gq>
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -778,10 +779,10 @@ information in the mode line.")
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/project-" version ".tar"))
(sha256
(base32 "1x3zkbjsi04v5ny3yxqrb75vcacrj9kxmpm9mvkp0n07j5g34f68"))))
(base32 "0q2js8qihlhchpx2mx0f992ygslsqri2q4iv8kcl4fx31lpp7c1k"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-xref))
(home-page "http://elpa.gnu.org/packages/project.html")
(home-page "https://elpa.gnu.org/packages/project.html")
(synopsis "Operations on the current project")
(description
"This library contains generic infrastructure for dealing with projects,
@ -1627,92 +1628,99 @@ replacement.")
(license license:gpl3+))))
(define-public emacs-haskell-mode
(package
(name "emacs-haskell-mode")
(version "17.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/haskell/haskell-mode")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))))
(propagated-inputs
(list emacs-dash))
(native-inputs
(list emacs-minimal emacs-el-search emacs-stream texinfo))
(build-system gnu-build-system)
(arguments
(list
#:make-flags #~(list
(string-append "EMACS=" #$emacs-minimal "/bin/emacs"))
#:modules `((ice-9 match)
(srfi srfi-26)
((guix build emacs-build-system) #:prefix emacs:)
,@%gnu-build-system-modules)
#:imported-modules `(,@%gnu-build-system-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
(define (el-dir store-dir)
(match (find-files store-dir "\\.el$")
((f1 f2 ...) (dirname f1))
(_ "")))
(let ((revision "0")
(commit "5a9f8072c7b9168f0a8409adf9d62a3e4ad4ea3d"))
(package
(name "emacs-haskell-mode")
(version (git-version "17.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/haskell/haskell-mode")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0np1wrwdq7b9hpqpl9liampacnkx6diphyk8h2sbz2mfn9qr7pxs"))))
(propagated-inputs
(list emacs-dash))
(native-inputs
(list emacs-minimal emacs-el-search emacs-stream texinfo))
(build-system gnu-build-system)
(arguments
(list
#:make-flags #~(list
(string-append "EMACS=" #$emacs-minimal "/bin/emacs"))
#:modules `((ice-9 match)
(srfi srfi-26)
((guix build emacs-build-system) #:prefix emacs:)
,@%gnu-build-system-modules)
#:imported-modules `(,@%gnu-build-system-modules
(guix build emacs-build-system)
(guix build emacs-utils))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
(define (el-dir store-dir)
(match (find-files store-dir "\\.el$")
((f1 f2 ...) (dirname f1))
(_ "")))
(let ((sh (search-input-file inputs "/bin/sh")))
(define emacs-prefix? (cut string-prefix? "emacs-" <>))
(let ((sh (search-input-file inputs "/bin/sh")))
(define emacs-prefix? (cut string-prefix? "emacs-" <>))
(setenv "SHELL" "sh")
(setenv "EMACSLOADPATH"
(string-concatenate
(map (match-lambda
(((? emacs-prefix? name) . dir)
(string-append (el-dir dir) ":"))
(_ ""))
inputs)))
(substitute* (find-files "." "\\.el") (("/bin/sh") sh)))))
(add-before 'check 'delete-failing-tests
;; XXX: these tests require GHC executable, which would be a big
;; native input.
(lambda _
(with-directory-excursion "tests"
;; File `haskell-indent-tests.el' fails with
;; `haskell-indent-put-region-in-literate-2'
;; on Emacs 27.1+
;; XXX: https://github.com/haskell/haskell-mode/issues/1714
(for-each delete-file
'("haskell-indent-tests.el"
"haskell-customize-tests.el"
"inferior-haskell-tests.el")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(el-dir (emacs:elpa-directory out))
(doc (string-append
out "/share/doc/haskell-mode-" #$version))
(info (string-append out "/share/info")))
(define (copy-to-dir dir files)
(for-each (lambda (f)
(install-file f dir))
files))
(setenv "SHELL" "sh")
(setenv "EMACSLOADPATH"
(string-concatenate
(map (match-lambda
(((? emacs-prefix? name) . dir)
(string-append (el-dir dir) ":"))
(_ ""))
inputs)))
(substitute* (find-files "." "\\.el") (("/bin/sh") sh)))))
(add-before 'check 'delete-failing-tests
;; XXX: these tests require GHC executable, which would be a big
;; native input.
(lambda _
(with-directory-excursion "tests"
;; File `haskell-indent-tests.el' fails with
;; `haskell-indent-put-region-in-literate-2'
;; on Emacs 27.1+
;; XXX: https://github.com/haskell/haskell-mode/issues/1714
(for-each delete-file
'("haskell-indent-tests.el"
"haskell-customize-tests.el"
"inferior-haskell-tests.el"))
(with-directory-excursion "doc"
(invoke "makeinfo" "haskell-mode.texi")
(install-file "haskell-mode.info" info))
(copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
(copy-to-dir el-dir (find-files "." "\\.elc?"))))))))
(home-page "https://github.com/haskell/haskell-mode")
(synopsis "Haskell mode for Emacs")
(description
"This is an Emacs mode for editing, debugging and developing Haskell
;; requires many external tools (e.g. git, hasktags)
(substitute* "haskell-mode-tests.el"
(("\\(ert-deftest haskell-generate-tags.*" all)
(string-append all " (skip-unless nil)"))))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(el-dir (emacs:elpa-directory out))
(doc (string-append
out "/share/doc/haskell-mode-" #$version))
(info (string-append out "/share/info")))
(define (copy-to-dir dir files)
(for-each (lambda (f)
(install-file f dir))
files))
(with-directory-excursion "doc"
(invoke "makeinfo" "haskell-mode.texi")
(install-file "haskell-mode.info" info))
(copy-to-dir doc '("CONTRIBUTING.md" "NEWS" "README.md"))
(copy-to-dir el-dir (find-files "." "\\.elc?"))))))))
(home-page "https://github.com/haskell/haskell-mode")
(synopsis "Haskell mode for Emacs")
(description
"This is an Emacs mode for editing, debugging and developing Haskell
programs.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-dante
(let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b")
@ -1746,47 +1754,44 @@ supports type hints, definition-jumping, completion, and more.")
(license license:gpl3+))))
(define-public emacs-flycheck
;; Last release version was more than 500 commits ago.
(let ((commit "9bcf6b665e15db94870bebc81dc8248c3eec20d3")
(revision "2"))
(package
(name "emacs-flycheck")
(version (git-version "31" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/flycheck/flycheck/")
(commit commit)))
(sha256
(base32 "015ixss5bjr7gvhj8mkw5x2x1hy6fvvsjarr2xpv0gskkkngs7pg"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash))
(native-inputs
(list emacs-shut-up))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'change-flycheck-version
(lambda _
(substitute* "flycheck.el"
(("\\(pkg-info-version-info 'flycheck\\)")
(string-append "\"" #$version "\""))))))
;; TODO: many failing tests
#:tests? #f
#:test-command
#~(list "emacs" "-Q" "--batch"
"-L" "."
"--load" "test/flycheck-test"
"--load" "test/run.el"
"-f" "flycheck-run-tests-main")))
(home-page "https://www.flycheck.org")
(synopsis "On-the-fly syntax checking")
(description
"This package provides on-the-fly syntax checking for GNU Emacs. It is a
(package
(name "emacs-flycheck")
(version "32")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/flycheck/flycheck/")
(commit version)))
(sha256
(base32 "0dx6wqxz1yfp4shas4yn6abqc8bz21ks3glcyzznm3xspjdaq21s"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash))
(native-inputs
(list emacs-shut-up))
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'change-flycheck-version
(lambda _
(substitute* "flycheck.el"
(("\\(pkg-info-version-info 'flycheck\\)")
(string-append "\"" #$version "\""))))))
;; TODO: many failing tests
#:tests? #f
#:test-command
#~(list "emacs" "-Q" "--batch"
"-L" "."
"--load" "test/flycheck-test"
"--load" "test/run.el"
"-f" "flycheck-run-tests-main")))
(home-page "https://www.flycheck.org")
(synopsis "On-the-fly syntax checking")
(description
"This package provides on-the-fly syntax checking for GNU Emacs. It is a
replacement for the older Flymake extension which is part of GNU Emacs, with
many improvements and additional features.
@ -1794,7 +1799,7 @@ Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax
checking for over 30 programming and markup languages with more than 70
different tools. It highlights errors and warnings inline in the buffer, and
provides an optional IDE-like error list.")
(license license:gpl3+)))) ;+GFDLv1.3+ for the manual
(license license:gpl3+))) ;+GFDLv1.3+ for the manual
(define-public emacs-flymake-flycheck
(package
@ -2571,14 +2576,14 @@ directories or regex patterns.")
(define-public emacs-bbdb
(package
(name "emacs-bbdb")
(version "3.2.1")
(version "3.2.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"bbdb-" version ".tar"))
(sha256
(base32 "01vsnifs47krq1srgdkk9agbv3p2fykl9nydr4nrfjxbqpnyh3ij"))))
(base32 "0bf20r5xhxln6z4qp8zrlln0303dkci2ydsr74pxcj08aqgk5xxf"))))
(build-system emacs-build-system)
(arguments
;; XXX: The following file cannot be byte-compiled, because et requires
@ -2897,14 +2902,14 @@ as a library for other Emacs packages.")
(define-public emacs-auctex
(package
(name "emacs-auctex")
(version "13.1.1")
(version "13.1.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"auctex-" version ".tar"))
(sha256
(base32 "193sqq2wiq3lg99m8hifl9rjxdazpy638r99sqvmxmkfm98cr34r"))))
(base32 "0v9rxwz6ngnwrgvzgdki861s136gq30lqhy2gcd9q0a36gb6zhwk"))))
(build-system emacs-build-system)
;; We use 'emacs' because AUCTeX requires dbus at compile time
;; ('emacs-minimal' does not provide dbus).
@ -6778,6 +6783,37 @@ tupfiles, such as rule definitions, user-defined variables, macros, flags, bin
variables, and so on. The mode also allows you to execute Tup commands.")
(license license:gpl3+)))
(define-public emacs-compat
(package
(name "emacs-compat")
(version "28.1.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~pkal/compat")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"19abp29rnbkw91q0h2yqm2z7awzzjhci8h6v875g5ahvplrp6337"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-nadvice))
(home-page "https://git.sr.ht/~pkal/compat")
(synopsis "Emacs Lisp Compatibility Library")
(description
"To allow for the usage of Emacs functions and macros that are defined
in newer versions of Emacs, @code{compat.el} provides definitions that
are installed ONLY if necessary. These reimplementations of functions
and macros are at least subsets of the actual implementations. Be
sure to read the documentation string to make sure.
Not every function provided in newer versions of Emacs is provided
here. Some depend on new features from the core, others cannot be
implemented to a meaningful degree. The main audience for this
library are not regular users, but package maintainers. Therefore
commands and user options are usually not implemented here.")
(license license:gpl3+)))
(define-public emacs-company
(package
(name "emacs-company")
@ -7797,8 +7833,39 @@ using @code{python-isort}.")
(base32
"1bckxppfzd5gwn0aw4h86igb7igal9axqncq7j8zmflg7zppncf1"))))
(build-system emacs-build-system)
(native-inputs
(list emacs-mocker))
(arguments
(list
#:imported-modules `(,@%emacs-build-system-modules
(guix build python-build-system))
#:modules '((guix build emacs-build-system)
((guix build python-build-system) #:prefix python:)
(guix build emacs-utils)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'ensure-no-mtimes-pre-1980
(assoc-ref python:%standard-phases
'ensure-no-mtimes-pre-1980))
(add-after 'ensure-no-mtimes-pre-1980 'relax-python-requirements
(lambda _
;; Argparse should only be required for Python < 3.2
;; (see: https://github.com/tkf/emacs-jedi/issues/365).
(substitute* "setup.py"
((".*argparse.*") ""))))
(add-after 'relax-python-requirements 'python:add-install-to-pythonpath
(assoc-ref python:%standard-phases 'add-install-to-pythonpath))
(add-after 'python:add-install-to-pythonpath 'python:install
;; This is needed to get the Python-built 'jediepcserver' command.
(assoc-ref python:%standard-phases 'install))
(add-after 'python:install 'python:wrap
(assoc-ref python:%standard-phases 'wrap))
(add-after 'python:wrap 'patch-jedi:server-command
(lambda* (#:key outputs #:allow-other-keys)
(emacs-substitute-variables "jedi-core.el"
("jedi:server-command"
(search-input-file outputs "bin/jediepcserver"))))))))
(native-inputs (list emacs-mocker python-wrapper))
(inputs (list python-wrapper python-epc python-jedi)) ;wrapped
(propagated-inputs
(list emacs-auto-complete emacs-python-environment emacs-epc))
(home-page "https://github.com/tkf/emacs-jedi")
@ -8499,7 +8566,7 @@ variants.")
(define-public emacs-solarized-theme
(package
(name "emacs-solarized-theme")
(version "1.3.1")
(version "2.0.0")
(source
(origin
(method git-fetch)
@ -8508,7 +8575,7 @@ variants.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15ql8xcixgm7mbs7rsbybwszanqibq057j5b5ds89a31dw7zxf1g"))))
(base32 "17z6cj8ids88xj2i6zs1s0mxs0fhn3gr7g5nhhy8s8khnzmyy2vj"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash))
@ -8834,7 +8901,7 @@ them easier to distinguish from other, less important buffers.")
(define-public emacs-embark
(package
(name "emacs-embark")
(version "0.16")
(version "0.17")
(source
(origin
(method git-fetch)
@ -8842,7 +8909,7 @@ them easier to distinguish from other, less important buffers.")
(url "https://github.com/oantolin/embark")
(commit version)))
(sha256
(base32 "04xxwhh577aam0fqfmprxqaw0v1l6yidikr6chajcf16mf1wd2gv"))
(base32 "1s0ssf4q9kg4c5w87h2ypyvrhi31mz3s6k4h7pxi9a47lkccq8n1"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
@ -8952,7 +9019,7 @@ style, or as multiple word prefixes.")
(define-public emacs-consult
(package
(name "emacs-consult")
(version "0.17")
(version "0.18")
(source
(origin
(method git-fetch)
@ -8960,9 +9027,10 @@ style, or as multiple word prefixes.")
(url "https://github.com/minad/consult")
(commit version)))
(sha256
(base32 "08l3h7b5j1q9nwcq660667b245qspl20ikhfdvd9k3g3n2p6p5kz"))
(base32 "0sy4rn1vjk1g50r8z14hzj8lds6s7ij2zkjqfi6mfash5il75wnq"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-compat))
(home-page "https://github.com/minad/consult")
(synopsis "Consulting completing-read")
(description "This package provides various handy commands based on the
@ -9018,6 +9086,27 @@ replaced with the directory you choose.")
and present results either as single emails or full trees.")
(license license:gpl3+)))
(define-public emacs-consult-eglot
(package
(name "emacs-consult-eglot")
(version "0.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mohkale/consult-eglot")
(commit (string-append "v" version))))
(sha256
(base32 "1qxk1npxbf8m3g9spikgdxcf6mzjx6cwy3f5vn6zz5ksh14xw3sd"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-consult emacs-eglot))
(home-page "https://github.com/mohkale/consult-eglot")
(synopsis "Consulting-read interface for eglot")
(description "This package acts as a parallel of consult-lsp for eglot and
provides a front-end interface for the workspace/symbols LSP procedure
call.")
(license license:gpl3+)))
(define-public emacs-marginalia
(package
(name "emacs-marginalia")
@ -9071,6 +9160,35 @@ features found in other packages it also brings many improvements as
well as completely new features.")
(license license:gpl3+)))
(define-public emacs-dumbparens
;; There are no releases.
(let ((commit "18b668772f25e5f7b62c0a000b8169eaf7515057")
(revision "0"))
(package
(name "emacs-dumbparens")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/raxod502/dumbparens")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0xv2yzjzq2450z007jppf86knnwzb2s3sxvqyk1yp6qs9mgrmnyp"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #t
#:test-command #~(list "make" "test")))
(home-page "https://github.com/raxod502/dumbparens/")
(synopsis "Minor mode that provides improvements on Smartparens")
(description
"@code{emacs-dumbparens} is a minor mode for Emacs that deals with parens
pairs and doesn't try to be smart about it.")
(license license:expat))))
(define-public emacs-highlight-symbol
;; We prefer a more recent commit that provides an option to squelch
;; echo-area alerts that can drown out useful information like eldoc
@ -9982,8 +10100,9 @@ state and will work even without lispy being enabled.")
(license license:gpl3+))))
(define-public emacs-lpy
(let ((commit "43b401fe15f0f0d01edb189378b9498121e9f766")
(revision "3"))
;; There is no proper release/tag.
(let ((commit "076ce9acb68f6ac1b39127b634a91ffd865d13d8")
(revision "4"))
(package
(name "emacs-lpy")
(version (git-version "0.1.0" revision commit))
@ -9995,7 +10114,7 @@ state and will work even without lispy being enabled.")
(commit commit)))
(sha256
(base32
"0xj1r7cn1rivaxhvawvmgx9fg3xilpfw4lkf2x2aqplr4s85ijas"))
"10sab50wmr3zn7jgzx93201ymhmacqacn3m2qllsqkfw2gpsi6dn"))
(file-name (git-file-name name version))))
(propagated-inputs
(list emacs-zoutline emacs-lispy))
@ -11575,7 +11694,7 @@ Emacs.")
(define-public emacs-web-mode
(package
(name "emacs-web-mode")
(version "17")
(version "17.2.1")
(source
(origin
(method git-fetch)
@ -11584,7 +11703,7 @@ Emacs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0jr5a1nzp8nbdng0k2fcaymiiv9ngrbknbrqaswgqn3akvx793jk"))))
(base32 "0sd2ysysn8x4iwz2fhnvh8knr3pdqgkvhkhsl948smmfl0dwj42f"))))
(build-system emacs-build-system)
(synopsis "Major mode for editing web templates")
(description "Web mode is an Emacs major mode for editing web templates
@ -16006,8 +16125,8 @@ which avoids some of the issues with using Emacss built-in Url library.")
(license license:gpl3+)))
(define-public emacs-ement
(let ((commit "c951737dc855604aba389166bb0e7366afadc533")
(revision "1"))
(let ((commit "45b7882c8a8f28eb59113f78db0e79918f2c58ee")
(revision "2"))
(package
(name "emacs-ement")
(version (git-version "0.1-pre" revision commit))
@ -16019,12 +16138,15 @@ which avoids some of the issues with using Emacss built-in Url library.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "00iwwz4hzg4g59wrb5df6snqz3ppvrsadhfp61w1pa8gvg2z9bvy"))))
(base32 "1f79h9l7chazan7kh2g73banqim5p4gz2nyx3cvp9jjfz32c4k46"))))
(build-system emacs-build-system)
(arguments
`(#:emacs ,emacs)) ;need libxml support
(propagated-inputs
(list emacs-plz emacs-ts))
(list emacs-plz
emacs-svg-lib
emacs-taxy
emacs-ts))
(home-page "https://github.com/alphapapa/ement.el")
(synopsis "Matrix client for Emacs")
(description "Ement.el is a Matrix client for Emacs.")
@ -16359,8 +16481,8 @@ key. Optionally, a mouse pop-up can be added by binding
(license license:gpl3+)))
(define-public emacs-idris-mode
(let ((commit "b77eadd8ac2048d5c882b4464bd9673e45dd6a59")
(revision "0"))
(let ((commit "9bc7697406f719258d93835df3c1761efbfecaa7")
(revision "1"))
(package
(name "emacs-idris-mode")
(version (git-version "1.0" revision commit))
@ -16373,7 +16495,7 @@ key. Optionally, a mouse pop-up can be added by binding
(file-name (git-file-name name commit))
(sha256
(base32
"1v8av6jza1j00ln75zjwaca0vmmv0fhhhi94p84rlfzgzykyb9g1"))))
"1d1f7kx0fw632js7qd1sra5wbpwyamcqs5wpzhyynmr5ybb0vyl7"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-prop-menu))
@ -26600,14 +26722,14 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-tramp
(package
(name "emacs-tramp")
(version "2.5.2.2")
(version "2.5.2.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
(base32 "104nn6xdmcviqqv4cx5llhwj1sh4q04w3h9s8gimmi2kg0z8s36r"))))
(base32 "05f59x7jl4m187y2cidhnfz7p8q85gav4xpipazfvm5dicxz4j7c"))))
(build-system emacs-build-system)
(arguments
(list
@ -27248,7 +27370,7 @@ it forcibly
(define-public emacs-elpher
(package
(name "emacs-elpher")
(version "3.3.3")
(version "3.4.1")
(source
(origin
(method git-fetch)
@ -27257,7 +27379,7 @@ it forcibly
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "166fjq9d883hifa35zklyjrm4c575nd6zxdx7akbwibrgwi65bl0"))))
(base32 "0dv71zc95m5sa4824vk3d1xk726nh2v50i0yp6w3ydfzzsfph6j6"))))
(build-system emacs-build-system)
(arguments
(list
@ -31029,7 +31151,7 @@ and preferred services can easily be configured.")
(define-public emacs-vertico
(package
(name "emacs-vertico")
(version "0.23")
(version "0.24")
(source
(origin
(method git-fetch)
@ -31038,7 +31160,7 @@ and preferred services can easily be configured.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1lyvnpqplwdawlplriz0rphsjsaqdcbc3nwzpd7bs9qghpsfb56z"))))
(base32 "03p9rf80jnralxpydvxi88igs0r6qa6v41xf1fafwgsf235b49yi"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -31205,6 +31327,30 @@ to the @url{https://multitran.com} online dictionary.")
@command{python} buffers.")
(license license:gpl3)))
(define-public emacs-code-cells
;; No tagged release upstream
(let ((commit "8660bdeedee360e5eb632f1eb1356eb09d7dfbee")
(revision "0"))
(package
(name "emacs-code-cells")
(version (git-version "0.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/astoff/code-cells.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0mvfsdlhc3znc0d2p8vm7apkbpvbs688wmwvd0sms33qly53f546"))))
(build-system emacs-build-system)
(home-page "https://github.com/astoff/code-cells.el")
(synopsis "Emacs utilities for code split into cells, including Jupyter
notebooks")
(description "This package lets you efficiently navigate, edit and
execute code split into cells according to certain magic comments.")
(license license:gpl3+))))
(define-public emacs-kibit-helper
(package
(name "emacs-kibit-helper")
@ -31398,14 +31544,14 @@ are prefixed with @code{seq-} and work on lists, strings, and vectors.")
(define-public emacs-setup
(package
(name "emacs-setup")
(version "1.2.0")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/setup-"
version ".tar"))
(sha256
(base32 "1fyzkm42gsvsjpk3vahfb7asfldarixm0wsw3g66q3ad0r7cbjnz"))))
(base32 "0r13ry73jm31j8fq7v1sh0k113fr4blfkiz85696bdpah2pnca87"))))
(build-system emacs-build-system)
(home-page "https://git.sr.ht/~pkal/setup")
(synopsis "Helpful configuration macro")
@ -31565,6 +31711,60 @@ headlines, keywords, tables and source blocks.")
"@code{emacs-pyimport} manages python imports from Emacs via @code{python-pyflakes}.")
(license license:gpl3+)))) ; License is in pyimport.el
(define-public emacs-straight-el
(let ((commit "4517e118ee43f849f708025dbb2cf4f281793121")
(revision "0"))
(package
(name "emacs-straight-el")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/raxod502/straight.el")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0idhgh203rac9c046286gir9rq0lgnlllzj4b4hrjpd3idg9v0r8"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #t
#:test-command
#~(list "emacs" "-Q" "--batch"
"-L" "."
"--load" "ert"
"--load" "tests/straight-test.el"
"--eval" "(progn (require 'straight-ert-print-hack) (ert-run-tests-batch-and-exit))")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-git-executable
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "straight.el")
(substitute* "straight.el"
(("\"git\"")
(string-append "\""
(search-input-file inputs "/bin/git")
"\"")))))
(add-after 'check 'delete-tests
;; "tests" directory includes bogus ".el" files that can make
;; `patch-el-files' phase fail.
(lambda _
(delete-file-recursively "tests"))))))
(native-inputs
(list texinfo))
(inputs
(list git))
(propagated-inputs
(list emacs-magit))
(home-page "https://github.com/raxod502/straight.el/")
(synopsis "Purely functional package manager for the Emacs hacker")
(description
"@code{emacs-straight-el} is a purely functional package manager for the Emacs
hacker.")
(license license:expat))))
(define-public emacs-osm
(package
(name "emacs-osm")

View file

@ -106,7 +106,7 @@
;; Make sure Tramp looks for binaries in the right places on
;; remote Guix System machines, where 'getconf PATH' returns
;; something bogus.
(substitute* "net/tramp-sh.el"
(substitute* "net/tramp.el"
;; Patch the line after "(defcustom tramp-remote-path".
(("\\(tramp-default-remote-path")
(format #f "(tramp-default-remote-path ~s ~s ~s ~s "

View file

@ -33,6 +33,7 @@
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
;;; Copyright © 2022 Konstantinos Agiannis <agiannis.kon@gmail.com>
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -942,7 +943,7 @@ Emacs).")
(define-public kicad
(package
(name "kicad")
(version "6.0.5")
(version "6.0.6")
(source (origin
(method git-fetch)
(uri (git-reference
@ -950,7 +951,7 @@ Emacs).")
(commit version)))
(sha256
(base32
"19mg672h1gjdvnkp13cpkhk67xpwms72y4gd6g8983fcsxr8nq23"))
"0cb9zba812dlmn2w27s1q38mjpfdwhv0nnbilwsxchpvwg8j4k2j"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@ -1057,7 +1058,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
"190pnrf2cy06wnnskyb4fqj4a4nfmz17i3y79rnrz3j62h3fmg0w"))))
"1kxv0j3nx6zn45znrhqq6bdqrsd60mgmgvr1gjv5p8g3cbkkslrx"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html")
@ -1091,7 +1092,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
"1dhgdp08ah08fc5nvwkqmgpl2any9vgy1gykmyzsd4dl8hhvznh5"))))
"02z3vqhz1rlf57zi8vyrlxvvdl1hpsh447p41qdgcpn5dyjycb9d"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests exist
@ -1120,7 +1121,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"0sxzd4dr1g12ck8b2wsyg9r2s1j3472nksrjrwpzjdyfc8rqbjai"))))
"1phynxisha2pq2knbx5l1hkdz1bmjm0qxl3lcb4ab82h8d35r37c"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@ -1137,7 +1138,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"00i6mybg3pprzb283b26z5b2g7a8sbghlvc0fwk9gwrp3wz1yqzc"))))
"0ci9gxbpfnfqwah95ki4qcwlca78s1z6s7hckisnp58a1cm9siya"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
@ -1154,7 +1155,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm"))))
"08zxh83fbygh1x2jhca8nrp3f9kihf7kmg65qmyp95wvps4p5h8v"))))
(synopsis "Official KiCad project and worksheet templates")
(description "This package contains the official KiCad project and
worksheet templates.")))
@ -3169,7 +3170,7 @@ visualization, matrix manipulation.")
(define-public prusa-slicer
(package
(name "prusa-slicer")
(version "2.4.1")
(version "2.4.2")
(source
(origin
(method git-fetch)
@ -3178,7 +3179,7 @@ visualization, matrix manipulation.")
(url "https://github.com/prusa3d/PrusaSlicer")
(commit (string-append "version_" version))))
(file-name (git-file-name name version))
(sha256 (base32 "0q1m8fcz39s03r9csq411ss8vbbpjx45icj8vgkysy8hqgqz3gz0"))
(sha256 (base32 "17p56f0zmiryy8k4da02in1l6yxniz286gf9yz8s1gaz5ksqj4af"))
(modules '((guix build utils)))
(snippet
'(begin

View file

@ -44,7 +44,7 @@
(define-public erlang
(package
(name "erlang")
(version "24.3.4")
(version "25.0.2")
(source (origin
(method git-fetch)
;; The tarball from http://erlang.org/download contains many
@ -56,7 +56,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0rrnppglh261x81w9bzmh6wvxy8xjqiiw3nvv4q2214pmc1pxilr"))
"0xgp035vy0yy5m155rpmf22m6rq7pvw3m65s5mz22bcpj2rw4b0x"))
(patches (search-patches "erlang-man-path.patch"))))
(build-system gnu-build-system)
(native-inputs
@ -70,7 +70,7 @@
(version-major+minor version) ".tar.gz"))
(sha256
(base32
"057nrw8563nyd98l5zp9ffi3npw6h3jx06j1hv110wzpxqi25bb8"))))))
"17ap4kawlbqmcl13c543gh54p1ng8ivxmbn6lbbij07k81ry5p1y"))))))
(inputs
(list ncurses openssl wxwidgets))
(propagated-inputs

View file

@ -1146,7 +1146,7 @@ with the included @command{xfstests-check} helper.")
(define-public zfs
(package
(name "zfs")
(version "2.1.4")
(version "2.1.5")
(outputs '("out" "module" "src"))
(source
(origin
@ -1155,7 +1155,7 @@ with the included @command{xfstests-check} helper.")
"/download/zfs-" version
"/zfs-" version ".tar.gz"))
(sha256
(base32 "1xmcy4f0damf1pkb1sy1339ir1jkky0dwzd8vhwgc1pqjgac0liv"))))
(base32 "0371j5k28cymqngfl76dfxzggvdf8n0ssij37350gzs4bhg084qr"))))
(build-system linux-module-build-system)
(arguments
(list

View file

@ -212,43 +212,31 @@ Cyrillic, Canadian Syllabics and most Latin based languages are supported.")
(version "0.303")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://gitlab.gnome.org/GNOME/cantarell-fonts/-/"
"jobs/1515399/artifacts/download"))
(file-name (string-append name "-" version "-static"))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.gnome.org/GNOME/cantarell-fonts")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dz551xrrhx6l40j57ksk2alllrihghg4947z1r88dpcq3snpn1s"))))
(build-system font-build-system)
(base32
"1d1ay0fdqchk0wa5yqxis2c98imvzsbbd2kjv0x8sk4fm419847b"))))
(build-system meson-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-source
;; The actual OTF fonts are prebuilt (building them requires at least
;; the currently unpackaged psautohint and its numerous dependencies;
;; TODO), but unpack the source so that COPYING is installed later.
(lambda* (#:key outputs #:allow-other-keys)
(invoke "tar" "--strip-components=1" "-xvf"
(string-append "build/meson-dist/cantarell-fonts-"
,version ".tar.xz"))))
(add-after 'unpack 'unpack-variable-font
(lambda* (#:key inputs #:allow-other-keys)
(let ((variable-font (assoc-ref inputs "variable-font")))
(copy-recursively (string-append variable-font "/prebuilt")
".")))))))
(list #:configure-flags #~(list "-Dbuildstatics=true")))
(native-inputs
`(("variable-font"
,(origin
(method url-fetch/zipbomb)
(uri (string-append "https://gitlab.gnome.org/GNOME/cantarell-fonts/-/"
"jobs/1515398/artifacts/download"))
(file-name (string-append name "-" version "-variable"))
(sha256
(base32 "0z93pbkxidsx3y98rsl2jm2qpvxv5pj0w870xhnsciglw6pc9a9i"))))
("unzip" ,unzip)))
(list gettext-minimal
psautohint
python
python-cffsubr
python-fontmath
python-statmake
python-ufo2ft))
(home-page "https://wiki.gnome.org/Projects/CantarellFonts")
(synopsis "Cantarell sans-serif typeface")
(description "The Cantarell font family is a contemporary Humanist
sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.")
sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.
This package contains both the non-variable as well as the variable versions
of the font.")
(license license:silofl1.1)))
(define-public font-lato

View file

@ -1396,6 +1396,79 @@ generate bitmaps.")
`(("python" ,python-2)
,@(alist-delete "python" (package-inputs fontforge))))))
(define-public python-statmake
(package
(name "python-statmake")
(version "0.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/daltonmaag/statmake")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0qavzspxhwnaayj5mxq6ncjjziggabxj157ls04h2rdrpq167706"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
;; XXX: PEP 517 manual build copied from python-isort.
(add-after 'unpack 'adjust-for-older-attrs
;; Our older attrs package is using the 'attr' rather than 'attrs'
;; namespace.
;; TODO: Remove after python-attrs is updated to >= 21.4.0.
(lambda _
(substitute* "pyproject.toml"
(("attrs = \">=21.3\"")
"attrs = \">=21.2\""))
(substitute* (find-files "." "\\.py$")
(("from attrs\\b")
"from attr")
(("import attrs")
"import attr")
(("@attrs")
"@attr")
(("\\battrs\\.")
"attr."))))
(replace 'build
(lambda _
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'install
(lambda _
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv" "tests"
;;"-n" (number->string (parallel-job-count))
;; This test requires orjson, which needs the maturin
;; build system and new Rust dependencies.
;;"--ignore" "tests/test_preconf.py"
)))))))
(native-inputs
(list python-poetry-core
python-pypa-build
python-pytest
python-ufo2ft))
(propagated-inputs
(list python-attrs
python-cattrs
python-fonttools))
(home-page "https://github.com/daltonmaag/statmake")
(synopsis "Apply OpenType STAT information to a variable font")
(description
"@command{statmake} takes a user-written Stylespace that defines
@url{https://docs.microsoft.com/en-us/typography/opentype/spec/stat, OpenType
STAT information} for an entire font family and then (potentially subsets and)
applies it to a specific variable font. This spares users from having to deal
with @url{https://github.com/fonttools/fonttools/, raw TTX dumps} and juggling
with @samp{nameIDs}.")
(license license:expat)))
(define-public python-ufolib2
(package
(name "python-ufolib2")

View file

@ -31,6 +31,7 @@
;;; Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -704,6 +705,32 @@ the org.freedesktop.login1 interface over the system bus, allowing other parts
of a the system to know what users are logged in, and where.")
(license license:lgpl2.1+)))
(define-public basu
(package
(name "basu")
(version "0.2.0")
(home-page "https://git.sr.ht/~emersion/basu")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0h23n7wg18xc7xwldca18wi00iajyliixwicqyvv38qx831d8q18"))))
(build-system meson-build-system)
(native-inputs
(list pkg-config python gperf))
(inputs
(list libcap))
(synopsis "The sd-bus library, extracted from systemd")
(description "Some projects rely on the sd-bus library for DBus support.
However not all systems have systemd or elogind installed.
This library provides just sd-bus (and the busctl utility).")
(license license:lgpl2.1+)))
(define-public localed
;; XXX: This package is extracted from systemd but we retain so little of it
;; that it would make more sense to maintain a fork of the bits we need.

View file

@ -177,14 +177,14 @@ as required.")
(define-public libfilezilla
(package
(name "libfilezilla")
(version "0.36.0")
(version "0.37.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/"
"libfilezilla/libfilezilla-" version ".tar.bz2"))
(sha256
(base32 "0wm8acwbrsblilfwj5asxr26gy8grg175j91df1bryz7xlc1q9y0"))))
(base32 "1mg2zqmpkkcimx6kq3a1ab26v515zzxw2s8rwhmajsv4cgp404g5"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -217,14 +217,14 @@ output.
(define-public filezilla
(package
(name "filezilla")
(version "3.58.0")
(version "3.60.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2"))
(sha256
(base32 "122x72rvd178y2rffvidyvzr33kf325q2rk4l2x44xqzw1r7zznh"))))
(base32 "1bv643abf8jai552j9fqcl4i54h1yrs5hgn6w0w1ibwccdinryc1"))))
(build-system gnu-build-system)
(arguments
;; Don't let filezilla phone home to check for updates.

View file

@ -1101,6 +1101,14 @@ provides the GNU compiler for the Go programming language."))
(custom-gcc gcc-10 "gcc-objc" '("objc")
%objc-search-paths))
(define-public gcc-objc-11
(custom-gcc gcc-11 "gcc-objc" '("objc")
%objc-search-paths))
(define-public gcc-objc-12
(custom-gcc gcc-12 "gcc-objc" '("objc")
%objc-search-paths))
(define-public gcc-objc gcc-objc-10)
(define %objc++-search-paths
@ -1143,6 +1151,14 @@ provides the GNU compiler for the Go programming language."))
(custom-gcc gcc-10 "gcc-objc++" '("obj-c++")
%objc++-search-paths))
(define-public gcc-objc++-11
(custom-gcc gcc-11 "gcc-objc++" '("obj-c++")
%objc++-search-paths))
(define-public gcc-objc++-12
(custom-gcc gcc-12 "gcc-objc++" '("obj-c++")
%objc++-search-paths))
(define-public gcc-objc++ gcc-objc++-10)
(define (make-libstdc++-doc gcc)

View file

@ -18,6 +18,7 @@
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2021 Nikolay Korotkiy <sikmir@disroot.org>
;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -113,6 +114,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages textutils)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages wxwidgets)
@ -914,7 +916,7 @@ development.")
(define-public gdal
(package
(name "gdal")
(version "3.3.3")
(version "3.5.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -922,7 +924,7 @@ development.")
version ".tar.gz"))
(sha256
(base32
"0nk09lws1hk873yn5f4wzqfvr82gm4hw3gq8w9g1h0kvf6j5x4i8"))
"0h7dgjx8nk3dd17wwqm2yjnaqciyrd2mz9gcjswpcnmap09wbzrs"))
(modules '((guix build utils)))
(snippet
`(begin
@ -946,27 +948,23 @@ development.")
(string-append option "="
(assoc-ref %build-inputs input))))))
(list
;; TODO: --with-pcidsk, --with-pcraster
(with "--with-freexl" "freexl")
(with "--with-libjson-c" "json-c")
(with "--with-png" "libpng")
(with "--with-webp" "libwebp")
(with "--with-gif" "giflib")
(with "--with-jpeg" "libjpeg-turbo")
(with "--with-libtiff" "libtiff")
(with "--with-geotiff" "libgeotiff")
(with "--with-libz" "zlib")
(with "--with-expat" "expat")
(with "--with-sqlite3" "sqlite")
"--with-pcre"))
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-path
(lambda _
(substitute* "frmts/mrf/mrf_band.cpp"
(("\"../zlib/zlib.h\"") "<zlib.h>")))))))
;; TODO: --with-pcidsk, --with-pcraster
(with "--with-expat" "expat")
(with "--with-freexl" "freexl")
(with "--with-geotiff" "libgeotiff")
(with "--with-gif" "giflib")
(with "--with-jpeg" "libjpeg-turbo")
(with "--with-libjson-c" "json-c")
(with "--with-libtiff" "libtiff")
(with "--with-libz" "zlib")
(with "--with-png" "libpng")
(with "--with-sqlite3" "sqlite")
(with "--with-webp" "libwebp")
"--without-jpeg12"
"--with-pcre"))))
(inputs
(list expat
(list curl
expat
freexl
geos
giflib
@ -977,6 +975,7 @@ development.")
libtiff
libwebp
netcdf
openssl
pcre
postgresql ; libpq
proj
@ -1147,6 +1146,7 @@ Shapely capabilities
json-c
libjpeg-turbo
libxml2
openssl
pcre
postgresql
protobuf-c
@ -2485,6 +2485,7 @@ growing set of geoscientific methods.")
"PyQgsProviderConnectionSpatialite"
"PyQgsPythonProvider"
"PyQgsRasterLayer"
"PyQgsRasterResampler"
"PyQgsRulebasedRenderer"
"PyQgsSelectiveMasking"
"PyQgsSettings"

View file

@ -17,6 +17,7 @@
;;; Copyright © 2021 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2022 Sughosha <sughosha@proton.me>
;;;
;;; This file is part of GNU Guix.
;;;
@ -985,6 +986,102 @@ animation of closing windowed applications.")
GNOME Shell, including the top panel, dash and overview.")
(license license:gpl3)))
(define-public gnome-shell-extension-radio
(package
(name "gnome-shell-extension-radio")
(version "19")
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/hslbck/gnome-shell-extension-radio")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1qsi6c57hxh4jqdw18knm06601lhag6jdbvzg0r79aa9572zy8a0"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan #~'(("radio@hslbck.gmail.com"
"/share/gnome-shell/extensions/"))
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'glib-compile-schemas
(lambda _
(invoke "glib-compile-schemas"
"radio@hslbck.gmail.com/schemas"))))))
(native-inputs (list `(,glib "bin")))
(home-page "https://github.com/hslbck/gnome-shell-extension-radio")
(synopsis "Internet radio for GNOME Shell")
(description "This extension implements an internet radio player
directly inside GNOME Shell. It can manage stations and play streams.")
(license license:gpl3+)))
(define-public gnome-shell-extension-sound-output-device-chooser
(package
(name "gnome-shell-extension-sound-output-device-chooser")
(version "43")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kgshank/gse-sound-output-device-chooser")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1qk6ypyqbv8zwwlky6cgk9hgp1zh32jmzw4wza200g4v94ifkwm9"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no check target
#:make-flags #~(list (string-append "INSTALL_DIR="
#$output
"/share/gnome-shell/extensions"))
#:phases
#~(modify-phases %standard-phases (delete 'configure))))
(native-inputs (list gettext-minimal `(,glib "bin")))
(inputs (list python))
(home-page
"https://extensions.gnome.org/extension/906/sound-output-device-chooser")
(synopsis "Sound output chooser for GNOME Shell")
(description "This extension shows a list of sound output and input devices
in the status menu below the volume slider. Various active ports like HDMI,
Speakers etc. of the same device are also displayed for selection.")
(license license:gpl3+)))
(define-public gnome-shell-extension-transparent-window
(let ((commit "cc9bc70c192dd565fa6f1d1b28d9a20f99684f2a")
(revision "45"))
(package
(name "gnome-shell-extension-transparent-window")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url (string-append "https://github.com/pbxqdown/"
"gnome-shell-extension-transparent-window"))
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1f9iqqjpmmylqz0ws8cy5rs475bwzi7jy44q9ip44ig2acz2wxzp"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("."
#$(string-append "/share/gnome-shell/extensions"
"/transparent-window@pbxqdown.github.com")))))
(home-page
"https://github.com/pbxqdown/gnome-shell-extension-transparent-window")
(synopsis "Change the opacity of windows in GNOME Shell")
(description "This extension adds keybindings to change the opacity
of windows.")
(license license:expat))))
(define-public arc-theme
(package
(name "arc-theme")

View file

@ -461,8 +461,8 @@ contains supporting code for evaluation and parameter tuning.")
(lambda ()
(let ((python-version ,(version-major+minor (package-version python))))
(format #t "\
PYTHONCFLAGS =-I~a/include/python~am/ -I~a/lib/python~a/site-packages/numpy/core/include
LIBS = -lpython~am -lfaiss
PYTHONCFLAGS =-I~a/include/python~a/ -I~a/lib/python~a/site-packages/numpy/core/include
LIBS = -lpython~a -lfaiss
SHAREDFLAGS = -shared -fopenmp
CXXFLAGS = -fpermissive -fopenmp -fPIC
CPUFLAGS = ~{~a ~}~%"

View file

@ -30,6 +30,7 @@
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2054,3 +2055,68 @@ and build scripts for the OpenXR loader.")
such as VR and AR on mobile, PC/desktop, and any other device. Monado aims to be
a complete and conforming implementation of the OpenXR API made by Khronos.")
(license license:boost1.0)))
(define-public azpainter
(package
(name "azpainter")
(version "3.0.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/azelpg/azpainter")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1iplp3p8pw9q44kb43hrk89sv2aff6bdy9fk58j2v6k5lqbk6kvf"))))
(build-system gnu-build-system) ;actually a home grown build system
(arguments
(list #:tests? #f
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "./configure"
(string-append "--prefix="
#$output))))
(replace 'build
(lambda* (#:key parallel-build? #:allow-other-keys)
(let ((job-count (if parallel-build?
(number->string (parallel-job-count))
"1")))
(invoke "ninja" "-j" job-count "-C" "build"))))
(add-before 'install 'disable-cache-generation
(lambda _
(setenv "DESTDIR" "/") #t))
(replace 'install
(lambda _
(invoke "ninja" "-C" "build" "install"))))))
(inputs (list fontconfig
freetype
libjpeg-turbo
libpng
libtiff
libwebp
libx11
libxcursor
libxext
libxi
zlib))
(native-inputs (list ninja pkg-config))
(home-page "http://azsky2.html.xdomain.jp/soft/azpainter.html")
(synopsis "Paint software for editing illustrations and images")
(description
"AzPainter is a lightweight full color painting application for editing
illustrations and images.
Features include:
@itemize
@item Layers
@item Many artistic filters
@item Good range of selection tools
@item Pen pressure support with automatic brush size adjustment
@item Support for 16-bit color images with transparency (RGBA)
@item Support for image formats like PSD, PNG, JPEG, TIFF, WebP
@end itemize
")
(license license:gpl3+)))

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2017, 2022 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
@ -496,34 +496,31 @@ and then run @command{scm example.scm}.")
,@(package-arguments guile2.0-bash)))))
(define-public guile-8sync
(package
(name "guile-8sync")
(version "0.4.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/8sync/8sync-" version
".tar.gz"))
(sha256
(base32
"031wm13srak3wsnll7j2mbbi29g1pcm4swdb71ds9yn567pn20qw"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake guile-2.2 pkg-config texinfo))
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'configure 'setenv
(lambda _
;; quiet warnings
(setenv "GUILE_AUTO_COMPILE" "0")
#t)))))
(home-page "https://gnu.org/s/8sync/")
(synopsis "Asynchronous actor model library for Guile")
(description
"GNU 8sync (pronounced \"eight-sync\") is an asynchronous programming
library for GNU Guile based on the actor model.
Note that 8sync is only available for Guile 2.2.")
(properties '((upstream-name . "8sync")))
(license license:lgpl3+)))
(let ((commit "183b4f02e68279d4984e79b79e06bfcf1861fcbf") (revision "0"))
(package
(name "guile-8sync")
(version (git-version "0.4.2" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(commit commit)
(url "https://git.savannah.gnu.org/git/8sync.git")))
(sha256
(base32
"0r22kxasv1zqnf1ykzyx6c226qxn1wgjb1gc54526bid24x508ij"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake guile-3.0 pkg-config texinfo))
(arguments
(list #:make-flags
#~(list "GUILE_AUTO_COMPILE=0")))
(home-page "https://gnu.org/s/8sync/")
(synopsis "Asynchronous actor model library for Guile")
(description
"GNU 8sync (pronounced \"eight-sync\") is an asynchronous programming
library for GNU Guile based on the actor model.")
(properties '((upstream-name . "8sync")))
(license license:lgpl3+))))
(define-public guile-daemon
(package
@ -5103,3 +5100,46 @@ Protocol (TAP). It comes with an experimental harness (tap-harness).")
termios API is used. GNU Guile doesn't have an interface for that built in.
This module implements this interface by use of Guile's dynamic FFI.")
(license license:bsd-2)))
(define-public guile-goblins
(package
(name "guile-goblins")
(version "0.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/spritely/guile-goblins/")
(commit (string-append "v" version))))
(file-name (string-append name "-" version))
(sha256
(base32
"1mmyykh79jwhrfgnhhw94aw7a8m6qw249kj7k60ynj16mcfm5iyy"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
#~(list "GUILE_AUTO_COMPILE=0")))
(native-inputs
(list autoconf automake pkg-config texinfo))
(inputs (list guile-3.0))
(propagated-inputs
(list guile-fibers guile-gcrypt))
(home-page "https://spritely.institute/goblins")
(synopsis "Distributed programming environment for Guile")
;; In guile-goblins 0.9, OCapN support will be added (it already
;; exists in racket-goblins). At that point we should add the
;; following to this description:
;;
;; Goblins allows for cooperation between networked programs
;; in a mutually suspicious network through OCapN, the Object
;; Capability Network. This includes collaboration across
;; runtimes; for instance, programs written in the Guile and Racket
;; versions of Goblins are able to speak to each other.
(description
"@code{guile-goblins} is the Guile version of
@url{https://spritely.institute/goblins, Spritely Goblins},
a transactional, distributed programming environment following object
capability security designs. Goblins is a general toolkit, and also
the core layer of Spritely's work to support healthy distributed
networked communities.")
(license license:asl2.0)))

View file

@ -650,14 +650,14 @@ specification. These are the main features:
(package
(inherit guile-json-3)
(name "guile-json")
(version "4.5.2")
(version "4.7.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/guile-json/guile-json-"
version ".tar.gz"))
(sha256
(base32
"0cqr0ljqmzlc2bwrapcsmcgxg147h66mcxf23824ri5i6vn4dc0s"))))))
"0hv8jjb6wdhvfrprwdi36125sci1ip4zfflv79hqlz7nh0irld65"))))))
(define-public guile2.2-json
(package-for-guile-2.2 guile-json-4))

View file

@ -34,23 +34,34 @@
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages debian)
#:use-module (gnu packages disk)
#:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lxqt)
#:use-module (gnu packages package-management)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
#:use-module (gnu packages openldap)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages perl)
@ -62,8 +73,12 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages scanner)
#:use-module (gnu packages security-token)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
@ -71,6 +86,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix gexp)
@ -84,7 +100,6 @@
;; This is a module for packages related to physical hardware that don't (yet)
;; have a more specific home like gps.scm, security-token.scm, &c.
(define-public envytools
(let ((commit "9014a51b1436461c7b3b005bdae72bf4912f4e72")
(revision "1"))
@ -111,6 +126,195 @@ drivers, including an assembler and a disassembler for several GPU instruction
sets, and tools to deal with register databases.")
(license license:expat))))
(define-public hw-probe
(package
(name "hw-probe")
(version "1.6.4")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/linuxhw/hw-probe")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "028wnhrbn10lfxwmcpzdbz67ygldimv7z1k1bm64ggclykvg5aim"))))
(build-system perl-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Correct install prefix.
(substitute* "Makefile"
(("/usr") #$output))
(define preserve
;; Either not available in Guix or better left untouched.
'("$HWInfoCmd" "$CurlCmd" "$NvidiaSmi_Path" ;perl variables
"vblank_mode=0" "DRI_PRIME=1" ;environment variables
"sha512" ;fall-back to sha512sum
;; hp-probe comes from the full 'hplib' package, which would
;; pull Qt and increase the size of the closure by 600 MiB.
"hp-probe"
;; Android.
"apk" "getprop"
;; BSD-related.
"atactl" "acpiconf"
"bsdhwmon" "camcontrol"
"devinfo" "diskinfo" "disklabel"
"freebsd-version" "ghostbsd-version"
"hwstat" "kldstat" "mfiutil" "modstat" "mport"
"ofwdump" "opnsense-version"
"pcictl" "pcidump" "pciconf" "pkg" "pkg_info" "pkgin"
"start-hello" "sysinfo" "usbconfig" "usbdevs"
;; Package managers.
"eopkg" "pacman" "swupd"
;; Not packaged in Guix (TODO).
"apm" ;apmd
"drm_info" ;drm_info
"megactl" ;megactl
"lspnp" ;pnputils
"lsb_release" ;lsb-release
"lsinitrd" ;dracut
"optirun" ;bumblebee
"usbctl" ;usbctl
"monitor-get-edid" ;monitor-edid
"journalctl" "systemctl" "systemd-analyze" ;systemd
"superiotool" ;superiotool
"x86info" ;x86info
;; Other.
"arcconf" ;proprietary
"config" ;unknown origin (Linux-related)
"dkms" ;unknown origin (Linux-related)
"amdconfig" "fglrxinfo" ;proprietary/obsolete
"geom" ;unknown origin
"hciconfig" "hcitool" ;deprecated from bluez
"nm-tool")) ;replaced by nmcli in network-manager
(substitute* "hw-probe.pl"
(("(check|find|run)Cmd\\(\"([^\" ]+)" _ prefix command)
(string-append
prefix "Cmd(\""
(if (member command preserve)
command
(or (false-if-exception
(search-input-file
inputs (string-append "bin/" command)))
(search-input-file
inputs (string-append "sbin/" command))))))
(("(my \\$HWInfoCmd = \")hwinfo" _ head)
(string-append head (search-input-file inputs "sbin/hwinfo")))
(("(my \\$CurlCmd = \")curl" _ head)
(string-append head (search-input-file inputs "bin/curl")))
(("(\\$LsblkCmd = \")lsblk" _ head)
(string-append head (search-input-file inputs "bin/lsblk")))
(("(\\$SmartctlCmd = \")smartctl" _ head)
(string-append head (search-input-file inputs "sbin/smartctl")))
(("(my \\$FindmntCmd = \")findmnt" _ head)
(string-append head (search-input-file inputs "bin/findmnt")))
(("(\\$DDCUtilCmd = \")ddcutil" _ head)
(string-append head (search-input-file inputs "bin/ddcutil")))
(("(my \\$VaInfoCmd = \")vainfo" _ head)
(string-append head (search-input-file inputs "bin/vainfo")))
(("(\\$CheckHddCmd = \")hdparm" _ head)
(string-append head (search-input-file inputs "sbin/hdparm")))
(("(\\$USE_DIGEST_ALT = \")sha512sum" _ head)
(string-append head (search-input-file inputs "bin/sha512sum"))))))
(delete 'configure)
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(define hw-probe (search-input-file outputs "bin/hw-probe"))
;; 'NeedProgs' core utilities are specially checked for
;; availability. It's easier to wrap them in PATH than patching
;; their references.
;; TODO: package edid-decode and add "bin/edid-decode" below:
(define need-progs (list "sbin/dmidecode" "sbin/smartctl"
"sbin/lspci" "bin/lsusb"))
(wrap-script hw-probe
(list "PERL5LIB" 'prefix (list (getenv "PERL5LIB")))
(list "PATH" 'prefix
(map (lambda (command)
(dirname (search-input-file inputs command)))
need-progs))))))))
(inputs
(list acpi
acpica
alsa-utils
avahi
bash-minimal
coreutils
cpuid
cpupower
curl
ddcutil
dmidecode
dpkg
edid-decode
efibootmgr
efivar
ethtool
eudev
findutils
gpart
grep
guile-3.0 ;for wrap-script
hddtemp
hdparm
i2c-tools
inxi
iproute
iw
libva-utils
lm-sensors
mcelog
memtester
mesa-utils
modem-manager
module-init-tools
neofetch
net-tools
network-manager
numactl
nvme-cli
opensc
openssl
p7zip
pciutils
perl-data-dumper
perl-digest-sha
perl-libwww
procps
psmisc ;for pstree
rpm
sane-backends
smartmontools
sysstat
upower
usbutils
util-linux
wireless-tools
vdpauinfo
vulkan-tools
xdpyinfo
xinput
xrandr
xvinfo))
(propagated-inputs (list hwinfo))
(home-page "https://linux-hardware.org")
(synopsis "Hardware Probe")
(description "Hardware Probe is a tool to probe for hardware, check its
operability and find drivers.")
(license (list license:lgpl2.1+ license:bsd-4)))) ;dual-licensed
(define-public hwinfo
(package
(name "hwinfo")

View file

@ -9,6 +9,8 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml>
;;; Copyright © 2021 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -307,7 +309,7 @@ Chinese pinyin input methods.")
(define-public ibus-anthy
(package
(name "ibus-anthy")
(version "1.5.9")
(version "1.5.14")
(source (origin
(method url-fetch)
(uri (string-append
@ -315,34 +317,41 @@ Chinese pinyin input methods.")
version "/ibus-anthy-" version ".tar.gz"))
(sha256
(base32
"1y8sf837rmp662bv6zakny0xcm7c9c5qda7f9kq9riv9ywpcbw6x"))))
"16vd0k8wm13s38869jqs3dnwmjvywgn0snnpyi41m28binhlssf8"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
;; Use absolute exec path in the anthy.xml.
(list (string-append "--libexecdir=" %output "/libexec"))
;; The test suite fails (see:
;; https://github.com/ibus/ibus-anthy/issues/28).
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each
(lambda (prog)
(wrap-program (string-append out "/libexec/" prog)
`("GUIX_PYTHONPATH" ":" prefix
(,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")
,(string-append out "/lib/girepository-1.0")))))
'("ibus-engine-anthy" "ibus-setup-anthy"))
#t))))))
(lambda* (#:key inputs outputs #:allow-other-keys)
(for-each (lambda (prog)
(wrap-program (search-input-file
outputs (string-append "libexec/" prog))
`("GUIX_PYTHONPATH" ":" prefix
(,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix
(,(getenv "GI_TYPELIB_PATH")
,(search-input-directory
inputs "lib/girepository-1.0")))))
'("ibus-engine-anthy" "ibus-setup-anthy")))))))
(native-inputs
`(("gettext" ,gettext-minimal)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("python" ,python)))
(list gettext-minimal
`(,glib "bin")
intltool
pkg-config
python))
(inputs
(list anthy gtk+ ibus gobject-introspection python-pygobject))
(list anthy
gtk+
ibus
gobject-introspection
python-pygobject))
(synopsis "Anthy Japanese language input method for IBus")
(description "IBus-Anthy is an engine for the input bus \"IBus\"). It
adds the Anthy Japanese language input method to IBus. Because most graphical

View file

@ -106,6 +106,22 @@ C/C++ part.")
(license x11)
(home-page "http://site.icu-project.org/")))
(define-public icu4c-71
(package
(inherit icu4c)
(version "71.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/unicode-org/icu/releases/download/release-"
(string-map (lambda (x) (if (char=? x #\.) #\- x)) version)
"/icu4c-"
(string-map (lambda (x) (if (char=? x #\.) #\_ x)) version)
"-src.tgz"))
(sha256
(base32
"1gqywaqj9jmdwrng9lm6inyqmi5j2cz36db9dcqg3yk13zjyd9v7"))))))
(define-public icu4c-70
(package
(inherit icu4c)

View file

@ -80,6 +80,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages popt)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
@ -2233,56 +2234,57 @@ Format) file format decoder and encoder.")
(license license:lgpl3+)))
(define-public libjxl
(package
(name "libjxl")
(version "0.6.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libjxl/libjxl")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "17pvc5zgm9az5hfg2p80325f42w3dqspyb03iakrwg9x4n3vjckx"))
(modules '((guix build utils)))
(snippet
;; Delete the bundles that will not be used. libjxl bundles LCMS
;; which is in Guix but there is no option to use the system package.
;; This option will be introduced after version 0.6.1 and then we
;; probably won't need to download the submodules.
'(begin
(for-each (lambda (directory)
(delete-file-recursively
(string-append "third_party/" directory)))
'("brotli" "googletest" "highway"))))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DJPEGXL_FORCE_SYSTEM_GTEST=true"
"-DJPEGXL_FORCE_SYSTEM_BROTLI=true"
;; "-DJPEGXL_FORCE_SYSTEM_LCMS2=true" ; next version after 0.6.1
"-DJPEGXL_FORCE_SYSTEM_HWY=true")))
(native-inputs
(list asciidoc doxygen googletest pkg-config python))
(inputs
(list freeglut
giflib
google-brotli
google-highway
imath
;; lcms ; next version after 0.6.1
libavif
libjpeg-turbo
libpng
libwebp
openexr))
(home-page "https://github.com/libjxl/libjxl")
(synopsis "JPEG XL image format reference implementation")
(description "This package contains a reference implementation of JPEG XL
(let ((commit "b7076f1869914eee47b3eae107750f3a3ce43a76")
(revision "0"))
(package
(name "libjxl")
(version (git-version "0.6.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libjxl/libjxl")
(commit commit)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "0jx0hkd2nk15mmnzlk7y7fp644w336il7nsnp5yhf14j8zfaiqz8"))
(modules '((guix build utils)))
(snippet
;; Delete the bundles that will not be used. libjxl bundles LCMS,
;; which is in Guix, but a newer version is required.
'(begin
(for-each (lambda (directory)
(delete-file-recursively
(string-append "third_party/" directory)))
'("brotli" "googletest" "highway"))))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DJPEGXL_FORCE_SYSTEM_GTEST=true"
"-DJPEGXL_FORCE_SYSTEM_BROTLI=true"
;; "-DJPEGXL_FORCE_SYSTEM_LCMS2=true" ; requires lcms@2.13
"-DJPEGXL_FORCE_SYSTEM_HWY=true")))
(native-inputs
(list asciidoc doxygen googletest pkg-config python))
(inputs
(list freeglut
gflags
giflib
google-brotli
google-highway
imath
;; lcms ; requires lcms@2.13
libavif
libjpeg-turbo
libpng
libwebp
openexr))
(home-page "https://github.com/libjxl/libjxl")
(synopsis "JPEG XL image format reference implementation")
(description "This package contains a reference implementation of JPEG XL
(encoder and decoder).")
(license license:bsd-3)))
(license license:bsd-3))))
(define-public mtpaint
(package

View file

@ -7905,6 +7905,40 @@ Commons CLI supports different types of options:
@item long options with single hyphen (ie. ant -projecthelp)
@end itemize
This is a part of the Apache Commons Project.")
(license license:asl2.0)))
(define-public java-commons-text
(package
(name "java-commons-text")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/commons/text/source/"
"commons-text-" version "-src.tar.gz"))
(sha256
(base32
"1k99ib2dxlqxb5y94kpzf4ix8xgxz1j3n9kq3ddssqqcccsp5ik2"))))
(build-system ant-build-system)
(arguments
(list #:jar-name "java-commons-text.jar"
#:source-dir "src/main/java"
#:test-dir "src/test"
#:tests? #f ; Tests require JUnit5.
#:phases
#~(modify-phases %standard-phases
(replace 'install
(install-from-pom "pom.xml")))))
(inputs
(list java-commons-io))
(propagated-inputs
(list java-commons-lang3
apache-commons-parent-pom-51))
(home-page "https://commons.apache.org/text/")
(synopsis "Library focused on algorithms working on strings")
(description "Apache Commons Text is a library focused on algorithms
working on strings.
This is a part of the Apache Commons Project.")
(license license:asl2.0)))

View file

@ -479,7 +479,7 @@ expression library, that is used in Krita.")
(define-public krita
(package
(name "krita")
(version "5.0.2")
(version "5.0.8")
(source
(origin
(method url-fetch)
@ -487,7 +487,7 @@ expression library, that is used in Krita.")
"mirror://kde/stable/krita/" version "/krita-" version
".tar.gz"))
(sha256
(base32 "1gww95fyd5r3x2260j2ls7d8fp4rsfxnwdqai2j7fjahxg3iyxg6"))))
(base32 "0iaypyv21zxvhr989r9j9nlhx642jc89xphz1qaw9q1y0yjiy7gd"))))
(build-system qt-build-system)
(arguments
`(#:tests? #f

View file

@ -25,6 +25,7 @@
#:use-module (gnu packages check)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (guix build-system perl)
@ -168,13 +169,13 @@ belonging to various licenses.")
(define-public reuse
(package
(name "reuse")
(version "0.14.0")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "reuse" version))
(sha256
(base32 "1q84qv982y67inqb67iy3r6z7339593w7zdaaxswjqxfrd1by7bp"))))
(base32 "1m78q5x19xvhywi1xl0prrag89ihvqiq14lba27rrxl75nz24c6v"))))
(build-system python-build-system)
(native-inputs
(list python-pytest python-setuptools-scm))

View file

@ -370,92 +370,92 @@ 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-5.15-version "5.15.47")
(define-public linux-libre-5.15-version "5.15.49")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
linux-libre-5.15-version
linux-libre-5.15-gnu-revision
(base32 "1n57mz5agvf1d0ggbg080d7hvx8p9y0iqxkq4ypg10a7n96zy7y5")
(base32 "17xsn91h0c2d8igpzgmjm1g58nfpihlhgg9wm8zbfyd5g4airs8f")))
(base32 "129qlhwdv2mfb85gbvq03kkbdfp73b444rryr4rrbvi0jmq4cp24")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "1700js21yimx8rz4bsglszry564l2ycmmcr36rdqspzbmlx5w8wb")))
(hash (base32 "1p2r02h2z0j34hpkp3kr4741pr15ii72b94zllravx27pa9phj9j")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.122")
(define-public linux-libre-5.10-version "5.10.124")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
linux-libre-5.10-gnu-revision
(base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf")
(base32 "1ryfc8fppigssrzz5lfbqgli49cgs3lmf0yh46lpi2k0j2x30qcc")))
(base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "0h0gfi3p1dd4p8xxklrl8sc3rv4xd08q7nv0i4m166w8188v62wj")))
(hash (base32 "0yz3yw02b6b1sq800r46x5b3dagswb6z4clrfq485c4669sb2ipc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.198")
(define-public linux-libre-5.4-version "5.4.200")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
linux-libre-5.4-gnu-revision
(base32 "1nlgk8ajb5wl3aa96h9a0pb9j5a5wmrbpk63varn557x1d00r7wj")
(base32 "05i286d98fm2pdf9724x1dsmfcm7gsd7yyyvxqlpisyj1kx14hda")))
(base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0wvscr5wia2xdiqfxxdwl8kxf1s085qdj5h4423mraj7dh6l0ihh")))
(hash (base32 "1f15al9g4cd17fm43im5rqqrbz1cqhz2hq5ycpqvwa02pydprsga")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.247")
(define-public linux-libre-4.19-version "4.19.248")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
linux-libre-4.19-gnu-revision
(base32 "06pqv050bkii0hc2v7ymny5264w1bca8db0dp1pw9mfmjg865am5")
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "136gmsmvgb2nid4by2ld003w06lsr7hgn9ajx0wfziag7pfnjsv2")))
(hash (base32 "0cdflfk6l13slw1cawpkhpjzbbnffcbyffrh29p9jg73pdqx23y4")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.283")
(define-public linux-libre-4.14-version "4.14.284")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
linux-libre-4.14-gnu-revision
(base32 "02rxvr0gmxb3zfsyyzdmzgfq04gkdkv1cc38md0xfl0mxzdzdfyk")
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "191gybhnck4mh9yjzwgv1crrbxjc90p12bcif721rbs6xzszmxzh")))
(hash (base32 "1f7bidisa6b4ff0mgn66h1nmf94j5mcx4wnkwnd9f49im6hcqllq")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.318")
(define-public linux-libre-4.9-version "4.9.319")
(define-public linux-libre-4.9-gnu-revision "gnu1")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
linux-libre-4.9-gnu-revision
(base32 "0nai5m4rbh37qaj1xf2qj7656l2gacfh0847q5d07y22b048fq5n")
(base32 "14jyn2yrbm6ayp0bszs4f9jy3p1qkrj5p5gf5c42spr67aa2lv2v")))
(base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "09czsc0ynyw068yczs9qx4cliqmrh5hvz93c77lhh014wn02pba4")))
(hash (base32 "11242bn95k51knm9da7xk7r10vk7iji06wix1cq4g5nzldrfp9sp")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))

View file

@ -21467,3 +21467,78 @@ in a native template application).")
(define-public ecl-clog
(sbcl-package->ecl-package sbcl-clog))
(define-public sbcl-nkeymaps
(package
(name "sbcl-nkeymaps")
(version "0.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/atlas-engineer/nkeymaps")
(commit version)))
(file-name (git-file-name "cl-nkeymaps" version))
(sha256
(base32 "0shkklc3aiq44hyv1q6fahw4vjcr0iw4zsmxbhmxqh04r7185ddf"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-alexandria
sbcl-cl-str
sbcl-fset
sbcl-trivial-package-local-nicknames))
(native-inputs
(list sbcl-prove))
(home-page "https://github.com/atlas-engineer/nkeymaps")
(synopsis "Keymap facility for Common Lisp")
(description
"This is a keymap facility for Common Lisp inspired by Emacsy
(keymap.scm) which is inspired by Emacs.
@itemize
@item Support prefix keys to other keymaps. For instance, if you prefix
my-mode-map with C-c, then all bindings for my-mode will be accessible after
pressing C-c.
@item List all bindings matching a given prefix. (Also known as which-key in
Emacs.)
@item List the bindings associated to a command.
@item Support multiple inheritance.
@item Support keycode.
@item Validate keyspec at compile time.
@item define-key can set multiple bindings in a single call.
@item Support multiple scheme to make it easy to switch between, say,
Emacs-style and VI-style bindings. This orthogonality to keymaps composes
better than having multiple keymaps: changing scheme applies to the entire
program, which is easier than looping through all keymaps to change them.
@item Translate keyspecs as a fallback. For instance if shift-a is not bound,
check A.
@item Behaviour can be customized with global parameters such as
*print-shortcut*.
@item The compose function can merge multiple keymaps together.
@item Support multiple arguments when that makes sense (e.g. multiple keymaps
for lookup-key).
@item Key remapping à-la Emacs.
@item Typed keymaps, i.e. keymaps where bound values can only be of a given
type. This is convenient to catch typos, for instance when binding 'FOO
instead of #'FOO.
@end itemize")
(license license:bsd-3)))
(define-public cl-nkeymaps
(sbcl-package->cl-source-package sbcl-nkeymaps))
(define-public ecl-nkeymaps
(sbcl-package->ecl-package sbcl-nkeymaps))

View file

@ -1165,7 +1165,7 @@ including a built-in database engine and a GUI system.")
(define-public janet
(package
(name "janet")
(version "1.21.1")
(version "1.23.0")
(source
(origin
(method git-fetch)
@ -1174,7 +1174,7 @@ including a built-in database engine and a GUI system.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1c8lrwg518182rnz47mahv5r9jd3haj6ysigk0bkv8lpb0d2b760"))))
(base32 "1qfahq1203kv5jxd0im7nxm3yy1p9k1wc0pk34b5h2sfships1hm"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags

View file

@ -878,7 +878,22 @@ of programming tools as well as libraries with equivalent functionality.")
(patches (search-patches
"llvm-9-fix-bitcast-miscompilation.patch"
"llvm-9-fix-scev-miscompilation.patch"
"llvm-9-fix-lpad-miscompilation.patch"))))))
"llvm-9-fix-lpad-miscompilation.patch"))))
(arguments
(if (target-riscv64?)
(substitute-keyword-arguments (package-arguments llvm-10)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'patch-dsymutil-link
(lambda _
(substitute* "tools/dsymutil/CMakeLists.txt"
(("endif\\(APPLE\\)")
(string-append
"endif(APPLE)\n\n"
"if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES \"riscv64\")\n"
" target_link_libraries(dsymutil PRIVATE atomic)\n"
"endif()"))))))))
(package-arguments llvm-10)))))
(define-public clang-runtime-9
(clang-runtime-from-llvm

View file

@ -138,6 +138,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
@ -1782,7 +1783,7 @@ delivery.")
(define-public exim
(package
(name "exim")
(version "4.95")
(version "4.96")
(source
(origin
(method url-fetch)
@ -1796,86 +1797,84 @@ delivery.")
(string-append "https://ftp.exim.org/pub/exim/exim4/old/"
file-name))))
(sha256
(base32 "0rzi0kc3qiiaw8vnv5qrpwdvvh4sr5chns026xy99spjzx9vd76c"))))
(base32 "18ziihkpa23lybm7m2l9wp2farxw0bd5ng7xm9ylgcrfgf95d6i9"))))
(build-system gnu-build-system)
(inputs
`(("bdb" ,bdb-5.3) ; #error Version 6 and later BDB API is not supported
("gnutls" ,gnutls/dane)
("gzip" ,gzip)
("bzip2" ,bzip2)
("xz" ,xz)
("perl" ,perl)
("libnsl" ,libnsl)
("libxt" ,libxt)
("libxaw" ,libxaw)))
(native-inputs
(list `(,pcre "bin") perl pkg-config))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
;; We'd use #:make-flags but the top-level Makefile calls others
;; recursively, so just set all variables this way.
(lambda* (#:key outputs inputs #:allow-other-keys)
(substitute* '("Makefile" "OS/Makefile-Default")
(("(RM_COMMAND=).*" all var)
(string-append var "rm\n")))
(copy-file "src/EDITME" "Local/Makefile")
(copy-file "exim_monitor/EDITME" "Local/eximon.conf")
(let ((out (assoc-ref outputs "out"))
(gzip (assoc-ref inputs "gzip"))
(bzip2 (assoc-ref inputs "bzip2"))
(xz (assoc-ref inputs "xz")))
(substitute* '("Local/Makefile")
(("(BIN_DIRECTORY=).*" all var)
(string-append var out "/bin\n"))
(("(CONFIGURE_FILE=).*" all var)
(string-append var out "/etc/exim.conf\n"))
(("(EXIM_USER=).*" all var)
(string-append var "nobody\n"))
(("(FIXED_NEVER_USERS=).*" all var)
(string-append var "\n")) ; XXX no root in build environment
(("(COMPRESS_COMMAND=).*" all var)
(string-append var gzip "/bin/gzip\n"))
(("(ZCAT_COMMAND=).*" all var)
(string-append var gzip "/bin/zcat\n"))
(("# (USE_GNUTLS(|_PC)=.*)" all line)
(string-append line "\n"))
(("# (AUTH_CRAM_MD5=yes)" all line) line)
(("# (AUTH_DOVECOT=yes)" all line) line)
(("# (AUTH_EXTERNAL=yes)" all line) line)
(("# (AUTH_PLAINTEXT=yes)" all line) line)
(("# (AUTH_SPA=yes)" all line) line)
(("# (AUTH_TLS=yes)" all line) line))
;; This file has hard-coded relative file names for tools despite
;; the zcat configuration above.
(substitute* '("src/exigrep.src")
(("'zcat'") (string-append "'" gzip "/bin/zcat'"))
(("'bzcat'") (string-append "'" bzip2 "/bin/bzcat'"))
(("'xzcat'") (string-append "'" xz "/bin/xzcat'"))
(("'lzma'") (string-append "'" xz "/bin/lzma'"))))))
(add-before 'build 'fix-sh-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("scripts/lookups-Makefile" "scripts/reversion")
(("SHELL=/bin/sh") "SHELL=sh"))
(substitute* '("scripts/Configure-config.h")
(("\\| /bin/sh") "| sh"))
(let ((bash (assoc-ref inputs "bash")))
(substitute* '("scripts/Configure-eximon")
(("#!/bin/sh") (string-append "#!" bash "/bin/sh"))))))
(add-before 'build 'build-reproducibly
(lambda _
;; The compilation number is incremented for every build from the
;; same source tree. It appears to vary over different (parallel?)
;; builds. Make it a constant number instead.
(substitute* "src/version.c"
(("#include \"cnumber.h\"") "1")))))
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
"INSTALL_ARG=-no_chown")
;; No 'check' target. There is a test suite in test/, which assumes that
;; certain build options were (not) used and that it can freely sudo.
#:tests? #f))
(list #:phases
#~(modify-phases %standard-phases
(replace 'configure
;; We'd use #:make-flags but the top-level Makefile calls
;; others recursively, so just set all variables this way.
(lambda* (#:key outputs inputs #:allow-other-keys)
(substitute* (list "Makefile" "OS/Makefile-Default")
(("(RM_COMMAND=).*" all var)
(string-append var "rm\n")))
(copy-file "src/EDITME" "Local/Makefile")
(copy-file "exim_monitor/EDITME" "Local/eximon.conf")
(let ((out (assoc-ref outputs "out")))
(substitute* "Local/Makefile"
(("(BIN_DIRECTORY=).*" all var)
(string-append var out "/bin\n"))
(("(CONFIGURE_FILE=).*" all var)
(string-append var out "/etc/exim.conf\n"))
(("(EXIM_USER=).*" all var)
(string-append var "nobody\n"))
(("(FIXED_NEVER_USERS=).*" all var)
(string-append var "\n")) ; no root in build environment
(("(COMPRESS_COMMAND=).*" all var)
(string-append var (search-input-file inputs "bin/gzip")
"\n"))
(("(ZCAT_COMMAND=).*" all var)
(string-append var (search-input-file inputs "bin/zcat")
"\n"))
(("# (USE_GNUTLS(|_PC)=.*)" all line)
(string-append line "\n"))
(("# (AUTH_CRAM_MD5=yes)" all line) line)
(("# (AUTH_DOVECOT=yes)" all line) line)
(("# (AUTH_EXTERNAL=yes)" all line) line)
(("# (AUTH_PLAINTEXT=yes)" all line) line)
(("# (AUTH_SPA=yes)" all line) line)
(("# (AUTH_TLS=yes)" all line) line))
;; This file has hard-coded relative file names for tools
;; despite the zcat configuration above.
(substitute* "src/exigrep.src"
(("'(bzcat|xzcat|zcat|lzma)'" _ command)
(format #f "'~a'"
(search-input-file
inputs (string-append "bin/" command))))))))
(add-before 'build 'fix-sh-file-names
(lambda _
(substitute* (list "scripts/lookups-Makefile"
"scripts/reversion")
(("SHELL=/bin/sh") "SHELL=sh"))
(substitute* "scripts/Configure-config.h"
(("\\| /bin/sh") "| sh"))
(patch-shebang "scripts/Configure-eximon")))
(add-before 'build 'build-reproducibly
(lambda _
;; The compilation number increments on every build in the
;; same source tree and varies across different (parallel?)
;; builds. Make it a constant number instead.
(substitute* "src/version.c"
(("#include \"cnumber.h\"") "1")))))
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"INSTALL_ARG=-no_chown")
;; No check target. The test/ suite assumes that particular
;; build options were (not) used and that it can freely sudo.
#:tests? #f))
(native-inputs
(list pcre2 perl pkg-config))
(inputs
(list bdb-5.3 ; #error Version 6 and later BDB API is not supported
bzip2
gnutls/dane
gzip
libnsl
libxaw
libxt
perl
xz))
(home-page "https://www.exim.org/")
(synopsis
"Message Transfer Agent (MTA) developed at the University of Cambridge")
@ -1885,6 +1884,7 @@ Cambridge for use on Unix systems connected to the Internet. In style it is
similar to Smail 3, but its facilities are more general. There is a great
deal of flexibility in the way mail can be routed, and there are extensive
facilities for checking incoming mail.")
(properties '((lint-hidden-cve . ("CVE-2020-28017"))))
(license license:gpl2+)))
(define-public dovecot

View file

@ -5524,9 +5524,11 @@ set.")
texlive-capt-of
texlive-caption
texlive-cm
texlive-courier
texlive-etoolbox
texlive-fancyhdr
texlive-fancyvrb
texlive-helvetic
texlive-jknappen
texlive-sectsty
texlive-tex-gyre

View file

@ -143,6 +143,11 @@
"50" "0ki8px35dan51ashblpw6rdl27c2fq62slazhslhq3lr4fwlpvxs"
apache-parent-pom-21))
(define-public apache-commons-parent-pom-51
(make-apache-commons-parent-pom
"51" "05najrpys26jymla2p5jdz4mf4fjp525h6mnr0jfx55lp03xi939"
apache-parent-pom-23))
(define-public apache-commons-parent-pom-52
(make-apache-commons-parent-pom
"52" "0fb6id9cs9944fjlirjc07bf234bwi96i642px09m9nrfj338n5d"

View file

@ -3938,3 +3938,30 @@ method and a end of tag by @code{xxxx_()} method.")
(description "@samp{Doxia} is a content generation framework that provides
powerful techniques for generating static and dynamic content, supporting a
variety of markup languages.")))
(define-public maven-doxia-core
(package
(inherit maven-doxia-sink-api)
(name "maven-doxia-core")
(arguments
`(#:jar-name "doxia-core.jar"
#:source-dir "doxia-core/src/main/java"
#:test-dir "doxia-core/src/test/java"
#:tests? #f ; tests require JUnit5
#:phases (modify-phases %standard-phases
(replace 'install
(install-from-pom "doxia-core/pom.xml")))))
(propagated-inputs (list maven-doxia-parent-pom
maven-doxia-sink-api
java-slf4j-api
java-javax-inject
java-plexus-utils
java-eclipse-sisu-plexus
java-commons-text))
(synopsis "Doxia core classes and interfaces")
(description
"Doxia is a content generation framework that provides powerful
techniques for generating static and dynamic content, supporting a variety of
markup languages.
This package contains Doxia core classes and interfaces.")))

View file

@ -1146,14 +1146,14 @@ simultaneously and therefore appear under the same nickname on IRC.")
(define-public python-nbxmpp
(package
(name "python-nbxmpp")
(version "2.0.4")
(version "3.1.0")
(source
(origin
(method url-fetch)
(uri
(pypi-uri "nbxmpp" version))
(sha256
(base32 "1s2phiipq7ks8vrd93p96dzd5wgmgg8q9h2rxsnh2gg7iy06gj9c"))))
(base32 "0c32090gr1fiy7hkn73dcj4ad9gfdpks8hivl1dl8bql01jsfdnj"))))
(build-system python-build-system)
(native-inputs
(list `(,glib "bin")))
@ -1175,7 +1175,7 @@ of xmpppy.")
(define-public gajim
(package
(name "gajim")
(version "1.3.3")
(version "1.4.5")
(source
(origin
(method url-fetch)
@ -1184,7 +1184,7 @@ of xmpppy.")
(version-major+minor version)
"/gajim-" version ".tar.gz"))
(sha256
(base32 "1337qkpcv7j0fgws9scnk82mn2l7s17060vmrbh3ihinmxmbxg6x"))
(base32 "08a7kkc8vzjr5jxjkb96vs1bqnrgmmmcc5spy308z0zfxbpamsin"))
(patches (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch"))))
(build-system python-build-system)
(arguments
@ -1198,13 +1198,6 @@ of xmpppy.")
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
;; XXX Gajim builds fine on some (my) machines but fails elsewhere:
;; ModuleNotFoundError: No module named 'gajim.gui.emoji_data'
;; https://dev.gajim.org/gajim/gajim/-/issues/10478
(delete-file "test/lib/gajim_mocks.py")
(delete-file "test/unit/test_gui_interface.py")))
(replace 'check
(lambda _
;; Tests require a running X server.
@ -1232,7 +1225,7 @@ of xmpppy.")
(wrap-program file
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))
'("gajim" "gajim-remote" "gajim-history-manager"))))))))
'("gajim" "gajim-remote"))))))))
(native-search-paths
(list
(search-path-specification
@ -1274,6 +1267,7 @@ of xmpppy.")
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("gtk+" ,gtk+)
("gtksourceview" ,gtksourceview)
("gupnp-igd" ,gupnp-igd)
("libnice" ,libnice)
("libsecret" ,libsecret)
@ -1282,6 +1276,7 @@ of xmpppy.")
("network-manager" ,network-manager)
("python-css-parser" ,python-css-parser)
("python-dbus" ,python-dbus)
("python-gssapi" ,python-gssapi)
("python-keyring" ,python-keyring)
("python-nbxmpp" ,python-nbxmpp)
("python-packaging" ,python-packaging)
@ -1302,7 +1297,7 @@ and OpenPGP) and available in 29 languages.")
(define-public gajim-omemo
(package
(name "gajim-omemo")
(version "2.7.14")
(version "2.8.13")
(source
(origin
(method url-fetch/zipbomb)
@ -1311,7 +1306,7 @@ and OpenPGP) and available in 29 languages.")
"https://ftp.gajim.org/plugins_releases/omemo_"
version ".zip"))
(sha256
(base32 "0jmyjqfc4vimvq5vdqsvz25dsij6bh92alml8qnn59p5farnf86v"))))
(base32 "10ym9abvlfpi6llpsqc0691xdnqp9hrwnl361fnwb1nx2zw6bjbd"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -1338,7 +1333,7 @@ multi-client end-to-end encryption.")
(define-public gajim-openpgp
(package
(name "gajim-openpgp")
(version "1.3.9")
(version "1.4.8")
(source
(origin
(method url-fetch/zipbomb)
@ -1347,7 +1342,7 @@ multi-client end-to-end encryption.")
"https://ftp.gajim.org/plugins_releases/openpgp_"
version ".zip"))
(sha256
(base32 "0fzvvrap1hmj4rbrcjs6cs5c9l9c0795bgw9vxxxk915n6j91m23"))))
(base32 "05kgcrxalxsc034kq1i6nriqjb6sdlgf3yb2mani8vk9p00v3j90"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))

View file

@ -61,6 +61,7 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rrdtool)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages web))
@ -164,7 +165,7 @@ etc. via a Web interface. Features include:
(define-public zabbix-agentd
(package
(name "zabbix-agentd")
(version "6.0.3")
(version "6.0.5")
(source
(origin
(method url-fetch)
@ -172,7 +173,7 @@ etc. via a Web interface. Features include:
"https://cdn.zabbix.com/zabbix/sources/stable/"
(version-major+minor version) "/zabbix-" version ".tar.gz"))
(sha256
(base32 "0hihi94dk235cn4rwhrzm496dlihk0pv8785y2jyqi17jhl566g6"))
(base32 "1hmx6dgsag84dpv867p12bkln141nypgkp6zhipxbnn5xxip1sry"))
(modules '((guix build utils)))
(snippet
'(substitute* '("src/zabbix_proxy/proxy.c"
@ -252,7 +253,7 @@ solution (server-side)")))
(define-public zabbix-cli
(package
(name "zabbix-cli")
(version "2.2.1")
(version "2.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -261,23 +262,40 @@ solution (server-side)")))
(file-name (git-file-name name version))
(sha256
(base32
"0wzmrn8p09ksqhhgawr179c4az7p2liqr0l4q2dra62bxliawyqz"))))
"1p8xkq3mxg476srwrgqax76vjzji0rjx32njmgnpa409vaqrbj5p"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'use-absolute-ncurses
(lambda _
(substitute* "bin/zabbix-cli"
(("'clear'")
(string-append "'" (which "clear") "'")))))
(add-after 'unpack 'patch-setup.py
(lambda _
;; Install data_files to $out/share instead of /usr/share.
(substitute* "setup.py"
(("/usr/") "")))))))
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'use-absolute-ncurses
(lambda* (#:key inputs #:allow-other-keys)
(let ((clear (search-input-file inputs "bin/clear")))
(substitute* "bin/zabbix-cli"
(("'clear'")
(string-append "'" clear "'"))))))
(add-after 'unpack 'patch-setup.py
(lambda _
;; Install data_files to $out/share instead of /usr/share.
(substitute* "setup.py"
(("/usr/") ""))))
(add-after 'build 'build-docs
(lambda _
(invoke "make" "-C" "docs" "manual")
(invoke "make" "-C" "docs" "singlehtml")))
(add-after 'install 'install-docs
(lambda _
(install-file "docs/_build/man/zabbix-cli.1"
(string-append #$output "/share/man/man1"))
(copy-recursively "docs/_build/singlehtml"
(string-append #$output "/share/doc/"
#$name "/html"))))
(replace 'check
(lambda _
(invoke "pytest" "-vv"))))))
(native-inputs
(list python-pytest python-sphinx))
(inputs
`(("clear" ,ncurses)
("python-requests" ,python-requests)))
(list ncurses python-requests))
(home-page "https://github.com/unioslo/zabbix-cli")
(synopsis "Command-line interface to Zabbix")
(description

View file

@ -6769,3 +6769,61 @@ local music library, along with flexible search capabilities. It includes
a tag editor, which can also be invoked as a standalone program, and further
supports streaming audio and feeds (such as podcasts).")
(license license:gpl2+)))
(define-public orca-music
(let ((commit "e55b8fdc3606341345938d5b24b2d9d9326afdb5") (revision "1"))
(package
(name "orca-music")
;; No upstream version numbers; Using commit instead.
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~rabbits/orca")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0xf5i9vd2wyrhvfp68j5gvd40iqm9rf6g1p74jan7d875g6kpppq"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'configure) ;No autoconf
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(setenv "CC"
,(cc-for-target))
(invoke "make" "release")))
(add-after 'build 'rename-orca
(lambda* _
(invoke "mv" "-v" "./build/orca" "./build/orca-music")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (dest-bin (string-append
out "/bin"))
(share (string-append out "/share"))
(dest-examples (string-append share "/examples"))
(dest-doc (string-append share "/doc")))
(install-file "./build/orca-music" dest-bin)
(copy-recursively "./examples" dest-examples)
(install-file "./README.md" dest-doc)))))))
(inputs (list ncurses portmidi alsa-plugins
`(,alsa-plugins "pulseaudio")))
(native-inputs (list pkg-config))
(native-search-paths
(list (search-path-specification
(variable "TERMINFO_DIRS")
(files '("share/terminfo")))))
(synopsis "Musical live-coding environment")
(description
"This is the C implementation of the ORCΛ language and terminal
livecoding environment. It's designed to be power efficient. It can handle
large files, even if your terminal is small.
Orca is not a synthesizer, but a flexible livecoding environment capable of
sending MIDI, OSC, and UDP to your audio/visual interfaces like Ableton,
Renoise, VCV Rack, or SuperCollider.")
(home-page "https://100r.co/site/orca.html")
(license license:expat))))

View file

@ -50,6 +50,7 @@
;;; Copyright © 2022 Simon South <simon@simonsouth.net>
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -184,6 +185,33 @@ oriented, reliable transport protocol with direct support for multihoming that
runs on top of IP or UDP, and supports both v4 and v6 versions.")
(license license:bsd-3)))
(define-public arp-scan
(package
(name "arp-scan")
(version "1.9.7")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/royhills/arp-scan/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1mf7a4f9vzvnkiavc87aqyciswggsb4fpy7j05jxnvjyyxv3l7gp"))))
(build-system gnu-build-system)
(inputs
(list libpcap))
(native-inputs
(list autoconf automake libtool pkg-config))
(propagated-inputs
(list perl-libwww))
(home-page "https://github.com/royhills/arp-scan")
(synopsis "Discover and fingerprint IP hosts on the local network using ARP")
(description "Arp-scan is a tool that uses ARP to discover and fingerprint
IP hosts on the local network.")
(license license:gpl3+)))
(define-public axel
(package
(name "axel")
@ -216,33 +244,37 @@ protocols.")
(define-public libcamera
(package
(name "libcamera")
(version "0.0.0")
(version "0.0.0-1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "git://linuxtv.org/libcamera.git")
(commit "74c8b508338ccdd0780aa1e067a1e8fcb9ee326b")))
(commit "10be87fa7c3bfb097b21ca3d469c67e40c333f7e")))
(file-name
(git-file-name name version))
(sha256
(base32 "0d9lp8b9gyxh4jwfh55kp8zl1xyyg32z684v3y29378zpksncss1"))))
(base32 "0qgirhlalmk9f9v6piwz50dr2asb64rvbb9zb1vix7y9zh7m11by"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments
`(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas
#:configure-flags
(list
"-Dv4l2=true")
"-Dv4l2=true"
;; XXX: Requires bundled pybind11.
"-Dpycamera=disabled")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
(substitute* "test/meson.build"
(("\\['list-cameras', 'list-cameras.cpp'\\],")
""))
#t))
"")
;; TODO: Why do the gstreamer tests fail.
(("^subdir\\('gstreamer'\\)")
""))))
(add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -250,24 +282,26 @@ protocols.")
(mkdir-p (string-append doc "/share"))
(rename-file
(string-append out "/share/doc")
(string-append doc "/share/doc"))
#t))))))
(string-append doc "/share/doc"))))))))
(native-inputs
`(("dot" ,graphviz)
("doxygen" ,doxygen)
("pkg-config" ,pkg-config)
("python" ,python-wrapper)
("sphinx" ,python-sphinx)
("yaml" ,python-pyyaml)))
(list graphviz ;for 'dot'
doxygen
pkg-config
python-wrapper
python-sphinx
python-pyyaml))
(inputs
`(("boost" ,boost)
("glib" ,glib)
("gstreamer" ,gst-plugins-base)
("gnutls" ,gnutls)
("libtiff" ,libtiff)
("openssl" ,openssl)
("qt5" ,qtbase-5)
("udev" ,eudev)))
(list boost
eudev
glib
gst-plugins-base
gnutls
libtiff
libyaml
openssl
python-jinja2
python-ply
qtbase-5))
(synopsis "Camera stack and framework")
(description "LibCamera is a complex camera support library for GNU+Linux,
Android, and ChromeOS.")
@ -1744,8 +1778,8 @@ handling network namespaces in Go.")
(define-public go-sctp
;; docker-libnetwork-cmd-proxy requires this exact commit.
;; This commit is mentioned in docker-libnetwork-cmd-proxy's vendor.conf.
(let ((commit "6e2cb1366111dcf547c13531e3a263a067715847")
(revision "2"))
(let ((commit "f2269e66cdee387bd321445d5d300893449805be")
(revision "3"))
(package
(name "go-sctp")
(version (git-version "0.0.0" revision commit))
@ -1757,7 +1791,7 @@ handling network namespaces in Go.")
(file-name (git-file-name name version))
(sha256
(base32
"1ba90fmpdwxa1ba4hrsjhi3gfy3pwmz7x8amw1p5dc9p5a7nnqrb"))))
"04463rnn9y9psp11ac5di6wrwxlhymw5h9hfhhhnxqwla90ikp0g"))))
(build-system go-build-system)
(arguments
`(#:tests? #f ; Test suite is flakey.

View file

@ -49,14 +49,14 @@
(define-public python-bandit
(package
(name "python-bandit")
(version "1.6.2")
(version "1.7.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bandit" version))
(sha256
(base32
"0rb034c99pyhb4a60z7f2kz40cjydhm8m9v2blaal1rmhlam7rs1"))))
"1lkvf5ffdqa9504mm5fd9vvq0q5wdyqbkm32i4rswys1fg2shqrd"))))
(build-system python-build-system)
(arguments
;; The tests are disabled to avoid a circular dependency with
@ -77,25 +77,25 @@ scanning all the files it generates a report.")
(define-public python-cliff
(package
(name "python-cliff")
(version "3.5.0")
(version "3.10.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cliff" version))
(sha256
(base32
"0n8pzr0mnn9lq2mykds69ij2xrn0fsirh4ndmkx0mzydbx5niysv"))))
"180059m5ky3hlw2m9fszh4h2ykja8zl7ql5dsxjijiv47hzywnh4"))))
(build-system python-build-system)
(arguments
`(#:tests? #f))
(native-inputs
(list python-pbr))
(propagated-inputs
(list python-cmd2
(list python-autopage
python-cmd2
python-prettytable
python-pyparsing
python-pyyaml
python-bandit
python-stevedore))
(home-page "https://opendev.org/openstack/cliff")
(synopsis "Framework for building command line programs")

View file

@ -1342,8 +1342,8 @@ environments.")
(license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
(define-public guix-build-coordinator
(let ((commit "3de63f1f66d5f0eb157ee60bc864404f386ee2b0")
(revision "53"))
(let ((commit "07b0b61d21a5ad2637271869414fa47eea34a8d9")
(revision "54"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@ -1354,7 +1354,7 @@ environments.")
(commit commit)))
(sha256
(base32
"1ld761c48ad925p3kisnjvad50p6hyk77z0yjcr29681n73xzzz4"))
"09zxwlkxngs6hx3hfd1gzrf99c07jdr0lslcms2nn8x77bdfp9i0"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -1650,8 +1650,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+)))
(define-public nar-herder
(let ((commit "042f49e5fb52ea844ed5d29c17b26fbc8ad49f0e")
(revision "8"))
(let ((commit "5acfcc0a9d99d78a167c365534aa5bf592f5625e")
(revision "9"))
(package
(name "nar-herder")
(version (git-version "0" revision commit))
@ -1662,7 +1662,7 @@ in an isolated environment, in separate namespaces.")
(commit commit)))
(sha256
(base32
"1i9vwjdvkchwndjikqq3j73x0mvp3ny63s62ixql70yhpdgz5l69"))
"1mxdkay3l1la7b6m0455s8cansd6qcdhv0k231aik0ayhbck8kby"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -1693,6 +1693,7 @@ in an isolated environment, in separate namespaces.")
"guile-gcrypt"
"guix"
"guile-lib"
"guile-lzlib"
"guile-prometheus"
"guile-sqlite3"
"gnutls"
@ -1732,6 +1733,7 @@ in an isolated environment, in separate namespaces.")
guile-fibers-1.1
guile-prometheus
guile-lib
guile-lzlib
guile-sqlite3))
(inputs
(list bash-minimal
@ -1743,6 +1745,7 @@ in an isolated environment, in separate namespaces.")
guile-fibers-1.1
guile-prometheus
guile-lib
guile-lzlib
guile-sqlite3
gnutls))
(home-page "https://git.cbaines.net/guix/nar-herder")

View file

@ -0,0 +1,27 @@
Patch from the CMH git, after the 1.1.0 release.
From 2328c819317dda2171217002268f57c74cedc476 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Emmanuel=20Thom=C3=A9?= <Emmanuel.Thome@inria.fr>
Date: Tue, 7 Jun 2022 12:17:05 -0700
Subject: [PATCH] patch suggested by @x-YVicto
---
src/lll.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/lll.cpp b/src/lll.cpp
index 83dab07..f005931 100644
--- a/src/lll.cpp
+++ b/src/lll.cpp
@@ -37,7 +37,7 @@
#ifdef HAVE_FPLLL
static void lll_fplll (mpz_t *v, mpz_t **M, const int m, const int n)
{
- ZZ_mat <mpz_t> Mp (m, n);
+ fplll::ZZ_mat <mpz_t> Mp (m, n);
int i, j;
for (i = 0; i < m; i++)
--
2.36.1

View file

@ -1,28 +0,0 @@
Author: Danny Milosavljevic <dannym@scratchpost.org>
The socket name ended up too long inside the container.
Use a shorter one.
--- a/pkg/authorization/authz_unix_test.go 2019-01-10 01:55:02.997985947 +0100
+++ b/pkg/authorization/authz_unix_test.go 2019-01-10 02:03:21.177439757 +0100
@@ -24,7 +24,7 @@
)
const (
- pluginAddress = "authz-test-plugin.sock"
+ pluginAddress = "/tmp/authz-test-plugin.sock"
)
func TestAuthZRequestPluginError(t *testing.T) {
@@ -263,12 +263,7 @@
// createTestPlugin creates a new sample authorization plugin
func createTestPlugin(t *testing.T) *authorizationPlugin {
- pwd, err := os.Getwd()
- if err != nil {
- t.Fatal(err)
- }
-
- client, err := plugins.NewClient("unix:///"+path.Join(pwd, pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true})
+ client, err := plugins.NewClient("unix:///"+path.Join("/", pluginAddress), &tlsconfig.Options{InsecureSkipVerify: true})
if err != nil {
t.Fatalf("Failed to create client %v", err)
}

View file

@ -0,0 +1,308 @@
Submitted upstream at https://github.com/phoronix-test-suite/phoronix-test-suite/pull/642.
diff --git a/delete-nonfree-metadata b/delete-nonfree-metadata
new file mode 100755
index 000000000..e25e3b48c
--- /dev/null
+++ b/delete-nonfree-metadata
@@ -0,0 +1,195 @@
+#!/usr/bin/env python3
+
+# Copyright (C) 2022, Maxim Cournoyer
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Commentary:
+#
+# This script prunes the 'ob-cache' test metadata cache from any
+# nonfree test. This is useful for users who concerned with running
+# only free software or distributions complying with the Free Software
+# Distribution Guidelines (GNU FSDG,
+# https://www.gnu.org/distros/free-system-distribution-guidelines.html).
+import argparse
+import json
+import logging
+import pathlib
+import pprint
+import re
+import shutil
+import xml.etree.ElementTree as ET
+
+
+logger = logging.getLogger(__name__)
+logging.basicConfig(level='INFO', format='%(levelname)s: %(message)s')
+
+
+DEFAULT_ROOT_DIR = pathlib.Path(__file__).parent.resolve()
+# Global cache used to keep the test/suite definition licenses, keyed
+# by their test name key (e.g., 'caffe').
+TEST_DEFINITION_LICENSES = {}
+
+
+def get_test_definitions(root_dir=DEFAULT_ROOT_DIR):
+ """Return the list of all test definition XML files."""
+ return sorted(pathlib.Path(root_dir).glob('**/test-definition.xml'))
+
+
+def get_suite_definitions(root_dir=DEFAULT_ROOT_DIR):
+ return sorted(pathlib.Path(root_dir).glob('**/suite-definition.xml'))
+
+
+def get_index_files(root_dir=DEFAULT_ROOT_DIR):
+ return sorted(pathlib.Path(root_dir).glob('**/*.index'))
+
+
+def sanitize_index_files(index_files, nonfree_test_names):
+ """Remove non free test entries from `index_files`."""
+ for index_file in index_files:
+ with index_file.open() as f:
+ index = json.load(f)
+ filtered_tests = {k: v for k, v in index['tests'].items()
+ if k not in nonfree_test_names}
+ index['tests'] = filtered_tests
+ if index['suites']:
+ filtered_suites = {k: v for k, v in index['suites'].items()
+ if k not in nonfree_test_names}
+ index['suites'] = filtered_suites
+
+ with index_file.open('w') as f:
+ json.dump(index, f)
+
+
+def get_test_definition_license(test_definition_file,
+ root_dir=DEFAULT_ROOT_DIR):
+ """Return the licenses from `test_definition_file`, or None."""
+ name = get_name_from_definition_file(test_definition_file)
+ if name in TEST_DEFINITION_LICENSES:
+ return TEST_DEFINITION_LICENSES[name]
+
+ root = ET.parse(test_definition_file)
+ try:
+ license = next(root.iter('License')).text
+ except StopIteration:
+ # No license field; check if it extends another test.
+ try:
+ extended_test = next(root.iter('Extends')).text # e.g. 'pts/caffe'
+ extended_name = extended_test.split('/')[-1]
+ if extended_name in TEST_DEFINITION_LICENSES:
+ license = TEST_DEFINITION_LICENSES[extended_name]
+ else:
+ extended_definition_file = sorted(
+ pathlib.Path(root_dir).glob(
+ '**/test-profiles/' + extended_test
+ + '-*/test-definition.xml'))[-1]
+ license = get_test_definition_license(extended_definition_file,
+ root_dir)
+ except StopIteration:
+ logger.warning('could not find license for %s',
+ test_definition_file)
+ return None
+
+ TEST_DEFINITION_LICENSES[name] = license
+ return license
+
+
+def is_test_definition_free(test_definition_file):
+ """True if `test_definition_file` has its license tag set to 'Free'."""
+ license = get_test_definition_license(test_definition_file)
+ return license == 'Free'
+
+
+def is_suite_definition_free(suite_definition_file, nonfree_test_names):
+ """True if `suite_definition_file` is free.
+
+ The suite definition is considered free when it doesn't reference
+ any test part of `nonfree_test_names`.
+ """
+ root = ET.parse(suite_definition_file)
+ for test in root.iter('Test'):
+ test_name = test.text
+ name = test_name.split('/')[-1] # strip any prefix
+ if name in nonfree_test_names:
+ return False
+
+ return True
+
+
+def get_name_from_definition_file(definition_file):
+ """Return the parent directory name of a definition file.
+
+ The version information in stripped from the name."""
+ parent_dir_name = pathlib.Path(definition_file).parent.name
+ # Strip the version from the name.
+ return re.search(r'^(.*)-', parent_dir_name).group(1)
+
+
+def get_default_user_config_file(root_dir):
+ return next(pathlib.Path(root_dir).glob('**/user-config-defaults.xml'))
+
+
+def disallow_refreshing_repositories(user_config_file):
+ """Set the 'AllowRefreshingRepositoryLists' option to FALSE."""
+ config = ET.parse(user_config_file)
+ for option in config.iter('AllowRefreshingRepositoryLists'):
+ option.text = 'FALSE'
+ config.write(user_config_file)
+
+
+def main(root_dir):
+ # Gather data.
+ test_definitions = get_test_definitions(root_dir)
+ suite_definitions = get_suite_definitions(root_dir)
+ nonfree_test_definitions = [d for d in test_definitions
+ if not is_test_definition_free(d)]
+ nonfree_test_names = [get_name_from_definition_file(t)
+ for t in nonfree_test_definitions]
+ nonfree_suite_definitions = [
+ s for s in suite_definitions
+ if not is_suite_definition_free(s, nonfree_test_names)]
+ nonfree_suite_names = [get_name_from_definition_file(s)
+ for s in nonfree_suite_definitions]
+ nonfree_definitions = nonfree_test_definitions + nonfree_suite_definitions
+ nonfree_definition_names = sorted(set(nonfree_test_names
+ + nonfree_suite_names))
+
+ # Delete nonfree definitions.
+ for nonfree_definition in nonfree_definitions:
+ shutil.rmtree(nonfree_definition.parent)
+
+ # Delete nonfree entries in index files.
+ indexes = get_index_files(root_dir)
+ sanitize_index_files(indexes, nonfree_definition_names)
+
+ logger.info('The following nonfree test suites were deleted:\n%s',
+ pprint.pformat([str(d) for d in nonfree_definitions]))
+
+ # This is necessary to avoid downloading the
+ # OpenBenchmarking-provided tests metadata which includes all the
+ # tests, including teh proprietary ones.
+ user_config_file = get_default_user_config_file(root_dir)
+ disallow_refreshing_repositories(user_config_file)
+ logger.info('Disabled test metadata updates in default user config')
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(
+ description='Remove nonfree cached metadata')
+ parser.add_argument('--root-dir', type=str,
+ help='the Phoronix Test Suite root directory',
+ default=DEFAULT_ROOT_DIR)
+ args = parser.parse_args()
+
+ main(args.root_dir)
diff --git a/documentation/phoronix-test-suite.md b/documentation/phoronix-test-suite.md
index c2e04ae4e..0c71ecf37 100644
--- a/documentation/phoronix-test-suite.md
+++ b/documentation/phoronix-test-suite.md
@@ -817,7 +817,18 @@ The Phoronix Test Suite can be simply extracted from the downloaded *.tar.gz* or
### Generic Installation
-Running *install-sh* from the root directory of the Phoronix Test Suite will install the software for system-wide access. By default the *phoronix-test-suite* executable is in */usr/bin/* , the Phoronix Test Suite files in */usr/share/phoronix-test-suite/* , and the documentation in / *usr/share/doc/phoronix-test-suite/* . Root access is required. The default installation prefix is /usr/ but can be adjusted as the first argument (example: *install-sh /home/user/* to install the Phoronix Test Suite in your home directory).
+Running *install-sh* from the root directory of the Phoronix Test
+Suite will install the software for system-wide access. By default the
+*phoronix-test-suite* executable is in */usr/bin/* , the Phoronix Test
+Suite files in */usr/share/phoronix-test-suite/* , and the
+documentation in / *usr/share/doc/phoronix-test-suite/* . Root access
+is required. The default installation prefix is /usr/ but can be
+adjusted as the first argument (example: *install-sh /home/user/* to
+install the Phoronix Test Suite in your home directory). Use the
+`--free-software-only` option of the `install-sh` script if you'd like
+to be offered only test profiles and suites relying on free software
+only. Note that this option disables the automatic fetching of new
+tests definitions from OpenBenchmarking.org.
### Debian/Ubuntu Installation
@@ -937,6 +948,11 @@ If this option is set to *TRUE* , the system logs (i.e. dmesg, lspci, lsusb, Xor
#### AllowResultUploadsToOpenBenchmarking
This option defines whether to allow/support result uploads to OpenBenchmarking.org. If set to *FALSE* , the user will not be prompted to allow uploading of test results to the public site.
+#### AllowRefreshingRepositoryLists
+This option defines whether to allow refreshing the test profiles
+(metadata) content from OpenBenchmarking.org. If set to *FALSE* ,
+only the locally available test profiles will be used, and no updates
+will made to it.
## General Options
#### DefaultBrowser
diff --git a/install-sh b/install-sh
index f6228cde9..ff9bf9bd7 100755
--- a/install-sh
+++ b/install-sh
@@ -1,4 +1,5 @@
#!/bin/sh
+set -e
# Phoronix Test Suite
# URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
@@ -28,6 +29,13 @@ else
INSTALL_PREFIX="$1"
fi
+# XXX: Perhaps this should be the default?
+for arg in "$@"; do
+ if [ "$arg" = "--free-software-only" ]; then
+ FREE_SOFTWARE_ONLY=yes
+ fi
+done
+
# Ensure the user is in the correct directory
if [ ! -f pts-core/phoronix-test-suite.php ]
then
@@ -114,6 +122,11 @@ else
fi
+# Post-installation process.
+if [ -n FREE_SOFTWARE_ONLY ]; then
+ ./delete-nonfree-metadata --root-dir="$DESTDIR$INSTALL_PREFIX/share/phoronix-test-suite/"
+fi
+
echo -e "\nPhoronix Test Suite Installation Completed\n
Executable File: $INSTALL_PREFIX/bin/phoronix-test-suite
Documentation: $INSTALL_PREFIX/share/doc/phoronix-test-suite/
@@ -124,4 +137,3 @@ then
echo "Installed to chroot: $DESTDIR"
echo "Please update your desktop and mime-database manually"
fi
-
diff --git a/pts-core/objects/pts_openbenchmarking.php b/pts-core/objects/pts_openbenchmarking.php
index 081f55c31..e9396ea36 100644
--- a/pts-core/objects/pts_openbenchmarking.php
+++ b/pts-core/objects/pts_openbenchmarking.php
@@ -330,6 +330,11 @@ class pts_openbenchmarking
}
public static function refresh_repository_lists($repos = null, $force_refresh = false)
{
+ if(!pts_config::read_bool_config('PhoronixTestSuite/Options/OpenBenchmarking/AllowRefreshingRepositoryLists', true))
+ {
+ return true;
+ }
+
if($repos == null)
{
if($force_refresh == false)
diff --git a/pts-core/static/user-config-defaults.xml b/pts-core/static/user-config-defaults.xml
index 878c5137f..c9a67df5f 100644
--- a/pts-core/static/user-config-defaults.xml
+++ b/pts-core/static/user-config-defaults.xml
@@ -6,6 +6,7 @@
<IndexCacheTTL>3</IndexCacheTTL>
<AlwaysUploadSystemLogs>FALSE</AlwaysUploadSystemLogs>
<AllowResultUploadsToOpenBenchmarking>TRUE</AllowResultUploadsToOpenBenchmarking>
+ <AllowRefreshingRepositoryLists>TRUE</AllowRefreshingRepositoryLists>
</OpenBenchmarking>
<General>
<DefaultBrowser></DefaultBrowser>

View file

@ -33,6 +33,7 @@
#:use-module (gnu packages mail) ; for libetpan
#:use-module (gnu packages nettle)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sequoia)
#:use-module (gnu packages sqlite)

View file

@ -51,6 +51,11 @@
`(#:tests? #f ; Test suite hasn't withstood the test of time.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'loosen-requirements
(lambda _
;; Remove version pinning.
(substitute* "requirements.txt"
(("pbr>=.*") "pbr"))))
(replace 'wrap
(lambda* (#:key python inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -68,8 +73,9 @@
"/site-packages")
(search-path-as-string->list
(or (getenv "GUIX_PYTHONPATH") ""))))))
'("presentty" "presentty-console")))
#t)))))
'("presentty" "presentty-console")))))
;; XXX: console import test fails to find palette.py from the lib?
(delete 'sanity-check))))
(inputs
(list cowsay
figlet

View file

@ -1,4 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
@ -403,3 +404,73 @@ specified by PEP 517, @code{flit_core.buildapi}.")
(propagated-inputs
(modify-inputs (package-propagated-inputs python-flit-core-bootstrap)
(replace "python-toml" python-tomli)))))
(define-public python-flit-scm
(package
(name "python-flit-scm")
(version "1.6.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "flit_scm" version))
(sha256
(base32
"0p3lj2g1643m2dm14kihvfb6gn6jviglhm3dzdpn2c8zpqs17svg"))))
(build-system python-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-setuptools-scm-version
(lambda _
(substitute* "pyproject.toml"
(("setuptools_scm~=6.4")
"setuptools_scm>=6.3"))))
;; XXX: PEP 517 manual build/install procedures copied from
;; python-isort.
(replace 'build
(lambda _
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl)))))))
(native-inputs
(list python-pypa-build
python-flit-core
python-setuptools-scm
python-tomli))
(propagated-inputs
(list python-flit-core
python-setuptools-scm
python-tomli))
(home-page "https://gitlab.com/WillDaSilva/flit_scm")
(synopsis "PEP 518 build backend combining flit_core and setuptools_scm")
(description "This package provides a PEP 518 build backend that uses
@code{setuptools_scm} to generate a version file from your version control
system, then @code{flit_core} to build the package.")
(license license:expat)))
(define-public python-setuptools-scm
(package
(name "python-setuptools-scm")
(version "6.3.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "setuptools_scm" version))
(sha256
(base32 "1wm0i27siyy1yqr9rv7lqvb65agay9051yi8jzmi8dgb3q4ai6m4"))))
(build-system python-build-system)
(propagated-inputs
`(("python-packaging",python-packaging-bootstrap)
("python-tomli" ,python-tomli)))
(home-page "https://github.com/pypa/setuptools_scm/")
(synopsis "Manage Python package versions in SCM metadata")
(description
"Setuptools_scm handles managing your Python package versions in
@dfn{software configuration management} (SCM) metadata instead of declaring
them as the version argument or in a SCM managed file.")
(license license:expat)))

View file

@ -4,7 +4,7 @@
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020, 2022 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
@ -2324,3 +2324,32 @@ provided for the main Python test runners.")
(description "This package provides a pytest fixture to mock httpx
requests to be replied to with user provided responses.")
(license license:expat)))
(define-public python-pycotap
(package
(name "python-pycotap")
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycotap" version))
(sha256
(base32 "1v69fxial9i5wlap6wc4igq3hydvxbak7dlgb7cikk8wjgafqf7r"))))
(build-system python-build-system)
(home-page "https://el-tramo.be/pycotap")
(synopsis "Tiny Python TAP test runner")
(description "This package provides a simple Python test runner for
unittest that outputs Test Anything Protocol (TAP) results to standard
output. Contrary to other TAP runners for Python, pycotap...
@itemize
@item
prints TAP (and only TAP) to standard output instead of to a separate file,
allowing you to pipe it directly to TAP pretty printers and processors;
@item only contains a TAP reporter, so no parsers, no frameworks, no
dependencies, etc;
@item
is configurable: you can choose how you want the test output and test result
diagnostics to end up in your TAP output (as TAP diagnostics, YAML blocks, or
attachments).
@end itemize")
(license license:expat)))

View file

@ -26,6 +26,7 @@
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1651,3 +1652,29 @@ It does not provide such an implementation itself -- this is just the
scaffolding for the command line, which should make it relatively easy to
supply a handful of python functions as methods to a class.")
(license license:expat))) ; MIT license
(define-public python-starkbank-ecdsa
(package
(name "python-starkbank-ecdsa")
(version "2.0.3")
(home-page "https://github.com/starkbank/ecdsa-python")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1k9h4p0frkgj76vrqfjim4mik98g09mivdxxcmxr6raa5jwr83sh"))))
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'remove-broken-test
(lambda _
(delete-file "tests/testOpenSSL.py"))))))
(build-system python-build-system)
(native-inputs (list python-pytest))
(synopsis "Python ECDSA library")
(description "This package provides a Python ECDSA library, optimized for
speed but without C extensions.")
(license license:expat)))

View file

@ -1088,7 +1088,7 @@ computing in Python. It extends both the @code{concurrent.futures} and
(define-public python-modin
(package
(name "python-modin")
(version "0.10.1")
(version "0.15.1")
(source
(origin
;; The archive on pypi does not include all required files.
@ -1099,7 +1099,7 @@ computing in Python. It extends both the @code{concurrent.futures} and
(file-name (git-file-name name version))
(sha256
(base32
"128ghfb9ncmnn8km409xjcdppvn9nr9jqw8rkvsfavh7wnwlk509"))))
"0nf2pdqna2vn7vq7q7b51f3cfbrxfn77pyif3clibjsxzvfm9k03"))))
(build-system python-build-system)
(arguments
`(#:phases

View file

@ -51,6 +51,7 @@
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1423,26 +1424,24 @@ C, yielding parse times that can be a thirtieth of the html5lib parse times.")
(define-public python-minio
(package
(name "python-minio")
(version "6.0.0")
(version "7.1.9")
(source (origin
(method url-fetch)
(uri (pypi-uri "minio" version))
(sha256
(base32
"1cxpa0m7mdvpdbc1g6wlihq6ja4g4paxkl6f3q84bbnx07zpbllp"))))
"02nh865xbf2glxvcy70ir6gkcwqxl119zryfc70q7w0yjvkg64d7"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-before 'check 'disable-failing-tests
(lambda _
;; This test requires network access.
(delete-file "tests/unit/credentials_test.py")
#t)))))
(delete-file "tests/unit/credentials_test.py"))))))
(native-inputs
(list python-faker python-mock python-nose))
(propagated-inputs
(list python-certifi python-configparser python-dateutil python-pytz
python-urllib3))
(list python-certifi python-dateutil python-pytz python-urllib3))
(home-page "https://github.com/minio/minio-py")
(synopsis "Programmatically access Amazon S3 from Python")
(description
@ -1808,7 +1807,7 @@ another XPath engine to find the matching elements in an XML or HTML document.")
(define-public python-databricks-cli
(package
(name "python-databricks-cli")
(version "0.14.1")
(version "0.17.0")
(home-page "https://github.com/databricks/databricks-cli")
(source (origin
(method git-fetch)
@ -1816,21 +1815,25 @@ another XPath engine to find the matching elements in an XML or HTML document.")
(file-name (git-file-name name version))
(sha256
(base32
"03w19rzh72jll9phai23wp0c2mlv39qsrv50mhckziy39z60yxh8"))))
"1qwbxnx64kw7lrzlyx3hfbnjxpc19cqvvj0gcrkqpyjsgd08vja0"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
'(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "pytest" "tests" "-vv"
;; XXX: This fails with newer Pytest
;; (upstream uses Pytest 3..).
"-k" "not test_get_request_with_list"))))))
(invoke "pytest" "tests" "-vv"))))))
(native-inputs
(list ;; For tests.
python-decorator python-mock python-pytest python-requests-mock))
;; For tests.
(list python-decorator
python-mock
python-pytest
python-requests-mock))
(propagated-inputs
(list python-click python-configparser python-requests python-six
(list python-click
python-oauthlib
python-pyjwt
python-requests
python-six
python-tabulate))
(synopsis "Command line interface for Databricks")
(description
@ -4196,13 +4199,13 @@ addon modules.")
(define-public python-bottle
(package
(name "python-bottle")
(version "0.12.19")
(version "0.12.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "bottle" version))
(sha256
(base32 "0b6s50vc4iad97b6bb3xnyrgajb3nj6n6jbr5p54a4vapky3zmx9"))))
(base32 "0zl8sy4dhafyxqpavy7pjz0qzpakmhgh2qr6pwlw5f82rjv62z3q"))))
(build-system python-build-system)
(home-page "https://bottlepy.org/")
(synopsis "WSGI framework for small web-applications")
@ -6328,7 +6331,16 @@ the @code{BasicRouter}.")
(arguments
;; PyPi sources does not contain tests, recursive dependency on
;; python-sanic.
(list #:tests? #f))
(list #:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'loosen-requirements
(lambda _
;; Don't place an upper boundary on httpx version.
;; https://github.com/sanic-org/sanic-testing/pull/39
(substitute* "setup.py"
(("httpx>=0\\.18,<0\\.23")
"httpx>=0.18")))))))
(propagated-inputs (list python-httpx python-sanic-bootstrap
python-websockets))
(home-page "https://github.com/sanic-org/sanic-testing/")
@ -7535,3 +7547,50 @@ resources using Web Application Description Language (WADL) files as guides.")
@end itemize")
(license license:expat)))
(define-public python-http-client
(package
(name "python-http-client")
(version "3.3.7")
(home-page "https://github.com/sendgrid/python-http-client")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0z0ziw3f4zw5fj4spiwhhs2x8qs3i5999ry2p6a5sc8b1lkkj2zi"))
(snippet #~(begin
(use-modules (guix build utils))
(delete-file "tests/profile.py")))))
(build-system python-build-system)
(synopsis "HTTP REST client for Python")
(description
"This package provides access to any RESTful or RESTful-like API.")
(license license:expat)))
(define-public python-sendgrid
(package
(name "python-sendgrid")
(version "6.9.7")
(home-page "https://github.com/sendgrid/sendgrid-python/")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0kvp4gm3bpcsj2mkv05pgvlcv1jlsfhcljcv61wz5kq9d273h7rg"))))
(build-system python-build-system)
(arguments
(list #:tests? #f)) ;241/340 tests fail due to attempted web access
(propagated-inputs (list python-http-client python-starkbank-ecdsa))
(synopsis "SendGrid API library for Python")
(description
"The @code{sendgrid} Python library allows access to the
SendGrid Web API v3. Version 3+ of the library provides full support for all
SendGrid Web API v3 endpoints, including the new v3 /mail/send.")
(license license:expat)))

View file

@ -2949,6 +2949,48 @@ software.")
(inherit (package-with-python2 scons))
(name "scons-python2")))
(define-public python-exceptiongroup
(package
(name "python-exceptiongroup")
(version "1.0.0rc8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/agronholm/exceptiongroup")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0xsbpv22n51p6yvyvz231mf8zhbi1i88b4zmacaxxx31zrq5ifv4"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
;; XXX: PEP 517 manual build/install procedures copied from
;; python-isort.
(replace 'build
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv" "tests")))))))
(native-inputs (list python-flit-scm python-pypa-build python-pytest))
(home-page "https://github.com/agronholm/exceptiongroup")
(synopsis "PEP 654 backport from Python 3.11")
(description "This is a backport of the @code{BaseExceptionGroup} and
@code{ExceptionGroup} classes from Python 3.11.")
(license license:expat)))
(define-public python-extension-helpers
(package
(name "python-extension-helpers")
@ -5038,7 +5080,7 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
(define-public python-pydantic
(package
(name "python-pydantic")
(version "1.9.0")
(version "1.9.1")
(source
(origin
(method git-fetch)
@ -5047,32 +5089,11 @@ which can produce feeds in RSS 2.0, RSS 0.91, and Atom formats.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "14wj3k9007fpbxk7593w6gdqrr68yzrsw4a41sj5ji4cv3r8z18b"))))
(base32 "1406kgppqa7524mxllsipj7gb8fn7pwf51l11lqik59xjhsfv94f"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'check 'disable-test
(lambda _
;; Reported upstream:
;; <https://github.com/samuelcolvin/pydantic/issues/1580>.
;; Disable the faulty test as the fix is unclear.
(substitute* "tests/test_validators.py"
(("test_assert_raises_validation_error")
"_test_assert_raises_validation_error"))
;; These fail because of <https://bugs.python.org/issue40398>.
;; Remove after Python has been upgraded to >= 3.9.
(substitute* "tests/test_generics.py"
(("assert replace_types\\(Callable, \\{T: int\\}\\) == Callable")
""))
(substitute* "tests/test_schema.py"
(("test_unenforced_constraints_schema")
"_test_unenforced_constraints_schema"))
;; Disable tests for the Hypothesis plugin because it is tricky
;; to configure in the build container.
(delete-file "tests/test_hypothesis_plugin.py")))
(replace 'check
(lambda _ (invoke "pytest" "-vv"))))))
(native-inputs
@ -5132,7 +5153,6 @@ Server (PLS).")
"not test_pyqt_completion"))))))
(propagated-inputs
(list python-autopep8
python-configparser
python-pydocstyle
python-flake8
python-future
@ -6668,6 +6688,58 @@ multivalue dictionary that retains the order of insertions and deletions.")
run simple @code{argparse} parsers from function signatures.")
(license license:lgpl3+)))
(define-public python-autopage
(package
(name "python-autopage")
(version "0.5.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "autopage" version))
(sha256
(base32
"169ixll1ncm2a2pcc86665ikjv2lrzs10p6c1w4yj55p3gk3xgh1"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
;; Do a manual PEP 517 style build/install procedure until the
;; python-build-system overhaul is merged.
(replace 'build
(lambda _
;; ZIP does not support timestamps before 1980.
(let ((circa-1980 (* 10 366 24 60 60)))
(setenv "SOURCE_DATE_EPOCH" (number->string circa-1980))
(invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))))
(add-before 'check 'disable-e2e-tests
(lambda _
;; These tests rely on KeyboardInterrupts which do not
;; work in the build container.
(delete-file "autopage/tests/test_end_to_end.py")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv"))))
(replace 'install
(lambda _
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl)))))))
(native-inputs
(list python-pypa-build
python-setuptools
python-wheel
;; For tests.
python-fixtures
python-pytest
python-testtools))
(home-page "https://github.com/zaneb/autopage")
(synopsis "Automatic paging for console output")
(description
"Autopage is a Python library to automatically display terminal output
from a program in a @dfn{pager} such as @command{less}.")
(license license:asl2.0)))
(define-public python-autopep8
(package
(name "python-autopep8")
@ -7783,27 +7855,6 @@ Pexpect works like Don Libes Expect. Pexpect allows your script to spawn a
child application and control it as if a human were typing commands.")
(license license:isc)))
(define-public python-setuptools-scm
(package
(name "python-setuptools-scm")
(version "6.3.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "setuptools_scm" version))
(sha256
(base32 "1wm0i27siyy1yqr9rv7lqvb65agay9051yi8jzmi8dgb3q4ai6m4"))))
(build-system python-build-system)
(propagated-inputs
`(("python-packaging",python-packaging-bootstrap)
("python-tomli" ,python-tomli)))
(home-page "https://github.com/pypa/setuptools_scm/")
(synopsis "Manage Python package versions in SCM metadata")
(description
"Setuptools_scm handles managing your Python package versions in
@dfn{software configuration management} (SCM) metadata instead of declaring
them as the version argument or in a SCM managed file.")
(license license:expat)))
(define-public python-sexpdata
(package
(name "python-sexpdata")
@ -8298,25 +8349,24 @@ cluster down and deletes the throwaway profile.")
(define-public python-ipython-sql
(package
(name "python-ipython-sql")
(version "0.4.0")
(version "0.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ipython-sql" version))
(sha256
(base32 "0v74ayc6vw98f4jljmwy45qpqbcbhlrb4g1qdyypq9sppxcqx21y"))))
(base32 "1r6rz8jgrqzhkf2flwjw75d96g8l7kykmx5wli3q1988w96391ip"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-build
(lambda _
;; The "NEWS.rst" file is missing from the PyPI distribution.
;; (see: https://github.com/catherinedevlin/ipython-sql/issues/164)
(substitute* "setup.py"
(("NEWS = [^\n]*") "")
(("long_description=README \\+ '\\\\n\\\\n' \\+ NEWS,")
"long_description=README,")))))))
(list #:tests? #f ;must run under IPython
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'permit-newer-prettytable
;; See https://github.com/catherinedevlin/ipython-sql/issues/202
(lambda _
(substitute* "setup.py"
(("prettytable<1")
"prettytable")))))))
(propagated-inputs
(list python-ipython
python-ipython-genutils
@ -9956,7 +10006,25 @@ applications.")
(method url-fetch)
(uri (pypi-uri "pyzmq" version))
(sha256
(base32 "0737kizh53n4rjq1xbm6nhr0bq65xflg04i1d8fcky0nwwrw1pcf"))))
(base32 "0737kizh53n4rjq1xbm6nhr0bq65xflg04i1d8fcky0nwwrw1pcf"))
(snippet
#~(begin
(use-modules (guix build utils))
;; The bundled zeromq source code.
(delete-file-recursively "bundled")
;; Delete cythonized files.
(for-each delete-file
(list "zmq/backend/cython/constants.c"
"zmq/backend/cython/context.c"
"zmq/backend/cython/_device.c"
"zmq/backend/cython/error.c"
"zmq/backend/cython/message.c"
"zmq/backend/cython/_poll.c"
"zmq/backend/cython/_proxy_steerable.c"
"zmq/backend/cython/socket.c"
"zmq/backend/cython/utils.c"
"zmq/backend/cython/_version.c"
"zmq/devices/monitoredqueue.c"))))))
(build-system python-build-system)
(arguments
`(#:configure-flags
@ -11454,14 +11522,15 @@ distribution. It is not intended as an end-user tool.")
(define-public python-immutables
(package
(name "python-immutables")
(version "0.14")
(version "0.18")
(source
(origin
(method url-fetch)
(uri (pypi-uri "immutables" version))
(sha256
(base32 "0y0aqw29g525frdnmv9paljzacpp4s21sadfbca5b137iciwr8d0"))))
(base32 "1x4cinh0xbl6p6p2yfm2s07mxxy3lf0zzai9gqpydk4482bwfdjk"))))
(build-system python-build-system)
(native-inputs (list python-mypy python-pytest))
(home-page "https://github.com/MagicStack/immutables")
(synopsis "High-performance immutable mapping type for Python")
(description
@ -11473,16 +11542,28 @@ functional languages.")
(define-public python-prettytable
(package
(name "python-prettytable")
(version "0.7.2")
(version "3.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "prettytable" version ".tar.bz2"))
(uri (pypi-uri "prettytable" version))
(sha256
(base32
"0diwsicwmiq2cpzpxri7cyl5fmsvicafw6nfqf6p6p322dji2g45"))))
"1c599w31i2ndzbkn85xwsgv9sd2j16r56dl922w4jh3rs97vb3hi"))))
(build-system python-build-system)
(home-page "https://code.google.com/archive/p/prettytable/")
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
(native-inputs
(list python-pytest
python-pytest-lazy-fixture
python-setuptools-scm))
(propagated-inputs (list python-wcwidth))
(home-page "https://github.com/jazzband/prettytable")
(synopsis "Display tabular data in an ASCII table format")
(description
"A library designed to represent tabular data in visually appealing ASCII
@ -13063,7 +13144,7 @@ time.")
texlive-zapfding))))
(home-page "https://jupyter.org")
(synopsis "Converting Jupyter Notebooks")
(description "The @code{nbconvert} tool, @{jupyter nbconvert}, converts
(description "The @code{nbconvert} tool, @code{jupyter nbconvert}, converts
notebooks to various other formats via Jinja templates. It allows you to
convert an @code{.ipynb} notebook file into various static formats including:
@ -16133,7 +16214,7 @@ focus on event-based network programming and multiprotocol integration.")
(define-public python-pika
(package
(name "python-pika")
(version "1.2.0")
(version "1.2.1")
(source
(origin
(method git-fetch)
@ -16143,27 +16224,29 @@ focus on event-based network programming and multiprotocol integration.")
(file-name (git-file-name name version))
(sha256
(base32
"0cm45xydk2jigydwszwik89qlbk6l3l18sxhzppzqmxw2rdkm22s"))))
"0sqj3bg6jwign8vwvn337fbwy69sm684ns1vh5kbfnskq4him9i2"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-before 'check 'disable-live-tests
(add-after 'unpack 'disable-live-tests
(lambda _
;; Disable tests that require RabbitMQ, which is not
;; yet available in Guix.
(substitute* "setup.cfg"
(("tests/unit,tests/acceptance")
"tests/unit"))
(substitute* "nose2.cfg"
(("tests=tests/unit,tests/acceptance")
"start-dir=tests/unit"))
(with-directory-excursion "tests"
(for-each delete-file
'("unit/base_connection_tests.py"
"unit/threaded_test_wrapper_test.py")))))
(replace 'check
(lambda _
(invoke "nosetests"))))))
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "PYTHONPATH" (getcwd))
(invoke "nose2" "-v")))))))
(native-inputs
(list python-mock
python-nose
python-nose2
;; These are optional at runtime, and provided here for tests.
python-gevent
python-tornado
@ -16493,6 +16576,73 @@ smaller. Small integers are encoded into a single byte, and typical short
strings require only one extra byte in addition to the strings themselves.")
(license license:asl2.0)))
(define-public python-cattrs
(package
(name "python-cattrs")
(version "22.1.0")
(source (origin
(method git-fetch) ;for tests
(uri (git-reference
(url "https://github.com/python-attrs/cattrs")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1n0h25gj6zd02kqyl040xpdvg4hpy1j92716sz0rg019xjqqijqb"))))
(build-system python-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
;; XXX: PEP 517 manual build copied from python-isort.
(add-after 'unpack 'adjust-for-older-attrs
;; Our older attrs package is using the 'attr' rather than 'attrs'
;; namespace.
;; TODO: Remove after python-attrs is updated to >= 21.4.0.
(lambda _
(substitute* (find-files "." "\\.py$")
(("from attrs\\b")
"from attr"))))
(replace 'build
(lambda _
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'install
(lambda _
(let ((whl (car (find-files "dist" "\\.whl$"))))
(invoke "pip" "--no-cache-dir" "--no-input"
"install" "--no-deps" "--prefix" #$output whl))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Do not use the 'pytest' binary as it hard-codes an older
;; python-hypothesis version near the beginning of its
;; GUIX_PYTHONPATH.
(invoke "python" "-m" "pytest" "-vv" "-c" "/dev/null" "tests"
"-n" (number->string (parallel-job-count))
;; This test requires orjson, which needs the maturin
;; build system and new Rust dependencies.
"--ignore" "tests/test_preconf.py")))))))
(native-inputs
(list python-hypothesis-next
python-immutables
python-msgpack
python-poetry-core
python-pymongo ;for the bson module
python-pypa-build
python-pytest
python-pytest-xdist))
(propagated-inputs
(list python-attrs
python-exceptiongroup
python-typing-extensions))
(home-page "https://github.com/python-attrs/cattrs")
(synopsis "Python library for structuring and unstructuring data")
(description "@code{cattrs} is an Python library for structuring and
unstructuring data. @code{cattrs} works best with @code{attrs} classes,
@code{dataclasses} and the usual Python collections, but other kinds of
classes can also be supported by manually registering converters.")
(license license:expat)))
(define-public python-cachy
(package
(name "python-cachy")
@ -17003,17 +17153,31 @@ scans through a file and detects issues.")
(file-name (git-file-name name version))
(sha256
(base32
"07drmi3ai49jw5n23ibkambcgijqcw073ihypjgxfnks5lv4yqy1"))))
"07drmi3ai49jw5n23ibkambcgijqcw073ihypjgxfnks5lv4yqy1"))
(modules '((guix build utils)))
(snippet
;; Adjust comprehension syntax for Python > 3.8.
;; From <https://github.com/davidhalter/jedi/issues/1824>.
'(substitute* "test/completion/lambdas.py"
(("if lambda: 3")
"if (lambda: 3)")))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-completion-test
(lambda _
;; This resolves a failure in the 'test_completion' test (see:
;; https://github.com/davidhalter/jedi/issues/1824).
;; TODO: Remove after a new release is made (currently: 0.18.1).
(substitute* "test/completion/lambdas.py"
(("\\[a for a in \\[1,2\\] if lambda: 3\\]\\[0\\]")
"[a for a in [1,2] if (lambda: 3)][0]"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
(invoke "python" "-m" "pytest" "-vv"))
#t)))))
(invoke "python" "-m" "pytest" "-vv")))))))
(native-inputs
(list python-colorama python-docopt python-pytest))
(propagated-inputs
@ -17458,6 +17622,50 @@ multitouch applications.")
Design spec without sacrificing ease of use or application performance.")
(license license:expat)))
(define-public python-asynckivy
(package
(name "python-asynckivy")
(version "0.5.3")
(source
(origin
(method url-fetch)
(uri
(pypi-uri "asynckivy" version))
(sha256
(base32 "0ivjvch8yn3k1ybfp7c1nm8mhc0ymg7d04mq54lly7yjvg0jvcni"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'set-home
(lambda _
;; 'kivy/__init__.py' wants to create $HOME/.kivy.
(setenv "HOME" (getcwd)))))))
(propagated-inputs (list python-kivy python-asyncgui))
(home-page "https://github.com/gottadiveintopython/asynckivy")
(synopsis "Async library for Kivy")
(description
"This package provides async versions of Kivy functions to avoid the
callback-heavy mode of interaction typical in some Kivy applications.")
(license license:expat)))
(define-public python-asyncgui
(package
(name "python-asyncgui")
(version "0.5.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "asyncgui" version))
(sha256
(base32
"0614130afg2qc1qq4p82piskvvx6lpjl4nlsakbjzdyd78xywnb7"))))
(build-system python-build-system)
(home-page "https://github.com/gottadiveintopython/asyncgui")
(synopsis "Enables async/await without an event loop")
(description "This package provides support for async/await applications
without requiring an event loop, useful for creative responsive GUIs.")
(license license:expat)))
(define-public python-binaryornot
(package
(name "python-binaryornot")
@ -17591,13 +17799,13 @@ JSON) codec.")
(define-public python-pymongo
(package
(name "python-pymongo")
(version "3.7.2")
(version "4.1.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "pymongo" version))
(sha256
(base32
"0zis4707r9hdg5qgkhp3wss9camr9h56ixyfc8n9dxwlnnly4x4c"))))
"1m9hc2a4kgg10xy3g5x00z4a7rrk9s0rbf5qfypwnhq0kdfg5f6p"))))
(build-system python-build-system)
(propagated-inputs
(list python-certifi))
@ -21383,20 +21591,23 @@ time-based (TOTP) passwords.")
(define-public python-parso
(package
(name "python-parso")
(version "0.8.2")
(version "0.8.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "parso" version))
(sha256
(base32 "161k8771m7w60qakyvrwf9q62lvakmix7mpfylpy7713qs939f0j"))))
(base32 "185gkxq92kqiw2h5zp1cmyn04055x0lix4hmi5c077xm1clvw1wc"))))
(native-inputs
(list python-pytest))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'check
(lambda _ (invoke "pytest" "-vv"))))))
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
(home-page "https://github.com/davidhalter/parso")
(synopsis "Python Parser")
(description "Parso is a Python parser that supports error recovery and
@ -25151,23 +25362,30 @@ choose to use Base64 without the “=” padding.")
(license license:asl2.0)))
(define-public python-py-cpuinfo
(package
(name "python-py-cpuinfo")
(version "5.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "py-cpuinfo" version))
(sha256
(base32
"0045y6832gqjg63jmw0qj2jwyypgjwr7sfdq3lfv49b6fxpl5xic"))))
(build-system python-build-system)
(home-page "https://github.com/workhorsy/py-cpuinfo")
(synopsis "Get CPU info with Python")
(description
"This Python module returns the CPU info by using the best sources of
;; This is the first commit where riscv64-linux support is available.
;; We can move back to pypi releases with the next release.
(let ((commit "4d6987e5c30f2ebacb20781892c01329042cce60")
(revision "1"))
(package
(name "python-py-cpuinfo")
(version (git-version "8.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/workhorsy/py-cpuinfo")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0h5wi1bfcqqr1x3j1pa7dmkx7siprsyksbsy80fl2sdrrgpji0b0"))))
(build-system python-build-system)
(home-page "https://github.com/workhorsy/py-cpuinfo")
(synopsis "Get CPU info with Python")
(description
"This Python module returns the CPU info by using the best sources of
information for your operating system.")
(license license:expat)))
(license license:expat))))
(define-public python-canonicaljson
(package

View file

@ -132,6 +132,42 @@
useful in modems implemented with @dfn{digital signal processing} (DSP).")
(license license:lgpl2.1))))
(define-public libcorrect
(let ((commit "f5a28c74fba7a99736fe49d3a5243eca29517ae9")
(revision "1"))
(package
(name "libcorrect")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/quiet/libcorrect")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0qc9k8x51k2xfvp6cx8vdiyb3g6fl1y657z4m201aw2m06hs1hzg"))))
(build-system cmake-build-system)
(arguments
(list
#:test-target "check"
#:phases
#~(modify-phases %standard-phases
(add-after 'build 'build-libfec-compatibility-layer
(lambda _
(invoke "make" "shim")))
(add-after 'install 'delete-static-libraries
(lambda _
(delete-file (string-append #$output "/lib/libcorrect.a"))
(delete-file (string-append #$output "/lib/libfec.a")))))))
(home-page "https://github.com/quiet/libcorrect")
(synopsis "Forward error correction library")
(description
"This library provides convolutional and Reed-Solomon codes for forward
error correction. It also includes a compatibility layer so that it can be
used as a drop-in substitute for @code{libfec}.")
(license license:bsd-3))))
(define-public liquid-dsp
(package
(name "liquid-dsp")

View file

@ -12666,3 +12666,100 @@ into Money objects.")
(description "This package provides a gem that calculates the exchange rate
using published rates from open-exchange-rates. Compatible with the money gem.")
(license license:expat)))
(define-public ruby-roda
(package
(name "ruby-roda")
(version "3.57.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "roda" version))
(sha256
(base32 "0nkfxnbcfnriywvx9kpamp850cwjmqv8ssajc95d0aiyjr4kdrfy"))))
(build-system ruby-build-system)
(arguments
;; No rakefile
`(#:tests? #f))
(propagated-inputs (list ruby-rack))
(home-page "http://roda.jeremyevans.net")
(synopsis "Routing Tree Web Toolkit")
(description "Roda is a routing tree web toolkit, designed for building fast
and maintainable web applications in ruby.")
(license license:expat)))
(define-public ruby-nori
(package
(name "ruby-nori")
(version "2.6.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "nori" version))
(sha256
(base32 "066wc774a2zp4vrq3k7k8p0fhv30ymqmxma1jj7yg5735zls8agn"))))
(build-system ruby-build-system)
(arguments
;; Tests require too old version of rspec
`(#:tests? #f))
(native-inputs
(list ruby-nokogiri
ruby-rake
ruby-rspec))
(home-page "https://github.com/savonrb/nori")
(synopsis "XML to Hash translator")
(description "Nori is a simple XML parsing ripped from Crack which in-turn
ripped from Merb. It supports pluggable parsers and ships with both REXML and
Nokogiri implementations.")
(license license:expat)))
(define-public ruby-faraday-middleware
(package
(name "ruby-faraday-middleware")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "faraday_middleware" version))
(sha256
(base32 "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy"))))
(build-system ruby-build-system)
(arguments
;; No rakefile
`(#:tests? #f))
(propagated-inputs
(list ruby-faraday))
(home-page "https://github.com/lostisland/faraday_middleware")
(synopsis "Various middleware for Faraday")
(description "Faraday_Middleware is a collection of middleware for the
Faraday-based API wrappers.")
(license license:expat)))
(define-public ruby-bandwidth-iris
(package
(name "ruby-bandwidth-iris")
(version "5.1.0")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "ruby-bandwidth-iris" version))
(sha256
(base32 "1hmrxs0dif6fw5npyzcshk4nq9qr2kbmnx7mdjr5v1nhzlfr0678"))))
(build-system ruby-build-system)
(arguments
;; XXX: Tests don't require helper for some reason, so all fail.
`(#:tests? #f))
(native-inputs
(list ruby-rspec
ruby-yard))
(propagated-inputs
(list ruby-activesupport
ruby-builder
ruby-faraday
ruby-faraday-middleware
ruby-nori))
(home-page "https://github.com/Bandwidth/ruby-bandwidth-iris")
(synopsis "Gem for integrating to Bandwidth's Iris API")
(description "Bandwidth IRIS is a Ruby SDK for Bandwidth Phone Number
Dashboard. It is a Ruby Client library for IRIS / BBS API.")
(license license:expat)))

View file

@ -10,6 +10,8 @@
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32,7 +34,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
@ -116,7 +118,7 @@ mounting and managing @acronym{CIFS, Common Internet File System} shares using
the Linux kernel CIFS client.")
(home-page "https://wiki.samba.org/index.php/LinuxCIFS_utils")
;; cifs-utils is licensed as GPL3 or later, but 3 files contain LGPL code.
(license gpl3+)))
(license license:gpl3+)))
(define-public iniparser
(package
@ -178,7 +180,7 @@ are easy to read, write, and modify.
The library is small, thread safe, and written in portable ANSI C with no
external dependencies.")
(license x11)))
(license license:x11)))
(define-public samba
(package
@ -282,7 +284,7 @@ DOS and Windows, OS/2, GNU/Linux and many others.
Samba is an important component to seamlessly integrate Linux/Unix Servers and
Desktops into Active Directory environments using the winbind daemon.")
(license gpl3+)))
(license license:gpl3+)))
(define-public samba/fixed
;; Version that rarely changes, depended on by libsoup.
@ -329,7 +331,7 @@ Desktops into Active Directory environments using the winbind daemon.")
(description
"Talloc is a hierarchical, reference counted memory pool system with
destructors. It is the core memory allocator used in Samba.")
(license gpl3+))) ;; The bundled "replace" library uses LGPL3.
(license license:gpl3+))) ;; The bundled "replace" library uses LGPL3.
(define-public talloc/static
(package
@ -396,7 +398,7 @@ destructors. It is the core memory allocator used in Samba.")
"Tevent is an event system based on the talloc memory management library.
It is the core event system used in Samba. The low level tevent has support for
many event types, including timers, signals, and the classic file descriptor events.")
(license lgpl3+)))
(license license:lgpl3+)))
(define-public ldb
(package
@ -452,7 +454,7 @@ many event types, including timers, signals, and the classic file descriptor eve
is provide a fast database with an LDAP-like API designed to be used within an
application. In some ways it can be seen as a intermediate solution between
key-value pair databases and a real LDAP database.")
(license lgpl3+)))
(license license:lgpl3+)))
(define-public ppp
(package
@ -461,7 +463,7 @@ key-value pair databases and a real LDAP database.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/paulusmack/ppp")
(url "https://github.com/ppp-project/ppp")
(commit version)))
(file-name (git-file-name name version))
(sha256
@ -469,26 +471,24 @@ key-value pair databases and a real LDAP database.")
"1bhhksdclsnkw54a517ndrw55q5zljjbh9pcqz1z4a2z2flxpsgk"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target
#:make-flags '("CC=gcc")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-Makefile
(lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc"))
(openssl (assoc-ref inputs "openssl"))
(libpcap (assoc-ref inputs "libpcap")))
(substitute* "pppd/Makefile.linux"
(("/usr/include/crypt\\.h")
(string-append libc "/include/crypt.h"))
(("/usr/include/openssl")
(string-append openssl "/include/openssl"))
(("/usr/include/pcap-bpf.h")
(string-append libpcap "/include/pcap-bpf.h")))
#t))))))
(list #:tests? #f ;; No "check" target
#:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'patch-Makefile
(lambda* (#:key inputs #:allow-other-keys)
(let ((openssl (assoc-ref inputs "openssl"))
(libpcap (assoc-ref inputs "libpcap")))
(substitute* "pppd/Makefile.linux"
(("/usr/include/openssl")
(string-append openssl "/include"))
(("-DPPP_FILTER")
(string-append "-DPPP_FILTER -I" libpcap "/include")))
(substitute* "pppd/pppcrypt.h"
(("des\\.h") "openssl/des.h")))
#t)))))
(inputs
(list libpcap
(@ (gnu packages tls) openssl)))
(list libpcap openssl))
(synopsis "Implementation of the Point-to-Point Protocol")
(home-page "https://ppp.samba.org/")
(description
@ -498,5 +498,7 @@ and IPV6 and the protocols layered above them, such as TCP and UDP.")
;; pppd, pppstats and pppdump are under BSD-style notices.
;; some of the pppd plugins are GPL'd.
;; chat is public domain.
(license (list bsd-3 bsd-4 gpl2+ public-domain))))
(license (list license:bsd-3
license:bsd-4
license:gpl2+
license:public-domain))))

View file

@ -10,6 +10,7 @@
;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2021, 2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,8 +28,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages search)
#:use-module ((guix licenses)
#:select (gpl2 gpl2+ gpl3+ agpl3+ lgpl2.1+ bsd-3 x11 perl-license))
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
@ -73,14 +73,14 @@
(define-public xapian
(package
(name "xapian")
(version "1.4.18")
(version "1.4.19")
;; Note: When updating Xapian, remember to update xapian-bindings below.
(source (origin
(method url-fetch)
(uri (string-append "https://oligarchy.co.uk/xapian/" version
"/xapian-core-" version ".tar.xz"))
(sha256
(base32 "0xsb4ihf3p767f0zx9p4janwni6r9sg5j6lry0002i8hmnsdnv8r"))))
(base32 "1hx92kbqdl38gsrwzvbqgf2jc4wwzsad2gd99g62cdfclvy4ijhz"))))
(build-system gnu-build-system)
(inputs (list zlib
`(,util-linux "lib")))
@ -106,7 +106,7 @@ add advanced indexing and search facilities to their own applications. It
supports the Probabilistic Information Retrieval model and also supports a
rich set of boolean query operators.")
(home-page "https://xapian.org/")
(license (list gpl2+ bsd-3 x11))))
(license (list license:gpl2+ license:bsd-3 license:x11))))
(define-public python-xapian-bindings
(package (inherit xapian)
@ -118,7 +118,7 @@ rich set of boolean query operators.")
"/xapian-bindings-" version ".tar.xz"))
(sha256
(base32
"13ziql8027glgihgvnbsa75vkcn82g83mbihj60zf0njj170clpy"))))
"0gc8l9cn8jdma0p73jl14z17yizp6dax5zsycvgprajii6j8bhwi"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-python3")
@ -133,7 +133,7 @@ rich set of boolean query operators.")
(inputs
(list python xapian zlib))
(synopsis "Python bindings for the Xapian search engine library")
(license gpl2+)))
(license license:gpl2+)))
(define-public perl-search-xapian
(package
@ -157,7 +157,7 @@ rich set of boolean query operators.")
"Search::Xapian wraps most methods of most Xapian classes. The missing
classes and methods should be added in the future. It also provides a
simplified, more 'perlish' interface to some common operations.")
(license perl-license)))
(license license:perl-license)))
(define-public libtocc
(package
@ -201,7 +201,7 @@ simplified, more 'perlish' interface to some common operations.")
system. The goal of Tocc is to provide a better system for classifying files
that is more flexible than classic file systems that are based on a tree of
files and directories.")
(license gpl3+)))
(license license:gpl3+)))
(define-public tocc
(package
@ -222,7 +222,7 @@ files and directories.")
(description
"Tocc is a tag-based file management system. This package contains the
command line tool for interacting with libtocc.")
(license gpl3+)))
(license license:gpl3+)))
(define-public searx
(package
@ -269,7 +269,7 @@ command line tool for interacting with libtocc.")
(home-page "https://searx.github.io/searx/")
(synopsis "Privacy-respecting metasearch engine")
(description "Searx is a privacy-respecting, hackable metasearch engine.")
(license agpl3+)))
(license license:agpl3+)))
(define-public bool
(package
@ -294,7 +294,7 @@ statements, as well as the NEAR statement to search for the occurrence of
words in close proximity to each other. It handles context gracefully,
accounting for new lines and paragraph changes. It also has robust support
for parsing HTML files.")
(license gpl3+)))
(license license:gpl3+)))
(define-public fsearch
(package
@ -325,7 +325,7 @@ for parsing HTML files.")
(description
"FSearch is a fast file search utility, inspired by Everything
Search Engine. It is written in C and based on GTK3.")
(license gpl2+)))
(license license:gpl2+)))
(define-public recoll
(package
@ -421,7 +421,7 @@ their file names. It can search most document formats, but you may need
external applications for text extraction. It can reach any storage place:
files, archive members, email attachments, transparently handling
decompression.")
(license gpl2+)))
(license license:gpl2+)))
(define-public hyperestraier
(package
@ -447,7 +447,7 @@ decompression.")
(description "Hyper Estraier can be used to integrate full-text
search into applications, using either the provided command line and CGI
interfaces, or a C API.")
(license lgpl2.1+)))
(license license:lgpl2.1+)))
(define-public mlocate
(package
@ -470,7 +470,7 @@ most of the file system, which makes it faster and does not trash the system
caches as much. The locate(1) utility is intended to be completely compatible
with slocate, and attempts to be compatible to GNU locate when it does not
conflict with slocate compatibility.")
(license gpl2)))
(license license:gpl2)))
(define-public plocate
(package
@ -508,7 +508,7 @@ conflict with slocate compatibility.")
(description "Plocate is a @code{locate} based on posting lists,
completely replacing @command{mlocate} with a faster and smaller index. It is
suitable as a default locate on your system.")
(license gpl2)))
(license license:gpl2)))
(define-public swish-e
(package
@ -569,7 +569,7 @@ suitable as a default locate on your system.")
"Swish-e is Simple Web Indexing System for Humans - Enhanced. Swish-e
can quickly and easily index directories of files or remote web sites and
search the generated indexes.")
(license gpl2+))) ;with exception
(license license:gpl2+))) ; with exception
(define-public xapers
(package
@ -637,7 +637,7 @@ geared towards academic journal articles build on the Xapian search engine.
Think of it as your own personal document search engine, or a local cache of
online libraries. It provides fast search of document text and
bibliographic data and simple document and bibtex retrieval.")
(license gpl3+)))
(license license:gpl3+)))
(define-public ugrep
(package
@ -692,6 +692,6 @@ multi-threaded and other techniques to speed up search, pattern-matching and
decompression. Many pre-defined regexps ease searching e.g. C typdefs or XML
attributes. Results can be output in several structured or self-defined
formats.")
(license bsd-3)))
(license license:bsd-3)))
;;; search.scm ends here

View file

@ -14,6 +14,7 @@
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2021 Wiktor Żelazny <wzelazny@vurv.cz>
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -368,7 +369,7 @@ are already there.")
(define-public direnv
(package
(name "direnv")
(version "2.31.0")
(version "2.32.1")
(source
(origin (method git-fetch)
(uri (git-reference
@ -377,7 +378,7 @@ are already there.")
(file-name (git-file-name name version))
(sha256
(base32
"1c52izjzkdhmyrfx1gmbp34n0qpxyxw0s94f0vy3ldlg8xr36wmk"))))
"1i473j7j4sx8p83zqlnakskqk0jyd3byajp7jmv2gym9s4k841y7"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/direnv/direnv"

View file

@ -468,6 +468,8 @@ builder does not support SVG images natively (e.g. LaTeX).")
(arguments
;; FIXME: Tests depend on Sphinx, which depends on this.
`(#:tests? #f))
(propagated-inputs
(list python-sphinxcontrib-serializinghtml))
(home-page "https://sphinx-doc.org/")
(synopsis "Sphinx API for web applications")
(description
@ -717,14 +719,14 @@ and several other projects.")
(define-public python-breathe
(package
(name "python-breathe")
(version "4.30.0")
(version "4.34.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "breathe" version))
(sha256
(base32
"055h95fkdld7s49878fqjx1nri1drj1czc184vrb7i60mf2yqg9n"))))
"18fvphs1cb2cns9q82195fx7lmlwfikzwa10cczavpaax2jnh1xc"))))
(build-system python-build-system)
(propagated-inputs
(list python-docutils python-sphinx))
@ -817,7 +819,7 @@ enabled web server.")
(define-public python-sphinx-autodoc-typehints
(package
(name "python-sphinx-autodoc-typehints")
(version "1.18.1")
(version "1.18.3")
(source
(origin
(method git-fetch) ;no tests in pypi archive
@ -827,7 +829,7 @@ enabled web server.")
(file-name (git-file-name name version))
(sha256
(base32
"16yhpwfdmybir80a6892cnr98m58p19rklmjdlzhk3njx7di8jzp"))))
"049dlay21f4bccig31fkbzq2m8v0h6g63p1cn3dxay9q3h0mzgs0"))))
(build-system python-build-system)
(arguments
(list

View file

@ -39,6 +39,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
#:use-module (gnu packages mpd)
@ -519,31 +520,33 @@ point surf to another URI by setting its XProperties.")
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)) ; no configuration
#:tests? #f ; no test suite
(delete 'configure) ;no configuration
(add-before 'build 'patch-farbfeld
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "config.def.h"
(("2ff") (search-input-file inputs "/bin/2ff"))))))
#:tests? #f ;no test suite
#:make-flags
(let ((pkg-config (lambda (flag)
(string-append
"$(shell pkg-config " flag " "
"xft fontconfig x11 libpng)"))))
(list (string-append "CC=" ,(cc-for-target))
(string-append "$(shell pkg-config " flag " "
"xft fontconfig x11 libpng)"))))
(list (string-append "CC="
,(cc-for-target))
(string-append "PREFIX=" %output)
(string-append "INCS=-I. " (pkg-config "--cflags"))
(string-append "LIBS=" (pkg-config "--libs") " -lm")))))
(native-inputs
(list pkg-config))
(inputs
`(("libpng" ,libpng)
("libx11" ,libx11)
("libxft" ,libxft)
("fontconfig" ,fontconfig)))
(string-append "INCS=-I. "
(pkg-config "--cflags"))
(string-append "LIBS="
(pkg-config "--libs") " -lm")))))
(native-inputs (list pkg-config))
(inputs (list farbfeld libpng libx11 libxft fontconfig))
(synopsis "Plain-text presentation tool")
(description "Sent uses plain-text files and PNG images to create slideshow
(description
"Sent uses plain-text files and PNG images to create slideshow
presentations. Each paragraph represents a slide in the presentation.
Especially for presentations using the Takahashi method this is very nice and
allows you to write down the presentation for a quick lightning talk within a
few minutes.")
(home-page "https://tools.suckless.org/sent")
(home-page "https://tools.suckless.org/sent/")
(license license:x11)))
(define-public wmname
@ -1049,7 +1052,7 @@ support.")
(define-public sfeed
(package
(name "sfeed")
(version "1.1")
(version "1.5")
(source
(origin
(method git-fetch)
@ -1059,7 +1062,7 @@ support.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1b0l6f9aymk54ncc2kxavhg4flcqv7d4mpkpw8ljx7mzg0g4ygyk"))))
(base32 "1w3xk00nv502q2nr23y1sig7bkqa7f431f4fcaybfcfk7dbv2piq"))))
(build-system gnu-build-system)
(arguments
(list
@ -1084,3 +1087,43 @@ There are formatting programs included to convert this TAB-separated format to
various other formats. There are also some programs and scripts included to
import and export OPML and to fetch, filter, merge and order feed items.")
(license license:isc)))
(define-public farbfeld
(let ((commit "ab5e3dfc9cdb476218538c6687df9f44826d8f11") (revision "0"))
(package
(name "farbfeld")
(version (git-version "4" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.suckless.org/farbfeld")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0pkmkvv5ggpzqwqdchd19442x8gh152xy5z1z13ipfznhspsf870"))))
(build-system gnu-build-system)
(inputs (list libpng libjpeg-turbo imagemagick))
(arguments
(list #:tests?
#f ;no check target
#:make-flags
#~(list (string-append "PREFIX="
#$output)
(string-append "CC="
#$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'patch-2ff
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "2ff"
(("png2ff") (string-append #$output "/bin/png2ff"))
(("jpg2ff") (string-append #$output "/bin/jpg2ff"))
(("convert") (search-input-file inputs "/bin/convert")))))
(delete 'configure))))
(synopsis "Image format and conversion tools")
(description
"farbfeld is a lossless image format which is easy to parse,
pipe and compress.")
(home-page "https://git.suckless.org/farbfeld/")
(license license:isc))))

View file

@ -37,6 +37,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)

View file

@ -56,6 +56,7 @@
#:use-module (gnu packages code)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
@ -1215,3 +1216,53 @@ can be embedded in any application
This package includes the @code{libtree-sitter} runtime library.
")
(license license:expat)))
(define-public mle
(package
(name "mle")
(version "1.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/adsr/mle")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1nhd00lsx9v12zdmps92magz76c2d8zzln3lxvzl4ng73gbvq3n0"))))
(build-system gnu-build-system)
(inputs (list lua pcre uthash))
(arguments
`(#:test-target "test"
#:phases (modify-phases %standard-phases
(add-after 'unpack 'fix-lua
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "mle.h"
(("<lua5.4/") "<"))
(substitute* "Makefile"
(("-llua5.4") "-llua")
(("/bin/sh") (which "sh")))))
(add-after 'unpack 'patch-test-shebangs
(lambda _
(substitute* (find-files "tests/func" "\\.sh$")
(("/usr/bin/env bash") (which "bash")))))
(delete 'configure) ;no configure script
(add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(man (string-append out
"/share/man/man1")))
(install-file "mle.1"
(string-append man))))))
#:make-flags (list (string-append "CC="
,(cc-for-target))
(string-append "prefix=" %output))))
(home-page "https://github.com/adsr/mle")
(synopsis "Small, flexible, terminal-based text editor")
(description
"mle is a small, flexible, terminal-based text editor written in C.
Notable features include: full Unicode support, syntax highlighting,
scriptable rc file, macros, search and replace (PCRE), window
splitting, multiple cursors, and integration with various shell
commands.")
(license license:asl2.0)))

View file

@ -43,6 +43,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages terminals)
#:use-module (gnu packages textutils)

View file

@ -351,6 +351,7 @@ OpenSSL for TARGET."
(package
(name "openssl")
(version "1.1.1n")
(replacement openssl/fixed)
(source (origin
(method url-fetch)
(uri (list (string-append "https://www.openssl.org/source/openssl-"
@ -473,10 +474,29 @@ OpenSSL for TARGET."
(license license:openssl)
(home-page "https://www.openssl.org/")))
(define openssl/fixed
(package
(inherit openssl)
(name "openssl")
(version "1.1.1p")
(source (origin
(method url-fetch)
(uri (list (string-append "https://www.openssl.org/source/openssl-"
version ".tar.gz")
(string-append "ftp://ftp.openssl.org/source/"
"openssl-" version ".tar.gz")
(string-append "ftp://ftp.openssl.org/source/old/"
(string-trim-right version char-set:letter)
"/openssl-" version ".tar.gz")))
(patches (search-patches "openssl-1.1-c-rehash-in.patch"))
(sha256
(base32
"0vyfibydji26wk1fmm0piz0810mfr7j4vaa2k5iwgiv6m8mbcqdz"))))))
(define-public openssl-3.0
(package
(inherit openssl)
(version "3.0.3")
(version "3.0.4")
(source (origin
(method url-fetch)
(uri (list (string-append "https://www.openssl.org/source/openssl-"
@ -489,7 +509,7 @@ OpenSSL for TARGET."
(patches (search-patches "openssl-3.0-c-rehash-in.patch"))
(sha256
(base32
"02wcan5izwsxg6vl5fzkqq4icwi7cp4hrj327h05zppirsnph07f"))))
"03y0q2pzpkpgfgf74x4pf8gyar9d7pb0l0p7g2s0m2k6k8z88c98"))))
(arguments
(substitute-keyword-arguments (package-arguments openssl)
((#:phases phases '%standard-phases)

View file

@ -2467,7 +2467,7 @@ YouTube.com and many more sites.")
(define-public yt-dlp
(package/inherit youtube-dl
(name "yt-dlp")
(version "2022.05.18")
(version "2022.06.22.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/yt-dlp/yt-dlp/"
@ -2475,7 +2475,7 @@ YouTube.com and many more sites.")
version "/yt-dlp.tar.gz"))
(sha256
(base32
"0wiiwqj8m4z6lladmrsp9354ddwlhn2gf0b39j271001g6fyi82r"))
"1nr6g3dhvjc10jzhyvgjrrxqhsgi3hiw8bswp8bi6bscimd9vhps"))
(snippet
'(begin
;; Delete the pre-generated files, except for the man page

View file

@ -18,7 +18,7 @@
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021, 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Dion Mendel <guix@dm9.info>
;;; Copyright © 2021 Andrew Whatson <whatson@gmail.com>
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
@ -1166,7 +1166,7 @@ It started as a side project of LXC but can be used by any run-time.")
(define-public lxd
(package
(name "lxd")
(version "4.22")
(version "4.24")
(source (origin
(method url-fetch)
(uri (string-append
@ -1174,7 +1174,7 @@ It started as a side project of LXC but can be used by any run-time.")
"lxd-" version "/lxd-" version ".tar.gz"))
(sha256
(base32
"119345936fcm1vv06k82k9hvj5yjf9jdrwqm9ccphhl5mswf8xq9"))))
"0lmjmvm98m6yjxcqlfw690i71nazfzgrm3mzbjj77g1631df3ylp"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/lxc/lxd"
@ -1817,7 +1817,7 @@ main monitor/GPU.")
(define-public runc
(package
(name "runc")
(version "1.0.0-rc93")
(version "1.1.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -1826,7 +1826,7 @@ main monitor/GPU.")
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
"0b90r1bkvlqli53ca1yc1l488dba0isd3i6l7nlhszxi8p7hzvkh"))))
"0jx56x49dgkygdbrfb3pmxycy1n37arj97jra8n422dj36xz1hbm"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/opencontainers/runc"
@ -1851,8 +1851,7 @@ main monitor/GPU.")
(invoke "make" "install" "install-bash" "install-man"
(string-append "PREFIX=" out)))))))))
(native-inputs
`(("go-md2man" ,go-github-com-go-md2man)
("pkg-config" ,pkg-config)))
(list go-github-com-go-md2man pkg-config))
(inputs
(list libseccomp))
(synopsis "Open container initiative runtime")

View file

@ -37,7 +37,7 @@
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;; Copyright © 2020 EuAndreh <eu@euandre.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020 Niklas Eklund <niklas.eklund@posteo.net>
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
@ -55,6 +55,7 @@
;;; Copyright © 2022 Pier-Hugues Pellerin <ph@heykimo.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022 Elais Player <elais@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -130,6 +131,7 @@
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
@ -1469,19 +1471,29 @@ its size
(define-public polybar
(package
(name "polybar")
(version "3.5.7")
(version "3.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/polybar/polybar/releases/"
"download/" version "/polybar-" version ".tar.gz"))
(sha256
(base32 "1nr386jdlm8qkbdf23w7lyvbfhr362s90f957fawnyi1finhw8bk"))))
(base32 "19azx5dpfyfh0pv4q2fcrf4p7a0pc5d13m7lnv3qy8376mbmhmzj"))))
(build-system cmake-build-system)
(arguments
;; Test is disabled because it requires downloading googletest from the
;; Internet.
'(#:tests? #f))
(list #:tests? #f
#:phases
#~(modify-phases %standard-phases
;; Make polybar find its default configuration file in the
;; store.
(add-after 'unpack 'patch-config-path
(lambda _
(substitute* "CMakeLists.txt"
(("/etc") (string-append #$output "/etc")))
(substitute* "src/utils/file.cpp"
(("\"/etc\"") (string-append "\"" #$output "/etc\""))))))))
(inputs
(list alsa-lib
cairo
@ -1489,6 +1501,7 @@ its size
jsoncpp
libmpdclient
libnl
libuv
libxcb
pulseaudio
xcb-proto
@ -1498,12 +1511,9 @@ its size
xcb-util-wm
xcb-util-xrm))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-sphinx" ,python-sphinx) ; for the manual
;; XXX: "python" input must be located after "python-2", or the package
;; fails to build with "missing required python module: xcbgen".
("python-2" ,python-2) ; lib/xpp depends on python 2
("python" ,python))) ; xcb-proto depends on python 3
(list pkg-config
python-sphinx ; for the manual
python)) ; xcb-proto depends on python 3
(home-page "https://polybar.github.io/")
(synopsis "Fast and easy-to-use status bar")
(description "Polybar aims to help users build beautiful and highly
@ -1538,7 +1548,7 @@ functionality to display information about the most commonly used services.")
(propagated-inputs
(list ;; As required by wlroots.pc.
eudev
libinput
libinput-minimal
libxkbcommon
mesa
pixman
@ -1572,7 +1582,10 @@ modules for building a Wayland compositor.")
(base32 "0ss3l258blyf2d0lwd7pi7ga1fxfj8pxhag058k7cmjhs3y30y5l"))))
(build-system meson-build-system)
(arguments
`(#:phases
`(;; elogind is propagated by wlroots -> libseat
;; and would otherwise shadow basu.
#:configure-flags '("-Dsd-bus-provider=basu")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'hardcode-paths
(lambda* (#:key inputs #:allow-other-keys)
@ -1587,12 +1600,12 @@ modules for building a Wayland compositor.")
(string-append "'" (assoc-ref inputs "scdoc")
"/bin/scdoc'")))
#t)))))
(inputs (list cairo
elogind
(inputs (list basu
cairo
gdk-pixbuf
json-c
libevdev
libinput
libinput-minimal
libxkbcommon
pango
swaybg
@ -1724,7 +1737,7 @@ display a clock or apply image manipulation techniques to the background image."
gtkmm-3
jsoncpp
libdbusmenu
libinput
libinput-minimal
libmpdclient
libnl
libxml2
@ -1785,16 +1798,16 @@ compositors that support the layer-shell protocol.")
(define-public kanshi
(package
(name "kanshi")
(version "1.1.0")
(version "1.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/kanshi")
(url "https://git.sr.ht/~emersion/kanshi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0nbpgm8qnn7ljsg9vgs35kl8l4rrk542vdcbx8wrn9r909ld3x92"))))
(base32 "10lxagwc2pkq86g2sxkwljjd39sahp3w1j5yx853d3c4d95iwls5"))))
(build-system meson-build-system)
(inputs (list wayland))
(native-inputs (list pkg-config scdoc))
@ -1808,7 +1821,7 @@ Wayland compositors supporting the wlr-output-management protocol.")
(define-public stumpwm
(package
(name "stumpwm")
(version "20.11")
(version "22.05")
(source
(origin
(method git-fetch)
@ -1817,55 +1830,60 @@ Wayland compositors supporting the wlr-output-management protocol.")
(commit version)))
(file-name (git-file-name "stumpwm" version))
(sha256
(base32 "1ghs6ihvmb3bz4q4ys1d3h6rdi96xyiw7l2ip7jh54c25049aymf"))))
(base32 "12hf70mpwy0ixiyvv8sf8pkwrzz8nb12a8ybvsdpibsxfjxgxnan"))))
(build-system asdf-build-system/sbcl)
(native-inputs `(("fiasco" ,sbcl-fiasco)
("texinfo" ,texinfo)
(native-inputs
(list sbcl-fiasco
texinfo
;; To build the manual.
("autoconf" ,autoconf)
("automake" ,automake)))
(inputs `(("cl-ppcre" ,sbcl-cl-ppcre)
("clx" ,sbcl-clx)
("alexandria" ,sbcl-alexandria)))
;; To build the manual.
autoconf
automake))
(inputs
(list sbcl-alexandria
sbcl-cl-ppcre
sbcl-clx))
(outputs '("out" "lib"))
(arguments
'(#:asd-systems '("stumpwm")
#:phases
(modify-phases %standard-phases
(add-after 'create-asdf-configuration 'build-program
(lambda* (#:key outputs #:allow-other-keys)
(build-program
(string-append (assoc-ref outputs "out") "/bin/stumpwm")
outputs
#:entry-program '((stumpwm:stumpwm) 0))))
(add-after 'build-program 'create-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(xsessions (string-append out "/share/xsessions")))
(mkdir-p xsessions)
(call-with-output-file
(string-append xsessions "/stumpwm.desktop")
(lambda (file)
(format file
"[Desktop Entry]~@
Name=stumpwm~@
Comment=The Stump Window Manager~@
Exec=~a/bin/stumpwm~@
TryExec=~@*~a/bin/stumpwm~@
Icon=~@
Type=Application~%"
out)))
#t)))
(add-after 'install 'install-manual
(lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(info (string-append out "/share/info")))
(invoke "./autogen.sh")
(invoke "sh" "./configure" "SHELL=sh")
(apply invoke "make" "stumpwm.info" make-flags)
(install-file "stumpwm.info" info)
#t))))))
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
(substitute* "stumpwm-tests.asd"
(("\"ALL-TESTS\"")
"\"RUN-PACKAGE-TESTS\" :package"))))
(add-after 'create-asdf-configuration 'build-program
(lambda* (#:key outputs #:allow-other-keys)
(build-program
(string-append (assoc-ref outputs "out") "/bin/stumpwm")
outputs
#:entry-program '((stumpwm:stumpwm) 0))))
(add-after 'build-program 'create-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(xsessions (string-append out "/share/xsessions")))
(mkdir-p xsessions)
(call-with-output-file
(string-append xsessions "/stumpwm.desktop")
(lambda (file)
(format file
"[Desktop Entry]~@
Name=stumpwm~@
Comment=The Stump Window Manager~@
Exec=~a/bin/stumpwm~@
TryExec=~@*~a/bin/stumpwm~@
Icon=~@
Type=Application~%"
out))))))
(add-after 'install 'install-manual
(lambda* (#:key (make-flags '()) outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(info (string-append out "/share/info")))
(invoke "./autogen.sh")
(invoke "sh" "./configure" "SHELL=sh")
(apply invoke "make" "stumpwm.info" make-flags)
(install-file "stumpwm.info" info)))))))
(synopsis "Window manager written in Common Lisp")
(description "Stumpwm is a window manager written entirely in Common Lisp.
It attempts to be highly customizable while relying entirely on the keyboard
@ -2566,7 +2584,7 @@ read and write, and compatible with JSON.")
(list bmake pkg-config wayland-protocols))
(inputs
(list cairo
libinput
libinput-minimal
libucl
libxkbcommon
linux-pam

View file

@ -27,7 +27,8 @@
#:use-module (guix records)
#:use-module (guix gexp)
#:use-module ((guix utils) #:select (source-properties->location))
#:use-module ((guix diagnostics) #:select (formatted-message location-file))
#:use-module ((guix diagnostics)
#:select (formatted-message location-file &error-location))
#:use-module ((guix modules) #:select (file-name->module-name))
#:use-module (guix i18n)
#:autoload (texinfo) (texi-fragment->stexi)
@ -56,7 +57,6 @@
serialize-configuration
define-maybe
define-maybe/no-serialization
validate-configuration
generate-documentation
configuration->documentation
empty-serializer
@ -87,9 +87,17 @@
(define (configuration-error message)
(raise (condition (&message (message message))
(&configuration-error))))
(define (configuration-field-error field val)
(configuration-error
(format #f "Invalid value for field ~a: ~s" field val)))
(define (configuration-field-error loc field value)
(raise (apply
make-compound-condition
(formatted-message (G_ "invalid value ~s for field '~a'")
value field)
(condition (&configuration-error))
(if loc
(list (condition
(&error-location (location loc))))
'()))))
(define (configuration-missing-field kind field)
(configuration-error
(format #f "~a configuration missing required field ~a" kind field)))
@ -116,14 +124,6 @@ does not have a default value" field kind)))
((configuration-field-getter field) config)))
fields)))
(define (validate-configuration config fields)
(for-each (lambda (field)
(let ((val ((configuration-field-getter field) config)))
(unless ((configuration-field-predicate field) val)
(configuration-field-error
(configuration-field-name field) val))))
fields))
(define-syntax-rule (id ctx parts ...)
"Assemble PARTS into a raw (unhygienic) identifier."
(datum->syntax ctx (symbol-append (syntax->datum parts) ...)))
@ -210,9 +210,33 @@ does not have a default value" field kind)))
(id #'stem #'serialize- type))))))
#'(field-type ...)
#'((custom-serializer ...) ...))))
(define (field-sanitizer name pred)
;; Define a macro for use as a record field sanitizer, where NAME
;; is the name of the field and PRED is the predicate that tells
;; whether a value is valid for this field.
#`(define-syntax #,(id #'stem #'validate- #'stem #'- name)
(lambda (s)
;; Make sure the given VALUE, for field NAME, passes PRED.
(syntax-case s ()
((_ value)
(with-syntax ((name #'#,name)
(pred #'#,pred)
(loc (datum->syntax #'value
(syntax-source #'value))))
#'(if (pred value)
value
(configuration-field-error
(and=> 'loc source-properties->location)
'name value))))))))
#`(begin
;; Define field validation macros.
#,@(map field-sanitizer
#'(field ...)
#'(field-predicate ...))
(define-record-type* #,(id #'stem #'< #'stem #'>)
#,(id #'stem #'% #'stem)
stem
#,(id #'stem #'make- #'stem)
#,(id #'stem #'stem #'?)
(%location #,(id #'stem #'stem #'-location)
@ -220,10 +244,13 @@ does not have a default value" field kind)))
source-properties->location))
(innate))
#,@(map (lambda (name getter def)
#`(#,name #,getter (default #,def)))
#`(#,name #,getter (default #,def)
(sanitize
#,(id #'stem #'validate- #'stem #'- name))))
#'(field ...)
#'(field-getter ...)
#'(field-default ...)))
(define #,(id #'stem #'stem #'-fields)
(list (configuration-field
(name 'field)
@ -240,12 +267,7 @@ does not have a default value" field kind)))
'#,(id #'stem #'% #'stem) 'field)
field-default)))
(documentation doc))
...))
(define-syntax-rule (stem arg (... ...))
(let ((conf (#,(id #'stem #'% #'stem) arg (... ...))))
(validate-configuration conf
#,(id #'stem #'stem #'-fields))
conf))))))))
...))))))))
(define no-serialization ;syntactic keyword for 'define-configuration'
'(no serialization))

View file

@ -285,7 +285,7 @@ the section name.")
(serialize-fifo-listener-configuration field-name val))
((inet-listener-configuration? val)
(serialize-inet-listener-configuration field-name val))
(else (configuration-field-error field-name val))))
(else (configuration-field-error #f field-name val))))
(define (listener-configuration-list? val)
(and (list? val) (and-map listener-configuration? val)))
(define (serialize-listener-configuration-list field-name val)
@ -1610,10 +1610,6 @@ POP3, IMAP, and LMTP. @var{config} should be a configuration object created
by @code{dovecot-configuration}. @var{config} may also be created by
@code{opaque-dovecot-configuration}, which allows specification of the
@code{dovecot.conf} as a string."
(validate-configuration config
(if (opaque-dovecot-configuration? config)
opaque-dovecot-configuration-fields
dovecot-configuration-fields))
(service dovecot-service-type config))
;; A little helper to make it easier to document all those fields.

View file

@ -540,11 +540,9 @@ is truncated and rewritten every minute.")
to an existing @acronym{VPN, virtual private network}.")))
(define* (openvpn-client-service #:key (config (openvpn-client-configuration)))
(validate-configuration config openvpn-client-configuration-fields)
(service openvpn-client-service-type config))
(define* (openvpn-server-service #:key (config (openvpn-server-configuration)))
(validate-configuration config openvpn-server-configuration-fields)
(service openvpn-server-service-type config))
(define (generate-openvpn-server-documentation)
@ -814,7 +812,8 @@ PostUp = ~a set %i private-key ~a
(start #~(lambda _
(invoke #$wg-quick "up" #$config)))
(stop #~(lambda _
(invoke #$wg-quick "down" #$config)))
(invoke #$wg-quick "down" #$config)
#f)) ;stopped!
(documentation "Run the Wireguard VPN tunnel"))))))
(define wireguard-service-type

View file

@ -2,6 +2,7 @@
;;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2022 Pavel Shlyak <p.shlyak@pantherx.org>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -66,6 +67,7 @@
root-label
esp-partition
esp32-partition
root-partition
efi-disk-image
@ -75,6 +77,7 @@
image-with-os
efi-raw-image-type
efi32-raw-image-type
qcow2-image-type
iso-image-type
uncompressed-iso-image-type
@ -110,6 +113,11 @@
(flags '(esp))
(initializer (gexp initialize-efi-partition))))
(define esp32-partition
(partition
(inherit esp-partition)
(initializer (gexp initialize-efi32-partition))))
(define root-partition
(partition
(size 'guess)
@ -123,6 +131,11 @@
(format 'disk-image)
(partitions (list esp-partition root-partition))))
(define efi32-disk-image
(image
(format 'disk-image)
(partitions (list esp32-partition root-partition))))
(define iso9660-image
(image
(format 'iso9660)
@ -164,6 +177,11 @@ set to the given OS."
(name 'efi-raw)
(constructor (cut image-with-os efi-disk-image <>))))
(define efi32-raw-image-type
(image-type
(name 'efi32-raw)
(constructor (cut image-with-os efi32-disk-image <>))))
(define qcow2-image-type
(image-type
(name 'qcow2)
@ -376,6 +394,7 @@ used in the image."
#$(image-shared-store? image))
#:system-directory #$os
#:grub-efi #+grub-efi
#:grub-efi32 #+grub-efi32
#:bootloader-package
#+(bootloader-package bootloader)
#:bootloader-installer

View file

@ -79,7 +79,8 @@ inside %DOCKER-OS."
(gnu build marionette))
(define marionette
(make-marionette (list #$vm)))
;; Relax timeout to accommodate older systems.
(make-marionette (list #$vm) #:timeout 60))
(test-runner-current (system-test-runner #$output))
(test-begin "docker")
@ -221,7 +222,8 @@ inside %DOCKER-OS."
(guix build utils))
(define marionette
(make-marionette (list #$vm)))
;; Relax timeout to accommodate older systems.
(make-marionette (list #$vm) #:timeout 60))
(test-runner-current (system-test-runner #$output))
(test-begin "docker")

View file

@ -58,7 +58,9 @@
(guix combinators))))
(define vm
(virtual-machine os))
(virtual-machine
(operating-system os)
(memory-size 1024)))
(define test
(with-imported-modules '((gnu build marionette))

View file

@ -51,6 +51,13 @@
(let ((pkg-config (resolve-interface '(gnu packages pkg-config))))
(module-ref pkg-config 'pkg-config)))
(define (default-ld-gold-wrapper)
"Return the default ld-gold-wrapper package."
;; LDC doesn't work with Guix's default (BFD) linker.
;; Lazily resolve the binding to avoid a circular dependency.
(let ((commencement (resolve-interface '(gnu packages commencement))))
(module-ref commencement 'ld-gold-wrapper)))
(define %dub-build-system-modules
;; Build-side modules imported by default.
`((guix build dub-build-system)
@ -100,6 +107,7 @@
(ldc (default-ldc))
(dub (default-dub))
(pkg-config (default-pkg-config))
(ld-gold-wrapper (default-ld-gold-wrapper))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
@ -121,6 +129,7 @@
,@(standard-packages)))
(build-inputs `(("ldc" ,ldc)
("dub" ,dub)
("ld-gold-wrapper" ,ld-gold-wrapper)
,@native-inputs))
(outputs outputs)
(build dub-build)

View file

@ -112,6 +112,17 @@ unpacking."
(when tests?
(invoke "chicken-install" "-cached" "-test" "-no-install" egg-name)))
(define* (stamp-egg-version #:key egg-name name #:allow-other-keys)
"Check if EGG-NAME.egg contains version information and add some if not."
(let* ((filename (string-append egg-name "/" egg-name ".egg"))
(egg-info (call-with-input-file filename read))
(ver? (find (lambda (i) (eqv? (car i) 'version)) egg-info))
(ver (substring name (1+ (string-rindex name #\-)))))
(when (not ver?)
(make-file-writable filename)
(call-with-output-file filename
(lambda (f) (write (cons `(version ,ver) egg-info) f))))))
;; It doesn't look like Chicken generates any unnecessary references.
;; So we don't have to remove them either. Nice.
@ -122,6 +133,7 @@ unpacking."
(delete 'configure)
(delete 'patch-generated-file-shebangs)
(add-before 'unpack 'setup-chicken-environment setup-chicken-environment)
(add-before 'build 'stamp-egg-version stamp-egg-version)
(replace 'build build)
(delete 'check)
(replace 'install install)

View file

@ -48,10 +48,10 @@
(_ #f)))
(define* (configure #:key inputs #:allow-other-keys)
"Prepare one new directory with all the required dependencies.
It's necessary to do this (instead of just using /gnu/store as the
directory) because we want to hide the libraries in subdirectories
lib/dub/... instead of polluting the user's profile root."
"Prepare one new directory with all the required dependencies. It's necessary
to do this (instead of just using /gnu/store as the directory) because we want
to hide the libraries in subdirectories lib/dub/... instead of polluting the
user's profile root."
(let* ((dir (mkdtemp! "/tmp/dub.XXXXXX"))
(vendor-dir (string-append dir "/vendor")))
(setenv "HOME" dir)
@ -67,8 +67,7 @@
(symlink (string-append path "/lib/dub/" d-basename)
(string-append vendor-dir "/" d-basename))))))))
inputs)
(invoke "dub" "add-path" vendor-dir)
#t))
(invoke "dub" "add-path" vendor-dir)))
(define (grep string file-name)
"Find the first occurrence of STRING in the file named FILE-NAME.
@ -92,19 +91,11 @@
(unless (or (grep* "sourceLibrary" "package.json")
(grep* "sourceLibrary" "dub.sdl") ; note: format is different!
(grep* "sourceLibrary" "dub.json"))
(apply invoke `("dub" "build" ,@dub-build-flags))
(substitute* ".dub/dub.json"
(("\"lastUpgrade\": \"[^\"]*\"")
"\"lastUpgrade\": \"1970-01-01T00:00:00.0000000\"")))
#t)
(apply invoke `("dub" "build" ,@dub-build-flags))))
(define* (check #:key tests? #:allow-other-keys)
(when tests?
(invoke "dub" "test")
(substitute* ".dub/dub.json"
(("\"lastUpgrade\": \"[^\"]*\"")
"\"lastUpgrade\": \"1970-01-01T00:00:00.0000000\"")))
#t)
(invoke "dub" "test")))
(define* (install #:key inputs outputs #:allow-other-keys)
"Install a given DUB package."
@ -115,8 +106,7 @@
;; TODO remove "-test-application"
(copy-recursively "bin" outbin)
(mkdir-p outlib)
(copy-recursively "." (string-append outlib))
#t))
(copy-recursively "." (string-append outlib))))
(define %standard-phases
(modify-phases gnu:%standard-phases

View file

@ -81,7 +81,10 @@
(names (map string->symbol
(string-tokenize arg not-comma))))
(alist-cons 'updaters names result))))
(option '(#\L "list-updaters") #f #f
(find (lambda (option)
(member "load-path" (option-names option)))
%standard-build-options)
(option '("list-updaters") #f #f
(lambda args
(list-updaters-and-exit)))
(option '(#\m "manifest") #t #f
@ -119,19 +122,6 @@
(leave (G_ "unsupported policy: ~a~%")
arg)))))
;; The short option -L is already used by --list-updaters, therefore
;; it needs to be removed from %standard-build-options.
(let ((load-path-option (find (lambda (option)
(member "load-path"
(option-names option)))
%standard-build-options)))
(option
(filter (lambda (name) (not (equal? #\L name)))
(option-names load-path-option))
(option-required-arg? load-path-option)
(option-optional-arg? load-path-option)
(option-processor load-path-option)))
(option '(#\h "help") #f #f
(lambda args
(show-help)
@ -160,7 +150,7 @@ specified with `--select'.\n"))
-t, --type=UPDATER,... restrict to updates from the specified updaters
(e.g., 'gnu')"))
(display (G_ "
-L, --list-updaters list available updaters and exit"))
--list-updaters list available updaters and exit"))
(display (G_ "
-l, --list-dependent list top-level dependent packages that would need to
be rebuilt as a result of upgrading PACKAGE..."))
@ -182,7 +172,7 @@ specified with `--select'.\n"))
used when 'key-download' is not specified"))
(newline)
(display (G_ "
--load-path=DIR prepend DIR to the package module search path"))
-L, --load-path=DIR prepend DIR to the package module search path"))
(newline)
(display (G_ "
-h, --help display this help and exit"))

View file

@ -303,7 +303,8 @@ FORMAT-COMMENT is 'canonicalize-comment'."
(newline port)
(display (make-string indent #\space) port))
(let ((column (if newline? indent column)))
(print tail #f
(print tail
(keyword? item) ;keep #:key value next to one another
(comment? item)
(loop indent column
(or newline? delimited?)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2020 Christopher Baines <mail@cbaines.net>
@ -55,11 +55,11 @@
#:use-module (ice-9 ftw)
#:use-module (rnrs bytevectors)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-71)
#:use-module (web uri)
#:use-module (guix http-client)
#:export (%allow-unauthenticated-substitutes?
@ -293,10 +293,10 @@ daemon."
(for-each (cute format port "~a/~a~%" (%store-prefix) <>)
(narinfo-references narinfo))
(let-values (((uri compression file-size)
(narinfo-best-uri narinfo
#:fast-decompression?
%prefer-fast-decompression?)))
(let ((uri compression file-size
(narinfo-best-uri narinfo
#:fast-decompression?
%prefer-fast-decompression?)))
(format port "~a\n~a\n"
(or file-size 0)
(or (narinfo-size narinfo) 0))))
@ -378,13 +378,13 @@ server certificates."
(#f
;; Open a new connection to URI and evict old entries from
;; CACHE, if any.
(let-values (((socket)
(guix:open-connection-for-uri
uri
#:verify-certificate? verify-certificate?
#:timeout timeout))
((new-cache evicted)
(at-most (- %max-cached-connections 1) cache)))
(let ((socket
(guix:open-connection-for-uri
uri
#:verify-certificate? verify-certificate?
#:timeout timeout))
(new-cache evicted
(at-most (- %max-cached-connections 1) cache)))
(for-each (match-lambda
((_ . port)
(false-if-exception (close-port port))))
@ -494,49 +494,47 @@ PORT."
(leave (G_ "no valid substitute for '~a'~%")
store-item))
(let-values (((uri compression file-size)
(narinfo-best-uri narinfo
#:fast-decompression?
%prefer-fast-decompression?)))
(let ((uri compression file-size
(narinfo-best-uri narinfo
#:fast-decompression?
%prefer-fast-decompression?)))
(unless print-build-trace?
(format (current-error-port)
(G_ "Downloading ~a...~%") (uri->string uri)))
(let*-values (((raw download-size)
;; 'guix publish' without '--cache' doesn't specify a
;; Content-Length, so DOWNLOAD-SIZE is #f in this case.
(fetch uri))
((progress)
(let* ((dl-size (or download-size
(and (equal? compression "none")
(narinfo-size narinfo))))
(reporter (if print-build-trace?
(progress-reporter/trace
destination
(uri->string uri) dl-size
(current-error-port))
(progress-reporter/file
(uri->string uri) dl-size
(current-error-port)
#:abbreviation nar-uri-abbreviation))))
;; Keep RAW open upon completion so we can later reuse
;; the underlying connection. Pass the download size so
;; that this procedure won't block reading from RAW.
(progress-report-port reporter raw
#:close? #f
#:download-size dl-size)))
((input pids)
;; NOTE: This 'progress' port of current process will be
;; closed here, while the child process doing the
;; reporting will close it upon exit.
(decompressed-port (string->symbol compression)
progress))
(let* ((raw download-size
;; 'guix publish' without '--cache' doesn't specify a
;; Content-Length, so DOWNLOAD-SIZE is #f in this case.
(fetch uri))
(progress
(let* ((dl-size (or download-size
(and (equal? compression "none")
(narinfo-size narinfo))))
(reporter (if print-build-trace?
(progress-reporter/trace
destination
(uri->string uri) dl-size
(current-error-port))
(progress-reporter/file
(uri->string uri) dl-size
(current-error-port)
#:abbreviation nar-uri-abbreviation))))
;; Keep RAW open upon completion so we can later reuse
;; the underlying connection. Pass the download size so
;; that this procedure won't block reading from RAW.
(progress-report-port reporter raw
#:close? #f
#:download-size dl-size)))
(input pids
;; NOTE: This 'progress' port of current process will be
;; closed here, while the child process doing the
;; reporting will close it upon exit.
(decompressed-port (string->symbol compression)
progress))
;; Compute the actual nar hash as we read it.
((algorithm expected)
(narinfo-hash-algorithm+value narinfo))
((hashed get-hash)
(open-hash-input-port algorithm input)))
;; Compute the actual nar hash as we read it.
(algorithm expected (narinfo-hash-algorithm+value narinfo))
(hashed get-hash (open-hash-input-port algorithm input)))
;; Unpack the Nar at INPUT into DESTINATION.
(define cpu-usage
(with-cpu-usage-monitoring

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