Tue Sep 10 03:47:28 2019 UTC ()
guile22: further packaging fixes

My earlier try at fixing Linux only worked with particular distros. To
get around this, just install a stub charset.alias file universally on
Linux. This is the simplest thing to do for now. While here, this is
also breaking on recent Darwin releases because the build scripting
expects GNU sed.


(gutteridge)
diff -r1.12 -r1.13 pkgsrc/lang/guile22/Makefile
diff -r1.7 -r1.8 pkgsrc/lang/guile22/distinfo
diff -r0 -r1.1 pkgsrc/lang/guile22/patches/patch-lib_Makefile.in

cvs diff -r1.12 -r1.13 pkgsrc/lang/guile22/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/guile22/Makefile 2019/09/03 13:20:06 1.12
+++ pkgsrc/lang/guile22/Makefile 2019/09/10 03:47:27 1.13
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1# $NetBSD: Makefile,v 1.12 2019/09/03 13:20:06 gutteridge Exp $ 1# $NetBSD: Makefile,v 1.13 2019/09/10 03:47:27 gutteridge Exp $
2 2
3PKGREVISION= 1 
4DISTNAME= guile-2.2.6 3DISTNAME= guile-2.2.6
5PKGNAME= ${DISTNAME:S/guile/guile22/} 4PKGNAME= ${DISTNAME:S/guile/guile22/}
 5PKGREVISION= 2
6CATEGORIES= lang 6CATEGORIES= lang
7MASTER_SITES= ftp://ftp.gnu.org/gnu/guile/ 7MASTER_SITES= ftp://ftp.gnu.org/gnu/guile/
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://www.gnu.org/software/guile/ 10HOMEPAGE= https://www.gnu.org/software/guile/
11COMMENT= Official extension language for the GNU operating system 11COMMENT= Official extension language for the GNU operating system
12LICENSE= gnu-lgpl-v3 12LICENSE= gnu-lgpl-v3
13 13
14# Currently, 2.0 is primary. 14# Currently, 2.0 is primary.
15GUILE_SUBDIR= guile/2.2 15GUILE_SUBDIR= guile/2.2
16#GUILE_SUBDIR= # empty 16#GUILE_SUBDIR= # empty
17 17
18# guile does not like the --build and --host triplets on NetBSD 18# guile does not like the --build and --host triplets on NetBSD
@@ -29,54 +29,55 @@ CONFIGURE_ARGS+= --prefix=${GUILE_PREFI @@ -29,54 +29,55 @@ CONFIGURE_ARGS+= --prefix=${GUILE_PREFI
29CONFIGURE_ARGS+= --infodir=${GUILE_PREFIX:Q}/info 29CONFIGURE_ARGS+= --infodir=${GUILE_PREFIX:Q}/info
30CONFIGURE_ARGS+= --mandir=${GUILE_PREFIX:Q}/man 30CONFIGURE_ARGS+= --mandir=${GUILE_PREFIX:Q}/man
31BUILDLINK_PASSTHRU_DIRS+= ${GUILE_PREFIX} 31BUILDLINK_PASSTHRU_DIRS+= ${GUILE_PREFIX}
32LDFLAGS+= ${COMPILER_RPATH_FLAG}${GUILE_PREFIX}/lib 32LDFLAGS+= ${COMPILER_RPATH_FLAG}${GUILE_PREFIX}/lib
33.else 33.else
34CONFIGURE_ARGS+= --prefix=${PREFIX} 34CONFIGURE_ARGS+= --prefix=${PREFIX}
35CONFIGURE_ARGS+= --infodir=${PREFIX}/${PKGINFODIR} 35CONFIGURE_ARGS+= --infodir=${PREFIX}/${PKGINFODIR}
36CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR} 36CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR}
37.endif 37.endif
38 38
39INFO_FILES= yes 39INFO_FILES= yes
40USE_LIBTOOL= yes 40USE_LIBTOOL= yes
41USE_TOOLS+= gmake pkg-config 41USE_TOOLS+= gmake pkg-config
 42USE_TOOLS.Darwin+= gsed
