Commit graph

7787 commits

Author SHA1 Message Date
Ludovic Courtès
ed21dd9f84
locate: Move to ‘main’ category.
That way ‘locate’ is listed in the same category as ‘search’, ‘install’,
etc., which is more consistent.

* guix/scripts/locate.scm (guix-locate): Move to ‘main’ category.

Change-Id: I7f86f1124fedc2c7a9166fe191036530c382bfaf
2024-10-04 17:23:12 +02:00
Ludovic Courtès
210bbf9a39
man-db: Correctly resolve man page links.
Fixes <https://issues.guix.gnu.org/73259>.

Fixes a bug introduced in 8224555802
whereby a link such as “.so man1/bzdiff.1” would resolve to the file
that contains the link (in this case ‘bzcmp.1.zst’), as opposed to the
actual link target.  As a result, ‘man-page->entry’ would recurse,
reopening the man page that contains the link until file descriptor
exhaustion.

* guix/man-db.scm (mandb-entries): In second argument to
‘man-page->entry’, return either FILE-GZ or FILE-ZST, but not FILE.

Change-Id: I06a7a6905a98524efc889a18e81352bf9eec5743
2024-09-30 22:52:23 +02:00
Efraim Flashner
2545afa64a
guix: cpu: Add detection for znver5.
* guix/cpu.scm (cpu->gcc-architecture): Add detection for znver5.
(gcc-architecture->micro-architecture-level): Add entry for znver5.

Change-Id: If0ff9540517cb9ac869afabf413c9993166d78a5
2024-09-30 13:38:33 +03:00
Efraim Flashner
5bda3f8a34
lint: Check for minimal variants.
* guix/lint.scm (check-inputs-should-use-a-minimal-variant): New
procedure.
(%local-checkers): Add it.

Change-Id: Ifbf808063e4e125c7070505a8a6215128d84b40b
2024-09-29 14:38:57 +03:00
Zheng Junjie
9b66aaa7cc
build-system: linux-module: Fix cross-compiling.
* guix/build-system/linux-module.scm (linux-module-build-cross):
Remove %build-host-inputs's quote.

Change-Id: I58fbd5ad51a60115acb5852df133b88549f1bdcb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-09-19 12:50:19 +02:00
Ludovic Courtès
89413a1162
Revert "import: crate: Emit new-style package inputs."
This reverts commit b8af6694b9, which led
‘guix import crate’ to produce invalid code (missing quasiquote) and
triggered a failure of ‘tests/crate.scm’.

Fixes <https://issues.guix.gnu.org/72939>.

Reported-by: Aleksandr Vityazev <avityazev@disroot.org>
Change-Id: If309caaa594f912788e20007bfa1f55b7d581a93
2024-09-19 12:41:54 +02:00
Ludovic Courtès
83698b6fa0
substitutes: Reduce default negative TTL values.
Previous values were overly conservative and often an annoyance.

* guix/substitutes.scm (%narinfo-negative-ttl): Reduce to 2mn.
(%narinfo-transient-error-ttl): Reduce to 1mn.

Change-Id: I8cff927a15d8203fb370369a56f024b8a14f3cc3
2024-09-16 00:16:21 +02:00
Ludovic Courtès
a7bb45b39d
gexp: ‘imported-files’ does not create symlinks.
Fixes <https://issues.guix.gnu.org/73275>.

This is presumably what e529d46828 meant
to do, except that it wrongfully pass #:symlink? a true value instead,
most likely due to a typo.

* guix/gexp.scm (imported-files): Pass #:symlink? #f.
* tests/gexp.scm ("imported-files does not create symlinks"): New test.

Change-Id: Ic31be56a2adf4dfa55e1ec390c53cc9ba5f8a96c
2024-09-16 00:16:20 +02:00
Tobias Geerinckx-Rice
26942d67b7
Add some missing header comment header comments.
* gnu/packages/minetest.scm: Add the ‘GNU Guix’ header comment.
* gnu/packages/notcurses.scm: Likewise.
* gnu/packages/presentation.scm: Likewise.
* gnu/packages/solidity.scm: Likewise.
* guix/build/minetest-build-system.scm: Likewise.
* gnu/packages/vnc.scm: Add missing ‘;’.
* guix/scripts/import/crate.scm: Remove leading newline.

