guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] gnu: Add giflib


From: Mark H Weaver
Subject: [PATCH] gnu: Add giflib
Date: Fri, 21 Feb 2014 06:04:55 -0500

This patch adds giflib, which is API and ABI compatible with libungif,
but can also write GIFs.  My motivation was to add it as an input to
emacs (I'll post that patch soon).

     Mark

>From adc4a0aa91a14f868d00a9a506c913d9f8dd0549 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <address@hidden>
Date: Fri, 21 Feb 2014 03:21:57 -0500
Subject: [PATCH] gnu: Add giflib.

* gnu/packages/giflib.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
---
 gnu-system.am           |  1 +
 gnu/packages/giflib.scm | 76 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 77 insertions(+)
 create mode 100644 gnu/packages/giflib.scm

diff --git a/gnu-system.am b/gnu-system.am
index 825ef09..f089a71 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -81,6 +81,7 @@ GNU_SYSTEM_MODULES =                          \
   gnu/packages/geeqie.scm                      \
   gnu/packages/gettext.scm                     \
   gnu/packages/ghostscript.scm                 \
+  gnu/packages/giflib.scm                      \
   gnu/packages/gkrellm.scm                     \
   gnu/packages/gl.scm                          \
   gnu/packages/glib.scm                                \
diff --git a/gnu/packages/giflib.scm b/gnu/packages/giflib.scm
new file mode 100644
index 0000000..849586e
--- /dev/null
+++ b/gnu/packages/giflib.scm
@@ -0,0 +1,76 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2014 Mark H Weaver <address@hidden>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages giflib)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (srfi srfi-1)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages perl))
+
+(define-public giflib
+  (package
+    (name "giflib")
+    (version "4.2.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/giflib/giflib-"
+                                  (first (string-split version #\.))
+                                  ".x/giflib-" version ".tar.bz2"))
+              (sha256
+               (base32 
"0rmp7ipzk42r841bggd7bfqk4p8qsssbp4wcck4qnz7p4rkxbj0a"))))
+    (build-system gnu-build-system)
+    (outputs '("bin"                    ; utility programs
+               "out"))                  ; library
+    (inputs `(("libx11" ,libx11)
+              ("libice" ,libice)
+              ("libsm" ,libsm)
+              ("perl" ,perl)))
+    (arguments
+     `(#:phases (alist-cons-after
+                 'unpack 'disable-html-doc-gen
+                 (lambda _
+                   (substitute* "doc/Makefile.in"
+                     (("^all: allhtml manpages") "")))
+                 (alist-cons-after
+                  'install 'install-manpages
+                  (lambda* (#:key outputs #:allow-other-keys)
+                    (let* ((bin (assoc-ref outputs "bin"))
+                           (man1dir (string-append bin "/share/man/man1")))
+                      (mkdir-p man1dir)
+                      (for-each (lambda (file)
+                                  (let ((base (basename file)))
+                                    (format #t "installing `~a' to `~a'~%"
+                                            base man1dir)
+                                    (copy-file file
+                                               (string-append
+                                                man1dir "/" base))))
+                                (find-files "doc" "\\.1"))))
+                  %standard-phases))))
+    (synopsis "Tools and library for working with GIF images")
+    (description
+     "giflib is a library for reading and writing GIF images.  It is API and
+ABI compatible with libungif which was in wide use while the LZW compression
+algorithm was patented.  Tools are also included to convert, manipulate,
+compose, and analyze GIF images.")
+    (home-page "http://giflib.sourceforge.net/";)
+    (license x11)))
+
+;;; giflib.scm ends here
-- 
1.8.4


reply via email to

[Prev in Thread] Current Thread [Next in Thread]