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>
This commit is contained in:
Neel Chauhan
2021-03-03 23:09:48 +00:00
parent b62e905609
commit 2b01fc5e4f
12 changed files with 361 additions and 2 deletions
+1
View File
@@ -11,6 +11,7 @@
SUBDIR += bash
SUBDIR += bash-completion
SUBDIR += bash-static
SUBDIR += bashc
SUBDIR += bicon
SUBDIR += ch
SUBDIR += dash
+3 -2
View File
@@ -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>
+103
View File
@@ -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>
+3
View File
@@ -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
+13
View File
@@ -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
+11
View File
@@ -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
+32
View File
@@ -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
+28
View File
@@ -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.
@@ -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));
+15
View File
@@ -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
}
]
+5
View File
@@ -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
+134
View File
@@ -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