Commit Graph

7270 Commits

Author SHA1 Message Date
Nicolas Goaziou
3481a5cb37
guix: profiles: Do not raise error on incomplete TeX Live setups.
* guix/profiles.scm (texlive-font-maps): Check if TEXLIVE-SCRIPTS is present
in the manifest before trying to generate font maps.
2023-08-09 18:27:10 +02:00
Ludovic Courtès
5652c2e147
system: Do not check initrd modules for pseudo file systems.
Reported by hako on #guix.

* gnu/machine/ssh.scm (machine-check-initrd-modules): Filter out pseudo
file systems from 'file-systems'.
* guix/scripts/system.scm (check-initrd-modules): Likewise.
2023-08-08 18:01:54 +02:00
walky_talky
3f092e4d76
licenses: Add Arphic-1999 (Aprhic Public License).
* guix/licenses.scm (arphic-1999): New variable.
* guix/import/utils.scm (%spdx-license-identifiers): Add Arphic-1999.

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2023-08-01 19:40:19 +08:00
Nicolas Goaziou
c173819c8e
guix: profiles: Fix auto-generated file deletion.
* guix/profiles.scm (texlive-font-maps): Make sure auto-generated file exists
before deleting it, which is not guaranteed when creating the initial texmf
tree union.

This is a followup to e43cbeafd1.
2023-07-30 10:57:41 +02:00
Nicolas Goaziou
e43cbeafd1
guix: profiles: Delete generated files.
* guix/profiles.scm (texlive-font-maps): Delete generated files.

Fixes <https://issues.guix.gnu.org/64906>.
2023-07-29 01:09:40 +02:00
Christopher Baines
3bb3fddb5c
download-nar: Improve output.
Report errors that occur, output the "Downloading from " line before starting
to report progress and end the output with a newline.
2023-07-28 18:08:17 +01:00
Hilton Chain
8874f2da2c
scripts: system: Remove duplicated "--target=TRIPLET" in help messages.
It's already included in (show-cross-build-options-help).

* guix/scripts/system.scm (show-help): Remove "--target=TRIPLET".

