05/57: guix: python-build-system: Add helpers for getting and setting PYTHONPATH.

2016-10-15 Thread Hartmut Goebel
htgoebel pushed a commit to branch wip-python-build-system
in repository guix.

commit 6017e7269b4ce030541511b5b9b938ce92fa84aa
Author: Hartmut Goebel 
Date:   Sat Oct 8 12:04:20 2016 +0200

guix: python-build-system: Add helpers for getting and setting PYTHONPATH.

* guix/build/python-build-system.scm (add-installed-pythonpath,
  site-packages): New exported procedures.
---
 guix/build/python-build-system.scm |   22 +-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/guix/build/python-build-system.scm 
b/guix/build/python-build-system.scm
index cded89f..c4e5a75 100644
--- a/guix/build/python-build-system.scm
+++ b/guix/build/python-build-system.scm
@@ -28,7 +28,9 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:export (%standard-phases
-python-build))
+python-build
+add-installed-pythonpath
+site-packages))
 
 ;; Commentary:
 ;;
@@ -74,6 +76,24 @@
  (major+minor (take components 2)))
 (string-join major+minor ".")))
 
+(define (site-packages outputs inputs)
+  "Return the path of the current output's Python site-package."
+  (let* ((out (assoc-ref outputs "out"))
+ (python (assoc-ref inputs "python")))
+(string-append out "/lib/python"
+   (get-python-version python)
+   "/site-packages/")))
+
+(define (add-installed-pythonpath outputs inputs)
+  "Prepend the Python site-package of OUTPUT to PYTHONPATH.  This is useful
+when running checks after installing the package."
+  (let ((old-path (getenv "PYTHONPATH"))
+(add-path (site-packages outputs inputs)))
+(setenv "PYTHONPATH"
+(string-append add-path
+   (if old-path (string-append ":" old-path) "")))
+#t))
+
 (define* (install #:key outputs inputs (configure-flags '()) use-setuptools?
   #:allow-other-keys)
   "Install a given Python package."



05/57: guix: python-build-system: Add helpers for getting and setting PYTHONPATH.

2016-10-13 Thread Hartmut Goebel
htgoebel pushed a commit to branch wip-python-build-system
in repository guix.

commit 58b4921872f89b1a38f460828b23e9e4d8327298
Author: Hartmut Goebel 
Date:   Sat Oct 8 12:04:20 2016 +0200

guix: python-build-system: Add helpers for getting and setting PYTHONPATH.

* guix/build/python-build-system.scm (add-installed-pythonpath,
  site-packages): New exported procedures.
---
 guix/build/python-build-system.scm |   22 +-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/guix/build/python-build-system.scm 
b/guix/build/python-build-system.scm
index cded89f..c4e5a75 100644
--- a/guix/build/python-build-system.scm
+++ b/guix/build/python-build-system.scm
@@ -28,7 +28,9 @@
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:export (%standard-phases
-python-build))
+python-build
+add-installed-pythonpath
+site-packages))
 
 ;; Commentary:
 ;;
@@ -74,6 +76,24 @@
  (major+minor (take components 2)))
 (string-join major+minor ".")))
 
+(define (site-packages outputs inputs)
+  "Return the path of the current output's Python site-package."
+  (let* ((out (assoc-ref outputs "out"))
+ (python (assoc-ref inputs "python")))
+(string-append out "/lib/python"
+   (get-python-version python)
+   "/site-packages/")))
+
+(define (add-installed-pythonpath outputs inputs)
+  "Prepend the Python site-package of OUTPUT to PYTHONPATH.  This is useful
+when running checks after installing the package."
+  (let ((old-path (getenv "PYTHONPATH"))
+(add-path (site-packages outputs inputs)))
+(setenv "PYTHONPATH"
+(string-append add-path
+   (if old-path (string-append ":" old-path) "")))
+#t))
+
 (define* (install #:key outputs inputs (configure-flags '()) use-setuptools?
   #:allow-other-keys)
   "Install a given Python package."