From owner-svn-ports-all@FreeBSD.ORG Mon Jan 14 11:47:21 2013 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id F3F8EAFE; Mon, 14 Jan 2013 11:47:20 +0000 (UTC) (envelope-from ehaupt@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id E5FCCB5B; Mon, 14 Jan 2013 11:47:20 +0000 (UTC) Received: from svn.freebsd.org (svn.FreeBSD.org [8.8.178.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r0EBlKoY060001; Mon, 14 Jan 2013 11:47:20 GMT (envelope-from ehaupt@svn.freebsd.org) Received: (from ehaupt@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r0EBlILU059984; Mon, 14 Jan 2013 11:47:18 GMT (envelope-from ehaupt@svn.freebsd.org) Message-Id: <201301141147.r0EBlILU059984@svn.freebsd.org> From: Emanuel Haupt Date: Mon, 14 Jan 2013 11:47:18 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r310370 - in head/shells: . bash-devel bash-devel/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jan 2013 11:47:21 -0000 Author: ehaupt Date: Mon Jan 14 11:47:17 2013 New Revision: 310370 URL: http://svnweb.freebsd.org/changeset/ports/310370 Log: Add shells/bash-devel. The goal of this port is to have a more up to date version of shells/bash. This port has also been converted to use OPTIONSng. Added: head/shells/bash-devel/ head/shells/bash-devel/Makefile (contents, props changed) head/shells/bash-devel/distinfo (contents, props changed) head/shells/bash-devel/files/ head/shells/bash-devel/files/extrapatch-colonbreakswords (contents, props changed) head/shells/bash-devel/files/extrapatch-implicitcd (contents, props changed) head/shells/bash-devel/files/patch-config-top.h (contents, props changed) head/shells/bash-devel/files/patch-doc_Makefile.in (contents, props changed) head/shells/bash-devel/files/patch-doc_bash.1 (contents, props changed) head/shells/bash-devel/files/patch-doc_bashref.texi (contents, props changed) head/shells/bash-devel/files/patch-lib_readline_display.c (contents, props changed) head/shells/bash-devel/pkg-deinstall (contents, props changed) head/shells/bash-devel/pkg-descr (contents, props changed) head/shells/bash-devel/pkg-install (contents, props changed) head/shells/bash-devel/pkg-plist (contents, props changed) Modified: head/shells/Makefile Modified: head/shells/Makefile ============================================================================== --- head/shells/Makefile Mon Jan 14 11:42:09 2013 (r310369) +++ head/shells/Makefile Mon Jan 14 11:47:17 2013 (r310370) @@ -7,6 +7,7 @@ SUBDIR += ambit SUBDIR += bash SUBDIR += bash-completion + SUBDIR += bash-devel SUBDIR += bash-static SUBDIR += bashc SUBDIR += ch Added: head/shells/bash-devel/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/Makefile Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,159 @@ +# Created by: Emanuel Haupt +# $FreeBSD$ + +PORTNAME= bash +PATCHLEVEL= 42 +PORTVERSION= 4.2.${PATCHLEVEL:S/^0//g} +PORTREVISION?= 0 +CATEGORIES= shells +MASTER_SITES= ${MASTER_SITE_GNU:S/$/:bash/} \ + ftp://ftp.cwru.edu/pub/%SUBDIR%/:faq +MASTER_SITE_SUBDIR= ${PORTNAME}/:bash,faq +DISTNAME= ${PORTNAME}-${PORTVERSION:R} +DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:bash +DIST_SUBDIR= ${PORTNAME} +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} + +PATCH_SITES= ${MASTER_SITE_GNU} \ + ftp://ftp.cwru.edu/pub/%SUBDIR%/ +PATCH_SITE_SUBDIR= ${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 + +IGNOREFILES= FAQ + +OPTIONS_DEFINE= IMPLICITCD COLONBREAKSWORDS HELP NLS STATIC_BASH SYSLOG DOCS +OPTIONS_DEFAULT=IMPLICITCD COLONBREAKSWORDS HELP NLS +IMPLICITCD_DESC= Use directory name alone to cd into it +COLONBREAKSWORDS_DESC= Colons break words +HELP_DESC= Install the help files +STATIC_BASH_DESC= Compile without shared libs +SYSLOG_DESC= Compile with syslog support + +.include + +.if ${PORT_OPTIONS:MIMPLICITCD} +EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-implicitcd +.endif + +.if ${PORT_OPTIONS:MCOLONBREAKSWORDS} +EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-colonbreakswords +.endif + +MAN1= bash.1 bashbug.1 +INFO= bash + +MAKE_JOBS_UNSAFE= yes +GNU_CONFIGURE= yes +USE_BISON= build + +.if ${PORT_OPTIONS:MDOCS} +.if !defined(WITH_INCLUDED_FAQ) +DISTFILES+= FAQ:faq +.endif +PORTDOCS= FAQ INTRO CHANGES COMPAT NEWS POSIX RBASH +.endif + +CONFIGURE_ARGS= --without-bash-malloc \ + --disable-rpath \ + --enable-disabled-builtins + +.if ${PORT_OPTIONS:MSTATIC_BASH} || defined(NO_DYNAMICROOT) || (defined(NOSHARED) && ${NOSHARED:L} != "no") +.if empty(PORT_OPTIONS:MNLS) +WITHOUT_NLS=yes +.endif +CONFIGURE_ARGS+= --enable-static-link +PKGNAMESUFFIX= -static-devel +CONFLICTS+= bash-[0-9]* bash-static-[0-9]* bash-devel-[0-9]* +.else +CONFIGURE_ARGS+= --enable-static-link=no +PKGNAMESUFFIX= -devel +CONFLICTS+= bash-static-[0-9]* bash-[0-9]* bash-static-devel-[0-9]* +.endif + +.if empty(PORT_OPTIONS:MHELP) +CONFIGURE_ARGS+= --disable-help-builtin +PLIST_SUB+= HELP="@comment " +.elif defined(WITH_INTEGRATED_HELPFILES) +PLIST_SUB+= HELP="@comment " +.else +CONFIGURE_ARGS+= --enable-separate-helpfiles +PLIST_SUB+= HELP="" +.endif + +.if empty(PORT_OPTIONS:MNLS) +CONFIGURE_ARGS+= --disable-nls +PLIST_SUB+= NLS="@comment " +.else +USE_ICONV= yes +USE_GETTEXT= yes +PLIST_SUB+= NLS="" +.endif + +CPPFLAGS+= ${PTHREAD_CFLAGS} \ + -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib + +CONFIGURE_ENV= YACC="bison -y" + +post-patch: + @${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 + +pre-install: + @${SETENV} PKG_PREFIX="${PREFIX}" \ + ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL + +post-install: + @cd ${PREFIX}/bin ; ${LN} -sf bash rbash +.if ${PORT_OPTIONS:MDOCS} + @${MKDIR} ${DOCSDIR} +.if !defined(WITH_INCLUDED_FAQ) + @${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/FAQ \ + ${WRKSRC}/doc/INTRO ${DOCSDIR} +.else + @${INSTALL_DATA} ${WRKSRC}/doc/FAQ \ + ${WRKSRC}/doc/INTRO ${DOCSDIR} +.endif + @for d in ${PORTDOCS:NFAQ:NINTRO}; do \ + ${INSTALL_DATA} ${WRKSRC}/$${d} ${DOCSDIR}; \ + done +.endif + @${SETENV} PKG_PREFIX="${PREFIX}" PKG_DESTDIR="${DESTDIR}" \ + ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL + +regress: build + cd ${WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} test + +ckp: + ${MAKE} -DPATCH_DEBUG clean patch + +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 Added: head/shells/bash-devel/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/distinfo Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,87 @@ +SHA256 (bash/bash-4.2.tar.gz) = a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8 +SIZE (bash/bash-4.2.tar.gz) = 7009201 +SHA256 (bash/bash42-001) = 8d6ca028576c4af23e660a2fbc2112221a11c8a785c0b37f033967e5cd12b47a +SIZE (bash/bash42-001) = 2944 +SHA256 (bash/bash42-002) = febac927e199aceeba2004908d971d4afb49b521796c3f42d1166f9fbbfbcef9 +SIZE (bash/bash42-002) = 1780 +SHA256 (bash/bash42-003) = 5a0a7c15018c87348ea87cb0beea14345faf878dbb0e25c17fa70677194cb4cd +SIZE (bash/bash42-003) = 6896 +SHA256 (bash/bash42-004) = 4e34b0f830d2583d56e14225a66937abc81f45bbafcd2eb49daf61c9462140c1 +SIZE (bash/bash42-004) = 1686 +SHA256 (bash/bash42-005) = a81749e73004b81cfdf0fe075bec365dc1fef756ee5e3fd142821e317d1459a0 +SIZE (bash/bash42-005) = 3424 +SHA256 (bash/bash42-006) = c91148945a2ddafa792682d7c8668c59e7e645eae1334b15b0d5d9ad22634bd1 +SIZE (bash/bash42-006) = 1187 +SHA256 (bash/bash42-007) = 405826acf443dd1084f236a15cb76d7f0ee2dbe5edff45c5fb836db571fb7e95 +SIZE (bash/bash42-007) = 1394 +SHA256 (bash/bash42-008) = 23080d11a60a78941210e2477f6bca066b45db03defa60da86fd765107ba2437 +SIZE (bash/bash42-008) = 2164 +SHA256 (bash/bash42-009) = e7ed5440b4c19765786e90e4f1ded43195d38b3e4d1c4b39fcc23de9a74ccb20 +SIZE (bash/bash42-009) = 2384 +SHA256 (bash/bash42-010) = acfc5482c25e6923116fcf4b4f7f6345b80f75ad7299749db4b736ad67aa43dc +SIZE (bash/bash42-010) = 1818 +SHA256 (bash/bash42-011) = a491ae359a7ebbd7321aede561728289d71e1fc84777f402766a8afd4d261532 +SIZE (bash/bash42-011) = 1426 +SHA256 (bash/bash42-012) = 354433f1d2da02f1b9652cd20a5b85bbfb5bc2aaf79c42461ebd929d89b9b7b8 +SIZE (bash/bash42-012) = 4247 +SHA256 (bash/bash42-013) = 3412c5c6cbbce6c88592604aec054d8182ce64410038b5ecea69fc3968cf85ea +SIZE (bash/bash42-013) = 1340 +SHA256 (bash/bash42-014) = b5a678e609858532735f94faedb5fabce00dfd6577a4e9ec5eec85fe682c8b33 +SIZE (bash/bash42-014) = 1434 +SHA256 (bash/bash42-015) = 2d876a8304bdf3d664e87e0a8d73bc4ccc100a9dd8c0d054e8649472d8748a98 +SIZE (bash/bash42-015) = 1991 +SHA256 (bash/bash42-016) = 2895ccbcf7fc98da73a8fa3ba7440aaf2bfaef6c0af8bdd3a9c39403cf03e2a6 +SIZE (bash/bash42-016) = 1410 +SHA256 (bash/bash42-017) = 73552444498c761d6073dd67ccfe043b36ef24bb418c266d91d9750884daee7f +SIZE (bash/bash42-017) = 1399 +SHA256 (bash/bash42-018) = e2a9457172370d454d31b84bbcba758ee6394316dbe755374553b52aadbb494d +SIZE (bash/bash42-018) = 1929 +SHA256 (bash/bash42-019) = a8b7cd02207656976016d93cab48e073cb5da002ceb27b7a63fc5ea62007eb56 +SIZE (bash/bash42-019) = 1415 +SHA256 (bash/bash42-020) = 494773f0d0078cb35372d24caa523b00d8fdbbaed71e41dc14c9e47579da3c6f +SIZE (bash/bash42-020) = 1825 +SHA256 (bash/bash42-021) = a887a97be226575ecf483be2c76655bd6d1edde1cdfe199c27bd2e6baf32badc +SIZE (bash/bash42-021) = 1532 +SHA256 (bash/bash42-022) = 9dcdf69df7f8cd2ba88d18c45a0d8f55fbe4f0e273411179db94dd6198b85c6b +SIZE (bash/bash42-022) = 1395 +SHA256 (bash/bash42-023) = 5dc11394f1a6c887373c081396efd4f4cc04492696722c57a4811c207965f0bf +SIZE (bash/bash42-023) = 1699 +SHA256 (bash/bash42-024) = 99c826bdd33bee281d0a9191550d62a24d0b256cd41c90afd10abd63a66b99e6 +SIZE (bash/bash42-024) = 1363 +SHA256 (bash/bash42-025) = 0db0646fd7a559d5702911192bdd387acbbc61cf3c29a34007c3ec840e275515 +SIZE (bash/bash42-025) = 3969 +SHA256 (bash/bash42-026) = e7e90cfaabbce3b4b9c699994e9d9ea4a2f084fd9f37788a80b0b70b47d323d2 +SIZE (bash/bash42-026) = 1577 +SHA256 (bash/bash42-027) = 0c1f6b7256fcc17f42c05f9bbb4138f8e8bb67e79c622c3485711b6f37f7ed42 +SIZE (bash/bash42-027) = 1461 +SHA256 (bash/bash42-028) = 204226de39ba81aaf3dd5a29cd59de052ec9f648538bb9e7f1c8150852b1ed7a +SIZE (bash/bash42-028) = 1834 +SHA256 (bash/bash42-029) = d0b08c0817bc5acdb28b466727622a8422ca4d61188313cf162443b7f338f581 +SIZE (bash/bash42-029) = 16812 +SHA256 (bash/bash42-030) = 12594366591a136d8ccdcb8e218010f2ddab6be28a7f96d0ed32ca927e44afae +SIZE (bash/bash42-030) = 5046 +SHA256 (bash/bash42-031) = 55f38c4d34775fbb063510c4222b195d998dd86f88288b64a6103e3812f8d9f9 +SIZE (bash/bash42-031) = 2047 +SHA256 (bash/bash42-032) = e3a8b563dbb1e5cb7ca85a53515da8b2941213973496d48c4cc5a11c604791ed +SIZE (bash/bash42-032) = 2416 +SHA256 (bash/bash42-033) = f5d12790d69fdfb2f47ac86fa1ea1ecc088880141570273f38dfd3fa4a46434b +SIZE (bash/bash42-033) = 1634 +SHA256 (bash/bash42-034) = 01c1f332101389cedf347c7736102966722a3b213900954e5d625bbc2f1e41b8 +SIZE (bash/bash42-034) = 1345 +SHA256 (bash/bash42-035) = cecde463b038b4849635ff0993d9b264fc92403e7ae0accb52c7877aeaed78df +SIZE (bash/bash42-035) = 1920 +SHA256 (bash/bash42-036) = fe293a1bc92ac4d272ae9b9a0de3afef7c06145a2b52337a09cacccc5305aafa +SIZE (bash/bash42-036) = 3123 +SHA256 (bash/bash42-037) = c7578cddd3bb2430689c740f58a03403800726dcd1268b28f91bf37f368e1674 +SIZE (bash/bash42-037) = 3483 +SHA256 (bash/bash42-038) = b8c9a81bdf206be58ba491dfad80373b3348af769e80aaf72f7611ddbbbe6d57 +SIZE (bash/bash42-038) = 1290 +SHA256 (bash/bash42-039) = f4f9300a60321a5088ae9e54052a64c4d3e876f9a3a17ca104d58fa38b9c1791 +SIZE (bash/bash42-039) = 1603 +SHA256 (bash/bash42-040) = b265f9caf3c7321f95bc8e0b9e2c46bd86c226f00f05e823699aafb83c4aaa6c +SIZE (bash/bash42-040) = 1710 +SHA256 (bash/bash42-041) = 05cc1951bd9f6624088dd6067486ff47f1825e333273d7df5f1b06b23baaf5eb +SIZE (bash/bash42-041) = 1463 +SHA256 (bash/bash42-042) = faaa5c1f456517b258b2a65eaa664dd6a01eeff73c8ca4447c3a6de371bbf304 +SIZE (bash/bash42-042) = 1571 +SHA256 (bash/FAQ) = IGNORE Added: head/shells/bash-devel/files/extrapatch-colonbreakswords ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/files/extrapatch-colonbreakswords Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,173 @@ +--- bashline.c.orig 2009-01-08 06:29:24.000000000 -0800 ++++ bashline.c 2012-07-30 15:07:10.000000000 -0500 +@@ -235,6 +235,11 @@ int bash_readline_initialized = 0; + host list. */ + int perform_hostname_completion = 1; + ++/* If non-zero, we do hostname completion, breaking words at `@' and ++ trying to complete the stuff after the `@' from our own internal ++ host list. */ ++int colon_is_wordbreak = 1; ++ + /* If non-zero, we don't do command completion on an empty line. */ + int no_empty_command_completion; + +@@ -252,7 +257,8 @@ int dircomplete_expand_relpath = 0; + + static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:"; + static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:"; +-/* )) */ ++static char *bash_nocolon_word_break_characters = " \t\n\"'@><=;|&("; ++/* ))) */ + + static const char *default_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/ + static char *custom_filename_quote_characters = 0; +@@ -370,6 +376,80 @@ enable_hostname_completion (on_or_off) + return (old_value); + } + ++/* When this function returns, rl_completer_word_break_characters points to ++ dynamically allocated memory. */ ++int ++enable_colon_wordbreak (on_or_off) ++ int on_or_off; ++{ ++ int old_value; ++ char *at, *nv, *nval; ++ ++ old_value = colon_is_wordbreak; ++ ++ if (on_or_off) ++ { ++ colon_is_wordbreak = 1; ++ rl_filename_quote_characters = default_filename_quote_characters; ++ } ++ else ++ { ++ colon_is_wordbreak = 0; ++ rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!{~"; /*}*/ ++ } ++ ++ /* Now we need to figure out how to appropriately modify and assign ++ rl_completer_word_break_characters depending on whether we want ++ the colon to be a word break or not. */ ++ ++ /* If this is the first time this has been called ++ (bash_readline_initialized == 0), use the sames values as before, but ++ allocate new memory for rl_completer_word_break_characters. */ ++ ++ if (bash_readline_initialized == 0 && ++ (rl_completer_word_break_characters == 0 || ++ rl_completer_word_break_characters == rl_basic_word_break_characters)) ++ { ++ if (on_or_off) ++ rl_completer_word_break_characters = savestring (bash_completer_word_break_characters); ++ else ++ rl_completer_word_break_characters = savestring (bash_nocolon_word_break_characters); ++ } ++ else ++ { ++ /* See if we have anything to do. */ ++ at = strchr (rl_completer_word_break_characters, ':'); ++ if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0)) ++ return old_value; ++ ++ /* We have something to do. Do it. */ ++ nval = (char *)xmalloc (strlen (rl_completer_word_break_characters) + 1 + on_or_off); ++ ++ if (on_or_off == 0) ++ { ++ /* Turn it off -- just remove `:' from word break chars. We want ++ to remove all occurrences of `:' from the char list, so we loop ++ rather than just copy the rest of the list over AT. */ ++ for (nv = nval, at = rl_completer_word_break_characters; *at; ) ++ if (*at != ':') ++ *nv++ = *at++; ++ else ++ at++; ++ *nv = '\0'; ++ } ++ else ++ { ++ nval[0] = ':'; ++ strcpy (nval + 1, rl_completer_word_break_characters); ++ } ++ ++ free (rl_completer_word_break_characters); ++ rl_completer_word_break_characters = nval; ++ } ++ ++ return (old_value); ++} ++ + /* Called once from parse.y if we are going to use readline. */ + void + initialize_readline () +@@ -538,8 +618,13 @@ initialize_readline () + completion is enabled. */ + enable_hostname_completion (perform_hostname_completion); + ++ /* This sets rl_completer_word_break_characters and rl_filename_quote_characters ++ to the appropriate values, depending on whether or not a colon ++ should break completion words or not. */ ++ enable_colon_wordbreak (colon_is_wordbreak); ++ + /* characters that need to be quoted when appearing in filenames. */ +- rl_filename_quote_characters = default_filename_quote_characters; ++// rl_filename_quote_characters = default_filename_quote_characters; + + rl_filename_quoting_function = bash_quote_filename; + rl_filename_dequoting_function = bash_dequote_filename; +--- builtins/shopt.def.orig 2009-01-13 05:43:16.000000000 -0800 ++++ builtins/shopt.def 2009-03-08 01:03:39.000000000 -0800 +@@ -96,6 +97,8 @@ extern int force_fignore; + extern int dircomplete_spelling; + + extern int enable_hostname_completion __P((int)); ++extern int colon_is_wordbreak; ++extern int enable_colon_wordbreak __P((int)); + #endif + + #if defined (PROGRAMMABLE_COMPLETION) +@@ -147,6 +150,9 @@ static struct { + #if defined (READLINE) + { "dirspell", &dircomplete_spelling, (shopt_set_func_t *)NULL }, + #endif ++#if defined (READLINE) ++ { "colonbreakswords", &colon_is_wordbreak, enable_colon_wordbreak }, ++#endif + { "dotglob", &glob_dot_filenames, (shopt_set_func_t *)NULL }, + { "execfail", &no_exit_on_failed_exec, (shopt_set_func_t *)NULL }, + { "expand_aliases", &expand_aliases, (shopt_set_func_t *)NULL }, +--- doc/bash.1.orig 2009-03-08 00:53:01.000000000 -0800 ++++ doc/bash.1 2009-03-08 01:05:32.000000000 -0800 +@@ -8473,6 +8473,18 @@ attempts to save all lines of a multiple + command in the same history entry. This allows + easy re-editing of multi-line commands. + .TP 8 ++.B colonbreakswords ++If set, and ++.B readline ++is being used, \fBbash\fP will treat \fB:\fP as ++separating word being completed (see ++.B Completing ++under ++.SM ++.B READLINE ++above). ++This is enabled by default. ++.TP 8 + .B compat31 + If set, + .B bash +--- doc/bashref.texi.orig 2009-03-08 00:53:01.000000000 -0800 ++++ doc/bashref.texi 2009-03-08 01:07:00.000000000 -0800 +@@ -4321,6 +4321,11 @@ attempts to save all lines of a multiple + command in the same history entry. This allows + easy re-editing of multi-line commands. + ++@item colonbreakswords ++If set, and Readline is being used, Bash will treat @samp{:} as ++separating word being completed (@pxref{Commands For Completion}). ++This option is enabled by default. ++ Added: head/shells/bash-devel/files/extrapatch-implicitcd ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/files/extrapatch-implicitcd Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,99 @@ +# +# new shopt `implicitcd' +# http://lists.gnu.org/archive/html/bug-bash/2004-09/msg00024.html +# +--- execute_cmd.c.orig Sat Nov 5 17:37:21 2005 ++++ execute_cmd.c Wed Dec 28 19:38:09 2005 +@@ -190,6 +190,9 @@ + /* The line number that the currently executing function starts on. */ + static int function_line_number; + ++/* add an implicit `cd' if the command is the name of a directory */ ++int implicitcd = 0; ++ + /* Set to 1 if fd 0 was the subject of redirection to a subshell. Global + so that reader_loop can set it to zero before executing a command. */ + int stdin_redir; +@@ -2913,6 +2916,20 @@ + this_command_name = words->word->word; + + QUIT; ++ ++ if (implicitcd && interactive_shell && words->next == NULL && func == 0 && builtin == 0) ++ { ++ struct stat finfo; ++ ++ if ((stat (words->word->word, &finfo) == 0) && (S_ISDIR (finfo.st_mode))) ++ { ++ this_command_name = "cd"; ++ last_shell_builtin = this_shell_builtin; ++ this_shell_builtin = builtin_address (this_command_name); ++ result = (*this_shell_builtin) (words); ++ goto return_result; ++ } ++ } + + /* This command could be a shell builtin or a user-defined function. + We have already found special builtins by this time, so we do not +--- builtins/shopt.def.orig Sat Feb 19 19:25:03 2005 ++++ builtins/shopt.def Wed Dec 28 19:38:09 2005 +@@ -66,6 +66,7 @@ + extern int check_window_size; + extern int glob_ignore_case, match_ignore_case; + extern int hup_on_exit; ++extern int implicitcd; + extern int xpg_echo; + extern int gnu_error_format; + +@@ -145,6 +146,7 @@ + { "hostcomplete", &perform_hostname_completion, enable_hostname_completion }, + #endif + { "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL }, ++ { "implicitcd", &implicitcd, (shopt_set_func_t *)NULL }, + { "interactive_comments", &interactive_comments, set_shellopts_after_change }, + #if defined (HISTORY) + { "lithist", &literal_history, (shopt_set_func_t *)NULL }, +@@ -253,6 +255,7 @@ + cdable_vars = mail_warning = 0; + no_exit_on_failed_exec = print_shift_error = 0; + check_hashed_filenames = cdspelling = expand_aliases = check_window_size = 0; ++ implicitcd = 0; + + source_uses_path = promptvars = 1; + +--- doc/bash.1.orig Wed Oct 12 12:40:52 2005 ++++ doc/bash.1 Wed Dec 28 19:38:09 2005 +@@ -8090,6 +8090,15 @@ + .B SIGHUP + to all jobs when an interactive login shell exits. + .TP 8 ++.B implicitcd ++If this is set, a directory name typed as a command is treated as a ++request to change to that directory. ++This behavior is inhibited in non-interactive mode or for command ++strings with more than one word. ++Changing directory takes precedence over executing a like-named ++command, but it is done after alias substitutions. ++Tilde and variable expansions work as expected. ++.TP 8 + .B interactive_comments + If set, allow a word beginning with + .B # +--- doc/bashref.texi.orig Mon Oct 3 16:07:21 2005 ++++ doc/bashref.texi Wed Dec 28 19:38:09 2005 +@@ -3697,6 +3697,15 @@ + If set, Bash will send @code{SIGHUP} to all jobs when an interactive + login shell exits (@pxref{Signals}). + ++@item implicitcd ++If this is set, a directory name typed as a command is treated as a ++request to change to that directory. ++This behavior is inhibited in non-interactive mode or for command ++strings with more than one word. ++Changing directory takes precedence over executing a like-named ++command, but it is done after alias substitutions. ++Tilde and variable expansions work as expected. ++ + @item interactive_comments + Allow a word beginning with @samp{#} + to cause that word and all remaining characters on that Added: head/shells/bash-devel/files/patch-config-top.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/files/patch-config-top.h Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,24 @@ +--- config-top.h.orig Wed Dec 28 19:52:23 2005 ++++ config-top.h Wed Dec 28 19:54:12 2005 +@@ -52,18 +52,18 @@ + /* The default value of the PATH variable. */ + #ifndef DEFAULT_PATH_VALUE + #define DEFAULT_PATH_VALUE \ +- "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:." ++ "/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:%%LOCALBASE%%/sbin:%%LOCALBASE%%/bin" + #endif + + /* The value for PATH when invoking `command -p'. This is only used when + the Posix.2 confstr () function, or CS_PATH define are not present. */ + #ifndef STANDARD_UTILS_PATH + #define STANDARD_UTILS_PATH \ +- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc" ++ "/sbin:/bin:/usr/sbin:/usr/bin:/usr/games" + #endif + + /* Default primary and secondary prompt strings. */ +-#define PPROMPT "\\s-\\v\\$ " ++#define PPROMPT "[\\u@\\h \\w]\\$ " + #define SPROMPT "> " + + /* Undefine this if you don't want the ksh-compatible behavior of reprinting Added: head/shells/bash-devel/files/patch-doc_Makefile.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/files/patch-doc_Makefile.in Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,18 @@ +--- doc/Makefile.in.orig Wed Dec 28 20:00:02 2005 ++++ doc/Makefile.in Wed Dec 28 20:00:58 2005 +@@ -161,14 +161,11 @@ + bashref.dvi: $(BASHREF_FILES) $(HSUSER) $(RLUSER) + ${SET_TEXINPUTS} $(TEXI2DVI) $(srcdir)/bashref.texi + +-bashref.info: $(BASHREF_FILES) $(HSUSER) $(RLUSER) ++bash.info: $(BASHREF_FILES) $(HSUSER) $(RLUSER) + $(MAKEINFO) --no-split -I$(TEXINPUTDIR) $(srcdir)/bashref.texi + + bashref.html: $(BASHREF_FILES) $(HSUSER) $(RLUSER) + $(TEXI2HTML) -menu -monolithic -I $(TEXINPUTDIR) $(srcdir)/bashref.texi +- +-bash.info: bashref.info +- ${SHELL} ${INFOPOST} < $(srcdir)/bashref.info > $@ ; \ + + bash.txt: bash.1 + bash.ps: bash.1 Added: head/shells/bash-devel/files/patch-doc_bash.1 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/files/patch-doc_bash.1 Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,20 @@ +--- doc/bash.1.orig Wed Dec 28 19:44:28 2005 ++++ doc/bash.1 Wed Dec 28 20:03:12 2005 +@@ -1897,7 +1897,7 @@ + .SM + .B PROMPTING + below) and used as the primary prompt string. The default value is +-``\fB\es\-\ev\e$ \fP''. ++``\fB\eu\@\eh\e$ \fP''. + .TP + .B PS2 + The value of this parameter is expanded as with +@@ -8784,7 +8784,7 @@ + .SH FILES + .PD 0 + .TP +-.FN /bin/bash ++.FN %%PREFIX%%/bin/bash + The \fBbash\fP executable + .TP + .FN /etc/profile Added: head/shells/bash-devel/files/patch-doc_bashref.texi ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/files/patch-doc_bashref.texi Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,28 @@ +--- doc/bashref.texi.orig Wed Dec 28 19:44:28 2005 ++++ doc/bashref.texi Wed Dec 28 20:09:16 2005 +@@ -1,6 +1,6 @@ + \input texinfo.tex @c -*- texinfo -*- + @c %**start of header +-@setfilename bashref.info ++@setfilename bash.info + @settitle Bash Reference Manual + @c %**end of header + +@@ -10,7 +10,7 @@ + + @copying + This text is a brief description of the features that are present in +-the Bash shell (version @value{VERSION}, @value{UPDATED}). ++the Bash shell (version @value{VERSION}, @value{UPDATED}) + + This is Edition @value{EDITION}, last updated @value{UPDATED}, + of @cite{The GNU Bash Reference Manual}, +@@ -4277,7 +4277,7 @@ + + + @item PS1 +-The primary prompt string. The default value is @samp{\s-\v\$ }. ++The primary prompt string. The default value is @samp{[\u@@\h \w]\$ }. + @xref{Printing a Prompt}, for the complete list of escape + sequences that are expanded before @env{PS1} is displayed. + Added: head/shells/bash-devel/files/patch-lib_readline_display.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/files/patch-lib_readline_display.c Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,11 @@ +--- lib/readline/display.c.orig 2009-01-04 11:32:32.000000000 -0800 ++++ lib/readline/display.c 2009-03-08 00:51:31.000000000 -0800 +@@ -654,5 +654,8 @@ rl_redisplay () + /* inv_lbreaks[i] is where line i starts in the buffer. */ + inv_lbreaks[newlines = 0] = 0; ++ if (local_prompt) + lpos = prompt_physical_chars + modmark; ++ else ++ lpos = 0; + + #if defined (HANDLE_MULTIBYTE) Added: head/shells/bash-devel/pkg-deinstall ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/pkg-deinstall Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,33 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BASH="$(echo ${PKG_PREFIX-/usr/local}/bin/bash | /usr/bin/sed -e 's|//|/|g')" +RBASH="$(echo ${PKG_PREFIX-/usr/local}/bin/rbash | /usr/bin/sed -e 's|//|/|g')" +SHELLS="${PKG_DESTDIR-}/etc/shells" + +case $2 in +DEINSTALL) + if grep -qs "^$BASH\$" "$SHELLS"; then + if [ `id -u` -eq 0 ]; then + TMPSHELLS=`mktemp -t shells` + grep -v "^$BASH\$" "$SHELLS" > "$TMPSHELLS" + cat "$TMPSHELLS" > "$SHELLS" + rm "$TMPSHELLS" + else + echo "Not root, please remove $BASH from $SHELLS manually" + fi + fi + if grep -qs "^$RBASH\$" "$SHELLS"; then + if [ `id -u` -eq 0 ]; then + TMPSHELLS=`mktemp -t shells` + grep -v "^$RBASH\$" "$SHELLS" > "$TMPSHELLS" + cat "$TMPSHELLS" > "$SHELLS" + rm "$TMPSHELLS" + else + echo "Not root, please remove $RBASH from $SHELLS manually" + fi + fi + ;; +esac Added: head/shells/bash-devel/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/pkg-descr Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,7 @@ +This is GNU Bash. Bash is the GNU Project's Bourne Again SHell, +a complete implementation of the POSIX.2 shell spec, but also +with interactive command line editing, job control on architectures +that support it, csh-like features such as history substitution and +brace expansion, and a slew of other features. + +WWW: http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html Added: head/shells/bash-devel/pkg-install ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/pkg-install Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,27 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +BASH="$(echo ${PKG_PREFIX-/usr/local}/bin/bash | /usr/bin/sed -e 's|//|/|g')" +RBASH="$(echo ${PKG_PREFIX-/usr/local}/bin/rbash | /usr/bin/sed -e 's|//|/|g')" +SHELLS="/etc/shells" + +case $2 in +POST-INSTALL) + if [ -d "${SHELLS%/*}" ] && ! grep -qs "^$BASH\$" "$SHELLS"; then + if [ `id -u` -eq 0 ]; then + echo "$BASH" >> "$SHELLS" + else + echo "Not root, please add $BASH to $SHELLS manually" + fi + fi + if [ -d "${SHELLS%/*}" ] && ! grep -qs "^$RBASH\$" "$SHELLS"; then + if [ `id -u` -eq 0 ]; then + echo "$RBASH" >> "$SHELLS" + else + echo "Not root, please add $RBASH to $SHELLS manually" + fi + fi + ;; +esac Added: head/shells/bash-devel/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/shells/bash-devel/pkg-plist Mon Jan 14 11:47:17 2013 (r310370) @@ -0,0 +1,114 @@ +@comment $FreeBSD$ +bin/bash +bin/rbash +bin/bashbug +%%HELP%%%%DATADIR%%/alias +%%HELP%%%%DATADIR%%/arith +%%HELP%%%%DATADIR%%/arith_for +%%HELP%%%%DATADIR%%/bg +%%HELP%%%%DATADIR%%/bind +%%HELP%%%%DATADIR%%/break +%%HELP%%%%DATADIR%%/builtin +%%HELP%%%%DATADIR%%/caller +%%HELP%%%%DATADIR%%/case +%%HELP%%%%DATADIR%%/cd +%%HELP%%%%DATADIR%%/colon +%%HELP%%%%DATADIR%%/command +%%HELP%%%%DATADIR%%/compgen +%%HELP%%%%DATADIR%%/complete +%%HELP%%%%DATADIR%%/compopt +%%HELP%%%%DATADIR%%/conditional +%%HELP%%%%DATADIR%%/continue +%%HELP%%%%DATADIR%%/coproc +%%HELP%%%%DATADIR%%/declare +%%HELP%%%%DATADIR%%/dirs +%%HELP%%%%DATADIR%%/disown +%%HELP%%%%DATADIR%%/dot +%%HELP%%%%DATADIR%%/echo +%%HELP%%%%DATADIR%%/enable +%%HELP%%%%DATADIR%%/eval +%%HELP%%%%DATADIR%%/exec +%%HELP%%%%DATADIR%%/exit +%%HELP%%%%DATADIR%%/export +%%HELP%%%%DATADIR%%/false +%%HELP%%%%DATADIR%%/fc +%%HELP%%%%DATADIR%%/fg +%%HELP%%%%DATADIR%%/fg_percent +%%HELP%%%%DATADIR%%/for +%%HELP%%%%DATADIR%%/function +%%HELP%%%%DATADIR%%/getopts +%%HELP%%%%DATADIR%%/grouping_braces +%%HELP%%%%DATADIR%%/hash +%%HELP%%%%DATADIR%%/help +%%HELP%%%%DATADIR%%/history +%%HELP%%%%DATADIR%%/if +%%HELP%%%%DATADIR%%/jobs +%%HELP%%%%DATADIR%%/kill +%%HELP%%%%DATADIR%%/let +%%HELP%%%%DATADIR%%/local +%%HELP%%%%DATADIR%%/logout +%%HELP%%%%DATADIR%%/mapfile +%%HELP%%%%DATADIR%%/popd +%%HELP%%%%DATADIR%%/printf +%%HELP%%%%DATADIR%%/pushd +%%HELP%%%%DATADIR%%/pwd +%%HELP%%%%DATADIR%%/read +%%HELP%%%%DATADIR%%/readarray +%%HELP%%%%DATADIR%%/readonly +%%HELP%%%%DATADIR%%/return +%%HELP%%%%DATADIR%%/select +%%HELP%%%%DATADIR%%/set +%%HELP%%%%DATADIR%%/shift +%%HELP%%%%DATADIR%%/shopt +%%HELP%%%%DATADIR%%/source +%%HELP%%%%DATADIR%%/suspend +%%HELP%%%%DATADIR%%/test +%%HELP%%%%DATADIR%%/test_bracket +%%HELP%%%%DATADIR%%/time +%%HELP%%%%DATADIR%%/times +%%HELP%%%%DATADIR%%/trap +%%HELP%%%%DATADIR%%/true +%%HELP%%%%DATADIR%%/type +%%HELP%%%%DATADIR%%/typeset +%%HELP%%%%DATADIR%%/ulimit +%%HELP%%%%DATADIR%%/umask +%%HELP%%%%DATADIR%%/unalias +%%HELP%%%%DATADIR%%/unset +%%HELP%%%%DATADIR%%/until +%%HELP%%%%DATADIR%%/variable_help +%%HELP%%%%DATADIR%%/wait +%%HELP%%%%DATADIR%%/while +%%HELP%%@dirrm %%DATADIR%% +%%NLS%%share/locale/af/LC_MESSAGES/bash.mo +%%NLS%%share/locale/bg/LC_MESSAGES/bash.mo +%%NLS%%share/locale/ca/LC_MESSAGES/bash.mo +%%NLS%%share/locale/cs/LC_MESSAGES/bash.mo +%%NLS%%share/locale/de/LC_MESSAGES/bash.mo +%%NLS%%share/locale/en@boldquot/LC_MESSAGES/bash.mo +%%NLS%%share/locale/en@quot/LC_MESSAGES/bash.mo +%%NLS%%share/locale/eo/LC_MESSAGES/bash.mo +%%NLS%%share/locale/es/LC_MESSAGES/bash.mo +%%NLS%%share/locale/et/LC_MESSAGES/bash.mo +%%NLS%%share/locale/fi/LC_MESSAGES/bash.mo +%%NLS%%share/locale/fr/LC_MESSAGES/bash.mo +%%NLS%%share/locale/ga/LC_MESSAGES/bash.mo +%%NLS%%share/locale/hu/LC_MESSAGES/bash.mo +%%NLS%%share/locale/id/LC_MESSAGES/bash.mo +%%NLS%%share/locale/ja/LC_MESSAGES/bash.mo +%%NLS%%share/locale/lt/LC_MESSAGES/bash.mo +%%NLS%%share/locale/nl/LC_MESSAGES/bash.mo +%%NLS%%share/locale/pl/LC_MESSAGES/bash.mo +%%NLS%%share/locale/pt_BR/LC_MESSAGES/bash.mo +%%NLS%%share/locale/ro/LC_MESSAGES/bash.mo +%%NLS%%share/locale/ru/LC_MESSAGES/bash.mo +%%NLS%%share/locale/sk/LC_MESSAGES/bash.mo +%%NLS%%share/locale/sv/LC_MESSAGES/bash.mo +%%NLS%%share/locale/tr/LC_MESSAGES/bash.mo +%%NLS%%share/locale/uk/LC_MESSAGES/bash.mo +%%NLS%%share/locale/vi/LC_MESSAGES/bash.mo +%%NLS%%share/locale/zh_CN/LC_MESSAGES/bash.mo +%%NLS%%share/locale/zh_TW/LC_MESSAGES/bash.mo +%%NLS%%@dirrmtry share/locale/en@boldquot/LC_MESSAGES +%%NLS%%@dirrmtry share/locale/en@boldquot +%%NLS%%@dirrmtry share/locale/en@quot/LC_MESSAGES +%%NLS%%@dirrmtry share/locale/en@quot