Signed-off-by: 宋文武 <iyzsong@member.fsf.org>
2023-07-28 21:52:18 +08:00
Efraim Flashner
1fd4f544b3
transformations: Wrap go binary.
* guix/transformations.scm (tuning-compiler): Adjust to wrap the go
binary with the appropriate environment variable.
(build-system-with-tuning-compiler): Remove custom 'set-microarchitecture
phase.
2023-07-25 16:07:02 +03:00
Ricardo Wurmus
b9bd1bcce9
import/utils: beautify-description: Wrap class names in @code{...}.
* guix/import/utils.scm (beautify-description): Add procedure to wrap words in
@code{...} markup.
* tests/import-utils.scm: Add two tests.
2023-07-19 15:53:28 +02:00
Ricardo Wurmus
45bf1a9a6b
import/utils: Add more initial words to beautify-description.
* guix/import/utils.scm (beautify-description): Add "Classes" and "Tools" to
initial words to be prefixed with "This package provides".
2023-07-19 15:29:22 +02:00
Maxim Cournoyer
d5f8b50365
pack: Move common build code to (guix build pack).
The rationale is to reduce the number of derivations built per pack to ideally
one, to minimize storage requirements.  The number of derivations had gone up
with 68380db4 ("pack: Extract populate-profile-root from
self-contained-tarball/builder.") as a side effect to improving code reuse.

* guix/scripts/pack.scm (guix): Add commentary comment.
(populate-profile-root, self-contained-tarball/builder): Extract to...
* guix/build/pack.scm (populate-profile-root): ... this, and...
(build-self-contained-tarball): ... that, adjusting for use on the build side.
(assert-utf8-locale): New procedure.
(self-contained-tarball, debian-archive, rpm-archive): Adjust accordingly.

Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2023-07-18 16:56:06 -04:00
Nicolas Goaziou
f832746ab6
guix: Fix license translation in texlive importer.
* guix/import/texlive.scm (string->license): Properly translate "artistic2"
into `artistic2.0'.
2023-07-18 18:19:02 +02:00
Nicolas Goaziou
1dc7971429
guix: texlive importer handles scripts with ".texlua" extension.
* guix/import/texlive.scm (linked-scripts): Also offer to link scripts with
a ".texlua" extension.
2023-07-18 18:18:24 +02:00
Nicolas Goaziou
985cf777b9
guix: texlive import ignores TeXworks.
* guix/import/texlive.scm (translate-depends): Ignore TeXworks files from TeX
Live, since they are Windows-only.
2023-07-18 18:18:24 +02:00
Nicolas Goaziou
b5d9ae22f5
guix: texlive importer ignores Asymptote package.
Asymptote is provided in `asymptote' Guix package.  OTOH, asy executable is
not built from TeX Live tree.  Therefore, Asymptote package from TeX Live can be ignored.

* guix/import/texlive.scm (translate-depends): Ignore Asymptote package.
2023-07-18 18:18:24 +02:00
Nicolas Goaziou
e7274a98d5
guix: licenses: Add Academic Free License 2.1.
* guix/licenses.scm (afl2.1): New variable.
2023-07-18 18:18:23 +02:00
Nicolas Goaziou
75677daa83
guix: import: texlive importer handles more licenses.
* guix/import/texlive.scm (string->license): Handle CC0 and ISC licenses.
2023-07-18 18:16:55 +02:00
Christopher Baines
c1f7156d55
svn-download: Handle the single file case when downloading a nar.
Delete the output so that download-nar doesn't error when trying to restore.

* guix/svn-download.scm (svn-multi-fetch): Delete the output if it exists
prior to calling download-nar.
2023-07-18 18:16:55 +02:00
Christopher Baines
32e48b8b43
svn-download: Use download-nar in svn-multi-fetch.
This should help if there are issues fetching from the source repository.

* guix/svn-download.scm (svn-multi-fetch): Use download-nar and adjust
accordingly.
2023-07-18 18:16:54 +02:00
Christopher Baines
a8d937d1bb
svn-download: Use download-nar.
This should help if there are issues fetching from the source repository.

* guix/svn-download.scm (svn-fetch): Use download-nar and adjust accordingly.
2023-07-18 18:16:54 +02:00
Nicolas Goaziou
026ed35ddb
guix: import: Handle texlua and TCL scripts.
* guix/import/texlive.scm (linked-scripts): Also generate scripts from files
with ".tlu" and ".tcl" extensions.
(tlpdb->package): Add appropriate inputs when providing a TCL script.
2023-07-18 18:16:53 +02:00
Nicolas Goaziou
29cc6b1cd6
gnu: Deprecate `texlive-tiny'.
At this point, there are three equivalent TeX Live sub-systems:
texlive-scheme-basic, texlive-tiny, and (texlive-updmap.cfg).  It is confusing
to keep so many around.

* doc/contributing.texi (Submitting Patches): Remove reference to
TEXLIVE-TINY.
* gnu/packages/algebra.scm (pari-gp)[native-inputs]:
(giac)[native-inputs]:
* gnu/packages/chez.scm (chez-sockets)[native-inputs]:
* gnu/packages/engineering.scm (fastcap)[native-inputs]:
* gnu/packages/gettext.scm (po4a)[native-inputs]:
* gnu/packages/maths.scm (cddlib)[native-inputs]:
(gnuplot)[native-inputs]:
(itpp)[native-inputs]:
* gnu/packages/ocaml.scm (unison)[native-inputs]:
* gnu/packages/pdf.scm (extractpdfmark)[native-inputs]:
* gnu/packages/photo.scm (enblend-enfuse): Replace TEXLIVE-TINY with a call to TEXLIVE-UPDMAP.CFG.
* gnu/packages/radio.scm (gnuradio)[native-inputs]: Remove unnecessary
TEXLIVE-TINY.
* gnu/packages/tex.scm (texlive-tiny): Deprecate it in favor of TEXLIVE-SCHEME-BASIC.
(texlive-makecmds)[native-inputs]:  Replace TEXLIVE-TINY with a call to TEXLIVE-UPDMAP.CFG.
* guix/lint.scm (check-inputs-should-be-native): Check only for
"texlive-updmap.cfg" input name.
2023-07-18 18:16:49 +02:00
Nicolas Goaziou
213cde14e3
guix: Add linter warning about texlive-updmap.cfg and texlive-tiny.
* guix/lint.scm (check-inputs-should-be-native): Warn when TEXLIVE-UPDMAP.CFG
and TEXLIVE-TINY are not native inputs.
2023-07-18 18:16:47 +02:00
Nicolas Goaziou
2e189e8863
guix: texlive importer: Do not pull all "scripts/context/" files.
* guix/import/texlive.scm (texlive-generic-locations): Add "scripts/context/"
since this location is split across multiple packages.
* guix/import/texlive.scm (files->locations): Only single out files from
generic locations, not their sub-directories.  E.g., generic location
"scripts/context/lua/" should not fetch "scripts/context/lua/third/" files.
2023-07-18 18:16:45 +02:00
Nicolas Goaziou
944ace7194
guix: Fix sub-directories in texlive importer locations.
* guix/import/texlive.scm (files->locations): When removing a sub-directory,
make sure to actually remove the sub-directory and not the parent.
2023-07-18 18:16:43 +02:00
Nicolas Goaziou
3f8b75b35c
gnu: Remove texlive-default-updmap.cfg.
* gnu/packages/tex.scm (texlive-scripts): Provide "updmap.cfg", along with
other similar files.
(texlive-default-updmap.cfg): Remove variable.
(texlive-updmap.cfg)[source]: Use TEXLIVE-SCRIPTS source.
[arguments]: Use G-expressions.  Adapt #:INSTALL-PLAN according to source change.
* guix/profiles.scm (texlive-font-maps): Use "updmap.cfg" provided by
TEXLIVE-SCRIPTS instead of now defunct TEXLIVE-DEFAULT-UPDMAP.CFG.
2023-07-18 18:16:08 +02:00
Nicolas Goaziou
19fd100413
gnu: Externalize libkpathsea in texlive and texlive-bin.
* gnu/packages/tex.scm (texlive-libkpathsea): New variable.
(texlive-bin): Inherit from above.
[arguments]<#:configure-flags>: Use "--disable-kpathsea",
"--with-system-kpathsea", "--with-kpathsea-includes" and
"--with-kpathsea-lib".
<#:phases>: Remove phases now handled by the package above.
[native-inputs]: Add GROFF-MINIMAL.
[propagated-inputs]: Add TEXLIVE-LIBKPATHSEA.
(texlive-bin-full): New variable.
(texlive-texmf)[build-system]: Use COPY-BUILD-SYSTEM.
[arguments]: Set #:INSTALL-PLAN accordingly.  Replace TEXLIVE-BIN with
TEXLIVE-BIN-FULL.
* guix/profiles.scm (texlive-font-maps): Fetch executables from
TEXLIVE-LIBKPATHSEA instead of TEXLIVE-BIN.
2023-07-18 18:16:08 +02:00
Nicolas Goaziou
4d171bf03f
guix: texlive importer ignores "-dev" packages in propagated inputs.
* guix/import/texlive.scm (translate-depends): Skip "-dev" packages.
2023-07-18 18:15:54 +02:00
Nicolas Goaziou
f3cdb6e203
guix: texlive importer allows meta-packages to build TeX formats.
* guix/import/texlive.scm (tlpdb->package): A package with no locations can
still build TeX format files, and therefore may use TEXLIVE-BUILD-SYSTEM.
2023-07-18 18:15:54 +02:00
Nicolas Goaziou
aea0d94bc1
guix: Handle asl2.0 license in texlive importer.
* guix/import/texlive.scm (string->license): Convert "apache2" to ASL2.0.
2023-07-18 18:15:50 +02:00
Nicolas Goaziou
b72c282d53
guix: Make "gfsl" an alias for gfl1.0 license in texlive importer.
* guix/import/texlive.scm (string->license): Make "gfsl" and alias for GFL1.0.
2023-07-18 18:15:46 +02:00
Nicolas Goaziou
7b45ead9ec
gnu: Update TeX Live packages to 2023.0 (rev 66594).
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.
2023-07-18 18:15:06 +02:00
Nicolas Goaziou
9fadbf759c
gnu: texlive-bin: Do not install all linked scripts.
* gnu/packages/tex.scm (texlive-scripts): Include only core scripts along with
their man pages and their dependencies.  Also patch them for use in Guix.
(texlive-bin): Simplify package.
[inputs]: Remove "texlive-extra-src" and "texlive-scripts" inputs.  Remove
labels from other inputs.
[propagated-inputs]: Add TEXLIVE-SCRIPTS.
[arguments]: Use G-expressions.
<#:configure-flags>: Add "--disable-linked-scripts".
<#:phases>: Remove phases relative to scripts.
* guix/profiles.scm (texlive-font-maps): Fetch executables from both
TEXLIVE-SCRIPTS and TEXLIVE-BIN.
* guix/import/texlive.scm (tlpdb-file): Grab file from TEXLIVE-SCRIPTS instead
of TEXLIVE-BIN.
2023-07-18 18:15:05 +02:00
Nicolas Goaziou
ec97cf1569
guix: Let texlive importer handle linked scripts.
* guix/import/texlive.scm (tlpdb): Also retrieve so-called binfiles.
(formats):
(linked-scripts): New functions.
(tlpdb->package): Use new functions to set #:LINK-SCRIPTS argument and
possibly INPUTS.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, single script, no extension"):
("texlive->guix-package, multiple scripts, with extensions"):
("texlive->guix-package, script with associated input"):  New tests.
2023-07-18 18:15:05 +02:00
Nicolas Goaziou
c8e75dfa24
guix: texlive-build-system: Add #:link-scripts argument.
* 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.
2023-07-18 18:15:05 +02:00
Nicolas Goaziou
ecc1c3af11
guix: texlive importer: Set #:texlive-latex-bin? when appropriate.
* guix/import/texlive.scm (latex-bin-dependency-tree): New function.
(tlpdb->package): Set #:TEXLIVE-LATEX-BIN? when appropriate.
* tests/texlive.scm ("texlive->guix-package, lonely `hyphen-base' dependency
and ARCH"): Update test.
2023-07-18 18:15:03 +02:00
Nicolas Goaziou
520551a596
gnu: Replace texlive-latex-base with texlive-latex-bin.
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.
2023-07-18 18:15:03 +02:00
Nicolas Goaziou
0d7e2380b6
gnu: Simplify texlive-default-updmap.cfg.
* gnu/packages/tex.scm (texlive-default-updmap.cfg): Use TEXLIVE-ORIGIN.
(texlive-updmap.cfg):
* guix/profiles.scm (texlive-font-maps): Update accordingly.
2023-07-18 18:15:03 +02:00
Nicolas Goaziou
36d7acf003
gnu: Deprecate texlive-base in favor of texlive-scheme-basic.
* gnu/packages/tex.scm (texlive-base): Deprecate variable.
(texlive-updmap.cfg): Use default packages from now deprecated TEXLIVE-BASE.
Also remove already implemented TODO.
* doc/build.scm (pdf-manual):
* gnu/packages/statistics.scm: Replace TEXLIVE-BASE with call to
TEXLIVE-UPDMAP.CFG.
* guix/profiles.scm (texlive-font-maps): Trigger TeX Live hook whenever
a texlive package is included in the manifest.
2023-07-18 18:15:02 +02:00
Nicolas Goaziou
0224a8f400
guix: texlive importer: Fix build system and arguments for meta-packages.
* guix/import/texlive.scm (tlpdb->package): Meta packages should use trivial
build system and an appropriate builder.
* tests/texlive.scm ("texlive->guix-package, meta-package"):
("texlive->guix-package, translate dependencies"): Update tests.
2023-07-18 18:12:55 +02:00
Nicolas Goaziou
5f51601bd9
guix: texlive importer ignores dependencies unnecessary in Guix.
* guix/import/texlive.scm (translate-depends): New function.
(tlpdb->package): Use new function.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, translate dependencies"):
("texlive->guix-package, lonely `hyphen-base' dependency and ARCH"): New tests.
2023-07-18 18:12:55 +02:00
Nicolas Goaziou
47913ab452
guix: Let texlive importer suggest format creation.
* guix/import/texlive.scm (tlpdb): Store "execute" entries.
(tlpdb->package): Add #:CREATE-FORMATS argument when there is an AddFormat
execute action.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, with TeX format"):
("texlive->guix-package, execute but no TeX format"): New tests.
2023-07-18 18:12:49 +02:00
Nicolas Goaziou
7ce20143a7
guix: texlive-build-system: Generate TeX formats.
* 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.
2023-07-18 18:12:49 +02:00
Nicolas Goaziou
d62b35bbe9
guix: import: Improve importing texlive meta packages.
* guix/import/texlive.scm (tlpdb->package): Generate more appropriate source,
home page and license fields when importing meta packages, i.e., TeX Live
collections and schemes.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, meta-package"): New test.
2023-07-18 18:12:47 +02:00
Nicolas Goaziou
293abb4c4e
guix: texlive-build-system: Handle doc-only packages gracefully.
* guix/build/texlive-build-system.scm (install): Always create #$output, even
if it is empty.
2023-07-18 18:12:46 +02:00
Nicolas Goaziou
a91171ad63
guix: import: Fix Creative Common licenses in texlive importer.
* guix/import/texlive.scm (string->license): Fix symbol used for some CC-BY
licenses.  Add version 4.0 for CC-BY and CC-BY-SA.
2023-07-18 18:12:46 +02:00
Nicolas Goaziou
31cd9a5040
guix: import: Handle native inputs in texlive importer.
* guix/import/texlive.scm (tlpdb->package): Add TEXLIVE-METAFONT as a native
input whenever font metrics are to be generated.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, with METAFONT files"): New test.
2023-07-18 18:12:39 +02:00
Nicolas Goaziou
c09a05d06c
guix: texlive-build-system: Generate font metrics.
* guix/build/texlive-build-system.scm (install-as-runfiles):
(generate-font-metrics): New function.
(build): Use INSTALL-AS-RUNFILES.
(%standard-phases): Add new phase.
2023-07-18 18:12:38 +02:00
Nicolas Goaziou
3fc925aa84
guix: import: Fix multiple licenses output in texlive importer.
* guix/import/texlive.scm (string->license): Add missing case and try first to
split license strings before giving up.
* tests/texlive.scm (%fake-tlpdb): Add test data.
("texlive->guix-package, multiple licenses"): New test.
2023-07-18 18:10:25 +02:00
Nicolas Goaziou
308b3e83c3
guix: import: texlive use full file names for generic directories.
Generic directories, such as "doc/info/" or "doc/man" are shared by multiple
packages.  With this change, the texlive importer specifies the full file name
of package-specific files there, making sure only them are downloaded.

* guix/import/texlive.scm (texlive-generic-locations): New variable.
(files->locations): Renamed from files->directories.
Provide full file names when necessary.
(tlpdb->package): Apply renaming.
2023-07-18 18:10:25 +02:00