From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dylan Jeffers Subject: Re: [PATCH 2/2] gnu: Add python-kivy Date: Sat, 13 Aug 2016 13:28:20 -0700 Message-ID: <20160813132820.42bc6542@openmailbox.org> References: <20160811174118.72b32168@openmailbox.org> <87mvkiv7uv.fsf@netris.org> <20160812172131.62573bde@openmailbox.org> <20160812174316.538c463b@openmailbox.org> <87vaz5qaqo.fsf@netris.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/5q+qr_wowPq5Mi_j1xPO9.o" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33674) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bYfYN-0006BN-8F for guix-devel@gnu.org; Sat, 13 Aug 2016 16:29:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bYfYI-0000Uo-7p for guix-devel@gnu.org; Sat, 13 Aug 2016 16:29:10 -0400 Received: from mail.openmailbox.org ([62.4.1.34]:33662) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bYfYH-0000Uc-Qu for guix-devel@gnu.org; Sat, 13 Aug 2016 16:29:06 -0400 In-Reply-To: <87vaz5qaqo.fsf@netris.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Mark H Weaver Cc: guix-devel@gnu.org --MP_/5q+qr_wowPq5Mi_j1xPO9.o Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline On Sat, 13 Aug 2016 05:27:59 -0400 Mark H Weaver wrote: > Dylan Jeffers writes: > > > Mark H Weaver 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 , > >> 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 --MP_/5q+qr_wowPq5Mi_j1xPO9.o Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=python-kivy.patch =46rom 8d429555a7f370ba729aa5d16fc020f1c86c53b3 Mon Sep 17 00:00:00 2001 From: Dylan Jeffers 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 =C2=A9 2016 Sou Bunnbu ;;; Copyright =C2=A9 2016 Troy Sankey ;;; Copyright =C2=A9 2016 ng0 +;;; Copyright =C2=A9 2016 Dylan Jeffers ;;; ;;; 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)) --=20 2.7.3 --MP_/5q+qr_wowPq5Mi_j1xPO9.o--