diff options
author | Marius Bakke <mbakke@fastmail.com> | 2019-03-01 16:29:07 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-03-01 16:29:07 +0100 |
commit | 95dc93da8549381c3adbff31992d689836803137 (patch) | |
tree | bc3840fdabef39da2c7db281e895007e2133dbca /gnu | |
parent | c62b1609ae5f62e2f57e67ac006dddc4d40d61ca (diff) | |
download | guix-95dc93da8549381c3adbff31992d689836803137.tar guix-95dc93da8549381c3adbff31992d689836803137.tar.gz |
gnu: python-cffi: Build HTML documentation in separate derivation.
This is necessary to solve a dependency cycle between Sphinx and Requests.
* gnu/packages/libffi.scm (python-cffi)[outputs]: Remove.
[native-inputs]: Remove PYTHON-SPHINX.
[arguments]: Remove 'install-doc' phase.
* gnu/packages/libffi.scm (python-cffi-documentation): New public variable.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/libffi.scm | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index 1df6b7b6df..f47f7623b4 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2019 Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com> -;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -92,14 +92,12 @@ conversions for values passed between the two languages.") (base32 "1x3lrj928dcxx1k8k9gf3s4s3jwvzv8mc3kkyg1g7c3a1sc1f3z9")) (patches (search-patches "python-cffi-x87-stack-clean.patch")))) (build-system python-build-system) - (outputs '("out" "doc")) (inputs `(("libffi" ,libffi))) (propagated-inputs ; required at run-time `(("python-pycparser" ,python-pycparser))) (native-inputs `(("pkg-config" ,pkg-config) - ("python-sphinx" ,python-sphinx) ("python-pytest" ,python-pytest))) (arguments `(#:modules ((ice-9 ftw) @@ -134,17 +132,7 @@ conversions for values passed between the two languages.") (lambda _ (substitute* "testing/cffi0/test_ownlib.py" (("ret.left") "ownlib.left")) - #t)) - (add-after 'install 'install-doc - (lambda* (#:key outputs (make-flags '()) #:allow-other-keys) - (let* ((doc (string-append (assoc-ref outputs "doc") - "/share/doc/" ,name "-" ,version)) - (html (string-append doc "/html"))) - (with-directory-excursion "doc" - (apply invoke "make" "html" make-flags) - (mkdir-p html) - (copy-recursively "build/html" html)) - #t)))))) + #t))))) (home-page "https://cffi.readthedocs.org") (synopsis "Foreign function interface for Python") (description @@ -154,6 +142,35 @@ conversions for values passed between the two languages.") (define-public python2-cffi (package-with-python2 python-cffi)) +(define-public python-cffi-documentation + (package + (name "python-cffi-documentation") + (version (package-version python-cffi)) + (source (package-source python-cffi)) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "doc") #t)) + (delete 'configure) + (replace 'build + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (apply invoke "make" "html" make-flags))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (copy-recursively "build/html" (string-append out "/html")) + #t)))))) + (native-inputs + `(("sphinx-build" ,python-sphinx))) + (home-page (package-home-page python-cffi)) + (synopsis "Documentation for the Python CFFI interface") + (description + "This package contains HTML documentation for the @code{python-cffi} +project.") + (license (package-license python-cffi)))) + (define-public ruby-ffi (package (name "ruby-ffi") |