Subject: Re: libiconv breaks on Debian 3.1
To: Georg Schwarz <georg.schwarz@freenet.de>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 03/05/2005 18:20:37
On Sun, 6 Mar 2005, Georg Schwarz wrote:

> I am just building along pkgsrc on a newly installed Debian 3.1 (i386)
> system. I end up like this:
>
> ....
> ===> Returning to build of gettext-0.11.5nb5
> ===> Required package libiconv>=1.9.1nb4: NOT found
> ===> Verifying reinstall for ../../converters/libiconv
> ===> libiconv-1.9.2nb1 is not needed for Linux; it is included in GNU
> libc.
> *** Error code 1
> bmake: stopped in /home/schwarz/pkgsrc/converters/libiconv
>
> Oops, what is going wrong here?

I purposely used PKG_FAIL_REASON instead of PKG_SKIP_REASON to find out
what is forcing libiconv.

gettext needs gettext-lib which requires libiconv.

I also don't use gettext-lib because it is not needed under Linux.
I packaged up replace gettext related packages in pkgsrc-wip, but had some
slight issues and I never got around to updating pkgsrc.

As a workaround, please consider my patches below. I have been
using this for probably over a year (on NetBSD and Linux).

Index: devel/gettext/Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gettext/Makefile,v
retrieving revision 1.61
diff -b -u -r1.61 Makefile
--- devel/gettext/Makefile	3 Oct 2004 00:13:27 -0000	1.61
+++ devel/gettext/Makefile	6 Mar 2005 02:16:49 -0000
@@ -11,6 +11,9 @@
 HOMEPAGE=		http://www.gnu.org/software/gettext/gettext.html
 COMMENT=		Tools for providing messages in different languages

+CONFLICTS+=		gettext-tools-[0-9]*
+CONFLICTS+=		gettext-runtime-[0-9]*
+
 DEPENDS+=			gettext-m4-0.11.5:../../devel/gettext-m4
 BUILDLINK_DEPENDS.gettext+=	gettext-lib>=0.11.5

Index: devel/gettext-lib/Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gettext-lib/Makefile,v
retrieving revision 1.35
diff -b -u -r1.35 Makefile
--- devel/gettext-lib/Makefile	3 Dec 2004 15:14:54 -0000	1.35
+++ devel/gettext-lib/Makefile	6 Mar 2005 02:16:49 -0000
@@ -13,7 +13,13 @@
 HOMEPAGE=		http://www.gnu.org/software/gettext/gettext.html
 COMMENT=		Internationalized Message Handling Library (libintl)

+.include "../../mk/bsd.prefs.mk"
+.if ${OPSYS} == "Linux"
+PKG_FAIL_REASON+=	"${PKGNAME} is not needed for Linux; it is included in GNU libc."
+.endif
+
 CONFLICTS=		gettext<=0.10.35
+CONFLICTS+=		gettext-runtime-[0-9]*

 PKG_INSTALLATION_TYPES=	overwrite pkgviews

@@ -30,8 +36,6 @@
 INSTALL_TARGET=		install-exec
 BUILD_DIRS=		${WRKSRC}/intl

-.include "../../mk/bsd.prefs.mk"
-
 .if ${OPSYS} == "Darwin"
 CPPFLAGS+=		-D_INTL_REDIRECT_MACROS=1 -DSTATIC=static
 .endif
Index: devel/gettext-lib/buildlink3.mk
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gettext-lib/buildlink3.mk,v
retrieving revision 1.21
diff -b -u -r1.21 buildlink3.mk
--- devel/gettext-lib/buildlink3.mk	3 Oct 2004 00:13:27 -0000	1.21
+++ devel/gettext-lib/buildlink3.mk	6 Mar 2005 02:16:49 -0000
@@ -11,9 +11,8 @@
 BUILDLINK_PACKAGES+=	gettext

 .if !empty(GETTEXT_BUILDLINK3_MK:M+)
-BUILDLINK_DEPENDS.gettext+=	gettext-lib>=0.10.35nb1
-BUILDLINK_RECOMMENDED.gettext+=	gettext-lib>=0.11.5nb4
-BUILDLINK_PKGSRCDIR.gettext?=	../../devel/gettext-lib
+BUILDLINK_DEPENDS.gettext+=	gettext-runtime>=0.14.1
+BUILDLINK_PKGSRCDIR.gettext?=	../../wip/gettext-runtime
 .endif	# GETTEXT_BUILDLINK3_MK

 # libiconv/buildlink3.mk is included by gettext-lib/builtin.mk
Index: devel/gettext-lib/builtin.mk
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gettext-lib/builtin.mk,v
retrieving revision 1.17
diff -b -u -r1.17 builtin.mk
--- devel/gettext-lib/builtin.mk	11 Dec 2004 00:32:16 -0000	1.17
+++ devel/gettext-lib/builtin.mk	6 Mar 2005 02:16:50 -0000
@@ -29,10 +29,9 @@
 .  endif
 .  if !empty(IS_BUILTIN.gettext:M[yY][eE][sS])
 # XXX
-# XXX Consider the native libintl to be gettext-lib-0.10.35nb1 until we
-# XXX find a way to more accurately determine the version.
+# XXX Consider the native libintl to be gettext-runtime-0.14.1
 # XXX
-BUILTIN_PKG.gettext=	gettext-lib-0.10.35nb1
+BUILTIN_PKG.gettext=	gettext-runtime-0.14.1
 BUILDLINK_VARS+=	BUILTIN_PKG.gettext
 .  endif
 .endif	# IS_BUILTIN.gettext
@@ -91,7 +90,7 @@
 	fi
 .    endif
 #
-# The listed platforms have an implementation of gettext that isn't
+# The listed platforms have an implementation of libintl that isn't
 # GNUish enough.
 #
 _INCOMPAT_GETTEXT=	SunOS-*-*
@@ -133,9 +132,9 @@
 #
 # Determine if we need to include the libiconv buildlink3.mk file.
 # We need to if we're using the pkgsrc gettext, and the version is
-# at least gettext>=0.11.5nb1.
+# at least gettext-runtime>=0.14.1.
 #
-_GETTEXT_ICONV_DEPENDS=	gettext-lib>=0.11.5nb1
+_GETTEXT_ICONV_DEPENDS=	gettext-runtime>=0.14.1
 .  if !defined(_GETTEXT_NEEDS_ICONV)
 _GETTEXT_NEEDS_ICONV?=	no
 .    for _depend_ in ${BUILDLINK_DEPENDS.gettext}
Index: devel/gettext-m4/Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/devel/gettext-m4/Makefile,v
retrieving revision 1.11
diff -b -u -r1.11 Makefile
--- devel/gettext-m4/Makefile	14 Oct 2004 16:04:49 -0000	1.11
+++ devel/gettext-m4/Makefile	6 Mar 2005 02:16:50 -0000
@@ -11,6 +11,7 @@
 COMMENT=		Autoconf/automake m4 files for GNU NLS library

 CONFLICTS=		gettext<=0.10.35nb1
+CONFLICTS+=		gettext-tools-[0-9]*

 PKG_INSTALLATION_TYPES=	overwrite pkgviews



I also commented out the BUILD_DEPENDS of gettext in mk/automake.mk.

 Jeremy C. Reed

 	  	 	 BSD News, BSD tutorials, BSD links
	  	 	 http://www.bsdnewsletter.com/