diff options
Diffstat (limited to 'gnu/packages/fontutils.scm')
-rw-r--r-- | gnu/packages/fontutils.scm | 153 |
1 files changed, 101 insertions, 52 deletions
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index fd1784a7e9..e7b5dc89a6 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -2,13 +2,13 @@ ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017, 2020, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2020, 2022, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017, 2018, 2020–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018, 2019, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> @@ -85,35 +85,43 @@ (define-public freetype (package - (name "freetype") - (version "2.10.4") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://savannah/freetype/freetype-" - version ".tar.xz")) - (sha256 - (base32 "112pyy215chg7f7fmp2l9374chhhpihbh8wgpj5nj6avj3c59a46")))) - (build-system gnu-build-system) - (arguments - ;; The use of "freetype-config" is deprecated, but other packages still - ;; depend on it. - `(#:configure-flags (list "--enable-freetype-config"))) - (native-inputs - (list pkg-config)) - (propagated-inputs - ;; These are all in the Requires.private field of freetype2.pc. - ;; XXX: add harfbuzz. - (list libpng zlib)) - (synopsis "Font rendering library") - (description - "Freetype is a library that can be used by applications to access the + (name "freetype") + (version "2.13.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/freetype/freetype-" + version ".tar.xz")) + (sha256 + (base32 "0k32jaaz4pfhw34xwr6a38fncrpwr9fn5ij35m5w4dkn0jykmqjy")))) + (build-system gnu-build-system) + (arguments + ;; The use of "freetype-config" is deprecated, but other packages still + ;; depend on it. + (list + #:configure-flags #~(list "--enable-freetype-config") + #:disallowed-references (list pkg-config) + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'remove-reference-to-pkg-config + (lambda* (#:key outputs #:allow-other-keys) + (substitute* (search-input-file outputs "bin/freetype-config") + (("/([a-zA-Z0-9/\\._-]+)/bin/([a-zA-Z0-9_-]+)?pkg-config" + _ store target) + "pkg-config"))))))) + (native-inputs (list pkg-config)) + ;; XXX: Not adding harfbuzz here, as it would introduce a dependency + ;; cycle. + (propagated-inputs (list libpng zlib)) + (synopsis "Font rendering library") + (description + "Freetype is a library that can be used by applications to access the contents of font files. It provides a uniform interface to access font files. It supports both bitmap and scalable formats, including TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF, and others. It supports high-speed anti-aliased glyph bitmap generation with 256 gray levels.") - (license license:freetype) ; some files have other licenses - (home-page "https://www.freetype.org/"))) + (license license:freetype) ; some files have other licenses + (home-page "https://freetype.org/"))) (define-public opentype-sanitizer (package @@ -259,7 +267,7 @@ them as it goes.") python-booleanoperations python-defcon python-fontmath - python-fonttools-next + python-fonttools python-lxml python-tqdm python-ufonormalizer @@ -328,6 +336,42 @@ but also provides many useful font conversion and analysis facilities. @end table") (license license:asl2.0))) +(define-public python-afdko-3.6.1 + ;; This older version does not depend on Java and Antlr4. + (package + (inherit python-afdko) + (version "3.6.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "afdko" version)) + (sha256 + (base32 "0187xhgw6spzaji93fs1mnhqnq30pxhdj1p2m88673szvzpf10av")))) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'build 'set-CC + (lambda _ + (setenv "CC" "gcc")))))) + (native-inputs + (list pkg-config + python-pytest + python-setuptools-scm + python-wheel)) + (inputs + (list bash-minimal + libxml2)) + (propagated-inputs + (list psautohint + python-booleanoperations + python-defcon + python-fontmath + python-fonttools + python-lxml + python-tqdm + python-ufonormalizer + python-ufoprocessor)))) + (define-public python-cffsubr (package (name "python-cffsubr") @@ -370,8 +414,12 @@ but also provides many useful font conversion and analysis facilities. (when tests? (invoke "pytest" "-vv"))))))) (native-inputs (list python-pytest python-setuptools-scm python-wheel)) - (inputs (list python-afdko)) - (propagated-inputs (list python-fonttools)) + + ;; Use version 3.6.1, which matches the bundled version and does not + ;; depend on Java. + (inputs (list python-afdko-3.6.1)) + + (propagated-inputs (list python-fonttools-minimal)) (home-page "https://github.com/adobe-type-tools/cffsubr") (synopsis "Compact Font Format (CFF) subroutinizer") (description "This package provides the @command{cffsubr} command, a @@ -401,7 +449,7 @@ Kit for OpenType (AFDKO) @command{tx} tool.") ((", \"setuptools_git_ls_files\"") ""))))))) (native-inputs (list python-pytest python-pytest-runner python-setuptools-scm)) - (propagated-inputs (list python-fonttools)) + (propagated-inputs (list python-fonttools-minimal)) (home-page "https://github.com/googlefonts/compreffor") (synopsis "Compact Font Format (CFF) subroutinizer for fontTools") (description "This package provides a Compact Font Format (CFF) @@ -419,7 +467,7 @@ subroutinizer for fontTools.") (sha256 (base32 "1x762r7bf39g6aivfvrmq00h6f07abvs9x1xm0fz8l81vq8jz64c")))) (build-system python-build-system) - (propagated-inputs (list python-fonttools-full)) + (propagated-inputs (list python-fonttools)) (native-inputs (list python-cython python-defcon @@ -453,7 +501,7 @@ converts any cubic curves to quadratic. The most useful function is probably python-compreffor python-cu2qu python-defcon - python-fonttools-next + python-fonttools python-skia-pathops python-ufolib2)) (home-page "https://github.com/googlefonts/ufo2ft") @@ -476,7 +524,7 @@ to generate OpenType font binaries from Unified Font Objects (UFOs).") (sha256 (base32 "070v1jz5f18g15if459ppwswq4w5hzffwp1gvdc5j47bgz5qflva")))) (build-system python-build-system) - (propagated-inputs (list python-fonttools)) + (propagated-inputs (list python-fonttools-minimal)) (native-inputs (list python-setuptools-scm python-pytest @@ -502,7 +550,7 @@ font, glyph, etc. mathematical operations on font data.") (base32 "1za15dzsnymq6d9x7xdfqwgw4a3003wj75fn2crhyidkfd2s3nd6")))) (build-system python-build-system) (arguments (list #:tests? #f)) - (propagated-inputs (list python-fonttools)) + (propagated-inputs (list python-fonttools-minimal)) (native-inputs (list unzip)) (home-page "https://github.com/robofab-developers/fontPens") (synopsis "Python classes implementing the pen protocol") @@ -553,7 +601,7 @@ implementing the pen protocol for manipulating glyphs.") (list python-booleanoperations python-defcon-bootstrap python-fontmath - python-fonttools)) + python-fonttools-minimal)) (native-inputs (list python-setuptools-scm unzip)) (home-page "https://github.com/robotools/fontParts") (synopsis "Library for interacting with font parts") @@ -599,7 +647,7 @@ process. FontParts is the successor of RoboFab.") python-xmldiff)) (propagated-inputs (list python-defcon - python-fonttools-next + python-fonttools python-openstep-plist python-ufolib2 python-ufo2ft @@ -637,7 +685,7 @@ to UFOs and DesignSpace files via @code{defcon} and @code{designspaceLib}.") (invoke "pytest" "-vv" "tests/testusage.py"))))))) (native-inputs (list python-pytest python-setuptools-scm)) (propagated-inputs - (list python-defcon python-fonttools python-glyphslib)) + (list python-defcon python-fonttools-minimal python-glyphslib)) (home-page "https://github.com/googlefonts/glyphsets/") (synopsis "Evaluate coverage of glyph sets") (description @@ -693,7 +741,8 @@ different scripts and languages.") (sha256 (base32 "0r1qq45np49x14zz1zwkaayqrn7m8dn2jlipjldg2ihnmpzw29w1")))) (build-system python-build-system) - (propagated-inputs (list python-defcon python-fontmath python-fonttools)) + (propagated-inputs (list python-defcon python-fontmath + python-fonttools-minimal)) (native-inputs (list unzip)) (home-page "https://github.com/LettError/MutatorMath") (synopsis "Piecewise linear interpolation Python library") @@ -756,7 +805,7 @@ suite of the @code{psautohint} package.") "tests/integration/data") (for-each make-file-writable (find-files "tests/integration/data"))))))) - (propagated-inputs (list python-fonttools-next)) + (inputs (list python-fonttools)) (native-inputs (list psautohint-font-data python-fs @@ -861,7 +910,7 @@ paths (intersection, union, difference, xor).") (list python-defcon python-fontmath python-fontparts - python-fonttools + python-fonttools-minimal python-mutatormath)) (native-inputs (list python-setuptools-scm unzip)) (home-page "https://github.com/LettError/ufoProcessor") @@ -1119,14 +1168,14 @@ Font Format (WOFF).") (hidden-package (package (name "fontconfig-minimal") - (version "2.13.94") + (version "2.14.0") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/" "fontconfig/release/fontconfig-" version ".tar.xz")) (sha256 (base32 - "0g004r0bkkqz00mpm3svnnxn7d83158q0yb9ggxryizxfg5m5w55")) + "1b4v1r94ri44p4a3kbwd38ig5jgdgcfgwdfm6fqzvfvlki6bignw")) (patches (search-patches "fontconfig-cache-ignore-mtime.patch")))) (build-system gnu-build-system) ;; In Requires or Requires.private of fontconfig.pc. @@ -1323,7 +1372,7 @@ applications should be.") "01jzhwnj1c3d68dmw15jdxly0hwkmd8ja4kw755rbkykn1ly2qyx")))) (build-system cmake-build-system) (native-inputs - (list python python-fonttools)) + (list python python-fonttools-minimal)) (inputs (list freetype)) (synopsis "Reimplementation of the SIL Graphite text processing engine") @@ -1439,14 +1488,14 @@ definitions.") (define-public fontforge (package (name "fontforge") - (version "20201107") + (version "20220308") (source (origin (method url-fetch) (uri (string-append "https://github.com/fontforge/fontforge/releases/download/" version "/fontforge-" version ".tar.xz")) (sha256 - (base32 "0y3c8x1i6yf6ak9m5dhr1nldgfmg7zhnwdfd57ffs698c27vmg38")))) + (base32 "0ncfc4ajwy4ng6b6h79w52jh9z3lngvf3f3ldi1wzkhcg9zh3r01")))) (build-system cmake-build-system) (native-inputs (list pkg-config)) @@ -1464,7 +1513,6 @@ definitions.") ("libspiro" ,libspiro) ("libtiff" ,libtiff) ("libungif" ,libungif) - ("libuninameslist" ,libuninameslist) ("libxft" ,libxft) ("libxml2" ,libxml2) ("pango" ,pango) @@ -1533,8 +1581,9 @@ generate bitmaps.") `(modify-phases ,phases (delete 'do-not-override-RPATH))))) (inputs - `(("python" ,python-2) - ,@(alist-delete "python" (package-inputs fontforge)))))) + (modify-inputs (package-inputs fontforge) + (prepend libuninameslist) + (replace "python" python-2))))) (define-public python-statmake (package @@ -1578,7 +1627,7 @@ generate bitmaps.") (propagated-inputs (list python-attrs python-cattrs - python-fonttools-next)) + python-fonttools)) (home-page "https://github.com/daltonmaag/statmake") (synopsis "Apply OpenType STAT information to a variable font") (description @@ -1603,7 +1652,7 @@ with @samp{nameIDs}.") (build-system pyproject-build-system) (native-inputs (list python-pytest python-setuptools-scm)) - (propagated-inputs (list python-attrs python-fonttools-full)) + (propagated-inputs (list python-attrs python-fonttools)) (home-page "https://github.com/fonttools/ufoLib2") (synopsis "Unified Font Object (UFO) font processing library") (description "The ufoLib2 Python library is meant to be a thin @@ -1627,7 +1676,7 @@ API-compatible with defcon.") (sha256 (base32 "0i1a306b8c42dpbplwxj6ili2aac5lwq2ir6r1jswicysvk9dqxf")))) (build-system python-build-system) - (propagated-inputs (list python-fontpens-bootstrap python-fonttools-full)) + (propagated-inputs (list python-fontpens-bootstrap python-fonttools)) (native-inputs (list python-pytest python-pytest-runner |