diff options
author | Neel Chauhan <nc@FreeBSD.org> | 2021-03-03 23:09:48 +0000 |
---|---|---|
committer | Neel Chauhan <nc@FreeBSD.org> | 2021-03-03 23:09:48 +0000 |
commit | 2b01fc5e4fde5be72f9cc3a0b469c71ba950187f (patch) | |
tree | 2338c5827779321db236a11192ca953e5e91deb0 /shells | |
parent | security/pecl-ssh2: Update to 1.3.1 (diff) |
NEW PORT: shells/bashc: GNU Bourne Again shell extended with two-panel file manager
Bash Commander is a fork of GNU Bourne Again Shell. It's main feature is
a visual two-panel mode, much like Midnight Commander and other text-mode
visual shells.
WWW: https://github.com/sergev/bash-commander
Also add bashc to the CONFLICTS section of shells/bash.
PR: 253783, 253784
Submitted by: Igor Pokrovsky <ip AT unixway DOT org>
Notes
Notes:
svn path=/head/; revision=567269
Diffstat (limited to 'shells')
-rw-r--r-- | shells/Makefile | 1 | ||||
-rw-r--r-- | shells/bash/Makefile | 5 | ||||
-rw-r--r-- | shells/bashc/Makefile | 103 | ||||
-rw-r--r-- | shells/bashc/distinfo | 3 | ||||
-rw-r--r-- | shells/bashc/files/patch-Makefile.in | 13 | ||||
-rw-r--r-- | shells/bashc/files/patch-config-top.h | 11 | ||||
-rw-r--r-- | shells/bashc/files/patch-doc_bash.1 | 32 | ||||
-rw-r--r-- | shells/bashc/files/patch-doc_bashref.texi | 28 | ||||
-rw-r--r-- | shells/bashc/files/patch-lib_readline_display.c | 13 | ||||
-rw-r--r-- | shells/bashc/files/pkg-message.in | 15 | ||||
-rw-r--r-- | shells/bashc/pkg-descr | 5 | ||||
-rw-r--r-- | shells/bashc/pkg-plist | 134 |
12 files changed, 361 insertions, 2 deletions
diff --git a/shells/Makefile b/shells/Makefile index ee29d0340b4f..e5bf1f4012ef 100644 --- a/shells/Makefile +++ b/shells/Makefile @@ -11,6 +11,7 @@ SUBDIR += bash SUBDIR += bash-completion SUBDIR += bash-static + SUBDIR += bashc SUBDIR += bicon SUBDIR += ch SUBDIR += dash diff --git a/shells/bash/Makefile b/shells/bash/Makefile index ea917fd655c0..ca709d5197e1 100644 --- a/shells/bash/Makefile +++ b/shells/bash/Makefile @@ -59,10 +59,11 @@ CONFIGURE_ARGS+= --without-bash-malloc \ MAKE_ARGS+= TERMCAP_LIB=-lncursesw .if empty(PKGNAMESUFFIX) -CONFLICTS+= bash-static-[0-9]* +CONFLICTS+= bash-static-[0-9]* .else -CONFLICTS+= bash-[0-9]* +CONFLICTS+= bash-[0-9]* .endif +CONFLICTS+= bashc .include <bsd.port.options.mk> diff --git a/shells/bashc/Makefile b/shells/bashc/Makefile new file mode 100644 index 000000000000..68d915294eef --- /dev/null +++ b/shells/bashc/Makefile @@ -0,0 +1,103 @@ +# Created by: Igor Pokrovsky <ip@unixway.org> +# $FreeBSD$ + +PORTNAME= bashc +PORTVERSION= 5.0.9 +CATEGORIES= shells + +MAINTAINER= ip@unixway.org +COMMENT= GNU Bourne Again shell extended with two-panel file manager + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/COPYING + +USES= bison cpe gmake iconv localbase makeinfo pathfix +GNU_CONFIGURE= yes +OPTIONS_SUB= yes +CPE_VENDOR= gnu + +USE_GITHUB= yes +GH_ACCOUNT= sergev +GH_PROJECT= bash-commander +GH_TAGNAME= f707afab3e299d9b9e557923d355e14d2fe1291a + +OPTIONS_DEFINE= DOCS FDESCFS HELP NLS STATIC SYSBASHRC SYSLOG +FDESCFS_DESC= Enable use of /dev/fd +HELP_DESC= Enable builtin help +SYSBASHRC_DESC= Enable system-wide rc files + +OPTIONS_DEFAULT= HELP + +FDESCFS_CONFIGURE_ENV_OFF= bash_cv_dev_fd=absent + +HELP_CONFIGURE_ENABLE= help-builtin +NLS_CONFIGURE_ENABLE= nls +NLS_USES= gettext + +INFO= bash + +PORTDOCS= CHANGES COMPAT FAQ INTRO NEWS POSIX RBASH README bash.html \ + bashref.html +DOCSDIR= ${PREFIX}/share/doc/bash +SUB_FILES= pkg-message + +CONFIGURE_ARGS+= --disable-rpath \ + --enable-disabled-builtins \ + --with-libiconv-prefix=${ICONV_PREFIX} \ + --without-bash-malloc + +CONFLICTS+= bash-[0-9]* bash-static-[0-9]* + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MSTATIC} || defined(NO_DYNAMICROOT) || (defined(NOSHARED) && ${NOSHARED:tl} != "no") +CONFIGURE_ARGS+= --enable-static-link +LLD_UNSAFE= yes +.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.) +LDFLAGS+= -Wl,-export-dynamic +.endif +STANDARD_PATH= /sbin:/bin:/usr/sbin:/usr/bin +CPPFLAGS+= -DDEFAULT_PATH_VALUE='\"${STANDARD_PATH}:${LOCALBASE}/sbin:${LOCALBASE}/bin\"' \ + -DSTANDARD_UTILS_PATH='\"${STANDARD_PATH}\"' + +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" \ + -e "s|/\*.*#define SYSLOG_SHOPT .*\*/|#define SYSLOG_SHOPT 1|g" \ + ${WRKSRC}/config-top.h +.endif + +post-patch-SYSBASHRC-on: + @${REINPLACE_CMD} \ + -e "s|.*\(#define SYS_BASH.*\)\(/etc/.*\"\).*|\1${PREFIX}\2|" \ + ${WRKSRC}/config-top.h + +post-configure: + @${FIND} ${WRKSRC} -name Makefile -print0 | ${XARGS} -0 \ + ${REINPLACE_CMD} -e "s|^DESTDIR *=|& ${DESTDIR}|" + +pre-build: + @${ECHO_CMD} $$((${PORTREVISION}-1)) > ${WRKSRC}/.build + +post-install: + ${LN} -sf ${PORTNAME} ${STAGEDIR}${PREFIX}/bin/rbash + ${LN} -sf ${PORTNAME} ${STAGEDIR}${PREFIX}/bin/bash + @${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 + +.include <bsd.port.mk> diff --git a/shells/bashc/distinfo b/shells/bashc/distinfo new file mode 100644 index 000000000000..069a7b3ffffc --- /dev/null +++ b/shells/bashc/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1613744521 +SHA256 (sergev-bash-commander-5.0.9-f707afab3e299d9b9e557923d355e14d2fe1291a_GH0.tar.gz) = a32b8770a9b68420baa4bb05dbe84120c12835ad28dc82f8ec745bbce6d2acb8 +SIZE (sergev-bash-commander-5.0.9-f707afab3e299d9b9e557923d355e14d2fe1291a_GH0.tar.gz) = 10112494 diff --git a/shells/bashc/files/patch-Makefile.in b/shells/bashc/files/patch-Makefile.in new file mode 100644 index 000000000000..2c0bc50654bf --- /dev/null +++ b/shells/bashc/files/patch-Makefile.in @@ -0,0 +1,13 @@ +--- Makefile.in.orig 2021-02-19 17:35:54 UTC ++++ Makefile.in +@@ -774,8 +774,8 @@ pathnames.h: Makefile $(srcdir)/pathnames.h.in + @${RM} pathnames.tmp + + # comment out for distribution +-#$(srcdir)/configure: $(srcdir)/configure.ac $(srcdir)/aclocal.m4 $(srcdir)/config.h.in +-# cd $(srcdir) && autoconf ++$(srcdir)/configure: $(srcdir)/configure.ac $(srcdir)/aclocal.m4 $(srcdir)/config.h.in ++ cd $(srcdir) && autoconf + + # for chet + reconfig: force diff --git a/shells/bashc/files/patch-config-top.h b/shells/bashc/files/patch-config-top.h new file mode 100644 index 000000000000..659cc69f1bb4 --- /dev/null +++ b/shells/bashc/files/patch-config-top.h @@ -0,0 +1,11 @@ +--- config-top.h.orig 2019-08-29 22:16:15 UTC ++++ config-top.h +@@ -78,7 +78,7 @@ + #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 diff --git a/shells/bashc/files/patch-doc_bash.1 b/shells/bashc/files/patch-doc_bash.1 new file mode 100644 index 000000000000..ecfb819a9c8d --- /dev/null +++ b/shells/bashc/files/patch-doc_bash.1 @@ -0,0 +1,32 @@ +--- doc/bash.1.orig 2019-08-29 22:16:15 UTC ++++ doc/bash.1 +@@ -31,9 +31,9 @@ + .\" .ll \\n(LLu + .\" .in \\n()Ru+\\n(INu+\\n()Iu + .\" .ti \\n(INu +-.\" .ie !\\n()Iu+\\n()Ru-\w\\*(]Xu-3p \{\\*(]X ++.\" .ie !\\n()Iu+\\n()Ru-\w\\*(]Xu-3p \{\\*(]X + .\" .br\} +-.\" .el \\*(]X\h|\\n()Iu+\\n()Ru\c ++.\" .el \\*(]X\h|\\n()Iu+\\n()Ru\c + .\" .}f + .\" .. + .\" +@@ -2444,7 +2444,7 @@ The value of this parameter is expanded (see + .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 +@@ -10880,7 +10880,7 @@ http://tiswww.case.edu/~chet/bash/POSIX -- a descripti + .SH FILES + .PD 0 + .TP +-.FN /bin/bash ++.FN /usr/local/bin/bash + The \fBbash\fP executable + .TP + .FN /etc/profile diff --git a/shells/bashc/files/patch-doc_bashref.texi b/shells/bashc/files/patch-doc_bashref.texi new file mode 100644 index 000000000000..5975199958f5 --- /dev/null +++ b/shells/bashc/files/patch-doc_bashref.texi @@ -0,0 +1,28 @@ +--- doc/bashref.texi.orig 2019-08-29 22:16:15 UTC ++++ doc/bashref.texi +@@ -1,6 +1,6 @@ + \input texinfo.tex @c -*- texinfo -*- + @c %**start of header +-@setfilename bashref.info ++@setfilename bash.info + @settitle Bash Reference Manual + + @include version.texi +@@ -8,7 +8,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}, +@@ -5598,7 +5598,7 @@ A null directory name may appear as two adjacent colon + or trailing colon. + + @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{Controlling the Prompt}, for the complete list of escape + sequences that are expanded before @env{PS1} is displayed. + diff --git a/shells/bashc/files/patch-lib_readline_display.c b/shells/bashc/files/patch-lib_readline_display.c new file mode 100644 index 000000000000..b69b08410b1a --- /dev/null +++ b/shells/bashc/files/patch-lib_readline_display.c @@ -0,0 +1,13 @@ +--- lib/readline/display.c.orig 2018-10-01 01:37:48 UTC ++++ lib/readline/display.c +@@ -837,7 +837,10 @@ rl_redisplay (void) + the line breaks in the prompt string in expand_prompt, taking invisible + characters into account, and if lpos exceeds the screen width, we copy + the data in the loop below. */ ++ if (local_prompt) + lpos = prompt_physical_chars + modmark; ++ else ++ lpos = 0; + + #if defined (HANDLE_MULTIBYTE) + memset (line_state_invisible->wrapped_line, 0, line_state_invisible->wbsize * sizeof (int)); diff --git a/shells/bashc/files/pkg-message.in b/shells/bashc/files/pkg-message.in new file mode 100644 index 000000000000..535884ce35a2 --- /dev/null +++ b/shells/bashc/files/pkg-message.in @@ -0,0 +1,15 @@ +[ +{ type: install + message: <<EOM +By default, Bash Commander behaves exactly like traditional bash, so it's safe +to install it as a system-wide /bin/sh. File panels are enabled only in +interactive mode, when an environment variable COMMANDER is set. +It is recommended to add the following lines to your ~/.bashrc script: + +declare -x EDITOR="le" +declare -x VIEWER="le --read-only" +. /usr/local/etc/bash_commander + +EOM +} +] diff --git a/shells/bashc/pkg-descr b/shells/bashc/pkg-descr new file mode 100644 index 000000000000..ebe9b7016d93 --- /dev/null +++ b/shells/bashc/pkg-descr @@ -0,0 +1,5 @@ +Bash Commander is a fork of GNU Bourne Again Shell. It's main feature is a +visual two-panel mode, much like Midnight Commander and other text-mode +visual shells. + +WWW: https://github.com/sergev/bash-commander diff --git a/shells/bashc/pkg-plist b/shells/bashc/pkg-plist new file mode 100644 index 000000000000..4b3dc60ff0e8 --- /dev/null +++ b/shells/bashc/pkg-plist @@ -0,0 +1,134 @@ +@shell bin/bash +@shell bin/bashc +@shell bin/rbash +bin/bashbug +etc/bash_commander +etc/bash_dialog +%%NO_STATIC%%include/bash/alias.h +%%NO_STATIC%%include/bash/array.h +%%NO_STATIC%%include/bash/arrayfunc.h +%%NO_STATIC%%include/bash/assoc.h +%%NO_STATIC%%include/bash/bashansi.h +%%NO_STATIC%%include/bash/bashintl.h +%%NO_STATIC%%include/bash/bashjmp.h +%%NO_STATIC%%include/bash/bashtypes.h +%%NO_STATIC%%include/bash/builtins.h +%%NO_STATIC%%include/bash/builtins/bashgetopt.h +%%NO_STATIC%%include/bash/builtins/builtext.h +%%NO_STATIC%%include/bash/builtins/common.h +%%NO_STATIC%%include/bash/builtins/getopt.h +%%NO_STATIC%%include/bash/command.h +%%NO_STATIC%%include/bash/config-bot.h +%%NO_STATIC%%include/bash/config-top.h +%%NO_STATIC%%include/bash/config.h +%%NO_STATIC%%include/bash/conftypes.h +%%NO_STATIC%%include/bash/dispose_cmd.h +%%NO_STATIC%%include/bash/error.h +%%NO_STATIC%%include/bash/externs.h +%%NO_STATIC%%include/bash/general.h +%%NO_STATIC%%include/bash/hashlib.h +%%NO_STATIC%%include/bash/include/ansi_stdlib.h +%%NO_STATIC%%include/bash/include/chartypes.h +%%NO_STATIC%%include/bash/include/filecntl.h +%%NO_STATIC%%include/bash/include/gettext.h +%%NO_STATIC%%include/bash/include/maxpath.h +%%NO_STATIC%%include/bash/include/memalloc.h +%%NO_STATIC%%include/bash/include/ocache.h +%%NO_STATIC%%include/bash/include/posixdir.h +%%NO_STATIC%%include/bash/include/posixjmp.h +%%NO_STATIC%%include/bash/include/posixstat.h +%%NO_STATIC%%include/bash/include/posixtime.h +%%NO_STATIC%%include/bash/include/posixwait.h +%%NO_STATIC%%include/bash/include/shmbchar.h +%%NO_STATIC%%include/bash/include/shmbutil.h +%%NO_STATIC%%include/bash/include/shtty.h +%%NO_STATIC%%include/bash/include/stat-time.h +%%NO_STATIC%%include/bash/include/stdc.h +%%NO_STATIC%%include/bash/include/systimes.h +%%NO_STATIC%%include/bash/include/typemax.h +%%NO_STATIC%%include/bash/include/unionwait.h +%%NO_STATIC%%include/bash/jobs.h +%%NO_STATIC%%include/bash/make_cmd.h +%%NO_STATIC%%include/bash/pathnames.h +%%NO_STATIC%%include/bash/quit.h +%%NO_STATIC%%include/bash/shell.h +%%NO_STATIC%%include/bash/sig.h +%%NO_STATIC%%include/bash/siglist.h +%%NO_STATIC%%include/bash/signames.h +%%NO_STATIC%%include/bash/subst.h +%%NO_STATIC%%include/bash/syntax.h +%%NO_STATIC%%include/bash/unwind_prot.h +%%NO_STATIC%%include/bash/variables.h +%%NO_STATIC%%include/bash/version.h +%%NO_STATIC%%include/bash/xmalloc.h +%%NO_STATIC%%include/bash/y.tab.h +%%NO_STATIC%%lib/bash/Makefile.inc +%%NO_STATIC%%lib/bash/basename +%%NO_STATIC%%lib/bash/dirname +%%NO_STATIC%%lib/bash/fdflags +%%NO_STATIC%%lib/bash/finfo +%%NO_STATIC%%lib/bash/head +%%NO_STATIC%%lib/bash/id +%%NO_STATIC%%lib/bash/ln +%%NO_STATIC%%lib/bash/loadables.h +%%NO_STATIC%%lib/bash/logname +%%NO_STATIC%%lib/bash/mkdir +%%NO_STATIC%%lib/bash/mypid +%%NO_STATIC%%lib/bash/pathchk +%%NO_STATIC%%lib/bash/print +%%NO_STATIC%%lib/bash/printenv +%%NO_STATIC%%lib/bash/push +%%NO_STATIC%%lib/bash/realpath +%%NO_STATIC%%lib/bash/rmdir +%%NO_STATIC%%lib/bash/seq +%%NO_STATIC%%lib/bash/setpgid +%%NO_STATIC%%lib/bash/sleep +%%NO_STATIC%%lib/bash/strftime +%%NO_STATIC%%lib/bash/sync +%%NO_STATIC%%lib/bash/tee +%%NO_STATIC%%lib/bash/truefalse +%%NO_STATIC%%lib/bash/tty +%%NO_STATIC%%lib/bash/uname +%%NO_STATIC%%lib/bash/unlink +%%NO_STATIC%%lib/bash/whoami +%%NO_STATIC%%libdata/pkgconfig/bash.pc +%%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/da/LC_MESSAGES/bash.mo +%%NLS%%share/locale/de/LC_MESSAGES/bash.mo +%%NLS%%share/locale/el/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/gl/LC_MESSAGES/bash.mo +%%NLS%%share/locale/hr/LC_MESSAGES/bash.mo +%%NLS%%share/locale/hu/LC_MESSAGES/bash.mo +%%NLS%%share/locale/id/LC_MESSAGES/bash.mo +%%NLS%%share/locale/it/LC_MESSAGES/bash.mo +%%NLS%%share/locale/ja/LC_MESSAGES/bash.mo +%%NLS%%share/locale/lt/LC_MESSAGES/bash.mo +%%NLS%%share/locale/nb/LC_MESSAGES/bash.mo +%%NLS%%share/locale/nl/LC_MESSAGES/bash.mo +%%NLS%%share/locale/pl/LC_MESSAGES/bash.mo +%%NLS%%share/locale/pt/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/sl/LC_MESSAGES/bash.mo +%%NLS%%share/locale/sr/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 +man/man1/bash.1.gz +man/man1/bashbug.1.gz |