diff mbox

[2/2] gnu: netpbm: Fix location of X color name database.

Message ID CAKrPhPOmogM_TrirW36qRJg+nOo2avp1SY+0gTMPf3+PSX03fQ@mail.gmail.com
State New
Headers show

Commit Message

Federico Beffa May 13, 2016, 6:44 p.m. UTC
On Fri, May 13, 2016 at 7:10 PM, Andreas Enge <andreas@enge.fr> wrote:
> Hello,
>
> On Fri, May 13, 2016 at 06:51:27PM +0200, Federico Beffa wrote:
>> This fixes some of the provided programs like, e.g. 'pamtogif'.
>
> I think the common practice is to separate the switch to the %modify-phases
> syntax and the real change into two commits; right now, the diff looks big,
> but I imagine it must be rather trivial.

Indeed the change is trivial.

Regards,
Fede

Comments

Alex Kost May 14, 2016, 4:25 p.m. UTC | #1
Federico Beffa (2016-05-13 21:44 +0300) wrote:

> On Fri, May 13, 2016 at 7:10 PM, Andreas Enge <andreas@enge.fr> wrote:
>> Hello,
>>
>> On Fri, May 13, 2016 at 06:51:27PM +0200, Federico Beffa wrote:
>>> This fixes some of the provided programs like, e.g. 'pamtogif'.
>>
>> I think the common practice is to separate the switch to the %modify-phases
>> syntax and the real change into two commits; right now, the diff looks big,
>> but I imagine it must be rather trivial.
>
> Indeed the change is trivial.
>
> Regards,
> Fede
>
> From be37669b50c000ad45eb85075f32d4f23c26489d Mon Sep 17 00:00:00 2001
> From: Federico Beffa <beffa@fbengineering.ch>
> Date: Fri, 13 May 2016 15:32:49 +0200
> Subject: [PATCH 2/3] gnu: netpbm: Use 'modify-phases' syntax.
>
> * gnu/packages/netpbm.scm (netpbm)[arguments]: Do it.
> ---
>  gnu/packages/netpbm.scm | 86 ++++++++++++++++++++++++-------------------------
>  1 file changed, 42 insertions(+), 44 deletions(-)
>
> diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm
> index 475635e..d7d8576 100644
> --- a/gnu/packages/netpbm.scm
> +++ b/gnu/packages/netpbm.scm
> @@ -99,50 +99,48 @@
>         ("python" ,python-wrapper)))
>     (arguments
>      `(#:phases
> -      (alist-replace
> -       'configure
> -       (lambda _
> -        (copy-file "config.mk.in" "config.mk")
> -        (chmod "config.mk" #o664)
> -        (let ((f (open-file "config.mk" "a")))
> -         (display "CC=gcc\n" f)
> -         (display "CFLAGS_SHLIB += -fPIC\n" f)
> -         (display "TIFFLIB = libtiff.so\n" f)
> -         (display "JPEGLIB = libjpeg.so\n" f)
> -         (display "ZLIB = libz.so\n" f)
> -         (display (string-append "LDFLAGS += -Wl,-rpath=" %output "/lib") f)
> -         (close-port f)))
> -      (alist-cons-before
> -       'check 'setup-check
> -       (lambda _
> -         ;; 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") "")
> -           (("pnmpsnr.test") "")
> -           (("pnmremap1.test") "")
> -           (("gif-roundtrip.test") "")))
> -      (alist-replace
> -       'install
> -       (lambda* (#:key outputs make-flags #:allow-other-keys)
> -        (let ((out (assoc-ref outputs "out")))
> -         (apply system* "make" "package"
> -                        (string-append "pkgdir=" 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)))))
> +      (modify-phases %standard-phases
> +       (replace 'configure
> +         (lambda* (#:key inputs outputs #:allow-other-keys)
> +           (copy-file "config.mk.in" "config.mk")
> +           (chmod "config.mk" #o664)
> +           (let ((f (open-file "config.mk" "a")))
> +             (display "CC=gcc\n" f)
> +             (display "CFLAGS_SHLIB += -fPIC\n" f)
> +             (display "TIFFLIB = libtiff.so\n" f)
> +             (display "JPEGLIB = libjpeg.so\n" f)
> +             (display "ZLIB = libz.so\n" f)
> +             (display (string-append "LDFLAGS += -Wl,-rpath=" %output "/lib") f)
> +             (close-port f))))
> +       (add-before 'check 'setup-check
> +         (lambda _
> +           ;; 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") "")
> +             (("pnmpsnr.test") "")
> +             (("pnmremap1.test") "")
> +             (("gif-roundtrip.test") ""))))
> +       (replace 'install
> +         (lambda* (#:key outputs make-flags #:allow-other-keys)
> +           (let ((out (assoc-ref outputs "out")))
> +             (apply system* "make" "package"
> +                    (string-append "pkgdir=" 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")))))))))

I think it would also be good to add #t to the end of all these phases
to make sure that when the phases succeed, they return non-false value.
Ludovic Courtès May 15, 2016, 8:04 p.m. UTC | #2
Alex Kost <alezost@gmail.com> skribis:

> I think it would also be good to add #t to the end of all these phases
> to make sure that when the phases succeed, they return non-false value.

Agreed.

Federico: Please commit to ‘core-updates’, since many many things depend
on netpbm.

Thanks!

Ludo’.
Federico Beffa May 16, 2016, 12:33 p.m. UTC | #3
On Sat, May 14, 2016 at 6:25 PM, Alex Kost <alezost@gmail.com> wrote:
> Federico Beffa (2016-05-13 21:44 +0300) wrote:
>
>> On Fri, May 13, 2016 at 7:10 PM, Andreas Enge <andreas@enge.fr> wrote:
>>> Hello,
>>>
>>> On Fri, May 13, 2016 at 06:51:27PM +0200, Federico Beffa wrote:
>>>> This fixes some of the provided programs like, e.g. 'pamtogif'.
>>>
>>> I think the common practice is to separate the switch to the %modify-phases
>>> syntax and the real change into two commits; right now, the diff looks big,
>>> but I imagine it must be rather trivial.
>>
>> Indeed the change is trivial.
>>
>> Regards,
>> Fede
>>
>> From be37669b50c000ad45eb85075f32d4f23c26489d Mon Sep 17 00:00:00 2001
>> From: Federico Beffa <beffa@fbengineering.ch>
>> Date: Fri, 13 May 2016 15:32:49 +0200
>> Subject: [PATCH 2/3] gnu: netpbm: Use 'modify-phases' syntax.
>>
>> * gnu/packages/netpbm.scm (netpbm)[arguments]: Do it.
>> ---
>>  gnu/packages/netpbm.scm | 86 ++++++++++++++++++++++++-------------------------
>>  1 file changed, 42 insertions(+), 44 deletions(-)
>>
>> diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm
>> index 475635e..d7d8576 100644
>> --- a/gnu/packages/netpbm.scm
>> +++ b/gnu/packages/netpbm.scm
>> @@ -99,50 +99,48 @@
>>         ("python" ,python-wrapper)))
>>     (arguments
>>      `(#:phases
>> -      (alist-replace
>> -       'configure
>> -       (lambda _
>> -        (copy-file "config.mk.in" "config.mk")
>> -        (chmod "config.mk" #o664)
>> -        (let ((f (open-file "config.mk" "a")))
>> -         (display "CC=gcc\n" f)
>> -         (display "CFLAGS_SHLIB += -fPIC\n" f)
>> -         (display "TIFFLIB = libtiff.so\n" f)
>> -         (display "JPEGLIB = libjpeg.so\n" f)
>> -         (display "ZLIB = libz.so\n" f)
>> -         (display (string-append "LDFLAGS += -Wl,-rpath=" %output "/lib") f)
>> -         (close-port f)))
>> -      (alist-cons-before
>> -       'check 'setup-check
>> -       (lambda _
>> -         ;; 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") "")
>> -           (("pnmpsnr.test") "")
>> -           (("pnmremap1.test") "")
>> -           (("gif-roundtrip.test") "")))
>> -      (alist-replace
>> -       'install
>> -       (lambda* (#:key outputs make-flags #:allow-other-keys)
>> -        (let ((out (assoc-ref outputs "out")))
>> -         (apply system* "make" "package"
>> -                        (string-append "pkgdir=" 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)))))
>> +      (modify-phases %standard-phases
>> +       (replace 'configure
>> +         (lambda* (#:key inputs outputs #:allow-other-keys)
>> +           (copy-file "config.mk.in" "config.mk")
>> +           (chmod "config.mk" #o664)
>> +           (let ((f (open-file "config.mk" "a")))
>> +             (display "CC=gcc\n" f)
>> +             (display "CFLAGS_SHLIB += -fPIC\n" f)
>> +             (display "TIFFLIB = libtiff.so\n" f)
>> +             (display "JPEGLIB = libjpeg.so\n" f)
>> +             (display "ZLIB = libz.so\n" f)
>> +             (display (string-append "LDFLAGS += -Wl,-rpath=" %output "/lib") f)
>> +             (close-port f))))
>> +       (add-before 'check 'setup-check
>> +         (lambda _
>> +           ;; 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") "")
>> +             (("pnmpsnr.test") "")
>> +             (("pnmremap1.test") "")
>> +             (("gif-roundtrip.test") ""))))
>> +       (replace 'install
>> +         (lambda* (#:key outputs make-flags #:allow-other-keys)
>> +           (let ((out (assoc-ref outputs "out")))
>> +             (apply system* "make" "package"
>> +                    (string-append "pkgdir=" 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")))))))))
>
> I think it would also be good to add #t to the end of all these phases
> to make sure that when the phases succeed, they return non-false value.

I did it in a separate commit as Andreas asked to have a commit where
we only transition to the modify-phases syntax without modifications
(which is this one).

Regards,
Fede
Federico Beffa May 16, 2016, 12:34 p.m. UTC | #4
On Sun, May 15, 2016 at 10:04 PM, Ludovic Courtès <ludo@gnu.org> wrote:
> Alex Kost <alezost@gmail.com> skribis:
>
>> I think it would also be good to add #t to the end of all these phases
>> to make sure that when the phases succeed, they return non-false value.
>
> Agreed.
>
> Federico: Please commit to ‘core-updates’, since many many things depend
> on netpbm.

I noticed ;-)
diff mbox

Patch

From 9fd8a154c3fc591b01e4fb2c7f67fbac4daea688 Mon Sep 17 00:00:00 2001
From: Federico Beffa <beffa@fbengineering.ch>
Date: Fri, 13 May 2016 20:39:20 +0200
Subject: [PATCH 3/3] gnu: netpbm: Fix location of X color name database.

* gnu/packages/netpbm.scm (netpbm)[inputs]: Add 'xorg-rgb'.
  [arguments]: In the 'configure' phase, patch 'pm_config.in.h' with the full
  path to the 'rgb.txt' file.
---
 gnu/packages/netpbm.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm
index d7d8576..d0955fe 100644
--- a/gnu/packages/netpbm.scm
+++ b/gnu/packages/netpbm.scm
@@ -27,6 +27,7 @@ 
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
   #:use-module (gnu packages xml)
+  #:use-module (gnu packages xorg)
   #:use-module (guix build-system gnu)
   #:use-module ((guix licenses) #:select (gpl2))
   #:use-module (guix packages)
@@ -91,6 +92,7 @@ 
              ("libpng" ,libpng)
              ("libtiff" ,libtiff)
              ("libxml2" ,libxml2)
+             ("xorg-rgb" ,xorg-rgb)
              ("zlib" ,zlib)))
    (native-inputs
      `(("flex" ,flex)
@@ -111,7 +113,11 @@ 
              (display "JPEGLIB = libjpeg.so\n" f)
              (display "ZLIB = libz.so\n" f)
              (display (string-append "LDFLAGS += -Wl,-rpath=" %output "/lib") f)
-             (close-port f))))
+             (close-port f))
+           (let ((rgb (string-append (assoc-ref inputs "xorg-rgb")
+                                     "/share/X11/rgb.txt")))
+             (substitute* "pm_config.in.h"
+               (("/usr/share/X11/rgb.txt") rgb)))))
        (add-before 'check 'setup-check
          (lambda _
            ;; install temporarily into /tmp/netpbm
-- 
2.7.4