mirror of
https://github.com/netbirdio/FreeBSD-ports.git
synced 2026-05-22 18:42:42 -07:00
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:
@@ -11,6 +11,7 @@
|
||||
SUBDIR += bash
|
||||
SUBDIR += bash-completion
|
||||
SUBDIR += bash-static
|
||||
SUBDIR += bashc
|
||||
SUBDIR += bicon
|
||||
SUBDIR += ch
|
||||
SUBDIR += dash
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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));
|
||||
@@ -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
|
||||
}
|
||||
]
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user