diff mbox series

[bug#64957] gnu: Add python-fontmake.

Message ID DU2P193MB2132166790F9B80DA520FE86F304A@DU2P193MB2132.EURP193.PROD.OUTLOOK.COM
State New
Headers show
Series [bug#64957] gnu: Add python-fontmake. | expand

Commit Message

Sergio Pastor Pérez July 30, 2023, 3:35 p.m. UTC
* gnu/packages/fontutils.scm (python-fontmake): New variable.
---
 gnu/packages/fontutils.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)


base-commit: c173819c8e5235ce02d60b79bd88b10023a7c614
prerequisite-patch-id: c56db9fa7fc4e07452dea53f2d450bd83abbbc1a
prerequisite-patch-id: 3e6318d61f2efa01f4435152f2139eef8f72572c
prerequisite-patch-id: 1b23c59bab92820a1e102137909922f4d71ed8f9
prerequisite-patch-id: 78a291411f8d86beabbf6d49df0cc78702ad4e65
prerequisite-patch-id: 579224b39cae7869ce11e2e8dba046b5eef606c7
prerequisite-patch-id: f1f62fd5d83d603ca35c17071e615352e90753e3
prerequisite-patch-id: 1843bca37f83e494be67c24e975727fb1fe1248c
prerequisite-patch-id: 5cc0d6cd16ae2ab21c444ed9cabfeea5615e8cda
prerequisite-patch-id: 92a3fab6e4174a4d4877fc5b426752df81e4df39
prerequisite-patch-id: ebf3fd3a8bb02f7dc5cdf504f63d5028b29fe69e

Comments

Maxim Cournoyer Sept. 6, 2023, 5:25 a.m. UTC | #1
reopen 64957
quit

Hi,

[...]

> Sergio Pastor Pérez <sergio.pastorperez@outlook.es> writes:
>
>> * gnu/packages/fontutils.scm (fontmake): New variable.

I spoke too soon; the tests do not appear to run.  Here's an updated
package:

--8<---------------cut here---------------start------------->8---
(define-public fontmake
  (package
    (name "fontmake")
    (version "3.7.1")
    (source (origin
              (method url-fetch)
              (uri (pypi-uri "fontmake" version ".zip"))
              (sha256
               (base32
                "0ib7fvwgwazm7qfj4a3rkqkb40xfbj40rnvsmkvl2isg2ky3vg9m"))))
    (build-system pyproject-build-system)
    (inputs (list python-fontmath python-glyphslib))
    (native-inputs (list unzip pytest python-setuptools-scm))
    (home-page "https://github.com/googlefonts/fontmake")
    (synopsis
     "Compile fonts from sources (UFO, Glyphs) to binary (OpenType, TrueType)")
    (description
     "Fontmake compiles fonts from various sources (@code{.glyphs}, @code{.ufo},
@code{designspace}) into binaries (@code{.otf}, @code{.ttf}).  It can be used to
create static instances and variable fonts.")
    (license license:asl2.0)))
--8<---------------cut here---------------end--------------->8---

Unfortunately there are quite a few test failures to analyze.  Would
you be motivated to do so?  The end result would be a better package.
Sergio Pastor Pérez Sept. 6, 2023, 5:22 p.m. UTC | #2
Hi, again.

When I submitted the package I thought the checks where passing at least
it was building without errors for version 3.4.0.  I see that you are
using another build system and you updated the version. I'm trying your
patch out and I see the failures during the check phase.

At first sight I would not know how to fix any of this. I'm not very
experienced with python in general. If I find the problem I will send an
updated revision.

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> reopen 64957
> quit
>
> Hi,
>
> [...]
>
>> Sergio Pastor Pérez <sergio.pastorperez@outlook.es> writes:
>>
>>> * gnu/packages/fontutils.scm (fontmake): New variable.
>
> I spoke too soon; the tests do not appear to run.  Here's an updated
> package:
>
> --8<---------------cut here---------------start------------->8---
> (define-public fontmake
>   (package
>     (name "fontmake")
>     (version "3.7.1")
>     (source (origin
>               (method url-fetch)
>               (uri (pypi-uri "fontmake" version ".zip"))
>               (sha256
>                (base32
>                 "0ib7fvwgwazm7qfj4a3rkqkb40xfbj40rnvsmkvl2isg2ky3vg9m"))))
>     (build-system pyproject-build-system)
>     (inputs (list python-fontmath python-glyphslib))
>     (native-inputs (list unzip pytest python-setuptools-scm))
>     (home-page "https://github.com/googlefonts/fontmake")
>     (synopsis
>      "Compile fonts from sources (UFO, Glyphs) to binary (OpenType, TrueType)")
>     (description
>      "Fontmake compiles fonts from various sources (@code{.glyphs}, @code{.ufo},
> @code{designspace}) into binaries (@code{.otf}, @code{.ttf}).  It can be used to
> create static instances and variable fonts.")
>     (license license:asl2.0)))
> --8<---------------cut here---------------end--------------->8---
>
> Unfortunately there are quite a few test failures to analyze.  Would
> you be motivated to do so?  The end result would be a better package.
Maxim Cournoyer Sept. 6, 2023, 6:43 p.m. UTC | #3
Hi Sergio,

Sergio Pastor Pérez <sergio.pastorperez@outlook.es> writes:

> Hi, again.
>
> When I submitted the package I thought the checks where passing at least
> it was building without errors for version 3.4.0.  I see that you are
> using another build system and you updated the version. I'm trying your
> patch out and I see the failures during the check phase.
>
> At first sight I would not know how to fix any of this. I'm not very
> experienced with python in general. If I find the problem I will send an
> updated revision.

It's common for the PyPI archives to lack the tests files and/or for the
old build system (python-build-system) to not successfully run the test
suite and report success (which is what happens with 3.4.0 it seems).
So the package was "building" fine, but that doesn't mean much for
Python since it's interpreted -- running the test suite is important.

Often looking at what upstream does in their CI (github workflow for
example) can provide cues.  Or sometimes the test may try to access the
network.  Or sometimes they embed paths such as '/bin/sh' in the middle
of a file.  Or sometimes they need a writeable HOME, etc.

It's sometimes a bit of an effort to get the test suite going, but it's
what gives us confidence that it works well.
diff mbox series

Patch

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 153602b4b4..a9dafcba2b 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -510,6 +510,31 @@  (define-public python-ufo2ft
 to generate OpenType font binaries from Unified Font Objects (UFOs).")
     (license license:expat)))
 
+(define-public python-fontmake
+  (package
+    (name "python-fontmake")
+    (version "3.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "fontmake" version ".zip"))
+              (sha256
+               (base32
+                "0fc5c9csjpy1aa4c03p7nvjgls5wjplhmmf42n0cmvrlh6cm7wl3"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-attrs
+                             python-fontmath
+                             python-fonttools-minimal
+                             python-glyphslib
+                             python-ufo2ft
+                             python-ufolib2))
+    (native-inputs (list unzip python-setuptools-scm))
+    (home-page "https://github.com/googlei18n/fontmake")
+    (synopsis
+     "Compile fonts from sources (UFO, Glyphs) to binary (OpenType, TrueType)")
+    (description
+     "Fontmake compiles fonts from various sources (.glyphs, .ufo, designspace) into binaries (.otf, .ttf). You can use it to create static instances and variable fonts.")
+    (license license:asl2.0)))
+
 (define-public python-fontmath
   (package
     (name "python-fontmath")