Age | Commit message (Collapse) | Author |
|
This ensures package derivations are not a function of the value
of (%guile-for-build).
* guix/build-system/texlive.scm (texlive-build): Explicitly pass
#:guile-for-build to 'gexp->derivation'.
|
|
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>
|
|
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>
|
|
LuaTeX has a bug where sometimes it corrupts the heap and aborts. This
causes the build of texlive packages to fail at random. The problem is
being tracked at https://issues.guix.gnu.org/48064.
While a fix isn't found, switch the default TeX format (and consequently
also the engine) to pdftex to avoid the issue.
* guix/build-system/texlive.scm (texlive-build): Change default value of
the ‘tex-format’ key parameter to “pdftex”.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* guix/build-system/texlive.scm (%texlive-tag): Set to 2020.0.
(%texlive-revision): Set to 54632.
* gnu/packages/tex.scm (texlive-extra-src, texlive-texmf-src, texlive-bin,
texlive-texmf, texlive): Update to 20200406.
(texlive-bin)[source](patches): Remove.
[arguments]: Adjust poppler compatibility phase for new upstream patches.
* gnu/packages/tex.scm (hyph-utf8-scripts, texlive-docstrip, texlive-unicode-data
texlive-hyphen-base, texlive-dvips, texlive-metafont-base, texlive-fontinst,
texlive-fontname, texlive-tex-plain, texlive-hyphen-bulgarian, texlive-hyphen-chinese,
texlive-hyphen-hungarian, texlive-hyphen-latin, texlive-hyphen-sanskrit,
texlive-hyphen-spanish, texlive-hyph-utf8, texlive-kpathsea,
texlive-latexconfig, texlive-latex-base, texlive-union,
texlive-latex-filecontents, texlive-latex-fancyvrb, texlive-graphics-def,
texlive-latex-graphics, texlive-latex-oberdiek, texlive-latex-tools,
texlive-latex-l3kernel, texlive-latex-l3packages, texlive-latex-fontspec,
texlive-latex-amsmath, texlive-latex-babel, texlive-latex-draftwatermark,
texlive-etoolbox, texlive-latex-geometry, texlive-latex-polyglossia,
texlive-latex-supertabular, texlive-tex-texinfo, texlive-latex-appendix,
texlive-latex-colortbl, texlive-latex-listings, texlive-inconsolata,
texlive-latex-enumitem, texlive-latex-multirow, texlive-latex-overpic,
texlive-latex-parskip, texlive-latex-pdfpages, texlive-libertine,
texlive-latex-titlesec, texlive-metapost, texlive-latex-acmart,
texlive-latex-wasysym, texlive-latex-preview, texlive-latex-acronym,
texlive-pdftex, texlive-latex-media9, texlive-latex-ocgx2, texlive-latex-ms,
texlive-generic-ulem, texlive-latex-pgf, texlive-latex-koma-script,
texlive-generic-listofitems, texlive-bibtex, texlive-context-base,
texlive-beamer, texlive-pstricks, texlive-marginnote, texlive-iftex,
texlive-tools, texlive-siunitx, texlive-booktabs, texlive-csquotes,
texlive-biblatex, texlive-microtype, texlive-caption, texlive-ydoc,
texlive-courier, texlive-hyperref, texlive-fontspec, texlive-l3build,
texlive-luaotfload, texlive-babel, texlive-tipa, texlive-jknappen,
texlive-wasy, texlive-context, texlive-cabin, texlive-fourier,
texlive-mweights, texlive-newtx, texlive-xcharter, texlive-tcolorbox): Update
hashes.
(texlive-hyphen-bulgarian): Don't include removed files.
(texlive-hyphen-hungarian, texlive-hyphen-sanskrit): Adjust for directory
rename.
(texlive-hyphen-chinese, texlive-hyphen-latin): Add more files.
(texlive-hyphen-macedonian): New public variable.
(texlive-metafont-base)[source]: Switch to SVN-MULTI-FETCH.
[arguments]: Adjust for extra source files.
(texlive-latex-base)[arguments]: Disable more formats.
[propagated-inputs]: Add TEXLIVE-HYPHEN-MACEDONIAN.
(texlive-fontinst): Don't include "scripts/texlive/fontinst.sh".
(texlive-generic-iftex): New public variable.
(texlive-iftex, texlive-generic-ifxetex): Deprecate in favor of
TEXLIVE-GENERIC-IFTEX.
(texlive-latex-oberdiek)[propagated-inputs]: Change from
TEXLIVE-GENERIC-IFXETEX to TEXLIVE-GENERIC-IFTEX.
(texlive-latex-xkeyval)[native-inputs]: Likewise.
(texlive-default-updmap.cfg): Remove variable.
* gnu/packages/patches/texlive-bin-poppler-0.83.patch,
gnu/packages/patches/texlive-bin-poppler-0.86.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
|
|
This reduces memory allocations and list traversals during 'gexp->sexp',
'gexp-inputs', etc.
* guix/build-system/cargo.scm (cargo-build): Use 'sexp->gexp' for sexps
known to not contain file-like objects. Change default #:phases to a
symbol.
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Likewise.
* guix/build-system/copy.scm (copy-build): Likewise.
* guix/build-system/font.scm (font-build): Likewise.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise.
* guix/build-system/gnu.scm (%strip-flags, %strip-directories): New
variables.
(gnu-build): Use them. Use 'sexp->gexp' where appropriate.
(gnu-cross-build): Likewise.
* guix/build-system/meson.scm (meson-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/ruby.scm (ruby-build): Likewise.
* guix/build-system/scons.scm (scons-build): Likewise.
* guix/build-system/texlive.scm (texlive-build): Likewise.
* guix/build-system/trivial.scm (trivial-build): Likewise.
* guix/build-system/waf.scm (waf-build): Likewise.
* guix/build-system/android-ndk.scm (android-ndk-build): Likewise.
* guix/build-system/ant.scm (ant-build): Likewise.
* guix/build-system/asdf.scm (asdf-build/source, asdf-build): Likewise.
* guix/build-system/chicken.scm (chicken-build): Likewise.
* guix/build-system/clojure.scm (clojure-build): Likewise.
(source->output-path, maybe-guile->guile): Remove.
* guix/build-system/dub.scm (dub-build): Likewise.
* guix/build-system/emacs.scm (emacs-build): Likewise.
* guix/build-system/go.scm (go-build): Likewise.
* guix/build-system/haskell.scm (haskell-build): Likewise.
* guix/build-system/julia.scm (julia-build): Likewise.
* guix/build-system/linux-module.scm (linux-module-build)
(linux-module-build-cross): Likewise.
* guix/build-system/maven.scm (maven-build): Likewise.
* guix/build-system/minify.scm (minify-build): Likewise.
* guix/build-system/node.scm (node-build): Likewise.
* guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise.
* guix/build-system/r.scm (r-build): Likewise.
* guix/build-system/rakudo.scm (rakudo-build): Likewise.
* guix/build-system/renpy.scm (renpy-build): Likewise.
* guix/packages.scm (patch-and-repack): Use 'sexp->gexp' when SNIPPET is
a pair.
* guix/svn-download.scm (svn-multi-fetch): Use 'sexp->gexp' for
'svn-multi-reference-locations'.
|
|
* guix/packages.scm (expand-input): Remove 'store', 'system', and
'cross-system' parameters; add #:native?. Rewrite to return
name/gexp-input tuples.
(bag->derivation): Adjust accordingly. Lower (bag-build bag).
(bag->cross-derivation): Ditto. Instead of #:native-drvs and
#:target-drvs, pass #:build-inputs, #:host-inputs, and #:target-inputs.
(%derivation-cache): Remove.
* gnu/packages/bootstrap.scm (raw-build): Turn into a monadic procedure.
* gnu/packages/commencement.scm (glibc-final)[arguments]: Use
'gexp-input' for the #:allowed-references argument.
* guix/build-system/cmake.scm (cmake-build): Remove 'store' parameter.
Switch to the use of gexps and 'gexp->derivation'.
(lower): Remove #:source from 'private-keywords'.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build, lower):
Likewise.
* guix/build-system/font.scm (font-build): Likewise.
* guix/build-system/gnu.scm (gnu-build): Likewise, and remove
'canonicalize-reference'.
(gnu-cross-build): Likewise, and expect #:build-inputs, #:host-inputs,
and #:target-inputs instead of #:native-drvs and #:target-drvs.
(lower): Likewise.
* guix/build-system/perl.scm (perl-build, lower): Likewise.
* guix/build-system/python.scm (python-build, lower): Likewise.
* guix/build-system/ruby.scm (ruby-build, lower): Likewise.
* guix/build-system/waf.scm (waf-build, lower): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Remove.
(trivial-build): Remove 'store' parameter, change to gexps.
(trivial-cross-build): Ditto, and change to #:build-inputs & co.
* guix/build-system/cargo.scm (cargo-build): Change to 'gexp->derivation'.
* guix/build-system/copy.scm (copy-build): Likewise.
* guix/build-system/dune.scm (dune-build): Likewise.
* guix/build-system/guile.scm (guile-build, guile-cross-build):
Likewise.
* guix/build-system/meson.scm (meson-build): Likewise.
* guix/build-system/ocaml.scm (ocaml-build): Likewise.
* guix/build-system/scons.scm (scons-build): Likewise.
* guix/build-system/texlive.scm (texlive-build): Likewise.
* guix/build-system/android-ndk.scm (android-ndk-build): Likewise.
* guix/build-system/ant.scm (ant-build): Likewise.
* guix/build-system/asdf.scm (asdf-build/source, asdf-build): Likewise.
* guix/build-system/chicken.scm (chicken-build): Likewise.
* guix/build-system/clojure.scm (clojure-build): Likewise.
(source->output-path, maybe-guile->guile): Remove.
* guix/build-system/dub.scm (dub-build): Likewise.
* guix/build-system/emacs.scm (emacs-build): Likewise.
* guix/build-system/go.scm (go-build): Likewise.
* guix/build-system/haskell.scm (haskell-build): Likewise.
* guix/build-system/julia.scm (julia-build): Likewise.
* guix/build-system/linux-module.scm (linux-module-build)
(linux-module-build-cross): Likewise.
* guix/build-system/maven.scm (maven-build): Likewise.
* guix/build-system/minify.scm (minify-build): Likewise.
* guix/build-system/node.scm (node-build): Likewise.
* guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise.
* guix/build-system/r.scm (r-build): Likewise.
* guix/build-system/rakudo.scm (rakudo-build): Likewise.
* guix/build-system/renpy.scm (renpy-build): Likewise.
* tests/builders.scm ("gnu-build"): Call 'store-lower' on 'gnu-build'.
Pass #:source parameter.
* tests/packages.scm ("search paths"): Use 'abort-to-prompt' instead of
a normal return from the 'build' method.
("package->bag, sensitivity to %current-target-system"): Change 'build'
to match the new build system signature.
squash! build-system: Rewrite using gexps.
squash! build-system: Rewrite using gexps.
|
|
This is the case for macros (formats), for which the TeX Directory Structure
specifies to be located at the root of the source tree directly.
* guix/build-system/texlive.scm (texlive-ref): Make the ID parameter
optional. Update doc.
|
|
* guix/build-system/texlive.scm (%texlive-tag): Change to "2019.3".
(%texlive-revision): Change to 51265.
|
|
* guix/build-system/texlive.scm (texlive-origin): New procedure.
|
|
* guix/build-system/texlive.scm (%texlive-tag, %texlive-revision): Update to
texlive-2018.2, revision 49435.
* gnu/packages/tex.scm (texlive-dvips, texlive-generic-unicode-data,
texlive-generic-dehyph-exptl, texlive-generic-hyph-utf8, texlive-fontname,
texlive-fonts-cm, texlive-tex-plain, texlive-latex-base,
texlive-latex-graphics, texlive-latex-graphics, texlive-latex-oberdiek,
texlive-latex-tools, texlive-latex-l3kernel, texlive-latex-l3packages,
texlive-latex-fontspec, texlive-latex-amsmath, texlive-latex-amscls,
texlive-latex-babel, texlive-latex-cyrillic, texlive-latex-eqparbox,
texlive-latex-ifplatform, texlive-latex-etoolbox, texlive-latex-galois,
texlive-latex-polyglossia, texlive-tex-texinfo, texlive-latex-changebar,
texlive-latex-fancyhdr, texlive-latex-overpic, texlive-latex-parskip,
texlive-metapost, texlive-latex-ucs, texlive-generic-pdftex,
texlive-latex-media9, texlive-latex-ocgx2, texlive-latex-koma-script,
texlive-generic-listofitems, texlive-bibtex, texlive-context-base): Update
hashes.
(texlive-latex-fontspec)[arguments]: Remove custom build target.
(texlive-latex-dinbrief)[arguments]: Add build phase "fix-encoding-error".
(texlive-latex-xkeyval): New variable.
(texlive-latex-pstool)[source]: Fetch from new location.
[build-system]: Use trivial-build-system.
[arguments]: Write simple builder.
[propagated-inputs]: Add texlive-latex-l3kernel, texlive-latex-tools, and
texlive-latex-xkeyval.
[synopsis]: Fix typo.
|
|
This allows us to use texmf.cnf instead of having to set all required
environment variables manually.
* guix/build/texlive-build-system.scm (configure): New procedure.
(build): Simplify.
(%standard-phases): Add configure phase.
* guix/build-system/texlive.scm (texlive-build): Include (guix build union) in
modules.
(%texlive-build-system-modules): Likewise.
|
|
* guix/build-system/texlive.scm (%texlive-tag): Change to texlive-2017.1.
(%texlive-revision): Change to 44591.
|
|
* guix/build-system/texlive.scm: New file.
* guix/build/texlive-build-system.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document it.
* gnu/packages/tex.scm (%texlive-tag, %texlive-revision): Remove variables.
(texlife-ref): Remove procedure.
|