Subject: option(s) to never use converters/libiconv and devel/gettext-lib
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 10/22/2003 15:26:13
I'd like an option (or two) to make it so the buildlink is skipped for
converters/libiconv and devel/gettext-lib so they are never built and
never installed.

In most (all?) cases, glibc provides the iconv.h and libintl.h
functionality. So on systems running pkgsrc that also use glibc,
converters/libiconv and devel/gettext-lib are not needed.

The gettext manual says that if the separate library libiconv is
installed, then it should be used instead of the native iconv.
Nevertheless, I don't want the seperate package(s) installed or depended
on.

Some examples:

Debian Linux does not provide libiconv or libintl libraries. (The headers
are included with glibc.)

Gentoo Linux provides libiconv, but says "This is a fork of the glibc
iconv implementation that is incompatible. it may break things." Gentoo's
gettext package builds with --with-included-gettext and --disable-shared
and then removes its include and lib files ("#glibc includes gettext; this
isn't needed anymore").

Red Hat does not provide a libiconv package. And the Red Hat Linux gettext
RPM does not provide any libintl libraries and does not require any
libintl library.

As far as I can tell, Slackware doesn't provide any libiconv. And
Slackware Linux's gettext build removes the libintl libraries ("not
installed on glibc systems").

I understand that with old glibc versions or with bleeding-edge usage of
libiconv or libintl, the real packages may be needed. But in most cases,
on systems with glibc, these two packages just get in the way.

Any suggestions on what the option variable(s) should be called?

Maybe:
USE_LIBICONV
USE_LIBINTL (or USE_GETTEXT_LIB)

The option can be default to current use. (Maybe consider setting in
mk/defs.Linux.mk too?)

Individual packages can stay the same, only change the buildlink files to
honor this.

   Jeremy C. Reed
   http://bsd.reedmedia.net/