summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-04-24 18:19:02 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-04-24 18:19:02 +0200
commit4affa9182d93c77505c40e95964b8ab9d436298b (patch)
tree0916671974652c25dcb21d91477836316cb091bb
parentf568581c2bfb3a7367442c9ccc23613c43f6f1e9 (diff)
downloadguix-4affa9182d93c77505c40e95964b8ab9d436298b.tar.gz
gnu: font-gnu-freefont: Build with an older version of FontForge.
Fixes <https://bugs.gnu.org/40819>.
Reported by Jack Hill <jackhill@jackhill.us>.

* gnu/packages/fontutils.scm (fontforge-20190801): New public variable.
* gnu/packages/fonts.scm (font-gnu-freefont)[native-inputs]: Change from
inherited FontForge variant to FONTFORGE-20190801.
-rw-r--r--gnu/packages/fonts.scm12
-rw-r--r--gnu/packages/fontutils.scm29
2 files changed, 33 insertions, 8 deletions
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 21423baefd..6e9b080299 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2016 Toni Reina <areina@riseup.net>
 ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
@@ -236,6 +236,8 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
 (define-public font-gnu-freefont
   (package
     (name "font-gnu-freefont")
+    ;; Note: Remove the special FontForge input and package once the 2020
+    ;; release is out.
     (version "20120503")
     (source (origin
              (method url-fetch)
@@ -289,12 +291,8 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
                                    (lambda (file) (string-suffix? "woff" file))
                                    (find-files "." "")))))))
        #:test-target "tests"))
-    ;; replace python 3 with python 2
-    ;; python 3 support commits aren't yet released in 20120503
-    ;; so freefont needs python 2 support in fontforge
-    (native-inputs `(("fontforge" ,(package (inherit fontforge)
-                                     (inputs `(("python-2" ,python-2)
-                                     ,@(package-inputs fontforge)))))))
+    ;; FreeFont anno 2012 requires a FontForge built with Python 2.
+    (native-inputs `(("fontforge" ,fontforge-20190801)))
     (home-page "https://www.gnu.org/software/freefont/")
     (synopsis "Unicode-encoded outline fonts")
     (description
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index a77cf9ebf0..d78811b2e8 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -60,7 +60,9 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
-  #:use-module (guix build-system meson))
+  #:use-module (guix build-system meson)
+  #:use-module (guix utils)
+  #:use-module (srfi srfi-1))
 
 (define-public freetype
   (package
@@ -640,6 +642,31 @@ generate bitmaps.")
    (license license:gpl3+)
    (home-page "https://fontforge.github.io")))
 
+;; This is the last version that supports Python 2, which is needed for
+;; GNU FreeFont.  Remove once no longer required.
+(define-public fontforge-20190801
+  (package
+    (inherit fontforge)
+    (version "20190801")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/fontforge/fontforge/releases/download/"
+                    version "/fontforge-" version ".tar.gz"))
+              (sha256
+               (base32 "0lh8yx01asbzxm6car5cfi64njh5p4lxc7iv8dldr5rwg357a86r"))))
+    (build-system gnu-build-system)
+    (arguments
+     (substitute-keyword-arguments (package-arguments fontforge)
+       ((#:configure-flags _)
+        ''())
+       ((#:phases phases)
+        `(modify-phases ,phases
+           (delete 'do-not-override-RPATH)))))
+    (inputs
+     `(("python" ,python-2)
+       ,@(alist-delete "python" (package-inputs fontforge))))))
+
 (define-public python2-ufolib
   (package
     (name "python2-ufolib")