Change-Id: I5294e6067b9348f2929d823a07d4ec335eaa5ecd
2024-09-08 02:00:00 +02:00
Tobias Geerinckx-Rice
3578fc58d2
read-print: Indent ‘privileged-program’ specially.
* guix/read-print.scm (%special-forms): Replace SETUID-PROGRAM
with PRIVILEGED-PROGRAM.

Change-Id: I5f0301c87de1d3a375b9f0cae944e5b13b39d247
2024-09-08 02:00:00 +02:00
Ludovic Courtès
7573300128
utils: ‘compressed-file?’ recognizes .zst and .tzst.
This ensures ‘guix publish’ does not re-compress zst files.

* guix/utils.scm (compressed-file?): Add ‘tzst’ and ‘zst’.

Change-Id: Iae39e8826f1fc242d2e15d86c82a8ff84797002e
2024-09-12 19:10:02 +02:00
Jan Wielkiewicz
ef428cf721
gnu: minetest: Update to 5.9.0.
The Minetest engine and the "Minetest Game" have been decoupled upstream
in Minetest 5.9.0:

https://dev.minetest.net/Changelog#Minetest_Game

* gnu/packages/minetest.scm (minetest): Update to 5.9.0.
[arguments]: Adjust #:configure-flags and #:phases to account for the
removal of the Minetest Game from the Minetest codebase.
[native-search-paths, synopsis, description]: Likewise.
[inputs]: Remove IRRLICHT-FOR-MINETEST.
(minetest-data): Update to 0.0.0-0.88ecab3.  Rename to MINETEST-GAME and
deprecate MINETEST-DATA.
[synopsis, description]: Adjust to account for the decoupling of the game from
the engine.
* gnu/packages/games.scm (irrlicht-for-minetest): Remove variable.
* guix/build-system/minetest.scm (default-minetest-game): New variable.
(%default-modules): Use it.

Change-Id: I0117bd33a2ce5eb1c79fdb29878682081f61dd4e
Signed-off-by: Leo Famulari <leo@famulari.name>
2024-09-10 21:56:44 -04:00
Ludovic Courtès
0629af7c2a
guix build: ‘--log-file’ honors the configured substitute URLs.
* guix/scripts/build.scm (guix-build): When defining ‘urls’, add
‘substitute-urls’ call.
* doc/guix.texi (Additional Build Options): Adjust ‘--log-file’
documentation.

Change-Id: I40f0647efe64ba3a63a6379b8da80b0da8910f48
2024-09-06 11:46:23 +02:00
Ludovic Courtès
49ece68b0b
ui: Clarify that the module is meant for UIs only.
* guix/ui.scm: Add comment.

Suggested-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I203b2e2bfe1b6f94b96054fe61069f20b580fcd6
2024-09-04 19:17:01 +02:00
Richard Sent
f3ea876895
gexp: Add ‘assume-source-relative-file-name’.
* guix/gexp.scm (assume-source-relative-file-name): New macro.
(local-file): Use assume-source-relative-file-name to look up a non-literal
file relative to the current source directory.
* doc/guix.texi (G-expressions): Document it.
* tests/gexp.scm ("local-file, non-literal source relative file name"):
New test.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: I18573c8c7a6c87e8351b34412f9d26bb23b068b4
2024-09-04 19:17:00 +02:00
Herman Rimm
c4ce313052
scripts: style: Add 'alphabetical-sort' option.
* guix/scripts/style.scm (show-help): Describe option.
(order-packages): Add procedure.
(format-whole-file): Add 'order?' argument.
(%options): Add 'alphabetical-sort' option.
(guix-style): Alphabetically order packages in files.
* tests/guix-style.sh: Test alphabetical ordering.
* doc/guix.texi (Invoking guix style): Document option.

