;;; 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 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2017 ng0 <ng0@n0.is>
+;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages fonts)
#:use-module (gnu packages gettext)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#: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
(define-public ttfautohint
(package
(name "ttfautohint")
- (version "1.5")
+ (version "1.8.3")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "1lgghck46p33z3hg8dnl76jryig4fh6d8rhzms837zp7x4hyfkv4"))
- (patches (list (search-patch "ttfautohint-source-date-epoch.patch")))))
+ "0zpqgihn3yh3v51ynxwr8asqrijvs4gv686clwv7bm8sawr4kfw7"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)
`(("freetype" ,freetype)
("harfbuzz" ,harfbuzz)))
(arguments
- `(#:configure-flags '("--with-qt=no"))) ;no gui
+ `(#:configure-flags '("--disable-static"
+ "--with-qt=no"))) ;no gui
(synopsis "Automated font hinting")
(description
"ttfautohint provides a 99% automated hinting process and a platform for
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/wget/ttf2eot.git")
+ (url "https://github.com/wget/ttf2eot")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(package
(name "woff2")
(version "1.0.2")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/google/woff2.git")
- (commit (string-append "v" version))))
- (file-name (string-append name "-" version ".git"))
- (sha256
- (base32
- "13l4g536h0pr84ww4wxs2za439s0xp1va55g6l478rfbb1spp44y"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/google/woff2.git")
+ (commit (string-append "v" version))))
+ (file-name
+ (git-file-name name version))
+ (sha256
+ (base32 "13l4g536h0pr84ww4wxs2za439s0xp1va55g6l478rfbb1spp44y"))))
(build-system cmake-build-system)
+ (outputs '("out" "bin"))
+ (arguments
+ `(#:tests? #f ; No target
+ #:configure-flags
+ (list
+ (string-append "-DCMAKE_INSTALL_BINDIR="
+ (assoc-ref %outputs "bin")
+ "/bin")
+ (string-append "-DCMAKE_INSTALL_INCLUDEDIR="
+ (assoc-ref %outputs "out")
+ "/include")
+ (string-append "-DCMAKE_INSTALL_LIBDIR="
+ (assoc-ref %outputs "out")
+ "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ ;; To install both binaries and libraries.
+ (add-after 'unpack 'patch-installation
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("NOT BUILD_SHARED_LIBS")
+ "BUILD_SHARED_LIBS"))
+ #t)))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("google-brotli" ,google-brotli)))
- (arguments
- ;; package has no tests
- `(#:tests? #f
- ;; we can’t have both, shared libraries and binaries, so turn off the
- ;; former
- #:configure-flags (list "-DBUILD_SHARED_LIBS=OFF")))
- (synopsis "Compress TrueType fonts to WOFF2")
- (description
- "This package provides utilities for compressing/decompressing TrueType
-fonts to/from the WOFF2 format.")
- (license license:asl2.0)
- (home-page "https://github.com/google/woff2")))
+ `(("brotli" ,google-brotli)))
+ (synopsis "Libraries and tools for WOFF2 font format")
+ (description "WOFF2 provides libraires and tools to handle the Web Open
+Font Format (WOFF).")
+ (home-page "https://w3c.github.io/woff/woff2/")
+ (license license:expat)))
(define-public fontconfig
(package
(name "fontconfig")
+
+ ;; This replacement is not security-related, but works around the fact
+ ;; that gs-fonts are not recognized by newer versions of Pango, causing
+ ;; many applications to fail to find fonts otherwise.
+ (replacement fontconfig/font-dejavu)
+
(version "2.13.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.freedesktop.org/software/fontconfig/release/fontconfig-"
version ".tar.bz2"))
+ (patches (search-patches "fontconfig-hurd-path-max.patch"))
(sha256 (base32
"0hb700a68kk0ip51wdlnjjc682kvlrmb6q920mzajykdk0mdsmgn"))))
(build-system gnu-build-system)
"See COPYING in the distribution."))
(home-page "https://www.freedesktop.org/wiki/Software/fontconfig")))
+(define fontconfig/font-dejavu
+ (package
+ (inherit fontconfig)
+ (inputs
+ ;; XXX: Reuse the name to avoid having to override the configure flags.
+ `(("gs-fonts" ,font-dejavu)))))
+
(define-public t1lib
(package
(name "t1lib")
(define-public potrace
(package
(name "potrace")
- (version "1.15")
+ (version "1.16")
(source
(origin
(method url-fetch)
"/potrace-" version ".tar.gz"))
(sha256
(base32
- "17ajildjp14shsy339xarh1lw1p0k60la08ahl638a73mh23kcx9"))
- (patches (search-patches "potrace-tests.patch"))))
+ "1k3sxgjqq0jnpk9xxys05q32sl5hbf1lbk1gmfxcrmpdgnhli0my"))))
(build-system gnu-build-system)
(native-inputs `(("ghostscript" ,ghostscript))) ;for tests
(inputs `(("zlib" ,zlib)))
(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")
(version "20170925")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/googlei18n/nototools/"
- "archive/v2017-09-25-tooling-for-phase3-"
- "update.tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/googlei18n/nototools")
+ (commit "v2017-09-25-tooling-for-phase3-update")))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1pvacw18cm9l4sb66pqyjc7hc74xhhfxc7kd5ald8lixf4wzg0s8"))))
+ "03nzvcvwmrhfrcjhg218q2f3hfrm3vlivp4rk19sc397kh3hisiz"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(define-public fontmanager
(package
(name "fontmanager")
- (version "0.7.5")
+ (version "0.7.7")
(source
(origin
(method git-fetch)
(file-name (git-file-name name version))
(sha256
(base32
- "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g"))))
+ "1bzqvspplp1zj0n0869jqbc60wgbjhf0vdrn5bj8dfawxynh8s5f"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
(name "fntsample")
(version "5.3")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/eugmes/fntsample/archive/release/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/eugmes/fntsample")
+ (commit (string-append "release/" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0awp4dh1g40ivzvm5xqlvcpcdw1vplrx3drjmbylr62y185vbs74"))))
+ "02rx3gp7k472304vhjwb129nw10a29s4nvgs7i2m6bpjhlk2xgs5"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; There are no tests.