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