On Sat, 13 Aug 2016 13:28:20 -0700
Dylan Jeffers <sapient...@openmailbox.org> wrote:

> On Sat, 13 Aug 2016 05:27:59 -0400
> Mark H Weaver <m...@netris.org> wrote:
> 
> > Dylan Jeffers <sapient...@openmailbox.org> writes:
> >   
> > > Mark H Weaver <m...@netris.org> wrote:    
> > >> We generally prefer to use tarball releases, unless there is a
> > >> compelling reason to use a non-release commit.
> > >> 
> > >> Is there a compelling reason?  If not, please use the 1.9.1
> > >> release tarball from
> > >> <https://github.com/kivy/kivy/archive/1.9.1.tar.gz>, along with
> > >> the 'file-name' field.    
> > >
> > > Yes, the new dev version of kivy has a number of important
> > > enhancements that are not available in 1.9.1.    
> > 
> > Can you be more specific?  Other popular distros, including Debian
> > sid, Ubuntu yakkety, Arch, and Gentoo, are all using version 1.9.1.
> > Kivy's own PPA for "stable builds" uses a version from February, not
> > long after the 1.9.1 release.
> > 
> > Unless there are specific and compelling reasons why the latest
> > release is inadequate for most users, I'd be inclined to use the
> > release version, at least by default for the package named
> > "python-kivy".
> > 
> > However, we could also add a "python-kivy-next" package for those
> > who want the latest and greatest from the upstream git repository.
> > We've done that for some other packages, such as "guile-next" and
> > "geiser-next".
> > 
> > Would this work for you?
> > 
> > If we did this, the best way would be for the "python-kivy-next"
> > package to inherit from "python-kivy", but overridding the 'source'
> > field, so it would look something like this (untested):
> > 
> > --8<---------------cut here---------------start------------->8---
> > (define-public python-kivy
> >   (package
> >     (name "python-kivy")
> >     (version "1.9.1")
> >     (source
> >      (origin
> >        (method url-fetch)
> >        (uri (string-append "https://github.com/kivy/kivy/archive/";
> >                            version ".tar.gz"))
> >        (file-name (string-append name "-" version ".tar.gz"))
> >        (sha256
> >         (base32
> >          "0zk3g1j1z0lzcm9d0k1lprrs95zr8n8k5pdg3p5qlsn26jz4bg19"))))
> >     ...))
> > 
> > (define-public python2-kivy
> >   (package-with-python2 python-kivy))
> > 
> > (define-public python-kivy-next
> >   (let ((commit "a988c5e7a47da56263ff39514264a3de516ef2fe")
> >         (revision "1"))
> >     (package (inherit python-kivy)
> >       (name "python-kivy-next")
> >       (version (string-append "1.9.1-" revision "."
> >                               (string-take commit 7)))
> >       (source
> >        (origin
> >          (method git-fetch)
> >          (uri (git-reference
> >                (url "https://github.com/kivy/kivy";)
> >                (commit commit)))
> >          (file-name (string-append name "-" version "-checkout"))
> >          (sha256
> >           (base32
> >            "0jk92b4a8l7blkvkgkjihk171s0dfnq582cckff5srwc8kal5m0p")))))))
> > 
> > (define-public python2-kivy-next
> >   (package-with-python2 python-kivy-next))
> > --8<---------------cut here---------------end--------------->8---
> > 
> > The code above also takes into account some other issues which I
> > explain below.
> >   
> > > Also I believe I modified my email client (claws) to use UTF-8.
> > > Let me know if it is working for you.    
> > 
> > The inline text of your email now specifies UTF-8 encoding (via a
> > "Content-Type: text/plain; charset=UTF-8" header), but the
> > attachment lacks the "charset=UTF-8" part of that header, so it's
> > still not working.  Anyway, I can fix it up by hand for now.
> >   
> > > +(define-public python-kivy
> > > +  (let ((commit
> > > +         "a988c5e7a47da56263ff39514264a3de516ef2fe"))
> > > +    (package
> > > +      (name "python-kivy")
> > > +      (version "1.9.1-dev")    
> > 
> > Please see section 7.6.3 (Version Numbers) in the Guix manual,
> > specifically our conventions about version numbers for VCS
> > snapshots, and the recommended code structure to generate them.
> > I've done this in my suggested definition of "python-kivy-next"
> > above. 
> > > +      (source
> > > +       (origin
> > > +         (method git-fetch)
> > > +         (uri (git-reference
> > > +               (url "https://github.com/kivy/kivy";)
> > > +               (commit commit)))
> > > +         (file-name (string-append name "-" version
> > > ".tar.gz"))    
> > 
> > This 'file-name' field above is appropriate for a gzipped tarball
> > release, but not for a git checkout, because a git checkout becomes
> > a directory in the store.  So, for a git checkout, it should be
> > something like this:
> > 
> >          (file-name (string-append name "-" version "-checkout"))
> > 
> > Can you send an updated patch?  Thanks for bearing with me.  I think
> > we're getting close :)
> > 
> >      Thanks,
> >        Mark  
> 
> No, thank you for the help! I think I got everything in this patch. I
> agree with having a python-kivy-next package, in addition to the 1.9.1
> kivy release.
> 
> Thanks again,
> Dylan

Sorry for another email but I think I figured out UTF-8 encoding. Let
me know if this works.
From 8d429555a7f370ba729aa5d16fc020f1c86c53b3 Mon Sep 17 00:00:00 2001
From: Dylan Jeffers <sapient...@openmailbox.org>
Date: Sat, 13 Aug 2016 13:22:49 -0700
Subject: [PATCH 1/1] gnu: Add python-kivy.

* gnu/packages/python.scm (python-kivy, python2-kivy, python-kivy-next,
* python2-kivy-next): New variables.
---
 gnu/packages/python.scm | 69 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 6ff1c5c..ccdee28 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2016 Sou Bunnbu <iyzs...@gmail.com>
 ;;; Copyright © 2016 Troy Sankey <sankey...@gmail.com>
 ;;; Copyright © 2016 ng0 <n...@we.make.ritual.n0.is>
+;;; Copyright © 2016 Dylan Jeffers <sapientech@sapient...@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -58,7 +59,9 @@
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
+  #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
@@ -74,6 +77,7 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages tex)
   #:use-module (gnu packages texinfo)
@@ -9852,3 +9856,68 @@ etc.")
     (package
       (inherit base)
       (name "ptpython2"))))
+
+(define-public python-kivy
+  (package
+    (name "python-kivy")
+    (version "1.9.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (pypi-uri "kivy" version))
+       (file-name (string-append name "-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0jk92b4a8l7blkvkgkjihk171s0dfnq582cckff5srwc8kal5m0p"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f              ; Tests require many optional packages
+                #:phases
+                (modify-phases %standard-phases
+                  (replace 'build (lambda _ (zero? (system* "make" "force"))))
+                  (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"))
+                      #t)))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("python-cython" ,python-cython)
+       ("gstreamer" ,gstreamer)
+       ("mesa" ,mesa)
+       ("sdl-union"
+        ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
+    (home-page "http://kivy.org";)
+    (synopsis
+     "Multitouch application framework")
+    (description
+     "A software library for rapid development of
+hardware-accelerated multitouch applications.")
+    (license license:expat)))
+
+(define-public python2-kivy
+  (package-with-python2 python-kivy))
+
+(define-public python-kivy-next
+  (let ((commit
+         "a988c5e7a47da56263ff39514264a3de516ef2fe")
+        (revision "1"))
+    (package (inherit python-kivy)
+      (name "python-kivy-next")
+      (version (string-append "1.9.1" revision "."
+                              (string-take commit 7)))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/kivy/kivy";)
+               (commit commit)))
+         (file-name (string-append name "-" version "-checkout"))
+         (sha256
+          (base32
+           "0jk92b4a8l7blkvkgkjihk171s0dfnq582cckff5srwc8kal5m0p")))))))
+
+(define-public python2-kivy-next
+  (package-with-python2 python-kivy-next))
-- 
2.7.3

Reply via email to