* gnu/packages/calendar.scm (libical), gnu/packages/check.scm (umockdev), gnu/packages/fontutils.scm (libraqm), gnu/packages/freedesktop.scm (appstream, farstream, libglib-testing) (udisks, libfprint, libportal), gnu/packages/geo.scm (memphis, osm-gps-map), gnu/packages/glib.scm (template-glib), gnu/packages/gnome.scm (gupnp-igd, libcloudproviders, libgrss, seed) (gtx, dee, zeitgeist, phodav, gssdp, gupnp, gupnp-dlna, gupnp-av, rygel) (libnma, gdl, libnotify, vte-ng, dconf, libxklavier, libsoup, colord) (geoclue, geocode-glib, amtk, grilo, gvfs, gusb, network-manager) (network-manager-applet, gfbgraph, libunique, cheese, libhandy) (gnome-latex, libgda), gnu/packages/gstreamer.scm (orc), gnu/packages/gtk.scm (at-spi2-core, goocanvas), gnu/packages/language.scm (nimf), gnu/packages/networking.scm (libnice), gnu/packages/video.scm (schroedinger), gnu/packages/virtualization.scm (libosinfo), gnu/packages/webkit.scm (wpewebkit, webkitgtk), gnu/packages/xml.scm (libxmlb)[native-inputs]: Replace 'gtk-doc' with 'gtk-doc/stable'.
		
			
				
	
	
		
			1014 lines
		
	
	
	
		
			40 KiB
		
	
	
	
		
			Scheme
		
	
	
	
	
	
			
		
		
	
	
			1014 lines
		
	
	
	
		
			40 KiB
		
	
	
	
		
			Scheme
		
	
	
	
	
	
| ;;; GNU Guix --- Functional package management for GNU
 | ||
| ;;; 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, 2020 Efraim Flashner <efraim@flashner.co.il>
 | ||
| ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
 | ||
| ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 | ||
| ;;; Copyright © 2017 Nikita <nikita@n0.is>
 | ||
| ;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 | ||
| ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 | ||
| ;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 | ||
| ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
 | ||
| ;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
 | ||
| ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 | ||
| ;;;
 | ||
| ;;; This file is part of GNU Guix.
 | ||
| ;;;
 | ||
| ;;; GNU Guix is free software; you can redistribute it and/or modify it
 | ||
| ;;; under the terms of the GNU General Public License as published by
 | ||
| ;;; the Free Software Foundation; either version 3 of the License, or (at
 | ||
| ;;; your option) any later version.
 | ||
| ;;;
 | ||
| ;;; GNU Guix is distributed in the hope that it will be useful, but
 | ||
| ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||
| ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | ||
| ;;; GNU General Public License for more details.
 | ||
| ;;;
 | ||
| ;;; You should have received a copy of the GNU General Public License
 | ||
| ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 | ||
| 
 | ||
