Subject: [bug#28594] nototools (required for building Noto from source)

From: ng0 <[email-masked]>
Date: Tue, 28 Nov 2017 19:02:50 +0000

There has been no comment in 38 days. Could someone look into this?
It's my understanding that it is ready to merge.

I have no push access, so I can not push it.

ng0 transcribed 14K bytes:
> Updated patchseries appended.
> 
> -- 
> ng0
> GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
> GnuPG: https://dist.ng0.infotropique.org/dist/keys/
> https://www.infotropique.org https://ng0.infotropique.org

> From f830472640712346a80982ab3027e2bd64e5cdff Mon Sep 17 00:00:00 2001
> From: ng0 <[email-masked]>
> Date: Wed, 20 Sep 2017 11:39:29 +0000
> Subject: [PATCH 1/6] gnu: Add python2-ufolib.
> 
> * gnu/packages/python.scm (python2-ufolib): New variable.
> ---
>  gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 0684090c3..1de08f2cd 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -7412,6 +7412,32 @@ from an XML-based format.")
>  (define-public python2-fonttools
>    (package-with-python2 python-fonttools))
>  
> +(define-public python2-ufolib
> +  (package
> +    (name "python2-ufolib")
> +    (version "2.1.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "ufoLib" version ".zip"))
> +       (sha256
> +        (base32 "1njin1465qqzshnrvcl5sbv0bsy15gj6fycbw4lmcnwkx5sldgyx"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:python ,python-2))
> +    (propagated-inputs
> +     `(("python2-fonttools" ,python2-fonttools)))
> +    (native-inputs
> +     `(("unzip" ,unzip)
> +       ("python2-pytest-3.0" ,python2-pytest-3.0)
> +       ("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 python-ly
>    (package
>      (name "python-ly")
> -- 
> 2.14.2
> 

> From afc7f67ba0269d77989c2534d5c1627af716fda9 Mon Sep 17 00:00:00 2001
> From: ng0 <[email-masked]>
> Date: Wed, 20 Sep 2017 11:49:31 +0000
> Subject: [PATCH 2/6] gnu: Add python2-setuptools-scm-git-archive.
> 
> * gnu/packages/python.scm (python2-setuptools-scm-git-archive): New variable.
> ---
>  gnu/packages/python.scm | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 1de08f2cd..dac308e1b 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -7438,6 +7438,30 @@ from an XML-based format.")
>  files.  UFO is a file format that stores fonts source files.")
>      (license license:bsd-3)))
>  
> +(define-public python2-setuptools-scm-git-archive
> +  (package
> +    (name "python2-setuptools-scm-git-archive")
> +    (version "1.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "setuptools_scm_git_archive" version))
> +       (sha256
> +        (base32
> +         "1nii1sz5jq75ilf18bjnr11l9rz1lvdmyk66bxl7q90qan85yhjj"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:python ,python-2))
> +    (propagated-inputs
> +     `(("python2-setuptools-scm" ,python2-setuptools-scm)))
> +    (home-page "https://github.com/Changaco/setuptools_scm_git_archive/")
> +    (synopsis "Setuptools_scm plugin for git archives")
> +    (description
> +     "The setuptools_scm_git_archive package is a plugin to
> +setuptools_scm, which supports obtaining versions from git archives that
> +belong to tagged versions.")
> +    (license license:expat)))
> +
>  (define-public python-ly
>    (package
>      (name "python-ly")
> -- 
> 2.14.2
> 

> From 564f921e767c21f1683f5d6a39a874779a2c4628 Mon Sep 17 00:00:00 2001
> From: ng0 <[email-masked]>
> Date: Wed, 20 Sep 2017 12:00:41 +0000
> Subject: [PATCH 3/6] gnu: Add python2-pyclipper.
> 
> * gnu/packages/python.scm (python2-pyclipper): New variable.
> ---
>  gnu/packages/python.scm | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index dac308e1b..879f6953a 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -7462,6 +7462,32 @@ setuptools_scm, which supports obtaining versions from git archives that
>  belong to tagged versions.")
>      (license license:expat)))
>  
> +(define-public python2-pyclipper
> +(package
> +  (name "python2-pyclipper")
> +  (version "1.0.6")
> +  (source
> +   (origin
> +     (method url-fetch)
> +     (uri (pypi-uri "pyclipper" version ".zip"))
> +     (sha256
> +      (base32
> +       "1zpmwv3bya3j984y5cf9x9d5108kf6mxldcba68wiq0frv5qrssw"))))
> +  (build-system python-build-system)
> +  (arguments
> +   `(#:python ,python-2
> +     #:tests? #f)); 8 Tests fail, 37 succeed
> +  (propagated-inputs
> +   `(("python2-setuptools-scm-git-archive" ,python2-setuptools-scm-git-archive)))
> +  (native-inputs
> +   `(("unzip" ,unzip)))
> +  (home-page "https://github.com/greginvm/pyclipper")
> +  (synopsis "Wrapper for Angus Johnson's Clipper library")
> +  (description
> +   "Pyclipper is a Cython wrapper for the C++ translation of the
> +Angus Johnson's Clipper library (ver. 6.2.1)")
> +  (license license:expat)))
> +
>  (define-public python-ly
>    (package
>      (name "python-ly")
> -- 
> 2.14.2
> 

> From 0d7311347e24b76c9898b3da1a417021c51e40de Mon Sep 17 00:00:00 2001
> From: ng0 <[email-masked]>
> Date: Wed, 20 Sep 2017 18:07:47 +0000
> Subject: [PATCH 4/6] gnu: Add python2-booleanoperations.
> 
> * gnu/packages/python.scm (python2-booleanoperations): New variable.
> ---
>  gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 879f6953a..50ce4e116 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -7488,6 +7488,35 @@ belong to tagged versions.")
>  Angus Johnson's Clipper library (ver. 6.2.1)")
>    (license license:expat)))
>  
> +(define-public python2-booleanoperations
> +  (package
> +    (name "python2-booleanoperations")
> +    (version "0.7.1")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "booleanOperations" version ".zip"))
> +       (sha256
> +        (base32
> +         "1hw42fazdpvsn77glx96hwsj9l17mvx37sc5707s08y5w6fx16mn"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:python ,python-2))
> +    (native-inputs
> +     `(("unzip" ,unzip)
> +       ("python2-pytest-3.0" ,python2-pytest-3.0)
> +       ("python2-pytest-runner" ,python2-pytest-runner)))
> +    (propagated-inputs
> +     `(("python-fonttools" ,python2-fonttools)
> +       ("python-pyclipper" ,python2-pyclipper)
> +       ("python-ufolib" ,python2-ufolib)))
> +    (home-page "https://github.com/typemytype/booleanOperations")
> +    (synopsis "Boolean operations on paths")
> +    (description
> +     "BooleanOperations provides a python library that enables
> +boolean operations on paths.")
> +    (license license:expat)))
> +
>  (define-public python-ly
>    (package
>      (name "python-ly")
> -- 
> 2.14.2
> 

> From 4678eb87f6ee5b2bf6bd3c9dbe2c7114985cb653 Mon Sep 17 00:00:00 2001
> From: ng0 <[email-masked]>
> Date: Mon, 25 Sep 2017 11:13:03 +0000
> Subject: [PATCH 5/6] gnu: Add python2-defcon.
> 
> * gnu/packages/python.scm (python2-defcon): New variable.
> ---
>  gnu/packages/python.scm | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
> 
> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 50ce4e116..893240fdf 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -7517,6 +7517,39 @@ Angus Johnson's Clipper library (ver. 6.2.1)")
>  boolean operations on paths.")
>      (license license:expat)))
>  
> +(define-public python2-defcon
> +  (package
> +    (name "python2-defcon")
> +    (version "0.3.4")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "defcon" version ".zip"))
> +       (sha256
> +        (base32
> +         "1f41w54fdjy9izxcwzqa142kd56whqsg9nq5k4508jb6iip84h89"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:python ,python-2))
> +    (native-inputs
> +     `(("unzip" ,unzip)
> +       ("python2-pytest-3.0" ,python2-pytest-3.0)
> +       ("python2-pytest-runner" ,python2-pytest-runner)))
> +    (propagated-inputs
> +     `(("python2-fonttools" ,python2-fonttools)
> +       ("python2-ufolib" ,python2-ufolib)))
> +    (home-page "https://pypi.python.org/pypi/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 python-ly
>    (package
>      (name "python-ly")
> -- 
> 2.14.2
> 

> From f0e5236fb62fb79a5deef3c3179ea9393483b7a7 Mon Sep 17 00:00:00 2001
> From: ng0 <[email-masked]>
> Date: Mon, 25 Sep 2017 12:12:55 +0000
> Subject: [PATCH 6/6] gnu: Add nototools.
> 
> * gnu/packages/fontutils.scm (nototools): New variable.
> ---
>  gnu/packages/fontutils.scm | 45 ++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 44 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
> index 323cfab6f..a72fc005c 100644
> --- a/gnu/packages/fontutils.scm
> +++ b/gnu/packages/fontutils.scm
> @@ -5,6 +5,7 @@
>  ;;; Copyright © 2016, 2017 Efraim Flashner <[email-masked]>
>  ;;; Copyright © 2017 Rene Saavedra <[email-masked]>
>  ;;; Copyright © 2017 Leo Famulari <[email-masked]>
> +;;; Copyright © 2017 ng0 <[email-masked]>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -44,7 +45,8 @@
>    #: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 gnu)
> +  #:use-module (guix build-system python))
>  
>  (define-public freetype
>    (package
> @@ -556,3 +558,44 @@ opentype fonts.  You can save fonts in many different outline formats, and
>  generate bitmaps.")
>     (license license:gpl3+)
>     (home-page "https://fontforge.github.io/en-US/")))
> +
> +(define-public nototools
> +  (package
> +    (name "nototools")
> +    (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"))
> +       (sha256
> +        (base32
> +         "1pvacw18cm9l4sb66pqyjc7hc74xhhfxc7kd5ald8lixf4wzg0s8"))))
> +    (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.")))))
> -- 
> 2.14.2
> 

-- 
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys
  WWW: https://n0.is