42 43
43PKGCONFIG_OVERRIDE+= meta/guile-2.2.pc.in 44PKGCONFIG_OVERRIDE+= meta/guile-2.2.pc.in
44# known broken: test-loose-ends on NetBSD/current 45# known broken: test-loose-ends on NetBSD/current
45# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24003 46# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24003
46TEST_TARGET= check 47TEST_TARGET= check
47 48
48SUBST_CLASSES+= tools 49SUBST_CLASSES+= tools
49SUBST_SED.tools+= -e "s,\\((define %pkg-config-program .\\).*\\(.)\\),\\1${PREFIX}/bin/pkg-config\\2," 50SUBST_SED.tools+= -e "s,\\((define %pkg-config-program .\\).*\\(.)\\),\\1${PREFIX}/bin/pkg-config\\2,"
50SUBST_STAGE.tools= post-build 51SUBST_STAGE.tools= post-build
51SUBST_FILES.tools+= meta/guile-config 52SUBST_FILES.tools+= meta/guile-config
52SUBST_MESSAGE.tools= Fixing path to pkg-config in installed file. 53SUBST_MESSAGE.tools= Fixing path to pkg-config in installed file.
53 54
54# XXX: less tests would fail if we made libunistring use GNU iconv too 55# XXX: less tests would fail if we made libunistring use GNU iconv too
55#USE_GNU_ICONV= yes 56#USE_GNU_ICONV= yes
56 57
57OPSYSVARS+= GUILE_LIBNAME 58OPSYSVARS+= GUILE_LIBNAME
58GUILE_LIBNAME.Darwin= a 59GUILE_LIBNAME.Darwin= a
59GUILE_LIBNAME.FreeBSD= so.30 60GUILE_LIBNAME.FreeBSD= so.30
60GUILE_LIBNAME.*= so.22.8.1 61GUILE_LIBNAME.*= so.22.8.1
61 62
62PLIST_SUBST+= GUILE_LIBNAME=${GUILE_LIBNAME} 63PLIST_SUBST+= GUILE_LIBNAME=${GUILE_LIBNAME}
63PRINT_PLIST_AWK+= {gsub(/${GUILE_LIBNAME}/, "$${GUILE_LIBNAME}");} 64PRINT_PLIST_AWK+= {gsub(/${GUILE_LIBNAME}/, "$${GUILE_LIBNAME}");}
64 65
65.include "../../mk/bsd.prefs.mk" 66.include "../../mk/bsd.prefs.mk"
66 67
67# If not Linux+glibc or Darwin, an extra charset.alias file is installed 68# If not Darwin, an extra charset.alias file is installed
68PLIST_VARS+= charset 69PLIST_VARS+= charset
69.if (${OPSYS} != "Linux" || !defined(GLIBC_VERSION)) && ${OPSYS} != "Darwin" 70.if ${OPSYS} != "Darwin"
70PLIST.charset= yes 71PLIST.charset= yes
71.endif 72.endif
72 73
73# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24002 74# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24002
74post-configure: 75post-configure:
75 ${ECHO} '#define FLEXIBLE_ARRAY_MEMBER /**/' >> ${WRKSRC}/config.h 76 ${ECHO} '#define FLEXIBLE_ARRAY_MEMBER /**/' >> ${WRKSRC}/config.h
76 77
77.include "../../devel/gmp/buildlink3.mk" 78.include "../../devel/gmp/buildlink3.mk"
78.include "../../converters/libiconv/buildlink3.mk" 79.include "../../converters/libiconv/buildlink3.mk"
79.include "../../devel/gettext-lib/buildlink3.mk" 80.include "../../devel/gettext-lib/buildlink3.mk"
80.include "../../devel/libltdl/buildlink3.mk" 81.include "../../devel/libltdl/buildlink3.mk"
81.include "../../textproc/libunistring/buildlink3.mk" 82.include "../../textproc/libunistring/buildlink3.mk"
82# needs a particular bug fix on NetBSD 83# needs a particular bug fix on NetBSD