Change-Id: I4aa7c0bd0b6d42529ae7d304587ffb10bf5f4006
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-09-03 13:59:33 +02:00
Tobias Geerinckx-Rice
a3c0f245be
import: Order importers alphabetically in ‘--help’ output.
I'd rather keep the list sorted than call SORT at run time.
We can still switch if committers remain incorrigible.

* guix/scripts/import.scm (importers): Sort.

Change-Id: If358b2d5de2912a33989d776476e9cf4d0b80537
2024-08-25 02:00:00 +02:00
Ludovic Courtès
fa70c14155
substitute: Reopen connection upon “Error in the push function” from GnuTLS.
This works around an occasional issue where substitution stops abruptly
due to “Error in the push function” from GnuTLS, as reported at
<https://issues.guix.gnu.org/71238> by Richard Sent.

* guix/scripts/substitute.scm (call-with-cached-connection): Add
‘error/push-error’ and ‘error/pull-error’ to the list of gnutls-error
values for which the connection is reopened.

Change-Id: Icf079dd10b16739f62fee15bc3d90bab77110576
2024-08-31 19:06:37 +02:00
Ludovic Courtès
df38aacc02
gnu: make-bootstrap: Include libdl.a and libutil.a in ‘glibc-stripped’.
As of glibc 2.39, libdl.so and libutil.so are gone (they are part of
libc proper since 2.34), but empty .a files are provided for backward
compatibility with code using -ldl and -lutil.  Keep them.

* guix/build/make-bootstrap.scm (make-stripped-libc)[%libc-object-files-rx]:
Mach libdl.a and libutil.a.

Change-Id: I967c6f34a443366224293362b8a2302fe86fd5a0
2024-08-31 10:45:45 +02:00
Ludovic Courtès
8b6f33a4d9
gnu: make-bootstrap: Adjust ‘%glibc-stripped’ for glibc@2.39 on the Hurd.
Previously the second ‘copy-recursively’ call would fail with EEXIST
since glibc@2.39 already provides $includedir/include/mach.

* guix/build/make-bootstrap.scm (make-stripped-libc)[copy-mach-headers]:
Pass #:select? to ‘copy-recursively’ to exclude files already present
under INCDIR.

Change-Id: I7e5a93e46eefa18299c231468c720072468fdb10
2024-08-31 10:45:45 +02:00
Nicolas Goaziou
4ab789d441
guix: import texlive: Add UPSTREAM-NAME property when necessary.
* guix/import/texlive.scm (tlpdb->package): Add UPSTREAM-NAME property when necessary.
* tests/texlive.scm ("texlive->guix-package, with upstream-name property"):
Add new test.

Change-Id: I134a065cbe0a7f0ff4d72b0929dba4e4d46cfaeb
2024-08-31 10:45:37 +02:00
Nicolas Goaziou
3419fc9f1e
guix: import texlive: no bogus data with non-existing packages.
* guix/import/texlive.scm (latest-release): Check if the package really exists
in the package database before returning an <upstream-source> object.