| (define-module (gnu packages fontutils)
 | ||
|   #:use-module (gnu packages)
 | ||
|   #:use-module (gnu packages autotools)
 | ||
|   #:use-module (gnu packages bison)
 | ||
|   #:use-module (gnu packages build-tools)   ;for meson-0.55
 | ||
|   #:use-module (gnu packages check)
 | ||
|   #:use-module (gnu packages compression)
 | ||
|   #:use-module (gnu packages datastructures)
 | ||
|   #:use-module (gnu packages flex)
 | ||
|   #:use-module (gnu packages fonts)
 | ||
|   #:use-module (gnu packages freedesktop)
 | ||
|   #:use-module (gnu packages fribidi)
 | ||
|   #:use-module (gnu packages gcc)
 | ||
|   #:use-module (gnu packages gettext)
 | ||
|   #:use-module (gnu packages ghostscript)
 | ||
|   #:use-module (gnu packages glib)
 | ||
|   #:use-module (gnu packages gnome)
 | ||
|   #:use-module (gnu packages gperf)
 | ||
|   #:use-module (gnu packages gtk)
 | ||
|   #:use-module (gnu packages image)
 | ||
|   #:use-module (gnu packages linux)
 | ||
|   #:use-module (gnu packages man)
 | ||
|   #:use-module (gnu packages perl)
 | ||
|   #:use-module (gnu packages pkg-config)
 | ||
|   #:use-module (gnu packages python)
 | ||
|   #:use-module (gnu packages python-xyz)
 | ||
|   #:use-module (gnu packages sqlite)
 | ||
|   #:use-module (gnu packages webkit)
 | ||
|   #:use-module (gnu packages xdisorg)
 | ||
|   #:use-module (gnu packages xml)
 | ||
|   #:use-module (gnu packages xorg)
 | ||
|   #:use-module ((guix licenses) #:prefix license:)
 | ||
|   #:use-module (guix packages)
 | ||
|   #:use-module (guix download)
 | ||
|   #:use-module (guix svn-download)
 | ||
|   #:use-module (guix git-download)
 | ||
|   #: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 utils)
 | ||
|   #:use-module (srfi srfi-1))
 | ||
| 
 | ||
| (define-public freetype
 | ||
|   (package
 | ||
|    (name "freetype")
 | ||
|    (version "2.10.4")
 | ||
|    (source
 | ||
|     (origin
 | ||
|       (method url-fetch)
 | ||
|       (uri (string-append "mirror://savannah/freetype/freetype-"
 | ||
|                           version ".tar.xz"))
 | ||
|       (sha256
 | ||
|        (base32 "112pyy215chg7f7fmp2l9374chhhpihbh8wgpj5nj6avj3c59a46"))))
 | ||
|    (build-system gnu-build-system)
 | ||
|    (arguments
 | ||
|     ;; The use of "freetype-config" is deprecated, but other packages still
 | ||
|     ;; depend on it.
 | ||
|     `(#:configure-flags (list "--enable-freetype-config")))
 | ||
|    (native-inputs
 | ||
|     `(("pkg-config" ,pkg-config)))
 | ||
|    (propagated-inputs
 | ||
|     ;; These are all in the Requires.private field of freetype2.pc.
 | ||
|     ;; XXX: add harfbuzz.
 | ||
|     `(("libpng" ,libpng)
 | ||
|       ("zlib" ,zlib)))
 | ||
|    (synopsis "Font rendering library")
 | ||
|    (description
 | ||
|     "Freetype is a library that can be used by applications to access the
 | ||
| contents of font files.  It provides a uniform interface to access font files.
 | ||
| It supports both bitmap and scalable formats, including TrueType, OpenType,
 | ||
| Type1, CID, CFF, Windows FON/FNT, X11 PCF, and others.  It supports high-speed
 | ||
| anti-aliased glyph bitmap generation with 256 gray levels.")
 | ||
|    (license license:freetype)           ; some files have other licenses
 | ||
|    (home-page "https://www.freetype.org/")))
 | ||
| 
 | ||
| (define-public ttfautohint
 | ||
|   (package
 | ||
|     (name "ttfautohint")
 | ||
|     (version "1.8.3")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        (uri (string-append "mirror://savannah/freetype/ttfautohint-"
 | ||
|                            version ".tar.gz"))
 | ||
|        (sha256
 | ||
|         (base32
 | ||
|          "0zpqgihn3yh3v51ynxwr8asqrijvs4gv686clwv7bm8sawr4kfw7"))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (native-inputs
 | ||
|      `(("flex" ,flex)
 | ||
|        ("bison" ,bison)
 | ||
|        ("pkg-config" ,pkg-config)))
 | ||
|     (inputs
 | ||
|      `(("freetype" ,freetype)
 | ||
|        ("harfbuzz" ,harfbuzz)))
 | ||
|     (arguments
 | ||
|      `(#: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
 | ||
| finely hand-hinting the last 1%.  It is ideal for web fonts and supports many
 | ||
| scripts.")
 | ||
|     (license (list license:gpl2+ license:freetype)) ;choose one or the other
 | ||
|     (home-page "https://www.freetype.org/ttfautohint/")))
 | ||
| 
 | ||
| (define-public woff-tools
 | ||
|   (package
 | ||
|     (name "woff-tools")
 | ||
|     (version "2009.10.04")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        ;; Upstream source is unversioned, so use Debian's versioned tarball
 | ||
|        (uri (string-append "mirror://debian/pool/main/w/woff-tools/"
 | ||
|                            "woff-tools_" version ".orig.tar.gz"))
 | ||
|        (file-name (string-append name "-" version ".tar.gz"))
 | ||
|        (sha256
 | ||
|         (base32
 | ||
|          "1i97gkqa6jfzlslsngqf556kx60knlgf7yc9pzsq2pizc6f0d4zl"))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (inputs
 | ||
|      `(("zlib" ,zlib)))
 | ||
|     (arguments
 | ||
|      `(#:make-flags '(,(string-append "CC=" (cc-for-target)))
 | ||
|        #:tests? #f                      ;no tests
 | ||
|        #:phases
 | ||
|        (modify-phases %standard-phases
 | ||
|          (delete 'configure)            ;no configuration
 | ||
|          (replace 'install
 | ||
|            (lambda* (#:key outputs #:allow-other-keys)
 | ||
|              (let* ((out (assoc-ref outputs "out"))
 | ||
|                     (bin (string-append out "/bin")))
 | ||
|                (install-file "sfnt2woff" bin)
 | ||
|                (install-file "woff2sfnt" bin))
 | ||
|              #t)))))
 | ||
|     (synopsis "Convert between OpenType and WOFF fonts")
 | ||
|     (description
 | ||
|      "This package provides two tools:
 | ||
| @table @code
 | ||
| @item sfnt2woff
 | ||
| Converts OpenType fonts to WOFF fonts
 | ||
| @item woff2sfnt
 | ||
| Converts WOFF fonts to OpenType fonts
 | ||
| @end table")
 | ||
|     (license (list license:mpl1.1 license:gpl2+ license:lgpl2.1+))
 | ||
|     (home-page "https://people.mozilla.com/~jkew/woff/")))
 | ||
| 
 | ||
| (define-public ttf2eot
 | ||
|   (package
 | ||
|     (name "ttf2eot")
 | ||
|     (version "0.0.3")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method git-fetch)
 | ||
|        (uri (git-reference
 | ||
|              (url "https://github.com/wget/ttf2eot")
 | ||
|              (commit (string-append "v" version))))
 | ||
|        (file-name (git-file-name name version))
 | ||
|        (sha256
 | ||
|         (base32
 | ||
|          "0l2yh2ialx7135pjzhjs204kk3br7zxjr09zwaia493by2adzigr"))
 | ||
|        (patches (list (search-patch "ttf2eot-cstddef.patch")))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (arguments
 | ||
|      `(#:tests? #f                      ; no tests
 | ||
|        #:phases
 | ||
|        (modify-phases %standard-phases
 | ||
|          (delete 'configure)            ; no configuration
 | ||
|          (replace 'install              ; no install target
 | ||
|            (lambda* (#:key outputs #:allow-other-keys)
 | ||
|              (let* ((out (assoc-ref outputs "out"))
 | ||
|                     (bin (string-append out "/bin")))
 | ||
|                (install-file "ttf2eot" bin)
 | ||
|                #t))))))
 | ||
|     (synopsis "Convert from TrueType to Embeddable Open Type")
 | ||
|     (description
 | ||
|      "This package contains a commandline wrapper around OpenTypeUtilities.cpp
 | ||
| from Chromium, used to make EOT (Embeddable Open Type) files from
 | ||
| TTF (TrueType/OpenType Font) files.")
 | ||
|     ;; While the README states "License: Derived from WebKit, so BSD/LGPL
 | ||
|     ;; 2/LGPL 2.1", the single derived source file includes only BSD in its
 | ||
|     ;; license header, and the wrapper source contains no license header.
 | ||
|     (license license:bsd-2)
 | ||
|     (home-page "https://github.com/wget/ttf2eot")))
 | ||
| 
 | ||
| (define-public ttf2pt1
 | ||
|   (package
 | ||
|     (name "ttf2pt1")
 | ||
|     (version "3.4.4")
 | ||
|     (source (origin
 | ||
|               (method url-fetch)
 | ||
|               (uri (string-append "mirror://sourceforge/ttf2pt1/ttf2pt1/"
 | ||
|                                   version "/ttf2pt1-" version ".tgz"))
 | ||
|               (sha256
 | ||
|                (base32
 | ||
|                 "1l718n4k4widx49xz7qrj4mybzb8q67kp2jw7f47604ips4654mf"))
 | ||
|               (modules '((guix build utils)))
 | ||
|               (snippet
 | ||
|                '(begin
 | ||
|                   ;; Remove trailing backslashes in the sed expression of the
 | ||
|                   ;; 'install' rule since sed would otherwise fail.
 | ||
|                   (substitute* "Makefile"
 | ||
|                     (("\\|;\\\\[[:space:]]*$") "|; "))
 | ||
|                   #t))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (arguments
 | ||
|      '(#:tests? #f                                ;no tests
 | ||
|        #:phases (modify-phases %standard-phases
 | ||
|                   (replace 'configure
 | ||
|                     (lambda* (#:key outputs #:allow-other-keys)
 | ||
|                       (let ((out (assoc-ref outputs "out")))
 | ||
|                         (substitute* "Makefile"
 | ||
|                           (("INSTDIR =.*")
 | ||
|                            (string-append "INSTDIR = " out "\n"))
 | ||
|                           (("OWNER = .*")
 | ||
|                            "OWNER = `id -un`\n")
 | ||
|                           (("GROUP = .*")
 | ||
|                            "GROUP = `id -g`\n"))
 | ||
|                         #t)))
 | ||
|                   (replace 'build
 | ||
|                     (lambda _
 | ||
|                       (invoke "make" "-j"
 | ||
|                               (number->string (parallel-job-count))
 | ||
|                               "all" "CC=gcc"))))))
 | ||
|     (inputs `(("perl" ,perl)))
 | ||
|     (synopsis "Convert TrueType fonts to Postscript Type 1")
 | ||
|     (description
 | ||
|      "TTF2PT1 provides tools to convert most TrueType fonts (or other formats
 | ||
| supported by the FreeType library) to an Adobe Type 1 @file{.pfa} or
 | ||
| @file{.pfb} file.  Another use is as a hinting engine: feed it an unhinted or
 | ||
| poorly hinted Adobe Type 1 font through the FreeType library and get it back
 | ||
| with freshly generated hints.  The files produced by default are in
 | ||
| human-readable form, which further needs to be encoded with t1utilities to
 | ||
| work with most software requiring Type 1 fonts.")
 | ||
|     (home-page "http://ttf2pt1.sourceforge.net/")
 | ||
|     (license license:bsd-3)))
 | ||
| 
 | ||
| (define-public woff2
 | ||
|   (package
 | ||
|     (name "woff2")
 | ||
|     (version "1.0.2")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method git-fetch)
 | ||
|        (uri
 | ||
|         (git-reference
 | ||
|          (url "https://github.com/google/woff2")
 | ||
|          (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
 | ||
|      `(("brotli" ,google-brotli)))
 | ||
|     (synopsis "Libraries and tools for WOFF2 font format")
 | ||
|     (description "WOFF2 provides libraries 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")
 | ||
|    (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)
 | ||
|    ;; In Requires or Requires.private of fontconfig.pc.
 | ||
|    (propagated-inputs `(("expat" ,expat)
 | ||
|                         ("freetype" ,freetype)
 | ||
|                         ("libuuid" ,util-linux "lib")))
 | ||
|    (inputs
 | ||
|     ;; We use to use 'gs-fonts' but they are not recognized by newer versions
 | ||
|     ;; of Pango, causing many applications to fail to find fonts otherwise.
 | ||
|     `(("font-dejavu" ,font-dejavu)))
 | ||
|    (native-inputs
 | ||
|     `(("gperf" ,gperf)
 | ||
|       ("pkg-config" ,pkg-config)))
 | ||
|    (arguments
 | ||
|     `(#:configure-flags
 | ||
|       (list "--with-cache-dir=/var/cache/fontconfig"
 | ||
|             ;; register the default fonts
 | ||
|             (string-append "--with-default-fonts="
 | ||
|                            (assoc-ref %build-inputs "font-dejavu")
 | ||
|                            "/share/fonts")
 | ||
| 
 | ||
|             ;; Register fonts from user and system profiles.
 | ||
|             (string-append "--with-add-fonts="
 | ||
|                            "~/.guix-profile/share/fonts,"
 | ||
|                            "/run/current-system/profile/share/fonts")
 | ||
| 
 | ||
|             ;; python is not actually needed
 | ||
|             "PYTHON=false")
 | ||
|       #:phases
 | ||
|       (modify-phases %standard-phases
 | ||
|         (replace 'install
 | ||
|                  (lambda _
 | ||
|                    ;; Don't try to create /var/cache/fontconfig.
 | ||
|                    (invoke "make" "install"
 | ||
|                            "fc_cachedir=$(TMPDIR)"
 | ||
|                            "RUN_FC_CACHE_TEST=false"))))))
 | ||
|    (synopsis "Library for configuring and customizing font access")
 | ||
|    (description
 | ||
|     "Fontconfig can discover new fonts when installed automatically;
 | ||
| perform font name substitution, so that appropriate alternative fonts can
 | ||
| be selected if fonts are missing;
 | ||
| identify the set of fonts required to completely cover a set of languages;
 | ||
| have GUI configuration tools built as it uses an XML-based configuration file;
 | ||
| efficiently and quickly find needed fonts among the set of installed fonts;
 | ||
| be used in concert with the X Render Extension and FreeType to implement
 | ||
| high quality, anti-aliased and subpixel rendered text on a display.")
 | ||
|    ; The exact license is more X11-style than BSD-style.
 | ||
|    (license (license:non-copyleft "file://COPYING"
 | ||
|                        "See COPYING in the distribution."))
 | ||
|    (home-page "https://www.freedesktop.org/wiki/Software/fontconfig")))
 | ||
| 
 | ||
| (define-public t1lib
 | ||
|   (package
 | ||
|    (name "t1lib")
 | ||
|    (version "5.1.2")
 | ||
|    (source (origin
 | ||
|             (method url-fetch)
 | ||
|             (uri (list (string-append "ftp://sunsite.unc.edu/pub/Linux/libs/"
 | ||
|                                       "graphics/" name "-" version ".tar.gz")
 | ||
|                        (string-append "https://fossies.org/linux/misc/old/"
 | ||
|                                       name "-" version ".tar.gz")))
 | ||
|             (sha256 (base32
 | ||
|                      "0nbvjpnmcznib1nlgg8xckrmsw3haa154byds2h90y2g0nsjh4w2"))
 | ||
|             (patches (search-patches
 | ||
|                        "t1lib-CVE-2010-2642.patch" ; 2011-0443, 2011-5244
 | ||
|                        "t1lib-CVE-2011-0764.patch"
 | ||
|                        "t1lib-CVE-2011-1552+.patch")))) ; 2011-1553, 2011-1554
 | ||
|    (properties `((lint-hidden-cve . ("CVE-2011-0433"
 | ||
|                                      "CVE-2011-1553"
 | ||
|                                      "CVE-2011-1554"
 | ||
|                                      "CVE-2011-5244"))))
 | ||
|    (build-system gnu-build-system)
 | ||
|    (arguments
 | ||
|     ;; Making the documentation requires latex, but t1lib is also an input
 | ||
|     ;; for building texlive.
 | ||
|     `(#:tests? #f ; no test target
 | ||
|       #:make-flags
 | ||
|       '("without_doc")))
 | ||
|    (synopsis "Library for generating bitmaps from Type 1 fonts")
 | ||
|    (description
 | ||
|     "T1lib is a library for generating/rasterising bitmaps from Type 1 fonts.
 | ||
| It is based on the code of the X11 rasteriser of the X11 project.
 | ||
| 
 | ||
| The bitmaps created by t1lib are returned in a data structure with type
 | ||
| GLYPH.  This special GLYPH-type is also used in the X11 window system to
 | ||
| describe character bitmaps.  It contains the bitmap data as well as some
 | ||
| metric information.  But t1lib is in itself entirely independent of the
 | ||
| X11-system or any other graphical user interface.")
 | ||
|    (license license:gpl2)
 | ||
|    (home-page "https://www.t1lib.org/")))
 | ||
| 
 | ||
| (define-public teckit
 | ||
|   (package
 | ||
|     (name "teckit")
 | ||
|     (version "2.5.9")                   ;signed by key 0xC9183BEA0288CDEE
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        (uri (string-append "https://github.com/silnrsi/teckit/releases/"
 | ||
|                            "download/v" version "/teckit-" version ".tar.gz"))
 | ||
|        (sha256
 | ||
|         (base32 "0gbxyip4wdibirdg2pvzayzyy927vxyd6dfyfiflx8zg88qzn8v8"))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (arguments
 | ||
|      '(#:configure-flags '("--disable-static")))
 | ||
|     (inputs
 | ||
|      `(("zlib" ,zlib)
 | ||
|        ("expat" ,expat)))
 | ||
|     (native-inputs
 | ||
|      `(("perl" ,perl)))                 ;for the tests
 | ||
|     (synopsis "Toolkit for encoding conversions")
 | ||
|     (description
 | ||
|      "TECkit is a low-level toolkit intended to be used by other applications
 | ||
| that need to perform encoding conversions (e.g., when importing legacy data
 | ||
| into a Unicode-based application).  The primary component of the TECkit
 | ||
| package is therefore a library that performs conversions; this is the
 | ||
| \"TECkit engine\".  The engine relies on mapping tables in a specific binary
 | ||
| format (for which documentation is available); there is a compiler that
 | ||
| creates such tables from a human-readable mapping description (a simple
 | ||
| text file).
 | ||
| 
 | ||
| To facilitate the development and testing of mapping tables for TECkit,
 | ||
| several applications are also included in the current package; these
 | ||
| include simple tools for applying conversions to plain-text and Standard
 | ||
| Format files, as well as both command-line and simple GUI versions of the
 | ||
| TECkit compiler.  However, it is not intended that these tools will be the
 | ||
| primary means by which end users perform conversions, and they have not
 | ||
| been designed, tested, and debugged to the extent that general-purpose
 | ||
| applications should be.")
 | ||
|     (license license:lgpl2.1+)
 | ||
|     (home-page "https://scripts.sil.org/cms/scripts/page.php?cat_id=teckit")))
 | ||
| 
 | ||
| (define-public graphite2
 | ||
|   (package
 | ||
|    (name "graphite2")
 | ||
|    (version "1.3.13")
 | ||
|    (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        (uri (string-append "https://github.com/silnrsi/graphite/releases/"
 | ||
|                            "download/" version "/" name "-" version ".tgz"))
 | ||
|        (sha256
 | ||
|         (base32
 | ||
|          "01jzhwnj1c3d68dmw15jdxly0hwkmd8ja4kw755rbkykn1ly2qyx"))))
 | ||
|    (build-system cmake-build-system)
 | ||
|    (arguments
 | ||
|     `(#:phases (modify-phases %standard-phases
 | ||
|                  (add-after 'unpack 'adjust-test-PYTHONPATH
 | ||
|                    (lambda _
 | ||
|                      ;; Tell the build system not to override PYTHONPATH
 | ||
|                      ;; while running the Python tests.
 | ||
|                      (substitute* "Graphite.cmake"
 | ||
|                        (("ENVIRONMENT PYTHONPATH=")
 | ||
|                         (string-append "ENVIRONMENT PYTHONPATH="
 | ||
|                                        (getenv "PYTHONPATH") ":")))
 | ||
|                      #t)))))
 | ||
|    (native-inputs
 | ||
|     `(("python" ,python)
 | ||
|       ("python-fonttools" ,python-fonttools)))
 | ||
|    (inputs
 | ||
|     `(("freetype" ,freetype)))
 | ||
|    (synopsis "Reimplementation of the SIL Graphite text processing engine")
 | ||
|    (description
 | ||
|     "Graphite2 is a reimplementation of the SIL Graphite text processing
 | ||
| engine.  Graphite is a smart font technology designed to facilitate the
 | ||
| process known as shaping.  This process takes an input Unicode text string
 | ||
| and returns a sequence of positioned glyphids from the font.")
 | ||
|    (license license:lgpl2.1+)
 | ||
|    (home-page "https://github.com/silnrsi/graphite")))
 | ||
| 
 | ||
| (define-public potrace
 | ||
|   (package
 | ||
|     (name "potrace")
 | ||
|     (version "1.16")
 | ||
|     (source
 | ||
|      (origin
 | ||
|       (method url-fetch)
 | ||
|       (uri (string-append "mirror://sourceforge/potrace/" version
 | ||
|                           "/potrace-" version ".tar.gz"))
 | ||
|       (sha256
 | ||
|        (base32
 | ||
|         "1k3sxgjqq0jnpk9xxys05q32sl5hbf1lbk1gmfxcrmpdgnhli0my"))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (native-inputs `(("ghostscript" ,ghostscript))) ;for tests
 | ||
|     (inputs `(("zlib" ,zlib)))
 | ||
|     (arguments
 | ||
|      `(#:configure-flags
 | ||
|       `("--with-libpotrace"))) ; install library and headers
 | ||
|     (synopsis "Transform bitmaps into vector graphics")
 | ||
|     (description
 | ||
|      "Potrace is a tool for tracing a bitmap, which means, transforming a
 | ||
| bitmap into a smooth, scalable image.  The input is a bitmap (PBM, PGM, PPM,
 | ||
| or BMP format), and the default output is an encapsulated PostScript
 | ||
| file (EPS).  A typical use is to create EPS files from scanned data, such as
 | ||
| company or university logos, handwritten notes, etc.  The resulting image is
 | ||
| not \"jaggy\" like a bitmap, but smooth.  It can then be rendered at any
 | ||
| resolution.")
 | ||
|     (license license:gpl2+)
 | ||
|     (home-page "http://potrace.sourceforge.net/")))
 | ||
| 
 | ||
| (define-public libotf
 | ||
|   (package
 | ||
|     (name "libotf")
 | ||
|     (version "0.9.16")
 | ||
|     (source (origin
 | ||
|               (method url-fetch)
 | ||
|               (uri (string-append "mirror://savannah/m17n/libotf-"
 | ||
|                                   version ".tar.gz"))
 | ||
|               (sha256
 | ||
|                (base32 "0sq6g3xaxw388akws6qrllp3kp2sxgk2dv4j79k6mm52rnihrnv8"))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (native-inputs
 | ||
|      `(("pkg-config" ,pkg-config)))
 | ||
|     (propagated-inputs
 | ||
|      `(("freetype" ,freetype)))
 | ||
|     (home-page "https://www.nongnu.org/m17n/")
 | ||
|     (synopsis "Library for handling OpenType Font")
 | ||
|     (description "This library can read Open Type Layout Tables from an OTF
 | ||
| file.  Currently these tables are supported; head, name, cmap, GDEF, GSUB, and
 | ||
| GPOS.  It can convert a Unicode character sequence to a glyph code sequence by
 | ||
| using the above tables.")
 | ||
|     (license license:lgpl2.0+)))
 | ||
| 
 | ||
| (define-public libspiro
 | ||
|   (package
 | ||
|     (name "libspiro")
 | ||
|     (version "20200505")
 | ||
|     (source
 | ||
|      (origin
 | ||
|       (method url-fetch)
 | ||
|       (uri (string-append "https://github.com/fontforge/libspiro/releases"
 | ||
|                           "/download/" version "/libspiro-dist-" version ".tar.gz"))
 | ||
|       (sha256
 | ||
|        (base32
 | ||
|         "0j8fmyj4wz6mqk17dqs6f8jx0i52n68gv5px17qbrjnbilg9mih6"))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (arguments
 | ||
|      '(#:configure-flags '("--disable-static")))
 | ||
|     (synopsis "Clothoid to bezier conversion library")
 | ||
|     (description
 | ||
|      "Raph Levien's Spiro package as a library.  A mechanism for drawing
 | ||
| smooth contours with constant curvature at the spline joins.")
 | ||
|     (license license:gpl2+)
 | ||
|     (home-page "http://libspiro.sourceforge.net/")))
 | ||
| 
 | ||
| (define-public libuninameslist
 | ||
|   (package
 | ||
|     (name "libuninameslist")
 | ||
|     (version "20200313")
 | ||
|     (home-page "https://github.com/fontforge/libuninameslist")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        (uri (string-append home-page "/releases/download/" version
 | ||
|                            "/libuninameslist-dist-" version ".tar.gz"))
 | ||
|        (sha256
 | ||
|         (base32
 | ||
|          "10ri80c64xb4rhbif3sr87y5vhi3m702zb0m02imvj1jib9rq0m8"))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (synopsis "Unicode names and annotation list")
 | ||
|     (description
 | ||
|      "LibUniNamesList holds www.unicode.org Nameslist.txt data which can be
 | ||
| useful for programs that need Unicode \"Names\", \"Annotations\", and block
 | ||
| definitions.")
 | ||
|     ;; COPYING specifies GPL2, but according to LICENSE it only covers the
 | ||
|     ;; configure script.  The actual code is BSD-3, and the Unicode data
 | ||
|     ;; is governed by an X11-style license only found on the web.
 | ||
|     (license (list license:bsd-3
 | ||
|                    (license:x11-style
 | ||
|                     "https://www.unicode.org/copyright.html#License")))))
 | ||
| 
 | ||
| (define-public fontforge
 | ||
|   (package
 | ||
|    (name "fontforge")
 | ||
|    (version "20200314")
 | ||
|    (source (origin
 | ||
|             (method url-fetch)
 | ||
|             (uri (string-append
 | ||
|                   "https://github.com/fontforge/fontforge/releases/download/"
 | ||
|                   version "/fontforge-" version ".tar.xz"))
 | ||
|             (sha256
 | ||
|              (base32 "0qf88wd6riycq56d24brybyc93ns74s0nyyavm43zp2kfcihn6fd"))))
 | ||
|    (build-system cmake-build-system)
 | ||
|    (native-inputs
 | ||
|     `(("pkg-config" ,pkg-config)))
 | ||
|    (inputs `(("cairo"           ,cairo)
 | ||
|              ("fontconfig"      ,fontconfig) ;dlopen'd
 | ||
|              ("freetype"        ,freetype)
 | ||
|              ("gettext"         ,gettext-minimal)
 | ||
|              ("libICE"          ,libice)
 | ||
|              ("libSM"           ,libsm)
 | ||
|              ("libX11"          ,libx11)
 | ||
|              ("libXi"           ,libxi)
 | ||
|              ("libjpeg"         ,libjpeg-turbo)
 | ||
|              ("libltdl"         ,libltdl)
 | ||
|              ("libpng"          ,libpng)
 | ||
|              ("libspiro"        ,libspiro)
 | ||
|              ("libtiff"         ,libtiff)
 | ||
|              ("libungif"        ,libungif)
 | ||
|              ("libuninameslist" ,libuninameslist)
 | ||
|              ("libxft"          ,libxft)
 | ||
|              ("libxml2"         ,libxml2)
 | ||
|              ("pango"           ,pango)
 | ||
|              ("potrace"         ,potrace)
 | ||
|              ("python"          ,python)
 | ||
|              ("zlib"            ,zlib)))
 | ||
|    (arguments
 | ||
|     '(#:configure-flags '(;; TODO: Provide GTK+ for the Wayland-friendly GDK
 | ||
|                           ;; backend, instead of the legacy X11 backend.
 | ||
|                           ;; Currently it introduces a circular dependency.
 | ||
|                           "-DENABLE_X11=ON")
 | ||
|       #:phases
 | ||
|       (modify-phases %standard-phases
 | ||
|         (add-after 'unpack 'do-not-override-RPATH
 | ||
|           (lambda _
 | ||
|             ;; Do not attempt to set a default RPATH, as our ld-wrapper
 | ||
|             ;; already does the right thing.
 | ||
|             (substitute* "CMakeLists.txt"
 | ||
|               (("^set_default_rpath\\(\\)")
 | ||
|                ""))
 | ||
|             #t))
 | ||
|         (add-after 'install 'set-library-path
 | ||
|           (lambda* (#:key inputs outputs #:allow-other-keys)
 | ||
|             (let ((out (assoc-ref outputs "out"))
 | ||
|                   (potrace (string-append (assoc-ref inputs "potrace") "/bin")))
 | ||
|               (wrap-program (string-append out "/bin/fontforge")
 | ||
|                 ;; Fontforge dynamically opens libraries.
 | ||
|                 `("LD_LIBRARY_PATH" ":" prefix
 | ||
|                   ,(map (lambda (input)
 | ||
|                           (string-append (assoc-ref inputs input)
 | ||
|                                          "/lib"))
 | ||
|                         '("libtiff" "libjpeg" "libpng" "libungif"
 | ||
|                           "libxml2" "zlib" "libspiro" "freetype"
 | ||
|                           "pango" "cairo" "fontconfig")))
 | ||
|                 ;; Checks for potrace program at runtime
 | ||
|                 `("PATH" ":" prefix (,potrace)))
 | ||
|               #t))))))
 | ||
|    (synopsis "Outline font editor")
 | ||
|    (description
 | ||
|     "FontForge allows you to create and modify postscript, truetype and
 | ||
| opentype fonts.  You can save fonts in many different outline formats, and
 | ||
| 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")
 | ||
|     (version "2.1.1")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        (uri (pypi-uri "ufoLib" version ".zip"))
 | ||
|        (sha256
 | ||
|         (base32 "07qy6mx7z0wi9a30lc2hj5i9q1gnz1n8l40dmjz2c19mj9s6mz9l"))))
 | ||
|     (build-system python-build-system)
 | ||
|     (arguments
 | ||
|      `(#:python ,python-2))
 | ||
|     (propagated-inputs
 | ||
|      `(("python2-fonttools" ,python2-fonttools)))
 | ||
|     (native-inputs
 | ||
|      `(("unzip" ,unzip)
 | ||
|        ("python2-pytest" ,python2-pytest)
 | ||
|        ("python2-pytest-runner" ,python2-pytest-runner)))
 | ||
|     (home-page "https://github.com/unified-font-object/ufoLib")
 | ||
|     (synopsis "Low-level UFO reader and writer")
 | ||
|     (description
 | ||
|      "UfoLib reads and writes Unified Font Object (UFO)
 | ||
| files.  UFO is a file format that stores fonts source files.")
 | ||
|     (license license:bsd-3)))
 | ||
| 
 | ||
| (define-public python2-defcon
 | ||
|   (package
 | ||
|     (name "python2-defcon")
 | ||
|     (version "0.3.5")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        (uri (pypi-uri "defcon" version ".zip"))
 | ||
|        (sha256
 | ||
|         (base32
 | ||
|          "03jlm2gy9lvbwj68kfdm43yaddwd634jwkdg4wf0jxx2s8mwbg22"))))
 | ||
|     (build-system python-build-system)
 | ||
|     (arguments
 | ||
|      `(#:python ,python-2))
 | ||
|     (native-inputs
 | ||
|      `(("unzip" ,unzip)
 | ||
|        ("python2-pytest" ,python2-pytest)
 | ||
|        ("python2-pytest-runner" ,python2-pytest-runner)))
 | ||
|     (propagated-inputs
 | ||
|      `(("python2-fonttools" ,python2-fonttools)
 | ||
|        ("python2-ufolib" ,python2-ufolib)))
 | ||
|     (home-page "https://pypi.org/project/defcon/")
 | ||
|     (synopsis "Flexible objects for representing @acronym{UFO, unified font object} data")
 | ||
|     (description
 | ||
|      "Defcon is a set of @acronym{UFO, unified font object} based objects
 | ||
| optimized for use in font editing applications.  The objects are built to
 | ||
| be lightweight, fast and flexible.  The objects are very bare-bones and
 | ||
| they are not meant to be end-all, be-all objects.  Rather, they are meant
 | ||
| to provide base functionality so that you can focus on your application’s
 | ||
| behavior, not object observing or maintaining cached data.  Defcon
 | ||
| implements UFO3 as described by the UFO font format.")
 | ||
|     (license license:expat)))
 | ||
| 
 | ||
| (define-public nototools
 | ||
|   (package
 | ||
|     (name "nototools")
 | ||
|     (version "20170925")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (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
 | ||
|          "03nzvcvwmrhfrcjhg218q2f3hfrm3vlivp4rk19sc397kh3hisiz"))))
 | ||
|     (build-system python-build-system)
 | ||
|     (arguments
 | ||
|      `(#:python ,python-2))
 | ||
|     (propagated-inputs
 | ||
|      `(("python2-booleanoperations" ,python2-booleanoperations)
 | ||
|        ("python2-defcon" ,python2-defcon)
 | ||
|        ("python2-fonttools" ,python2-fonttools)
 | ||
|        ("python2-pillow" ,python2-pillow)
 | ||
|        ("python2-pyclipper" ,python2-pyclipper)
 | ||
|        ("python2-ufolib" ,python2-ufolib)))
 | ||
|     (home-page "https://github.com/googlei18n/nototools")
 | ||
|     (synopsis "Noto fonts support tools and scripts")
 | ||
|     (description
 | ||
|      "Nototools is a Python package containing Python scripts used to
 | ||
| maintain the Noto Fonts project.")
 | ||
|     (license (list license:asl2.0
 | ||
|                    ;; Sample texts are attributed to UN and OHCHR.
 | ||
|                    ;; The permissions on the UDHR are pretty lax:
 | ||
|                    ;; http://www.ohchr.org/EN/UDHR/Pages/Introduction.aspx
 | ||
|                    ;; "If UDHR translations or materials are reproduced, users
 | ||
|                    ;; should make reference to this website as a source by
 | ||
|                    ;; providing a link."
 | ||
|                    license:public-domain
 | ||
|                    (license:non-copyleft
 | ||
|                     "file://sample_texts/attributions.txt"
 | ||
|                     "See sample_texts/attributions.txt in the distribution.")))))
 | ||
| 
 | ||
| (define-public fcft
 | ||
|   (package
 | ||
|     (name "fcft")
 | ||
|     (version "2.3.2")
 | ||
|     (home-page "https://codeberg.org/dnkl/fcft")
 | ||
|     (source (origin
 | ||
|               (method git-fetch)
 | ||
|               (uri (git-reference (url home-page) (commit version)))
 | ||
|               (file-name (git-file-name name version))
 | ||
|               (sha256
 | ||
|                (base32
 | ||
|                 "0k2i57rakm4g86f7hbhkby8af0vv7v63a70lk3m58mkycpy5q2rm"))))
 | ||
|     (build-system meson-build-system)
 | ||
|     (arguments
 | ||
|      `(#:meson ,meson-0.55))
 | ||
|     (native-inputs
 | ||
|      `(("check" ,check)
 | ||
|        ("gcc" ,gcc-10)    ;TODO: Remove when the default compiler is > GCC 7.
 | ||
|        ("pkg-config" ,pkg-config)
 | ||
|        ("scdoc" ,scdoc)))
 | ||
|     (propagated-inputs
 | ||
|      `(;; Required by fcft.pc.
 | ||
|        ("fontconfig" ,fontconfig)
 | ||
|        ("freetype" ,freetype)
 | ||
|        ("harfbuzz" ,harfbuzz)
 | ||
|        ("pixman" ,pixman)
 | ||
|        ("tllist" ,tllist)))
 | ||
|     (synopsis "Font loading and glyph rasterization library")
 | ||
|     (description
 | ||
|      "@code{fcft} is a small font loading and glyph rasterization library
 | ||
| built on-top of FontConfig, FreeType2 and pixman.
 | ||
| 
 | ||
| It can load and cache fonts from a fontconfig-formatted name string, e.g.
 | ||
| @code{Monospace:size=12}, optionally with user configured fallback fonts.
 | ||
| 
 | ||
| After a font has been loaded, you can rasterize glyphs.  When doing so, the
 | ||
| primary font is first considered.  If it does not have the requested glyph,
 | ||
| the user configured fallback fonts (if any) are considered.  If none of the
 | ||
| user configured fallback fonts has the requested glyph, the FontConfig
 | ||
| generated list of fallback fonts are checked.")
 | ||
|     ;; The code is distributed under the Expat license, but embeds Unicode
 | ||
|     ;; data files carrying the Unicode license.
 | ||
|     (license (list license:expat license:unicode))))
 | ||
| 
 | ||
| (define-public fontmanager
 | ||
|   (package
 | ||
|    (name "fontmanager")
 | ||
|    (version "0.8.4")
 | ||
|    (source
 | ||
|     (origin
 | ||
|       (method git-fetch)
 | ||
|       (uri (git-reference
 | ||
|             (url "https://github.com/FontManager/font-manager")
 | ||
|             (commit version)))
 | ||
|       (file-name (git-file-name name version))
 | ||
|       (sha256
 | ||
|        (base32
 | ||
|         "09rv0srpj8ann2n1zpv1frlpxz0x10d2y21c5lys7pmfngljlxi9"))))
 | ||
|    (build-system meson-build-system)
 | ||
|    (arguments
 | ||
|     `(#:glib-or-gtk? #t
 | ||
|       #:build-type "release"
 | ||
|       #:configure-flags
 | ||
|       (list (string-append "-Dc_link_args=-Wl,-rpath="
 | ||
|                            (assoc-ref %outputs "out")
 | ||
|                            "/lib/font-manager"))))
 | ||
|    (native-inputs
 | ||
|     `(("desktop-file-utils" ,desktop-file-utils)
 | ||
|       ("gettext" ,gettext-minimal)
 | ||
|       ("glib" ,glib "bin")
 | ||
|       ("gobject-introspection" ,gobject-introspection)
 | ||
|       ("pkg-config" ,pkg-config)
 | ||
|       ("vala" ,vala-0.50)
 | ||
|       ("yelp-tools" ,yelp-tools)))
 | ||
|    (inputs
 | ||
|     `(("fonconfig" ,fontconfig)
 | ||
|       ("freetype" ,freetype)
 | ||
|       ("gtk+" ,gtk+)
 | ||
|       ("json-glib" ,json-glib)
 | ||
|       ("libsoup" ,libsoup)
 | ||
|       ("sqlite" ,sqlite)
 | ||
|       ("webkitgtk" ,webkitgtk)))
 | ||
|    (home-page "https://fontmanager.github.io/")
 | ||
|    (synopsis "Simple font management for GTK+ desktop environments")
 | ||
|    (description "Font Manager is intended to provide a way for users to
 | ||
| easily manage desktop fonts, without having to resort to command-line
 | ||
| tools or editing configuration files by hand.
 | ||
| While designed primarily with the GNOME Desktop Environment in mind, it should
 | ||
| work well with other GTK+ desktop environments.")
 | ||
|    (license license:gpl3+)))
 | ||
| 
 | ||
| (define-public fntsample
 | ||
|   (package
 | ||
|     (name "fntsample")
 | ||
|     (version "5.3")
 | ||
|     (source (origin
 | ||
|               (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
 | ||
|                 "02rx3gp7k472304vhjwb129nw10a29s4nvgs7i2m6bpjhlk2xgs5"))))
 | ||
|     (build-system cmake-build-system)
 | ||
|     (arguments
 | ||
|      `(#:tests? #f ; There are no tests.
 | ||
|        #:configure-flags
 | ||
|        (list (string-append
 | ||
|               "-DUNICODE_BLOCKS=" (assoc-ref %build-inputs "unicode-blocks")))
 | ||
|        #:phases
 | ||
|        (modify-phases %standard-phases
 | ||
|          (add-after 'install 'set-library-path
 | ||
|            (lambda* (#:key inputs outputs #:allow-other-keys)
 | ||
|              (let* ((out      (assoc-ref outputs "out"))
 | ||
|                     (pdf-api2 (assoc-ref inputs "perl-pdf-api2"))
 | ||
|                     (intl     (assoc-ref inputs "perl-libintl-perl"))
 | ||
|                     (perllib  (string-append pdf-api2
 | ||
|                                              "/lib/perl5/site_perl/"
 | ||
|                                              ,(package-version perl)
 | ||
|                                              ":" intl
 | ||
|                                              "/lib/perl5/site_perl/"
 | ||
|                                              ,(package-version perl))))
 | ||
|                (wrap-program (string-append out "/bin/pdfoutline")
 | ||
|                  `("PERL5LIB" ":" prefix (,perllib)))
 | ||
|                #t))))))
 | ||
|     (native-inputs
 | ||
|      `(("pkg-config" ,pkg-config)
 | ||
|        ("gettext" ,gettext-minimal)))
 | ||
|     (inputs
 | ||
|      `(("cairo" ,cairo)
 | ||
|        ("fontconfig" ,fontconfig)
 | ||
|        ("freetype" ,freetype)
 | ||
|        ("glib" ,glib)
 | ||
|        ("pango" ,pango)
 | ||
|        ("perl-pdf-api2" ,perl-pdf-api2)
 | ||
|        ("perl-libintl-perl" ,perl-libintl-perl)
 | ||
|        ("unicode-blocks"
 | ||
|         ,(origin
 | ||
|            (method url-fetch)
 | ||
|            (uri "https://unicode.org/Public/UNIDATA/Blocks.txt")
 | ||
|            (file-name "unicode-blocks.txt")
 | ||
|            (sha256
 | ||
|             (base32
 | ||
|              "1xs8fnhh48gs41wg004r7m4r2azh9khmyjjlnvyzy9c6zrd212x2"))))))
 | ||
|     (home-page "https://github.com/eugmes/fntsample")
 | ||
|     (synopsis "PDF and PostScript font samples generator")
 | ||
|     (description "This package provides a tool that can be used to make font
 | ||
| samples that show coverage of the font and are similar in appearance to
 | ||
| Unicode Charts.  It was developed for use with DejaVu Fonts project.")
 | ||
|     (license license:gpl3+)))
 | ||
| 
 | ||
| (define-public libraqm
 | ||
|   (package
 | ||
|     (name "libraqm")
 | ||
|     (version "0.7.1")
 | ||
|     (source
 | ||
|      (origin
 | ||
|        (method url-fetch)
 | ||
|        (uri (string-append "https://github.com/HOST-Oman/libraqm/"
 | ||
|                            "releases/download/v" version "/"
 | ||
|                            "raqm-" version ".tar.gz"))
 | ||
|        (sha256
 | ||
|         (base32 "0a4q9dziirb85sa9rmkamg2krdhd009di2vlz91njwxcp3q8qj46"))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (arguments
 | ||
|      `(#:configure-flags (list "--disable-static")))
 | ||
|     (native-inputs
 | ||
|      `(("gtk-doc" ,gtk-doc/stable)
 | ||
|        ("pkg-config" ,pkg-config)
 | ||
|        ("python" ,python-wrapper)))
 | ||
|     (inputs
 | ||
|      `(("freetype" ,freetype)
 | ||
|        ("fribidi" ,fribidi)
 | ||
|        ("harfbuzz" ,harfbuzz)))
 | ||
|     (home-page "https://github.com/HOST-Oman/libraqm")
 | ||
|     (synopsis "Library for complex text layout")
 | ||
|     (description
 | ||
|      "Raqm is a small library that encapsulates the logic for complex text
 | ||
| layout and provides a convenient API.
 | ||
| 
 | ||
| It currently provides bidirectional text support (using FriBiDi),
 | ||
| shaping (using HarfBuzz), and proper script itemization.  As a result, Raqm
 | ||
| can support most writing systems covered by Unicode.")
 | ||
|     (license license:expat)))
 | ||
| 
 | ||
| (define-public lcdf-typetools
 | ||
|   (package
 | ||
|     (name "lcdf-typetools")
 | ||
|     (version "2.108")
 | ||
|     (source (origin
 | ||
|               (method git-fetch)
 | ||
|               (uri (git-reference
 | ||
|                      (url "https://github.com/kohler/lcdf-typetools")
 | ||
|                      (commit (string-append "v" version))))
 | ||
|               (file-name (git-file-name name version))
 | ||
|               (sha256
 | ||
|                (base32
 | ||
|                 "0a6jqaqwq43ldjjjlnsh6mczs2la9363qav7v9fyrfzkfj8kw9ad"))))
 | ||
|     (build-system gnu-build-system)
 | ||
|     (arguments
 | ||
|      `(#:configure-flags
 | ||
|        ;; This is only provided by the monolithic texlive distribution.
 | ||
|        ;; FIXME: texlive-kpathsea doesn't come with the library and headers
 | ||
|        (list "--without-kpathsea")))
 | ||
|     (native-inputs
 | ||
|      `(("autoconf" ,autoconf)
 | ||
|        ("automake" ,automake)))
 | ||
|     (home-page "https://lcdf.org/type/")
 | ||
|     (synopsis "Multiple font manipulation tools")
 | ||
|     (description "LCDF Typetools comprises several programs for manipulating
 | ||
| PostScript Type 1, Type 1 Multiple Master, OpenType, and TrueType fonts.
 | ||
| These tools are cfftot1, mmafm, mmpfb, otfinfo, otftotfm, t1dotlessj, t1lint,
 | ||
| t1rawfm, t1reencode, t1testpage and ttftotype42.")
 | ||
|     (license license:gpl2+)))
 |