From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: Re: Netpbm Date: Mon, 21 Jan 2013 00:17:31 +0100 Message-ID: <201301210017.31083.andreas@enge.fr> References: <201301191803.17290.andreas@enge.fr> <87vcarqzgy.fsf@gnu.org> <201301202340.23178.andreas@enge.fr> Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_LsH/Q0B8CT5EfNK" Return-path: Received: from eggs.gnu.org ([208.118.235.92]:41228) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tx48y-0004fJ-0m for bug-guix@gnu.org; Sun, 20 Jan 2013 18:17:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tx48u-0005Os-Fi for bug-guix@gnu.org; Sun, 20 Jan 2013 18:17:39 -0500 In-Reply-To: <201301202340.23178.andreas@enge.fr> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: bug-guix@gnu.org --Boundary-00=_LsH/Q0B8CT5EfNK Content-Type: multipart/alternative; boundary="Boundary-01=_LsH/QvX+luB10ai" Content-Transfer-Encoding: 7bit --Boundary-01=_LsH/QvX+luB10ai Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Am Sonntag, 20. Januar 2013 schrieb Andreas Enge: > This is more annoying, I will investigate and try to remove non-free > parts. Now I remember, the one marked non-free is already not distributed; instead, the binary explains how to get the real code. I dropped it since it advertises non-free software. Of those without license according to debian, two actually are marked as public domain; I dropped all others. Now it just remains to decide what to put into the license field. Andreas --Boundary-01=_LsH/QvX+luB10ai Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 7bit

Am Sonntag, 20. Januar 2013 schrieb Andreas Enge:

> This is more annoying, I will investigate and try to remove non-free

> parts.

 

Now I remember, the one marked non-free is already not distributed; instead, the binary explains how to get the real code. I dropped it since it advertises non-free software.

 

Of those without license according to debian, two actually are marked as public domain; I dropped all others.

 

Now it just remains to decide what to put into the license field.

 

Andreas

 

