Commit graph

82288 commits

Author SHA1 Message Date
Thiago Jung Bauermann
35aed80bb6
gnu: TeX Live: Add new dependency to texlive-latex-xkeyval
Starting with TeX Live 2021, texlive-latex-xkeyval depends on
texlive-latex-l3backend.

* gnu/packages/tex.scm(texlive-latex-xkeyval)[native-inputs]: Add
‘texlive-latex-l3backend’.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-21 15:56:23 +02:00
Thiago Jung Bauermann
8f35bac4cc
gnu: TeX Live: Add texlive-latex-l3backend
* gnu/packages/tex.scm (texlive-latex-l3backend): New public variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-21 15:56:16 +02:00
Thiago Jung Bauermann
ee25e3fcab
gnu: TeX Live: Update to TeX Live 2021
Use version 20210325 for the tarballs, which is the latest one available on
the historical releases repository. And use subversion tag 2021.3 which is
the latest one available as well.

TeX Live dropped support for using the system’s poppler library after the
2020 version.  Quoting from `m4/kpse-xpdf-flags.m4`:

  # Support for our semi-homegrown libs/xpdf library. This is derived
  # from xpdf source code, but xpdf does not distribute it as a library.
  # It is used by pdftex (and nothing else) to read PDF images.
  # Other engines use the semi-homegrown pplib library (q.v.) for that.

  # The well-known poppler library is also originally derived from xpdf
  # source code, but has been greatly revised and extended. TL used to
  # (sort of) support poppler as the system xpdf, but after the TL 2020
  # release we dropped this, because we switched XeTeX to use pplib, and
  # nothing else used poppler. (No engines ever used poppler to generate
  # their PDF output).
  #
  # poppler is aggressively developed, with requirements for new compilers
  # and language versions. That's fine for them, but since we don't need
  # anything new, it has become too time-consuming and problematic to
  # continue to support it in the TL sources, when we don't have any
  # requirement for it.

Therefore the main change in this commit is making the texlive-bin package
use the embedded pplib and xpdf libraries.

Another noteworthy change is to texlive-latex-l3packages, which now needs
to ship a few pre-generated files that cannot be reproduced during the
build process (the comments in the package definition have more details).

* guix/build-system/texlive.scm (%texlive-tag): Set to “texlive-2021.3”.
(%texlive-revision): Set to 59745.
* gnu/packages/tex.scm (hyph-utf8-scripts, texlive-docstrip,
texlive-unicode-data texlive-hyphen-base, texlive-metafont, texlive-cm,
texlive-courier, texlive-lm, texlive-knuth-lib, texlive-tex-plain,
texlive-hyphen-finnish, texlive-hyphen-german, texlive-hyph-utf8,
texlive-dehyph-exptl, texlive-kpathsea, texlive-latex-fancyvrb,
texlive-graphics-def, texlive-latex-graphics, texlive-hyperref,
texlive-oberdiek, texlive-latex-tools, texlive-latex-l3kernel,
texlive-l3build, texlive-luaotfload, texlive-latex-amsmath, texlive-amscls,
texlive-babel, texlive-generic-babel-german, texlive-babel-swedish,
texlive-psnfss, texlive-latex-draftwatermark, texlive-latex-etoc,
texlive-etoolbox, texlive-latex-polyglossia, texlive-tex-texinfo,
texlive-latex-bookmark, texlive-latex-cmap, texlive-latex-fancyhdr,
texlive-latex-kvoptions, texlive-latex-eso-pic, texlive-latex-multirow,
texlive-latex-parskip, texlive-latex-pdfpages, texlive-metapost,
texlive-latex-acmart, texlive-latex-preview, texlive-latex-acronym,
texlive-pdftex, texlive-latex-media9, texlive-latex-ocgx2,
texlive-latex-ms, texlive-latex-pgf, texlive-latex-pgf-generic,
texlive-latex-koma-script, texlive-generic-ltxcmds, texlive-bibtex,
texlive-context-base, texlive-context, texlive-beamer, texlive-pstricks,
texlive-tools, texlive-latex-xkeyval, texlive-csquotes, texlive-biblatex,
texlive-todonotes, texlive-microtype, texlive-caption, texlive-fontaxes,
texlive-cabin, texlive-newtx, texlive-xcharter, texlive-adjustbox,
texlive-tcolorbox): Update hash.
(texlive-extra-src, texlive-texmf-src): Update version to
“20210325”. Update hash.
(texlive-bin)[source]: Update version to “20210325”. Update hash. Preserve
‘libs/pplib’ and ‘libs/xpdf’.
[inputs]: Update hash for ‘texlive-scripts’.  Remove ‘poppler’.
[arguments]: Remove “--with-system-poppler” and “--with-system-xpdf” from
‘#:configure-flags’.  Remove build phase ‘use-code-for-new-poppler’.
(texlive-hyphen-schoolfinnish): Add public variable.
(texlive-hyphen-macedonian): Add 8bit patterns.  Update hash.
(texlive-latex-base)[template]: Update hash.
[arguments]: Set ‘LUAINPUTS’ environment variable in build phase.
[native-inputs]: Update hash for ‘texlive-luatexconfig’.
[propagated-inputs]: Add ‘texlive-hyphen-schoolfinnish’,
‘texlive-latex-l3kernel’ and ‘texlive-latex-l3packages’.
(texlive-latex-l3packages)[source]: Use ‘texlive-origin’. Update hash. Add
generated files.
[arguments]: Adjust paths for ‘TEXINPUTS’ environment variable. Add build
phase ‘copy-generated-files’.
(texlive-texmf, texlive): Update version to “20210325”.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-21 15:56:03 +02:00
Thiago Jung Bauermann
04e80290bf
gnu: TeX Live: Use IniTeX to build a couple of packages
The package texlive-latex-base in TeX Live 2021 will depend on
texlive-latex-l3kernel and texlive-latex-l3packages. Therefore we need to
remove their build dependency on texlive-latex-base to avoid a circular
dependency.

