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:
parent
97295c2aa4
commit
db9f951b83
1 changed files with 68 additions and 0 deletions
|
@ -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")
|
||||
|
|
Loading…
Reference in a new issue