dont install init files so that tcsh block can be removed.
authorTavis Ormandy <taviso@gentoo.org>
Wed, 2 Nov 2005 22:55:01 +0000 (22:55 +0000)
committerTavis Ormandy <taviso@gentoo.org>
Wed, 2 Nov 2005 22:55:01 +0000 (22:55 +0000)
Package-Manager: portage-2.0.51.19

app-shells/csh/ChangeLog
app-shells/csh/Manifest
app-shells/csh/csh-1.29-r4.ebuild [new file with mode: 0644]
app-shells/csh/files/digest-csh-1.29-r4 [new file with mode: 0644]

index c795a4fd864fc6cc03c985e5089786d7875cd271..7d2aa71221d3e7ccbaa2066ca929d981b11648f8 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for app-shells/csh
 # Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-shells/csh/ChangeLog,v 1.28 2005/05/02 18:31:46 spb Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-shells/csh/ChangeLog,v 1.29 2005/11/02 22:55:01 taviso Exp $
+
+*csh-1.29-r4 (02 Nov 2005)
+
+  02 Nov 2005; Tavis Ormandy <taviso@gentoo.org> +csh-1.29-r4.ebuild:
+  dont install init files so that tcsh block can be removed.
 
   02 May 2005; Stephen Bennett <spb@gentoo.org> csh-1.29-r3.ebuild:
   Fixed build when LIBC is set. #91179.
index fbdae86fba7ab7e02a00702acd7f9f4af0a2d968..c468dd1261e260541e055e33e8b7883c07584955 100644 (file)
@@ -1,11 +1,13 @@
-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
diff --git a/app-shells/csh/csh-1.29-r4.ebuild b/app-shells/csh/csh-1.29-r4.ebuild
new file mode 100644 (file)
index 0000000..34c0406
--- /dev/null
@@ -0,0 +1,139 @@
+# 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
+}
diff --git a/app-shells/csh/files/digest-csh-1.29-r4 b/app-shells/csh/files/digest-csh-1.29-r4
new file mode 100644 (file)
index 0000000..ebc0d87
--- /dev/null
@@ -0,0 +1 @@
+MD5 9637b9572e66e992305dfed9909098e2 csh-1.29.tar.gz 179592