--Boundary-01=_LsH/QvX+luB10ai-- --Boundary-00=_LsH/Q0B8CT5EfNK Content-Type: text/x-patch; charset="UTF-8"; name="0001-gnu-Add-netpbm.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-gnu-Add-netpbm.patch" =46rom c8fb31c0ae33b4226e8cbf7d381fddfd59c070cc Mon Sep 17 00:00:00 2001 =46rom: Andreas Enge Date: Sat, 19 Jan 2013 17:59:46 +0100 Subject: [PATCH] gnu: Add netpbm. * gnu/packages/netpbm.scm: New file. * Makefile.am (MODULES): Add it. =2D-- Makefile.am | 1 + gnu/packages/netpbm.scm | 126 +++++++++++++++++++++++++++++++++++++++++++= ++++ 2 files changed, 127 insertions(+) create mode 100644 gnu/packages/netpbm.scm diff --git a/Makefile.am b/Makefile.am index 5e3114d..faaad99 100644 =2D-- a/Makefile.am +++ b/Makefile.am @@ -105,6 +105,7 @@ MODULES =3D \ gnu/packages/mysql.scm \ gnu/packages/nano.scm \ gnu/packages/ncurses.scm \ + gnu/packages/netpbm.scm \ gnu/packages/nettle.scm \ gnu/packages/openssl.scm \ gnu/packages/oggvorbis.scm \ diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm new file mode 100644 index 0000000..d2213b8 =2D-- /dev/null +++ b/gnu/packages/netpbm.scm @@ -0,0 +1,126 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2013 Andreas Enge +;;; +;;; 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 . + +(define-module (gnu packages netpbm) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages flex) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages libjpeg) + #:use-module (gnu packages libpng) + #:use-module (gnu packages libtiff) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages xml) + #:use-module ((guix licenses) #:select (gpl2)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public netpbm + (package + (name "netpbm") + (version "10.61.01") + (source (origin + (method url-fetch) + ;; The "super-stable" and "stable" versions do not compile + ;; with newer libpng; we need the "advanced" version. The tarb= all + ;; on the server is generated by sourceforge from the "advance= d" + ;; branch of the subversion repository: + ;; svn checkout http://netpbm.svn.sourceforge.net/svnroot/netp= bm/advanced netpbm-version + (uri (string-append "http://www.multiprecision.org/guix/netpbm= =2D" + version ".tar.xz")) + (sha256 (base32 + "10nwvxc85kr6vhlhhahagy7s9848bbixl54b0p4ppim4g0dl10jz= ")))) + (build-system gnu-build-system) + (inputs `(("flex" ,flex) + ("ghostscript" ,ghostscript) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("libxml2" ,libxml2) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("zlib" ,zlib))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key #:allow-other-keys #:rest args) + (copy-file "config.mk.in" "config.mk") + (let ((f (open-file "config.mk" "a"))) + (display "CC=3Dgcc\n" f) + (display "CFLAGS_SHLIB +=3D -fPIC\n" f) + (display "TIFFLIB =3D libtiff.so\n" f) + (display "JPEGLIB =3D libjpeg.so\n" f) + (display "ZLIB =3D libz.so\n" f) + (close-port f) + ;; drop advertisement for non-free program + (substitute* "converter/ppm/Makefile" (("hpcdtoppm") "")) + ;; drop programs without license, see + ;; http://packages.debian.org/changelogs/pool/main/n/netpbm-free/= netpbm-free_10.0-12.2/libnetpbm10.copyright + (substitute* "converter/pbm/Makefile" (("pbmto4425") "")) + (substitute* "converter/pbm/Makefile" (("pbmtoln03") "")) + (substitute* "converter/pbm/Makefile" (("pbmtolps") "")) + (substitute* "converter/pbm/Makefile" (("pbmtopk") "")) + (substitute* "converter/pbm/Makefile" (("pktopbm") "")) + (substitute* "converter/pgm/Makefile" (("spottopgm") "")) + (substitute* "converter/ppm/Makefile" (("ppmtopjxl") "")) + )) + (alist-replace + 'check + (lambda* (#:key #:allow-other-keys #:rest args) + (let ((check (assoc-ref %standard-phases 'check))) + ;; install temporarily into /tmp/netpbm + (system* "make" "package") + ;; remove test requiring X + (substitute* "test/all-in-place.test" (("pamx") "")) + ;; do not worry about non-existing file + (substitute* "test/all-in-place.test" (("^rm ") "rm -f ")) + ;; remove four tests that fail for unknown reasons + (substitute* "test/Test-Order" (("all-in-place.test") "")) + (substitute* "test/Test-Order" (("pnmpsnr.test") "")) + (substitute* "test/Test-Order" (("pnmremap1.test") "")) + (substitute* "test/Test-Order" (("gif-roundtrip.test") "")) + (apply check args))) + (alist-replace + 'install + (lambda* (#:key outputs make-flags #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (apply system* "make" "package" + (string-append "pkgdir=3D" out) make-flags) + ;; copy static library + (copy-file (string-append out "/link/libnetpbm.a") + (string-append out "/lib/libnetpbm.a")) + ;; remove superfluous folders and files + (system* "rm" "-r" (string-append out "/link")) + (system* "rm" "-r" (string-append out "/misc")) + (with-directory-excursion out + (for-each delete-file + '("config_template" "pkginfo" "README" "VERSION"))))) + %standard-phases))))) + (synopsis "Netpbm, a toolkit for manipulation of images") + (description + "Netpbm is a toolkit for the manipulation of graphic images, including +the conversion of images between a variety of different formats. +There are over 300 separate tools in the package including converters for +about 100 graphics formats.") + (license gpl2) + (home-page "http://netpbm.sourceforge.net/"))) =2D-=20 1.7.10.4 --Boundary-00=_LsH/Q0B8CT5EfNK--