- Add two new arguments to USES=iconv so ports can indicate they use GNU

iconv extensions that the base system iconv doesn't support yet:
  * wchar_t: port uses the special WCHAR_T character conversion.
  * translit: port uses //TRANSLIT or //IGNORE conversion options.
  Adding one or both of these arguments makes the port depend on
  converters/libiconv for now.
- Allow installation of converters/libiconv on FreeBSD 10+.
- Use ICONV_CONFIGURE_ARG in devel/gettext instead of defining CPPFLAGS
  and LDFLAGS to fix compilation with libiconv installed.
- Stage converters/libiconv and devel/gettext.

Approved by:	bapt (on trust)
This commit is contained in:
Tijl Coosemans 2014-01-29 20:24:49 +00:00
parent 01abf783d2
commit 0052e743ef
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=341775
5 changed files with 56 additions and 35 deletions

View File

@ -6,17 +6,16 @@
#
# Feature: iconv
# Usage: USES=iconv or USES=iconv:ARGS
# Valid ARGS: lib (default, implicit), build, patch
#
#
# Valid ARGS: lib (default, implicit), build, patch,
# wchar_t (port uses "WCHAR_T" extension),
# translit (port uses "//TRANSLIT" extension)
.if !defined(_INCLUDE_USES_ICONV_MK)
_INCLUDE_USES_ICONV_MK= yes
.if !defined(iconv_ARGS)
iconv_ARGS= lib
.endif
iconv_ARGS:= ${iconv_ARGS:S/,/ /g}
.if !exists(/usr/include/iconv.h)
.if !exists(/usr/include/iconv.h) || ${iconv_ARGS:Mwchar_t} || ${iconv_ARGS:Mtranslit}
ICONV_CMD= ${LOCALBASE}/bin/iconv
ICONV_LIB= -liconv
@ -24,12 +23,12 @@ ICONV_PREFIX= ${LOCALBASE}
ICONV_CONFIGURE_ARG= --with-libiconv-prefix=${LOCALBASE}
ICONV_CONFIGURE_BASE= --with-libiconv=${LOCALBASE}
.if ${iconv_ARGS} == "lib"
LIB_DEPENDS+= libiconv.so.3:${PORTSDIR}/converters/libiconv
.elif ${iconv_ARGS} == "build"
.if ${iconv_ARGS:Mbuild}
BUILD_DEPENDS+= ${ICONV_CMD}:${PORTSDIR}/converters/libiconv
.elif ${iconv_ARGS} == "patch"
.elif ${iconv_ARGS:Mpatch}
PATCH_DEPENDS+= ${ICONV_CMD}:${PORTSDIR}/converters/libiconv
.else
LIB_DEPENDS+= libiconv.so.3:${PORTSDIR}/converters/libiconv
.endif
.else
@ -40,6 +39,12 @@ ICONV_PREFIX= /usr
ICONV_CONFIGURE_ARG=
ICONV_CONFIGURE_BASE=
.if exists(${LOCALBASE}/include/iconv.h)
CPPFLAGS+= -DLIBICONV_PLUG
CFLAGS+= -DLIBICONV_PLUG
CXXFLAGS+= -DLIBICONV_PLUG
.endif
.endif
.endif

View File

@ -11,25 +11,20 @@ MAINTAINER= gnome@FreeBSD.org
COMMENT= A character set conversion library
GNU_CONFIGURE= yes
LIBTOOLFILES= configure libcharset/configure preload/configure
CONFIGURE_ARGS= --enable-static \
--without-libintl-prefix \
--docdir=${DOCSDIR}
USE_LDCONFIG= yes
CONFIGURE_ENV= gl_cv_cc_visibility="no" \
am_cv_func_iconv="yes" \
am_cv_proto_iconv_arg1="const"
MAKE_JOBS_UNSAFE= yes
MAN1= iconv.1
MAN3= iconv.3 iconv_open.3 iconv_open_into.3 iconv_close.3 iconvctl.3
USE_LDCONFIG= yes
OPTIONS_DEFINE= ENCODINGS PATCHES
OPTIONS_DEFAULT=ENCODINGS
ENCODINGS_DESC= Include extra character sets
PATCHES_DESC= Apply patches to fix CP932, add EUCJP-MS
NO_STAGE= yes
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MENCODINGS}
@ -50,9 +45,4 @@ post-patch:
${WRKSRC}/libcharset/configure \
${WRKSRC}/preload/configure
.if exists(/usr/include/iconv.h)
IGNORE= converters/libiconv should not be used with iconv from base. \
Please fix the port which tries to use it
.endif
.include <bsd.port.mk>