l3kernel and l3packages don’t need LaTeX during build, just IniTeX.
So to make them use it, modify texlive-build-system to allow disabling
the #:texlive-latex-base and #:tex-format parameters, and also add
a #:tex-engine parameter.

We also need to add texlive-docstrip as a native input, which was
previously provided by texlive-latex-base.

* gnu/packages/tex.scm (texlive-latex-l3kernel,
texlive-latex-l3packages)[arguments]: Add ‘#:tex-engine’, ‘#:tex-format’
and ‘#:texlive-latex-base’ parameters.
[native-inputs]: Add ‘texlive-docstrip’.
* guix/build-system/texlive.scm (lower)[build-inputs]: Don’t add
‘texlive-latex-base’ if its keyword parameter is false.
(texlive-build): Add ‘tex-engine’ keyword parameter.
[builder]: If a ‘tex-engine’ parameter was passed, use it. Otherwise, use
‘tex-format’ as the engine.
* guix/build/texlive-build-system.scm (compile-with-latex): Add ‘engine’
parameter. If the ‘format’ parameter is false, add “-ini” option to the
command line.
(build): Add ‘tex-engine’ parameter. Pass it down to ‘compile-with-latex’.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-21 15:55:26 +02:00
Ludovic Courtès
777962de5e
gnu: guile: Remove trailing #t in snippet.
* gnu/packages/guile.scm (guile-3.0)[source]: Remove trailing #t in
'snippet'.
2021-07-21 15:46:07 +02:00
Maxime Devos
fccc027509
gnu: guile: Fix failing tests on IA32.
Fixes <https://issues.guix.gnu.org/49368>.

* gnu/packages/guile.scm (guile-3.0)[arguments]<#:configure-flags>:
  Add "-fexcess-precision=standard" to CFLAGS when
  (target-x86-32?) is true.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-21 15:45:36 +02:00
Kaelyn Takata
b15c3dd9b0
gnu: meson: Update to 0.59.0.
Fixes <https://issues.guix.gnu.org/48552>.

* gnu/packages/build-tools.scm (meson): Update to 0.59.0, which includes a
reproduceability fix for builds that link against multiple LLVM libraries.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-20 23:43:29 +02:00
Sarah Morgensen
81a87222a1
import: hackage: Emit new-style package inputs.
* guix/import/hackage.scm (hackage-module->sexp)[dependencies]
[native-dependencies]: Make into a list of symbols.
[maybe-inputs]: Wrap INPUTS in 'list' instead of 'quasiquote'.
* tests/hackage.scm (match-ghc-foo)
(match-ghc-foo-6)
(match-ghc-foo-revision)
(match-ghc-foo-import): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-20 23:43:29 +02:00
Sarah Morgensen
3d5a36c457
import: opam: Emit new-style package inputs.
* guix/import/opam.scm (opam->guix-package): Wrap INPUTS and
NATIVE-INPUTS in 'list' instead of 'quasiquote'.
(dependency-list->inputs): Return a list of symbols.
* tests/opam.scm ("opam->guix-package"): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-20 23:43:29 +02:00
Sarah Morgensen
fa7db21f59
import: gem: Emit new-style package inputs.
* guix/import/gem.scm (make-gem-sexp): Wrap inputs in 'list' instead of
'quasiquote'.
* tests/gem.scm ("gem->guix-package")
("gem-recursive-import"): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-20 23:43:29 +02:00
Sarah Morgensen
5b6285518b
import: egg: Emit new-style package inputs.
* guix/import/egg.scm (egg->guix-package): Generate dependency list from
a list of symbols.
[egg-parse-dependency]: Return a list of symbols.
[maybe-inputs]: Wrap INPUTS in 'list' instead of 'quasiquote'.
* tests/egg.scm (match-chicken-foo): Adjust accordingly.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-07-20 23:43:29 +02:00
Guillaume Le Vaillant
db5962c680
gnu: ghostscript: Improve reproducibility of PDF document generation
* gnu/packages/patches/ghostscript-no-header-creationdate.patch: Disable
  writing "xmp:ModifyDate" and "xmp:CreateDate" if GS_GENERATE_UUIDS is set to
  "0" or "no".
