Merge branch 'master' into core-updates
This commit is contained in:
commit
2a7648774f
@ -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.
|
||||
|
26
etc/news.scm
26
etc/news.scm
@ -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")
|
||||
|
@ -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)
|
||||
|
@ -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)))
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
|
@ -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)
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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")))
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
|
@ -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/")
|
||||
|
@ -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 Emacs’s 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 Emacs’s 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")
|
||||
|
@ -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 "
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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)
|
||||
|
@ -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"
|
||||
|
@ -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")
|
||||
|
@ -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 ~}~%"
|
||||
|
@ -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+)))
|
||||
|
@ -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)))
|
||||
|
@ -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))
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)))
|
||||
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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)))
|
||||
|
@ -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))
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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.")))
|
||||
|
@ -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))
|
||||
|
@ -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
|
||||
|
@ -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))))
|
||||
|
@ -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.
|
||||
|
@ -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")
|
||||
|
@ -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")
|
||||
|
27
gnu/packages/patches/cmh-support-fplll.patch
Normal file
27
gnu/packages/patches/cmh-support-fplll.patch
Normal 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
|
||||
|
@ -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)
|
||||
}
|
308
gnu/packages/patches/phoronix-test-suite-fsdg.patch
Normal file
308
gnu/packages/patches/phoronix-test-suite-fsdg.patch
Normal 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>
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)))
|
||||
|
@ -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)))
|
||||
|
@ -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)))
|
||||
|
@ -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
|
||||
|
@ -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)))
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
|
@ -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)))
|
||||
|
@ -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))))
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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))))
|
||||
|
@ -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)
|
||||
|
@ -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)))
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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")
|
||||
|
@ -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))
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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"))
|
||||
|
@ -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?)
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user