diff options
Diffstat (limited to 'app-shells/tcsh')
-rw-r--r-- | app-shells/tcsh/Manifest | 7 | ||||
-rw-r--r-- | app-shells/tcsh/files/tcsh-6.18.01-aix.patch | 14 | ||||
-rw-r--r-- | app-shells/tcsh/files/tcsh-6.20.00-debian-dircolors.patch | 21 | ||||
-rw-r--r-- | app-shells/tcsh/files/tcsh-6.20.00-use-ncurses-tinfo.patch | 11 | ||||
-rw-r--r-- | app-shells/tcsh/metadata.xml | 15 | ||||
-rw-r--r-- | app-shells/tcsh/tcsh-6.20.00.ebuild | 101 |
6 files changed, 169 insertions, 0 deletions
diff --git a/app-shells/tcsh/Manifest b/app-shells/tcsh/Manifest new file mode 100644 index 000000000000..b373f3f9d1c9 --- /dev/null +++ b/app-shells/tcsh/Manifest @@ -0,0 +1,7 @@ +AUX tcsh-6.18.01-aix.patch 474 BLAKE2B c794769b5ddb354ebbcad902df18db735f06b3e098069e025e5b976b3fdf3758104b48881a94f38f620ba8cb5b307ee3f5a61f528988bd31ff9edd19efb58872 SHA512 ae5dd2f5aee7c14734e775b55f780aa430dd2efc8407b671308215c69e3b97ad37a3b54ad2bc7fabe84b1806997a78ccd15b06ac59491c93dcad14bb14032bd5 +AUX tcsh-6.20.00-debian-dircolors.patch 506 BLAKE2B 584808b9bd488c41a8b375d18b976ef89256771b9282b248c0ac4e500ea5dedb07a05af60c3a5995b511dce49ac95db1b0beb2ae2db11de241e9eea2a72c52cd SHA512 c761857c343c833aea5061baeb54dd86f7a8804424b7ea2009d05fd57b92ba3b892c05fe48a8f4e00a6eee39515086063a9c518004d726626dc5c466958a6dad +AUX tcsh-6.20.00-use-ncurses-tinfo.patch 382 BLAKE2B 99d794389e3f65607887eae8df4d8af9f9361604f0d70e96a45f3a2b3ec648a6f04f335b2de8fb8b9b6c7441be6009ca38f9f8479ddd9e3e831c4cf0c0b48863 SHA512 d6e2346a0ed093651be7073b04cd31ec1bd587c52fc9a21295405699fed2a63d6ea8415e7c0d29e0f03732288b4a8749e14c9ee85c39a1b4f8e51cfa996166c3 +DIST tcsh-6.20.00.tar.gz 1001696 BLAKE2B dfebde21c70f236e1070a93621a331ce1a53efab4496c44f25b51e98e843a8d0e3ca503da46a4fc0177b57b682e3ecc07f8120cde25ecf466c8ff094df5f9463 SHA512 c5635393c22341e62fb9a0b953ddf8871a876ab09deb08c98237f93afa9257b4a3381d1db65eefe769e22ef845db29ab7bc78773f1f609d73c8205689a6683e9 +DIST tcsh-gentoo-patches-r1.9.tar.bz2 2488 BLAKE2B 58924e623c75068cdc686be61755bdbcf8d0949a2141ac532ac089f80ff083b2c9f6767038b9fc52171a00ed82c558b83216327c87b41f51c3648343869cd5b6 SHA512 9903e9c3e2279abcac09a3235f3c5db9f42156c18137eb651ede195ca2b069f0b5bc6105fed33666b69796c4ebf03e4efe63cd9beba1898bac7297a2f74bfd3d +EBUILD tcsh-6.20.00.ebuild 2665 BLAKE2B 80e81d46a51ea4bdf3a3e1302199e4fc329b55dc4b4c19549ed01941b02b7043c1b90bdba0abfb458a207452f1aa6890a0b68e0f49f2fb43c4efddc1835771ef SHA512 ada4659b4e0be73592a3809ad5b0fd26aea90780476ccd9c458660020efb26c40da59d7c881d47980b35fe7628c031ae8f80484e96e73002f416a158332e50b2 +MISC metadata.xml 645 BLAKE2B 6a9d41c4ca043c899c0bfd8c5140958799c4eaf988f301551e8b8302995c81b0968981a2fda9247189965fc28887841eb30e1f3433262a58c843c0f890f857e5 SHA512 0f36e708c427083603b31df4bd4d808147333ff2711addff30936178e72b10f1020534046cb15ef1fecafee656c37d357ad3b5922320980ee15fddda11912f22 diff --git a/app-shells/tcsh/files/tcsh-6.18.01-aix.patch b/app-shells/tcsh/files/tcsh-6.18.01-aix.patch new file mode 100644 index 000000000000..669d20634731 --- /dev/null +++ b/app-shells/tcsh/files/tcsh-6.18.01-aix.patch @@ -0,0 +1,14 @@ +Upstream report, without better patch yet: +http://bugs.gw.com/view.php?id=366 + +--- tc.who.c.orig 2014-06-26 11:21:43 +0200 ++++ tc.who.c 2014-06-26 11:21:58 +0200 +@@ -60,6 +60,8 @@ + # define TCSH_PATH_UTMP _PATH_UTMPX + # elif defined(UTMPX_FILE) + # define TCSH_PATH_UTMP UTMPX_FILE ++# elif defined(UTMP_FILE) ++# define TCSH_PATH_UTMP UTMP_FILE + # elif __FreeBSD_version >= 900000 + # /* Why isn't this defined somewhere? */ + # define TCSH_PATH_UTMP "/var/run/utx.active" diff --git a/app-shells/tcsh/files/tcsh-6.20.00-debian-dircolors.patch b/app-shells/tcsh/files/tcsh-6.20.00-debian-dircolors.patch new file mode 100644 index 000000000000..3b18f1c45d77 --- /dev/null +++ b/app-shells/tcsh/files/tcsh-6.20.00-debian-dircolors.patch @@ -0,0 +1,21 @@ +forward-ported 6.14 to 6.20 patch from Debian + +--- tcsh-6.20.00/tw.color.c ++++ tcsh-6.20.00/tw.color.c +@@ -382,13 +382,10 @@ + if ((Char)variables[i].variable[0] == (v[0] & CHAR) && + (Char)variables[i].variable[1] == (v[1] & CHAR)) + break; +- if (i < nvariables) { +- v += 3; ++ v += 3; ++ if (i < nvariables) + getstring(&c, &v, &variables[i].color, ':'); +- continue; +- } +- else +- stderror(ERR_BADCOLORVAR, v[0], v[1]); ++ continue; + } + break; + } diff --git a/app-shells/tcsh/files/tcsh-6.20.00-use-ncurses-tinfo.patch b/app-shells/tcsh/files/tcsh-6.20.00-use-ncurses-tinfo.patch new file mode 100644 index 000000000000..e17841863d81 --- /dev/null +++ b/app-shells/tcsh/files/tcsh-6.20.00-use-ncurses-tinfo.patch @@ -0,0 +1,11 @@ +--- tcsh-6.20.00/configure.ac ++++ tcsh-6.20.00/configure.ac +@@ -317,7 +317,7 @@ + dnl Checks for libraries + AC_SEARCH_LIBS(crypt, crypt) + AC_SEARCH_LIBS(getspnam, sec) +-AC_SEARCH_LIBS([tgetent], [termlib termcap curses ncurses], [], [ ++AC_SEARCH_LIBS([tgetent], [ncurses tinfo], [], [ + AC_MSG_ERROR([unable to find the tgetent() function]) + ]) + AC_SEARCH_LIBS(gethostbyname, nsl) diff --git a/app-shells/tcsh/metadata.xml b/app-shells/tcsh/metadata.xml new file mode 100644 index 000000000000..1e378f90c6ca --- /dev/null +++ b/app-shells/tcsh/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>grobian@gentoo.org</email> + <name>Fabian Groffen</name> + </maintainer> + <longdescription> + Tcsh is an enhanced, but completely compatible version of the Berkeley + UNIX C shell (csh). It is a command language interpreter usable both as + an interactive login shell and a shell script command processor. It + includes a command-line editor, programmable word completion, spelling + correction, a history mechanism, job control and a C-like syntax. + </longdescription> +</pkgmetadata> diff --git a/app-shells/tcsh/tcsh-6.20.00.ebuild b/app-shells/tcsh/tcsh-6.20.00.ebuild new file mode 100644 index 000000000000..75baa9ba906e --- /dev/null +++ b/app-shells/tcsh/tcsh-6.20.00.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils flag-o-matic autotools prefix + +CONFVER="1.9" + +DESCRIPTION="Enhanced version of the Berkeley C shell (csh)" +HOMEPAGE="http://www.tcsh.org/" +SRC_URI=" + ftp://ftp.astron.com/pub/tcsh/${P}.tar.gz + https://dev.gentoo.org/~grobian/distfiles/tcsh-gentoo-patches-r${CONFVER}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="nls doc" +RESTRICT="test" + +# we need gettext because we run autoconf (AM_ICONV) +RDEPEND=" + >=sys-libs/ncurses-5.1:0= + virtual/libiconv" +DEPEND="${RDEPEND} + sys-devel/gettext + doc? ( dev-lang/perl )" + +CONFDIR=${WORKDIR}/tcsh-gentoo-patches-r${CONFVER} + +PATCHES=( + "${FILESDIR}"/${PN}-6.20.00-debian-dircolors.patch # bug #120792 + "${FILESDIR}"/${PN}-6.20.00-use-ncurses-tinfo.patch + "${FILESDIR}"/${PN}-6.18.01-aix.patch +) + +src_prepare() { + epatch "${PATCHES[@]}" + + eautoreconf + + # fix gencat usage + sed \ + -e 's/cat \$\^ \$> | \$(GENCAT) \$@/rm -f $@; $(GENCAT) $@ $> $^/' \ + -i nls/Makefile.in || die + + # use sysmalloc (for larger alloc sets) on Darwin also + sed -i -e 's/__MACHTEN__/__MACH__/' config_f.h || die + + # unify ECHO behaviour + echo "#undef ECHO_STYLE" >> config_f.h + echo "#define ECHO_STYLE BOTH_ECHO" >> config_f.h + + eprefixify "${CONFDIR}"/* + # activate the right default PATH + if [[ -z ${EPREFIX} ]] ; then + sed -i \ + -e 's/^#MAIN//' -e '/^#PREFIX/d' \ + "${CONFDIR}"/csh.login || die + else + sed -i \ + -e 's/^#PREFIX//' -e '/^#MAIN/d' \ + "${CONFDIR}"/csh.login || die + fi + + eapply_user +} + +src_configure() { + # make tcsh look and live along the lines of the prefix + append-cppflags -D_PATH_DOTCSHRC="'"'"${EPREFIX}/etc/csh.cshrc"'"'" + append-cppflags -D_PATH_DOTLOGIN="'"'"${EPREFIX}/etc/csh.login"'"'" + append-cppflags -D_PATH_DOTLOGOUT="'"'"${EPREFIX}/etc/csh.logout"'"'" + append-cppflags -D_PATH_USRBIN="'"'"${EPREFIX}/usr/bin"'"'" + append-cppflags -D_PATH_BIN="'"'"${EPREFIX}/bin"'"'" + + econf \ + --prefix="${EPREFIX:-}" \ + --datarootdir='${prefix}/usr/share' \ + $(use_enable nls) +} + +src_install() { + emake DESTDIR="${D}" install install.man + + DOCS=( FAQ Fixes NewThings Ported README WishList Y2K ) + if use doc ; then + perl tcsh.man2html tcsh.man || die + HTML_DOCS=( tcsh.html/*.html ) + fi + einstalldocs + + insinto /etc + doins \ + "${CONFDIR}"/csh.cshrc \ + "${CONFDIR}"/csh.login + + # bug #119703: add csh -> tcsh symlink + dosym tcsh /bin/csh +} |