[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#55104] [PATCH 078/232] gnu: Add python-afdko.
From: |
Maxim Cournoyer |
Subject: |
[bug#55104] [PATCH 078/232] gnu: Add python-afdko. |
Date: |
Sun, 24 Apr 2022 23:56:44 -0400 |
* gnu/packages/fontutils.scm (python-afdko): New variable.
---
gnu/packages/fontutils.scm | 139 +++++++++++++++++++++++++++++++++++++
1 file changed, 139 insertions(+)
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index e128ed1003..0c479cd5de 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -53,8 +53,10 @@ (define-module (gnu packages fontutils)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
+ #:use-module (gnu packages java)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
+ #:use-module (gnu packages ninja)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@@ -134,6 +136,143 @@ (define-public opentype-sanitizer
them as it goes.")
(license license:bsd-3)))
+(define-public python-afdko
+ (package
+ (name "python-afdko")
+ (version "3.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "afdko" version))
+ (sha256
+ (base32 "171r9f7n8fgz37dkcgpzj508lxfafcyzzx43ps12j1z2nk1sk905"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-problematic-requirements
+ (lambda _
+ (substitute* "requirements.txt"
+ ;; Remove lxml because the version requested here is different
+ ;; than the one propagated by the python-fonttools package.
+ (("^lxml==.*") ""))))
+ (add-after 'unpack 'patch-setup.py
+ (lambda _
+ ;; There is no use for Python-provided CMake nor Ninja binaries.
+ (substitute* '("pyproject.toml" "setup.py")
+ ((".*cmake.*") "")
+ ((".*ninja.*") ""))))
+ (add-after 'unpack 'unbundle-antlr4-cpp
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("^include\\(ExternalAntlr4Cpp).*")
+ (format #f "include_directories(SYSTEM ~a)"
+ (search-input-directory inputs
+ "include/antlr4-runtime"))))
+ (substitute* "c/makeotf/lib/hotconv/CMakeLists.txt"
+ (("antlr4_static")
+ "antlr4-runtime"))))
+ ;; The test suite expects the commands to be Python rather than
+ ;; shell scripts, so move the wrap phase after the tests.
+ (delete 'wrap)
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (invoke "pytest" "-vv"))))
+ (add-after 'check 'wrap
+ (assoc-ref %standard-phases 'wrap))
+ (add-before 'wrap 'wrap-PATH
+ (lambda _
+ ;; The commands execute other commands from this package from
+ ;; PATH; by wrapping them with bindir, they can be found even
+ ;; when the command is run from its store location.
+ (let* ((bindir (string-append #$output "/bin"))
+ (commands (find-files bindir)))
+ (for-each (lambda (c)
+ (wrap-program c
+ `("PATH" prefix (,bindir))))
+ commands)))))))
+ (native-inputs
+ (list ninja python-pytest python-scikit-build python-wheel))
+ (inputs (list java-antlr4-runtime-cpp `(,util-linux "lib")))
+ (propagated-inputs
+ (list psautohint
+ python-booleanoperations
+ python-defcon
+ python-fontmath
+ python-fonttools-next
+ python-lxml
+ python-tqdm
+ python-ufonormalizer
+ python-ufoprocessor))
+ (home-page "https://github.com/adobe-type-tools/afdko")
+ (synopsis "Adobe Font Development Kit for OpenType")
+ (description "The Adobe Font Development Kit for OpenType (AFDKO) is a set
+of tools for building OpenType font (OTF) files from PostScript and TrueType
+font data. It includes the following commands:
+@table @command
+@item buildcff2vf
+Assemble a CFF2 variable font from a .designspace file.
+@item buildmasterotfs
+Build master source OpenType/CFF fonts from a @file{.designspace} file
+and UFO master source fonts.
+@item charplot
+@itemx digiplot
+@itemx fontplot
+@itemx fontsetplot
+@itemx hintplot
+@itemx waterfallplot
+Aliases for the corresponding options of the @command{proofpdf} command.
+@item checkoutlinesufo
+Perform outline quality checks. It can also remove path overlaps.
+@item comparefamily
+Look in a specific directory, examine and report on all the OpenType fonts
found.
+@item type1
+@itemx detype1
+Compile and decompile, respectively, a Type 1 font to and from a plain-text
+representation.
+@item makeinstancesufo
+Generate UFO font instances from a set of master UFO fonts.
+@item makeotfexe
+Read all the font data and build the final OpenType font.
+@item makeotf
+This command can be used to prepare the input files needed by
+@command{makeotfexe}.
+@item mergefonts
+Merge one or more fonts into a parent font.
+@item otc2otf
+Extract all OpenType fonts from the parent OpenType Collection font.
+@item otf2otc
+Build an OpenType Collection font file from two or more OpenType font
+files.
+@item otf2ttf
+Converts OpenType-CFF fonts to TrueType.
+@item rotatefont
+Apply a Postscript transform matrix to the source font files.
+@item sfntdiff
+Low-level comparison of two OpenType font files.
+@item sfntedit
+Support table-editing, listing, and checksumming options on
+sfnt-formatted files such as OpenType Format (OTF) or TrueType.
+@item spot
+Dump sfnt data from plain files or Macintosh resource files.
+@item ttfcomponentizer
+Take in a TrueType font and look for a UFO font stored in the same directory.
+Use the UFO's components data to compose matching TrueType glyphs.
+@item ttfdecomponentizer
+Take in a TrueType font and decompose any composite glyphs into simple glyphs.
+@item ttxn
+Make a normalized dump of the font, or of selected tables.
+@item tx
+The @command{tx} (Type eXchange) is a test harness for the CoreType libraries
+but also provides many useful font conversion and analysis facilities.
+@end table")
+ (license license:asl2.0)))
+
+ (license license:asl2.0)))
+
(define-public python-cu2qu
(package
(name "python-cu2qu")
--
2.34.0
- [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly., (continued)
- [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 064/232] gnu: Add psautohint., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 080/232] gnu: Add skia., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 078/232] gnu: Add python-afdko.,
Maxim Cournoyer <=
- [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS?., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap., Maxim Cournoyer, 2022/04/25
- [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path., Maxim Cournoyer, 2022/04/25