From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dylan Jeffers Subject: Re: [PATCH 2/2] gnu: Add python-kivy Date: Sun, 14 Aug 2016 21:04:49 -0700 Message-ID: <20160814210449.1d97cc9d@openmailbox.org> References: <20160811174118.72b32168@openmailbox.org> <87mvkiv7uv.fsf@netris.org> <20160812172131.62573bde@openmailbox.org> <20160812174316.538c463b@openmailbox.org> <87vaz5qaqo.fsf@netris.org> <20160813132820.42bc6542@openmailbox.org> <20160813133749.5c06b26c@openmailbox.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/_CuA4=0+_9SVLf_RgnRB0so" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48804) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bZ99U-0000hn-LJ for guix-devel@gnu.org; Mon, 15 Aug 2016 00:05:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bZ99Q-0007p5-Bo for guix-devel@gnu.org; Mon, 15 Aug 2016 00:05:27 -0400 Received: from mail2.openmailbox.org ([62.4.1.33]:47075) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bZ99P-0007oz-UH for guix-devel@gnu.org; Mon, 15 Aug 2016 00:05:24 -0400 In-Reply-To: <20160813133749.5c06b26c@openmailbox.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_/_CuA4=0+_9SVLf_RgnRB0so Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline On Sat, 13 Aug 2016 13:37:49 -0700 Dylan Jeffers wrote: > On Sat, 13 Aug 2016 13:28:20 -0700 > Dylan Jeffers wrote: > > > 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 > > Sorry for another email but I think I figured out UTF-8 encoding. Let > me know if this works. Alright I think this is the final patch :) --MP_/_CuA4=0+_9SVLf_RgnRB0so Content-Type: text/x-patch; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=python-kivy.patch =46rom c6f8d8948c0bf0b740022f5e4860c6adca267431 Mon Sep 17 00:00:00 2001 From: Dylan Jeffers Date: Sat, 13 Aug 2016 13:22:49 -0700 Subject: [PATCH] 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..c7a96b5 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 url-fetch) + (uri (pypi-uri "kivy" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zk3g1j1z0lzcm9d0k1lprrs95zr8n8k5pdg3p5qlsn26jz4bg19")))) + (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_/_CuA4=0+_9SVLf_RgnRB0so--