summaryrefslogtreecommitdiff
path: root/lang/guile
diff options
context:
space:
mode:
authorfhajny <fhajny@pkgsrc.org>2018-06-19 11:07:25 +0000
committerfhajny <fhajny@pkgsrc.org>2018-06-19 11:07:25 +0000
commitff87f0f5df54a565abc9de4dbb9f6f8701e689dd (patch)
tree6da7d72c5aab6a7fb940955d612e7c7b9341ae29 /lang/guile
parent92f185871ee74d19fd23491bdec67af6436de296 (diff)
downloadpkgsrc-ff87f0f5df54a565abc9de4dbb9f6f8701e689dd.tar.gz
lang/guile: Add search path to default extensions for lt_dlopenext.
Fixes usage with packages like print/lilypond on at least Darwin and SunOS, where dynamically loaded guile extensions cannot be found without resorting to LTDL_LIBRARY_PATH quirks.
Diffstat (limited to 'lang/guile')
-rw-r--r--lang/guile/Makefile4
-rw-r--r--lang/guile/distinfo4
-rw-r--r--lang/guile/patches/patch-libguile_Makefile.in14
-rw-r--r--lang/guile/patches/patch-libguile_dynl.c22
4 files changed, 41 insertions, 3 deletions
diff --git a/lang/guile/Makefile b/lang/guile/Makefile
index 30cd3561d4a..31829eec6e7 100644
--- a/lang/guile/Makefile
+++ b/lang/guile/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.109 2017/03/16 10:07:38 wiz Exp $
+# $NetBSD: Makefile,v 1.110 2018/06/19 11:07:25 fhajny Exp $
DISTNAME= guile-1.8.8
-PKGREVISION= 8
+PKGREVISION= 9
CATEGORIES= lang
MASTER_SITES= ${MASTER_SITE_GNU:=guile/}
diff --git a/lang/guile/distinfo b/lang/guile/distinfo
index 7402db0f3ab..f18d6f9dcb0 100644
--- a/lang/guile/distinfo
+++ b/lang/guile/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.50 2016/11/10 09:26:21 maya Exp $
+$NetBSD: distinfo,v 1.51 2018/06/19 11:07:25 fhajny Exp $
SHA1 (guile-1.8.8.tar.gz) = 548d6927aeda332b117f8fc5e4e82c39a05704f9
RMD160 (guile-1.8.8.tar.gz) = 8ac185a72ad8394b14d5377549e5bbf02889faaa
@@ -16,5 +16,7 @@ SHA1 (patch-ao) = b648826c5e951cd98ca6e2cdf48435cbdba096ff
SHA1 (patch-doc_ref_fdl.texi) = c7e70f9b30f792dd38c18550739673d255f9fc5c
SHA1 (patch-doc_ref_gh.texi) = b6b841102111d5c5813ba729c9c0ebfb3d6ca1e0
SHA1 (patch-doc_tutorial_guile-tut.texi) = 5ad2c5942dc7715344115847793bd4f2eaacd7ca
+SHA1 (patch-libguile_Makefile.in) = ea219cc894d92ec92b409846876e2eff21382107
+SHA1 (patch-libguile_dynl.c) = 01ec790842d003eaba3500ab79ba9d4e77d925d6
SHA1 (patch-libguile_guile-snarf-docs.in) = 392b0774a8d21bc06f2cf741683773b918bc8ffb
SHA1 (patch-libguile_guile-snarf.in) = d534adce77040d441b0771efc536bc7e8560365d
diff --git a/lang/guile/patches/patch-libguile_Makefile.in b/lang/guile/patches/patch-libguile_Makefile.in
new file mode 100644
index 00000000000..cbad08244e5
--- /dev/null
+++ b/lang/guile/patches/patch-libguile_Makefile.in
@@ -0,0 +1,14 @@
+$NetBSD: patch-libguile_Makefile.in,v 1.1 2018/06/19 11:07:25 fhajny Exp $
+
+Define libdir for use in dynl.
+
+--- libguile/Makefile.in.orig 2010-12-13 19:29:39.000000000 +0000
++++ libguile/Makefile.in
+@@ -2124,6 +2124,7 @@ libpath.h: $(srcdir)/Makefile.in $(top_
+ @echo '/* generated by Makefile */' > libpath.tmp
+ @echo '#define SCM_PKGDATA_DIR "$(pkgdatadir)"' >> libpath.tmp
+ @echo '#define SCM_LIBRARY_DIR "$(pkgdatadir)/$(GUILE_EFFECTIVE_VERSION)"'>>libpath.tmp
++ @echo '#define SCM_LIB_DIR "$(libdir)"'>>libpath.tmp
+ @echo '#define SCM_SITE_DIR "$(pkgdatadir)/site"' >> libpath.tmp
+ @echo '#define SCM_BUILD_INFO { \' >> libpath.tmp
+ @echo ' { "srcdir", "'"`cd @srcdir@; pwd`"'" }, \' >> libpath.tmp
diff --git a/lang/guile/patches/patch-libguile_dynl.c b/lang/guile/patches/patch-libguile_dynl.c
new file mode 100644
index 00000000000..4ccbbc7d2e8
--- /dev/null
+++ b/lang/guile/patches/patch-libguile_dynl.c
@@ -0,0 +1,22 @@
+$NetBSD: patch-libguile_dynl.c,v 1.1 2018/06/19 11:07:25 fhajny Exp $
+
+Add search path for bundled modules.
+
+--- libguile/dynl.c.orig 2010-12-13 17:24:39.000000000 +0000
++++ libguile/dynl.c
+@@ -56,6 +56,7 @@ maybe_drag_in_eprintf ()
+ #include "libguile/lang.h"
+ #include "libguile/validate.h"
+ #include "libguile/dynwind.h"
++#include "libguile/libpath.h"
+
+ #include <ltdl.h>
+
+@@ -73,6 +74,7 @@ maybe_drag_in_eprintf ()
+ static void *
+ sysdep_dynl_link (const char *fname, const char *subr)
+ {
++ lt_dladdsearchdir(SCM_LIB_DIR);
+ lt_dlhandle handle;
+ handle = lt_dlopenext (fname);
+ if (NULL == handle)