From mboxrd@z Thu Jan 1 00:00:00 1970 From: Theodoros Foradis Subject: [PATCH v4 2/3] gnu: Add python2-wxpython. Date: Mon, 7 Nov 2016 20:16:27 +0200 Message-ID: <20161107181628.23640-2-theodoros.for@openmailbox.org> References: <20161105184131.GA11070@jasmine> <20161107181628.23640-1-theodoros.for@openmailbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34104) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c3oXG-0005kK-10 for guix-devel@gnu.org; Mon, 07 Nov 2016 13:20:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c3oXE-0001iT-FC for guix-devel@gnu.org; Mon, 07 Nov 2016 13:20:45 -0500 Received: from smtp16.openmailbox.org ([62.4.1.50]:41467 helo=smtp1.openmailbox.org) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1c3oXE-0001hr-7t for guix-devel@gnu.org; Mon, 07 Nov 2016 13:20:44 -0500 In-Reply-To: <20161107181628.23640-1-theodoros.for@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: guix-devel@gnu.org * gnu/packages/wxwidgets.scm (python2-wxpython): New variable. --- gnu/packages/wxwidgets.scm | 72 ++++++++++++++++++++++++++++++++++++++++= ++++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 4efe7a1..69216b5 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -2,6 +2,7 @@ ;;; Copyright =C2=A9 2015 Taylan Ulrich Bay=C4=B1rl=C4=B1/Kammer ;;; Copyright =C2=A9 2016 Ricardo Wurmus ;;; Copyright =C2=A9 2016 Theodoros Foradis +;;; Copyright =C2=A9 2016 Danny Milosavljevic ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +24,7 @@ #:use-module (guix download) #:use-module ((guix licenses) #:prefix l:) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system python) #:use-module (guix build utils) #:use-module (gnu packages) #:use-module (gnu packages compression) @@ -32,8 +34,10 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages sdl) #:use-module (gnu packages webkit) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) =20 (define-public wxwidgets @@ -118,3 +122,71 @@ and many other languages.") "gtk+" (package-inputs wxwidgets)))) (name "wxwidgets-gtk2"))) + +(define-public python2-wxpython + (package + (name "python2-wxpython") + (version "3.0.2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/wxpython/wxPytho= n/" + version "/wxPython-src-" version ".tar= .bz2")) + (sha256 + (base32 + "0qfzx3sqx4mwxv99sfybhsij4b5pc03ricl73h4vhkzazgjjjhfm")) + (modules '((guix build utils))) + (snippet + '(begin + (lambda (folder) + (delete-file-recursively (string-append "src/" folde= r)) + '("expat" "jpeg" "png" "tiff" "zlib" "msw" "osx" "ms= dos")) + (substitute* '("wxPython/setup.py") + ;; setup.py tries to keep its own license the same a= s wxwidget's + ;; license (which it expects under $WXWIN/docs). + (("'preamble.txt', 'licence.txt', 'licendoc.txt', 'l= gpl.txt'") "") + ))))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:tests? #f ; tests fail + #:configure-flags (list "WXPORT=3Dgtk2" + "UNICODE=3D1") + #:phases + (modify-phases %standard-phases + (add-before 'build 'chdir + (lambda _ + (chdir "wxPython") + #t)) + (add-after 'chdir 'set-wx-out-dir + (lambda* (#:key outputs #:allow-other-keys) + ;; By default, install phase tries to copy the wxPython hea= ders in + ;; gnu/store/...-wxwidgets-3.0.2 , which it can't, so they = are redirected + ;; to the output directory by setting WXPREFIX. + (substitute* "config.py" + (("=3D getWxConfigValue\\('--prefix'\\)") + (string-append "=3D '" (assoc-ref outputs "out") "'"))) + (substitute* "wx/build/config.py" + (("=3D getWxConfigValue\\('--prefix'\\)") + (string-append "=3D '" (assoc-ref outputs "out") "'"))) + #t)) + (add-after 'set-wx-out-dir 'setenv + (lambda* (#:key inputs outputs #:allow-other-keys) + (setenv "WXWIN" (assoc-ref inputs "wxwidgets")) + (use-modules (ice-9 popen) (ice-9 rdelim)) + (let ((port (open-pipe* OPEN_READ + (string-append (assoc-ref inputs "w= xwidgets") + "/bin/wx-config") "-= -cppflags"))) + (setenv "CPPFLAGS" (read-string port)) + (close-pipe port)) + #t))))) + (native-inputs + `(("mesa" ,mesa) ; for glcanvas + ("pkg-config" ,pkg-config) + ("python2-setuptools" ,python2-setuptools))) + (inputs + `(("gtk+" ,gtk+-2) ; for wxPython/src/helpers.cpp + ("wxwidgets" ,wxwidgets-gtk2))) + (synopsis "Python2 Bindings for wxWidgets") + (description "@code{wxpython} are Python2 bindings for wxWidgets.") + (home-page "http://wxpython.org/") + (license (package-license wxwidgets)))) --=20 2.10.1