summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi49
-rw-r--r--gnu/ci.scm46
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/astronomy.scm38
-rw-r--r--gnu/packages/base.scm7
-rw-r--r--gnu/packages/commencement.scm51
-rw-r--r--gnu/packages/cpp.scm28
-rw-r--r--gnu/packages/engineering.scm12
-rw-r--r--gnu/packages/gnome.scm11
-rw-r--r--gnu/packages/irc.scm81
-rw-r--r--gnu/packages/linux.scm1
-rw-r--r--gnu/packages/lisp-xyz.scm142
-rw-r--r--gnu/packages/maths.scm145
-rw-r--r--gnu/packages/mingw.scm8
-rw-r--r--gnu/packages/patches/bloomberg-bde-cmake-module-path.patch14
-rw-r--r--gnu/packages/photo.scm2
-rw-r--r--gnu/packages/python-xyz.scm4
-rw-r--r--gnu/packages/terminals.scm8
-rw-r--r--gnu/packages/tex.scm1412
-rw-r--r--gnu/packages/texlive.scm416
-rw-r--r--gnu/packages/video.scm4
-rw-r--r--gnu/packages/vnc.scm2
-rw-r--r--gnu/packages/web-browsers.scm5
-rw-r--r--gnu/packages/xdisorg.scm52
-rw-r--r--guix/scripts/pull.scm15
-rw-r--r--guix/scripts/time-machine.scm8
-rw-r--r--guix/ui.scm16
-rw-r--r--tests/guix-build.sh9
-rw-r--r--tests/packages.scm5
-rw-r--r--tests/store-roots.scm7
30 files changed, 2131 insertions, 468 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 691d4c5e1d..efb4cec9ef 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -4803,9 +4803,11 @@ Specifically, @command{guix pull} downloads code from the @dfn{channels}
@item
the @option{--channels} option;
@item
-the user's @file{~/.config/guix/channels.scm} file;
+the user's @file{~/.config/guix/channels.scm} file, unless @option{-q}
+is passed;
@item
-the system-wide @file{/etc/guix/channels.scm} file;
+the system-wide @file{/etc/guix/channels.scm} file, unless @option{-q}
+is passed;
@item
the built-in default channels specified in the @code{%default-channels}
variable.
@@ -4907,6 +4909,11 @@ Read the list of channels from @var{file} instead of
evaluates to a list of channel objects. @xref{Channels}, for more
information.
+@item --no-channel-files
+@itemx -q
+Inhibit loading of the user and system channel files,
+@file{~/.config/guix/channels.scm} and @file{/etc/guix/channels.scm}.
+
@cindex channel news
@item --news
@itemx -N
@@ -5052,7 +5059,9 @@ guix time-machine --commit=v1.2.0 -- \
environment -C --ad-hoc guile -- guile
@end example
-The command above fetches Guix@tie{}1.2.0 and runs its @command{guix
+The command above fetches Guix@tie{}1.2.0 (and possibly other channels
+specified by your @file{channels.scm} configuration files---see
+below) and runs its @command{guix
environment} command to spawn an environment in a container running
@command{guile} (@command{guix environment} has since been subsumed by
@command{guix shell}; @pxref{Invoking guix shell}). It's like driving a
@@ -5062,6 +5071,21 @@ invocation can be expensive: it may have to download or even build a
large number of packages; the result is cached though and subsequent
commands targeting the same commit are almost instantaneous.
+As for @command{guix pull}, in the absence of any options,
+@command{time-machine} fetches the latest commits of the channels
+specified in @file{~/.config/guix/channels.scm},
+@file{/etc/guix/channels.scm}, or the default channels; the @option{-q}
+option lets you ignore these configuration files. The command:
+
+@example
+guix time-machine -q -- build hello
+@end example
+
+will thus build the package @code{hello} as defined in the main branch
+of Guix, without any additional channel, which is in general a newer
+revision of Guix than you have installed. Time travel works in both
+directions!
+
@quotation Note
The history of Guix is immutable and @command{guix time-machine}
provides the exact same software as they are in a specific Guix
@@ -5111,18 +5135,21 @@ string or the name of a tag), or @var{branch}.
Read the list of channels from @var{file}. @var{file} must contain
Scheme code that evaluates to a list of channel objects.
@xref{Channels} for more information.
-@end table
-As for @command{guix pull}, the absence of any options means that the
-latest commit on the master branch will be used. The command
+@item --no-channel-files
+@itemx -q
+Inhibit loading of the user and system channel files,
+@file{~/.config/guix/channels.scm} and @file{/etc/guix/channels.scm}.
+
+Thus, @command{guix time-machine -q} is equivalent to the following Bash
+command, using the ``process substitution'' syntax (@pxref{Process
+Substitution,,, bash, The GNU Bash Reference Manual}):
@example
-guix time-machine -- build hello
+guix time-machine -C <(echo %default-channels) @dots{}
@end example
-will thus build the package @code{hello} as defined in the master branch,
-which is in general a newer revision of Guix than you have installed.
-Time travel works in both directions!
+@end table
Note that @command{guix time-machine} can trigger builds of channels and
their dependencies, and these are controlled by the standard build
@@ -33058,7 +33085,7 @@ IP address that no longer correspond to their freshly resolved host
name. Set this to @code{#t} if one or more endpoints use host names
provided by a dynamic DNS service to keep the sessions alive.
-@item @code{monitor-ips-internal} (default: @code{'(next-minute (range 0 60 5))})
+@item @code{monitor-ips-interval} (default: @code{'(next-minute (range 0 60 5))})
The time interval at which the IP monitoring job should run, provided as
an mcron time specification (@pxref{Guile Syntax,,,mcron}).
diff --git a/gnu/ci.scm b/gnu/ci.scm
index 7acd88ed29..df98c8af97 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -24,6 +24,7 @@
#:use-module (guix build-system channel)
#:use-module (guix config)
#:autoload (guix describe) (package-channels)
+ #:use-module (guix memoization)
#:use-module (guix store)
#:use-module (guix profiles)
#:use-module (guix packages)
@@ -342,29 +343,32 @@ otherwise use the IMAGE name."
;; Return the name of a package's job.
package-name)
+(define base-packages
+ (mlambda (system)
+ "Return the set of packages considered to be part of the base for SYSTEM."
+ (delete-duplicates
+ (append-map (match-lambda
+ ((_ package _ ...)
+ (match (package-transitive-inputs package)
+ (((_ inputs _ ...) ...)
+ inputs))))
+ (%final-inputs system)))))
+
(define package->job
- (let ((base-packages
- (delete-duplicates
- (append-map (match-lambda
- ((_ package _ ...)
- (match (package-transitive-inputs package)
- (((_ inputs _ ...) ...)
- inputs))))
- (%final-inputs)))))
- (lambda* (store package system #:key (suffix ""))
- "Return a job for PACKAGE on SYSTEM, or #f if this combination is not
+ (lambda* (store package system #:key (suffix ""))
+ "Return a job for PACKAGE on SYSTEM, or #f if this combination is not
valid. Append SUFFIX to the job name."
- (cond ((member package base-packages)
- (package-job store (string-append "base." (job-name package))
- package system #:suffix suffix))
- ((supported-package? package system)
- (let ((drv (package-derivation store package system
- #:graft? #f)))
- (and (substitutable-derivation? drv)
- (package-job store (job-name package)
- package system #:suffix suffix))))
- (else
- #f)))))
+ (cond ((member package (base-packages system))
+ (package-job store (string-append "base." (job-name package))
+ package system #:suffix suffix))
+ ((supported-package? package system)
+ (let ((drv (package-derivation store package system
+ #:graft? #f)))
+ (and (substitutable-derivation? drv)
+ (package-job store (job-name package)
+ package system #:suffix suffix))))
+ (else
+ #f))))
(define %x86-64-micro-architectures
;; Micro-architectures for which we build tuned variants.
diff --git a/gnu/local.mk b/gnu/local.mk
index 9db92577a3..b17e20310e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -610,6 +610,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/terraform.scm \
%D%/packages/texinfo.scm \
%D%/packages/tex.scm \
+ %D%/packages/texlive.scm \
%D%/packages/textutils.scm \
%D%/packages/text-editors.scm \
%D%/packages/time.scm \
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index e5c318c8bf..e8499bb4b4 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -9,6 +9,8 @@
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
+;;; Copyright © 2023 Iliya Tikhonenko <tikhonenko@mpe.mpg.de>
+;;; Copyright © 2023 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -75,6 +77,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages textutils)
#:use-module (gnu packages time)
@@ -3951,3 +3954,38 @@ orbit around the Earth.")
for optimal @code{matching} of weighted N-dimensional image intensity data
using (multivariate) polynomials.")
(license license:bsd-3)))
+
+(define-public unsio
+ ;; There is no versioned tag, use the latest commit.
+ (let ((commit "25e52468298e1194c9726ef5dba9d5fbb46870f5")
+ (revision "0"))
+ (package
+ (name "unsio")
+ (version (git-version "1.3.3" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.lam.fr/infrastructure/unsio")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "110i2p5608zhh5w3pf3b5r2651hykw2ayspgq6vpqsffhya1p170"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; force installation into lib/ instead of lib64/
+ #~(substitute* "cmake/DetectCpackGenerator.cmake"
+ (("lib64") "lib")))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f ; no tests
+ #:build-type "Release" ; to improve performace
+ #:configure-flags #~(list "-DCMAKE_CXX_STANDARD=14")))
+ (inputs (list gfortran hdf5 perl sqlite zlib))
+ (home-page "https://projets.lam.fr/projects/unsio/wiki")
+ (synopsis "Input and output routines for n-body file formats")
+ (description
+ "@acronym{UNSIO, Universal Nbody Snapshot Input Output} provides
+an API for performing input and output operations on different kinds of
+n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).")
+ (license license:cecill))))
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 1fdfaf8a57..32bc69e2c4 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -78,7 +78,8 @@
#:export (glibc
libc-for-target
make-ld-wrapper
- libiconv-if-needed))
+ libiconv-if-needed
+ %final-inputs))
;;; Commentary:
;;;
@@ -1648,10 +1649,10 @@ package needs iconv ,@(libiconv-if-needed) should be added."
(proc (module-ref iface 'canonical-package)))
(proc package)))
-(define-public (%final-inputs)
+(define* (%final-inputs #:optional (system (%current-system)))
"Return the list of \"final inputs\"."
;; Avoid circular dependency by lazily resolving 'commencement'.
(let ((iface (resolve-interface '(gnu packages commencement))))
- ((module-ref iface '%final-inputs) (%current-system))))
+ ((module-ref iface '%final-inputs) system)))
;;; base.scm ends here
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index fe6f025257..e522e70444 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3459,31 +3459,32 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are
;; used for origins that have patches, thereby avoiding circular
;; dependencies.
- (let ((finalize (compose with-boot6
- package-with-bootstrap-guile)))
- `(,@(map (match-lambda
- ((name package)
- (list name (finalize package))))
- `(("tar" ,tar)
- ("gzip" ,gzip)
- ("bzip2" ,bzip2)
- ("file" ,file)
- ("diffutils" ,diffutils)
- ("patch" ,patch)
- ("findutils" ,findutils)
- ("gawk" ,gawk)))
- ("sed" ,sed-final)
- ("grep" ,grep-final)
- ("xz" ,xz-final)
- ("coreutils" ,coreutils-final)
- ("make" ,gnu-make-final)
- ("bash" ,bash-final)
- ("ld-wrapper" ,ld-wrapper)
- ("binutils" ,binutils-final)
- ("gcc" ,gcc-final)
- ("libc" ,glibc-final)
- ("libc:static" ,glibc-final "static")
- ("locales" ,glibc-utf8-locales-final)))))
+ (parameterize ((%current-system system))
+ (let ((finalize (compose with-boot6
+ package-with-bootstrap-guile)))
+ `(,@(map (match-lambda
+ ((name package)
+ (list name (finalize package))))
+ `(("tar" ,tar)
+ ("gzip" ,gzip)
+ ("bzip2" ,bzip2)
+ ("file" ,file)
+ ("diffutils" ,diffutils)
+ ("patch" ,patch)
+ ("findutils" ,findutils)
+ ("gawk" ,gawk)))
+ ("sed" ,sed-final)
+ ("grep" ,grep-final)
+ ("xz" ,xz-final)
+ ("coreutils" ,coreutils-final)
+ ("make" ,gnu-make-final)
+ ("bash" ,bash-final)
+ ("ld-wrapper" ,ld-wrapper)
+ ("binutils" ,binutils-final)
+ ("gcc" ,gcc-final)
+ ("libc" ,glibc-final)
+ ("libc:static" ,glibc-final "static")
+ ("locales" ,glibc-utf8-locales-final))))))
(define-public canonical-package
(let ((name->package (mlambda (system)
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 3a439c314e..3b949198c7 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -1976,11 +1976,11 @@ validation.")
(license license:asl2.0)))
(define-public bloomberg-bde-tools
- (let ((commit "094885bd177e0159232d4e6a060a04edb1edd786"))
+ (let ((commit "f63dfe9114cd7df29623bd01f644b9f654253972"))
(package
(name "bloomberg-bde-tools")
;; Recent releases are not tagged so commit must be used for checkout.
- (version "3.97.0.0")
+ (version "3.118.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1989,7 +1989,7 @@ validation.")
(file-name (git-file-name name version))
(sha256
(base32
- "0mbbai73z8amh23ah3wy35kmy612380yr5wg89mic60qwqmpqb02"))
+ "1a5sw4xjwd222na3zkflm2gkmzhnfq17i8qapyaxszpiayf3hw6v"))
(patches
(search-patches
"bloomberg-bde-tools-fix-install-path.patch"))))
@@ -2003,11 +2003,11 @@ validation.")
(license license:asl2.0))))
(define-public bloomberg-bde
- (let ((commit "b6bcc0e24a5862bf77aea7edd831dedf50e21d64"))
+ (let ((commit "77a0f39d538c20ae28bece9a81cac99a9e1df95d"))
(package
(name "bloomberg-bde")
;; Recent releases are not tagged so commit must be used for checkout.
- (version "3.98.0.0")
+ (version "3.118.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2016,7 +2016,7 @@ validation.")
(file-name (git-file-name name version))
(sha256
(base32
- "0y3lipi1lj9qazgc935851r2qsx5aq3vvc4y52jq57riyz8wg3ma"))
+ "0nw5clkc9yipd03kijh4c8lxi9zkxfxcjhszl1xzwvgz8xmpampf"))
(patches
(search-patches
"bloomberg-bde-cmake-module-path.patch"))
@@ -2033,26 +2033,28 @@ validation.")
(list "groups/bal/ball/ball_asyncfileobserver.t.cpp"
"groups/bal/ball/ball_fileobserver2.t.cpp"
"groups/bal/ball/ball_recordstringformatter.t.cpp"
+ "groups/bal/balst/balst_stacktraceresolver_filehelper.t.cpp"
"groups/bal/balst/balst_stacktraceutil.t.cpp"
"groups/bdl/bdlmt/bdlmt_eventscheduler.t.cpp"
"groups/bdl/bdlmt/bdlmt_timereventscheduler.t.cpp"
"groups/bdl/bdls/bdls_filesystemutil.t.cpp"
+ "groups/bsl/bslh/bslh_hash.t.cpp"
"groups/bsl/bslh/bslh_hashpair.t.cpp"
"groups/bsl/bsls/bsls_platform.t.cpp"
"groups/bsl/bsls/bsls_stackaddressutil.t.cpp"
"groups/bsl/bsls/bsls_stopwatch.t.cpp"
+ "groups/bsl/bsls/bsls_timeutil.t.cpp"
+ "groups/bsl/bslstl/bslstl_deque.1.t.cpp"
+ "groups/bsl/bslstl/bslstl_deque.2.t.cpp"
+ "groups/bsl/bslstl/bslstl_deque.3.t.cpp"
"groups/bsl/bslstl/bslstl_function_invokerutil.t.cpp"))
#t))))
(build-system cmake-build-system)
(arguments
`(#:parallel-tests? #f ; Test parallelism may fail inconsistently.
;; Set UFID to build shared libraries. Flag descriptions can be found at
- ;; https://bloomberg.github.io/bde-tools/reference/bde_repo.html#ufid
- #:configure-flags ,(match %current-system
- ((or "i686-linux" "armhf-linux")
- ''("-DUFID=opt_dbg_exc_mt_32_shr_cpp17"))
- (_
- ''("-DUFID=opt_dbg_exc_mt_64_shr_cpp17")))
+ ;; https://bloomberg.github.io/bde-tools/bbs/reference/bbs_build_configuration.html#ufid
+ #:configure-flags '("-DUFID=opt_dbg_exc_mt_64_shr_cpp20")
#:phases
(modify-phases %standard-phases
;; Explicitly build tests separate from the main build.
@@ -2072,6 +2074,8 @@ implementation of STL containers, vocabulary types for representing common
concepts (like dates and times), and building blocks for developing
multi-threaded applications and network applications.")
(home-page "https://github.com/bloomberg/bde")
+ ;; Out-of-memory on i686-linux, compile errors with non-x86.
+ (supported-systems '("x86_64-linux"))
(license license:asl2.0))))
(define-public gulrak-filesystem
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 9c14e9c602..e6ca018e41 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1089,7 +1089,7 @@ Emacs).")
(define-public kicad
(package
(name "kicad")
- (version "7.0.6")
+ (version "7.0.7")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1097,7 +1097,7 @@ Emacs).")
(commit version)))
(sha256
(base32
- "1bifg73id0grn37a4n5wpq440z9xz14q0fvkva5vajx0xfd34llv"))
+ "1xbzf29rhqh6kl0vggdn2dblgp927096fc1lr3y4yw63b8n0qq50"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1197,7 +1197,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
- "0byvm25jw108h808g5zdjq14gx4xxd87pvlbczd07c3rx6nmzl08"))))
+ "00f51rcnki08x2jkyla5vmqx7nhck3cyz86wiy0qkmc8klb1a6ba"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html")
@@ -1231,7 +1231,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
- "0p60dvig7xx8svzsgp871r0aix2m95bmzg3snz372nmgnza2nnvf"))))
+ "1wr754m4ykidds3i14gqhvyrj3mbkchp2hkfnr0rjsdaqf4zmqdf"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests exist
@@ -1260,7 +1260,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "0fqnviaxsai0xwyq8xq5ks26j4vd390ns6h6lr0fx2ikv1ghaml5"))))
+ "0xnnivlqgcyaz9qay73p43jnvmvshp2b3fbh3569j7rmgi5pn8x0"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@@ -1277,7 +1277,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
- "0dmssyhqd94d9wj8w7g7xjan560b2rwcs540sgl0rc77cw2jify8"))))
+ "141r5wd8s1bgyf77kvb9q14cpsiwwv4zmfzwbgcd42rflsk2lcbc"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 69e870adf8..4a2e867476 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2801,11 +2801,12 @@ and how they are displayed (View).")
gettext-minimal
`(,glib "bin")
gobject-introspection
+ itstool
pkg-config
python))
(inputs
(list bash-minimal
- librsvg
+ (librsvg-for-system)
gsettings-desktop-schemas
gtk+
pango
@@ -5386,7 +5387,7 @@ once.")
(list gtk+
json-glib
libgee
- librsvg
+ (librsvg-for-system)
qqwing))
(home-page "https://wiki.gnome.org/Apps/Sudoku")
(synopsis "Japanese logic game")
@@ -6084,7 +6085,7 @@ playlists in a variety of formats.")
("pkg-config" ,pkg-config)
("xmllint" ,libxml2)))
(inputs
- (list gtk+ guile-2.2 libcanberra librsvg))
+ (list gtk+ guile-2.2 libcanberra (librsvg-for-system)))
(home-page "https://wiki.gnome.org/Apps/Aisleriot")
(synopsis "Solitaire card games")
(description
@@ -6671,7 +6672,7 @@ discovery protocols.")
libxml2
libsoup
libpeas
- librsvg
+ (librsvg-for-system)
libhandy
gnome-desktop
gstreamer
@@ -12156,7 +12157,7 @@ and a high score table.")
`(("glib" ,glib)
("gtk+" ,gtk+)
("gtk+-2" ,gtk+-2)
- ("librsvg" ,librsvg)
+ ("librsvg" ,(librsvg-for-system))
("libxml2" ,libxml2)))
(home-page "https://gitlab.gnome.org/GNOME/gnome-themes-extra")
(synopsis "GNOME Extra Themes")
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index f966724022..27e6fde911 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2021 WinterHound <winterhound@yandex.com>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -39,6 +40,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
+ #:use-module (guix build-system guile)
#:use-module (guix build-system haskell)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
@@ -49,6 +51,7 @@
#:use-module (gnu packages autogen)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages backup)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
@@ -66,6 +69,7 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
#:use-module (gnu packages haskell-check)
#:use-module (gnu packages haskell-crypto)
#:use-module (gnu packages haskell-xyz)
@@ -830,3 +834,80 @@ but can also be used independently as a logging bot.")
server written in C++ for Unix-like operating systems.")
(home-page "https://www.inspircd.org/")
(license license:gpl2)))
+
+(define-public snuik
+ (package
+ (name "snuik")
+ (version "0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dezyne.org/download/snuik/"
+ name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1lm6mbgfjzjk3pvzp1y9wkdz9dr2qyl1c6ib1hqxrnvkmlciy5p5"))))
+ (native-inputs (list guile-3.0))
+ (inputs (list bash-minimal guile-3.0 guile-8sync))
+ (build-system guile-build-system)
+ (arguments
+ (list
+ #:not-compiled-file-regexp "(guix|guix/.*)[.]scm$"
+ #:modules '((srfi srfi-1)
+ (ice-9 popen)
+ (guix build guile-build-system)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ #$@(if (%current-target-system)
+ #~()
+ #~((add-after 'build 'check
+ (lambda _
+ (let* ((tests (find-files "test" "[.]scm$"))
+ (guile #$(this-package-input "guile"))
+ (guile (string-append guile "/bin/guile")))
+ (fold (lambda (test result)
+ (and
+ result
+ (invoke guile "--no-auto-compile" test)))
+ #t
+ tests))))))
+ (add-after 'install 'install-script
+ (lambda _
+ (let* ((bash #$(this-package-input "bash-minimal"))
+ (bash (string-append bash "/bin/bash"))
+ (guile #$(this-package-input "guile"))
+ (guile (string-append guile "/bin/guile"))
+ (build-guile #$(this-package-native-input "guile"))
+ (build-guile (string-append build-guile "/bin/guile"))
+ (guile-8sync #$(this-package-input "guile-8sync"))
+ (out #$output)
+ (bin (string-append out "/bin"))
+ (effective (read
+ (open-pipe* OPEN_READ
+ build-guile "-c"
+ "(write (effective-version))")))
+ (path (list (string-append guile "/bin")))
+ (scm-dir (string-append "/share/guile/site/" effective))
+ (scm-path (list (string-append out scm-dir)
+ (string-append guile-8sync scm-dir)))
+ (go-dir (string-append "/lib/guile/" effective
+ "/site-ccache/"))
+ (go-path (list (string-append out go-dir)
+ (string-append guile-8sync go-dir))))
+ (mkdir-p "bin")
+ (copy-file "snuik.sh" "bin/snuik")
+ (substitute* "bin/snuik"
+ (("@SHELL@") bash))
+ (chmod "snuik" #o755)
+ (install-file "bin/snuik" bin)
+ (wrap-script (string-append out "/bin/snuik")
+ `("PATH" ":" prefix ,path)
+ `("GUILE_AUTO_COMPILE" ":" = ("0"))
+ `("GUILE_LOAD_PATH" ":" prefix ,scm-path)
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix ,go-path))))))))
+ (home-page "https://gitlab.com/janneke/snuik")
+ (synopsis "IRC bot using Guile-8sync")
+ (description "@code{Snuik} is an IRC bot using the GNU 8sync (for
+now). It has some basic functionality only, such as seen, tell, and
+what.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 93def72048..bdf05227fb 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -5022,7 +5022,6 @@ in a digital read-out.")
python-2 ;'perf' links against libpython
elfutils
libiberty ;used alongside BDF for symbol demangling
- libtraceevent
libunwind ;better stack walking
libtraceevent
numactl ;for 'perf bench numa mem'
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index e1428d8131..01acd0299f 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -38,6 +38,7 @@
;;; Copyright © 2022 Trevor Richards <trev@trevdev.ca>
;;; Copyright © 2022, 2023 Artyom Bologov <mail@aartaka.me>
;;; Copyright © 2023 Roman Scherer <roman@burningswell.com>
+;;; Copyright © 2023 ykonai <mail@ykonai.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -9556,8 +9557,8 @@ function.")
(sbcl-package->cl-source-package sbcl-specialization-store))
(define-public sbcl-cl-gobject-introspection
- (let ((commit "d0136c8d9ade2560123af1fc55bbf70d2e3db539")
- (revision "1"))
+ (let ((commit "c4fef07d01cec7c830ce84ef150ed8e4da5959c4")
+ (revision "2"))
(package
(name "sbcl-cl-gobject-introspection")
(version (git-version "0.3" revision commit))
@@ -9568,18 +9569,17 @@ function.")
(uri (git-reference
(url home-page)
(commit commit)))
- (file-name (git-file-name name version))
+ (file-name (git-file-name "cl-gobject-introspection" version))
(sha256
- (base32
- "0dz0r73pq7yhz2iq2jnkq977awx2zws2qfxdcy33329sys1ii32p"))))
+ (base32 "18n4wg93sf6cjmpcpr47bg2rd8mbm9ml9lykmjsxgvsf3nwr5vnw"))))
(build-system asdf-build-system/sbcl)
(inputs
- `(("alexandria" ,sbcl-alexandria)
- ("cffi" ,sbcl-cffi)
- ("iterate" ,sbcl-iterate)
- ("trivial-garbage" ,sbcl-trivial-garbage)
- ("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)))
+ (list glib
+ gobject-introspection
+ sbcl-alexandria
+ sbcl-cffi
+ sbcl-iterate
+ sbcl-trivial-garbage))
(native-inputs
(list sbcl-fiveam))
(arguments
@@ -9608,6 +9608,113 @@ of C+GObject libraries without the need of writing dedicated bindings.")
(define-public ecl-cl-gobject-introspection
(sbcl-package->ecl-package sbcl-cl-gobject-introspection))
+(define-public sbcl-cl-gobject-introspection-wrapper
+ (let ((commit "2d197cba7e7d734ac8a2e181e5e709e5b218bada")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-gobject-introspection-wrapper")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bohonghuang/cl-gobject-introspection-wrapper")
+ (commit commit)))
+ (file-name (git-file-name "cl-gobject-introspection-wrapper" version))
+ (sha256
+ (base32 "05np2zs5806ib6qfz7d6knyaz6llxgwvjqavl1fsz5hcga40296s"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ (list sbcl-alexandria
+ sbcl-cl-gobject-introspection
+ sbcl-cl-ppcre))
+ (home-page
+ "https://github.com/bohonghuang/cl-gobject-introspection-wrapper")
+ (synopsis
+ "Wrap and call GObject Introspection FFI function in Common Lisp")
+ (description
+ "This library converts the elements from GObject Introspection into
+Common Lisp-style definitions, based on cl-gobject-introspection.")
+ (license license:lgpl3+))))
+
+(define-public cl-gobject-introspection-wrapper
+ (sbcl-package->cl-source-package sbcl-cl-gobject-introspection-wrapper))
+
+(define-public ecl-cl-gobject-introspection-wrapper
+ (sbcl-package->ecl-package sbcl-cl-gobject-introspection-wrapper))
+
+(define-public sbcl-cl-glib
+ (let ((commit "9e52827cce1cbb3962536b6a5e628febab593f57")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-glib")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bohonghuang/cl-glib")
+ (commit commit)))
+ (file-name (git-file-name "cl-glib" version))
+ (sha256
+ (base32 "0dxa493zdp1p93cahhpp3yaggn3j3kkn90mdw99g4ld7scmiglp4" ))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-systems '("cl-gio" "cl-glib" "cl-gobject")))
+ (inputs
+ (list glib
+ gobject-introspection
+ sbcl-bordeaux-threads
+ sbcl-cl-gobject-introspection-wrapper))
+ (home-page "https://github.com/bohonghuang/cl-glib")
+ (synopsis "Glib, GIO and Gobject bindings for Common Lisp")
+ (description "This library provides Glib, GIO and Gobject bindings for
+Common Lisp via Gobject Introspection.")
+ (license license:lgpl3+))))
+
+(define-public cl-glib
+ (sbcl-package->cl-source-package sbcl-cl-glib))
+
+(define-public ecl-cl-glib
+ (sbcl-package->ecl-package sbcl-cl-glib))
+
+(define-public sbcl-cl-gtk4
+ (let ((commit "d116905e7b68508d03681a50b3b24d63e7b111e4")
+ (revision "1"))
+ (package
+ (name "sbcl-cl-gtk4")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bohonghuang/cl-gtk4")
+ (commit commit)))
+ (file-name (git-file-name "cl-gtk4" version))
+ (sha256
+ (base32 "0mprmmvbagnflvhynn51l42nbwr08rld99ls0c48m5lpjn0ja4zc"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-systems '("cl-gtk4" "cl-gdk4")))
+ ;; propagate because it at least requires the typelib files at runtime
+ (propagated-inputs (list gtk))
+ (inputs
+ (list gobject-introspection
+ sbcl-cl-glib
+ sbcl-cl-gobject-introspection-wrapper))
+ (home-page "https://github.com/bohonghuang/cl-gtk4")
+ (synopsis "GTK4 bindings for Common Lisp")
+ (description
+ "This library provides GTK4 bindings for Common Lisp via Gobject
+Introspection, in the cl-gtk4 ASDF system.")
+ (license license:lgpl3))))
+
+(define-public cl-gtk4
+ (sbcl-package->cl-source-package sbcl-cl-gtk4))
+
+(define-public ecl-cl-gtk4
+ (sbcl-package->ecl-package sbcl-cl-gtk4))
+
(define-public sbcl-cl-slug
(let ((commit "ffb229d10f0d3f7f54e706791725225e200bf749")
(revision "1"))
@@ -25708,10 +25815,10 @@ change since last write.
(package-inputs sbcl-nfiles)))))
(define-public sbcl-nasdf
- (let ((commit "73c89680ace25929c2a1ccc0809db99e9edffa07"))
+ (let ((commit "dd9fb2df7174464b54561b2a2f3c3e00fdd5d4f7"))
(package
(name "sbcl-nasdf")
- (version "0.1.6")
+ (version "0.1.7")
(source
(origin
(method git-fetch)
@@ -25720,20 +25827,19 @@ change since last write.
(commit commit)))
(file-name (git-file-name "cl-ntemplate" version))
(sha256
- (base32
- "193wwcp84pyyv33pkkm41s7ca2limpcqqi41hxd1pm5il5r9q9h7"))))
+ (base32 "1q8ky8hz8xrr37h7yyc6ysvrcwlsp1i6r2x44c060drspgjbqj70"))))
(build-system asdf-build-system/sbcl)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'cd-sdl
(lambda _
- (chdir "nasdf")
- #t)))))
+ (chdir "nasdf"))))))
(home-page "https://github.com/atlas-engineer/ntemplate")
(synopsis "ASDF helpers for system setup, testing and installation")
(description
- "NASDF is an ASDF extension providing utilities to ease system setup, testing and installation.
+ "NASDF is an ASDF extension providing utilities to ease system setup,
+testing and installation.
@itemize
@item Simple way to fetch Git submodules and “do the right thing” for
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 8b765e886b..1666d6e420 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2599,78 +2599,81 @@ fixed point (16.16) format.")
(license license:expat))))
(define-public libflame
- (package
- (name "libflame")
- (version "5.2.0")
- (outputs '("out" "static"))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/flame/libflame")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1n6lf0wvpp77lxqlr721h2jbfbzigphdp19wq8ajiccilcksh7ay"))))
- (build-system gnu-build-system)
- (arguments
- (list #:configure-flags
- ;; Sensible defaults: https://github.com/flame/libflame/issues/28
- #~(list "--enable-dynamic-build"
- "--enable-max-arg-list-hack"
- "--enable-lapack2flame"
- "--enable-verbose-make-output"
- "--enable-multithreading=pthreads" ; Openblas isn't built with openmp.
- #$@(if (target-x86?)
- #~("--enable-vector-intrinsics=sse")
- #~())
- "--enable-supermatrix"
- "--enable-memory-alignment=16"
- "--enable-ldim-alignment")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-/usr/bin/env-bash
- (lambda _
- (substitute* "build/config.mk.in"
- (("/usr/bin/env bash")
- (which "bash")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (substitute* "test/Makefile"
- (("LIBBLAS .*")
- "LIBBLAS = -lblas\n")
- (("LIBLAPACK .*")
- "LIBLAPACK = -llapack\n"))
- (when tests?
- (with-directory-excursion "test"
- (mkdir "obj")
- (invoke "make")
- (invoke "./test_libflame.x")))))
- (add-after 'install 'install-static
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (static (assoc-ref outputs "static")))
- (mkdir-p (string-append static "/lib"))
- (rename-file (string-append out
- "/lib/libflame.a")
- (string-append static
- "/lib/libflame.a"))
- (install-file (string-append out
- "/include/FLAME.h")
- (string-append static "/include"))))))))
- (inputs (list gfortran))
- (native-inputs (list lapack perl python-wrapper))
- (home-page "https://github.com/flame/libflame")
- (synopsis "High-performance library for @acronym{DLA, dense linear algebra} computations")
- (description "@code{libflame} is a portable library for dense matrix
+ ;; The latest release (5.2.0) dates back to 2019. Use a newer one, which
+ ;; among other things provides extra LAPACK symbols, such as 'dgemlq_'
+ ;; (needed by LAPACKe).
+ (let ((commit "70c19e770ead0ae846c59b59216deb16d236b40c")
+ (revision "0"))
+ (package
+ (name "libflame")
+ (version (git-version "5.2.0" revision commit))
+ (outputs '("out" "static"))
+ (home-page "https://github.com/flame/libflame")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rk8ln5p4yybsws6p60w0vkxbqp53jddv90brlgf60mk6lv51sxl"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ ;; Sensible defaults: https://github.com/flame/libflame/issues/28
+ #~(list "--enable-dynamic-build"
+ "--enable-max-arg-list-hack"
+ "--enable-lapack2flame"
+ "--enable-verbose-make-output"
+ "--enable-multithreading=pthreads" ; Openblas isn't built with openmp.
+ #$@(if (target-x86?)
+ #~("--enable-vector-intrinsics=sse")
+ #~())
+ "--enable-supermatrix"
+ "--enable-memory-alignment=16"
+ "--enable-ldim-alignment")
+ #:make-flags #~(list "FC=gfortran -fPIC")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-/usr/bin/env-bash
+ (lambda _
+ (substitute* "build/config.mk.in"
+ (("/usr/bin/env bash")
+ (which "bash")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (substitute* "test/Makefile"
+ (("LIBBLAS .*")
+ "LIBBLAS = -lblas\n")
+ (("LIBLAPACK .*")
+ "LIBLAPACK = -llapack\n"))
+ (when tests?
+ (with-directory-excursion "test"
+ (mkdir "obj")
+ (invoke "make")
+ (invoke "./test_libflame.x")))))
+ (add-after 'install 'install-static
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (static (assoc-ref outputs "static")))
+ (mkdir-p (string-append static "/lib"))
+ (rename-file (string-append out
+ "/lib/libflame.a")
+ (string-append static
+ "/lib/libflame.a"))
+ (install-file (string-append out
+ "/include/FLAME.h")
+ (string-append static "/include"))))))))
+ (inputs (list gfortran))
+ (native-inputs (list lapack perl python-wrapper))
+ (synopsis "High-performance library for @acronym{DLA, dense linear algebra} computations")
+ (description "@code{libflame} is a portable library for dense matrix
computations, providing much of the functionality present in LAPACK, developed
by current and former members of the @acronym{SHPC, Science of High-Performance
Computing} group in the @url{https://www.ices.utexas.edu/, Institute for
Computational Engineering and Sciences} at The University of Texas at Austin.
@code{libflame} includes a compatibility layer, @code{lapack2flame}, which
includes a complete LAPACK implementation.")
- (license license:bsd-3)))
+ (license license:bsd-3))))
(define-public scasp
(let ((commit "89a427aa04ec6346425a40111c99b310901ffe51")
@@ -8454,15 +8457,15 @@ computation is supported via MPI.")
(define-public scilab
(package
(name "scilab")
- (version "5.5.0")
+ (version "5.5.2")
(source
(origin
(method url-fetch)
(uri
- (string-append "https://oos.eu-west-2.outscale.com/scilab-releases/"
+ (string-append "https://www.scilab.org/download/"
version "/scilab-" version "-src.tar.gz"))
(sha256
- (base32 "1hx57aji5d78brwqcf8a34i1hasm3h4nw46xjg7cgxj09s8yz5kq"))))
+ (base32 "0phg9pn24yw98hbh475ik84dnikf1225b2knh7qbhdbdx6fm2d57"))))
(build-system gnu-build-system)
(native-inputs (list pkg-config gfortran))
(inputs (list libxml2
@@ -8546,6 +8549,10 @@ computation is supported via MPI.")
"__threadSignal InterpReady;" "\n"
"__threadSignalLock InterpReadyLock;"
"\n")))
+ ;; Fix CPP compilation errors.
+ (substitute* "modules/output_stream/src/cpp/diary_manager.cpp"
+ (("if \\(array_size > 0\\)")
+ "if (*array_size > 0)"))
;; Set SCIHOME to /tmp before macros compilation.
(setenv "SCIHOME" "/tmp"))))))
(home-page "https://scilab.org")
diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm
index 2b0b45457e..4eeefe1490 100644
--- a/gnu/packages/mingw.scm
+++ b/gnu/packages/mingw.scm
@@ -46,7 +46,7 @@ specified, recurse and return a mingw-w64 with support for winpthreads."
(package
(name (string-append "mingw-w64" "-" machine
(if with-winpthreads? "-winpthreads" "")))
- (version "11.0.0")
+ (version "11.0.1")
(source
(origin
(method url-fetch)
@@ -54,7 +54,7 @@ specified, recurse and return a mingw-w64 with support for winpthreads."
"mirror://sourceforge/mingw-w64/mingw-w64/"
"mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
(sha256
- (base32 "0pycbxlqh8gj2zp3k531p0r4m7ay6f4nhs9sq9620c6q7dis23mx"))
+ (base32 "047f4m37kxf7g8qj23qplrzfd9cirfkkv8d175sfv2zfd7hbqriz"))
(patches
(search-patches "mingw-w64-6.0.0-gcc.patch"
"mingw-w64-dlltool-temp-prefix.patch"
@@ -144,7 +144,7 @@ several new APIs such as DirectX and DDK, and 64-bit support.")
(define-public mingw-w64-tools
(package
(name "mingw-w64-tools")
- (version "11.0.0")
+ (version "11.0.1")
(source
(origin
(method url-fetch)
@@ -152,7 +152,7 @@ several new APIs such as DirectX and DDK, and 64-bit support.")
"mirror://sourceforge/mingw-w64/mingw-w64/"
"mingw-w64-release/mingw-w64-v" version ".tar.bz2"))
(sha256
- (base32 "0pycbxlqh8gj2zp3k531p0r4m7ay6f4nhs9sq9620c6q7dis23mx"))))
+ (base32 "047f4m37kxf7g8qj23qplrzfd9cirfkkv8d175sfv2zfd7hbqriz"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
diff --git a/gnu/packages/patches/bloomberg-bde-cmake-module-path.patch b/gnu/packages/patches/bloomberg-bde-cmake-module-path.patch
index b08ca5eac0..7743863cf8 100644
--- a/gnu/packages/patches/bloomberg-bde-cmake-module-path.patch
+++ b/gnu/packages/patches/bloomberg-bde-cmake-module-path.patch
@@ -4,13 +4,11 @@ locating the bloomberg-bde-tools CMake modules.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -1,8 +1,6 @@
- cmake_minimum_required(VERSION 3.15)
+@@ -14,6 +14,7 @@ else()
+ if (NOT CMAKE_MODULE_PATH)
+ message(FATAL "Please specify path to BDE cmake modules.")
+ endif()
++ string(REPLACE ":" "cmake/;" CMAKE_MODULE_PATH "$ENV{CMAKE_PREFIX_PATH}cmake/")
--if (NOT CMAKE_MODULE_PATH)
-- message(FATAL "Please specify path to BDE cmake modules.")
--endif()
-+string(REPLACE ":" "cmake/;" CMAKE_MODULE_PATH "$ENV{CMAKE_PREFIX_PATH}cmake/")
-
- get_filename_component(repoName ${CMAKE_CURRENT_LIST_DIR} NAME)
+ include(bde_workspace)
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 72050a25aa..09c391793d 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -543,7 +543,7 @@ photographic equipment.")
libjpeg-turbo
libomp
libpng
- librsvg
+ (librsvg-for-system)
libsecret ;optional, for storing passwords
libsoup-minimal-2
libtiff
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c5e170b628..3b06b55817 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -14197,13 +14197,13 @@ implementations of ASN.1-based codecs and protocols.")
(define-public python-asn1tools
(package
(name "python-asn1tools")
- (version "0.158.0")
+ (version "0.166.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "asn1tools" version))
(sha256
- (base32 "1k88a1azmyvp2ab6qcf2i40dig5abhyn7cmlyhmwwh8kr3syvma0"))))
+ (base32 "1hragm8dsm10rlyz67xslj01bycprlnimdmq1i2acns6kl6difpn"))))
(build-system python-build-system)
(propagated-inputs
(list python-bitstruct python-diskcache python-prompt-toolkit
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 081ef19af1..5fc72d7937 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -1428,7 +1428,7 @@ basic input/output.")
;; it does not contain "extra" directory with completions, icon, etc.
(method git-fetch)
(uri (git-reference
- (url "https://github.com/jwilm/alacritty")
+ (url "https://github.com/alacritty/alacritty")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -1515,6 +1515,10 @@ basic input/output.")
(mkdir-p man)
(copy-file "extra/alacritty.man"
(string-append man "/alacritty.1"))
+ ;; Install example configuration.
+ (install-file "alacritty.yml"
+ (string-append share "/doc/alacritty-"
+ ,(package-version this-package) "/example"))
;; Install desktop file.
(install-file "extra/linux/Alacritty.desktop"
(string-append share "/applications"))
@@ -1561,7 +1565,7 @@ basic input/output.")
(list (search-path-specification
(variable "TERMINFO_DIRS")
(files '("share/terminfo")))))
- (home-page "https://github.com/alacritty/alacritty")
+ (home-page "https://alacritty.org/")
(synopsis "GPU-accelerated terminal emulator")
(description
"Alacritty is a GPU-accelerated terminal emulator with a strong focus on
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index d01c31e7db..6622d62387 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -2801,6 +2801,31 @@ and Metafont sources for fonts.")
of mathematical disciplines.")
(license license:lppl1.3+)))
+(define-public texlive-bartel-chess-fonts
+ (package
+ (name "texlive-bartel-chess-fonts")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/fonts/bartel-chess-fonts/"
+ "fonts/source/public/bartel-chess-fonts/"
+ "fonts/tfm/public/bartel-chess-fonts/")
+ (base32
+ "1gg7g2gb5j0g0ig4190260zlpnyfmdzcqn7dsw5kp9p5pbn5hbhf")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ ;; FIXME: Font metrics generation fails with "! Strange path (turning
+ ;; number is zero)." error.
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (delete 'generate-font-metrics))))
+ (native-inputs (list texlive-metafont))
+ (home-page "https://ctan.org/pkg/bartel-chess-fonts")
+ (synopsis "Set of fonts supporting chess diagrams")
+ (description "This package provides fonts supporting chess diagrams.")
+ (license license:gpl3+)))
+
(define-public texlive-basque-book
(package
(name "texlive-basque-book")
@@ -4168,6 +4193,98 @@ formatting chemistry documents according to the conventions of a number of
leading journals. It also provides some handy chemistry-related macros.")
(license license:lppl1.3+)))
+(define-public texlive-chess
+ (package
+ (name "texlive-chess")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/fonts/chess/"
+ "fonts/source/public/chess/"
+ "fonts/tfm/public/chess/" "tex/latex/chess/")
+ (base32
+ "079naqw9bd5da3c2bsa0322kdjrfpwa35inrfznzgrfdk1w0irs7")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (native-inputs (list texlive-metafont))
+ (home-page "https://ctan.org/pkg/chess")
+ (synopsis "Fonts for typesetting chess boards")
+ (description
+ "This is the original, and somewhat dated, TeX chess font package.
+Potential users should consider @code{skak} (for alternative fonts, and
+notation support), @code{texmate} (for alternative notation support), or
+@code{chessfss} (for flexible font choices).")
+ (license license:public-domain)))
+
+(define-public texlive-chess-problem-diagrams
+ (package
+ (name "texlive-chess-problem-diagrams")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/chess-problem-diagrams/"
+ "source/latex/chess-problem-diagrams/"
+ "tex/latex/chess-problem-diagrams/")
+ (base32
+ "0m32dhwdfrgy1r3lq8j7hdaa79kniwwq3lanbkkn32dhybwa0b61")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/chess-problem-diagrams")
+ (synopsis "Package for typesetting chess problem diagrams")
+ (description
+ "This package provides macros to typeset chess problem diagrams including
+fairy chess problems (mostly using rotated images of pieces) and other
+boards.")
+ (license license:lppl1.2+)))
+
+(define-public texlive-chessboard
+ (package
+ (name "texlive-chessboard")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/chessboard/"
+ "source/latex/chessboard/"
+ "tex/latex/chessboard/")
+ (base32
+ "1nz66h6baz5m2jfzjzyccw0rcpkc6rfbq9cc759y875b47j8pkhx")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/chessboard")
+ (synopsis "Print chess boards")
+ (description
+ "This package offers commands to print chessboards. It can print partial
+boards, hide pieces and fields, color the boards and put various marks on the
+board. It has a lot of options to place pieces on the board. Using exotic
+pieces (e.g., for fairy chess) is possible.")
+ (license license:lppl)))
+
+(define-public texlive-chessfss
+ (package
+ (name "texlive-chessfss")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/chessfss/"
+ "fonts/enc/dvips/chessfss/"
+ "source/latex/chessfss/"
+ "tex/latex/chessfss/")
+ (base32
+ "1l51famz3zx9v4v0mdxwk51xhaidwgfplf268q2f1ipif9h6ma5d")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/chessfss")
+ (synopsis "Package to handle chess fonts")
+ (description
+ "This package offers commands to use and switch between chess fonts.
+It uses the LaTeX font selection scheme (nfss). The package doesn't parse,
+format and print PGN input like e.g., the packages @code{skak} or
+@code{texmate}; the aim of the package is to offer writers of chess packages
+a bundle of commands for fonts, so that they don't have to implement all these
+commands for themselves. A normal user can use the package to print
+e.g,. single chess symbols and simple diagrams.")
+ (license license:lppl)))
+
(define-public texlive-chhaya
(package
(name "texlive-chhaya")
@@ -4190,6 +4307,25 @@ given by Mumbai University.")
(license:fsf-free "file://doc/latex/aalok/README.txt")
license:fdl1.3+))))
+(define-public texlive-chinesechess
+ (package
+ (name "texlive-chinesechess")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/chinesechess/"
+ "tex/latex/chinesechess/")
+ (base32
+ "15sszrrv1viaa74i57a81xhybhjq2vaxb188wl728hjzm8d0n0wm")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/chinesechess")
+ (synopsis "Typeset Chinese chess with @code{l3draw}")
+ (description
+ "This LaTeX3 package based on @code{l3draw} provides macros and an
+environment for Chinese chess manual writing.")
+ (license license:lppl1.3c)))
+
(define-public texlive-chordbars
(package
(name "texlive-chordbars")
@@ -4811,6 +4947,65 @@ with a wide array of formats. For the moment, it works out of the box with
ConTeXt and LaTeX.")
(license (list license:gpl3+ license:fdl1.3+))))
+(define-public texlive-crossword
+ (package
+ (name "texlive-crossword")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/crossword/"
+ "source/latex/crossword/"
+ "tex/latex/crossword/")
+ (base32
+ "1yxjhni6jw7j7wnz6g6d1bmri8afvqsj58bar0aqliyfhr55xzai")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/crossword")
+ (synopsis "Typeset crossword puzzles")
+ (description
+ "This is an extended grid-based puzzle package, designed to take all
+input (both grid and clues) from the same file. The package can
+typeset grids with holes in them, and can deal with several sorts of
+puzzle:
+@itemize
+
+@item the classical puzzle contains numbers for the words and clues
+for the words to be filled in;
+
+@item the numbered puzzle contains numbers in each cell where
+identical numbers represent identical letters; the goal is to find out
+which number corresponds to which letter;
+
+@item the fill-in type of puzzle consists of a grid and a list of
+words; the goal is to place all words in the grid;
+
+@item Sudoku and Kakuro puzzles involve filling in grids of numbers
+according to their own rules; format may be block-separated, or
+separated by thick lines.
+
+@end itemize")
+ (license license:expat)))
+
+(define-public texlive-crosswrd
+ (package
+ (name "texlive-crosswrd")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/crosswrd/"
+ "source/latex/crosswrd/"
+ "tex/latex/crosswrd/")
+ (base32
+ "0yhsrfn49wj579ms3smd1z97rjqnsi1wrsgrjs570bllgf09bcir")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/crosswrd")
+ (synopsis "Macros for typesetting crossword puzzles")
+ (description
+ "The package provides a LaTeX method of typesetting crosswords, and
+assists the composer ensure that the grid all goes together properly.")
+ (license license:lppl)))
+
(define-public texlive-cryptocode
(package
(name "texlive-cryptocode")
@@ -4860,6 +5055,28 @@ for structuring exercises, aggregating points, and displaying a grading table,
as well as several macros for easier math mode usage.")
(license license:expat)))
+(define-public texlive-customdice
+ (package
+ (name "texlive-customdice")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/customdice/"
+ "source/latex/customdice/"
+ "tex/latex/customdice/")
+ (base32
+ "0jwhvg13rla5pav0z4wns4s0x25myiqcinv592g6kqnbgwzj4q7g")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/customdice")
+ (synopsis "Simple commands for drawing customisable dice")
+ (description
+ "The @code{customdice} package for LaTeX, LuaLaTeX and XeTeX that
+provides functionality for drawing dice. The aim is to provide
+highly-customisable but simple-to-use commands, allowing: adding custom text
+to dice faces; control over colouring; control over sizing.")
+ (license license:cc-by-sa4.0)))
+
(define-public texlive-cvss
(package
(name "texlive-cvss")
@@ -5590,6 +5807,24 @@ order that one would expect.")
editions.")
(license license:gpl2)))
+(define-public texlive-egameps
+ (package
+ (name "texlive-egameps")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/egameps/" "tex/latex/egameps/")
+ (base32
+ "1wlki6y54czvvq7cvs7pvsvl1fhd8laaj5j52jv1v8w1msh5mlpr")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/egameps")
+ (synopsis "LaTeX package for typesetting extensive games")
+ (description
+ "The style is intended to have enough features to draw any extensive game
+with relative ease. The facilities of PSTricks are used for graphics.")
+ (license license:lppl)))
+
(define-public texlive-eledform
(package
(name "texlive-eledform")
@@ -6444,6 +6679,56 @@ products and convergence with some object oriented flavor (it gives the
possibility to override the standard behavior of norms, ...).")
(license license:lppl)))
+(define-public texlive-gamebook
+ (package
+ (name "texlive-gamebook")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/gamebook/"
+ "source/latex/gamebook/"
+ "tex/latex/gamebook/")
+ (base32
+ "0ksyr0hb1bfhc1lbbnzlj7ih8xw516djkn0lddnn07sb6hpzl8x4")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/gamebook")
+ (synopsis "Typeset gamebooks and other interactive novels")
+ (description
+ "This package provides the means in order to lay-out gamebooks with LaTeX.
+A simple gamebook example is included with the package, and acts as
+a tutorial.")
+ (license license:lppl1.3+)))
+
+(define-public texlive-gamebooklib
+ (package
+ (name "texlive-gamebooklib")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/gamebooklib/"
+ "source/latex/gamebooklib/"
+ "tex/latex/gamebooklib/")
+ (base32
+ "1zw1l4a6wqrqpfmvxj404lf8z559hm7sgw8cwxn04g6pk72jycdl")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/gamebooklib")
+ (synopsis "Macros for setting numbered entries in shuffled order")
+ (description
+ "This package provides macros and environments to allow the user to
+typeset a series of cross-referenced, numbered entries, shuffled into random
+order, to produce an interactive novel or @dfn{gamebook}. This allows entries
+to be written in natural order and shuffled automatically into a repeatable
+non-linear order. Limited support is provided for footnotes to appear at the
+natural position: the end of each entry, or the end of each page, whichever is
+closest to the footnote mark.
+
+This is unrelated to the @code{gamebook} package which is more concerned with
+the formatting of entries rather than their order. The two packages can be
+used together or separately.")
+ (license license:lppl1.3+)))
+
(define-public texlive-gastex
(package
(name "texlive-gastex")
@@ -6632,6 +6917,27 @@ a possibility of optical centering and right-hanging alignment of lines broken
because of length.")
(license license:lppl)))
+(define-public texlive-go
+ (package
+ (name "texlive-go")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/fonts/go/" "fonts/source/public/go/"
+ "fonts/tfm/public/go/" "source/fonts/go/"
+ "tex/latex/go/")
+ (base32
+ "1cvxfz9m7fx62iiz00f7qlywrmwwnpk0xzlyv63c90ji9xzfawcv")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (native-inputs (list texlive-metafont))
+ (home-page "https://ctan.org/pkg/go")
+ (synopsis "Fonts and macros for typesetting go games")
+ (description
+ "The macros provide for nothing more complicated than the standard
+19x19 board; the fonts are written in Metafont.")
+ (license license:public-domain)))
+
(define-public texlive-gost
(package
(name "texlive-gost")
@@ -6885,6 +7191,24 @@ programs are provided as sources, not installed in the @file{bin}
directories.")
(license license:public-domain)))
+(define-public texlive-hanoi
+ (package
+ (name "texlive-hanoi")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "tex/plain/hanoi/")
+ (base32
+ "09a7cv76naxzdach5507wdqnjp12amvlia7kw0jh224ydmkzfx9x")))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/hanoi")
+ (synopsis "Tower of Hanoi in TeX")
+ (description
+ "The Plain TeX program (typed in the shape of the towers of Hanoi) serves
+both as a game and as a TeX programming exercise. As a game, it will solve
+the towers with (up to) 15 discs.")
+ (license license:public-domain)))
+
(define-public texlive-happy4th
(package
(name "texlive-happy4th")
@@ -6947,6 +7271,26 @@ for Chinese character learning plans, presentations, exercise booklets and
other documentation work.")
(license license:lppl1.3c)))
+(define-public texlive-havannah
+ (package
+ (name "texlive-havannah")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/havannah/"
+ "source/latex/havannah/"
+ "tex/latex/havannah/")
+ (base32
+ "0kw71rr5jhn0gx89jynwxxgd6ddzpmr0wb5qnsh0drljmacq49ai")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/havannah")
+ (synopsis "Diagrams of board positions in the games of Havannah and Hex")
+ (description
+ "This package defines macros for typesetting diagrams of board positions
+in the games of Havannah and Hex.")
+ (license license:lppl1.2+)))
+
(define-public texlive-helmholtz-ellis-ji-notation
(package
(name "texlive-helmholtz-ellis-ji-notation")
@@ -7126,6 +7470,45 @@ adds a collection of useful @acronym{HEP, High Energy Physics} units to the
existing SIunits set.")
(license license:lppl)))
+(define-public texlive-hexboard
+ (package
+ (name "texlive-hexboard")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/hexboard/"
+ "source/latex/hexboard/"
+ "tex/latex/hexboard/")
+ (base32
+ "04z0qhajbjn55mqax4kaw53h7s6g84iy1yh0pfhzj3ib7gd4cpw4")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/hexboard")
+ (synopsis "For drawing Hex boards and games")
+ (description
+ "@code{hexboard} is a package for LaTeX that should also work with LuaTeX
+and XeTeX, that provides functionality for drawing Hex boards and games.")
+ (license license:cc-by-sa4.0)))
+
+(define-public texlive-hexgame
+ (package
+ (name "texlive-hexgame")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/hexgame/" "tex/latex/hexgame/")
+ (base32
+ "1qr9v7225k6xzykw3rdsxf2sa3b5asvmd767i88jwimmacwi2cp1")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/hexgame")
+ (synopsis "Provide an environment to draw a hexgame-board")
+ (description
+ "Hex is a mathematical game invented by the Danish mathematician Piet
+Hein and independently by the mathematician John Nash. This package defines
+an environment that enables the user to draw such a game in a trivial way.")
+ (license license:lppl)))
+
(define-public texlive-hitex
(package
(name "texlive-hitex")
@@ -7180,6 +7563,52 @@ TeX to format a document for nearly-arbitrary values of @code{\\hsize} and
@code{\\vsize}.")
(license license:x11)))
+(define-public texlive-hmtrump
+ (package
+ (name "texlive-hmtrump")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/lualatex/hmtrump/"
+ "fonts/truetype/public/hmtrump/"
+ "tex/lualatex/hmtrump/")
+ (base32
+ "03r1f784ipr2j38y2xy8agl94xwcmyv4pxd0l42iclmx08rczb9q")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/hmtrump")
+ (synopsis "Describe card games")
+ (description
+ "This package provides a font with LuaLaTeX support for describing
+card games.")
+ (license
+ (list (license:fsf-free
+ "doc/lualatex/hmtrump/nkd04_playing_cards_index/LICENSE")
+ license:cc-by-sa4.0))))
+
+(define-public texlive-horoscop
+ (package
+ (name "texlive-horoscop")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/horoscop/"
+ "source/latex/horoscop/"
+ "tex/latex/horoscop/")
+ (base32
+ "08acv1sg37qzq3h14kxv62xhrzrv4psgpychshj3gmzvp4vz0jsn")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/horoscop")
+ (synopsis "Generate astrological charts in LaTeX")
+ (description
+ "The @code{horoscop} package provides a unified interface for
+astrological font packages; typesetting with @code{pict2e} of standard wheel
+charts and some variations, in PostScript- and PDF-generating TeX engines; and
+access to external calculation software (Astrolog and Swiss Ephemeris) for
+computing object positions.")
+ (license license:public-domain)))
+
(define-public texlive-hrlatex
(package
(name "texlive-hrlatex")
@@ -7554,6 +7983,30 @@ digit form. This package provides support for spelling out numbers in Italian
words, both in cardinal and in ordinal form.")
(license license:lppl)))
+(define-public texlive-jeuxcartes
+ (package
+ (name "texlive-jeuxcartes")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/jeuxcartes/"
+ "tex/latex/jeuxcartes/")
+ (base32
+ "0imwfdwpap755id1k3cqk2p71nqsddc7g8kp3cc8376j4nc34c8a")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/jeuxcartes")
+ (synopsis "Macros to insert playing cards")
+ (description
+ "This package provides macros to insert playing cards, single, or
+hand, or random-hand, Poker or French Tarot or Uno, from PNG files.")
+ (license
+ (list license:cc-by-sa4.0
+ license:expat
+ license:lgpl2.1
+ license:lppl1.3c
+ license:public-domain))))
+
(define-public texlive-jfmutil
(package
(name "texlive-jfmutil")
@@ -7583,6 +8036,25 @@ format, which is a subset of the ZVP format.
@end itemize")
(license license:expat)))
+(define-public texlive-jigsaw
+ (package
+ (name "texlive-jigsaw")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/jigsaw/" "tex/latex/jigsaw/")
+ (base32
+ "0qpbsff6saxv2qp4fzyqrprxjy2434ylm11snyc3d59imdmksq0b")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/jigsaw")
+ (synopsis "Draw jigsaw pieces with TikZ")
+ (description
+ "This is a small LaTeX package to draw jigsaw pieces with TikZ. It is
+possible to draw individual pieces and adjust their shape, create tile
+patterns or automatically generate complete jigsaws.")
+ (license license:lppl1.3c)))
+
(define-public texlive-jkmath
(package
(name "texlive-jkmath")
@@ -8089,6 +8561,26 @@ practical guide to LaTeX2e by Mark Trettin. It focuses on obsolete packages
and commands.")
(license license:public-domain)))
+(define-public texlive-labyrinth
+ (package
+ (name "texlive-labyrinth")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/labyrinth/"
+ "tex/latex/labyrinth/")
+ (base32
+ "0i4w3dmfjq9vp6m82p4afplca0pdvk36g2h1yskmwbis07bykdgp")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/labyrinth")
+ (synopsis "Draw labyrinths and solution paths")
+ (description
+ "The @code{labyrinth} package provides code and an environment for
+typesetting simple labyrinths with LaTeX, and generating an automatic or
+manual solution path.")
+ (license license:lppl)))
+
(define-public texlive-lambda
(package
(name "texlive-lambda")
@@ -8569,6 +9061,90 @@ proofs and boxes. It creates proofs in a style similar to that used in
@emph{Logic in Computer Science} by Huth and Ryan.")
(license license:lppl1.3+)))
+(define-public texlive-logicpuzzle
+ (package
+ (name "texlive-logicpuzzle")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/logicpuzzle/"
+ "scripts/logicpuzzle/"
+ "tex/latex/logicpuzzle/")
+ (base32
+ "1m2yrizdj76gywxkcfz90by2qwx8pq8akacj5qmsin095hnyskfh")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/logicpuzzle")
+ (synopsis "Typeset (grid-based) logic puzzles")
+ (description
+ "The package allows the user to typeset various logic puzzles. At the
+moment the following puzzles are supported:
+
+@itemize
+
+@item 2D-Sudoku (aka Magiequadrat, Diagon, ...),
+
+@item Battleship (aka Bimaru, Marinespiel, Batalla Naval, ...),
+
+@item Bokkusu (aka Kakurasu, Feldersummenratsel, ...),
+
+@item Bridges (akak Bruckenbau, Hashi, ...),
+
+@item Chaos Sudoku,
+
+@item Four Winds (aka Eminent Domain, Lichtstrahl, ...),
+
+@item Hakyuu (aka Seismic, Ripple Effect, ...),
+
+@item Hitori,
+
+@item Kakuro,
+
+@item Kendoku (aka Mathdoku, Calcudoku, Basic, MiniPlu, Ken Ken, Square
+Wisdom, Sukendo, Caldoku, ...),
+
+@item Killer Sudoku (aka Samunapure, Sum Number Place, Sumdoku, Gebietssummen,
+...),
+
+@item Laser Beam (aka Laserstrahl, ...),
+
+@item Magic Labyrinth (aka Magic Spiral, Magisches Labyrinth, ...),
+
+@item Magnets (aka Magnetplatte, Magnetfeld, ...),
+
+@item Masyu (aka Mashi, White or Black Pearls, ...),
+
+@item Minesweeper (aka Minensuche, ...),
+
+@item Nonogram (aka Griddlers, Hanjie, Tsunami, Logic Art, Logimage, ...),
+
+@item Number Link (aka Alphabet Link, Arukone, Buchstabenbund, ...),
+
+@item Resuko,
+
+@item Schatzsuche,
+
+@item Skyline (aka Skycrapers, Wolkenkratzer, Hochhauser, ...), including
+Skyline Sudoku and Skyline Sudou (N*N) variants,
+
+@item Slitherlink (aka Fences, Number Line, Dotty Dilemma, Sli-Lin, Takegaki,
+Great Wall of China, Loop the Loop, Rundweg, Gartenzaun, ...),
+
+@item Star Battle (aka Sternenschlacht, ...),
+
+@item Stars and Arrows (aka Sternenhimmel, ...),
+
+@item Sudoku,
+
+@item Sun and Moon (aka Sternenhaufen, Munraito, ...),
+
+@item Tents and Trees (aka Zeltlager, Zeltplatz, Camping, ...),
+
+@item and Tunnel.
+
+@end itemize")
+ (license license:lppl1.3+)))
+
(define-public texlive-lollipop
(package
(name "texlive-lollipop")
@@ -9209,6 +9785,30 @@ classes, @code{fiche} and @code{cours}, useful to create short high school
documents such as tests or lessons. The documentation is in French.")
(license license:gpl3+)))
+(define-public texlive-mahjong
+ (package
+ (name "texlive-mahjong")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/mahjong/" "source/latex/mahjong/"
+ "tex/latex/mahjong/")
+ (base32
+ "1nkj6kri9dpk3gkms4raldzkj3dhsf54vggivb6nh169s7a16m7q")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/mahjong")
+ (synopsis "Typeset mahjong tiles using MPSZ Notation")
+ (description
+ "The @code{mahjong} package provides a LaTeX interface for typesetting
+mahjong tiles using an extended version of MPSZ algebraic notation. Its
+features include spaces, rotated, blank, and concealed tiles, as well as red
+fives. The size of the mahjong tiles can be controlled using a package option
+and an optional argument of @code{\\mahjong}. It is primarily aimed at
+Riichi (aka Japanese) Mahjong but can be used to typeset any style of
+mahjong.")
+ (license (list license:expat license:cc-by4.0))))
+
(define-public texlive-matapli
(package
(name "texlive-matapli")
@@ -9481,6 +10081,25 @@ representation of common vectors and tensors such as forces, velocities,
moments of inertia, etc.")
(license license:lppl1.3c)))
+(define-public texlive-maze
+ (package
+ (name "texlive-maze")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/maze/" "tex/latex/maze/")
+ (base32
+ "0dwsv62rpyll1cfh1qpz6msmypc1a61b1pb0a7lm89ks1cj42zmg")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/maze")
+ (synopsis "Generate random mazes")
+ (description
+ "This package can generate random square mazes of a specified size.
+The mazes generated by this package are natural and their solution is not too
+obvious. The output it based on the @code{picture} environment.")
+ (license license:lppl1.3c)))
+
(define-public texlive-mecaso
(package
(name "texlive-mecaso")
@@ -9945,6 +10564,24 @@ package, where the symbols are taken from the MusiXTeX fonts. But it provides
a larger range of symbols and a more flexible, user-friendly interface.")
(license license:lppl1.3+)))
+(define-public texlive-musikui
+ (package
+ (name "texlive-musikui")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/musikui/" "tex/latex/musikui/")
+ (base32
+ "1r5ygiavq51sj0l2jcn8jzc1jafach05a3pz2xvzxmxsxdjgzf02")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/musikui")
+ (synopsis "Easy creation of ``arithmetical restoration'' puzzles")
+ (description
+ "This package permits to easily typeset arithmetical restorations using
+LaTeX.")
+ (license license:lppl)))
+
(define-public texlive-musixguit
(package
(name "texlive-musixguit")
@@ -10358,6 +10995,30 @@ the columns; tools to color rows and columns with a good PDF result; blocks of
cells; etc.")
(license license:lppl1.3+)))
+(define-public texlive-nimsticks
+ (package
+ (name "texlive-nimsticks")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/nimsticks/"
+ "source/latex/nimsticks/"
+ "tex/latex/nimsticks/")
+ (base32
+ "0y7v01a02lz6mj1fdyrqzgz7kf7y4m3jarkr3sdyid25k0zx9dbj")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/nimsticks")
+ (synopsis "Draws sticks for games of multi-pile nim")
+ (description
+ "This LaTeX package provides commands @code{\\drawnimstick} to draw
+a single nim stick and @code{\\nimgame} which represents games of multi-pile
+Nim. Nim sticks are drawn with a little random wobble so they look thrown
+together and not too regular. The package also provides options to customise
+the size and colour of the sticks, and flexibility to draw heaps of different
+objects.")
+ (license license:expat)))
+
(define-public texlive-nnext
(package
(name "texlive-nnext")
@@ -10702,6 +11363,51 @@ working with the source code painless (well, less painful). A variety of
stylistic variants are available to suit personal taste.")
(license license:lppl1.3+)))
+(define-public texlive-othello
+ (package
+ (name "texlive-othello")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/othello/"
+ "fonts/source/public/othello/"
+ "fonts/tfm/public/othello/"
+ "tex/latex/othello/")
+ (base32
+ "0ijb2giry6bjvx6ll51n9c8fqy1kmwgrwvrg21mxnj9xc4gkdjrh")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (native-inputs (list texlive-metafont))
+ (home-page "https://ctan.org/pkg/othello")
+ (synopsis "Create othello boards")
+ (description
+ "This package can be used to create othello boards. It includes also
+fonts, as Metafont source.")
+ (license license:gpl3+)))
+
+(define-public texlive-othelloboard
+ (package
+ (name "texlive-othelloboard")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/othelloboard/"
+ "tex/latex/othelloboard/")
+ (base32
+ "1kaj01bn4828261n8s761qcv7hg6a5aqi577rqglbkjg9grdh1s6")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/othelloboard")
+ (synopsis
+ "Typeset othello (Reversi) diagrams of any size, with annotations")
+ (description
+ "The package enables the user to generate high-quality othello (also
+known as Reversi) board diagrams of any size. The diagrams support
+annotations, including full game transcripts. Automated board or transcript
+creation, from plain text formats standard to WZebra (and other programs) is
+also supported.")
+ (license license:lppl1.3+)))
+
(define-public texlive-otibet
(package
(name "texlive-otibet")
@@ -10836,6 +11542,26 @@ have value when comparing any two texts.")
original source, parallel on the same page, one above the other.")
(license license:lppl)))
+(define-public texlive-pas-crosswords
+ (package
+ (name "texlive-pas-crosswords")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/pas-crosswords/"
+ "tex/latex/pas-crosswords/")
+ (base32
+ "1masrs2ywyxa9rfw7vz9j9jw0b1hhkd5fin2rg7rd2x1qb305q5w")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/pas-crosswords")
+ (synopsis "Creating crossword grids, using TikZ")
+ (description
+ "The package produces crossword grids, using a wide variety of colours
+and decorations of the grids and the text in them. The package uses TikZ for
+its graphical output.")
+ (license license:lppl)))
+
(define-public texlive-pascaltriangle
(package
(name "texlive-pascaltriangle")
@@ -11533,6 +12259,23 @@ elements such as keywords, identifiers, and comments.")
algorithms in a natural manner.")
(license license:lppl)))
+(define-public texlive-psgo
+ (package
+ (name "texlive-psgo")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/psgo/" "tex/latex/psgo/")
+ (base32
+ "0ki49zbdn0qvzsz7h53vqwpf4rmiiranq52lh344z7wypznddi28")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/psgo")
+ (synopsis "Typeset go diagrams with PSTricks")
+ (description
+ "This packages can be used to typeset go diagrams with PSTricks.")
+ (license license:lppl)))
+
(define-public texlive-psizzl
(package
(name "texlive-psizzl")
@@ -11675,6 +12418,26 @@ systems, with Weyl chambers, weight lattices, and parabolic subgroups.")
for typesetting homework assignments, and formula cheat sheets for exams.")
(license license:lppl1.3c)))
+(define-public texlive-realtranspose
+ (package
+ (name "texlive-realtranspose")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/realtranspose/"
+ "source/latex/realtranspose/"
+ "tex/latex/realtranspose/")
+ (base32
+ "0ar1yisx6pq8qjhsvb406l5j06y9jkyxvvgq9s1sg15nk9sjzy1r")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/realtranspose")
+ (synopsis "The ``real'' way to transpose a matrix")
+ (description
+ "With @code{realtranspose} you can notate the transposition of a matrix
+by rotating the symbols 90 degrees.")
+ (license license:expat)))
+
(define-public texlive-rec-thy
(package
(name "texlive-rec-thy")
@@ -11792,6 +12555,28 @@ method description path parameter request body and content type response body,
content type and status code.")
(license license:lppl1.3c)))
+(define-public texlive-reverxii
+ (package
+ (name "texlive-reverxii")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/generic/reverxii/"
+ "source/generic/reverxii/"
+ "tex/generic/reverxii/")
+ (base32
+ "1gg8qbc8ll3n6rfp3pjshbbjd30s4n3yk219y6qcmz1nv66fp1qq")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (arguments (list #:tex-format "latex"))
+ (native-inputs (list (texlive-updmap.cfg)))
+ (home-page "https://ctan.org/pkg/reverxii")
+ (synopsis "Playing Reversi in TeX")
+ (description
+ "Following the lead of @file{xii.tex}, this little program plays
+Reversi.")
+ (license license:lppl1.3c)))
+
(define-public texlive-revquantum
(package
(name "texlive-revquantum")
@@ -11903,6 +12688,46 @@ German lawyers. Now in the early beginning it only contains @code{rtklage},
a class to make lawsuits.")
(license license:lppl)))
+(define-public texlive-rubik
+ (package
+ (name "texlive-rubik")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/rubik/"
+ "doc/man/man1/rubikrotation.1"
+ "doc/man/man1/rubikrotation.man1.pdf"
+ "scripts/rubik/"
+ "source/latex/rubik/"
+ "tex/latex/rubik/")
+ (base32
+ "0v7j88d72acgrj24x8g859k7q6qd47pjy3wdqfvrqq3y39x48011")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (arguments (list #:link-scripts #~(list "rubikrotation.pl")))
+ (inputs (list perl))
+ (home-page "https://ctan.org/pkg/rubik")
+ (synopsis "Document Rubik cube configurations and rotation sequences")
+ (description
+ "The bundle provides four packages:
+@itemize
+
+@item @code{rubikcube} provides commands for typesetting Rubik cubes
+and their transformations,
+
+@item @code{rubiktwocube} provides commands for typesetting Rubik
+twocubes and their transformations,
+
+@item @code{rubikrotation} can process a sequence of Rubik rotation
+moves, with the help of a Perl package executed via
+@code{\\write18} (shell escape) commands,
+
+@item @code{rubikpatterns} is a collection of well known patterns and
+their associated rotation sequences.
+
+@end itemize")
+ (license license:lppl1.3+)))
+
(define-public texlive-sankey
(package
(name "texlive-sankey")
@@ -11944,6 +12769,27 @@ their calculations or simulations into LaTeX projects. The package is also
capable of overloading the Sweave User Manual and SASweave packages.")
(license license:lppl1.3+)))
+(define-public texlive-schwalbe-chess
+ (package
+ (name "texlive-schwalbe-chess")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/schwalbe-chess/"
+ "source/latex/schwalbe-chess/"
+ "tex/latex/schwalbe-chess/")
+ (base32
+ "1i68bl4hb7cagwwb4lyihvdnwgd0irgqp7344m5kmsdxy7z94fmr")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/schwalbe-chess")
+ (synopsis "Typeset the German chess magazine @emph{Die Schwalbe}")
+ (description
+ "The package is used to typeset the German chess magazine @emph{Die
+Schwalbe}. It is based on @code{chess-problem-diagrams}, which in its turn
+has a dependency on the @code{bartel-chess-fonts}.")
+ (license license:lppl1.2+)))
+
(define-public texlive-sciposter
(package
(name "texlive-sciposter")
@@ -11987,6 +12833,24 @@ effortless pretty-printing of SuperCollider source code in documents typeset
with LaTeX and friends.")
(license license:lppl1.3+)))
+(define-public texlive-scrabble
+ (package
+ (name "texlive-scrabble")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/scrabble/" "tex/latex/scrabble/")
+ (base32
+ "1wr85x1kh6457sr61cq6mx8z6zrf61c9659a941wakc610sbqlsx")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/scrabble")
+ (synopsis "Commands for Scrabble boards")
+ (description
+ "This package provides some commands (in English and in French) to work
+with a Scrabble board.")
+ (license license:lppl1.3c)))
+
(define-public texlive-scratchx
(package
(name "texlive-scratchx")
@@ -12163,6 +13027,27 @@ book.")
electrical and electronics engineers and graph theorists.")
(license license:lppl)))
+(define-public texlive-sgame
+ (package
+ (name "texlive-sgame")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/sgame/" "tex/latex/sgame/")
+ (base32
+ "0kzrimwmgwa3f61vawc1fq5vvgx4pxa2586wqhd4cf66ywdikn0v")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/sgame")
+ (synopsis "LaTeX style for typesetting strategic games")
+ (description
+ "This package can be used to format strategic games. For a 2x2 game,
+for example, the input: @samp{\\begin@{game@}{2}{2} &$L$ &$M$\\\\ $T$ &$2,2$
+&$2,0$\\\\ $B$ &$3,0$ &$0,9$ \\end@{game@}} produces output with (a) boxes
+around the payoffs, (b) payoff columns of equal width, and (c) payoffs
+vertically centered within the boxes.")
+ (license license:lppl)))
+
(define-public texlive-shuffle
(package
(name "texlive-shuffle")
@@ -12331,6 +13216,54 @@ International System of Units (SI). Note that the package is now superseded
by @code{siunitx}; @code{siunits} has maintenance-only support, now.")
(license license:lppl1.3+)))
+(define-public texlive-skak
+ (package
+ (name "texlive-skak")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/skak/"
+ "fonts/source/public/skak/"
+ "fonts/tfm/public/skak/" "tex/latex/skak/")
+ (base32
+ "12fbzvyz40fnb9v5y80wkmv1fmvi7frbyv28k68lagdalm7mwp3b")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (native-inputs (list texlive-metafont))
+ (home-page "https://ctan.org/pkg/skak")
+ (synopsis "Fonts and macros for typesetting chess games")
+ (description
+ "This package provides macros and fonts in Metafont format which can be
+used to typeset chess games using PGN, and to show diagrams of the current
+board in a document. An Adobe Type 1 implementation of skak's fonts is
+available as package @code{skaknew}; an alternative chess notational scheme is
+available in package @code{texmate}, and a general mechanism for selecting
+chess fonts is provided in @code{chessfss}.")
+ (license license:lppl)))
+
+(define-public texlive-skaknew
+ (package
+ (name "texlive-skaknew")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/fonts/skaknew/"
+ "fonts/afm/public/skaknew/"
+ "fonts/map/dvips/skaknew/"
+ "fonts/opentype/public/skaknew/"
+ "fonts/tfm/public/skaknew/"
+ "fonts/type1/public/skaknew/")
+ (base32
+ "1jpm36qb65jbsrhq1yqhwajqz3jg35wid0wlav9hk7q4hd58qi4r")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/skaknew")
+ (synopsis "The @code{skak} chess fonts redone in Adobe Type 1")
+ (description
+ "This package offers Adobe Type 1 versions of the fonts provided as
+Metafont source by the @code{skak} bundle.")
+ (license license:lppl)))
+
(define-public texlive-skmath
(package
(name "texlive-skmath")
@@ -12432,6 +13365,28 @@ scripture references);
@end itemize")
(license license:gpl2)))
+(define-public texlive-soup
+ (package
+ (name "texlive-soup")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/soup/" "source/latex/soup/"
+ "tex/latex/soup/")
+ (base32
+ "04lpc3nn45i66cwnjn0sycdpfaynzkb19djyfi8ca3ppb1sn79z6")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/soup")
+ (synopsis "Generate alphabet soup puzzles")
+ (description
+ "This package generates alphabet soup puzzles (aka word search puzzles),
+and variations using numbers or other symbols. It provides macros to generate
+an alphabet soup style puzzle (also known as word search puzzles or
+find-the-word puzzles). It also allows creating number soup and soups with
+custom symbol sets.")
+ (license license:lppl1.3+)))
+
(define-public texlive-spalign
(package
(name "texlive-spalign")
@@ -12770,6 +13725,51 @@ mode by providing an optional argument to @samp{_}. This is implemented by
using the @code{\\text@{@}} command from the @code{amstext} package.")
(license license:gpl3)))
+(define-public texlive-sudoku
+ (package
+ (name "texlive-sudoku")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/sudoku/" "source/latex/sudoku/"
+ "tex/latex/sudoku/")
+ (base32
+ "14g1kkxinp9l57yvdpbdx4wclgka71gilcbxl1dc6sdj4cmw7mbz")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/sudoku")
+ (synopsis "Create sudoku grids")
+ (description
+ "The @code{sudoku} package provides an environment for typesetting sudoku
+grids.")
+ (license license:lppl)))
+
+(define-public texlive-sudokubundle
+ (package
+ (name "texlive-sudokubundle")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/sudokubundle/"
+ "source/latex/sudokubundle/"
+ "tex/latex/sudokubundle/")
+ (base32
+ "1swsx8r0chgxv8h27syj4h5cf7lnj6mxvwhhzixbkjg6scrvd8kw")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/sudokubundle")
+ (synopsis "A set of sudoku-related packages")
+ (description
+ "The bundle provides three packages: @code{printsudoku}, which provides
+a command @code{\\sudoku} whose argument is the name of a file containing
+a puzzle specification; @code{solvesudoku}, which attempts to find a solution
+to the puzzle in the file named in the argument; and @code{createsudoku},
+which uses the @code{random} package to generate a puzzle according to a bunch
+of parameters that the user sets via macros.
+
+The bundle comes with a set of ready-prepared puzzle files.")
+ (license license:lppl)))
+
(define-public texlive-susy
(package
(name "texlive-susy")
@@ -12946,6 +13946,27 @@ package requires that shell escape be enabled.")
variations of functions as they are used in France.")
(license license:lppl1.3+)))
+(define-public texlive-tangramtikz
+ (package
+ (name "texlive-tangramtikz")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/tangramtikz/"
+ "tex/latex/tangramtikz/")
+ (base32
+ "18n67k7ggqh3mvp8iqyp44d70gh3s8jfbwbp3ympv2ff5drjjb3l")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/tangramtikz")
+ (synopsis "Tangram puzzles, with TikZ")
+ (description
+ "This package provides some commands (with English and French keys) to
+work with tangram puzzles: @code{\\begin{EnvTangramTikz}} and
+@code{\\PieceTangram} to position a piece, @code{\\TangramTikz} to display
+a predefined tangram.")
+ (license license:lppl1.3c)))
+
(define-public texlive-tdsfrmath
(package
(name "texlive-tdsfrmath")
@@ -13702,6 +14723,32 @@ bundle, for which map files are available to provide a Vietnamese version.")
(license (list license:lppl1.3+
(license:fsf-free "file://source/generic/vntex/LICENSE-utopia.txt")))))
+(define-public texlive-wargame
+ (package
+ (name "texlive-wargame")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/wargame/" "source/latex/wargame/"
+ "tex/latex/wargame/")
+ (base32
+ "1j56fnq5m298ly650v0k7qla15kiwcwswsd7454wqv9f191gmhhh")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/wargame")
+ (synopsis "LaTeX package to prepare hex'n'counter wargames")
+ (description
+ "This package can help make classic Hex'n'Counter wargames using LaTeX.
+The package provide tools for generating Hex maps and boards Counters for
+units, markers, and so on Counter sheets Order of Battle charts Illustrations
+in the rules using the defined maps and counters The result will often be
+a PDF (or set of PDFs) that contain everything one will need for
+a game (rules, charts, boards, counter sheets). The package uses NATO App6
+symbology for units. The package uses NATO App6 symbology for units. The
+package uses TikZ for most things. The package support exporting the game to
+a VASSAL module.")
+ (license license:cc-by-sa4.0)))
+
(define-public texlive-witharrows
(package
(name "texlive-witharrows")
@@ -13831,6 +14878,47 @@ Cyrillic Mongolian using either XeLaTeX or LuaLaTeX. The command
to be able to create multilingual documents.")
(license license:lppl1.3c)))
+(define-public texlive-xq
+ (package
+ (name "texlive-xq")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/fonts/xq/" "fonts/source/public/xq/"
+ "fonts/tfm/public/xq/" "tex/latex/xq/")
+ (base32
+ "1g9j4vdlcnidv247bmagqd7q357h6fkg3b5cx1765n38k1bx8ikx")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (native-inputs (list texlive-metafont))
+ (home-page "https://ctan.org/pkg/xq")
+ (synopsis "Support for writing about xiangqi")
+ (description
+ "The package is for writing about xiangqi or chinese chess. You can
+write games or parts of games and show diagrams with special positions.")
+ (license license:lppl)))
+
+(define-public texlive-xskak
+ (package
+ (name "texlive-xskak")
+ (version (number->string %texlive-revision))
+ (source (texlive-origin
+ name version
+ (list "doc/latex/xskak/" "source/latex/xskak/"
+ "tex/latex/xskak/")
+ (base32
+ "0b17y5i24adpb7f8jxf3lc5zwb1q4yf3w2vx9ql73xpi39xg6mcj")))
+ (outputs '("out" "doc"))
+ (build-system texlive-build-system)
+ (home-page "https://ctan.org/pkg/xskak")
+ (synopsis "Extension to the @code{skak} package for chess typesetting")
+ (description
+ "Xskak, as its prime function, saves information about a chess game for
+later use (e.g., to loop through a game to make an animated board). The
+package also extends the input that the parsing commands can handle and offers
+an interface to define and switch between indefinite levels of styles.")
+ (license license:lppl)))
+
(define-public texlive-xyling
(package
(name "texlive-xyling")
@@ -37577,267 +38665,6 @@ documents as well as DVI output.")
(define-deprecated-package texlive-generic-pdftex texlive-pdftex)
-(define texlive-bin-full
- (package/inherit texlive-bin
- (name "texlive-bin-full")
- (arguments
- (substitute-keyword-arguments (package-arguments texlive-bin)
- ((#:configure-flags _)
- #~(let ((kpathsea #$(this-package-input "texlive-libkpathsea")))
- (list "--with-banner-add=/GNU Guix"
- "--enable-shared"
- "--disable-native-texlive-build"
- "--disable-static"
- "--disable-kpathsea"
- "--with-system-cairo"
- "--with-system-freetype2"
- "--with-system-gd"
- "--with-system-gmp"
- "--with-system-graphite2"
- "--with-system-harfbuzz"
- "--with-system-icu"
- "--with-system-libgs"
- "--with-system-libpaper"
- "--with-system-libpng"
- "--with-system-mpfr"
- "--with-system-pixman"
- "--with-system-potrace"
- "--with-system-teckit"
- "--with-system-zlib"
- "--with-system-zziplib"
- ;; Help locating external kpathsea. For some reason
- ;; PKG-CONFIG is unable to find it.
- "--with-system-kpathsea"
- (format #f "--with-kpathsea-includes=~a/include" kpathsea)
- (format #f "--with-kpathsea-lib=~a/lib" kpathsea)
- ;; LuaJIT is not ported to some architectures yet.
- #$@(if (or (target-ppc64le?)
- (target-riscv64?))
- '("--disable-luajittex"
- "--disable-luajithbtex"
- "--disable-mfluajit")
- '()))))
- ((#:phases phases)
- #~(modify-phases #$phases
- (add-after 'install 'symlink-kpathsea-binaries
- (lambda _
- (let ((bin (string-append
- #$(this-package-input "texlive-libkpathsea")
- "/bin"))
- (files
- '("kpseaccess" "kpsereadlink" "kpsestat" "kpsewhich")))
- (with-directory-excursion (string-append #$output "/bin")
- (for-each (lambda (b) (symlink (string-append bin "/" b) b))
- files)))))
- (add-after 'install 'merge-core-scripts
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- (let ((texlive-scripts
- (dirname
- (dirname
- (search-input-file (or native-inputs inputs)
- "tlpkg/texlive.tlpdb"))))
- (tlpkg (string-append #$output "/share/tlpkg")))
- ;; "tlpkg" directory is neither provided by texlive-bin nor
- ;; by texlive-texmf.
- (mkdir-p tlpkg)
- (copy-recursively (string-append texlive-scripts "/tlpkg")
- tlpkg)
- ;; texlive-bin source doesn't provide this Perl script.
- ;; Yet, it is referenced in "fmtutil.pl" so we need to move
- ;; it here too.
- (install-file
- (string-append texlive-scripts
- "/texmf-dist/scripts/texlive/mktexlsr.pl")
- (string-append #$output
- "/share/texmf-dist/scripts/texlive")))))
- (add-after 'merge-core-scripts 'patch-core-scripts
- (lambda _
- (with-directory-excursion
- (string-append #$output "/share/texmf-dist/scripts/texlive")
- ;; Make sure that fmtutil can find its Perl modules.
- (substitute* "fmtutil.pl"
- (("\\$TEXMFROOT/")
- (string-append #$output "/share/")))
- ;; Likewise for updmap.pl.
- (substitute* "updmap.pl"
- (("\\$TEXMFROOT/tlpkg")
- (string-append #$output "/share/tlpkg")))
- ;; Likewise for the tlmgr.
- (substitute* "tlmgr.pl"
- ((".*\\$::installerdir = \\$Master.*" all)
- (format #f " $Master = ~s;~%~a"
- (string-append #$output "/share")
- all))))))
- (add-after 'patch-core-scripts 'patch-shell-scripts
- (lambda _
- (with-directory-excursion
- (string-append #$output "/share/texmf-dist/scripts")
- ;; First patch shell scripts with ".sh" extension.
- (let* ((scripts (find-files "." "\\.sh$"))
- (commands '("awk" "basename" "cat" "grep" "mkdir" "rm"
- "sed" "sort" "uname"))
- (command-regexp
- (format #f "\\b(~a)\\b" (string-join commands "|")))
- (iso-8859-1-encoded-scripts
- '("./texlive-extra/rubibtex.sh"
- "./texlive-extra/rumakeindex.sh")))
- (define (substitute-commands scripts)
- (substitute* scripts
- ((command-regexp dummy command)
- (which command))))
- (substitute-commands
- (lset-difference string= scripts iso-8859-1-encoded-scripts))
- (with-fluids ((%default-port-encoding "ISO-8859-1"))
- (substitute-commands iso-8859-1-encoded-scripts)))
- ;; Then patch scripts without such extension.
- (let ((dirs (map (compose dirname which)
- (list "awk" "cat" "grep" "sed"))))
- (substitute* (find-files "texlive" "^mktex(mf|pk|tfm)$")
- (("^version=" m)
- (format #false "PATH=\"~{~a:~}$PATH\"; export PATH~%~a"
- dirs m)))))))))))
- (native-inputs
- (modify-inputs (package-native-inputs texlive-bin)
- (append (package-source texlive-scripts))))
- (inputs
- (modify-inputs (package-inputs texlive-bin)
- (append texlive-libkpathsea)))
- (propagated-inputs '())))
-
-(define texlive-texmf
- (package
- (name "texlive-texmf")
- (version (package-version texlive-bin))
- (source (origin
- (method url-fetch)
- (uri (string-append "ftp://tug.org/historic/systems/texlive/"
- (string-take version 4)
- "/texlive-" version "-texmf.tar.xz"))
- (sha256
- (base32
- "0lqjm11pr9vasvivaci3k9xcmdyd08ldnh31zf8avjjs09xcfkac"))))
- (build-system copy-build-system)
- (arguments
- (list
- #:modules '((guix build copy-build-system)
- (guix build utils)
- (srfi srfi-1)
- (srfi srfi-26))
- ;; This package takes 4 GiB, which we can't afford to distribute from
- ;; our servers.
- #:substitutable? #f
- #:install-plan #~'(("texmf-dist/" "share/texmf-dist"))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'texmf-config
- (lambda* (#:key inputs native-inputs #:allow-other-keys)
- (let* ((share (string-append #$output "/share"))
- (texmf-dist (string-append share "/texmf-dist"))
- (web2c (string-append texmf-dist "/web2c"))
- (fmtutil.cnf (string-append web2c "/fmtutil.cnf"))
- (texlive-bin
- #$(this-package-native-input "texlive-bin-full")))
- ;; LuaJIT is not ported to powerpc64* yet.
- (if #$(target-ppc64le?)
- (substitute* fmtutil.cnf
- (("^(luajittex|luajithbtex|mfluajit)" m)
- (string-append "#! " m))))
- ;; Register paths in texmfcnf.lua, needed for context.
- (substitute* (string-append web2c "/texmfcnf.lua")
- (("selfautodir:") #$output)
- (("selfautoparent:") (string-append share "/")))
- ;; Set path to TeXLive Perl modules
- (setenv "PERL5LIB"
- (string-append (getenv "PERL5LIB") ":"
- (string-append texlive-bin
- "/share/tlpkg")))
- ;; Configure the texmf-dist tree.
- (setenv "GUIX_TEXMF" texmf-dist)
- (setenv "PATH"
- (string-append (getenv "PATH") ":" texlive-bin "/bin:"))
- (let ((updmap.cfg (string-append web2c "/updmap.cfg")))
- (invoke (string-append texlive-bin "/bin/updmap-sys")
- "--nohash" "--syncwithtrees"
- (string-append "--cnffile=" updmap.cfg)))
- (invoke (string-append texlive-bin "/bin/fmtutil-sys")
- "--cnffile" fmtutil.cnf
- "--all"
- "--fmtdir" web2c)))))))
- (native-inputs (list texlive-bin-full))
- (inputs (list lua perl python-wrapper ruby tcsh))
- (properties `((max-silent-time . 9600))) ; don't time out while grafting
- (synopsis "TeX Live, a package of the TeX typesetting system")
- (description
- "TeX Live provides a comprehensive TeX document production system.
-It includes all the major TeX-related programs, macro packages, and fonts
-that are free software, including support for many languages around the
-world.
-
-This package contains the complete tree of texmf-dist data.")
- (license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
- (home-page "https://www.tug.org/texlive/")))
-
-(define-public texlive
- (package
- (name "texlive")
- (version (package-version texlive-bin))
- (source #f)
- (build-system trivial-build-system)
- (arguments
- (list
- #:modules '((guix build utils))
- #:builder
- ;; Build the union of texlive-bin-full and texlive-texmf, but take the
- ;; conflicting subdirectory share/texmf-dist from texlive-texmf.
- #~(begin
- (use-modules (guix build utils))
- (let ((bin #$(this-package-input "texlive-bin-full"))
- (texmf #$(this-package-input "texlive-texmf")))
- (mkdir #$output)
- (with-directory-excursion #$output
- ;; "include/" and "lib/" directories.
- (for-each
- (lambda (name)
- (symlink (string-append bin "/" name) name))
- '("include" "lib"))
- ;; "bin/" directory.
- (mkdir "bin")
- (with-directory-excursion "bin"
- (for-each
- (lambda (name) (symlink name (basename name)))
- (find-files (string-append bin "/bin/") "")))
- ;; "share/info", "share/man", share/texmf-dist/" and
- ;; "share/tlpkg/" directories.
- (mkdir "share")
- (with-directory-excursion "share"
- (for-each
- (lambda (name)
- (symlink (string-append bin "/share/" name) name))
- '("info" "man" "tlpkg"))
- (symlink (string-append texmf "/share/texmf-dist")
- "texmf-dist"))
- ;; Now everything is in place, generate ls-R file.
- (setenv "PATH"
- (string-append
- (getenv "PATH") ":"
- #$(this-package-input "texlive-bin-full") "/bin"))
- (invoke (string-append bin "/bin/mktexlsr")))))))
- (inputs (list texlive-bin-full texlive-texmf))
- (propagated-inputs (list texlive-libkpathsea))
- (native-search-paths
- (list (search-path-specification
- (variable "TEXMFLOCAL")
- (files '("share/texmf-local")))))
- (synopsis "TeX Live, a package of the TeX typesetting system")
- (description
- "TeX Live provides a comprehensive TeX document production system.
-It includes all the major TeX-related programs, macro packages, and fonts that
-are free software, including support for many languages around the world.
-
-This package contains the complete TeX Live distribution.")
- (license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
- (home-page "https://www.tug.org/texlive/")))
-
(define-public texlive-biber
(package
(name "texlive-biber")
@@ -44939,6 +45766,69 @@ includes the Aleph engine and related Omega formats and packages, and the
HiTeX engine and related.")
(license (license:fsf-free "https://www.tug.org/texlive/copying.html"))))
+(define-public texlive-collection-games
+ (package
+ (name "texlive-collection-games")
+ (version (number->string %texlive-revision))
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments (list #:builder #~(mkdir #$output)))
+ (propagated-inputs
+ (list texlive-bartel-chess-fonts
+ texlive-chess
+ texlive-chess-problem-diagrams
+ texlive-chessboard
+ texlive-chessfss
+ texlive-chinesechess
+ texlive-collection-latex
+ texlive-crossword
+ texlive-crosswrd
+ texlive-customdice
+ texlive-egameps
+ texlive-gamebook
+ texlive-gamebooklib
+ texlive-go
+ texlive-hanoi
+ texlive-havannah
+ texlive-hexboard
+ texlive-hexgame
+ texlive-hmtrump
+ texlive-horoscop
+ texlive-jeuxcartes
+ texlive-jigsaw
+ texlive-labyrinth
+ texlive-logicpuzzle
+ texlive-mahjong
+ texlive-maze
+ texlive-musikui
+ texlive-nimsticks
+ texlive-onedown
+ texlive-othello
+ texlive-othelloboard
+ texlive-pas-crosswords
+ texlive-psgo
+ texlive-realtranspose
+ texlive-reverxii
+ texlive-rubik
+ texlive-schwalbe-chess
+ texlive-scrabble
+ texlive-sgame
+ texlive-skak
+ texlive-skaknew
+ texlive-soup
+ texlive-sudoku
+ texlive-sudokubundle
+ texlive-tangramtikz
+ texlive-wargame
+ texlive-xq
+ texlive-xskak))
+ (home-page "https://www.tug.org/texlive/")
+ (synopsis "Games typesetting")
+ (description
+ "This collection includes setups for typesetting various games,
+including chess.")
+ (license (license:fsf-free "https://www.tug.org/texlive/copying.html"))))
+
(define-public texlive-collection-humanities
(package
(name "texlive-collection-humanities")
diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm
new file mode 100644
index 0000000000..0204a256ef
--- /dev/null
+++ b/gnu/packages/texlive.scm
@@ -0,0 +1,416 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
+;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017, 2020, 2021 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org>
+;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
+;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
+;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
+;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
+;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages texlive)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
+ #:use-module (guix utils)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages fontutils)
+ #:use-module (gnu packages gd)
+ #:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages icu4c)
+ #:use-module (gnu packages image)
+ #:use-module (gnu packages lua)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages ruby)
+ #:use-module (gnu packages shells)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xorg))
+
+(define %texlive-date "20230313")
+(define %texlive-year (string-take %texlive-date 4))
+
+(define texlive-extra-src
+ (origin
+ (method url-fetch)
+ (uri (string-append "ftp://tug.org/historic/systems/texlive/"
+ %texlive-year "/texlive-"
+ %texlive-date "-extra.tar.xz"))
+ (sha256 (base32
+ "1hiqvdg679yadygf23f37b3dz5ick258k1qcam9nhkhprkx7d9l0"))))
+
+(define texlive-texmf-src
+ (origin
+ (method url-fetch)
+ (uri (string-append "ftp://tug.org/historic/systems/texlive/"
+ %texlive-year "/texlive-"
+ %texlive-date "-texmf.tar.xz"))
+ (sha256 (base32
+ "0lqjm11pr9vasvivaci3k9xcmdyd08ldnh31zf8avjjs09xcfkac"))))
+
+(define texlivebin
+ (package
+ (name "texlivebin")
+ (version %texlive-date)
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "ftp://tug.org/historic/systems/texlive/"
+ %texlive-year "/texlive-"
+ %texlive-date "-source.tar.xz"))
+ (sha256
+ (base32
+ "1fbrkv7g9j6ipmwjx27l8l9l974rmply8bhf7c2iqc6h3q7aly1q"))
+ (modules '((guix build utils)
+ (ice-9 ftw)))
+ (snippet
+ ;; TODO: Unbundle stuff in texk/dvisvgm/dvisvgm-src/libs too.
+ '(with-directory-excursion "libs"
+ (let ((preserved-directories
+ '("." ".." "lua53" "luajit" "pplib" "xpdf")))
+ ;; Delete bundled software, except Lua which cannot easily be
+ ;; used as an external dependency, pplib and xpdf which aren't
+ ;; supported as system libraries (see m4/kpse-xpdf-flags.m4).
+ (for-each
+ delete-file-recursively
+ (scandir "."
+ (lambda (file)
+ (and (not (member file preserved-directories))
+ (eq? 'directory (stat:type (stat file))))))))))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("texlive-extra-src" ,texlive-extra-src)
+ ("config" ,config)
+ ("cairo" ,cairo)
+ ("fontconfig" ,fontconfig)
+ ("fontforge" ,fontforge)
+ ("freetype" ,freetype)
+ ("gd" ,gd)
+ ("gmp" ,gmp)
+ ("ghostscript" ,ghostscript)
+ ("graphite2" ,graphite2)
+ ("harfbuzz" ,harfbuzz)
+ ("icu4c" ,icu4c)
+ ("libpaper" ,libpaper)
+ ("libpng" ,libpng)
+ ("libxaw" ,libxaw)
+ ("libxt" ,libxt)
+ ("mpfr" ,mpfr)
+ ("perl" ,perl)
+ ("pixman" ,pixman)
+ ("potrace" ,potrace)
+ ("python" ,python)
+ ("ruby" ,ruby-2.7)
+ ("tcsh" ,tcsh)
+ ("teckit" ,teckit)
+ ("zlib" ,zlib)
+ ("zziplib" ,zziplib)))
+ (native-inputs
+ (list pkg-config))
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:out-of-source? #t
+ #:configure-flags
+ '("--disable-static"
+ "--disable-native-texlive-build"
+ "--enable-shared"
+ "--with-banner-add=/GNU Guix"
+ "--with-system-cairo"
+ "--with-system-freetype2"
+ "--with-system-gd"
+ "--with-system-gmp"
+ "--with-system-graphite2"
+ "--with-system-harfbuzz"
+ "--with-system-icu"
+ "--with-system-libpaper"
+ "--with-system-libpng"
+ "--with-system-mpfr"
+ "--with-system-pixman"
+ "--with-system-potrace"
+ "--with-system-teckit"
+ "--with-system-zlib"
+ "--with-system-zziplib"
+ ;; LuaJIT is not ported to some architectures yet.
+ ,@(if (or (target-ppc64le?)
+ (target-riscv64?))
+ '("--disable-luajittex"
+ "--disable-luajithbtex"
+ "--disable-mfluajit")
+ '()))
+
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-psutils-test
+ (lambda _
+ ;; This test fails due to a rounding difference with libpaper 1.2:
+ ;; https://github.com/rrthomas/libpaper/issues/23
+ ;; Adjust the expected outcome to account for the minute difference.
+ (substitute* "texk/psutils/tests/playres.ps"
+ (("844\\.647799")
+ "844.647797"))))
+ (add-after 'unpack 'configure-ghostscript-executable
+ ;; ps2eps.pl uses the "gswin32c" ghostscript executable on Windows,
+ ;; and the "gs" ghostscript executable on Unix. It detects Unix by
+ ;; checking for the existence of the /usr/bin directory. Since
+ ;; Guix System does not have /usr/bin, it is also detected as Windows.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "utils/ps2eps/ps2eps-src/bin/ps2eps.pl"
+ (("gswin32c") "gs"))
+ (substitute* "texk/texlive/linked_scripts/epstopdf/epstopdf.pl"
+ (("\"gs\"")
+ (string-append "\"" (assoc-ref inputs "ghostscript") "/bin/gs\"")))))
+ (add-after 'unpack 'unpack-texlive-extra
+ (lambda* (#:key inputs #:allow-other-keys)
+ (mkdir "texlive-extra")
+ (with-directory-excursion "texlive-extra"
+ (apply (assoc-ref %standard-phases 'unpack)
+ (list #:source (assoc-ref inputs "texlive-extra-src"))))))
+ (add-after 'install 'post-install
+ (lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
+ (let* ((out (assoc-ref outputs "out"))
+ (patch-source-shebangs (assoc-ref %standard-phases
+ 'patch-source-shebangs))
+ (share (string-append out "/share"))
+ (source (string-append
+ "../" (first (scandir ".." (cut string-suffix?
+ "source" <>)))))
+ (tl-extra-root (string-append source "/texlive-extra"))
+ (tl-extra-dir (first
+ (scandir tl-extra-root
+ (negate
+ (cut member <> '("." ".."))))))
+ (tlpkg-src (string-append tl-extra-root "/" tl-extra-dir
+ "/tlpkg"))
+ (config.guess (search-input-file inputs
+ "/bin/config.guess")))
+
+ ;; Create symbolic links for the latex variants and their man
+ ;; pages. We link lualatex to luahbtex; see issue #51252 for
+ ;; details.
+ (with-directory-excursion (string-append out "/bin/")
+ (for-each symlink
+ '("pdftex" "pdftex" "xetex" "luahbtex")
+ '("latex" "pdflatex" "xelatex" "lualatex")))
+ (with-directory-excursion (string-append share "/man/man1/")
+ (symlink "luatex.1" "lualatex.1"))
+
+ ;; Install tlpkg.
+ (copy-recursively tlpkg-src (string-append share "/tlpkg"))
+ (with-directory-excursion share
+ ;; Make sure tlmgr finds its Perl modules.
+ ;; tlmgr is a script in bin/ that runs tlmgr.pl in
+ ;; texmf-dist/; so although texmf-dist/ will be discarded in
+ ;; the texlive package in favour of the one from texlivetexmf,
+ ;; through the absolute path our modifications will be used
+ ;; by the script.
+ (substitute* "texmf-dist/scripts/texlive/tlmgr.pl"
+ ((".*\\$::installerdir = \\$Master.*" all)
+ (format #f " $Master = ~s;~%~a" share all)))
+ ;; Install the config.guess script, required by tlmgr.
+ (mkdir-p "tlpkg/installer/")
+ (symlink config.guess "tlpkg/installer/config.guess"))
+
+ ;; texlua shebangs are not patched by the patch-source-shebangs
+ ;; phase because the texlua executable does not exist at that
+ ;; time.
+ (setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))
+ (with-directory-excursion out
+ (patch-source-shebangs))))))))
+
+ (synopsis "TeX Live, a package of the TeX typesetting system")
+ (description
+ "TeX Live provides a comprehensive TeX document production system.
+It includes all the major TeX-related programs, macro packages, and fonts
+that are free software, including support for many languages around the
+world.
+
+This package contains the binaries.")
+ (license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
+ (home-page "https://www.tug.org/texlive/")))
+
+
+(define texlivetexmf
+ (package
+ (name "texlivetexmf")
+ (version %texlive-date)
+ (source texlive-texmf-src)
+ (build-system gnu-build-system)
+ (inputs
+ `(("texlive-bin" ,texlivebin)
+ ("lua" ,lua)
+ ("perl" ,perl)
+ ("python" ,python)
+ ("ruby" ,ruby)
+ ("tcsh" ,tcsh)))
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+
+ ;; This package takes 4 GiB, which we can't afford to distribute from
+ ;; our servers.
+ #:substitutable? #f
+
+ #:phases
+ (modify-phases (map (cut assq <> %standard-phases)
+ '(set-paths unpack patch-source-shebangs))
+ (add-after 'unpack 'unset-environment-variables
+ (lambda _
+ (unsetenv "TEXMF")
+ (unsetenv "TEXMFCNF")
+ #t))
+ (add-after 'patch-source-shebangs 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((share (string-append (assoc-ref outputs "out") "/share")))
+ (mkdir-p share)
+ (invoke "mv" "texmf-dist" share))))
+ (add-after 'install 'texmf-config
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share"))
+ (texmfroot (string-append share "/texmf-dist/web2c"))
+ (texmfcnf (string-append texmfroot "/texmf.cnf"))
+ (fmtutilcnf (string-append texmfroot "/fmtutil.cnf"))
+ (texlive-bin (assoc-ref inputs "texlive-bin"))
+ (texbin (string-append texlive-bin "/bin"))
+ (tlpkg (string-append texlive-bin "/share/tlpkg")))
+ ;; LuaJIT is not ported to powerpc64* yet.
+ (if ,(target-ppc64le?)
+ (substitute* fmtutilcnf
+ (("^(luajittex|luajithbtex|mfluajit)" m)
+ (string-append "#! " m))))
+ ;; Register SHARE as TEXMFROOT in texmf.cnf.
+ (substitute* texmfcnf
+ (("TEXMFROOT = \\$SELFAUTOPARENT")
+ (string-append "TEXMFROOT = " share))
+ (("TEXMFLOCAL = \\$SELFAUTOGRANDPARENT/texmf-local")
+ "TEXMFLOCAL = $SELFAUTODIR/share/texmf-local")
+ (("!!\\$TEXMFLOCAL") "$TEXMFLOCAL"))
+ ;; Register paths in texmfcnf.lua, needed for context.
+ (substitute* (string-append texmfroot "/texmfcnf.lua")
+ (("selfautodir:") out)
+ (("selfautoparent:") (string-append share "/")))
+ ;; Set path to TeXLive Perl modules
+ (setenv "PERL5LIB"
+ (string-append (getenv "PERL5LIB") ":" tlpkg))
+ ;; Configure the texmf-dist tree; inspired from
+ ;; http://slackbuilds.org/repository/13.37/office/texlive/
+ (setenv "PATH" (string-append (getenv "PATH") ":" texbin))
+ (setenv "TEXMFCNF" texmfroot)
+ (invoke "updmap-sys" "--nohash" "--syncwithtrees")
+ (invoke "mktexlsr")
+ (invoke "fmtutil-sys" "--all")))))))
+ (properties `((max-silent-time . 9600))) ; don't time out while grafting
+ (synopsis "TeX Live, a package of the TeX typesetting system")
+ (description
+ "TeX Live provides a comprehensive TeX document production system.
+It includes all the major TeX-related programs, macro packages, and fonts
+that are free software, including support for many languages around the
+world.
+
+This package contains the complete tree of texmf-dist data.")
+ (license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
+ (home-page "https://www.tug.org/texlive/")))
+
+(define-public texlive
+ (package
+ (name "texlive")
+ (version %texlive-date)
+ (source #f)
+ (build-system trivial-build-system)
+ (inputs `(("bash" ,bash-minimal) ;for wrap-program
+ ("texlive-bin" ,texlivebin)
+ ("texlive-texmf" ,texlivetexmf)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "TEXMFLOCAL")
+ (files '("share/texmf-local")))))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ ;; Build the union of texlive-bin and texlive-texmf, but take the
+ ;; conflicting subdirectory share/texmf-dist from texlive-texmf.
+ (begin
+ (use-modules (guix build utils))
+ (let ((out (assoc-ref %outputs "out"))
+ (bin (assoc-ref %build-inputs "texlive-bin"))
+ (texmf (assoc-ref %build-inputs "texlive-texmf"))
+ (bash (assoc-ref %build-inputs "bash")))
+ (mkdir out)
+ (with-directory-excursion out
+ (for-each
+ (lambda (name)
+ (symlink (string-append bin "/" name) name))
+ '("include" "lib"))
+ (mkdir "bin")
+ (with-directory-excursion "bin"
+ (setenv "PATH" (string-append bash "/bin"))
+ (for-each
+ (lambda (name)
+ (symlink name (basename name))
+ (wrap-program
+ (basename name)
+ `("TEXMFCNF" =
+ (,(string-append texmf "/share/texmf-dist/web2c")))))
+ (find-files (string-append bin "/bin/") "")))
+ (mkdir "share")
+ (with-directory-excursion "share"
+ (for-each
+ (lambda (name)
+ (symlink (string-append bin "/share/" name) name))
+ '("info" "man" "tlpkg"))
+ (for-each
+ (lambda (name)
+ (symlink (string-append texmf "/share/" name) name))
+ '("texmf-dist" "texmf-var"))))
+ #t))))
+ (synopsis "TeX Live, a package of the TeX typesetting system")
+ (description
+ "TeX Live provides a comprehensive TeX document production system.
+It includes all the major TeX-related programs, macro packages, and fonts
+that are free software, including support for many languages around the
+world.
+
+This package contains the complete TeX Live distribution.")
+ (license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
+ (home-page "https://www.tug.org/texlive/")))
+
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 7df68e8f53..9b0e72b5ed 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -2158,7 +2158,7 @@ streaming protocols.")
(inputs
(list alsa-lib
cdparanoia
- ffmpeg-4
+ ffmpeg-5
fontconfig
freetype
giflib
@@ -4583,7 +4583,7 @@ tools for styling them, including a built-in real-time video preview.")
python-pygobject))
;; Propagate librsvg so that is is registered in GDK_PIXBUF_MODULE_FILE,
;; otherwise pitivi fails to launch.
- (propagated-inputs (list librsvg))
+ (propagated-inputs (list (librsvg-for-system)))
(arguments
`(#:glib-or-gtk? #t
#:phases
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm
index fda4c38dfe..72b6682385 100644
--- a/gnu/packages/vnc.scm
+++ b/gnu/packages/vnc.scm
@@ -130,7 +130,7 @@
ffmpeg
freerdp ; for rdp plugin
libgcrypt
- librsvg
+ (librsvg-for-system)
glib
gnome-keyring
gsettings-desktop-schemas
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 4b0e33ca63..ac46cffb19 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -586,7 +586,7 @@ driven and does not detract you from your daily work.")
(define-public nyxt
(package
(name "nyxt")
- (version "3.5.0")
+ (version "3.6.0")
(source
(origin
(method git-fetch)
@@ -595,7 +595,7 @@ driven and does not detract you from your daily work.")
(commit version)))
(sha256
(base32
- "13ldi191ccxyxr3hjxyhnjl2vw365v0fhb1pqia7rg1gl3id47gz"))
+ "1difs5hw4avzfn2f33gi0w8nz9ja9fvwsl5m9f8izr8zsqlw98qd"))
(file-name (git-file-name "nyxt" version))
(modules '((guix build utils)))
(snippet
@@ -656,6 +656,7 @@ driven and does not detract you from your daily work.")
sbcl-cl-ppcre
sbcl-cl-prevalence
sbcl-cl-qrencode
+ sbcl-cl-sqlite
sbcl-cl-str
sbcl-cl-tld
sbcl-closer-mop
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 32afa3a921..294a18cdd2 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -60,6 +60,7 @@
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2022 Mehmet Tekman <mtekman89@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1146,6 +1147,57 @@ X Window System.")
(license (license:non-copyleft #f "See xlock.c.")
))) ; + GPLv2 in modes/glx/biof.c.
+(define-public xtrlock
+ (package
+ (name "xtrlock")
+ (version "2.15")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://debian/pool/main/x/xtrlock/xtrlock_" version
+ ".tar.xz"))
+ (sha256
+ (base32
+ "0mgpysbvipd5h6x6zz4hng6b13gp3qjnpgny3azyj8k8dv85bppw"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; LDLIBS are required for the package to build.
+ ;; CFLAGS are required for it to use the shadow file, and to
+ ;; be compatible with multi-touch devices.
+ (list #:make-flags
+ #~'("CFLAGS=-O2 -g -Wall -DSHADOW_PWD -DMULTITOUCH"
+ "LDLIBS=-lX11 -lcrypt -lXi")
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'check)
+ (add-after 'unpack 'rename-makefile
+ (lambda _
+ (rename-file "Makefile.noimake" "Makefile")
+ (rename-file "xtrlock.man" "xtrlock.1")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (install-file "xtrlock"
+ (string-append out "/bin/"))
+ (install-file "xtrlock.1"
+ (string-append out
+ "/share/man/man1/"))))))))
+ (inputs (list libx11 libxi libxfixes))
+ (home-page "https://packages.debian.org/sid/xtrlock")
+ (synopsis "Minimal X display lock program")
+ (description
+ "xtrlock locks the X server till the user enters their password at the
+keyboard. While xtrlock is running, the mouse and keyboard are grabbed and
+the mouse cursor becomes a padlock. Output displayed by X programs, and
+windows put up by new X clients, continue to be visible, and any new output is
+displayed normally. The mouse and keyboard are returned when the user types
+their password, followed by Enter or Newline. If an incorrect password is
+entered the bell is sounded. Pressing Backspace or Delete erases one
+character of a password partially typed; pressing Escape or Clear clears
+anything that has been entered.")
+ (license license:gpl2+)))
+
(define-public xosd
(package
(name "xosd")
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index 9b78d4b5ca..759c3a94a3 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -85,6 +85,9 @@ Download and deploy the latest version of Guix.\n"))
(display (G_ "
-C, --channels=FILE deploy the channels defined in FILE"))
(display (G_ "
+ -q, --no-channel-files
+ inhibit loading of user and system 'channels.scm'"))
+ (display (G_ "
--url=URL download \"guix\" channel from the Git repository at URL"))
(display (G_ "
--commit=COMMIT download the specified \"guix\" channel COMMIT"))
@@ -133,6 +136,9 @@ Download and deploy the latest version of Guix.\n"))
(cons* (option '(#\C "channels") #t #f
(lambda (opt name arg result)
(alist-cons 'channel-file arg result)))
+ (option '(#\q "no-channel-files") #f #f
+ (lambda (opt name arg result)
+ (alist-cons 'ignore-channel-files? #t result)))
(option '(#\l "list-generations") #f #t
(lambda (opt name arg result)
(cons `(query list-generations ,arg)
@@ -735,6 +741,9 @@ transformations specified in OPTS (resulting from '--url', '--commit', or
(define file
(assoc-ref opts 'channel-file))
+ (define ignore-channel-files?
+ (assoc-ref opts 'ignore-channel-files?))
+
(define default-file
(string-append (config-directory) "/channels.scm"))
@@ -750,9 +759,11 @@ transformations specified in OPTS (resulting from '--url', '--commit', or
(define channels
(cond (file
(load-channels file))
- ((file-exists? default-file)
+ ((and (not ignore-channel-files?)
+ (file-exists? default-file))
(load-channels default-file))
- ((file-exists? global-file)
+ ((and (not ignore-channel-files?)
+ (file-exists? global-file))
(load-channels global-file))
(else
%default-channels)))
diff --git a/guix/scripts/time-machine.scm b/guix/scripts/time-machine.scm
index e4fe511382..87000d82ec 100644
--- a/guix/scripts/time-machine.scm
+++ b/guix/scripts/time-machine.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Konrad Hinsen <konrad.hinsen@fastmail.net>
-;;; Copyright © 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
@@ -63,6 +63,9 @@ Execute COMMAND ARGS... in an older version of Guix.\n"))
(display (G_ "
-C, --channels=FILE deploy the channels defined in FILE"))
(display (G_ "
+ -q, --no-channel-files
+ inhibit loading of user and system 'channels.scm'"))
+ (display (G_ "
--url=URL use the Git repository at URL"))
(display (G_ "
--commit=COMMIT use the specified COMMIT"))
@@ -86,6 +89,9 @@ Execute COMMAND ARGS... in an older version of Guix.\n"))
(cons* (option '(#\C "channels") #t #f
(lambda (opt name arg result)
(alist-cons 'channel-file arg result)))
+ (option '(#\q "no-channel-files") #f #f
+ (lambda (opt name arg result)
+ (alist-cons 'ignore-channel-files? #t result)))
(option '("url") #t #f
(lambda (opt name arg result)
(alist-cons 'repository-url arg
diff --git a/guix/ui.scm b/guix/ui.scm
index 47a118364a..6f2d4fe245 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -200,6 +200,20 @@ information, or #f if it could not be found."
(parameterize (((@ (system base compile) default-optimization-level) 1))
exp))
+(define (try-canonicalize-path file)
+ "Like 'canonicalize-path', but return FILE as-is if 'canonicalize-path'
+throws.
+
+This is necessary for corner cases where 'canonicalize-path' fails. One
+example is on Linux when a /dev/fd/N file denotes a pipe, represented as a
+symlink to a non-existent file like 'pipe:[1234]', as in this example:
+
+ sh -c 'stat $(readlink -f /dev/fd/1)' | cat"
+ (catch 'system-error
+ (lambda ()
+ (canonicalize-path file))
+ (const file)))
+
(define* (load* file user-module
#:key (on-error 'nothing-special))
"Load the user provided Scheme source code FILE."
@@ -230,7 +244,7 @@ information, or #f if it could not be found."
;; 'primitive-load', so that FILE is compiled, which then allows
;; us to provide better error reporting with source line numbers.
(without-compiler-optimizations
- (load (canonicalize-path file))))
+ (load (try-canonicalize-path file))))
(const #f))))))
(lambda _
;; XXX: Errors are reported from the pre-unwind handler below, but
diff --git a/tests/guix-build.sh b/tests/guix-build.sh
index 317c58ac42..4eab0e38b6 100644
--- a/tests/guix-build.sh
+++ b/tests/guix-build.sh
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012-2014, 2016-2022 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012-2014, 2016-2023 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
# Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
#
@@ -397,6 +397,13 @@ guix build -d -m "$module_dir/manifest.scm" \
rm "$module_dir"/*.scm
+if [ -n "$BASH_VERSION" ]
+then
+ # Check whether we can load from a /dev/fd/N denoting a pipe, using this
+ # handy Bash-specific construct.
+ guix build -m <(echo '(specifications->manifest (list "guile"))') -n
+fi
+
# Using 'GUIX_BUILD_OPTIONS'.
GUIX_BUILD_OPTIONS="--dry-run --no-grafts"
export GUIX_BUILD_OPTIONS
diff --git a/tests/packages.scm b/tests/packages.scm
index 2b7ab01f7d..2b4f9f8e90 100644
--- a/tests/packages.scm
+++ b/tests/packages.scm
@@ -1277,8 +1277,9 @@
;; #:guile guile))))
(test-equal "package->bag"
- `("foo86-hurd" #f (,(package-source gnu-make))
- (,(canonical-package glibc)) (,(canonical-package coreutils)))
+ (parameterize ((%current-system "foo86-hurd"))
+ `("foo86-hurd" #f (,(package-source gnu-make))
+ (,(canonical-package glibc)) (,(canonical-package coreutils))))
(let ((bag (package->bag gnu-make "foo86-hurd")))
(list (bag-system bag) (bag-target bag)
(assoc-ref (bag-build-inputs bag) "source")
diff --git a/tests/store-roots.scm b/tests/store-roots.scm
index 9877987a65..bf30b1dff6 100644
--- a/tests/store-roots.scm
+++ b/tests/store-roots.scm
@@ -30,13 +30,6 @@
(test-begin "store-roots")
-(test-equal "gc-roots, initial"
- (list (string-append %state-directory "/profiles"))
- (begin
- ;; 'gc-roots' should gracefully handle lack of that directory.
- (delete-file-recursively (string-append %state-directory "/profiles"))
- (gc-roots)))
-
;; The 'open-connection' call below gets guix-daemon to create
;; %STATE-DIRECTORY/profiles.
(set! %store (open-connection))