diff mbox

gnu: Correct libical zoneinfo search path.

Message ID 20160510165840.19dad23c@openmailbox.org
State New
Headers show

Commit Message

Kei Yamashita May 10, 2016, 8:58 p.m. UTC
On Tue, 10 May 2016 15:36:19 +0200
ludo@gnu.org (Ludovic Courtès) wrote:

> Hi,
> 
> Good catch!
> 
> Kei Yamashita <kei@openmailbox.org> skribis:
> 
> > +       (modify-phases %standard-phases
> > +         (add-before 'configure 'patch-paths
> > +           (lambda _
> > +             (let ((tzdata (assoc-ref %build-inputs "tzdata")))
> > +               (substitute* "src/libical/icaltz-util.c"
> > +                 (((string-append "\"/usr/share/zoneinfo\","
> > +                                  "\"/usr/lib/zoneinfo\","
> > +                                  "\"/etc/zoneinfo\","
> > +                                  "\"/usr/share/lib/zoneinfo\""))
> > +                  (string-append "\"" tzdata
> > "/share/zoneinfo\""))))  
> 
> Could you use a literal string for the pattern?  Maybe something like
> “char \*foo =.*$” would be clearer?
> 
> Otherwise LGTM, thanks!
> 
> Ludo’.

Is this what you mean?

+             (let ((tzdata (assoc-ref %build-inputs "tzdata")))
+               (substitute* "src/libical/icaltz-util.c"
+                 (("char \\*search_paths \\[\\] =.*$")
+                  (string-append
+                   "char *search_paths [] = "
+                   "{\"" tzdata "/share/zoneinfo\"};\n"))))
From 3a1e3ef7815fb1ee7e79c00103471c01524de7dd Mon Sep 17 00:00:00 2001
From: Kei Yamashita <kei@openmailbox.org>

Date: Tue, 10 May 2016 16:56:42 -0400
Subject: [PATCH] gnu: Correct libical zoneinfo search path.

* gnu/packages/calendar.scm (libical)[arguments]: substitute FHS-compliant
zoneinfo folders with location of tzdata's zoneinfo folder.
---
 gnu/packages/calendar.scm | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

-- 
2.7.4

Comments

Ludovic Courtès May 11, 2016, 1:48 p.m. UTC | #1
Kei Yamashita <kei@openmailbox.org> skribis:

> Is this what you mean?
>
> +             (let ((tzdata (assoc-ref %build-inputs "tzdata")))
> +               (substitute* "src/libical/icaltz-util.c"
> +                 (("char \\*search_paths \\[\\] =.*$")
> +                  (string-append
> +                   "char *search_paths [] = "
> +                   "{\"" tzdata "/share/zoneinfo\"};\n"))))

Exactly.

> From 3a1e3ef7815fb1ee7e79c00103471c01524de7dd Mon Sep 17 00:00:00 2001
> From: Kei Yamashita <kei@openmailbox.org>
> Date: Tue, 10 May 2016 16:56:42 -0400
> Subject: [PATCH] gnu: Correct libical zoneinfo search path.
>
> * gnu/packages/calendar.scm (libical)[arguments]: substitute FHS-compliant
> zoneinfo folders with location of tzdata's zoneinfo folder.

Pushed, thank you!

Ludo’.
diff mbox

Patch

diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm
index 5ef5ec9..5ddd358 100644
--- a/gnu/packages/calendar.scm
+++ b/gnu/packages/calendar.scm
@@ -1,6 +1,7 @@ 
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015 David Thompson <davet@gnu.org>
 ;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -47,11 +48,23 @@ 
                 "14lmjj63zyx88rf1z71l0v9ms4c2vpdhmixksjjxgywp5p2f7708"))))
     (build-system cmake-build-system)
     (arguments
-     '(#:tests? #f)) ; test suite appears broken
+     '(#:tests? #f ; test suite appears broken
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-paths
+           (lambda _
+             (let ((tzdata (assoc-ref %build-inputs "tzdata")))
+               (substitute* "src/libical/icaltz-util.c"
+                 (("char \\*search_paths \\[\\] =.*$")
+                  (string-append
+                   "char *search_paths [] = "
+                   "{\"" tzdata "/share/zoneinfo\"};\n"))))
+             #t)))))
     (native-inputs
      `(("perl" ,perl)))
     (inputs
-     `(("icu4c" ,icu4c)))
+     `(("icu4c" ,icu4c)
+       ("tzdata" ,tzdata)))
     (home-page "https://libical.github.io/libical/")
     (synopsis "iCalendar protocols and data formats implementation")
     (description