Change-Id: I85c600b7b125b02cac58f263eac645dd8fab63ab
2024-08-31 10:45:36 +02:00
Nicolas Goaziou
a73c75a367
gnu: Turn TEXLIVE-SOURCE into a complete package.
* gnu/packages/tex.scm (%texlive-version): Remove variable.
(texlive-source): Turn into a complete package so it can benefit from auto-updates.
(texlive-libkpathsea):
(texlive-libptexenc):
(texlive-bin):
(texlive-scheme-basic):
(texlive-scheme-bookpub):
(texlive-scheme-context):
(texlive-scheme-full):
(texlive-scheme-gust):
(texlive-scheme-medium):
(texlive-scheme-minimal):
(texlive-scheme-small):
(texlive-scheme-tetex):
(texlive-afm2pl-bin):
(texlive-autosp-bin):
(texlive-axodraw2-bin):
(texlive-cjkutils-bin):
(texlive-gregoriotex-bin):
(texlive-m-tx-bin):
(texlive-musixtnt-bin):
(texlive-pmx-bin):
(texlive-velthuis-bin):
(texlive-vlna-bin):
(texlive-bibtex8-bin):
(texlive-chktex-bin):
(texlive-detex-bin):
(texlive-dtl-bin):
(texlive-dvi2tty-bin):
(texlive-dvidvi-bin):
(texlive-dviljk-bin):
(texlive-dviout-util-bin):
(texlive-dvipng-bin):
(texlive-dvipos-bin):
(texlive-dvisvgm-bin):
(texlive-ptex-bin):
(texlive-lcdftypetools-bin):
(texlive-dvipdfmx-bin):
(texlive-dvips-bin):
(texlive-lacheck-bin):
(texlive-seetexk-bin):
(texlive-ps2eps-bin):
(texlive-ps2pk-bin):
(texlive-psutils-bin):
(texlive-t1utils-bin):
(texlive-tex4ht-bin):
(texlive-tpic2pdftex-bin):
(texlive-ttfutils-bin):
(texlive-upmendex-bin):
(texlive-xpdfopen-bin):
(texlive-gsftopk-bin):
(texlive-xml2pmx-bin):
(texlive-makeindex-bin):
(texlive-collection-basic):
(texlive-collection-bibtexextra):
(texlive-collection-binextra):
(texlive-collection-context):
(texlive-collection-fontsextra):
(texlive-collection-fontsrecommended):
(texlive-collection-fontutils):
(texlive-collection-formatsextra):
(texlive-collection-games):
(texlive-collection-humanities):
(texlive-collection-langarabic):
(texlive-collection-langchinese):
(texlive-collection-langcjk):
(texlive-collection-langcyrillic):
(texlive-collection-langczechslovak):
(texlive-collection-langenglish):
(texlive-collection-langeuropean):
(texlive-collection-langfrench):
(texlive-collection-langgerman):
(texlive-collection-langgreek):
(texlive-collection-langitalian):
(texlive-collection-langjapanese):
(texlive-collection-langkorean):
(texlive-collection-langother):
(texlive-collection-langpolish):
(texlive-collection-langportuguese):
(texlive-collection-langspanish):
(texlive-collection-latex):
(texlive-collection-latexextra):
(texlive-collection-latexrecommended):
(texlive-collection-luatex):
(texlive-collection-mathscience):
(texlive-collection-metapost):
(texlive-collection-music):
(texlive-collection-pictures):
(texlive-collection-plaingeneric):
(texlive-collection-pstricks):
(texlive-collection-publishers):
(texlive-collection-xetex):
(texlive-xindy-bin):
(texlive-xdvi-bin): Adapt to change of record type.
(texlive-updmap.cfg)[version]: Use the same as TEXLIVE-SOURCE.
* guix/import/texlive.scm:
(tlpdb-guix-packages): Define "source" as a special package.
(texlive->svn-multi-reference):
(tlpdb->package):
(package-from-texlive-repository?): Treat TEXLIVE-SOURCE specially.

Change-Id: I33890e54d825fdfed4203d770e40ed6255dd4dd2

Change-Id: I62fdd2766938ea4562fe6e4d45fd11c1ee0104d3
2024-08-31 10:45:36 +02:00
Nicolas Goaziou
6df755e1a0
guix: download-multi-svn-to-store: Allow exporting from base URL.
* guix/svn-download.scm (download-multi-svn-to-store): Allow exporting from
locations such as "./" or "somefile.txt".

Change-Id: If37362e4672b175fe413acc56ed67064ad998fe3
2024-08-31 10:45:36 +02:00
Nicolas Goaziou
30c8c8a0a5
guix: import texlive: Reduce friction when updating.
* guix/import/texlive.scm (no-bin-propagation-packages): Add more false
positives that do not need to propagate binaries.
(list-linked-scripts): Recognize ".sco" extension.
(list-upstream-inputs): Special case TEXLIVE-KPATHSEA, which should propagate
TEXLIVE-LIBKPATHSEA, not TEXLIVE-KPATHSEA-BIN.
(texlive->svn-multi-reference):
(tlpdb->package): Special case URL for TEXLIVE-SCRIPTS.