cvs diff -r1.7 -r1.8 pkgsrc/lang/guile22/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/guile22/distinfo 2019/07/20 21:01:19 1.7
+++ pkgsrc/lang/guile22/distinfo 2019/09/10 03:47:27 1.8
@@ -1,7 +1,8 @@ @@ -1,7 +1,8 @@
1$NetBSD: distinfo,v 1.7 2019/07/20 21:01:19 wiz Exp $ 1$NetBSD: distinfo,v 1.8 2019/09/10 03:47:27 gutteridge Exp $
2 2
3SHA1 (guile-2.2.6.tar.gz) = 3e77ee0e5af2a9926fb04f43838e17c9323222ae 3SHA1 (guile-2.2.6.tar.gz) = 3e77ee0e5af2a9926fb04f43838e17c9323222ae
4RMD160 (guile-2.2.6.tar.gz) = 2f322d124a9c8eecd00f6b6288771c648639e3ed 4RMD160 (guile-2.2.6.tar.gz) = 2f322d124a9c8eecd00f6b6288771c648639e3ed
5SHA512 (guile-2.2.6.tar.gz) = 6a9264c2e10def5e69a0e755fb28a5f09b98bc202660d742b0ee144d4f486b049dcbce8bcece79c3af9421d43df6eca36adf82798520f75b09303f5e8c2092af 5SHA512 (guile-2.2.6.tar.gz) = 6a9264c2e10def5e69a0e755fb28a5f09b98bc202660d742b0ee144d4f486b049dcbce8bcece79c3af9421d43df6eca36adf82798520f75b09303f5e8c2092af
6Size (guile-2.2.6.tar.gz) = 18132818 bytes 6Size (guile-2.2.6.tar.gz) = 18132818 bytes
 7SHA1 (patch-lib_Makefile.in) = ae3428997a653d89cef9bd51f52b57b64431b753
7SHA1 (patch-libguile_loader.c) = 32b012d095c343995f93d0c8160411c4b0cfbee1 8SHA1 (patch-libguile_loader.c) = 32b012d095c343995f93d0c8160411c4b0cfbee1

File Added: pkgsrc/lang/guile22/patches/patch-lib_Makefile.in
$NetBSD: patch-lib_Makefile.in,v 1.1 2019/09/10 03:47:28 gutteridge Exp $

Install a (stub) charset.alias file unconditionally on Linux, to work
around mismatches between pkgsrc's means of identifying glibc vs. this
package's tools. This is the simplest fix for PLIST issues, for now...

--- lib/Makefile.in.orig	2019-06-30 20:06:43.000000000 +0000
+++ lib/Makefile.in
@@ -2969,18 +2969,14 @@ langinfo.h: langinfo.in.h $(top_builddir
 all-local: charset.alias ref-add.sed ref-del.sed
 install-exec-local: install-exec-localcharset
 install-exec-localcharset: all-local
-	if test $(GLIBC21) = no; then \
-	  case '$(host_os)' in \
-	    darwin[56]*) \
-	      need_charset_alias=true ;; \
-	    darwin* | cygwin* | mingw* | pw32* | cegcc*) \
-	      need_charset_alias=false ;; \
-	    *) \
-	      need_charset_alias=true ;; \
-	  esac ; \
-	else \
-	  need_charset_alias=false ; \
-	fi ; \
+	case '$(host_os)' in \
+	  darwin[56]*) \
+	    need_charset_alias=true ;; \
+	  darwin* | cygwin* | mingw* | pw32* | cegcc*) \
+	    need_charset_alias=false ;; \
+	  *) \
+	    need_charset_alias=true ;; \
+	esac ; \
 	if $$need_charset_alias; then \
 	  $(mkinstalldirs) $(DESTDIR)$(libdir) ; \
 	fi ; \