summaryrefslogtreecommitdiff
path: root/gnu/packages/image.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/image.scm')
-rw-r--r--gnu/packages/image.scm130
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