summaryrefslogtreecommitdiff
path: root/guix/build-system/texlive.scm
Commit message (Collapse)AuthorAge
* gnu: Update TeX Live packages to 2023.0 (rev 66594).Nicolas Goaziou2023-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to refreshing the hashes, updating includes removing spurious propagated inputs, deprecating removed packages, adding missing dependencies, and fixing build issues. * guix/build-system/texlive.scm (%texlive-tag): (%texlive-revision): Update to 2023.0 (rev 66594). (%texlive-date): Remove unused variable. * gnu/packages/tex.scm (texlive-hypdoc): (texlive-lua-uni-algos): (texlive-cyrillic-bin): (texlive-epstopdf): New package. (texlive-soulutf8): Deprecate variable. (texlive-scripts): (texlive-hyphen-complete): (texlive-tex): (texlive-latex): (texlive-bidi): (texlive-alphalph): (texlive-docstrip): (texlive-unicode-data): (texlive-hopatch): (texlive-hyphen-base): (texlive-dvipdfmx): (texlive-dvips): (texlive-metafont): (texlive-mfirstuc): (texlive-mptopdf): (texlive-fontinst): (texlive-tex-gyre): (texlive-lm): (texlive-lwarp): (texlive-mflogo-font): (texlive-mfware): (texlive-etex): (texlive-hardwrap): (texlive-kpathsea): (texlive-kpfonts): (texlive-latex-bin): (texlive-atenddvi): (texlive-attachfile): (texlive-epstopdf-pkg): (texlive-filehook): (texlive-fancyvrb): (texlive-gincltex): (texlive-graphics-def): (texlive-graphics): (texlive-greek-fontenc): (texlive-hycolor): (texlive-xcolor): (texlive-hyperref): (texlive-pdftex): (texlive-acronym): (texlive-preview): (texlive-ucs): (texlive-varwidth): (texlive-acmart): (texlive-titlesec): (texlive-metapost): (texlive-dejavu): (texlive-libertine): (texlive-hyperxmp): (texlive-oberdiek): (texlive-rerunfilecheck): (texlive-onedown): (texlive-tools): (texlive-l3kernel): (texlive-l3backend): (texlive-l3packages): (texlive-fontspec): (texlive-sansmathfonts): (texlive-l3build): (texlive-lualatex-math): (texlive-lualibs): (texlive-luatex): (texlive-luatexbase): (texlive-luahbtex): (texlive-luaotfload): (texlive-amsmath): (texlive-manfnt-font): (texlive-babel): (texlive-csplain): (texlive-babel-french): (texlive-cyrillic): (texlive-default-updmap.cfg): (texlive-blindtext): (texlive-environ): (texlive-etoc): (texlive-hanging): (texlive-fira): (texlive-firstaid): (texlive-newfloat): (texlive-newunicodechar): (texlive-newverbs): (texlive-seminar): (texlive-stackengine): (texlive-currfile): (texlive-carlisle): (texlive-geometry): (texlive-makeindex): (texlive-paralist): (texlive-polyglossia): (texlive-texinfo): (texlive-textcase): (texlive-bookmark): (texlive-changebar): (texlive-colortbl): (texlive-fancyhdr): (texlive-footmisc): (texlive-lipsum): (texlive-listings): (texlive-kvoptions): (texlive-incgraph): (texlive-zref): (texlive-enotez): (texlive-pdfpages): (texlive-stix2-otf): (texlive-sidecap): (texlive-stmaryrd): (texlive-media9): (texlive-ocgx2): (texlive-needspace): (texlive-changepage): (texlive-pgf): (texlive-koma-script): (texlive-bitset): (texlive-kvsetkeys): (texlive-listofitems): (texlive-readarray): (texlive-examplep): (texlive-xunicode): (texlive-bibtex): (texlive-context): (texlive-beamer): (texlive-xmpincl): (texlive-ydoc): (texlive-pstricks): (texlive-iftex): (texlive-tabu): (texlive-xkeyval): (texlive-standalone): (texlive-siunitx): (texlive-csquotes): (texlive-logreq): (texlive-biblatex): (texlive-biblatex-apa): (texlive-todonotes): (texlive-microtype): (texlive-minted): (texlive-caption): (texlive-symbol): (texlive-fourier): (texlive-cabin): (texlive-newtx): (texlive-xcharter): (texlive-ly1): (texlive-ifmtarg): (texlive-ifoddpage): (texlive-storebox): (texlive-collectbox): (texlive-collection-basic): (texlive-adjustbox): (texlive-tcolorbox): (texlive-eurosym): (texlive-translations): (texlive-translator): (texlive-textpos): (texlive-unicode-math): (texlive-xindy): (texlive-floatflt): (texlive-fvextra): (texlive-was): (texlive-lineno): (texlive-babel-dutch): (texlive-babel-polish): (texlive-setspace): (texlive-pdflscape): (texlive-datetime2): (texlive-tracklang): (texlive-ragged2e): (texlive-everysel): (texlive-breqn): (texlive-datatool): (texlive-lastpage): (texlive-xstring): (texlive-xetex): (texlive-soul): (texlive-xstring): (texlive-totcount): (texlive-totpages): (texlive-xdvi): Update to 2023.0.
* guix: texlive-build-system: Add #:link-scripts argument.Nicolas Goaziou2023-07-18
| | | | | | | | * doc/guix.texi (Build Systems): Document argument. * guix/build-system/texlive.scm (texlive-build): Add #:LINK-SCRIPTS argument. * guix/build/texlive-build-system.scm (link-scripts): (patch-shell-scripts): New function. (%standard-phases): Add new functions as phases.
* gnu: Replace texlive-latex-base with texlive-latex-bin.Nicolas Goaziou2023-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although `latex-base' is clearly defined on CTAN, it isn't a proper TeX Live package. Since we're trying to follow as closely as possible this TeX distribution, we replace the package with the closest one, which is `texlive-latex-bin'. As a consequence, the #:TEXLIVE-LATEX-BASE argument becomes #:TEXLIVE-LATEX-BIN?, emphasizing the fact that the meaningful values for it are booleans. * gnu/packages/graphviz.scm (dot2tex)[propagated-inputs]: Remove TEXLIVE-GRAPHICS, TEXLIVE-LATEX-BASE. Add TEXLIVE-LATEX-BIN. * gnu/packages/plotutils.scm (asymptote)[native-inputs]: Remove TEXLIVE-LATEX-BASE, TEXLIVE-GRAPHICS, TEXLIVE-L3BACKEND. Use TEXLIVE-UPDMAP.CFG. * gnu/packages/sphinx.scm (python-sphinx)[propagated-inputs]: Remove TEXLIVE-GRAPHICS, TEXLIVE-LATEX-BASE. Add TEXLIVE-LATEX-BIN. * gnu/packages/tex.scm (texlive-latex-base): Deprecate variable. (texlive-hyphen-complete): (texlive-tex): (texlive-latex): (texlive-docstrip): (texlive-unicode-data): (texlive-hyphen-base): (texlive-tex-ini-files): (texlive-metafont): (texlive-modes): (texlive-knuth-lib): (texlive-latex-fonts): (texlive-etex): (texlive-plain): (texlive-kpathsea): (texlive-latexconfig): (texlive-latex-bin): (texlive-l3kernel): (texlive-l3backend): (texlive-l3packages): (texlive-luatex): (texlive-luahbtex): (texlive-babel): (texlive-cyrillic): (texlive-pdftex): (texlive-cm)[arguments]: Replace #:TEXLIVE-LATEX-BASE with #:TEXLIVE-LATEX-BIN?. (texlive-lm): (texlive-lua-alt-getopt): (texlive-luaotfload): (texlive-graphics-def): (texlive-graphics-cfg): Set #:TEXLIVE-LATEX-BIN? to #F. (texlive-graphics): (texlive-lualibs): (texlive-firstaid): (texlive-atveryend)[arguments]: Set #:TEXLIVE-LATEX-BIN? to #F. [native-inputs]: Add TEXLIVE-DOCSTRIP, TEXLIVE-PDFTEX. (texlive-updmap.cfg): Remove TEXLIVE-CM, TEXLIVE-GRAPHICS, TEXLIVE-LATEX-BASE. Add TEXLIVE-LATEX-BIN. (texlive-atbegshi)[arguments]: Set #:TEXLIVE-LATEX-BIN? to #F. [native-inputs]: Add TEXLIVE-DOCSTRIP, TEXLIVE-PDFTEX. [propagated-inputs]: Remove TEXLIVE-IFTEX, TEXLIVE-INFWARERR and TEXLIVE-LTXCMDS. (texlive-everyshi)[arguments]: Build package with a temporary "latex.fmt" file. (texlive-cyrillic): Set #:TEXLIVE-LATEX-BIN? to #T. * guix/build-system/texlive.scm (default-texlive-latex-base): Rename to TEXLIVE-LATEX-BIN. (lower): Set default value for TEXLIVE-LATEX-BIN? to #TRUE. * gnu/packages/statistics.scm (r-with-tests): Remove TEXLIVE-LATEX-BASE and TEXLIVE-GRAPHICS. * doc/guix.texi (Build Systems): Document #:TEXLIVE-LATEX-BIN? argument. Remove reference to #:TEXLIVE-LATEX-BASE.
* guix: texlive-build-system: Generate TeX formats.Nicolas Goaziou2023-07-18
| | | | | | | | | * guix/build-system/texlive.scm (texlive-build): Add #:CREATE-FORMATS argument. * doc/guix.texi (Build Systems): Document it. * guix/build/texlive-build-system.scm (texlive-input?): New function. (generate-font-metrics): Use new function above. (create-formats): New function. (%standard-phases): Add function above to phases.
* guix: texlive-build-system: Improvements on non-trivial packages.Nicolas Goaziou2023-07-18
| | | | | | | | | | | | * guix/build/texlive-build-system.scm (build): Ignore temporary build files when moving runfiles around. Remove ".drv" source files prior to compiling files. Remove need for #:TEX-DIRECTORY keyword. Handle ".ins" and ".dtx" files in different directories. (install): Install docfiles in "doc" output when available. * guix/build-system/texlive.scm (texlive-build): Remove #:TEX-DIRECTORY. * doc/guix.texi (Build Systems): Remove reference to #:TEX-DIRECTORY in TEXLIVE-BUILD-SYSTEM documentation. Also mention it now tries to compile ".dtx" files when there is no ".ins" file.
* svn-download: Do not expand keywords.Timothy Sample2023-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Subversion keyword expansion is potentially non-reproducible as some of them expand time strings relative to the local time zone: https://issues.guix.gnu.org/43442#18 In practice this is not a problem in Guix since Subversion checkouts happen in an isolated environment using the "default timezone" (UTC). However, Software Heritage disables keyword expansion for this very reason. By following suit, we make sure content can be retrieved from there. * guix/build/svn.scm (svn-fecth): Pass "--ignore-keywords" to Subversion. * guix/build-system/texlive.scm (%texlive-date): New variable. * gnu/packages/java.scm (java-geronimo-xbean-reflect) (java-geronimo-genesis-2.1): Update the source hash. * gnu/packages/machine-learning.scm (ghmm): Likewise. * gnu/packages/video.scm (libsmpeg, libsmpeg-with-sdl1): Likewise. * gnu/packages/tex.scm (texlive-bin): Update the hash of the "texlive-scripts" input, and a add a new phase that imitates Subversion keyword expansion for scripts that need it. (texlive-latex-base): Update the hash of the "texlive-luatexconfig" native input. (texlive-hyphen-base, texlive-dvipdfmx, texlive-dvips, texlive-cm) (texlive-tex-plain, texlive-kpathsea, texlive-latexconfig) (texlive-tetex, texlive-pdftex, texlive-xetex): Update the source hash. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* guix: Strip #:use-module lists.Ludovic Courtès2023-03-13
| | | | | | | | | | | | This was obtained by setting up this environment: guix shell -D guix --with-input=guile@3.0.9=guile-next \ --with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2 -- make -j5 then adding 'unused-module' to (@@ (guix build compiler) %warnings), building, and checking all the "unused module" warnings and removing those that were definitely unused.
* build-system: Always pass #:graft? #f to 'gexp->derivation'.base-for-issue-61263Ludovic Courtès2023-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/60947>. Fixes a bug whereby packages referred via 'ungexp' in package arguments would be "double-grafted": 'gexp->derivation' would first replace those references by references to the grafted package, only to repeat the grafting process on the result. Build systems such as 'gnu', 'cmake', and 'pyproject' were already doing this. Only the rest of them is affected. * guix/build-system/cargo.scm (cargo-build): Pass #:graft? #f to 'gexp->derivation'. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/dune.scm (dune-build): Likewise. * guix/build-system/font.scm (font-build): Likewise. * guix/build-system/guile.scm (guile-build): Likewise. (guile-cross-build): Likewise. * guix/build-system/ocaml.scm (ocaml-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/waf.scm (waf-build): Likewise.
* build-system/texlive: Be explicit about #:guile-for-build.Ludovic Courtès2022-02-11
| | | | | | | | 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'.
* gnu: TeX Live: Update to TeX Live 2021Thiago Jung Bauermann2021-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* gnu: TeX Live: Use IniTeX to build a couple of packagesThiago Jung Bauermann2021-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* build-system/texlive: Change default format to pdftexThiago Jung Bauermann2021-07-05
| | | | | | | | | | | | | | 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>
* gnu: TeX Live: Update to 2020.0.Marius Bakke2021-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* build-system: Use 'sexp->gexp' for plain sexps.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
* build-system: Rewrite using gexps.Ludovic Courtès2021-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* build-system/texlive: Allow specifying SVN references with a single component.Maxim Cournoyer2021-01-14
| | | | | | | | 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.
* build-system/texlive: Update to texlive-2019.3, revision 51265.Marius Bakke2020-01-14
| | | | | * guix/build-system/texlive.scm (%texlive-tag): Change to "2019.3". (%texlive-revision): Change to 51265.
* build-system/texlive: Add texlive-origin.Ricardo Wurmus2019-07-23
| | | | * guix/build-system/texlive.scm (texlive-origin): New procedure.
* gnu: Update texlive packages.Ricardo Wurmus2019-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* build-system: texlive: Build union in configure phase.Ricardo Wurmus2017-07-09
| | | | | | | | | | | | 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.
* build-system/texlive: Update to texlive-2017.1, revision 44591.Ricardo Wurmus2017-06-19
| | | | | * guix/build-system/texlive.scm (%texlive-tag): Change to texlive-2017.1. (%texlive-revision): Change to 44591.
* build-system: Add 'texlive-build-system'.Ricardo Wurmus2017-06-15
* 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.