diff options
Diffstat (limited to 'gnu/packages/image.scm')
-rw-r--r-- | gnu/packages/image.scm | 130 |
1 files changed, 79 insertions, 51 deletions
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 33e8b32c10..39b55f4758 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -25,7 +25,7 @@ ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> -;;; Copyright © 2020, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020, 2023 Maxim Cournoyer <maxim@guixotic.coop> ;;; Copyright © 2020, 2025 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2020, 2021, 2022, 2023, 2024 Vinicius Monego <monego@posteo.net> @@ -332,36 +332,35 @@ APNG patch provides APNG support to libpng.") ;; Temporary, until 76798 merges into core-packages-team, and that merges into ;; master. -(define-public libpng-apng-for-librewolf - (hidden-package - (package - (inherit libpng-apng) - (version "1.6.46") - (source - (origin - (method url-fetch) - (uri (list (string-append "mirror://sourceforge/libpng/libpng16/" - version "/libpng-" version ".tar.xz") - (string-append - "ftp://ftp.simplesystems.org/pub/libpng/png/src" - "/libpng16/libpng-" version ".tar.xz") - (string-append - "ftp://ftp.simplesystems.org/pub/libpng/png/src/history" - "/libpng16/libpng-" version ".tar.xz"))) - (sha256 - (base32 - "1cbwf20zlm4gcv8rpjivkngrjgl5366w21lr9qmbk2lr0dq8papk")))) - (inputs - (modify-inputs (package-inputs libpng-apng) - (replace "apng" - (origin - (method url-fetch) - (uri - (string-append "mirror://sourceforge/libpng-apng/libpng16/" - version "/libpng-" version "-apng.patch.gz")) - (sha256 - (base32 - "00ykl1bzb79xsjwrq7dl0yz9dz5g3zwj0lry5zam3vs6s3gw5gi9"))))))))) +(define-public libpng-apng-next + (package + (inherit libpng-apng) + (version "1.6.46") + (source + (origin + (method url-fetch) + (uri (list (string-append "mirror://sourceforge/libpng/libpng16/" + version "/libpng-" version ".tar.xz") + (string-append + "ftp://ftp.simplesystems.org/pub/libpng/png/src" + "/libpng16/libpng-" version ".tar.xz") + (string-append + "ftp://ftp.simplesystems.org/pub/libpng/png/src/history" + "/libpng16/libpng-" version ".tar.xz"))) + (sha256 + (base32 + "1cbwf20zlm4gcv8rpjivkngrjgl5366w21lr9qmbk2lr0dq8papk")))) + (inputs + (modify-inputs (package-inputs libpng-apng) + (replace "apng" + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/libpng-apng/libpng16/" + version "/libpng-" version "-apng.patch.gz")) + (sha256 + (base32 + "00ykl1bzb79xsjwrq7dl0yz9dz5g3zwj0lry5zam3vs6s3gw5gi9")))))))) (define-public pngcrush (package @@ -1380,7 +1379,7 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") (define-public ggg (package (name "ggg") - (version "0.3.13") + (version "0.4.16") (source (origin (method git-fetch) @@ -1389,7 +1388,7 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0l0pbnp2jqi25s5hcqh2dhbdhcig4zyjx2cxwijbb5nn5shrp1wj")))) + (base32 "0igdnjw2i9b7qy66x05v70r1vsd043ydpvgic3hdra3dpx6f8ppf")))) (arguments `(#:source-directory "src" #:phases (modify-phases %standard-phases @@ -1399,8 +1398,6 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") "/bin")) (share (string-append (assoc-ref outputs "out") "/share"))) - (mkdir-p (string-append share "/scripts")) - (mkdir-p (string-append share "/resources")) (install-file "resources/help.txt" (string-append share "/resources")) @@ -1408,12 +1405,12 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") (string-append share "/resources/svg-paths")) (install-file "scripts/ggg" bin) - (install-file "scripts/log.sh" + (install-file "scripts/log.bash" (string-append share "/scripts/")) (chmod (string-append bin "/ggg") #o755))))))) (build-system guile-build-system) (native-inputs (list guile-3.0)) - (inputs (list guile-3.0 bash-minimal)) + (inputs (list guile-3.0 bash-minimal imagemagick)) (synopsis "GGG is a SVG image generator for project and web badges") (description @@ -2670,6 +2667,7 @@ Format) file format decoder and encoder.") (package (name "libjxl") (version "0.11.1") + (outputs (list "out" "pixbuf-loader")) (source (origin (method git-fetch) @@ -2691,35 +2689,63 @@ Format) file format decoder and encoder.") "libpng" "zlib")))))) (build-system cmake-build-system) (arguments - `(#:configure-flags + `(#:modules ((guix build cmake-build-system) + (guix build utils) + (srfi srfi-26)) + #:configure-flags (list "-DJPEGXL_FORCE_SYSTEM_GTEST=true" "-DJPEGXL_FORCE_SYSTEM_BROTLI=true" "-DJPEGXL_FORCE_SYSTEM_LCMS2=true" "-DJPEGXL_FORCE_SYSTEM_HWY=true" - "-DJPEGXL_BUNDLE_LIBPNG=false") - ,@(cond - ((target-riscv64?) - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-atomic + "-DJPEGXL_BUNDLE_LIBPNG=false" + "-DJPEGXL_ENABLE_PLUGINS=true") + #:phases + (modify-phases %standard-phases + ,@(cond + ((target-riscv64?) + '((add-after 'unpack 'fix-atomic (lambda _ (substitute* "lib/jxl/enc_xyb.cc" (("#include \"lib/jxl/enc_xyb.h\"" a) - (string-append a "\n#include <atomic>")))))))) - ((target-x86-32?) - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'loosen-test-parameter + (string-append a "\n#include <atomic>"))))))) + ((target-x86-32?) + '((add-after 'unpack 'loosen-test-parameter (lambda _ ;; This test fails likely due to a floating point ;; rounding difference. (substitute* "lib/jxl/color_management_test.cc" - (("8\\.7e-4") "8.7e-3"))))))) - (#t '())))) + (("8\\.7e-4") "8.7e-3")))))) + (#t '())) + (add-after 'install 'split + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (out:pixbuf (assoc-ref outputs "pixbuf-loader")) + (thumbnailer (string-append + out + "/share/thumbnailers/jxl.thumbnailer")) + (thumbnailer* (string-append + out:pixbuf + "/share/thumbnailers/jxl.thumbnailer")) + (pixbuf-loader (string-append + out + "/lib/gdk-pixbuf-2.0/2.10.0/loaders/" + "libpixbufloader-jxl.so")) + (pixbuf-loader* (string-append + out:pixbuf + "/lib/gdk-pixbuf-2.0/2.10.0/loaders/" + "libpixbufloader-jxl.so"))) + + (for-each (lambda (old new) + (install-file old (dirname new)) + (delete-file old) + (chmod new #o555)) + (list thumbnailer pixbuf-loader) + (list thumbnailer* pixbuf-loader*)))))))) (native-inputs (list asciidoc doxygen googletest pkg-config python)) (inputs (list freeglut + gdk-pixbuf gflags giflib imath @@ -2737,6 +2763,8 @@ Format) file format decoder and encoder.") (synopsis "JPEG XL image format reference implementation") (description "This package contains a reference implementation of JPEG XL (encoder and decoder).") + (properties + `((output-synopsis "pixbuf-loader" "gdk-pixbuf loader for the JXL format"))) (license license:bsd-3))) (define-public libjxl-0.10 |