2021-07-19 12:43:15 +02:00
Ludovic Courtès
532b2d9a38
gnu: sed, diffutils: Patch faulty Gnulib tests.
This is a followup to c823b95825, fixing
tests for sed and diffutils on armhf-linux.

* gnu/packages/base.scm (sed)[source]: Add
"coreutils-gnulib-tests.patch".
(diffutils)[source]: Likewise.
* gnu/packages/commencement.scm (diffutils-boot0)[source]: New field.
2021-07-18 23:48:14 +02:00
Ludovic Courtès
f186365aee
gnu: texlive-union: Export and formally deprecate.
This is a followup to 04a0b1e09a.

* gnu/packages/tex.scm (texlive-union): Define using
'define-deprecated/alias' and export.
2021-07-18 19:57:35 +02:00
Ludovic Courtès
0e47fcced4
Merge branch 'master' into core-updates 2021-07-18 19:50:01 +02:00
Guillaume Le Vaillant
8b1bde7bb3
gnu: sdrangel: Update to 6.16.1.
* gnu/packages/radio.scm (sdrangel): Update to 6.16.1.
2021-07-18 14:58:06 +02:00
Guillaume Le Vaillant
848a9a1e3f
gnu: dump1090: Update to 5.0.
* gnu/packages/radio.scm (dump1090): Update to 5.0.
  [inputs]: Add hackrf.
2021-07-18 13:38:40 +02:00
Xinglu Chen
71dffaacbf
gnu: emacs-pyim: Update to 3.9.2.
* gnu/packages/emacs-xyz.scm (emacs-pyim): Update to 3.9.2.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2021-07-18 17:46:57 +08:00
phodina
9cddd39d75
gnu: Add sterm.
* gnu/packages/engineering.scm (sterm): New variable.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2021-07-18 17:40:17 +08:00
Efraim Flashner
e4b70bc55a
gnu: ada-ed: Adjust target system.
* gnu/packages/ada.scm (ada-ed)[arguments]: Only set the target system
when necessary.
[supported-systems]: Add powerpc-linux.
2021-07-18 12:03:29 +03:00
Maxim Cournoyer
c170abba47
build: pack: Mute error output when checking if tar supports --sort.
* guix/build/pack.scm (tar-base-options) [tar-supports-sort?]: Redirect error
output to void.
2021-07-18 02:11:13 -04:00
Maxim Cournoyer
11f0698243
pack: Streamline how files are included in tarballs.
Thanks to Guillem Jover <guillem@debian.org> on the OFTC's #debian-dpkg
channel for helping with troubleshooting.

Letting GNU Tar recursively walk the complete files hierarchy side-steps the
risks associated with providing a list of file names:

1. Duplicated files in the archive (recorded as hard links by GNU Tar)
2. Missing parent directories.

The above would cause dpkg to malfunction, for example by aborting early and
skipping triggers when there were missing parent directories.

* guix/scripts/pack.scm (self-contained-tarball/builder): Do not call
POPULATE-SINGLE-PROFILE-DIRECTORY, which creates extraneous files such as
/root.  Instead, call POPULATE-STORE and INSTALL-DATABASE-AND-GC-ROOTS
individually to more precisely generate the file system.  Replace the list of
files by the current directory, "." and streamline the way options are passed.
* gnu/system/file-systems.scm (reduce-directories): Remove procedure.
* tests/file-systems.scm ("reduce-directories"): Remove test.
2021-07-18 02:10:49 -04:00
Maxim Cournoyer
b019496fc3
pack/deb: Add default section and priority fields to the control file.
These fields, while optional per dpkg, are required by other tools such as
reprepro, commonly used to generate apt repositories.

