Subject: bug#31494: closed (Re: [bug#31494] [PATCH] gnu: gifsicle: New variable.)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 26 May 2018 20:23:02 +0000

Your bug report

#31494: [PATCH] gnu: gifsicle: New variable.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31494: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31494
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#31494] [PATCH] gnu: gifsicle: New variable.
From: [email-masked] (Ludovic Courtès)
To: Pierre Neidhardt <[email-masked]>
Cc: [email-masked]
Date: Sat, 26 May 2018 22:22:04 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Pierre Neidhardt <[email-masked]> skribis:

> * gnu/packages/image.scm (gifsicle): New variable.

Applied with the minor changes below, in line with
<https://www.gnu.org/software/guix/manual/html_node/Synopses-and-Descriptions.html>.

Thank you!

Ludo’.

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 752815c58..d6c39e5c7 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1426,29 +1426,25 @@ in-memory raw vectors.")
               (("/bin/sh")
                (which "sh"))
               (("/bin/rm")
-               (which "rm"))))))))
+               (which "rm")))
+            #t)))))
    (native-inputs `(("perl" ,perl))) ; Only for tests.
    (inputs `(("libx11" ,libx11)))
    (home-page "http://www.lcdf.org/gifsicle/")
    (synopsis "Edit GIF images and animations")
-   (description "Gifsicle is a commandline GIF swiss-army knife.  Features:
+   (description "Gifsicle is a command-line GIF image manipulation tool that:
+
 @itemize
-@item Batch mode for changing GIFs in place.
+@item Provides a batch mode for changing GIFs in place.
 @item Prints detailed information about GIFs, including comments.
-@item Control over interlacing, comments, looping, transparency...
+@item Control over interlacing, comments, looping, transparency, etc.
 @item Creates well-behaved GIFs: removes redundant colors, only uses local color
-tables if it absolutely has to (local color tables waste space and can cause
-viewing artifacts), etc.
-@item It can shrink colormaps and change images to use the Web-safe palette (or
-any colormap you choose).
-@item Optimize your animations!  This stores only the changed portion of each
-frame, and can radically shrink your GIFs.  You can also use transparency to
-make them even smaller.  Gifsicle's optimizer is pretty powerful, and usually
-reduces animations to within a couple bytes of the best commercial optimizers.
-@item Unoptimizing animations, which makes them easier to edit.
+tables, etc.
+@item Shrinks colormaps and change images to use the Web-safe palette.
+@item Optimizes GIF animations, or unoptimizes them for easier editing.
 @end itemize
 
-Two other programs are included with Gifsicle: @code{gifview} is a lightweight
-animated-GIF viewer which can show animations as slideshows or in real time,
-and @code{gifdiff} compares two GIFs for identical visual appearance.")
+Two other programs are included with Gifsicle: @command{gifview} is a
+lightweight animated-GIF viewer, and @command{gifdiff} compares two GIFs for
+identical visual appearance.")
    (license license:gpl2+)))

Subject: [PATCH] gnu: gifsicle: New variable.
From: Pierre Neidhardt <[email-masked]>
To: [email-masked]
Date: Fri, 18 May 2018 17:00:02 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/image.scm (gifsicle): New variable.
---
 gnu/packages/image.scm | 51 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index bbfd621a9..ef97df7c7 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1366,3 +1366,54 @@ Features:
 images stored in the JPEG format with R.  It can read and write both files and
 in-memory raw vectors.")
    (license license:gpl2+)))
+
+(define-public gifsicle
+  (package
+   (name "gifsicle")
+   (version "1.91")
+   (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "http://www.lcdf.org/gifsicle/gifsicle-"
+                           version ".tar.gz"))
+       (sha256
+        (base32
+         "00586z1yz86qcblgmf16yly39n4lkjrscl52hvfxqk14m81fckha"))))
+   (build-system gnu-build-system)
+   ;; TODO: Tests fail with "undefined error at undefined point in script".
+   ;; They pass when run manually with
+   ;;   guix environment gifsicle -- ./test/testie -p src/ test/
+   (arguments '(#:tests? #f))
+   ;; (arguments
+   ;;  '(#:phases
+   ;;    (modify-phases %standard-phases
+   ;;      (add-before 'check 'patch-tests
+   ;;        (lambda _
+   ;;          (substitute* "test/testie"
+   ;;            (("/usr/bin/perl")
+   ;;             (which "perl"))
+   ;;            (("/bin/rm")
+   ;;             (which "rm"))))))))
+   ;; (native-inputs `(("perl" ,perl))) ; Only for tests.
+   (inputs `(("libx11" ,libx11)))
+   (home-page "http://www.lcdf.org/gifsicle/")
+   (synopsis "Create, edit, manipulate and get information about GIF images and animations")
+   (description "Some Gifsicle features:
+- Batch mode for changing GIFs in place.
+- Prints detailed information about GIFs, including comments.
+- Control over interlacing, comments, looping, transparency...
+- Creates well-behaved GIFs: removes redundant colors, only uses local color
+tables if it absolutely has to (local color tables waste space and can cause
+viewing artifacts), etc.
+- It can shrink colormaps and change images to use the Web-safe palette (or
+any colormap you choose).
+- Optimize your animations! This stores only the changed portion of each
+frame, and can radically shrink your GIFs. You can also use transparency to
+make them even smaller. Gifsicle's optimizer is pretty powerful, and usually
+reduces animations to within a couple bytes of the best commercial optimizers.
+- Unoptimizing animations, which makes them easier to edit.
+
+Two other programs are included with Gifsicle: @code{gifview} is a lightweight
+animated-GIF viewer which can show animations as slideshows or in real time,
+and @code{gifdiff} compares two GIFs for identical visual appearance. ")
+   (license license:gpl2+)))
-- 
2.17.0