Many thanks to Andreas for detailed comments about licenses.

Ludovic Courtès (2014-09-25 16:56 +0400) wrote:

> Alex Kost <alez...@gmail.com> skribis:
>
>> +(define-public imlib2
>
> [...]
>
>> +    (home-page "http://sourceforge.net/projects/enlightenment/";)
>> +    (synopsis
>> +     "Library for loading, saving, rendering and manipulating image files")
>
> s/Library for//

Done.  Is there any convention about that?  I'm asking because there are
several "types" of synopses:

- Several synopses begin with "Library for" (libuv, fontconfig,
  lightning, ...)

- Few ones begin with "Library to" (cloog, petsc, ...)

- Some packages have the following synopsis structure:

    <package-name>, a library ...

  Some of them begin with a capital letter (libjpeg, libgpg-error,
  freetype, ...), and some with a small one (fpill, libogg, libpaper, ...)

- Many synopses end with "library" (libsamplerate, clucene, libgcrypt, ...)

Also (as I'm writing about synopses): is there a convention to begin a
synopsis with a capital letter?  There are synopses beginning with a
small letter (not counting synopses beginning with a package name):
gnome-vfs, cdparanoia, signing-party, ...

Also there are 2 packages with synopses beginning with an article:
“pkg-config” and “id3lib”, but it's a lower-case article (perhaps "guix
lint" should be adjusted for this case).

> Actually this should probably go to (gnu packages image), which is home
> for all its friends.

OK, initially I wanted to put it there, but then I found that “giflib”
is in a separate file, so I thought that maybe "image.scm" contains some
special image libraries.

If “giflib” also should be put in "image.scm", please don't move it
there before I push these imlib2/giblib commits  :-)
Thanks.

The modified patch is attached.  Good enough?

>From 11c8f170a0f3c8f5f4ed4730681224de46745d62 Mon Sep 17 00:00:00 2001
From: Alex Kost <alez...@gmail.com>
Date: Thu, 25 Sep 2014 12:27:25 +0400
Subject: [PATCH 1/3] gnu: Add imlib2.

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

diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 981d3a8..a9c3a5d 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -23,6 +23,8 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages ghostscript)         ;lcms
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu packages giflib)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -213,3 +215,53 @@ an indexing tool useful for the JPIP protocol, JPWL-tools for
 error-resilience, a Java-viewer for j2k-images, ...")
     (home-page "http://jbig2dec.sourceforge.net/";)
     (license license:bsd-2)))
+
+(define-public imlib2
+  (package
+    (name "imlib2")
+    (version "1.4.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "mirror://sourceforge/enlightenment/imlib2-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "0kjggg4gfn6chi8v1xddd5qwk1fbnl7rvd93qiclv5v11s615k0p"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(;; Will be fixed in the next release:
+       ;; <http://git.enlightenment.org/legacy/imlib2.git/commit/?id=5dde234b2d3caf067ea827858c53adc5d4c56c13>.
+       #:phases (alist-cons-before
+                 'configure 'patch-config
+                 (lambda _
+                   (substitute* "imlib2-config.in"
+                     (("@my_libs@") "")))
+                 %standard-phases)))
+    (native-inputs
+     `(("pkgconfig" ,pkg-config)))
+    (inputs
+     `(("libx11" ,libx11)
+       ("libxext" ,libxext)
+       ("freetype" ,freetype)
+       ("libjpeg" ,libjpeg)
+       ("libpng" ,libpng)
+       ("libtiff" ,libtiff)
+       ("giflib" ,giflib)
+       ("bzip2" ,bzip2)))
+    (home-page "http://sourceforge.net/projects/enlightenment/";)
+    (synopsis
+     "Loading, saving, rendering and manipulating image files")
+    (description
+     "Imlib2 is a library that does image file loading and saving as well as
+rendering, manipulation, arbitrary polygon support, etc.
+
+It does ALL of these operations FAST.  Imlib2 also tries to be highly
+intelligent about doing them, so writing naive programs can be done easily,
+without sacrificing speed.
+
+This is a complete rewrite over the Imlib 1.x series.  The architecture is
+more modular, simple, and flexible.")
+    ;; This license adds several sentences to the original X11 license.
+    (license (license:x11-style "file://COPYING"
+                                "See 'COPYING' in the distribution."))))
-- 
2.1.0

Reply via email to