-MD5 ce0694a6af9197d929533e9d0dfcb706 metadata.xml 706
-MD5 0a3c7e79ac0325c4492e1010f8ce472c csh-1.29-r2.ebuild 4249
-MD5 30bb1be62eff40f70b450bad4fa79c80 ChangeLog 3830
+MD5 4a057d427602b449fed1cb2b4b0c2cd1 csh-1.29-r4.ebuild 3901
MD5 270833e8e70225ecd411dc52b31c4709 csh-1.29-r3.ebuild 4296
+MD5 0a3c7e79ac0325c4492e1010f8ce472c csh-1.29-r2.ebuild 4249
+MD5 6dd323a6dc4f25a42fed5aadb36840f9 ChangeLog 3993
+MD5 ce0694a6af9197d929533e9d0dfcb706 metadata.xml 706
+MD5 49c0a95e6881eb7e2932d149f62f0de2 files/mksignames.c 10722
+MD5 213922a7d6fdee0a89e9a349653be22d files/linux-vs-bsd.diff 7483
MD5 8eb726131df145785642164034fb5a74 files/digest-csh-1.29-r2 60
MD5 8eb726131df145785642164034fb5a74 files/digest-csh-1.29-r3 60
+MD5 8eb726131df145785642164034fb5a74 files/digest-csh-1.29-r4 60
MD5 9a4c41baf0e48fb12e83a51b0b15f297 files/retype-input.diff 2352
-MD5 213922a7d6fdee0a89e9a349653be22d files/linux-vs-bsd.diff 7483
-MD5 2365e5e2ca11496be2169a6944a38994 files/dot.login 224
MD5 56092454f21f9d462f4514aadf4c78cd files/dot.cshrc 1549
-MD5 49c0a95e6881eb7e2932d149f62f0de2 files/mksignames.c 10722
+MD5 2365e5e2ca11496be2169a6944a38994 files/dot.login 224
--- /dev/null
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-shells/csh/csh-1.29-r4.ebuild,v 1.1 2005/11/02 22:55:01 taviso Exp $
+
+inherit flag-o-matic eutils ccc
+
+DESCRIPTION="Classic UNIX shell with C like syntax"
+HOMEPAGE="http://www.netbsd.org/"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~x86 ~alpha ~arm ~amd64 ~ia64 ~sparc ~ppc"
+IUSE="static doc"
+
+DEPEND="sys-devel/pmake"
+RDEPEND="virtual/libc"
+
+S=${WORKDIR}/src/bin/csh
+
+src_unpack() {
+ # unpack the source tarball
+ unpack ${A}
+
+ # hide some BSDisms, mostly my work, got some hints from the
+ # debian project (they use an older OpenBSD csh, though).
+ cd ${S}; epatch ${FILESDIR}/linux-vs-bsd.diff || die "patching failed."
+
+ # print the existing input after displaying completion options.
+ # patch contributed by splite <splite-gentoo@sigint.cs.purdue.edu>
+ # #24290
+ epatch ${FILESDIR}/retype-input.diff || die "patching failed."
+
+ # copy some required files over, from NetBSD
+
+ cd ${S}; cp ${WORKDIR}/printf.c \
+ ${WORKDIR}/vis.h \
+ ${WORKDIR}/vis.c \
+ ${FILESDIR}/dot.login \
+ ${FILESDIR}/dot.cshrc \
+ ${S}
+
+ # this parses the output of the bash builtin `kill`
+ # and creates an array of signal names for csh.
+
+ einfo "Making a list of signal names..."
+
+ local cnt=0
+
+ printf "/* automatically generated during %s build */\n\n" ${PF} > ${S}/signames.h
+ printf "const char *const sys_signame[NSIG + 3] = {\n" >> ${S}/signames.h
+ printf "\t\"EXIT\",\t\n" >> ${S}/signames.h
+
+ let cnt++
+
+ for i in `kill -l`
+ do
+ let $((cnt++))%2 && continue
+ einfo " Adding ${i:3}..."
+ printf "\t\"%s\",\n" ${i:3} >> ${S}/signames.h
+ done
+
+ printf "\t\"DEBUG\",\n\t\"ERR\",\n\t(char *)0x0\n};\n\n" >> ${S}/signames.h
+
+ einfo "Making some final tweaks..."
+ sed -i 's#sys/tty.h#linux/tty.h#g' ${S}/file.c
+ sed -i 's!\(#include "proc.h"\)!\1\n#include "signames.h"\n!g' ${S}/proc.c
+ sed -i 's#\(strpct.c time.c\)#\1 vis.c#g' ${S}/Makefile
+ sed -i 's!#include "namespace.h"!!g' ${S}/vis.c
+ sed -i 's#/usr/games/fortune#/usr/bin/fortune#g' ${S}/dot.login
+
+}
+
+src_compile() {
+
+ einfo "Adding flags required for succesful compilation..."
+
+ # this should be easier than maintaining a patch.
+ append-flags -Dlint -w -D__dead="" -D__LIBC12_SOURCE__ -DNODEV="-1"
+ append-flags -DTTYHOG=1024 -DMAXPATHLEN=4096 -D_GNU_SOURCE
+ append-flags -D_DIAGASSERT="assert"
+
+ # maybe they dont warn on BSD, but on linux they are very noisy.
+ export NOGCCERROR=1
+
+ # if csh is a users preferred shell, they may want
+ # a static binary to help on the event of fs emergency.
+ use static && append-ldflags -static
+
+ # pmake is a portage binary as well, so specify full path.
+ # if yours isnt in /usr/bin, you can set PMAKE_PATH.
+ einfo "Starting build..."
+ ${PMAKE_PATH:-/usr/bin/}pmake LIBC='' || die "compile failed."
+
+ echo
+ size csh
+ echo
+
+ # make the c shell guide
+ use doc && {
+ einfo "Making documentation..."
+ cd ${S}/USD.doc
+ ${PMAKE_PATH:-/usr/bin/}pmake
+ }
+ cd ${S}
+}
+
+src_install() {
+ exeinto /bin
+ doexe csh
+
+ doman csh.1
+
+ use doc && dodoc USD.doc/paper.ps
+ dodoc dot.cshrc dot.login
+}
+
+pkg_postinst() {
+ echo
+ if use doc; then
+ einfo "An Introduction to the C shell by Bill Joy, a "
+ einfo "postscript document included with this shell has"
+ einfo "been installed in /usr/share/doc/${PF}, if you are new"
+ einfo "to the C shell, you may find it interesting."
+ else
+ einfo "You don't have USE=doc, so the"
+ einfo "postscript document \"An Introduction to the C"
+ einfo "shell by Bill Joy\" was not installed."
+ fi
+ echo
+ einfo "Example login scripts have been installed in /usr/share/doc/${PF}."
+ einfo "You can install a simple dot.cshrc like this:"
+ einfo
+ einfo " % zcat /usr/share/doc/${PF}/dot.cshrc > ~/.cshrc"
+ einfo " % zcat /usr/share/doc/${PF}/dot.login > ~/.login"
+ einfo
+ einfo "And then edit to your liking."
+ echo
+}