The reason is that NLS is related to message translations to different
languages.
And bash has the general feature that \uNNNN is translated into the unicode
character using iconv. This is unicode support, and should have nothing to
do with translations.
bash also currently has a bug that --disable-nls causes it to fail to find
iconv. This bug has been reported upstream to bash-devel ML. In the future,
when bash will fix this, this will make a difference.
Note that this uses iconv from libc.
[2] Update to 4.3.46
PR: 206903 [1], 210620 [2]
Submitted by: yuri@rawbw.com [1], pkubaj@anongoth.pl [2]
Discussed with: adamw
131 lines
3.6 KiB
Makefile
131 lines
3.6 KiB
Makefile
# Created by: Oliver Eikemeier
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= bash
|
|
PATCHLEVEL= 46
|
|
PORTVERSION= 4.3.${PATCHLEVEL:S/^0//g}
|
|
PORTREVISION?= 0
|
|
CATEGORIES= shells
|
|
MASTER_SITES= GNU/${PORTNAME}
|
|
DISTNAME= ${PORTNAME}-${PORTVERSION:R}
|
|
DIST_SUBDIR= ${PORTNAME}
|
|
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
|
|
|
|
PATCH_SITES= GNU/${PORTNAME}/${DISTNAME}-patches/ \
|
|
ftp://ftp.cwru.edu/pub/${PORTNAME}/${DISTNAME}-patches/
|
|
PATCHFILES!= /usr/bin/jot -s " " -w \
|
|
${PORTNAME}${PORTVERSION:R:S/.//g}-%03d \
|
|
${PATCHLEVEL} 1 ${PATCHLEVEL}
|
|
|
|
MAINTAINER= ehaupt@FreeBSD.org
|
|
COMMENT= The GNU Project's Bourne Again SHell
|
|
|
|
LICENSE= GPLv3
|
|
|
|
OPTIONS_DEFINE= IMPLICITCD COLONBREAKSWORDS HELP NLS STATIC SYSLOG DOCS
|
|
OPTIONS_DEFINE+= IMPORTFUNCTIONS
|
|
OPTIONS_DEFAULT= IMPLICITCD COLONBREAKSWORDS HELP
|
|
IMPLICITCD_DESC= Use directory name alone to cd into it
|
|
COLONBREAKSWORDS_DESC= Colons break words
|
|
HELP_DESC= Enable builtin help
|
|
IMPORTFUNCTIONS_DESC= Import function from env without --import-functions
|
|
|
|
USES= bison cpe iconv makeinfo
|
|
OPTIONS_SUB= yes
|
|
CPE_VENDOR= gnu
|
|
|
|
IMPLICITCD_EXTRA_PATCHES= ${PATCHDIR}/extrapatch-implicitcd
|
|
COLONBREAKSWORDS_EXTRA_PATCHES= ${PATCHDIR}/extrapatch-colonbreakswords
|
|
# Always apply this for now. The option will modify the default.
|
|
EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-import-functions
|
|
|
|
HELP_CONFIGURE_ENABLE= help-builtin
|
|
NLS_CONFIGURE_ENABLE= nls
|
|
NLS_USES= gettext
|
|
|
|
INFO= bash
|
|
|
|
GNU_CONFIGURE= yes
|
|
|
|
PORTDOCS= FAQ INTRO CHANGES COMPAT NEWS POSIX RBASH README \
|
|
bash.html bashref.html
|
|
|
|
CONFIGURE_ARGS+= --without-bash-malloc \
|
|
--disable-rpath \
|
|
--enable-disabled-builtins
|
|
|
|
CFLAGS+= -DUSE_MKTEMP=1 -DUSE_MKSTEMP=1
|
|
|
|
.if empty(PKGNAMESUFFIX)
|
|
CONFLICTS+= bash-static-[0-9]*
|
|
.else
|
|
CONFLICTS+= bash-[0-9]*
|
|
.endif
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${PORT_OPTIONS:MIMPORTFUNCTIONS}
|
|
CFLAGS+= -DIMPORT_FUNCTIONS_DEF=1
|
|
.else
|
|
CFLAGS+= -DIMPORT_FUNCTIONS_DEF=0
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSTATIC} || defined(NO_DYNAMICROOT) || (defined(NOSHARED) && ${NOSHARED:tl} != "no")
|
|
CONFIGURE_ARGS+= --enable-static-link
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-static-link
|
|
# Bash symbols must be exported in order to link runtime plugins, i.e.,
|
|
# "enable -f". (Plugins are not supported for bash-static.)
|
|
CFLAGS+= -Wl,-export-dynamic
|
|
.endif
|
|
|
|
post-patch:
|
|
# Ensure y.tab.c is regenerated
|
|
${TOUCH} ${WRKSRC}/parse.y
|
|
${RM} ${WRKSRC}/y.tab.c
|
|
@${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|g" ${WRKSRC}/doc/bash.1
|
|
.if ${PORT_OPTIONS:MSYSLOG}
|
|
@${REINPLACE_CMD} \
|
|
-e "s|/\*.*#define SYSLOG_HISTORY .*\*/|#define SYSLOG_HISTORY|g" \
|
|
${WRKSRC}/config-top.h
|
|
.endif
|
|
.if empty(PORT_OPTIONS:MNLS)
|
|
@${REINPLACE_CMD} -e "s|@LIBICONV@||g" ${WRKSRC}/Makefile.in
|
|
.endif
|
|
|
|
post-configure:
|
|
@${FIND} ${WRKSRC} -name Makefile -print0 | ${XARGS} -0 \
|
|
${REINPLACE_CMD} -e "s|^DESTDIR *=|& ${DESTDIR}|"
|
|
.if empty(PORT_OPTIONS:MNLS)
|
|
@${REINPLACE_CMD} -e "s|#define HAVE_ICONV 1|#undef HAVE_ICONV|g" \
|
|
${WRKSRC}/config.h
|
|
.endif
|
|
|
|
pre-build:
|
|
@${ECHO_CMD} $$((${PORTREVISION}-1)) > ${WRKSRC}/.build
|
|
|
|
post-install:
|
|
${LN} -sf bash ${STAGEDIR}${PREFIX}/bin/rbash
|
|
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/FAQ \
|
|
${WRKSRC}/doc/INTRO ${STAGEDIR}${DOCSDIR}
|
|
for d in ${PORTDOCS:NFAQ:NINTRO:N*html}; do \
|
|
${INSTALL_DATA} ${WRKSRC}/$${d} ${STAGEDIR}${DOCSDIR}; \
|
|
done
|
|
|
|
regress: build
|
|
cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} test
|
|
|
|
ckp:
|
|
${MAKE} -DPATCH_DEBUG clean patch
|
|
|
|
# requires ftp/ncftp3
|
|
cklatest:
|
|
@${ECHO} -n "Currently at: "
|
|
@${MAKE} -V PATCHLEVEL
|
|
-ncftpls \
|
|
ftp://ftp.cwru.edu/pub/${PORTNAME}/${PORTNAME}-${PORTVERSION:C/\.[0-9a-z]*$//}-patches/ \
|
|
| fgrep -v .sig | ${TAIL}
|
|
|
|
.include <bsd.port.mk>
|