Change-Id: Ib0954b42a4664184ab006b4c6ec9bdacd48c1646
2024-08-31 10:45:33 +02:00
Nicolas Goaziou
415ed34860
guix: import texlive: Adjust to generate new source format.
* guix/import/texlive.scm (tlpdb->package): Adjust source according to new format.
* tests/texlive.scm (%fake-tlpdb): Add database revision.
("texlive->guix-package, no docfiles"):
("texlive->guix-package"):
("texlive->guix-package, with catalogue entry, no inputs"):
("texlive->guix-package, multiple licenses"):
("texlive->guix-package, with TeX format"): Update checks.

Change-Id: I60d5fe0f5f8db194c679dcb262f64c824cd19909
2024-08-31 10:45:33 +02:00
Nicolas Goaziou
9faca7c25b
gnu: Remove artefacts from previous TeX Live packaging.
* guix/build-system/texlive.scm (%texlive-tag):
(%texlive-revision):
(texlive-origin):
(texlive-ref): Remove variables.

Change-Id: Ic9b2fed76fc1dd1ff02fc567c3d88a941927452b
2024-08-31 10:45:33 +02:00
Nicolas Goaziou
15f8f1c99a
gnu: Factorize URLs relative to TeX Live.
* guix/build-system/texlive.scm (%texlive-repository):
(texlive-packages-repository): New variables.
* guix/import/texlive.scm (texlive-repository-location):
(texlive-repository): Remove variables.
(version->revision):
(latest-texlive-tag):
(tlpdb):
(texlive->svn-multi-reference): Use new variables.
* gnu/packages/tex.scm (texlive-source):
(texlive-scripts): Use new variables.

Change-Id: Ibbb21f9869d7fcb5aa66f7d9dd2070d0d5d8682a
2024-08-31 10:45:33 +02:00
Nicolas Goaziou
0f4dc1a963
gnu: texlive-scripts: Allow auto-updates.
* guix/import/texlive.scm (tlpdb-guix-packages): Add meta-data for
TEXLIVE-SCRIPTS.
(texlive->svn-multi-reference):
(package-from-texlive-repository?): Special case TEXLIVE-SCRIPTS.

Change-Id: Ide47d25430a39f620aae115fa4891c85d1d0c151
2024-08-31 10:45:32 +02:00
Nicolas Goaziou
416b196d74
gnu: TeX Live packages built from TEXLIVE-SOURCE use same version.
* gnu/packages/tex.scm (%texlive-version): New variable.
(texlive-source):
(texlive-libkpathsea)[version]:
(texlive-libptexenc)[version]:
(texlive-bin)[version]:
(texlive-scheme-basic)[version]:
(texlive-scheme-bookpub)[version]:
(texlive-scheme-context)[version]:
(texlive-scheme-full)[version]:
(texlive-scheme-gust)[version]:
(texlive-scheme-medium)[version]:
(texlive-scheme-minimal)[version]:
(texlive-scheme-small)[version]:
(texlive-scheme-tetex)[version]:
(texlive-collection-basic)[version]:
(texlive-collection-bibtexextra)[version]:
(texlive-collection-binextra)[version]:
(texlive-collection-context)[version]:
(texlive-collection-fontsextra)[version]:
(texlive-collection-fontsrecommended)[version]:
(texlive-collection-fontutils)[version]:
(texlive-collection-formatsextra)[version]:
(texlive-collection-games)[version]:
(texlive-collection-humanities)[version]:
(texlive-collection-langarabic)[version]:
(texlive-collection-langchinese)[version]:
(texlive-collection-langcjk)[version]:
(texlive-collection-langcyrillic)[version]:
(texlive-collection-langczechslovak)[version]:
(texlive-collection-langenglish)[version]:
(texlive-collection-langeuropean)[version]:
(texlive-collection-langfrench)[version]:
(texlive-collection-langgerman)[version]:
(texlive-collection-langgreek)[version]:
(texlive-collection-langitalian)[version]:
(texlive-collection-langjapanese)[version]:
(texlive-collection-langkorean)[version]:
(texlive-collection-langother)[version]:
(texlive-collection-langpolish)[version]:
(texlive-collection-langportuguese)[version]:
(texlive-collection-langspanish)[version]:
(texlive-collection-latex)[version]:
(texlive-collection-latexextra)[version]:
(texlive-collection-latexrecommended)[version]:
(texlive-collection-luatex)[version]:
(texlive-collection-mathscience)[version]:
(texlive-collection-metapost)[version]:
(texlive-collection-music)[version]:
(texlive-collection-pictures)[version]:
(texlive-collection-plaingeneric)[version]:
(texlive-collection-pstricks)[version]:
(texlive-collection-publishers)[version]:
(texlive-collection-xetex)[version]: Use new variable.
* guix/import/texlive.scm (tlpdb->package): Always use version from
%TEXLIVE-VERSION.
* tests/texlive.scm ("texlive->guix-package, meta-package"): Test change to
importer.

