unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Fix gettext linkage to expat
@ 2015-04-05 15:40 Andy Wingo
  2015-04-05 22:19 ` Ludovic Courtès
  0 siblings, 1 reply; 2+ messages in thread
From: Andy Wingo @ 2015-04-05 15:40 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 327 bytes --]

Gettext wants to dlopen expat on "linux" platforms.  Guix used to fix
this, but the fix was removed for some reason in the past, resulting in
an xgettext that can't find expat and thus can't handle Glade files.
GTK+ 3.16.0 requires xgettext to support Glade files.  This patch fixes
the issue.  Thanks to Ludovic for the tip.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-gnu-gettext-Link-explicitly-to-libexpat-again.patch --]
[-- Type: text/x-diff, Size: 1516 bytes --]

From 8e2db815693ef8a300e860fd2601ad1996f90cf9 Mon Sep 17 00:00:00 2001
From: Andy Wingo <wingo@pobox.com>
Date: Sun, 5 Apr 2015 10:22:28 +0200
Subject: [PATCH 1/3] gnu: gettext: Link explicitly to libexpat, again.

* gnu/packages/gettext.scm (gnu-gettext): Re-enable patch from
  0e4e4b1329bcf881620f230fda60b6b63d1f8356 to explictly link to
  libexpat.  Otherwise libexpat was searched at runtime via dlopen,
  which obviously doesn't work in a Guix context.
---
 gnu/packages/gettext.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 27b5fb5..3a96cd6 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -70,7 +70,15 @@
                        (substitute* "gettext-tools/src/project-id"
                          (("/bin/pwd")
                           "pwd")))))
-                 %standard-phases)
+                 (alist-cons-before
+                  'configure 'link-expat
+                  (lambda _
+                    ;; Gettext defaults to opening expat via dlopen on
+                    ;; "Linux".  Change to link directly.
+                    (substitute* "gettext-tools/configure"
+                      (("LIBEXPAT=\"-ldl\"") "LIBEXPAT=\"-ldl -lexpat\"")
+                      (("LTLIBEXPAT=\"-ldl\"") "LTLIBEXPAT=\"-ldl -lexpat\"")))
+                  %standard-phases))
 
        ;; When tests fail, we want to know the details.
        #:make-flags '("VERBOSE=yes")))
-- 
2.2.1


[-- Attachment #3: Type: text/plain, Size: 26 bytes --]


-- 
http://wingolog.org/

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] Fix gettext linkage to expat
  2015-04-05 15:40 [PATCH] Fix gettext linkage to expat Andy Wingo
@ 2015-04-05 22:19 ` Ludovic Courtès
  0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2015-04-05 22:19 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guix-devel

Andy Wingo <wingo@pobox.com> skribis:

> From 8e2db815693ef8a300e860fd2601ad1996f90cf9 Mon Sep 17 00:00:00 2001
> From: Andy Wingo <wingo@pobox.com>
> Date: Sun, 5 Apr 2015 10:22:28 +0200
> Subject: [PATCH 1/3] gnu: gettext: Link explicitly to libexpat, again.
>
> * gnu/packages/gettext.scm (gnu-gettext): Re-enable patch from
>   0e4e4b1329bcf881620f230fda60b6b63d1f8356 to explictly link to
>   libexpat.  Otherwise libexpat was searched at runtime via dlopen,
>   which obviously doesn't work in a Guix context.

Pushed to ‘core-updates’, which will hopefully be merged within a week
or so.

Thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-04-05 22:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-05 15:40 [PATCH] Fix gettext linkage to expat Andy Wingo
2015-04-05 22:19 ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).