* guix/scripts/pack.scm (debian-archive): Set the control file section field
to 'misc' and the priority field to 'optional'.
2021-07-18 02:02:34 -04:00
Maxim Cournoyer
aeded14b83
pack: Allow embedding custom control files in deb packs.
* guix/scripts/pack.scm (self-contained-tarball/builder)
[extra-options]: New argument.
(self-contained-tarball, squashfs-image, docker-image)
(debian-archive): Likewise.  Remove two TODO comments.  Document
EXTRA-OPTIONS.  Use the custom control files when provided.
(%deb-format-options): New variable.
(show-deb-format-options, show-deb-format-options/detailed): New procedures.
(%options): Register new options.
(show-help): Augment with new usage.
(guix-pack): Validate and propagate new argument values.
* doc/guix.texi (Invoking guix pack)[deb]: Document how to list advanced
options.  Add an example.
* tests/pack.scm (deb archive...): Provide extra-options to the debian-archive
procedure, and validate that the provided files are embedded in the pack.
2021-07-18 02:02:34 -04:00
Maxim Cournoyer
15b4372b60
import: go: Fix indentation.
* guix/import/go.scm: Fix indentation.
2021-07-18 01:57:17 -04:00
Sarah Morgensen
793ba333c6
import: go: Upgrade go.mod parser.
Upgrade the go.mod parser to handle the full go.mod spec, and to gracefully
handle unexpected/malformed syntax.  Restructure parser usage, making the
parse tree available for other uses.

guix/import/go.scm (parse-go.mod): Parse using (ice-9 peg) instead of
regex matching for more robustness.  Return a list of directives.
(go.mod-directives): New procedure.
(go.mod-requirements): Likewise.
(go-module->guix-package): Use it.
(%go.mod-replace-directive-rx): Remove unused variable.
tests/go.scm (testing-parse-mod): Adjust accordingly.
(go.mod-requirements)
(fixture-go-mod-unparseable)
(fixture-go-mod-retract)
(fixture-go-mod-strings): New variables.
("parse-go.mod: simple")
("parse-go.mod: comments and unparseable lines")
("parse-go.mod: retract")
("parse-go.mod: raw strings and quoted strings")
("parse-go.mod: complete"): New tests.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-18 01:57:17 -04:00
Maxim Cournoyer
3217a04b03
tests/go: Remove unused variable.
* tests/go.scm: Delete extraneous newline.
(fixture-latest-for-go-check): Remove variable.
2021-07-17 23:26:58 -04:00
Sarah Morgensen via Guix-patches via
5eba9c0960
import: go: Handle multiple go-import meta tags.
* guix/import/go.scm (fetch-module-meta-data): Parse all go-import meta
tags and return the first 'module-meta' with a matching import prefix.
[go-import->module-meta]: Extract parsing into new procedure.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-17 23:26:52 -04:00
Sarah Morgensen via Guix-patches via
59d20bcfcc
import: go: Fix parsing of pkg.go.dev licenses after site update.
* guix/import/go.scm (go-package-licenses): Find license names in
'h2 // div // *text*' elements rather than 'h2 // *text*' elements.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-17 22:13:39 -04:00
Brice Waegeneire
2aa65869ba
doc: Fix docker-configuration field names.
* doc/guix.texi (Docker): Correct filed names "docker" and "docker-cli".
2021-07-17 22:49:20 +02:00
Brice Waegeneire
425e9aa4f3
gnu: rsnapshot: Remove modifications to tests.
Upstream fixed those tests, no need to tweak them anymore.

* gnu/packages/backup.scm (rsnapshot)[arguments]: Remove modifications
  to tests done in 'check' phase.
