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 e529d46828c359b449fc570bdc293fc12534647c 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
This is a follow-up commit to a869f4bef3 ("packages: Repack patched source
archives via zstd by default.").
* guix/packages.scm (patch-and-repack): Do not have xz fallback into the zstd
variable, which is confusing and caused the extension selection to be wrong
when the xz fallback was used. Refine how PATH is set to avoid duplicates.
Change-Id: I580deba4de822eccf5f6fe53355b8ba57178c166
Since PACKAGE-NAMES->PACKAGE-INPUTS is used by both the go and crate
importers, give the crate importer a copy of the original so it
continues to use old-style inputs until it is updated.
* guix/import/utils.scm (package-names->package-inputs)[make-input]:
Return new-style package inputs.
(maybe-inputs): Wrap PACKAGE-INPUTS in 'list' instead of 'quasiquote'.
* guix/import/crate.scm (package-names->package-inputs): New variable.
* tests/go.scm ("go-module->guix-package"): Adjust to new-style package
inputs.
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>