* gnu/packages/wxwidgets.scm (python2-wxpython): New variable. --- gnu/packages/wxwidgets.scm | 84 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+)
diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm index 4efe7a1..0002b73 100644 --- a/gnu/packages/wxwidgets.scm +++ b/gnu/packages/wxwidgets.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayi...@gmail.com> ;;; Copyright © 2016 Ricardo Wurmus <rek...@elephly.net> ;;; Copyright © 2016 Theodoros Foradis <theodoros....@openmailbox.org> +;;; Copyright © 2016 Danny Milosavljevic <dan...@scratchpost.org> ;;; ;;; 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)) (define-public wxwidgets @@ -118,3 +122,83 @@ 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/wxPython/" + version "/wxPython-src-" version ".tar.bz2")) + (sha256 + (base32 + "0qfzx3sqx4mwxv99sfybhsij4b5pc03ricl73h4vhkzazgjjjhfm")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "src/expat") + (delete-file-recursively "src/jpeg") + (delete-file-recursively "src/png") + (delete-file-recursively "src/tiff") + (delete-file-recursively "src/zlib") + (delete-file-recursively "src/msw") + (delete-file-recursively "src/osx") + (delete-file-recursively "src/msdos") + (substitute* '("wxPython/setup.py") + ;; setup.py tries to keep its own license the same as wxwidget's + ;; license (which it expects under $WXWIN/docs). + (("'preamble.txt', 'licence.txt', 'licendoc.txt', 'lgpl.txt'") "") + ))))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + #:tests? #f ; tests fail + #:configure-flags (list "WXPORT=gtk2" + "UNICODE=1") + #:phases + (modify-phases %standard-phases + (add-before 'build 'chdir + (lambda _ + (chdir "wxPython"))) + (add-after 'chdir 'set-wx-out-dir + (lambda* (#:key outputs #:allow-other-keys) + ;; By default, install phase tries to copy the wxPython headers 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" + (("= getWxConfigValue\\('--prefix'\\)") + (string-append "= '" (assoc-ref outputs "out") "'"))) + (substitute* "wx/build/config.py" + (("= getWxConfigValue\\('--prefix'\\)") + (string-append "= '" (assoc-ref outputs "out") "'"))))) + (add-after 'set-wx-out-dir 'setenv + (lambda* (#:key inputs outputs #:allow-other-keys) + (setenv "WXWIN" (assoc-ref inputs "wxwidgets")) + (setenv "CPPFLAGS" (string-append "-I" + (assoc-ref inputs "wxwidgets") + "/lib/wx/include/gtk2-unicode-release-2.8" + " -I" + (assoc-ref inputs "wxwidgets") + "/include/wx-3.0" + " -D_FILE_OFFSET_BITS=64" + " -DWXUSINGDLL" + " -D__WXGTK__"))))))) + (native-inputs + `(("gtk+" ,gtk+-2) + ("expat" ,expat) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("libsm" ,libsm) + ("libx11" ,libx11) + ("mesa" ,mesa) + ("pkg-config" ,pkg-config) + ("python2-setuptools" ,python2-setuptools) + ("zlib" ,zlib))) + (inputs + `(("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)))) -- 2.10.1