View File

@ -11,6 +11,12 @@ lib/libiconv.a
lib/libiconv.la
lib/libiconv.so
lib/libiconv.so.3
man/man1/iconv.1.gz
man/man3/iconv.3.gz
man/man3/iconv_open.3.gz
man/man3/iconv_open_into.3.gz
man/man3/iconv_close.3.gz
man/man3/iconvctl.3.gz
%%DOCSDIR%%/iconv.1.html
%%DOCSDIR%%/iconv.3.html
%%DOCSDIR%%/iconv_close.3.html

View File

@ -14,29 +14,19 @@ MAINTAINER= autotools@FreeBSD.org
COMMENT= GNU gettext package
USES= charsetfix iconv
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-csharp --disable-java \
--disable-openmp --disable-threads \
--with-included-gettext --with-included-glib \
--with-included-libcroco --with-included-libunistring \
--with-included-libxml \
--with-included-libxml ${ICONV_CONFIGURE_ARG} \
--without-emacs --without-git
USE_LDCONFIG= yes
MAN1= autopoint.1 envsubst.1 gettext.1 gettextize.1 msgattrib.1 \
msgcat.1 msgcmp.1 msgcomm.1 msgconv.1 msgen.1 msgexec.1 \
msgfilter.1 msgfmt.1 msggrep.1 msginit.1 msgmerge.1 \
msgunfmt.1 msguniq.1 ngettext.1 recode-sr-latin.1 xgettext.1
MAN3= bind_textdomain_codeset.3 bindtextdomain.3 dcgettext.3 \
dcngettext.3 dgettext.3 dngettext.3 gettext.3 ngettext.3 \
textdomain.3
INFO= autosprintf gettext
OPTIONS_DEFINE= DOCS
NO_STAGE= yes
.include <bsd.port.options.mk>
.if ! ${PORT_OPTIONS:MDOCS}
@ -52,7 +42,7 @@ post-patch:
.endif
post-install:
@${MKDIR} ${LOCALBASE}/share/locale
@cd ${WRKSRC}/gettext-tools/doc && make install-info-am
@${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC}/gettext-tools/doc \
${MAKE_ARGS} install-info-am
.include <bsd.port.mk>

View File

@ -46,6 +46,36 @@ lib/gettext/hostname
lib/gettext/project-id
lib/gettext/urlget
lib/gettext/user-email
man/man1/autopoint.1.gz
man/man1/envsubst.1.gz
man/man1/gettext.1.gz
man/man1/gettextize.1.gz
man/man1/msgattrib.1.gz
man/man1/msgcat.1.gz
man/man1/msgcmp.1.gz
man/man1/msgcomm.1.gz
man/man1/msgconv.1.gz
man/man1/msgen.1.gz
man/man1/msgexec.1.gz
man/man1/msgfilter.1.gz
man/man1/msgfmt.1.gz
man/man1/msggrep.1.gz
man/man1/msginit.1.gz
man/man1/msgmerge.1.gz
man/man1/msgunfmt.1.gz
man/man1/msguniq.1.gz
man/man1/ngettext.1.gz
man/man1/recode-sr-latin.1.gz
man/man1/xgettext.1.gz
man/man3/bind_textdomain_codeset.3.gz
man/man3/bindtextdomain.3.gz
man/man3/dcgettext.3.gz
man/man3/dcngettext.3.gz
man/man3/dgettext.3.gz
man/man3/dngettext.3.gz
man/man3/gettext.3.gz
man/man3/ngettext.3.gz
man/man3/textdomain.3.gz
share/aclocal/codeset.m4
share/aclocal/gettext.m4
share/aclocal/fcntl-o.m4