guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] python-kivy and Adobe source-code-pro font


From: Jelle Licht
Subject: Re: [PATCH] python-kivy and Adobe source-code-pro font
Date: Mon, 08 Aug 2016 00:24:11 +0200
User-agent: mu4e 0.9.16; emacs 24.5.1

Dylan Jeffers <address@hidden> writes:

> Hi all,
>
Hello Dylan,

Thanks for this patch! I love the source-code-pro font :).

> First patch to guix-devel; tried my best to conform to the guidelines.

Guix (usually) has a one commit per change policy. Contributions in guix
usually follow a specific format. You might want to review the
guidelines as specified in the manual, which one can find online or by
executing
  `info -f doc/guix.info "(guix) Contributing"`
in a guix git checkout. 
> Couldn't fix some "abiguous package" issues with
> font-adobe-source-code-pro package. Let me know if someone finds a
> solution.

I am not quite sure what "ambiguous package" issues you are talking
about. Are you referring to "collision encountered" warnings?


I added your patch inline with some observations;
> From db8338214f57249f7f513d9b27b6f31ae6cea345 Mon Sep 17 00:00:00 2001
> From: Dylan Jeffers <address@hidden>
> Date: Fri, 5 Aug 2016 18:37:34 -0700
> Subject: [PATCH] Add python-kivy and adobe source-code-pro font

Guix follows the CHANGELOG[0] format for commit messages. You can check the
commit history for examples of how to phrase certain common changes.

> 
> ---
>  gnu/packages/fonts.scm  | 51 
> +++++++++++++++++++++++++++++++++++++++++++++++++
>  gnu/packages/python.scm | 51 
> +++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 102 insertions(+)
> 
> diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
> index 9b2281a..fa8420e 100644
> --- a/gnu/packages/fonts.scm
> +++ b/gnu/packages/fonts.scm
> @@ -414,6 +414,55 @@ The Liberation Fonts are sponsored by Red Hat.")
>  for long (8 and more hours per day) work with computers.")
>      (license license:silofl1.1)))
>  
> +(define-public font-adobe-source-code-pro
> +  (package
> +    (name "font-adobe-source-code-pro")
> +    (version "2.030")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/adobe-fonts/source-code-pro/archive/";
> +                    version "R-ro/1.050R-it.tar.gz"))
> +              (sha256
> +               (base32
> +                "0arhhsf3i7ss39ykn73d1j8k4n8vx7115xph6jwkd970p1cxvr54"))))
> +    (build-system trivial-build-system)
> +    (arguments
> +     `(#:modules ((guix build utils))
> +       #:builder
> +         (begin
> +           (use-modules (guix build utils))
> +           (let ((tar  (string-append (assoc-ref %build-inputs
> +                                                 "tar")
> +                                      "/bin/tar"))
> +                 (PATH (string-append (assoc-ref %build-inputs
> +                                                 "gzip")
> +                                      "/bin"))
> +                 (font-dir (string-append
> +                            %output "/share/fonts/truetype")))
> +             (setenv "PATH" PATH)
> +             (system* tar "xvf" (assoc-ref %build-inputs "source"))
> +             (mkdir-p font-dir)
> +             (chdir (string-append "source-code-pro-" ,version
> +                                   "R-ro-1.050R-it/TTF/"))
> +             (for-each (lambda (ttf)
> +                         (copy-file ttf
> +                                    (string-append font-dir "/"
> +                                                   (basename ttf))))
> +                       (find-files "." "\\.ttf$"))))))
Here you install all the ttf files ...
> +    (native-inputs
> +     `(("gzip" ,gzip)
> +       ("tar" ,tar)))
> +    (home-page "https://adobe-fonts.github.io/source-code-pro/";)
> +    (synopsis "Source-Code-Pro fonts")
> +    (description
> +     "Source Code Pro is a set of OpenType fonts that have been designed
> +to work well in user interface (UI) environments.  In addition to a
> +functional OpenType font, this open source project provides all of the
> +source files that were used to build this OpenType font by using the
> +AFDKO makeotf tool.")
... and here you mention the source of these ttf files also being
available in the package (which you do not seem to install). Best case
scenario would be if we can generate the ttf files ourselves from these
sources. I had a brief look at AFDKO, and IMHO the build procedure seems
quite complicated. Right now, I would remove the part about the source
files and AFDKO from the description.

> +    (license license:silofl1.1)))
> +
>  (define-public font-adobe-source-han-sans
>    (package
>      (name "font-adobe-source-han-sans")
> @@ -865,3 +914,5 @@ powerline support.")
>      (license (license:x11-style
>                "https://github.com/chrissimpkins/Hack/blob/master/LICENSE.md";
>                "Hack Open Font License v2.0"))))
> +
> +
These added newlines seem superfluous

> diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
> index 470bad8..2cdc398 100644
> --- a/gnu/packages/python.scm
> +++ b/gnu/packages/python.scm
> @@ -88,10 +88,15 @@
>    #:use-module (gnu packages tcl)
>    #:use-module (gnu packages bdw-gc)
>    #:use-module (gnu packages pcre)
> +  #:use-module (gnu packages gstreamer)
> +  #:use-module (gnu packages gl)
> +  #:use-module (gnu packages sdl)
> +  #:use-module (gnu packages video)
>    #:use-module (guix packages)
>    #:use-module (guix download)
>    #:use-module (guix git-download)
>    #:use-module (guix utils)
> +  #:use-module (guix build utils)
>    #:use-module (guix build-system gnu)
>    #:use-module (guix build-system cmake)
>    #:use-module (guix build-system python)
> @@ -9808,3 +9813,49 @@ etc.")
>      (package
>        (inherit base)
>        (name "ptpython2"))))
> +
> +
One of these newlines can be removed.

> +(define-public python-kivy
> +  (package
> +    (name "python-kivy")
> +    (version "1.9.1")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (pypi-uri "kivy" version))
> +       (sha256
> +        (base32
> +         "0zk3g1j1z0lzcm9d0k1lprrs95zr8n8k5pdg3p5qlsn26jz4bg19"))))
> +    (build-system python-build-system)
> +    (arguments
> +     `(#:tests? #f                      ; tests require many more packages

NOTE: I am not a pythonista, but could you not disable subset of the
tests that depend on many more packages? Or maybe elaborate a bit more
one why exactly testing this package is not worth it. See the
python-drmaa for example.

> +                #:phases
> +                (modify-phases
> +                    %standard-phases
> +                  (add-after 'patch-generated-file-shebangs 'set-sdl-paths
> +                    (lambda* (#:key inputs #:allow-other-keys)
> +                      (setenv "KIVY_SDL2_PATH"
> +                              (string-append (assoc-ref inputs "sdl-union")
> +                                             "/include/SDL2")))))))
Something funky seems to be going on with the indention here. I usually
let emacs' scheme mode take care of the indentation for me using the
`indent-region` command. I assume the KIVY_SDL2_PATH is required for
kivy to build correctly? 

> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
> +    (inputs
> +     `(
> +       ("python-cython" ,python-cython)
You can join the previous two lines, so you get `(("python-cython <etc> 

> +       ("gstreamer" ,gstreamer)
> +       ("mesa" ,mesa)
> +       ("sdl-union"
> +        ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
> +    (home-page "http://kivy.org";)
> +    (synopsis
> +     "Open-source multitouch application framework")
Guix and its packaged software are Free Software projects, and as such,
the 'open-sourceness' of this package are implied by the greater
implications of it already being Free Software. 

> +    (description
> +     "A software library for rapid development of
> +hardware-accelerated multitouch applications.")
> +    (license bsd-3)))
Unless I am mistaken, Kivy is licensed under the "MIT" (Expat) license.
> +
> +(define-public python2-kivy
> +  (let ((base (package-with-python2 (strip-python2-variant python-kivy))))
> +    (package
> +      (inherit base)
> +      (name "python2-kivy"))))
> -- 
> 2.7.3
>
> More packages to come!
> Dylan

Looking forward to your other contributions!

Regards,
- Jelle

[0]: https://www.gnu.org/prep/standards/html_node/Change-Logs.html



reply via email to

[Prev in Thread] Current Thread [Next in Thread]