summaryrefslogtreecommitdiff
path: root/gnu/packages/fontutils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/fontutils.scm')
-rw-r--r--gnu/packages/fontutils.scm153
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