Since meta-packages are empty, they are not going through an updater.  This
change makes sure they always refer to an up-to-date version when the rest of
TeX Live is updated.

Change-Id: I55445e3337c1dea22158103d9ed952f75c3c4964

texlive-source

Change-Id: I198a361fd6df3c5dd2b4fa376e1ad623937f08cc
2024-08-31 10:45:32 +02:00
Nicolas Goaziou
c15b66ac67
guix: import texlive: Implement auto-updates.
* guix/import/texlive.scm (package-from-texlive-repository?):
(latest-release):
(tlpdb-guix-packages):
(%texlive-updater): New variables.
(tlpdb): Include Guix-specific package TEXLIVE-HYPHEN-COMPLETE.
* guix/upstream.scm (package-update/svn-multi-fetch): New variable.
(%method-updates): Extend it to support SVN-MULTI-FETCH.
(update-package-source): Also update revisions and locations from
svn-multi-reference sources.

Change-Id: I6d7f2cfe1e2f78887f410233bfd2799ffab80f3c
2024-08-31 10:45:32 +02:00
Nicolas Goaziou
9dc279e2fd
guix: import texlive: Handle versions.
* guix/import/texlive.scm (texlive-repository):
(texlive-repository-location):
(svn-command):
(version->revision):
(current-day):
(latest-texlive-tag):
(texlive->svn-multi-reference): New variables.
(tlpdb-file) Remove function.
(tlpdb): Add VERSION argument.
* guix/import/texlive.scm (list-upstream-inputs): Add VERSION and DATABASE
arguments.
(tlpdb->package): Do not use fixed version.  Instead, make use of the version
provided as an argument.  Add DATABASE argument for testing.
(texlive->guix-package): Do not memoize.  Allow providing any TeX Live release
tag as version.  Default to latest tag.  Add DATABASE argument for testing.
Improve docstring.

* tests/texlive.scm ("texlive->guix-package, no docfiles"):
("texlive->guix-package"):
("texlive->guix-package, with METAFONT files"):
("texlive->guix-package, with catalogue entry, no inputs"):
("texlive->guix-package, multiple licenses"):
("texlive->guix-package, meta-package"):
("texlive->guix-package, with TeX format"):
("texlive->guix-package, execute but no TeX format"):
("texlive->guix-package, translate dependencies"):
("texlive->guix-package, lonely `hyphen-base' dependency and ARCH"):
("texlive->guix-package, single script, no extension"):
("texlive->guix-package, multiple scripts, with extensions"):
("texlive->guix-package, script with associated input"):
("texlive->guix-package, propagated binaries, no script"):
("texlive->guix-package, propagated binaries and scripts"):
("texlive->guix-package, with skipped propagated binaries"): Update tests.

