gnu: python: Add "minimal" variants.

* gnu/packages/python.scm (python2-minimal, python-minimal): New
  variables.
  (wrap-python3): New procedure.
  (python-wrapper): Use it.
  (python-minimal-wrapper): New variable.
* gnu/packages/xml.scm (libxslt)[native-inputs]: Use
  PYTHON-MINIMAL-WRAPPER instead of PYTHON-WRAPPER.
* gnu/packages/xorg.scm (xcb-proto, libxcb, xorg-server): Likewise.
This commit is contained in:
Ludovic Courtès 2015-10-07 21:27:36 +02:00
parent 0d56e3e1bc
commit 95288fcc6c
3 changed files with 45 additions and 6 deletions

View file

@ -260,9 +260,46 @@ data types.")
(version-major+minor version)
"/site-packages"))))))))
(define-public python-wrapper
;; Minimal variants of Python, mostly used to break the cycle between Tk and
;; Python (Tk -> libxcb -> Python.)
(define-public python2-minimal
(package (inherit python-2)
(name "python-minimal")
(arguments
(substitute-keyword-arguments (package-arguments python-2)
((#:configure-flags _)
`(list "--enable-shared"
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib")))))
(inputs '()))) ;none of the optional dependencies
(define-public python-minimal
(package (inherit python)
(name "python-wrapper")
(name "python-minimal")
(arguments
(substitute-keyword-arguments (package-arguments python)
((#:configure-flags _)
`(let ((openssl (assoc-ref %build-inputs "openssl"))
(zlib (assoc-ref %build-inputs "zlib"))
(out (assoc-ref %outputs "out")))
(list "--enable-shared"
(string-append "CPPFLAGS="
"-I" openssl "/include "
"-I" zlib "/include ")
(string-append "LDFLAGS="
"-L" openssl "/lib "
"-L" zlib "/lib "
"-Wl,-rpath=" out "/lib"))))))
;; OpenSSL is a mandatory dependency of Python 3.x, for urllib;
;; zlib is required by 'zipimport', used by pip.
(inputs `(("openssl" ,openssl)
("zlib" ,zlib)))))
(define* (wrap-python3 python #:optional (name "python-wrapper"))
(package (inherit python)
(name name)
(source #f)
(build-system trivial-build-system)
(propagated-inputs `(("python" ,python)))
@ -286,6 +323,8 @@ data types.")
that they can be invoked under their usual name---e.g., @command{python}
instead of @command{python3}.")))
(define-public python-wrapper (wrap-python3 python))
(define-public python-minimal-wrapper (wrap-python3 python-minimal))
(define-public python-psutil
(package