3
5
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00

gnu: Add ruby-chunky-png.

* gnu/packages/ruby.scm (ruby-chunky-png): New variable.
This commit is contained in:
Maxim Cournoyer 2020-07-14 22:26:17 -04:00
parent 97295c2aa4
commit db9f951b83
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -1577,6 +1577,74 @@ to save time in the following ways:
(home-page "https://github.com/testdouble/standard")
(license license:expat)))
(define-public ruby-chunky-png
;; There hasn't been a release since 2018/11/21 and there are test failures
;; in that release, so use the latest commit.
(let ((revision "1")
(commit "143b9cd1412e49edd4f8b661c7cd9b22941f43c0"))
(package
(name "ruby-chunky-png")
(version (git-version "1.3.11" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/wvanbergen/chunky_png.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0wbcgfzymbpmmxsb04arc49a2icki6f2fc6d6sqgg8369mc67g9z"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "spec"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-bundler
(lambda _
(substitute* (find-files "." "\\.rb$")
(("require.*bundler/setup.*") ""))
#t))
(replace 'replace-git-ls-files
(lambda _
;; TODO: Remove after the fix of using 'cut' to better mimic the
;; git ls-files output is merged in ruby-build-system.
(substitute* "chunky_png.gemspec"
(("`git ls-files`")
"`find . -type f -not -regex '.*\\.gem$' |sort |cut -c3-`"))
#t)))))
(native-inputs
`(("bundler" ,bundler)
("ruby-rspec" ,ruby-rspec)
("ruby-standard" ,ruby-standard)
("ruby-yard" ,ruby-yard)))
(synopsis "Ruby library to handle PNG images")
(description "ChunkyPNG is a pure Ruby library that can read and write
Portable Network Graphics (PNG) images without depending on an external image
library. It tries to be memory efficient and reasonably fast. It has
features such as:
@itemize
@item
Decoding support for any image that the PNG standard allows. This includes all
standard color modes, all bit depths, all transparency, and interlacing and
filtering options.
@item
Encoding support for images of all color modes (true color, grayscale, and
indexed) and transparency for all these color modes. The best color mode is
chosen automatically, based on the amount of used colors.
@item Read/write access to the image's pixels.
@item Read/write access to all image metadata that is stored in chunks.
@item
Memory efficiency: @code{fixnum} are used, i.e. 4 or 8 bytes of memory per
pixel, depending on the hardware).
@item
Performance: ChunkyPNG is reasonably fast for Ruby standards, by only using
integer math and a highly optimized saving routine.
@item Interoperability with RMagick.
@end itemize")
(home-page "https://github.com/wvanbergen/chunky_png/wiki")
(license license:expat))))
(define-public ruby-ast
(package
(name "ruby-ast")