Change-Id: I7576b6e31e9ec3ff84258b71d0c4dd180d2b5c38
2024-08-31 10:45:32 +02:00
Nicolas Goaziou
1e2d90214c
guix: import texlive: Factorize package inputs listing.
* guix/import/texlive.scm (list-upstream-inputs):
(upstream-inputs->texlive-inputs): New functions.
(tlpdb->package): Use new functions.

Use <upstream-input> record to store associated inputs.

Change-Id: I70d42d291347feaade36eef83a04218fb100aae9
2024-08-31 10:45:32 +02:00
Nicolas Goaziou
9afdc7df1c
guix: import texlive: Move a comment.
* guix/import/texlive.scm (latex-bin-dependency-tree): Move comment inside the
variable.

Change-Id: Ia3fd8b49b9680122c0f85dca0226db42b0dd3927
2024-08-31 10:45:32 +02:00
Nicolas Goaziou
5cb3eaed15
guix: import texlive: Remove `files-differ?' function.
* guix/import/texlive.scm (files-differ?): Remove no longer used function.

Change-Id: I472b628da779c187fd315a929546c8e9bcefdcd3
2024-08-31 10:45:31 +02:00
Nicolas Goaziou
ae43ee7e09
guix: import texlive: Sort modules alphabetically.
* guix/import/texlive.scm: Sort modules alphabetically.

Change-Id: I02099403e9a6e64840a54ad07bb82e719dcdc60d
2024-08-31 10:45:31 +02:00
Nicolas Goaziou
4cd299c643
guix: import texlive: Rename some functions.
* guix/import/texlive.scm (filter-depends): Rename from `translate-depends'.
Clarify docstring.
(list-formats): Renamed from `formats'.
(tlpdb->package): Apply renaming.

Change-Id: If573cb8bde8be3ac65186298cf439f71f733f8eb
2024-08-31 10:45:31 +02:00
Nicolas Goaziou
b4ce7359fb
guix: import texlive: Propagate binaries when necessary.
* guix/import/texlive.scm (no-bin-propagation-packages): New variable.
(list-binfiles): New function.
(linked-scripts): Renamed to...
(list-linked-scripts): ... this.  Now always return a list.
(tlpdb->package): Handle binary propagation.
* tests/texlive.scm (%fake-tlpdb): Add data for new tests.
("texlive->guix-package, propagated binaries, no script"):
("texlive->guix-package, propagated binaries and scripts"):
("texlive->guix-package, with skipped propagated binaries"): New tests.

Change-Id: I707ba33a10aa98ad27151724d3ecc4158db6b7cc
2024-08-31 10:45:30 +02:00
Nicolas Goaziou
2402df01a6
gnu: texlive-libkpathsea: Fix TEXMFCACHE location.
* gnu/packages/tex.scm (texlive-libkpathsea)[arguments]<#:phases>: Set
TEXMFCACHE in "texmf.cnf" to "$HOME/.texliveYYYY/texmf-var/" instead of
"{$GUIX_TEXMF}", which creates a "{" directory in the current working
directory.
* guix/build/texlive-build-system.scm (set-texmfvar): New function.
(%standard-phases): Add SET-TEXMFVAR phase.

Change-Id: Idff2fd5279e12d35683c863528aac3b5efa9b22b
2024-08-31 10:45:19 +02:00
Dariqq
2205468108
build-system/meson: Add #:out-of-source? argument to build system.
Meson currently supports only out-of-source builds.  Add the argument
out-of-source? with default to #t such that the install-license-files phase
searches for the license files in the source directory.

* guix/build-system/meson.scm (meson-build): Add out-of-source? argument.
(meson-cross-build): Likewise.

Change-Id: Ib59d9d93b34fd567f05f5f9a10293f6ab924e399
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-08-31 10:45:19 +02:00
Maxim Cournoyer
f2748d6357
refresh: Import %final-inputs from (gnu packages base).
* guix/scripts/refresh.scm: Import %final-inputs from (gnu packages base).

Change-Id: Ida99a88fd3305a7971ab7951a15ee5ffde5ddb56
2024-08-31 10:44:47 +02:00
Ludovic Courtès
ee4e79f871
ui: Default to “C.UTF-8” locale instead of “en_US.utf8”.
This is a followup to 1cebc334a77030c0c94955981652f4df7608c9e3.

* guix/ui.scm (install-locale): Default to “C.UTF-8”.

Change-Id: Icc92bfe0d75c415eb11a9af207824544ed75e084
2024-08-31 10:44:46 +02:00
Ludovic Courtès
a42d54039b
grafts: Use C.UTF-8 and remove dependency on ‘glibc-utf8-locales’.
This is a followup to 1cebc334a77030c0c94955981652f4df7608c9e3.

* guix/grafts.scm (graft-derivation/shallow)[glibc-locales]: Remove.
[build]: Leave ‘GUIX_LOCPATH’ unset.  Use “C.UTF-8” instead of
“en_US.utf8”.

Reported-by: Janneke Nieuwenhuizen <janneke@gnu.org>
Change-Id: I59bc90130c6711a1a89068fbf697f9bd2ba2b5f1
2024-08-31 10:44:46 +02:00
Ludovic Courtès
c4ceb60f74
git-download: Use C.UTF-8 and remove dependency on ‘glibc-utf8-locales’.
This is a followup to 1cebc334a77030c0c94955981652f4df7608c9e3.

* guix/git-download.scm (git-fetch/in-band*)[glibc-locales]: Remove.
[build]: Leave ‘GUIX_LOCPATH’ unset.  Use “C.UTF-8” instead of
“en_US.utf8”.

Change-Id: I268361c04dd2d6154d97836b1f41ff06ffd278eb
2024-08-31 10:44:46 +02:00
Maxim Cournoyer
8da07d2e9e
build-systems: cmake: Add support for #:allowed-references.
Also actually honor #:disallowed-references when cross-compiling.

* guix/build-system/cmake.scm (cmake-build): Add #:allowed-references keyword,
and pass it to gexp->derivation.
(cmake-cross-build): Likewise.  Also pass disallowed-references to
gexp->derivation which had apparently been forgotten.

Change-Id: I1e9861295359b090bd5407c5f76afddf890e36bf
2024-08-31 10:44:41 +02:00
Maxime Devos
7c7ca0b625
guix: build-system: qt: Support #:disallowed-references.
* guix/build-system/qt.scm
(qt-build): Support #:allowed-references and #:disallowed-references.
(qt-cross-build): Likewise.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Ia2c36152bc3500a4e73b204b0a006f3bb9405d58
2024-08-31 10:44:41 +02:00
Maxim Cournoyer
f9b04997f2
build-system: pyproject: Add allowed/disallowed keyword arguments.
* gnu/build-system/pyproject.scm (pyproject-build) Add ALLOWED-REFERENCES and
DISALLOWED-REFERENCES keywords.

Change-Id: I404cbd8409332705b023c7a3b0b8fafbfaefe28b
2024-08-31 10:44:40 +02:00
Maxime Devos
725960c9ba
build-system: python: Add allowed/disallowed keyword arguments.
* gnu/build-system/python.scm (python-build) Add ALLOWED-REFERENCES and
DISALLOWED-REFERENCES keywords.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I80bfe8e23b8475a8ca277cddd4275f1e757db8c3
2024-08-31 10:44:40 +02:00
Romain GARBAGE
af15de3d6a
guix: build: Expand `copy-recursively'.
* guix/build/utils.scm (copy-recursively): Add `select?' key.

Change-Id: Icfe226164bb88dfede58ae24c15a98db9b696c3b
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-08-31 10:44:40 +02:00
Maxim Cournoyer
92f66ab60d
packages: Silence tar's support for --sort check output.
* guix/packages.scm (patch-and-repack)
<tar-supports-sort?>: Invoke with 'invoke/quiet', catching any message
condition.

Change-Id: I1feee605f77bfe633d22901a3250e4c530fee6a6
2024-08-31 10:44:40 +02:00