all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: 55104@debbugs.gnu.org
Cc: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: [bug#55104] [PATCH 078/232] gnu: Add python-afdko.
Date: Sun, 24 Apr 2022 23:56:44 -0400	[thread overview]
Message-ID: <20220425035918.25683-78-maxim.cournoyer@gmail.com> (raw)
In-Reply-To: <20220425035918.25683-1-maxim.cournoyer@gmail.com>

* 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





  parent reply	other threads:[~2022-04-25  4:24 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-25  3:57 [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Maxim Cournoyer
2022-04-25  3:55 ` [bug#55104] [PATCH 001/232] gnu: python-ipython: Re-order fields Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 002/232] gnu: python-astroid: Propagate python-typing-extensions Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 003/232] gnu: Add python-pure-eval Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 004/232] gnu: Add python-asttokens Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 005/232] gnu: Add python-littleutils Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 006/232] gnu: Add python-stack-data Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 007/232] gnu: python-traitlets: Update to 5.1.1 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 008/232] gnu: python-jinja2: Update to 3.1.1 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 009/232] gnu: python-prompt-toolkit: Update to 3.0.29 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 010/232] gnu: python-ipython: Update to 8.2.0 [fixes CVE-2022-21699] Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 011/232] gnu: python-nbformat: Update to 5.3.0 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 012/232] gnu: Add texlive-paralist Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 013/232] gnu: Add texlive-stix2-otf Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 014/232] gnu: Add texlive-metalogo Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 015/232] gnu: Add texlive-makecmds Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 016/232] gnu: Add texlive-csplain Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 017/232] gnu: Add texlive-cs Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 018/232] gnu: Add texlive-zref Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 019/232] gnu: Add python-pcpp Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 020/232] gnu: Add opentype-sanitizer Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 021/232] gnu: Add python-opentype-sanitizer Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 022/232] gnu: Add python-defcon-bootstrap Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 023/232] gnu: Add python-fontmath Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 024/232] gnu: Add python-unicodedata2 Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 025/232] gnu: python-fonttools-with-test: Rename to python-fonttools-full Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 026/232] gnu: Add python-mutatormath Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 027/232] gnu: Add python-fontpens-bootstrap Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 028/232] gnu: Add python-booleanoperations Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 029/232] gnu: Add python-fontparts-bootstrap Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 030/232] gnu: Add python-fontpens Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 031/232] gnu: Add python-defcon Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 032/232] gnu: Add python-fontparts Maxim Cournoyer
2022-04-25  3:55   ` [bug#55104] [PATCH 033/232] gnu: Add python-cu2qu Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 034/232] gnu: Add python-ufoprocessor Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 035/232] gnu: Add python-ufonormalizer Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 036/232] gnu: Add python-types-toml Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 037/232] gnu: Add python-pytest-mypy Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 038/232] gnu: Add python-jaraco-context-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 039/232] gnu: Add python-jaraco-functools-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 040/232] gnu: Add python-autocommand Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 041/232] gnu: Add python-types-freezegun Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 042/232] gnu: Add python-types-pytz Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 043/232] gnu: Add python-pytest-freezegun Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 044/232] gnu: Add python-pytest-enabler-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 045/232] gnu: Add python-path-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 046/232] gnu: Add python-pip-run-bootstrap Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 047/232] gnu: python-importlib-metadata: Update to 4.11.3 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 048/232] gnu: python-pytest-black: Update to 0.3.12 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 049/232] gnu: python-mypy: Update to 0.942 and fix search path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 050/232] gnu: Add python-types-docutils Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 051/232] gnu: python-pytest-checkdocs: Update to 2.7.1 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 052/232] gnu: Add python-jaraco-classes Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 053/232] gnu: Add python-jaraco-context Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 054/232] gnu: Add python-jaraco-functools Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 055/232] gnu: Add python-pytest-enabler Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 056/232] gnu: Add python-path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 057/232] gnu: Add python-pip-run Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 058/232] gnu: Add python-tempora Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 059/232] gnu: Add python-pytest-perf Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 060/232] gnu: python-factory-boy: Update to 3.2.1 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 061/232] gnu: python-faker: Update to 13.3.4 and honor TESTS? Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 062/232] gnu: Add python-pytest-randomly Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 063/232] gnu: Add psautohint-font-data Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 064/232] gnu: Add psautohint Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 065/232] gnu: Add python-ordered-set Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 066/232] gnu: Add python-xdoctest Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 067/232] gnu: Add python-ubelt Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 068/232] gnu: python-setuptools: Update to 62.0.0 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 069/232] gnu: python-pathpy: Deprecate by python-path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 070/232] gnu: python-pytest-shutil: Adjust to use python-path Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 071/232] gnu: python-pytest-cov: Update to 3.0.0 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 072/232] gnu: Add python-scikit-build Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 073/232] gnu: python-jupyter-packaging: Update to 0.12.0, run test suite Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 074/232] gnu: python-scipy: Move input fields below arguments field Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 075/232] gnu: python-scipy: Update to 1.8.0 and enable parallel build Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 076/232] gnu: Add java-antlr4-runtime-cpp Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 077/232] gnu: Add python-fonttools-next Maxim Cournoyer
2022-04-25  3:56   ` Maxim Cournoyer [this message]
2022-04-25  3:56   ` [bug#55104] [PATCH 079/232] gnu: Add python-cffsubr Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 080/232] gnu: Add skia Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 081/232] gnu: Add python-skia-pathops Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 082/232] gnu: Add python-ufolib2 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 083/232] gnu: Add python-compreffor Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 084/232] gnu: Add python-ufo2ft Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 085/232] gnu: Add python-sfdlib Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 086/232] gnu: Add font-amiri Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 087/232] gnu: Add font-sil-ezra Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 088/232] gnu: Add texlive-bidi Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 089/232] gnu: Add font-gfs-ambrosia Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 090/232] gnu: python-click: Update to 8.1.2 and honor TESTS? Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 091/232] gnu: python-flask: Update to 2.1.1 Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 092/232] gnu: Add python-untangle Maxim Cournoyer
2022-04-25  3:56   ` [bug#55104] [PATCH 093/232] gnu: python-black: Update to 22.3.0 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 094/232] gnu: pylint: Run tests in parallel Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 095/232] gnu: python-trio: Update to 0.20.0 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 096/232] gnu: Add python-pydevd Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 097/232] gnu: Add python-debugpy Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 098/232] gnu: python-greenlet: Update to 1.1.2 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 099/232] gnu: Add python-pytest-forked-next Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 100/232] gnu: python-pytest-xdist-next: Update to 2.5.0 Maxim Cournoyer
2022-04-25  3:57   ` [bug#55104] [PATCH 101/232] gnu: Add python-ipyparallel-bootstrap Maxim Cournoyer
2022-04-25  9:53 ` [bug#55104] [PATCH 000/232] Update IPython to latest, fix texlive-polyglossia, add more Lars-Dominik Braun
2022-04-25 13:15   ` Maxim Cournoyer
2022-04-26  7:36     ` Lars-Dominik Braun
2022-04-27  3:09       ` Maxim Cournoyer
2022-04-27 11:50         ` Lars-Dominik Braun
2022-05-12  1:31           ` Maxim Cournoyer
2022-04-26 11:21     ` zimoun
2022-04-25 11:36 ` Julien Lepiller
2022-04-25 13:23   ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220425035918.25683-78-maxim.cournoyer@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=55104@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.