2021-07-17 22:47:15 +02:00
Tobias Geerinckx-Rice
4b8ac04e2b
gnu: rsnapshot: Fix tests.
* gnu/packages/backup.scm (rsnapshot)[arguments]: Tweak substitution.
2021-07-17 19:48:54 +02:00
Marius Bakke
550eca2a7b
gnu: ungoogled-chromium: Update to 91.0.4472.164-0.a9eb6fd.
* gnu/packages/chromium.scm (%chromium-version): Set to 91.0.4472.164.
(ungoogled-chromium): Update hash.
2021-07-17 19:40:58 +02:00
Marius Bakke
4933641bb1
gnu: python-coveralls: Update to 3.1.0.
* gnu/packages/python-check.scm (python-coveralls): Update to 3.1.0.
[arguments]: Remove trailing #t's.
[native-inputs]: Add PYTHON-RESPONSES.
2021-07-17 19:40:58 +02:00
Marius Bakke
3918d6c4b6
gnu: gdbm: Use HTTPS home page.
* gnu/packages/dbm.scm (gdbm)[home-page]: Use HTTPS.
2021-07-17 19:40:57 +02:00
Pierre Neidhardt
9591f68550
gnu: arx-libertatis: Update to 1.2.
* gnu/packages/games.scm (arx-libertatis): Update to 1.2.
[inputs]: Replace sdl with sdl2 and mesa with libepoxy.
2021-07-17 17:48:26 +02:00
Justin Veilleux
9cb35c0216
gnu: Add transmission-remote-gtk.
* gnu/packages/bittorrent.scm (transmission-remote-gtk): New variable.
* gnu/packages/patches/transmission-remote-gtk-fix-appstream.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Co-authored-by: Leo Famulari <leo@famulari.name>
2021-07-16 23:53:46 -04:00
Hartmut Goebel
3ee0f170c8
ci: Properly construct URLs.
Implement a new function "api-url", which constructs URLs using relative URI
and "resolve-uri-reference" (which implements the algorithm specified in RFC
3986 section 5.2.2) for building the URL, instead of just appending
strings. This avoids issued if the server-url ends with a slash.

Since "api-url" uses URI-objects, it makes sense to also construct the
query-part of the URL here. For this "api-url" accepts optional
key-value-pairs.

New function "json-api-fetch" is a wrapper using "api-url".

* guix/ci.scm (api-url): New function. (build): Use it.
  (json-api-fetch): New function. (queued-builds, latest-builds,
  evaluation, latest-evaluations, evaluation-jobs: Use it.
2021-07-16 19:48:24 +02:00
Hartmut Goebel
ccdf7b8006
substitutes: Properly construct URLs.
Use relative URIs and "resolve-uri-reference" (which implements the algorithm
specified in RFC 3986 section 5.2.2) for building the URL, instead of just
appending strings. This avoids issued if the cache-url ends with a slash.

* guix/substitutes.scm (narinfo-request): Use resolve-uri-reference for
  constructing the url.
2021-07-16 19:36:11 +02:00
Hartmut Goebel
f3b20baa4d
substitute: Fix handling of short option "-h".
The short option was listed in the help-text, but not recognized.
2021-07-16 19:36:11 +02:00
Ivan Gankevich
68ce40cad7
gnu: Add blitz.
* gnu/packages/maths.scm (blitz): New variable.

Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2021-07-16 10:02:08 +05:30
Maxim Cournoyer
556f027daa
gnu: kde-utils.scm: Fix copyright line.
This is a follow up commit to 4094d12df1.

* gnu/packages/kde-utils.scm: Fix copyright line for Zheng Junjie.
2021-07-16 00:20:53 -04:00
Z572
4094d12df1
gnu: Add ark.
* gnu/packages/kde-utils.scm (ark): New variable.
* gnu/packages/patches/ark-skip-xar-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-16 00:06:05 -04:00
Maxime Devos
dd98685356
gnu: libolm: Unbundle unused blob.
* gnu/package/crypto.scm: (libolm)[source][snippet]: Delete
"gradle-wrapper.jar".  It is a bundled compiled (!) version of gradle.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-15 21:43:52 -04:00
Maxim Cournoyer
01d7e8c278
doc: Use Awk in one of the examples.
The output of the listing of available packages now contains a mix of tab and
space characters, so that its output is more pleasing to read.  This preserves
most simple uses of 'cut', but the added extra space padding can cause a
change in behavior in some scenarios.

* doc/guix.texi (Invoking guix build): Replace 'cut' by 'awk' in one of the
examples.
2021-07-15 16:12:04 -04:00
Steve Sprang
423f5f867c
ui: Improve output appearance when listing generations.
* guix/ui.scm (display-profile-content-diff): Use pretty-print-table to format
output.
(display-profile-content): Likewise.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-15 16:11:47 -04:00
Steve Sprang
481d660527
package: Improve output appearance when listing packages.
* guix/scripts/package.scm (process-query): Use pretty-print-table when
listing installed and available packages.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-15 16:09:53 -04:00
Steve Sprang
b73b9aae0d
utils: Add a procedure for pretty printing tabular data.
* guix/utils.scm (pretty-print-table): New procedure.

Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-07-15 16:09:53 -04:00
terramorpha
a49c5488bd
gnu: Add putty.
* gnu/packages/networking.scm (putty): New variable.

Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
2021-07-15 20:55:42 +02:00
Leo Famulari
7e0da2f180
gnu: btrfs-progs: Update to 5.13.
* gnu/packages/linux.scm (btrfs-progs): Update to 5.13.
2021-07-15 11:12:32 -04:00