From db3367f95208d741f1ded67e6ba1604a1f774a32 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 25 Jan 2024 12:07:10 +0200 Subject: [PATCH] gnu: imagemagick: Only install documentation in final imagemagick. * gnu/packages/imagemagick.scm (imagemagick/stable)[arguments]: Add configure-flag to disable documentation. Adjust phase to remove work-around for moving documentation to separate output. [outputs]: Remove field. (imagemagick)[arguments]: Remove configure-flag disabling documentation. Add a phase to move documentation to a separate output. [outputs]: Keep out, doc outputs. Change-Id: I34f02612d416ad2ff0edf330a274f93bddf4c53d --- gnu/packages/imagemagick.scm | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 884fa87555..e7734125ad 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016, 2021 Mark H Weaver -;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017, 2024 Efraim Flashner ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2020 Marius Bakke @@ -82,6 +82,8 @@ (define-public imagemagick/stable (string-append "--with-gs-font-dir=" (search-input-directory %build-inputs "share/fonts/type1")) + ;; No documentation in the stable version. + "--disable-docs" ;; Do not embed the build date in binaries. "--enable-reproducible-build") #:phases @@ -91,16 +93,7 @@ (define-public imagemagick/stable (substitute* "Makefile" ;; Clear the `LIBRARY_PATH' setting, which otherwise ;; interferes with our own use. - (("^LIBRARY_PATH[[:blank:]]*=.*$") - "") - - ;; Since the Makefile overrides $docdir, modify it to - ;; refer to what we want. - (("^DOCUMENTATION_PATH[[:blank:]]*=.*$") - (string-append "DOCUMENTATION_PATH = " - #$output:doc "/share/doc/" - #$name "-" - #$(package-version this-package) "\n"))))) + (("^LIBRARY_PATH[[:blank:]]*=.*$") "")))) (add-before 'configure 'strip-configure-xml (lambda _ (substitute* "config/configure.xml.in" @@ -131,8 +124,6 @@ (define-public imagemagick/stable (native-inputs (list font-ghostscript pkg-config)) - (outputs '("out" - "doc")) ; 26 MiB of HTML documentation (home-page "https://www.imagemagick.org/") (synopsis "Create, edit, compose, or convert bitmap images") (description @@ -147,6 +138,7 @@ (define-public imagemagick/stable (define-public imagemagick (package (inherit imagemagick/stable) + (outputs '("out" "doc")) ; 11 MiB of HTML documentation (properties (alist-delete 'hidden? (package-properties imagemagick/stable))) ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick @@ -158,7 +150,23 @@ (define-public imagemagick version ".tar.xz")) (sha256 (base32 - "1j1chkw33vjc37509vdwss28qywfvckvs73pvscldj8d0wnwypa8")))))) + "1j1chkw33vjc37509vdwss28qywfvckvs73pvscldj8d0wnwypa8")))) + (arguments + (substitute-keyword-arguments (package-arguments imagemagick/stable) + ((#:configure-flags flags #~'()) + #~(delete "--disable-docs" #$flags)) + ((#:phases phases #~'%standard-phases) + #~(modify-phases #$phases + (add-before 'build 'set-doc-directory + (lambda _ + (substitute* "Makefile" + ;; Since the Makefile overrides $docdir, modify it to + ;; refer to what we want. + (("^DOCUMENTATION_PATH[[:blank:]]*=.*$") + (string-append "DOCUMENTATION_PATH = " + #$output:doc "/share/doc/" + #$(package-name this-package) "-" + #$(package-version this-package) "\n"))))))))))) (define-public perl-image-magick (package