From 4c23ee4b136bfa6814a75feea1f1548fbade5d81 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Jan 2020 23:36:36 +0100 Subject: [PATCH 1/9] gnu: Add ruby-hydra. * gnu/packages/ruby.scm (ruby-hydra): New public variable. --- gnu/packages/ruby.scm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 57d7fa91f3..969fc95a00 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2019 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017 Ben Woodcroft ;;; Copyright © 2017 ng0 -;;; Copyright © 2017, 2019 Marius Bakke +;;; Copyright © 2017, 2019, 2020 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Clément Lassieur @@ -1953,6 +1953,40 @@ two hashes.") (home-page "https://github.com/liufengyun/hashdiff") (license license:expat))) +(define-public ruby-hydra + ;; No releases yet. + (let ((commit "5abfa378743756ae4d9306cc134bcc482f5c9525") + (revision "0")) + (package + (name "ruby-hydra") + (version (git-version "0.0" revision commit)) + (home-page "https://github.com/hyphenation/hydra") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cik398l2765y3d9sdhjzki3303hkry58ac6jlkiy7iy62nm529f")))) + (build-system ruby-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) + (replace 'check + (lambda _ + (invoke "rspec")))))) + (native-inputs + `(("ruby-rspec" ,ruby-rspec))) + (propagated-inputs + `(("ruby-byebug" ,ruby-byebug))) + (synopsis "Ruby hyphenation patterns") + (description + "ruby-hydra is a Ruby library for working with hyphenation patterns.") + (license license:expat)))) + (define-public ruby-shindo (package (name "ruby-shindo") -- 2.24.1 From 679f2698636f224b9c91abb87eff8ad9cf59351d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Jan 2020 18:36:50 +0100 Subject: [PATCH 2/9] gnu: poppler: Update to 0.84.0. * gnu/packages/pdf.scm (poppler): Update to 0.84.0. --- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 368b2ce69e..32a45ed4d5 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -90,14 +90,14 @@ (define-public poppler (package (name "poppler") - (version "0.79.0") + (version "0.84.0") (source (origin (method url-fetch) (uri (string-append "https://poppler.freedesktop.org/poppler-" version ".tar.xz")) (sha256 (base32 - "1j18jlv1q6h21azb939gqjsgcbsh5qcd8dwxdmad54p5ixha91gr")))) + "0ccp2gx05cz5y04k5pgbyi4ikyq60nafa7x2yx4aaf1vfkd318f7")))) (build-system cmake-build-system) ;; FIXME: ;; use libcurl: no -- 2.24.1 From 23b9afcc9fe608a26c13fe2f579a8accd025bb2b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 10 Jan 2020 23:49:42 +0100 Subject: [PATCH 3/9] gnu: inkscape: Fix build with Poppler 0.84. * gnu/packages/inkscape.scm (inkscape)[arguments]: Add phase 'adjust-for-new-poppler'. --- gnu/packages/inkscape.scm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index 1ad23a92d4..0bd8b9496b 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 John Darrington ;;; Copyright © 2014, 2016 Mark H Weaver ;;; Copyright © 2016, 2018 Ricardo Wurmus -;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017, 2020 Marius Bakke ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -88,6 +88,19 @@ (substitute* "share/icons/application/CMakeLists.txt" (("gtk-update-icon-cache") "true")) #t)) + (add-after 'unpack 'adjust-for-new-poppler + (lambda _ + (substitute* (find-files "src/extension/internal/pdfinput") + ;; Needed for Poppler 0.82. + (("Unicode \\*u") "Unicode const *u") + ;; Needed for Poppler 0.83. + (("\\(GfxPath") "(const GfxPath") + (("GfxSubpath") "const GfxSubpath") + (("new GlobalParams\\(\\)") + "std::unique_ptr(new GlobalParams())") + (("new GlobalParams\\(poppler_datadir\\)") + "std::unique_ptr(new GlobalParams(poppler_datadir))")) + #t)) (add-before 'configure 'dont-use-system-includes (lambda _ ;; Don't add redundant -isystem includes which confuses GCC7. -- 2.24.1 From 506d6762e3984945caf0141e48ffed201bb20ad5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Jan 2020 22:36:40 +0100 Subject: [PATCH 4/9] build-system/texlive: Update to texlive-2019.3, revision 51265. * guix/build-system/texlive.scm (%texlive-tag): Change to "2019.3". (%texlive-revision): Change to 51265. --- guix/build-system/texlive.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/build-system/texlive.scm b/guix/build-system/texlive.scm index ad99d1e2d0..8bbca0ccb7 100644 --- a/guix/build-system/texlive.scm +++ b/guix/build-system/texlive.scm @@ -42,8 +42,8 @@ ;; These variables specify the SVN tag and the matching SVN revision. They ;; are taken from https://www.tug.org/svn/texlive/tags/ -(define %texlive-tag "texlive-2018.2") -(define %texlive-revision 49435) +(define %texlive-tag "texlive-2019.3") +(define %texlive-revision 51265) (define (texlive-origin name version locations hash) "Return an object for a TeX Live package consisting of multiple -- 2.24.1 From f683fdd960ec7e4e030b495147bf29b9459757b5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Jan 2020 22:37:10 +0100 Subject: [PATCH 5/9] gnu: texlive-bin: Update to 20190410. * gnu/packages/patches/texlive-bin-CVE-2018-17407.patch, gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch: Delete files. * gnu/packages/patches/texlive-bin-poppler-0.83.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/tex.scm (texlive-extra-src, texlive-texmf-src): Update to 20190419. (texlive-bin): Likewise. [source](patches): Update Arch patches for Poppler 0.84 compatibility. [arguments]: Remove phase 'use-code-for-even-newer-poppler'; add phase 'patch-dvisgm-build-files'. --- gnu/local.mk | 3 +- .../patches/texlive-bin-CVE-2018-17407.patch | 249 --------------- .../texlive-bin-luatex-poppler-compat.patch | 293 ------------------ .../patches/texlive-bin-poppler-0.83.patch | 52 ++++ gnu/packages/tex.scm | 48 ++- 5 files changed, 74 insertions(+), 571 deletions(-) delete mode 100644 gnu/packages/patches/texlive-bin-CVE-2018-17407.patch delete mode 100644 gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch create mode 100644 gnu/packages/patches/texlive-bin-poppler-0.83.patch diff --git a/gnu/local.mk b/gnu/local.mk index 09f46b065e..fd3d434d0c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1405,8 +1405,7 @@ dist_patch_DATA = \ %D%/packages/patches/teensy-loader-cli-help.patch \ %D%/packages/patches/teeworlds-use-latest-wavpack.patch \ %D%/packages/patches/texinfo-5-perl-compat.patch \ - %D%/packages/patches/texlive-bin-CVE-2018-17407.patch \ - %D%/packages/patches/texlive-bin-luatex-poppler-compat.patch \ + %D%/packages/patches/texlive-bin-poppler-0.83.patch \ %D%/packages/patches/telegram-purple-adjust-test.patch \ %D%/packages/patches/texi2html-document-encoding.patch \ %D%/packages/patches/texi2html-i18n.patch \ diff --git a/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch b/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch deleted file mode 100644 index 63646d420c..0000000000 --- a/gnu/packages/patches/texlive-bin-CVE-2018-17407.patch +++ /dev/null @@ -1,249 +0,0 @@ -This patch adds support for newer versions of Poppler and some upstream -TexLive fixes, including one for CVE-2018-17407. - -It is taken from Linux From Scratch: -. - -Submitted By: Ken Moffat -Date: 2018-12-26 -Initial Package Version: 20180414 -Upstream Status: Applied -Origin: Upstream -Description: Two fixes, cherry-picked from svn plus a CVE fix. -I have removed the partial fixes for various system versions of poppler. - -r47469 Fix segfault in dvipdfm-x (XeTeX) on 1/2/4-bit transparent indexed PNGs. - -r47477 Fix a ptex regression for discontinuous kinsoku table. - -Also, via fedora (I got lost in svn) a critical fix for CVE-2018-17407 - -"A buffer overflow in the handling of Type 1 fonts allows arbitrary code -execution when a malicious font is loaded by one of the vulnerable tools: -pdflatex, pdftex, dvips, or luatex." - -diff -Naur a/texk/dvipdfm-x/pngimage.c b/texk/dvipdfm-x/pngimage.c ---- a/texk/dvipdfm-x/pngimage.c 2018-02-17 08:41:35.000000000 +0000 -+++ b/texk/dvipdfm-x/pngimage.c 2018-10-09 01:52:01.648670875 +0100 -@@ -964,12 +964,16 @@ - png_bytep trans; - int num_trans; - png_uint_32 i; -+ png_byte bpc, mask, shift; - - if (!png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) || - !png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, NULL)) { - WARN("%s: PNG does not have valid tRNS chunk but tRNS is requested.", PNG_DEBUG_STR); - return NULL; - } -+ bpc = png_get_bit_depth(png_ptr, info_ptr); -+ mask = 0xff >> (8 - bpc); -+ shift = 8 - bpc; - - smask = pdf_new_stream(STREAM_COMPRESS); - dict = pdf_stream_dict(smask); -@@ -981,7 +985,8 @@ - pdf_add_dict(dict, pdf_new_name("ColorSpace"), pdf_new_name("DeviceGray")); - pdf_add_dict(dict, pdf_new_name("BitsPerComponent"), pdf_new_number(8)); - for (i = 0; i < width*height; i++) { -- png_byte idx = image_data_ptr[i]; -+ /* data is packed for 1/2/4 bpc formats, msb first */ -+ png_byte idx = (image_data_ptr[bpc * i / 8] >> (shift - bpc * i % 8)) & mask; - smask_data_ptr[i] = (idx < num_trans) ? trans[idx] : 0xff; - } - pdf_add_stream(smask, (char *)smask_data_ptr, width*height); -diff -Naur a/texk/dvipsk/writet1.c b/texk/dvipsk/writet1.c ---- a/texk/dvipsk/writet1.c 2016-11-25 18:24:26.000000000 +0000 -+++ b/texk/dvipsk/writet1.c 2018-10-09 01:52:01.648670875 +0100 -@@ -1449,7 +1449,9 @@ - *(strend(t1_buf_array) - 1) = ' '; - - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -Naur a/texk/web2c/luatexdir/font/writet1.w b/texk/web2c/luatexdir/font/writet1.w ---- a/texk/web2c/luatexdir/font/writet1.w 2016-11-25 18:24:34.000000000 +0000 -+++ b/texk/web2c/luatexdir/font/writet1.w 2018-10-09 01:52:01.648670875 +0100 -@@ -1625,7 +1625,9 @@ - if (sscanf(p, "%i", &i) != 1) { - strcpy(t1_buf_array, t1_line_array); - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -Naur a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w ---- a/texk/web2c/luatexdir/image/pdftoepdf.w 2018-01-17 18:00:12.000000000 +0000 -+++ b/texk/web2c/luatexdir/image/pdftoepdf.w 2018-10-09 01:52:01.648670875 +0100 -@@ -472,10 +472,10 @@ - break; - */ - case objString: -- copyString(pdf, obj->getString()); -+ copyString(pdf, (GooString *)obj->getString()); - break; - case objName: -- copyName(pdf, obj->getName()); -+ copyName(pdf, (char *)obj->getName()); - break; - case objNull: - pdf_add_null(pdf); -diff -Naur a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc ---- a/texk/web2c/luatexdir/lua/lepdflib.cc 2018-02-14 14:44:38.000000000 +0000 -+++ b/texk/web2c/luatexdir/lua/lepdflib.cc 2018-10-09 01:52:01.649670868 +0100 -@@ -674,7 +674,7 @@ - uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ - if (uin->pd != NULL && uin->pd->pc != uin->pc) \ - pdfdoc_changed_error(L); \ -- gs = ((in *) uin->d)->function(); \ -+ gs = (GooString *)((in *) uin->d)->function(); \ - if (gs != NULL) \ - lua_pushlstring(L, gs->getCString(), gs->getLength()); \ - else \ -@@ -1813,7 +1813,7 @@ - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((Object *) uin->d)->isString()) { -- gs = ((Object *) uin->d)->getString(); -+ gs = (GooString *)((Object *) uin->d)->getString(); - lua_pushlstring(L, gs->getCString(), gs->getLength()); - } else - lua_pushnil(L); -diff -Naur a/texk/web2c/pdftexdir/writet1.c b/texk/web2c/pdftexdir/writet1.c ---- a/texk/web2c/pdftexdir/writet1.c 2016-11-25 18:24:37.000000000 +0000 -+++ b/texk/web2c/pdftexdir/writet1.c 2018-10-09 01:52:01.649670868 +0100 -@@ -1598,7 +1598,9 @@ - *(strend(t1_buf_array) - 1) = ' '; - - t1_getline(); -+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcat(t1_buf_array, t1_line_array); -+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE); - strcpy(t1_line_array, t1_buf_array); - t1_line_ptr = eol(t1_line_array); - } -diff -Naur a/texk/web2c/ptexdir/ptex_version.h b/texk/web2c/ptexdir/ptex_version.h ---- a/texk/web2c/ptexdir/ptex_version.h 2018-01-21 03:48:06.000000000 +0000 -+++ b/texk/web2c/ptexdir/ptex_version.h 2018-10-09 01:52:01.649670868 +0100 -@@ -1 +1 @@ --#define PTEX_VERSION "p3.8.0" -+#define PTEX_VERSION "p3.8.1" -diff -Naur a/texk/web2c/ptexdir/tests/free_ixsp.tex b/texk/web2c/ptexdir/tests/free_ixsp.tex ---- a/texk/web2c/ptexdir/tests/free_ixsp.tex 1970-01-01 01:00:00.000000000 +0100 -+++ b/texk/web2c/ptexdir/tests/free_ixsp.tex 2018-10-09 01:52:01.649670868 +0100 -@@ -0,0 +1,53 @@ -+%#!eptex -ini -etex -+\let\dump\relax -+\batchmode -+\input plain -+ -+\errorstopmode -+\catcode`@=11 -+\newcount\@tempcnta -+\newcount\@tempcntb -+\newcount\@tempcntc -+\mathchardef\LIM=256 -+ -+\def\MYCHAR#1{% -+ \@tempcntc=\numexpr7*#1+"101\relax -+ \@tempcnta=\@tempcntc\divide\@tempcnta 94 -+ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax -+ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi -+ \advance\@tempcnta18 % 18区以降 -+ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax -+} -+ -+\newcount\CNT\newcount\CNTA -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \message{\the\CNT.} -+ \inhibitxspcode\CNTA=1\relax -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+ -+\newcount\CNTB -+ -+\loop -+ \MYCHAR\CNTB -+ \global\inhibitxspcode\CNTA=3 -+{% -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \count@=\numexpr 1-\inhibitxspcode\CNTA\relax -+ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else -+ \errmessage{<\the\CNTB, \the\CNT, \the\inhibitxspcode\CNTA>}\fi\fi -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+} -+ \MYCHAR\CNTB -+ \global\inhibitxspcode\CNTA=1\relax -+ \advance\CNTB1\relax -+ \ifnum\CNTB<\LIM -+\repeat -+\bye -diff -Naur a/texk/web2c/ptexdir/tests/free_pena.tex b/texk/web2c/ptexdir/tests/free_pena.tex ---- a/texk/web2c/ptexdir/tests/free_pena.tex 1970-01-01 01:00:00.000000000 +0100 -+++ b/texk/web2c/ptexdir/tests/free_pena.tex 2018-10-09 01:52:01.649670868 +0100 -@@ -0,0 +1,52 @@ -+%#!eptex -ini -etex -+\let\dump\relax -+\batchmode -+\input plain -+ -+\errorstopmode -+\catcode`@=11 -+\newcount\@tempcnta -+\newcount\@tempcntb -+\newcount\@tempcntc -+\mathchardef\LIM=256 -+ -+\def\MYCHAR#1{% -+ \@tempcntc=\numexpr7*#1+"101\relax -+ \@tempcnta=\@tempcntc\divide\@tempcnta 94 -+ \@tempcntb=\numexpr\@tempcntc-94*\@tempcnta+1\relax -+ \ifnum\@tempcntb<0\advance\@tempcntb94 \advance\@tempcnta-1\fi -+ \advance\@tempcnta18 % 18区以降 -+ \CNTA=\kuten\numexpr"100*\@tempcnta+\@tempcntb\relax -+} -+ -+\newcount\CNT\newcount\CNTA -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \message{\the\CNT.} -+ \prebreakpenalty\CNTA=\numexpr\CNT+1\relax -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+ -+\newcount\CNTB -+ -+\loop -+ \MYCHAR\CNTB -+ \global\prebreakpenalty\CNTA=0 -+{% -+\CNT=0 -+\loop -+ \MYCHAR\CNT -+ \count@=\numexpr -\CNT-1+\prebreakpenalty\CNTA\relax -+ \ifnum\count@=0\else\ifnum\CNTB=\CNT\else\errmessage{<\the\CNTB, \the\CNT>}\fi\fi -+ \advance\CNT1\relax -+ \ifnum\CNT<\LIM -+\repeat -+} -+ \MYCHAR\CNTB -+ \global\prebreakpenalty\CNTA=\numexpr\CNTB+1\relax -+ \advance\CNTB1\relax -+ \ifnum\CNTB<\LIM -+\repeat -+\bye diff --git a/gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch b/gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch deleted file mode 100644 index 024ff416af..0000000000 --- a/gnu/packages/patches/texlive-bin-luatex-poppler-compat.patch +++ /dev/null @@ -1,293 +0,0 @@ -Fix LuaTeX compatibility with Poppler 0.75. - -Upstream LuaTeX have moved from Poppler to "pplib" and thus upstream -fixes are unavailable. This is based on Archs patch, with minor -tweaks to comply with texlive-bin-CVE-2018-17407.patch. -https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/texlive-bin&id=418dd6f008c3d41a461353fdb60f2d73d87c58ed - -diff --git a/texk/web2c/luatexdir/image/pdftoepdf.w b/texk/web2c/luatexdir/image/pdftoepdf.w ---- a/texk/web2c/luatexdir/image/pdftoepdf.w -+++ b/texk/web2c/luatexdir/image/pdftoepdf.w -@@ -363,7 +363,7 @@ void copyReal(PDF pdf, double d) - - static void copyString(PDF pdf, GooString * string) - { -- char *p; -+ const char *p; - unsigned char c; - size_t i, l; - p = string->getCString(); -@@ -393,7 +393,7 @@ static void copyString(PDF pdf, GooString * string) - pdf->cave = true; - } - --static void copyName(PDF pdf, char *s) -+static void copyName(PDF pdf, const char *s) - { - pdf_out(pdf, '/'); - for (; *s != 0; s++) { -@@ -412,7 +412,7 @@ static void copyArray(PDF pdf, PdfDocument * pdf_doc, Array * array) - Object obj1; - pdf_begin_array(pdf); - for (i = 0, l = array->getLength(); i < l; ++i) { -- obj1 = array->getNF(i); -+ obj1 = array->getNF(i).copy(); - copyObject(pdf, pdf_doc, &obj1); - } - pdf_end_array(pdf); -@@ -425,7 +425,7 @@ static void copyDict(PDF pdf, PdfDocument * pdf_doc, Dict * dict) - pdf_begin_dict(pdf); - for (i = 0, l = dict->getLength(); i < l; ++i) { - copyName(pdf, dict->getKey(i)); -- obj1 = dict->getValNF(i); -+ obj1 = dict->getValNF(i).copy(); - copyObject(pdf, pdf_doc, &obj1); - } - pdf_end_dict(pdf); -@@ -475,7 +475,7 @@ static void copyObject(PDF pdf, PdfDocument * pdf_doc, Object * obj) - copyString(pdf, (GooString *)obj->getString()); - break; - case objName: -- copyName(pdf, (char *)obj->getName()); -+ copyName(pdf, obj->getName()); - break; - case objNull: - pdf_add_null(pdf); -@@ -531,22 +531,22 @@ static PDFRectangle *get_pagebox(Page * page, int pagebox_spec) - { - switch (pagebox_spec) { - case PDF_BOX_SPEC_MEDIA: -- return page->getMediaBox(); -+ return (PDFRectangle *) page->getMediaBox(); - break; - case PDF_BOX_SPEC_CROP: -- return page->getCropBox(); -+ return (PDFRectangle *) page->getCropBox(); - break; - case PDF_BOX_SPEC_BLEED: -- return page->getBleedBox(); -+ return (PDFRectangle *) page->getBleedBox(); - break; - case PDF_BOX_SPEC_TRIM: -- return page->getTrimBox(); -+ return (PDFRectangle *) page->getTrimBox(); - break; - case PDF_BOX_SPEC_ART: -- return page->getArtBox(); -+ return (PDFRectangle *) page->getArtBox(); - break; - default: -- return page->getMediaBox(); -+ return (PDFRectangle *) page->getMediaBox(); - break; - } - } -@@ -788,12 +788,12 @@ void write_epdf(PDF pdf, image_dict * idict, int suppress_optional_info) - Now all relevant parts of the Page dictionary are copied. Metadata validity - check is needed(as a stream it must be indirect). - */ -- obj1 = pageDict->lookupNF("Metadata"); -+ obj1 = pageDict->lookupNF("Metadata").copy(); - if (!obj1.isNull() && !obj1.isRef()) - formatted_warning("pdf inclusion","/Metadata must be indirect object"); - /* copy selected items in Page dictionary */ - for (i = 0; pagedictkeys[i] != NULL; i++) { -- obj1 = pageDict->lookupNF(pagedictkeys[i]); -+ obj1 = pageDict->lookupNF(pagedictkeys[i]).copy(); - if (!obj1.isNull()) { - pdf_add_name(pdf, pagedictkeys[i]); - /* preserves indirection */ -@@ -806,13 +806,13 @@ void write_epdf(PDF pdf, image_dict * idict, int suppress_optional_info) - PDF file, climbing up the tree until the Resources are found. - (This fixes a problem with Scribus 1.3.3.14.) - */ -- obj1 = pageDict->lookupNF("Resources"); -+ obj1 = pageDict->lookupNF("Resources").copy(); - if (obj1.isNull()) { - op1 = &pagesobj1; - op2 = &pagesobj2; - *op1 = pageDict->lookup("Parent"); - while (op1->isDict()) { -- obj1 = op1->dictLookupNF("Resources"); -+ obj1 = op1->dictLookupNF("Resources").copy(); - if (!obj1.isNull()) { - pdf_add_name(pdf, "Resources"); - copyObject(pdf, pdf_doc, &obj1); -diff --git a/texk/web2c/luatexdir/lua/lepdflib.cc b/texk/web2c/luatexdir/lua/lepdflib.cc ---- a/texk/web2c/luatexdir/lua/lepdflib.cc -+++ b/texk/web2c/luatexdir/lua/lepdflib.cc -@@ -240,7 +240,7 @@ static int l_new_Attribute(lua_State * L) - if (uobj->pd != NULL && uobj->pd->pc != uobj->pc) - pdfdoc_changed_error(L); - uout = new_Attribute_userdata(L); -- uout->d = new Attribute(n, nlen, (Object *)uobj->d); -+ uout->d = new Attribute((GooString)n, (Object *)uobj->d); - uout->atype = ALLOC_LEPDF; - uout->pc = uobj->pc; - uout->pd = uobj->pd; -@@ -496,7 +496,7 @@ static int l_new_Object(lua_State * L) - double numA = lua_tonumber(L,1); - double genA = lua_tonumber(L,2); - if ( ((numA)==(int)(numA)) && ((genA)==(int)(genA)) ){ -- uout->d = new Object((int)(numA), (int)(genA)); -+ uout->d = new Object({(int)(numA), (int)(genA)}); - uout->atype = ALLOC_LEPDF; - uout->pc = 0; - uout->pd = NULL; -@@ -596,7 +596,7 @@ static int m_##in##_##function(lua_State * L) \ - uin = (udstruct *) luaL_checkudata(L, 1, M_##in); \ - if (uin->pd != NULL && uin->pd->pc != uin->pc) \ - pdfdoc_changed_error(L); \ -- o = ((in *) uin->d)->function(); \ -+ o = (out *) ((in *) uin->d)->function(); \ - if (o != NULL) { \ - uout = new_##out##_userdata(L); \ - uout->d = o; \ -@@ -889,7 +889,7 @@ static int m_Array_getNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1); -+ *((Object *) uout->d) = ((Array *) uin->d)->getNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1125,12 +1125,12 @@ m_poppler_get_INT(Dict, getLength); - - static int m_Dict_add(lua_State * L) - { -- char *s; -+ const char *s; - udstruct *uin, *uobj; - uin = (udstruct *) luaL_checkudata(L, 1, M_Dict); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- s = copyString(luaL_checkstring(L, 2)); -+ s = luaL_checkstring(L, 2); - uobj = (udstruct *) luaL_checkudata(L, 3, M_Object); - ((Dict *) uin->d)->add(s, std::move(*((Object *) uobj->d))); - return 0; -@@ -1190,7 +1190,7 @@ static int m_Dict_lookupNF(lua_State * L) - s = luaL_checkstring(L, 2); - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s); -+ *((Object *) uout->d) = ((Dict *) uin->d)->lookupNF(s).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1263,7 +1263,7 @@ static int m_Dict_getValNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1); -+ *((Object *) uout->d) = ((Dict *) uin->d)->getValNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -1653,7 +1653,7 @@ static int m_Object_initRef(lua_State * L) - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -- *((Object *) uin->d) = Object(num, gen); -+ *((Object *) uin->d) = Object({num, gen}); - return 0; - } - -@@ -2011,7 +2011,7 @@ static int m_Object_arrayGetNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1); -+ *((Object *) uout->d) = ((Object *) uin->d)->arrayGetNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2051,7 +2051,7 @@ static int m_Object_dictAdd(lua_State * L) - pdfdoc_changed_error(L); - if (!((Object *) uin->d)->isDict()) - luaL_error(L, "Object is not a Dict"); -- ((Object *) uin->d)->dictAdd(copyString(s), std::move(*((Object *) uobj->d))); -+ ((Object *) uin->d)->dictAdd(s, std::move(*((Object *) uobj->d))); - return 0; - } - -@@ -2104,7 +2104,7 @@ static int m_Object_dictLookupNF(lua_State * L) - if (((Object *) uin->d)->isDict()) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictLookupNF(s).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2169,7 +2169,7 @@ static int m_Object_dictGetValNF(lua_State * L) - if (i > 0 && i <= len) { - uout = new_Object_userdata(L); - uout->d = new Object(); -- *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1); -+ *((Object *) uout->d) = ((Object *) uin->d)->dictGetValNF(i - 1).copy(); - uout->atype = ALLOC_LEPDF; - uout->pc = uin->pc; - uout->pd = uin->pd; -@@ -2470,7 +2470,7 @@ static int m_PDFDoc_getFileName(lua_State * L) - uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); -- gs = ((PdfDocument *) uin->d)->doc->getFileName(); -+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->getFileName(); - if (gs != NULL) - lua_pushlstring(L, gs->getCString(), gs->getLength()); - else -@@ -2559,7 +2559,7 @@ static int m_PDFDoc_readMetadata(lua_State * L) - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- gs = ((PdfDocument *) uin->d)->doc->readMetadata(); -+ gs = (GooString *) ((PdfDocument *) uin->d)->doc->readMetadata(); - if (gs != NULL) - lua_pushlstring(L, gs->getCString(), gs->getLength()); - else -@@ -2577,7 +2577,7 @@ static int m_PDFDoc_getStructTreeRoot(lua_State * L) - if (uin->pd != NULL && uin->pd->pc != uin->pc) - pdfdoc_changed_error(L); - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- obj = ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); -+ obj = (StructTreeRoot *) ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); - uout = new_StructTreeRoot_userdata(L); - uout->d = obj; - uout->pc = uin->pc; ---- texlive-source/texk/web2c/luatexdir/lua/lepdflib.cc.orig 2019-04-24 09:41:05.090522664 +0000 -+++ texlive-source/texk/web2c/luatexdir/lua/lepdflib.cc 2019-04-24 09:43:37.119184926 +0000 -@@ -994,7 +994,8 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -- i = ((Catalog *) uin->d)->findPage(num, gen); -+ Ref numgen = {num, gen}; -+ i = ((Catalog *) uin->d)->findPage(numgen); - if (i > 0) - lua_pushinteger(L, i); - else -@@ -2596,8 +2597,9 @@ - pdfdoc_changed_error(L); - num = luaL_checkint(L, 2); - gen = luaL_checkint(L, 3); -+ Ref numgen = {num, gen}; - if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { -- i = ((PdfDocument *) uin->d)->doc->findPage(num, gen); -+ i = ((PdfDocument *) uin->d)->doc->findPage(numgen); - if (i > 0) - lua_pushinteger(L, i); - else ---- texlive-source/texk/web2c/luatexdir/image/pdftoepdf.w.orig 2019-04-24 09:56:38.406498975 +0000 -+++ texlive-source/texk/web2c/luatexdir/image/pdftoepdf.w 2019-04-24 09:56:57.020081327 +0000 -@@ -630,7 +630,7 @@ - if (link == NULL || !link->isOk()) - formatted_error("pdf inclusion","invalid destination '%s'",img_pagename(idict)); - Ref ref = link->getPageRef(); -- img_pagenum(idict) = catalog->findPage(ref.num, ref.gen); -+ img_pagenum(idict) = catalog->findPage(ref); - if (img_pagenum(idict) == 0) - formatted_error("pdf inclusion","destination is not a page '%s'",img_pagename(idict)); - delete link; diff --git a/gnu/packages/patches/texlive-bin-poppler-0.83.patch b/gnu/packages/patches/texlive-bin-poppler-0.83.patch new file mode 100644 index 0000000000..5e57e3efac --- /dev/null +++ b/gnu/packages/patches/texlive-bin-poppler-0.83.patch @@ -0,0 +1,52 @@ +Fix build with Poppler 0.83 and later. + +Taken from Arch Linux, but adjusted to patch the versioned Poppler +files, as upstream applies it after copying them in place. +https://git.archlinux.org/svntogit/packages.git/tree/trunk/texlive-poppler-0.83.patch?h=packages/texlive-bin + +diff -ru texlive-source-orig/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc texlive-source/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc +--- texlive-source-orig/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc ++++ texlive-source/texk/web2c/pdftexdir/pdftoepdf-poppler0.76.0.cc +@@ -723,7 +723,7 @@ + #endif + // initialize + if (!isInit) { +- globalParams = new GlobalParams(); ++ globalParams.reset(new GlobalParams()); + globalParams->setErrQuiet(false); + isInit = true; + } +@@ -1108,6 +1108,5 @@ + delete_document(p); + } + // see above for globalParams +- delete globalParams; + } + } +diff -ru texlive-source-orig/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc texlive-source/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc +--- texlive-source-orig/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc ++++ texlive-source/texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc +@@ -79,7 +79,7 @@ + exit(1); + } + fileName = new GString(argv[1]); +- globalParams = new GlobalParams(); ++ globalParams.reset(new GlobalParams()); + doc = new PDFDoc(fileName); + if (!doc->isOk()) { + fprintf(stderr, "Invalid PDF file\n"); +@@ -100,7 +100,7 @@ + if (objnum == 0) { + srcStream = catalogDict.dictLookup("SourceObject"); + static char const_SourceFile[] = "SourceFile"; +- if (!srcStream.isStream(const_SourceFile)) { ++ if (!srcStream.isDict(const_SourceFile)) { + fprintf(stderr, "No SourceObject found\n"); + exit(1); + } +@@ -202,5 +202,4 @@ + fprintf(stderr, "Cross-reference table extracted to %s\n", outname); + fclose(outfile); + delete doc; +- delete globalParams; + } diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index e4346d1232..4ea40126ae 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -227,29 +227,29 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (define texlive-extra-src (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2018/texlive-20180414-extra.tar.xz") + (uri "ftp://tug.org/historic/systems/texlive/2019/texlive-20190410-extra.tar.xz") (sha256 (base32 - "0a83kymxc8zmlxjb0y1gf6mx7qnf0hxffwkivwh5yh138y2rfhsv")))) + "13ncf2an4nlqv18lki6y2p6pcsgs1i54zqkhfwprax5j53bk70j8")))) (define texlive-texmf-src (origin (method url-fetch) - (uri "ftp://tug.org/historic/systems/texlive/2018/texlive-20180414-texmf.tar.xz") + (uri "ftp://tug.org/historic/systems/texlive/2019/texlive-20190410-texmf.tar.xz") (sha256 (base32 - "1b8zigzg8raxkhhzphcmynf84rbdbj2ym2qkz24v8n0qx82zmqms")))) + "00n4qh9fj8v9zzy3y488hpfq1g3dnnh72y4yjsaikfcqpi59gv62")))) (define-public texlive-bin (package (name "texlive-bin") - (version "20180414") + (version "20190410") (source (origin (method url-fetch) - (uri (string-append "ftp://tug.org/historic/systems/texlive/2018/" + (uri (string-append "ftp://tug.org/historic/systems/texlive/2019/" "texlive-" version "-source.tar.xz")) (sha256 (base32 - "0khyi6h015r2zfqgg0a44a2j7vmr1cy42knw7jbss237yvakc07y")) + "1dfps39q6bdr1zsbp9p74mvalmy3bycihv19sb9c6kg30kprz8nj")) (patches (let ((arch-patch (lambda (name revision hash) @@ -260,14 +260,13 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "&id=" revision)) (file-name (string-append "texlive-bin-" name)) (sha256 (base32 hash))))) - (arch-revision "c4b99aba97213ea554b6592a4916d3c7394a6d7b")) - (append (search-patches "texlive-bin-CVE-2018-17407.patch" - "texlive-bin-luatex-poppler-compat.patch") - (list - (arch-patch "pdftex-poppler0.76.patch" arch-revision - "15ypbh21amfsdxy7ca825x28lkmmkklxk1w660gpgvzdi7s70h0b") - (arch-patch "xetex-poppler-fixes.patch" arch-revision - "1jj1p5zkjljb7id9pjv29cw0cf8mwrgrh4ackgzz9c200vaqpsvx"))))))) + (arch-revision "49d7fe25e5ea63f136ebc20270c1d8fc9b00041c")) + (list + (arch-patch "pdftex-poppler0.76.patch" arch-revision + "03vc88dz37mjjyaspzv0fik2fp5gp8qv82114869akd1dhszbaax") + (search-patch "texlive-bin-poppler-0.83.patch") + (arch-patch "texlive-poppler-0.84.patch" arch-revision + "1ia6cr99krk4ipx4hdi2qdb98bh2h26mckjlpxdzrjnfhlnghksa")))))) (build-system gnu-build-system) (inputs `(("texlive-extra-src" ,texlive-extra-src) @@ -284,7 +283,7 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "-checkout")) (sha256 (base32 - "0wrjls1y9b4k1z10l9l8w2l3yjcw7v7by2y16kchdpkiyldlkry6")))) + "1cj04svl8bpfwjr4gqfcc04rmklz3aggrxvgj7q5bxrh7c7g18xh")))) ("cairo" ,cairo) ("fontconfig" ,fontconfig) ("fontforge" ,fontforge) @@ -362,18 +361,13 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (copy-file "texk/web2c/pdftexdir/pdftosrc-poppler0.76.0.cc" "texk/web2c/pdftexdir/pdftosrc.cc") #t)) - (add-after 'use-code-for-new-poppler 'use-code-for-even-newer-poppler + (add-after 'unpack 'patch-dvisvgm-build-files (lambda _ - ;; Adjust for deprecated types in Poppler 0.73 and later. - (substitute* (append - (find-files "texk/web2c/luatexdir/" "\\.(cc|w)$") - '("texk/web2c/pdftexdir/pdftosrc.cc")) - (("GBool") "bool") - (("gFalse") "false") - (("gTrue") "true") - (("getCString") "c_str") - (("Guint") "unsigned int") - (("Guchar") "unsigned char")) + ;; XXX: Ghostscript is detected, but HAVE_LIBGS is never set, so + ;; the appropriate linker flags are not added. + (substitute* "texk/dvisvgm/configure" + (("^have_libgs=yes" all) + (string-append all "\nHAVE_LIBGS=1"))) #t)) (add-after 'unpack 'disable-failing-test (lambda _ -- 2.24.1 From 99efc0cba4526f2f63365817f1d81fc65b9fd046 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Jan 2020 22:38:01 +0100 Subject: [PATCH 6/9] gnu: texlive-bin: Do not build static libraries. * gnu/packages/tex.scm (texlive-bin)[arguments]: Add "--disable-static" in #:configure-flags. --- gnu/packages/tex.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 4ea40126ae..442baf6ed1 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -314,7 +314,8 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (arguments `(#:out-of-source? #t #:configure-flags - `("--disable-native-texlive-build" + '("--disable-static" + "--disable-native-texlive-build" "--with-system-cairo" "--with-system-freetype2" "--with-system-gd" -- 2.24.1 From 83a54160af4e2c0296bd2fd4ec84d7a4f5eacd04 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 9 Jan 2020 22:38:35 +0100 Subject: [PATCH 7/9] gnu: texlive-bin: Purge unused bundled software from the source. * gnu/packages/tex.scm (texlive-bin)[source](modules, snippet): New fields. --- gnu/packages/tex.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 442baf6ed1..b3703d1c4f 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -266,7 +266,22 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "03vc88dz37mjjyaspzv0fik2fp5gp8qv82114869akd1dhszbaax") (search-patch "texlive-bin-poppler-0.83.patch") (arch-patch "texlive-poppler-0.84.patch" arch-revision - "1ia6cr99krk4ipx4hdi2qdb98bh2h26mckjlpxdzrjnfhlnghksa")))))) + "1ia6cr99krk4ipx4hdi2qdb98bh2h26mckjlpxdzrjnfhlnghksa")))) + (modules '((guix build utils) + (ice-9 ftw))) + (snippet + '(begin + (with-directory-excursion "libs" + (let ((preserved-directories '("." ".." "lua53" "luajit"))) + ;; Delete bundled software, except Lua which cannot easily be + ;; used as an external dependency. + (for-each delete-file-recursively + (scandir "." + (lambda (file) + (and (not (member file preserved-directories)) + (eq? 'directory (stat:type (stat file))))))))) + ;; TODO: Unbundle stuff in texk/dvisvgm/dvisvgm-src/libs too. + #t)))) (build-system gnu-build-system) (inputs `(("texlive-extra-src" ,texlive-extra-src) -- 2.24.1 From a01f0d3d1713e39a2a81f85b7ba79eb899041ac5 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 10 Jan 2020 23:05:07 +0100 Subject: [PATCH 8/9] gnu: Add texlive-hyphen-pali. * gnu/packages/tex.scm (texlive-hyphen-pali): New public variable. --- gnu/packages/tex.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index b3703d1c4f..8469c3032e 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -1959,6 +1959,19 @@ It ranges from the Val d'Aran within Catalunya, to the South Western Italian Alps encompassing the southern half of the French pentagon.") (license license:lppl1.0+))) +(define-public texlive-hyphen-pali + (package + (inherit (texlive-hyphen-package + "texlive-hyphen-pali" "pi" + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pi.tex") + (base32 + "1fak853s4ijdqgrnhwymaq1lh8jab3qfyxapdmf6qpg6bqd20kxq"))) + (synopsis "Panjabi hyphenation patterns") + (description "This package provides hyphenation patterns for Panjabi in +T1/EC encoding.") + ;; Can be used with either license. + (license (list license:expat license:lgpl3+ license:gpl3+)))) + (define-public texlive-hyphen-piedmontese (package (inherit (texlive-hyphen-package -- 2.24.1 From 2dbafac48e56b2c63e291cdfa0789e24c624cdf3 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 11 Jan 2020 23:53:40 +0100 Subject: [PATCH 9/9] gnu: TeX Live: Update packages to 2019.3. * gnu/packages/tex.scm (texlive-texmf)[version]: Set to 20190410. (texlive)[version]: Likewise. (texlive-union)[native-inputs]: Update "updmap.cfg". (texlive-latex-base)[source]: Adjust for removed files. [arguments]: Ignore one new csplain build. [native-inputs]: Update hash for "texlive-luatexconfig". [inputs]: Add TEXLIVE-HYPHEN-PALI. (texlive-hyphen-package)[native-inputs]: Add RUBY-HYDRA. [arguments]: Rewrite phases for upstream changes. In particular, the language is now detected automatically, rendering the CODE parameter obsolete. (texlive-hyphen-armenian, texlive-hyphen-turkish)[arguments]: Use pre-generated patterns. (texlive-hyphen-basque, texlive-hyphen-turkmen)[arguments]: Likewise. [license]: Adjust for updated source file. (texlive-hyphen-ethiopic, texlive-hyphen-galician)[arguments, license]: Likewise. [native-inputs]: Remove. (texlive-hyphen-german)[source]: Adjust for file rename. (texlive-latex-fancyvrb): Use SIMPLE-TEXLIVE-PACKAGE. (texlive-fonts-ec)[license]: Update URI. (texlive-doi, texlive-pst-text)[source]: Update paths and hash. (texlive-latex-pgf)[native-inputs]: Update "texlive-latex-pgf-generic". (texlive-generic-pdftex)[native-inputs]: Update "pdftex-map". (texlive-latex-pdfx)[native-inputs]: Update "texlive-tex-pdfx". (hyph-utf8-scripts, texlive-docstrip, texlive-unicode-data, texlive-hyphen-base, texlive-fontinst, texlive-cm, texlive-tex-plain, texlive-hyphen-afrikaans, texlive-hyphen-ancientgreek, texlive-hyphen-belarusian, texlive-hyphen-bulgarian, texlive-hyphen-catalan, texlive-hyphen-chinese, texlive-hyphen-churchslavonic, texlive-hyphen-coptic, texlive-hyphen-croatian, texlive-hyphen-czech, texlive-hyphen-danish, texlive-hyphen-dutch, texlive-hyphen-english, texlive-hyphen-esperanto, texlive-hyphen-estonian, texlive-hyphen-finnish, texlive-hyphen-french, texlive-hyphen-friulan, texlive-hyphen-galician, texlive-hyphen-georgian, texlive-hyphen-greek, texlive-hyphen-hungarian, texlive-hyphen-icelandic, texlive-hyphen-indic, texlive-hyphen-indonesian, texlive-hyphen-interlingua, texlive-hyphen-irish, texlive-hyphen-italian, texlive-hyphen-kurmanji, texlive-hyphen-latin, texlive-hyphen-latvian, texlive-hyphen-lithuanian, texlive-hyphen-mongolian, texlive-hyphen-norwegian, texlive-hyphen-occitan, texlive-hyphen-piedmontese, texlive-hyphen-polish, texlive-hyphen-portuguese, texlive-hyphen-romanian, texlive-hyphen-romansh, texlive-hyphen-russian, texlive-hyphen-sanskrit, texlive-hyphen-serbian, texlive-hyphen-slovak, texlive-hyphen-slovenian, texlive-hyphen-spanish, texlive-hyphen-swedish, texlive-hyphen-thai, texlive-hyphen-ukrainian, texlive-hyphen-uppersorbian, texlive-hyphen-welsh, texlive-hyph-utf8, texlive-dehyph-exptl, texlive-latex-kpathsea, texlive-latex-filecontents, texlive-latex-oberdisk, texlive-latex-tools, texlive-latex-l3kernel, texlive-latex-l3packages, texlive-latex-fontspec, texlive-latex-amsmath, texlive-latex-babel, texlive-generic-babel-german, texlive-latex-etoolbox, texlive-latex-g-brief, texlive-latex-geometry, texlive-latex-polyglossia, texlive-tex-texinfo, texlive-latex-colortbl, texlive-luatex-fancyhdr, texlive-latex-listings, texlive-latex-eso-pic, texlive-latex-enumitem, texlive-latex-multirow, texlive-latex-overpic, texlive-latex-parskip, texlive-latex-metapost, texlive-latex-acmart, texlive-fonts-media9, texlive-latex-ocgx2, texlive-latex-pgf, texlive-metapost, texlive-latex-koma-script, texlive-generic-listofitems, texlive-latex-bibtex, texlive-context-base, texlive-beamer, texlive-latex-pdfx, texlive-pstricks, texlive-tools, texlive-siunitx): Update hashes. --- gnu/packages/tex.scm | 508 ++++++++++++++----------------------------- 1 file changed, 166 insertions(+), 342 deletions(-) diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 8469c3032e..e191e619d8 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 Thomas Danckaert ;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2017 Leo Famulari -;;; Copyright © 2017 Marius Bakke +;;; Copyright © 2017, 2020 Marius Bakke ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2018 Arun Isaac @@ -143,19 +143,17 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." "-checkout")) (sha256 (base32 - "1ix8h637hwhz4vrdhilf84kzzdza0wi8fp26nh7iws0bq08sl517")))) + "0lk7shx768sxvgr85y8bnmmnj8x4bbkgpxrz3z8jp8avi33prw83")))) (define (texlive-hyphen-package name code locations hash) + "Return a TeX Live hyphenation package with the given NAME, using source +files from LOCATIONS with expected checksum HASH. CODE is not currently in use." (let ((parent (simple-texlive-package name locations hash #:trivial? #t))) (package (inherit parent) (arguments (substitute-keyword-arguments (package-arguments parent) - ((#:modules _ '()) - '((guix build gnu-build-system) - (guix build utils) - (ice-9 match))) ((#:phases phases) `(modify-phases ,phases (replace 'build @@ -168,12 +166,8 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (string-append root "/tex/generic/hyph-utf8/loadhyph")) (ptex (string-append root "/tex/generic/hyph-utf8/patterns/ptex")) - (filter-expression - (match ',code - ((? string?) - (format #f "\nlanguages.select!{|l| l.code == \"~a\"}\n" ',code)) - ((a b ...) - (format #f "\nlanguages.select!{|l| [~{\"~a\",~}].include? l.code }\n" ',code))))) + (quote + (string-append root "/tex/generic/hyph-utf8/patterns/quote"))) (mkdir "scripts") (copy-recursively (assoc-ref inputs "hyph-utf8-scripts") "scripts") @@ -182,45 +176,41 @@ copied to their outputs; otherwise the TEXLIVE-BUILD-SYSTEM is used." (mkdir-p patterns) (mkdir-p loaders) (mkdir-p ptex) + (mkdir-p quote) ;; Generate plain patterns (with-directory-excursion "scripts" - (substitute* "languages.rb" - (("../../../tex/generic/") "../tex/generic/")) - (substitute* "generate-plain-patterns.rb" - ;; Ruby 2 does not need this. - (("require 'unicode'") "") - (("Unicode.upcase\\(ch\\)") "ch.upcase") - ;; Write directly to the output directory - (("\\$path_root=File.*") - (string-append "$path_root=\"" out "/share/texmf-dist/\"\n")) - ;; Create quote directory when needed - (("f = File.open\\(\"#\\{\\$path_quote\\}" m) - (string-append "require 'fileutils'; FileUtils.mkdir_p $path_quote;" m)) - ;; Only generate patterns for this language. - (("languages =.*" m) - (string-append m filter-expression))) + (substitute* "lib/tex/hyphen/path.rb" + (("^([[:blank:]]+)TeXROOT = .*" _ indent) + (string-append indent "TeXROOT = \"" + (getcwd) "/..\"\n"))) + + (substitute* "generate-plain-patterns.rb" + ;; Ruby 2 does not need this. + (("require 'unicode'") "") + ;; Write directly to the output directory + (("File\\.join\\(PATH::TXT") + (string-append "File.join(\"" patterns "\"")) + ;; Create quote directory when needed + (("File\\.join\\(PATH::QUOTE") + (string-append "File.join(\"" quote "\""))) (invoke "ruby" "generate-plain-patterns.rb") ;; Build pattern loaders (substitute* "generate-pattern-loaders.rb" - (("\\$path_tex_generic=File.*") - (string-append "$path_tex_generic=\"" root "/tex/generic\"\n")) - ;; Only generate loader for this language. - (("languages =.*" m) - (string-append m filter-expression))) + (("File\\.join\\(PATH::LOADER") + (string-append "File.join(\"" loaders "\""))) + (invoke "ruby" "generate-pattern-loaders.rb") ;; Build ptex patterns - (substitute* "generate-ptex-patterns.rb" - (("\\$path_root=File.*") - (string-append "$path_root=\"" root "\"\n")) - ;; Only generate ptex patterns for this language. - (("languages =.*" m) - (string-append m filter-expression))) + (substitute* "generate-ptex-patterns.rb" + (("File\\.join\\(PATH::PTEX") + (string-append "File.join(\"" ptex "\""))) (invoke "ruby" "generate-ptex-patterns.rb"))))))))) (native-inputs `(("ruby" ,ruby) + ("ruby-hydra" ,ruby-hydra) ("hyph-utf8-scripts" ,hyph-utf8-scripts))) (home-page "https://ctan.org/pkg/hyph-utf8")))) @@ -460,7 +450,7 @@ This package contains the binaries.") "texlive-docstrip" (list "/tex/latex/base/docstrip.tex") (base32 - "17vdy43d9vknldz7wb69hp33r8awmdvn4xszamvgs5ikcl4cp289") + "1f9sx1lp7v34zwm186msf03q2h28rrg0lh65z59zc0cvqffs6dvb") #:trivial? #t)) (home-page "https://www.ctan.org/texlive") (synopsis "Utility to strip documentation from TeX files.") @@ -475,7 +465,7 @@ documentation from TeX files. It is part of the LaTeX base.") (list "/tex/generic/unicode-data/" "/doc/generic/unicode-data/") (base32 - "1j63kz29arfiydb8r1a53q1r4zyk1yjbcq0w9i93zddczgqzgbfb") + "0zy4v9y667cka5fi4dnc6x500907812y7pcaf63s5qxi8l7khxxy") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/unicode-data") (synopsis "Unicode data and loaders for TeX") @@ -508,7 +498,7 @@ out to date by @code{unicode-letters.tex}. ") "/tex/generic/hyphen/hypht1.tex" "/tex/generic/hyphen/zerohyph.tex") (base32 - "002g5zhzbj3ikgg8zidagdp605ac9f4qmfl148mp0mbpz1svk0ni") + "0f19nml4hdx9lh7accqdk1b9ismwfm2523l5zsc4kb4arysgcakz") #:trivial? #t)) (home-page "https://tug.org/texlive/") (synopsis "Core hyphenation support files") @@ -637,7 +627,7 @@ build fonts using the Metafont system.") "/scripts/texlive/fontinst.sh") (base32 - "09drlb0krhnizw92xlm5wxzzpgn3shcxd684xlg0zc5p16l47w6h") + "0lprwib7n2ygfxvrw675vhif7ghyip2x6k70kqs9syp8lqxiizf8") #:trivial? #t))) (package (inherit template) @@ -726,7 +716,7 @@ documents.") "/fonts/map/dvips/cm/cmtext-bsr-interpolated.map" "/doc/fonts/cm/") (base32 - "1h0q71paqmg1xjg6k35ni2i6m93kmlq9rdwm913xg9n4qngywl18") + "09mvl94qrwlb9b4pkigi151l256v3djhwl4m5lgvk6yhn5y75zrp") #:trivial? #t))) (package (inherit template) @@ -1288,7 +1278,7 @@ incorporates the e-TeX extensions.") "texlive-tex-plain" (list "/tex/plain/") (base32 - "1rrfay4d7lbyj02wlf23mwvbpjd160nwlgryx97hq1vb7dva4swr") + "1m4qpaszwfv7j8a85rlwl7rs4iv5nlj67c1vvn6ysly72h9gjydb") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/plain") (synopsis "Plain TeX format and supporting files") @@ -1304,7 +1294,7 @@ discussed in the book).") "texlive-hyphen-afrikaans" "af" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-af.tex") (base32 - "1vb3jccqnn1pm0680yqx52kvz595fmxnwa0cbf8qman6zglsssiw"))) + "1k9k27a27bbrb0gz36191w32l2v6d3zbdh8zhrp4l3ild2pj3n4l"))) (synopsis "Hyphenation patterns for Afrikaans") (description "The package provides hyphenation patterns for the Afrikaans language.") @@ -1318,7 +1308,7 @@ language.") "/tex/generic/hyphen/grahyph5.tex" "/tex/generic/hyphen/ibyhyph.tex") (base32 - "0kwrqsz7wdr1d9kylzwp60ka3wfbj8iad029k5h6y94nb86mf7zv"))) + "01326lb6z0s8krcfgs8i1pnjfrm4gr33rc53gy80f63qbv4ssxrw"))) (synopsis "Hyphenation patterns for ancient Greek") (description "The package provides hyphenation patterns for ancient Greek.") @@ -1327,33 +1317,11 @@ Greek.") (define-public texlive-hyphen-armenian (let ((template (texlive-hyphen-package "texlive-hyphen-armenian" "hy" - (list "/source/generic/hyph-utf8/languages/hy/generate_patterns_hy.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-hy.tex") (base32 - "0z666y580w1kpxssdanz67ykq257lf11a1mnp1jrn08zijvfrw9c")))) + "0hzny0npynsb07syxrpbfa5pkpj8r0j51pj64yxyfl1c0bak1fwp")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/hy/" - (substitute* "generate_patterns_hy.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-hy.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_hy.rb")) - #t))) - (add-after 'install 'install-hyph-hy.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Armenian") (description "The package provides hyphenation patterns for the Armenian language.") @@ -1363,39 +1331,17 @@ language.") (define-public texlive-hyphen-basque (let ((template (texlive-hyphen-package "texlive-hyphen-basque" "eu" - (list "/source/generic/hyph-utf8/languages/eu/generate_patterns_eu.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-eu.tex") (base32 - "1yhsbzf1g9dm70jfixsz51hsfvn26cwfkfxvhg7xv2piynr4v51l")))) + "15w969g1jqzn68l2b2lzf7iv7g3kil02aba3if6cag3qcnq92ra9")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/eu/" - (substitute* "generate_patterns_eu.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-eu.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_eu.rb")) - #t))) - (add-after 'install 'install-hyph-eu.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Basque") (description "The package provides hyphenation patterns for the Basque language.") - ;; "Free for any purpose". + ;; Similar to Unicode license. (license (license:fsf-free - "/source/generic/hyph-utf8/languages/eu/generate_patterns_eu.rb"))))) + "/tex/generic/hyph-utf8/patterns/tex/hyph-eu.tex"))))) (define-public texlive-hyphen-belarusian (package @@ -1403,7 +1349,7 @@ language.") "texlive-hyphen-belarusian" "be" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-be.tex") (base32 - "1xvffph824rg43gi2xs3ny9gzlp708fyxj9zfhckmg8pzh9vv3n6"))) + "0ppm12wndaxv9da62dwkbnk7w9nijikn6jkc97m76xis338g2h02"))) (synopsis "Hyphenation patterns for Belarusian") (description "The package provides hyphenation patterns for the Belarusian language.") @@ -1417,7 +1363,7 @@ language.") "/doc/generic/hyph-utf8/bg/azbukaExtended.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-bg.tex") (base32 - "06dxkk9azsggbri04i6g62lswygzadsx3rpqvbyzvbxc5wxz1dj1"))) + "0ngrgw2rmipxss76rgfk62x9nnsgwmaxxna2jqxxhybai3q39mx5"))) (synopsis "Hyphenation patterns for Bulgarian") (description "The package provides hyphenation patterns for the Bulgarian language in T2A and UTF-8 encodings.") @@ -1431,7 +1377,7 @@ language in T2A and UTF-8 encodings.") "texlive-hyphen-catalan" "ca" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ca.tex") (base32 - "0cisx76jpw8kpd3an37m9h8ppiysnizgfzl48y9d9n3fvx8jyykb"))) + "10zzlfz5v8d9csg85ibpp2vfvmpqa56vbl85qy5gws099vygpayg"))) (synopsis "Hyphenation patterns for Catalan") (description "The package provides hyphenation patterns for Catalan in T1/EC and UTF-8 encodings.") @@ -1443,7 +1389,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-chinese" "zh-latn-pinyin" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-zh-latn-pinyin.tex") (base32 - "07gbrn5fcl5d3hyg1zpai3zp1ggl73cmvpalwvh7ah313f57gjkk"))) + "1j68mry2zy91m1kbzwhin5q2jajf6xh48npdds8wvp1sqmzih2a3"))) (synopsis "Hyphenation patterns for unaccented Chinese pinyin") (description "The package provides hyphenation patterns for unaccented Chinese pinyin T1/EC and UTF-8 encodings.") @@ -1455,7 +1401,7 @@ Chinese pinyin T1/EC and UTF-8 encodings.") "texlive-hyphen-churchslavonic" "cu" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-cu.tex") (base32 - "0xkqlz3ixyl4fxsnzrbxqrb82p0n67rhgpddbiyv3qwfnbr2b5a4"))) + "0fhbwaapq2213msbhgr0d1lw06ihmrqirxj092mn73d8ynl13qlh"))) (synopsis "Hyphenation patterns for Church Slavonic") (description "The package provides hyphenation patterns for Church Slavonic in UTF-8 encoding.") @@ -1468,7 +1414,7 @@ Slavonic in UTF-8 encoding.") (list "/tex/generic/hyph-utf8/patterns/tex-8bit/copthyph.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-cop.tex") (base32 - "07i03jpdfy4ip7zbg4gnk4hk8zwj8rlni9dgrb1p8mfw2w19d80c"))) + "1jlxxvyfa2aljizaa3qlcxyhqsrb4dawv3q3fbyp2lxz6ag9fy6m"))) (synopsis "Hyphenation patterns for Coptic") (description "The package provides hyphenation patterns for Coptic in UTF-8 encoding as well as in ASCII-based encoding for 8-bit engines.") @@ -1481,7 +1427,7 @@ UTF-8 encoding as well as in ASCII-based encoding for 8-bit engines.") "texlive-hyphen-croatian" "hr" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-hr.tex") (base32 - "129nz2nqilyq2477n2clx20xfbxh1qxm69zg4n2f6c4d4a8711nc"))) + "12n9r2winai15jc622sqdwclgcs1s68r6vcf7ic8vvq0x9qhwc5v"))) (synopsis "Hyphenation patterns for Croatian") (description "The package provides hyphenation patterns for Croatian in T1/EC and UTF-8 encodings.") @@ -1493,7 +1439,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-czech" "cs" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-cs.tex") (base32 - "1k5516gbfp1d5p97j247byag9sdgds5zwc11bwxfk58i6zq1v0m6"))) + "1q37s6p8yfyi3rp1azbz421lg4lr4aiki8m631i4x9rmps89m8iq"))) (synopsis "Hyphenation patterns for Czech") (description "The package provides hyphenation patterns for Czech in T1/EC and UTF-8 encodings.") @@ -1505,7 +1451,7 @@ and UTF-8 encodings.") "texlive-hyphen-danish" "da" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-da.tex") (base32 - "0zxzs1b1723mav76i0wiyq4w82x8715cykvwa2bc60ldc2amv0vs"))) + "1vj8nip64rzcrcg3skm4vqad1ggqwgan74znrdns610wjcm1z9qd"))) (synopsis "Hyphenation patterns for Danish") (description "The package provides hyphenation patterns for Danish in T1/EC and UTF-8 encodings.") @@ -1518,7 +1464,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-dutch" "nl" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-nl.tex") (base32 - "0cq46cmgjc4y2x0xs9b0a5zca3jmszv4rkzmrhgjb5z2nm3xkrpi"))) + "1bg9g790ksq5cn8qihai6pacmkp9vpf35h4771z361nvwa40l8yk"))) (synopsis "Hyphenation patterns for Dutch") (description "The package provides hyphenation patterns for Dutch in T1/EC and UTF-8 encodings.") @@ -1531,7 +1477,7 @@ and UTF-8 encodings.") (list "/tex/generic/hyph-utf8/patterns/tex/hyph-en-gb.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-en-us.tex") (base32 - "08hyih8hn2w2q12gc4zygz0ckbz00mkzzn9898z2bicky02zg3kc"))) + "08b3jihjaamcl1pvffi0s47nwavkm66l9mrrmby3l32dfpkprrc5"))) (synopsis "Hyphenation patterns for American and British English") (description "The package provides additional hyphenation patterns for American and British English in ASCII encoding.") @@ -1545,7 +1491,7 @@ American and British English in ASCII encoding.") "texlive-hyphen-esperanto" "eo" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-eo.tex") (base32 - "03xbjbzasznsyf4wd45bya6f4snfmzpdzg5zpvqj5q6gjykdg54k"))) + "1503kzn9bk4mm4ba35cka2hm8rz0v3j5l30v5rrsd4rqgpibcgic"))) (synopsis "Hyphenation patterns for Esperanto") (description "The package provides hyphenation patterns for Esperanto ISO Latin 3 and UTF-8 encodings.") @@ -1557,7 +1503,7 @@ Latin 3 and UTF-8 encodings.") "texlive-hyphen-estonian" "et" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-et.tex") (base32 - "0idl6xajkkgxqngjn19jcfd29is5rhfn59v0z8h4sv8yjv6k934m"))) + "1rdas2450ib02rwy65i69l86nyc9h15bl07xbbwhmhxfnj8zj4v8"))) (synopsis "Hyphenation patterns for Estonian") (description "The package provides hyphenation patterns for Estonian in T1/EC and UTF-8 encodings.") @@ -1567,53 +1513,17 @@ T1/EC and UTF-8 encodings.") (define-public texlive-hyphen-ethiopic (let ((template (texlive-hyphen-package "texlive-hyphen-ethiopic" "mul-ethi" - (list "/source/generic/hyph-utf8/languages/mul-ethi/generate_patterns_mul-ethi.lua") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-mul-ethi.tex") (base32 - "1dp5qn1mhv62kj27lqc7s0ca65z9bziyavkvif9ds5ivk7aq9drw")))) + "1b93fc6j4aybh0pgq23hsn1njm6asf7sfz803fbj3ai0whsxd10l")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda* (#:key inputs #:allow-other-keys) - (let ((tex (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex/"))) - (mkdir-p tex) - (with-directory-excursion "source/generic/hyph-utf8/languages/mul-ethi/" - (substitute* "generate_patterns_mul-ethi.lua" - (("\"UnicodeData.txt\"") - (string-append "\"" - (assoc-ref inputs "UnicodeData.txt") - "\""))) - (invoke "texlua" "generate_patterns_mul-ethi.lua") - (rename-file "hyph-mul-ethi.tex" - (string-append tex "/hyph-mul-ethi.tex")) - #t)))) - (add-after 'install 'install-hyph-mul-ethi.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) - (native-inputs - `(,@(package-native-inputs template) - ("texlive-bin" ,texlive-bin) - ("UnicodeData.txt" - ,(origin - (method url-fetch) - (uri (string-append "http://www.unicode.org/Public/10.0.0/ucd/" - "UnicodeData.txt")) - (sha256 - (base32 - "1cfak1j753zcrbgixwgppyxhm4w8vda8vxhqymi7n5ljfi6kwhjj")))))) (synopsis "Hyphenation patterns for Ethiopic scripts") (description "The package provides hyphenation patterns for languages written using the Ethiopic script for Unicode engines. They are not supposed to be linguistically relevant in all cases and should, for proper typography, be replaced by files tailored to individual languages.") - (license license:lppl)))) + (license license:expat)))) (define-public texlive-hyphen-finnish (package @@ -1621,7 +1531,7 @@ be replaced by files tailored to individual languages.") "texlive-hyphen-finnish" "fi" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-fi.tex") (base32 - "03n6s8dwwa5vfk9bbyhcdf7p0bc0d1rrr312hpgbz8jfc9fbgd7n"))) + "1f72b4ydb4zddvw2i004948khmwzigxkdkwfym5v1kkq0183sfpj"))) (synopsis "Hyphenation patterns for Finnish") (description "The package provides hyphenation patterns for Finnish in T1/EC and UTF-8 encodings.") @@ -1633,7 +1543,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-french" "fr" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-fr.tex") (base32 - "1q82mmwvy7fdkm42958ajb53w89qkcdwybswxlwcvqngvhpy3zf0"))) + "0jc3kqys6cxjw8x8pzjln7z78l8s7f5rlyrkv7dzr1kiwnwilk9d"))) (synopsis "Hyphenation patterns for French") (description "The package provides hyphenation patterns for French in T1/EC and UTF-8 encodings.") @@ -1645,7 +1555,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-friulan" "fur" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-fur.tex") (base32 - "07m975p0ghzs9sjqqgxy7qdkqmgvg4rx4xp08zwm1parqsdlwd5d"))) + "1dlnh8slpf50mryxv7zzbx08xp54zkdfs1j7y37ipwbrajvd740f"))) (synopsis "Hyphenation patterns for Friulan") (description "The package provides hyphenation patterns for Friulan in ASCII encodings.") @@ -1654,50 +1564,15 @@ ASCII encodings.") (define-public texlive-hyphen-galician (let ((template (texlive-hyphen-package "texlive-hyphen-galician" "gl" - (list "/source/generic/hyph-utf8/languages/gl/README" - "/source/generic/hyph-utf8/languages/gl/glhybiox.tex" - "/source/generic/hyph-utf8/languages/gl/glhyextr.tex" - "/source/generic/hyph-utf8/languages/gl/glhymed.tex" - "/source/generic/hyph-utf8/languages/gl/glhyquim.tex" - "/source/generic/hyph-utf8/languages/gl/glhytec.tex" - "/source/generic/hyph-utf8/languages/gl/glhyxeog.tex" - "/source/generic/hyph-utf8/languages/gl/glpatter-utf8.tex") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-gl.tex") (base32 - "1yj1gxhkqqlyaand5gd6ij6xwffskryzlbcigdam3871a9p8x18w")))) + "13zx2r3nrxdr025g2lxrph0ga6wf7cs8dxixn4fhbl6xr1cx028g")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda* (#:key inputs #:allow-other-keys) - (let ((tex (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex/"))) - (mkdir-p tex) - (with-directory-excursion "source/generic/hyph-utf8/languages/gl/" - (setenv "TEXINPUTS" - (string-append (getcwd) "//:" - (assoc-ref inputs "texlive-mkpattern") "//")) - (invoke "tex" "-ini" "-8bit" "glpatter-utf8.tex") - (rename-file "hyph-gl.tex" - (string-append tex "/hyph-gl.tex")) - #t)))) - (add-after 'install 'install-hyph-gl.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) - (native-inputs - `(,@(package-native-inputs template) - ("texlive-bin" ,texlive-bin) - ("texlive-mkpattern" ,texlive-mkpattern))) (synopsis "Hyphenation patterns for Galician") (description "The package provides hyphenation patterns for Galician in T1/EC and UTF-8 encodings.") - ;; glhyextr.tex is the only file in the public domain. - (license (list license:lppl1.3 license:public-domain))))) + (license license:lppl1.3)))) (define-public texlive-hyphen-georgian (package @@ -1705,7 +1580,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-georgian" "ka" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ka.tex") (base32 - "01zhn6mflpiqw4lyi8dx8syiz5mky9jrxm87cgw31hanis5cml4l"))) + "0l0hk7ka04fr8x11nnw95x151cxyycy0fph772m3a3p8qk4x9wp7"))) (synopsis "Hyphenation patterns for Georgian") (description "The package provides hyphenation patterns for Georgian in T8M, T8K, and UTF-8 encodings.") @@ -1718,12 +1593,12 @@ T8M, T8K, and UTF-8 encodings.") (list "/tex/generic/hyph-utf8/patterns/tex/hyph-de-1901.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-de-1996.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-de-ch-1901.tex" - "/tex/generic/hyphen/dehyphn.tex" - "/tex/generic/hyphen/dehypht.tex" - "/tex/generic/hyphen/dehyphtex.tex" - "/tex/generic/hyphen/ghyphen.README") + "/tex/generic/dehyph/dehyphn.tex" + "/tex/generic/dehyph/dehypht.tex" + "/tex/generic/dehyph/dehyphtex.tex" + "/tex/generic/dehyph/README") (base32 - "1g0vhpvl2l69rn2lx7lkw0inrjbcxkj2sjgwd2fq7hdi4yb2ms76"))) + "0wp5by5kkf4ac6li5mbppqzw11500wa7f22p5vpz3m1kwd15zavw"))) (synopsis "Hyphenation patterns for German") (description "This package provides hyphenation patterns for German in T1/EC and UTF-8 encodings, for traditional and reformed spelling, including @@ -1742,7 +1617,7 @@ Swiss German.") "/tex/generic/hyphen/grmhyph5.tex" "/tex/generic/hyphen/grphyph5.tex") (base32 - "04626jhlrv2flgdygm7sfv6xpqhfwiavi16gy2ac04iliyk4rypg"))) + "1qyr6m1nh6d4wj68616cfxv4wjpiy1w2rlldxlx2ajzba381w3hf"))) (synopsis "Hyphenation patterns for Greek") (description "This package provides hyphenation patterns for Modern Greek in monotonic and polytonic spelling in LGR and UTF-8 encodings.") @@ -1756,7 +1631,7 @@ in monotonic and polytonic spelling in LGR and UTF-8 encodings.") "/doc/generic/hyph-utf8/hu/" "/tex/generic/hyph-utf8/patterns/tex/hyph-hu.tex") (base32 - "0c81w2569cqsi4j56azwz0lfx16541zhiqgmn3m4iwh7mpx3rji8"))) + "1j1b8kksg9r8nmjyjvvz8fr3hgcrjj6jlybf9p06nwrrwm2r8j8f"))) (synopsis "Hyphenation patterns for Hungarian") (description "This package provides hyphenation patterns for Hungarian in T1/EC and UTF-8 encodings.") @@ -1769,7 +1644,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-icelandic" "is" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-is.tex") (base32 - "1ah1f82lgfhqgid4ngsfiypybx10v8gwxnb12396vfsj3bq6j0ba"))) + "1m9xj41csj3ldym09d82zjbd3345sg2z10d8pxpvhgibf97mb66h"))) (synopsis "Hyphenation patterns for Icelandic") (description "This package provides hyphenation patterns for Icelandic in T1/EC and UTF-8 encodings.") @@ -1792,7 +1667,7 @@ T1/EC and UTF-8 encodings.") "/tex/generic/hyph-utf8/patterns/tex/hyph-ta.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-te.tex") (base32 - "1v8zc3wdbkhzjrflndmz4gdj11syz8vrcg0vwvm5bwhkx23g91lv"))) + "02d2kcd3lpk95fykjwhzw9s2a1s2w1skz8h2mmszrz979d1xzhpm"))) (synopsis "Indic hyphenation patterns") (description "This package provides hyphenation patterns for Assamese, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Oriya, Panjabi, Tamil @@ -1805,7 +1680,7 @@ and Telugu for Unicode engines.") "texlive-hyphen-indonesian" "id" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-id.tex") (base32 - "0mf0hr9c952kb2hmzid7fqg5whshwpribbyndb3ba092wh02abh5"))) + "1r62w02rf0i4z0jgij54d16qjbj0zyfwm9dwdkqka76jrivij83q"))) (synopsis "Indonesian hyphenation patterns") (description "This package provides hyphenation patterns for Indonesian (Bahasa Indonesia) in ASCII encoding. They are probably also @@ -1818,7 +1693,7 @@ usable for Malay (Bahasa Melayu).") "texlive-hyphen-interlingua" "ia" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ia.tex") (base32 - "1aihgma3rix4jkc1z5k1lh6hlfrncn66yj0givd3j6xjqflafr2g"))) + "0a9na20vjnzhgjbicaxay0jk4rm5zg1rjyiswr377mjhd9mx5cg3"))) (synopsis "Interlingua hyphenation patterns") (description "This package provides hyphenation patterns for Interlingua in ASCII encoding.") @@ -1830,7 +1705,7 @@ in ASCII encoding.") "texlive-hyphen-irish" "ga" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ga.tex") (base32 - "02k1fykgj3xamczjq16i9fsjjsh78pp5ypmh93p64izk2vymfwk0"))) + "1h1l9jzkpsb91nyhz6s6c9jfrbz8jx5ip8vyq3dkz0rl6g960i6b"))) (synopsis "Irish hyphenation patterns") (description "This package provides hyphenation patterns for Irish (Gaeilge) in T1/EC and UTF-8 encodings.") @@ -1843,7 +1718,7 @@ Irish (Gaeilge) in T1/EC and UTF-8 encodings.") "texlive-hyphen-italian" "it" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-it.tex") (base32 - "1a65q3hjn2p212cgv6p7wa0wcn34qnxcz2pl3v3ip0xmb16qqsk5"))) + "03c7jiqslfxvl3gbdx79hggbvrfi2l4z2bnwxc0na8f8lkp1m787"))) (synopsis "Italian hyphenation patterns") (description "This package provides hyphenation patterns for Italian in ASCII encoding. Compliant with the Recommendation UNI 6461 on hyphenation @@ -1857,7 +1732,7 @@ UNI).") "texlive-hyphen-kurmanji" "kmr" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-kmr.tex") (base32 - "1145ykfd0b0hgklindlxdgkqmsnj3cai3cwgllz411yqmrhjc6y9"))) + "01ylbsi5wymrdrxr9b28nmjmcj72mdhqr657lwsb6m9aj33c9ql6"))) (synopsis "Kurmanji hyphenation patterns") (description "This package provides hyphenation patterns for Kurmanji (Northern Kurdish) as spoken in Turkey and by the Kurdish diaspora in @@ -1872,7 +1747,7 @@ Europe, in T1/EC and UTF-8 encodings.") "/tex/generic/hyph-utf8/patterns/tex/hyph-la-x-liturgic.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-la.tex") (base32 - "1d8d6b47r4r000gqgzyl0sy9is0y0dg41jp8fw4gqq8qmcgdxgsg"))) + "0rxg8a4s5cpj8vlkz5a74a036axda5jqgvr3f9aj2cc2x9f2f3w9"))) (synopsis "Liturgical Latin hyphenation patterns") (description "This package provides hyphenation patterns for Latin in T1/EC and UTF-8 encodings, mainly in modern spelling (u when u is needed and v @@ -1893,7 +1768,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-latvian" "lv" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-lv.tex") (base32 - "1xbh5s6nwfjbv7g4kmcpjkm02a6s767p7jn9qjcnz5ip0ndl5g66"))) + "00jf8xma4ldz0zpqwma97k9q3j0mqx7qdj6b7baph3n5xgc24aaw"))) (synopsis "Latvian hyphenation patterns") (description "This package provides hyphenation patterns for Latvian in L7X and UTF-8 encodings.") @@ -1906,7 +1781,7 @@ L7X and UTF-8 encodings.") "texlive-hyphen-lithuanian" "lt" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-lt.tex") (base32 - "0v9spw0qkygkihj5app2immzqqr98w81pz460bcgvj1ah35jdfsl"))) + "1kfq7j2ajg6nj952s1ygd520sj9z9kl0bqvd291a36ni2b1frzgd"))) (synopsis "Lithuanian hyphenation patterns") (description "This package provides hyphenation patterns for Lithuanian in L7X and UTF-8 encodings.") @@ -1921,7 +1796,7 @@ L7X and UTF-8 encodings.") (list "/tex/generic/hyph-utf8/patterns/tex/hyph-mn-cyrl-x-lmc.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-mn-cyrl.tex") (base32 - "0lqq3jgwgnclb1cn3x99xmk90xra9q51b00ypwy5crssmy023hqc"))) + "1y1b91ihrdl9bad3rxlsfjpd9wmyd5zzgci3qv9w8qqk33jxhwya"))) (synopsis "Mongolian hyphenation patterns in Cyrillic script") (description "This package provides hyphenation patterns for Mongolian in T2A, LMC and UTF-8 encodings.") @@ -1936,7 +1811,7 @@ T2A, LMC and UTF-8 encodings.") "/tex/generic/hyph-utf8/patterns/tex/hyph-nn.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-no.tex") (base32 - "1fxnf671yz0p3lmdkspna7fjh96br1jy6yf7v17yh4fxwry3s4yz"))) + "08gbwj64p4fckm199k52yp5lx65h9f4wwdkvl4pv4aa7k370jq9y"))) (synopsis "Norwegian Bokmal and Nynorsk hyphenation patterns") (description "This package provides hyphenation patterns for Norwegian Bokmal and Nynorsk in T1/EC and UTF-8 encodings.") @@ -1950,7 +1825,7 @@ Bokmal and Nynorsk in T1/EC and UTF-8 encodings.") "texlive-hyphen-occitan" "oc" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-oc.tex") (base32 - "1y6j6ac9ncn79p7hnp6mdwdsw9ij14zyjby5iwdhpvzzn7yyc7p8"))) + "0vhjbq2nr58vhqwwky3cwx4dqiwjmmfwp81rb65mfpf0m8yypdfg"))) (synopsis "Occitan hyphenation patterns") (description "This package provides hyphenation patterns for Occitan in T1/EC and UTF-8 encodings. They are supposed to be valid for all the Occitan @@ -1978,7 +1853,7 @@ T1/EC encoding.") "texlive-hyphen-piedmontese" "pms" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pms.tex") (base32 - "00fqzymkg374r3dzf1y82k6b18bqrf688vnjv0vkvw5a45srlb5r"))) + "0xva3l2gwzkqw1sz64k5g5iprhdyr27w1mv8rxp8x62i5y3aqr1k"))) (synopsis "Piedmontese hyphenation patterns") (description "This package provides hyphenation patterns for Piedmontese in ASCII encoding. Compliant with 'Gramatica dla lengua piemonteisa' by @@ -1991,7 +1866,7 @@ Camillo Brero.") "texlive-hyphen-polish" "pl" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pl.tex") (base32 - "0dzq8ca96q7m5bslh51x8d30pdb86glh2gn3mmvq5ip813ckwh3s"))) + "1c22g99isxapv4xjrmsw24hhp1xb83wbgcxyd8j24mxdnizywxzm"))) (synopsis "Polish hyphenation patterns") (description "This package provides hyphenation patterns for Polish in QX and UTF-8 encodings.") @@ -2004,7 +1879,7 @@ and UTF-8 encodings.") "texlive-hyphen-portuguese" "pt" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-pt.tex") (base32 - "1waxrmm33fd2qfc4kiaiblg8kwzasrvgq4j3l14z733d0hlg4rfz"))) + "00rkjy4p7893zs940bq3s4hp7al0skgxqggj5qfax0bx8karf30b"))) (synopsis "Portuguese hyphenation patterns") (description "This package provides hyphenation patterns for Portuguese in T1/EC and UTF-8 encodings.") @@ -2016,7 +1891,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-romanian" "ro" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ro.tex") (base32 - "12i1vryl51yhdpj163ahfyiy21rjmf4gkqgslpriirdjmyrwrs65"))) + "1ykb5v7ip6p3n34wq8qypfyrap4gg946by5rsl6ab0k5gv6ypsbf"))) (synopsis "Romanian hyphenation patterns") (description "This package provides hyphenation patterns for Romanian in T1/EC and UTF-8 encodings.") @@ -2029,7 +1904,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-romansh" "rm" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-rm.tex") (base32 - "06wan8i4appc1zfvc0q4cgnfv1nj0qgk02w3sg56zc11hf8sywl9"))) + "0a1q9p6sp5n6a9w6xhwk03vmkrrmnh2md7g1k4qhnf0dc4h7dy9r"))) (synopsis "Romansh hyphenation patterns") (description "This package provides hyphenation patterns for Romansh in ASCII encodings. They are supposed to comply with the rules indicated by the @@ -2042,7 +1917,7 @@ Lia Rumantscha (Romansh language society).") "texlive-hyphen-russian" "ru" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-ru.tex") (base32 - "09s4vq23x4vff08ykmf08dvcdradjzzwvyys8p2wk6jxaqp980s3"))) + "00sy7qh5f8ryxw36fwbyd1yi2hxhv7hmk99yp7dwh73n4mxv6lpl"))) (synopsis "Russian hyphenation patterns") (description "This package provides hyphenation patterns for Russian in T2A and UTF-8 encodings.") @@ -2055,7 +1930,7 @@ T2A and UTF-8 encodings.") (list "/doc/generic/hyph-utf8/sa/hyphenmin.txt" "/tex/generic/hyph-utf8/patterns/tex/hyph-sa.tex") (base32 - "0grnn09l4i5yridx10yhm6dg9sbhgc2pmsp1p6hrcy7lzkqwdvs3"))) + "0gi2qk0wf388h9n25gzhv0cdz67ph83wal8h3iz2sqnpdjsw8kpc"))) (synopsis "Sanskrit hyphenation patterns") (description "This package provides hyphenation patterns for Sanskrit and Prakrit in longdesc transliteration, and in Devanagari, Bengali, Kannada, @@ -2072,7 +1947,7 @@ Malayalam longdesc and Telugu scripts for Unicode engines.") "/tex/generic/hyph-utf8/patterns/tex/hyph-sh-latn.tex" "/tex/generic/hyph-utf8/patterns/tex/hyph-sr-cyrl.tex") (base32 - "0fhdfydyaspb8dwirlf24vn7y9dzwmhsld0mmw0fz1lmcfaj252n"))) + "0pwc9z0m5y6acq1vqm0da9akg156jbhxzvsfp2f8bsz5b99y5z45"))) (synopsis "Serbian hyphenation patterns") (description "This package provides hyphenation patterns for Serbian in T1/EC, T2A and UTF-8 encodings.") @@ -2085,7 +1960,7 @@ T1/EC, T2A and UTF-8 encodings.") "texlive-hyphen-slovak" "sk" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-sk.tex") (base32 - "1cgw6fmyci3za3vsa49b6m74wqv582w0rpca7s9xva3hqm1m5qdg"))) + "0ppp53bbclp5c8wvx748krvrp5y5053khgkjnnv966a90fvp3vgd"))) (synopsis "Slovak hyphenation patterns") (description "This package provides hyphenation patterns for Slovak in T1/EC and UTF-8 encodings.") @@ -2097,7 +1972,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-slovenian" "sl" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-sl.tex") (base32 - "1ixf2pxir9xf1gggq9k28xxglsq9bwqlghd9cl4amk5vrn5bjbds"))) + "02n8l9yf4hqyhbpsc1n6b2mggy09z6lq4dcb8ndiwawb6h0mp7s4"))) (synopsis "Slovenian hyphenation patterns") (description "This package provides hyphenation patterns for Slovenian in T1/EC and UTF-8 encodings.") @@ -2113,7 +1988,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-spanish" "es" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-es.tex") (base32 - "0jgs0zzyk2wwrjbx2hqdh5qggrnik9xmsxygbfhlb7gdrcrs0mbj"))) + "1h3yg9vcq0lf7hxv0ahkqmyg269dxjs8m2mz8sgz5l1fxmvahvaj"))) (synopsis "Hyphenation patterns for Spanish") (description "The package provides hyphenation patterns for Spanish in T1/EC and UTF-8 encodings.") @@ -2125,7 +2000,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-swedish" "sv" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-sv.tex") (base32 - "12sf9f43zwyzb4cn57yry8r4zmwdc7cfdljn3qwxwrny4m3sw4w8"))) + "1n7incy7n24pix1q2i8c3h7i78zpql5ayhskavlmy6mhd7ayncaw"))) (synopsis "Swedish hyphenation patterns") (description "This package provides hyphenation patterns for Swedish in T1/EC and UTF-8 encodings.") @@ -2137,7 +2012,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-thai" "th" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-th.tex") (base32 - "15k1n4xdw8zzd5nrh76s53z4j95gxa4i2h1av5gx5vrjgblzzl97"))) + "00gxcs4jfqifd5cnrjipn77m73fmpw2qms4lp216jj3kz4a7h9kf"))) (synopsis "Thai hyphenation patterns") (description "This package provides hyphenation patterns for Thai in LTH and UTF-8 encodings.") @@ -2146,33 +2021,11 @@ and UTF-8 encodings.") (define-public texlive-hyphen-turkish (let ((template (texlive-hyphen-package "texlive-hyphen-turkish" "tr" - (list "/source/generic/hyph-utf8/languages/tr/generate_patterns_tr.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-tr.tex") (base32 - "0rvlhs2z2sn312lqsf44bzknid5dry7d2sl2q1whfvr0y4qj1g8f")))) + "04sihjgpm31i5bi67rrfp15w3imn7hxwwk70v0vhx053ghxy72vh")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/tr/" - (substitute* "generate_patterns_tr.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-tr.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_tr.rb")) - #t))) - (add-after 'install 'install-hyph-tr.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Turkish") (description "The package provides hyphenation patterns for Turkish in T1/EC and UTF-8 encodings. The patterns for Turkish were first produced for @@ -2185,37 +2038,15 @@ compatibility with 8-bit engines.") (define-public texlive-hyphen-turkmen (let ((template (texlive-hyphen-package "texlive-hyphen-turkmen" "tk" - (list "/source/generic/hyph-utf8/languages/tk/generate_patterns_tk.rb") + (list "/tex/generic/hyph-utf8/patterns/tex/hyph-tk.tex") (base32 - "1wlqx8wb0wsqhdv823brc3i8w1vf4m4bkb2vg917j5dq8p8p71aw")))) + "0g5ip2lw9g47s61mv3cypswc6qm7zy9c4iqq4h19ysvds81adzkr")))) (package (inherit template) - (arguments - (substitute-keyword-arguments (package-arguments template) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'build 'build-patterns - (lambda _ - (let ((target (string-append (getcwd) - "/tex/generic/hyph-utf8/patterns/tex"))) - (mkdir-p target) - (with-directory-excursion "source/generic/hyph-utf8/languages/tk/" - (substitute* "generate_patterns_tk.rb" - (("\\$file = File.new.*") - (string-append "$file = File.new(\"" target - "/hyph-tr.tex\",\"w\")\n"))) - (invoke "ruby" "generate_patterns_tk.rb")) - #t))) - (add-after 'install 'install-hyph-tk.tex - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (target (string-append out "/share/texmf-dist/tex"))) - (copy-recursively "tex" target) - #t))))))) (synopsis "Hyphenation patterns for Turkmen") (description "The package provides hyphenation patterns for Turkmen in T1/EC and UTF-8 encodings.") - (license license:public-domain)))) + (license license:expat)))) (define-public texlive-hyphen-ukrainian (package @@ -2223,7 +2054,7 @@ T1/EC and UTF-8 encodings.") "texlive-hyphen-ukrainian" "uk" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-uk.tex") (base32 - "17z0gmw5svsf5zlhjkckwk4y21g7prfwj473jlqnwcsr8a941gsf"))) + "0fbfhx1fmbshxr4ihsjaqgx251h69h7i288p8gh3w6ysgxr53p60"))) (synopsis "Ukrainian hyphenation patterns") (description "This package provides hyphenation patterns for Ukrainian in T2A and UTF-8 encodings.") @@ -2236,7 +2067,7 @@ T2A and UTF-8 encodings.") "texlive-hyphen-uppersorbian" "hsb" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-hsb.tex") (base32 - "1q42s32cfbynlnzn9hpcldi77fszi5xkn1c85l8xqjmfydqbqdyi"))) + "0x0051wph3sqmzzw6prvjy6bp7gn02rbmys1bmbc210jk3pkylfj"))) (synopsis "Upper Sorbian hyphenation patterns") (description "This package provides hyphenation patterns for Upper Sorbian in T1/EC and UTF-8 encodings.") @@ -2248,7 +2079,7 @@ in T1/EC and UTF-8 encodings.") "texlive-hyphen-welsh" "cy" (list "/tex/generic/hyph-utf8/patterns/tex/hyph-cy.tex") (base32 - "0h8yjj5zdg0hvpb2vx9gi376536nl59hp8w286z1a13diaayg1m2"))) + "1bpxp3jiifdw7waw2idz5j9xgi3526nkxm8mbmsspr4mlf2xyr76"))) (synopsis "Welsh hyphenation patterns") (description "This package provides hyphenation patterns for Welsh in T1/EC and UTF-8 encodings.") @@ -2277,7 +2108,7 @@ T1/EC and UTF-8 encodings.") "/doc/generic/hyph-utf8/img/miktex-languages.png" "/doc/generic/hyph-utf8/img/texlive-collection.png") (base32 - "10y8svgk68sivmgzrv8gv137r7kv49cs256cq2wja9ms437pxvbj"))) + "1bar5mc808ch20anhqrdxcwiych359qsvr7mggxpg2l2kq5xdyq0"))) (outputs '("out" "doc")) (build-system gnu-build-system) (arguments @@ -2410,7 +2241,7 @@ converters, will completely supplant the older patterns.") (list "/tex/generic/dehyph-exptl/" "/doc/generic/dehyph-exptl/") (base32 - "1w2danvvy2f52hcb4acvjks53kcanwxr9s990fap6mj279hpgmh2") + "1fnqc63gz8gvdyfz45bx8dxn1r1rwrypahs3bqd2vlc8ff76xp86") #:trivial? #t)) (propagated-inputs `(("texlive-hyphen-base" ,texlive-hyphen-base) @@ -2517,7 +2348,7 @@ UCY (Omega Unicode Cyrillic), LCY, LWN (OT2), and koi8-r.") "/web2c/tcvn-t5.tcx" "/web2c/viscii-t5.tcx") (base32 - "0ajfp9kr330lcm2ymr3kl9zn6y2xjkrzpa0c0azc4qdm5jllawb9") + "191i8n3g46p53bb9dkx2ggwpzy7skgg0pbklsrpx8x4ayd86wcaf") #:trivial? #t)) (home-page "https://www.tug.org/texlive/") (synopsis "Files related to the path searching library for TeX") @@ -2550,18 +2381,16 @@ formats.") ;; these are not: "/tex/latex/base/idx.tex" "/tex/latex/base/lablst.tex" - "/tex/latex/base/lppl.tex" "/tex/latex/base/ltnews.cls" "/tex/latex/base/ltxcheck.tex" "/tex/latex/base/ltxguide.cls" "/tex/latex/base/minimal.cls" "/tex/latex/base/sample2e.tex" "/tex/latex/base/small2e.tex" - "/tex/latex/base/source2e.tex" "/tex/latex/base/testpage.tex" "/tex/latex/base/texsys.cfg") (base32 - "0f8d41wk1gb7i6xq1a10drwhhayc50pg9nwzjkrqnxrv0pcc08w5") + "0m0gjb4hbsf2iqkkx3px4f28r2scjvsjv4zb2whkbnb44apyw1f0") #:trivial? #t))) (package (inherit template) @@ -2616,6 +2445,7 @@ formats.") '("aleph aleph" "lamed aleph" "uptex uptex" "euptex euptex" "eptex eptex" "ptex ptex" "pdfxmltex pdftex" "platex eptex" "csplain pdftex" "mf mf-nowin" "mex pdftex" "pdfmex pdftex" + "luacsplain luatex" "cont-en xetex" "cont-en pdftex" "pdfcsplain xetex" "pdfcsplain pdftex" "pdfcsplain luatex" "cslatex pdftex" "mptopdf pdftex" "uplatex euptex" "jadetex pdftex" @@ -2674,7 +2504,7 @@ formats.") "/tex/generic/config/luatexiniconfig.tex" "/web2c/texmfcnf.lua") (base32 - "0cs67a8wwh4s5p5gn8l49jyccgy7glw8mfq5klgn3dfsl2fdlhk7"))))) + "1gi87wy12r8w8fhx9ajcid382dmqzf6b9070b5nndvbbjrvhwf23"))))) (propagated-inputs `(("texlive-dehyph-exptl" ,texlive-dehyph-exptl) ("texlive-etex" ,texlive-etex) @@ -2719,6 +2549,7 @@ formats.") ("texlive-hyphen-mongolian" ,texlive-hyphen-mongolian) ("texlive-hyphen-norwegian" ,texlive-hyphen-norwegian) ("texlive-hyphen-occitan" ,texlive-hyphen-occitan) + ("texlive-hyphen-pali" ,texlive-hyphen-pali) ("texlive-hyphen-piedmontese" ,texlive-hyphen-piedmontese) ("texlive-hyphen-polish" ,texlive-hyphen-polish) ("texlive-hyphen-portuguese" ,texlive-hyphen-portuguese) @@ -2760,7 +2591,7 @@ contain.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0swkbxv8vg0yizadfnvrwjb4cj0pn34v9wm6v7wqq903fdav7k7q")))) + "1h78zw0vhldx478zs4v86ajg7vpkysd1kg3npc480qqls3q6ba40")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/filecontents")) (home-page "https://www.ctan.org/pkg/filecontents") @@ -2825,19 +2656,13 @@ users, via its Plain TeX version.)") (define-public texlive-latex-fancyvrb (package - (name "texlive-latex-fancyvrb") - (version (number->string %texlive-revision)) - (source (origin - (method svn-fetch) - (uri (texlive-ref "latex" "fancyvrb")) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "03l7140y031rr14h02i4z9zqsfvrbn7wzwxbjsrjcgrk6sdr71wv")))) - (build-system texlive-build-system) - (arguments - '(#:tex-directory "latex/fancyvrb" - #:tex-format "latex")) + (inherit (simple-texlive-package + "texlive-latex-fancyvrb" + (list "/doc/latex/fancyvrb/README" + "/tex/latex/fancyvrb/") + (base32 + "1dwkcradz9nwpjwmv1sjzn77lvw25ypr0rrgmf1kd8pd2mw7dxcn") + #:trivial? #t)) (home-page "https://www.ctan.org/pkg/fancyvrb") (synopsis "Sophisticated verbatim text") (description @@ -2990,7 +2815,7 @@ pdf and HTML backends. The package is distributed with the @code{backref} and (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1m9fg8ddhpsl1212igr9a9fmj012lv780aghjn6fpidg2wqrffmn")))) + "0pi2d6gsddcs9wprdbar46s91kdc5fxl1m79g7xrbccsx8s9xbml")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/oberdiek" @@ -3023,7 +2848,7 @@ arrows; record information about document class(es) used; and many more.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0vj7h1fgf1396h4qjdc2m07y08i54gbbfrxl8y327cn3r1n093s6")))) + "1wqvn4z0s92h5iqzrvxw7hinzp95avjk9v8lnqbqr4kz6nv4xb9l")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/tools" @@ -3092,7 +2917,7 @@ Live distribution.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0p3fsxap1ilwjz356aq4s5ygwvdscis8bh93g8klf8mhrd8cr2jy")))) + "0s77z2cbv841l45qrpf0s8qhzfa4wi689lg7zkw88qg18nzvy0ly")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/l3kernel")) @@ -3116,7 +2941,7 @@ that the LaTeX3 conventions can be used with regular LaTeX 2e packages.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0pyx0hffiyss363vv7fkrcdiaf7p099xnq0mngzqc7v8v9q849hs")))) + "1cv4fk9pabh7mkxhfsdmh4k8xpmzg1psgcsvd11c869m7n3a629h")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/l3packages" @@ -3171,7 +2996,7 @@ programming tools and kernel sup­port. Packages provided in this release are: (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1p0mkn6iywl0k4m9cx3hnhylpi499inisff3f72pcf349baqsnvq")))) + "1223cw029n6zff7pqpwbsq1x8v3w63smczkmnybqxkw5h2za8gbz")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/fontspec" @@ -3354,7 +3179,7 @@ loading fonts by their proper names instead of file names.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0arvk7gn32mshnfdad5qkgf3i1arxq77k3vq7wnpm4nwnrzclxal")))) + "0qgk2332dacsxn1z95qzp35gbs7wrzl1ipjdhnmk1r897msm4sf5")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/amsmath")) (home-page "https://www.ctan.org/pkg/amsmath") @@ -3407,7 +3232,7 @@ distribution.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0yhlfiz3fjc8jd46f1zrjj4jig48l8rrzh8cmd8ammml8z9a01z6")))) + "1rwqq841i1rxywymzwkw0cw2yhgvxwjx5mgygfasvypwrwll6f6s")))) (build-system texlive-build-system) (arguments '(#:tex-directory "generic/babel" @@ -3464,7 +3289,7 @@ for Canadian and USA text.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0h47s67gnhdaxfgbf8pirp5vw4z6rrhxl8zav803yjxka0096i3y")))) + "129f9w41cb6yyrr6kpv3zz9ml6334hyq1wcz7j9jn47p0hlxqfk8")))) (build-system texlive-build-system) (arguments '(#:tex-directory "generic/babel-german")) (home-page "https://www.ctan.org/pkg/babel-german") @@ -3678,7 +3503,7 @@ standard LaTeX packages." (number->string %texlive-revision))) (sha256 (base32 - "06mwpy5i218g5k3sf4gba0fmxgas82hkzx9fhwn67z5ik37d8apq")))))) + "0faqknqxs80qp9ywk0by5k85s0yalg97c4lja4q56lsyblrr4j7i")))))) (home-page (package-home-page texlive-bin)) (synopsis "Union of TeX Live packages") (description "This package provides a subset of the TeX Live @@ -4153,10 +3978,10 @@ to something that's not a float.") (package (inherit (simple-texlive-package "texlive-doi" - (list "/doc/latex/doi/README" + (list "/doc/latex/doi/README.md" "/tex/latex/doi/") (base32 - "17lnnhfmb8g4nh4fnyc9616h8xg3vjrzmlvfmlfqwwlfpma9xnnw") + "18z9922lqb3hliqn95h883fndqs4lgyi5yqbnq2932ya0imc3j7h") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/doi") (synopsis "Create correct hyperlinks for DOI numbers") @@ -4180,7 +4005,7 @@ hyperlink to the target of the DOI.") (list "/doc/latex/etoolbox/" "/tex/latex/etoolbox/") (base32 - "1qg4x5r4ibinl6zy5lq70lv4zcrjsn54n6hwv31k5kl7mwv0mvr3") + "1cc1vw1ach55g4ff4x30by8k1mg01w199ccxvn72f5khlnnxial0") #:trivial? #t)) (home-page "https://www.ctan.org/pkg/etoolbox") (synopsis "e-TeX tools for LaTeX") @@ -4282,7 +4107,7 @@ course of the framed/shaded matter. There is also a command (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0sikazkg0dpkcpzlbqw8qzxr81paf2f443vsrh14jnw7s4gswvc5")))) + "1br4kv9y17cvngp83ykpvy7gy3jqfan5plk7sggcgbdfhndi5dsr")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/g-brief" @@ -4355,7 +4180,7 @@ BibLaTeX, and is considered experimental.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0yw6bjfgsli3s1dldsgb7mkr7lnk329cgdjbgs8z2xn59pmmdsn4")))) + "0a8f38c2ds1flxcr0apdpyaaz3k6fyalz6dkbrmcv9srjc40mh3n")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/geometry")) (propagated-inputs @@ -4406,7 +4231,7 @@ array environments; verbatim handling; and syntax diagrams.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "03ma58z3ypsbp7zgkzb1ylpn2ygr27cxzkf042ns0rif4g8s491f")))) + "0na7v4hsyx5s67cpjj2dbnq8j67k8lln6b19hmj631gfs27slss1")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/polyglossia")) (home-page "https://www.ctan.org/pkg/polyglossia") @@ -4452,7 +4277,7 @@ situations where longtable has problems.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "06cf821y1j7jdg93pb41ayigrfwgn0y49d7w1025zlijjxi6bvjp")))) + "16jy02m089m7n6v9vbfi4xjgngc1fnvsmmppk8axfwzbhdky3c9c")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -4626,7 +4451,7 @@ copy-and-paste functions work properly.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "190pmq8la2rq07xry8bn8z8yywzxv6fqyqaj7yjfj5rgw6x0mas8")))) + "16vd99p01a0y30xr5yf1z2j5da9x8gy21vb30wk08jh31zffbaqj")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/colortbl")) (home-page "https://www.ctan.org/pkg/colortbl") @@ -4685,7 +4510,7 @@ floats, center, flushleft, and flushright, lists, and pages.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1xsnzx7vgdfh9zh2m7bjz6bgdpxsgb1kyc19p50vhs34x5nbgsnr")))) + "0hrwspqkqfahxyzzsnjyrxlgxj06zw1f3636gx76pvl4xhvdj1cj")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -4763,7 +4588,7 @@ footnotes with symbols rather than numbers.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1nsn9wp3wl12b36c0sqrim33lf33cr5wky0h4ncnw8lvqgm7h8wf")))) + "1fbrhqj22vzakn30j71fc41l8nliqbv1dmxm0zlwi2qjjbq6fwav")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/listings" @@ -4897,7 +4722,7 @@ fonts are available in (traced) Adobe Type 1 format, as part of the set, Latin Modern, is not actually a direct development of the EC set, and differs from the EC in a number of particulars.") (license (license:fsf-free "https://www.tug.org/svn/texlive/tags/\ -texlive-2018.2/Master/texmf-dist/doc/fonts/ec/copyrite.txt")))) +texlive-2019.3/Master/texmf-dist/doc/fonts/ec/copyrite.txt")))) ;; FIXME: the fonts should be built from source, but running "tex aefonts.tex" ;; fails with obscure TeX-typical error messages. @@ -5092,7 +4917,7 @@ one of the packages @code{calrsfs} and @code{mathrsfs}.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1xvmms28mvvfpks9x7lfya2xhh5k8jy3qnlih1mzcnf156xnb89z")))) + "0y2y08kr3w6asm9lblj9yywqmhaal36fq71zzcbfsc7cvwf641q7")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/eso-pic")) (home-page "https://www.ctan.org/pkg/eso-pic") @@ -5154,7 +4979,7 @@ splines, and filled circles and ellipses. The package uses @code{tpic} (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0q24b1bkdi9l6bw787bpggww83jh2vj8955aw2m5yccqbx4vgr5r")))) + "1vm9xp67hzif0pqab4r3ialf0cyhi0fa4p8kxgp1ymcf85pqip14")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5186,7 +5011,7 @@ in the form @code{key=value} are available, for example: (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0qlxy47f1f8plgch3jqfsnrdgpyz20sz46yp33i2jwvf9hvfczf0")))) + "07vbcp6avdwldr870cwf65av2s9lfyzcpp8gpld53yw6lcxgaipj")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/multirow")) (home-page "https://www.ctan.org/pkg/multirow") @@ -5211,7 +5036,7 @@ entry at the \"natural\" width of its text.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1rpx4ibjncj5416rg19v0xjbj3z9avhfdfn2gzp8r8sz9vz25c6g")))) + "1pr6ym3ad7x14ng7gmhsmywh3685d2cnm5qgyrqbigng2r6fcc1k")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5247,7 +5072,7 @@ positions; a grid for orientation is available.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "14r6h9hqb0qgccxj5l1208694fx8sb8avmgzps36lsbbpszl7i7m")))) + "0j1fhm1m9k6rz80lmch3x44g20y9nm4abaaf8czb0q8hzwlx5aq5")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5598,7 +5423,7 @@ OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0sf18pc6chgy26p9bxxn44xcqhzjrfb53jxjr2y7l3jb6xllhblq")))) + "1xyd57c8z1xi0kbqpbad61flcazz68i9ssxrag0gjvci3irxi8xh")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -5627,7 +5452,7 @@ than the bitmaps Metafont creates.") (uri (texlive-ref "latex" "acmart")) (sha256 (base32 - "0n62cs8dhcbn29y9ij1nnyigzr76yhk36kyahhqkkmvbafbys9s7")) + "18rl67p2zhngskisnhv78mksv8q8q658l6igkswzswldixmkpphq")) (file-name (string-append name "-" version "-checkout")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/acmart")) @@ -5865,7 +5690,7 @@ e-TeX.") (file-name (string-append name "-map-" version "-checkout")) (sha256 (base32 - "18jvcm0vwpg6wwzijvnb92xx78la45kkh71k6l44425krp2vnwm0")))))) + "03rfif2631pgd8g1ar4xblcdh078kky7fvw3kfsj5a47rxxgicp2")))))) (home-page "https://www.ctan.org/pkg/pdftex") (synopsis "TeX extension for direct creation of PDF") (description @@ -5876,7 +5701,7 @@ directly generate PDF documents instead of DVI.") (define texlive-texmf (package (name "texlive-texmf") - (version "20180414") + (version "20190410") (source texlive-texmf-src) (build-system gnu-build-system) (inputs @@ -5953,7 +5778,7 @@ This package contains the complete tree of texmf-dist data.") (define-public texlive (package (name "texlive") - (version "20180414") + (version "20190410") (source #f) (build-system trivial-build-system) (inputs `(("bash" ,bash) ; for wrap-program @@ -6359,7 +6184,7 @@ required: automatic sectioning and pagination, spell checking and so forth.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0lhb2h5hxjq9alpk4r3gvg21pwyifs4ah6hqzp92k55mkp1xv73j")))) + "0s86v2b6b1vky1svmmn8pn0l2gz3v280mvjbr2d9l2sjyarlgz9w")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6399,7 +6224,7 @@ specification. It replaces the now obsolete @code{movie15} package.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0zp00jg058djx8xp0xqwas92y3j97clkyd8z6pqr890yqy06myqb")))) + "1yhp51w8yr10c10pc9196q7hlw80brzqinnqbjw81d0sf2p0llc5")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6600,7 +6425,7 @@ striking out (line through words) and crossing out (/// over words).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1dq8p10pz8wn0vx412m7d7d5gj1syxly3yqdqvf7lv2xl8zndn5h")))) + "1dscrgwyr71vgx35mzb316xl669arzagfgq50fdv3nxga63959b3")))) (build-system trivial-build-system) (native-inputs `(("texlive-latex-pgf-generic" @@ -6614,7 +6439,7 @@ striking out (line through words) and crossing out (/// over words).") (file-name (string-append "texlive-latex-pgf-generic" version "-checkout")) (sha256 (base32 - "0xkxw26sjzr5npjpzpr28yygwdbhzpdd0hsk80gjpidhcxmz393i")))))) + "0hk5x2j15n4pps279cmkbjl1dvhasq3mbhna5xdvp2qgh635ahks")))))) (propagated-inputs `(("texlive-latex-xcolor" ,texlive-latex-xcolor))) (arguments @@ -6658,7 +6483,7 @@ produce either PostScript or PDF output.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0nqwf0sr4mf3v9gqa6apv6ml2xhcdwax0vgyf12a672g7rpdyvgm")))) + "1vz9zg7s5w52xr323zgglzprfrvba2zvyzf6b8vrdf4wdghlpv4z")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils) @@ -6718,7 +6543,7 @@ typearea (which are the main parts of the bundle).") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0hs28fc0v2l92ad9las9b8xcckyrdrwmyhcx1yzmbr6s7s6nvsx8")))) + "1x4wnpca97rnbvvg6wjmbkxxvnfva274q9ahzx746b435q93z3i1")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6907,7 +6732,7 @@ AMS-LaTeX, AMS-TeX, and plain TeX). The distribution includes Michael Barr's (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0hnbs0s1znbn32hfcsyijl39z81sdb00jf092a4blqz421qs2mbv")))) + "1wijqq605cbhn2bdaryby3xpkwmnk9ixcrjn5zwlfrxbgfblzfmz")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6966,7 +6791,7 @@ Support for use with LaTeX is available in @code{freenfss}, part of (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0rlx4qqijms1n64gjx475kvip8l322fh7v17zkmwp1l1g0w3vlyz")))) + "0d7d74giz5knvj4rj6mbzd6c05mwg9jrxab86jxdqbc3jy7cl4kz")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -6992,7 +6817,7 @@ of support information.") (list "/doc/latex/beamer/" "/tex/latex/beamer/") (base32 - "00z1a32wkz1ffif7dc8h3ar2fn2hlvfnljgim2szjam2k14l82x3") + "1fqzbkmw2kfxihab8j4dadc3v68xap6v2ghpp2064fna47xlwy1c") #:trivial? #t)) (propagated-inputs `(("texlive-latex-hyperref" ,texlive-latex-hyperref) @@ -7051,7 +6876,7 @@ the file to which it applies.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0ikxg8yzq78hy5b9x13d4nah46d0yvmwlqmdri06pygbx116dcac")))) + "18294h0cr05fs424m3x6aq24z5hf5zmiflalkj4kvpmsyyqqsj74")))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/pdfx" @@ -7085,7 +6910,7 @@ the file to which it applies.") (file-name (string-append "texlive-tex-latex-pdfx-" version "-checkout")) (sha256 (base32 - "14j1zsvqc59ims3sk34v6km8db6cimks28y5fcxcr5mi2ykvj4vf")))))) + "171ffvpkj2fab4ljcxv3l6l5c8ga8zavdhmhfq07id8zyyr619ip")))))) (home-page "https://www.ctan.org/pkg/pdfx") (synopsis "PDF/X and PDF/A support for pdfTeX, LuaTeX and XeTeX") (description @@ -7149,7 +6974,7 @@ change.") "/tex/generic/pstricks/" "/tex/latex/pstricks/") (base32 - "04566354c77claxl1sznc490cda0m5gaa5ck6ms4q7mm44rj3rzk") + "0sdxdd0qi4sccw9il7d4s7jivs24pq99cdzfnrf0gkqjb1y8s7cl") #:trivial? #t))) (package (inherit template) @@ -7173,12 +6998,11 @@ or shading the cells of tables.") (let ((template (simple-texlive-package "texlive-pst-text" (list "/doc/generic/pst-text/" - "/source/generic/pst-text/Makefile" "/dvips/pst-text/pst-text.pro" "/tex/generic/pst-text/" "/tex/latex/pst-text/") (base32 - "0s2bbkdfy0shqrrkjflrn0x0pnvxzbdc38pjbdfw46wnmnxrnasm") + "146fpzd1xlqi94q5r48z8ni8qww713yh6nwkbr9pw27mjrqdadb9") #:trivial? #t))) (package (inherit template) @@ -7217,7 +7041,7 @@ LuaTeX (respectively) is not the engine in use.") (list "/doc/latex/tools/" "/source/latex/tools/") (base32 - "0v3zqcpy0w5bzy1xdcv1wnxbmxrn1j6x03h3y2af7qmjggph2a09")))) + "1ivhij7171wvrgcjn4wah84wxwpd21d0chh3zxab4pj067c8d0mh")))) (package (inherit template) (arguments @@ -7360,7 +7184,7 @@ The behaviour in standalone mode may adjusted using a configuration file (list "/source/latex/siunitx/siunitx.dtx" "/doc/latex/siunitx/README.md") (base32 - "0dmljnxgv2bwl3mi74iil41q03swvrm1b0ziwxlhc4m9lx31b1q1"))) + "11kf6znkgw7y5qmw75qk6px6pqf57bwr53q0673zaiyq20lif96c"))) (build-system texlive-build-system) (arguments '(#:tex-directory "latex/siunitx" -- 2.24.1