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
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
* guix/lint.scm (check-inputs-should-use-a-minimal-variant): New
procedure.
(%local-checkers): Add it.
Change-Id: Ifbf808063e4e125c7070505a8a6215128d84b40b
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
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
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
This ensures ‘guix publish’ does not re-compress zst files.
* guix/utils.scm (compressed-file?): Add ‘tzst’ and ‘zst’.
Change-Id: Iae39e8826f1fc242d2e15d86c82a8ff84797002e
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>
* 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
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
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
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
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
* 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
* guix/svn-download.scm (download-multi-svn-to-store): Allow exporting from
locations such as "./" or "somefile.txt".
Change-Id: If37362e4672b175fe413acc56ed67064ad998fe3
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
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>
This is a followup to 1cebc334a77030c0c94955981652f4df7608c9e3.
* guix/ui.scm (install-locale): Default to “C.UTF-8”.
Change-Id: Icc92bfe0d75c415eb11a9af207824544ed75e084
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
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
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