summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTavis Ormandy <taviso@gentoo.org>2004-01-09 08:58:39 +0000
committerTavis Ormandy <taviso@gentoo.org>2004-01-09 08:58:39 +0000
commit85ccdc4b93a87abee24b1823e69c5ff4c164b8ff (patch)
tree2ad5328e9bf1b02c9144ce48cfa48934c2fddb4b /app-shells/csh
parentfixing #37608, csh shouldnt use the SIG prefix when referring to signal names. (diff)
downloadhistorical-85ccdc4b93a87abee24b1823e69c5ff4c164b8ff.tar.gz
historical-85ccdc4b93a87abee24b1823e69c5ff4c164b8ff.tar.bz2
historical-85ccdc4b93a87abee24b1823e69c5ff4c164b8ff.zip
fixing #37608, csh shouldnt use the SIG prefix when referring to signal names.
Diffstat (limited to 'app-shells/csh')
-rw-r--r--app-shells/csh/Manifest4
-rw-r--r--app-shells/csh/csh-1.29-r3.ebuild148
-rw-r--r--app-shells/csh/files/digest-csh-1.29-r31
3 files changed, 151 insertions, 2 deletions
diff --git a/app-shells/csh/Manifest b/app-shells/csh/Manifest
index 06fa6319d8a4..2df191e38042 100644
--- a/app-shells/csh/Manifest
+++ b/app-shells/csh/Manifest
@@ -1,6 +1,6 @@
-MD5 2168211e97740da18eb7add9c751f536 csh-1.29-r3.ebuild 4251
+MD5 370e61f9b09a47f356e73d2f8ecaa9ec csh-1.29-r3.ebuild 4248
MD5 afd240b358ddc31ea2afd7a7d0c0ffdb csh-1.29-r2.ebuild 4247
-MD5 744fd6a6dd4fab031340385f409488be ChangeLog 2714
+MD5 6ec3513a274421742b2282052aeb133d ChangeLog 2894
MD5 ce0694a6af9197d929533e9d0dfcb706 metadata.xml 706
MD5 49c0a95e6881eb7e2932d149f62f0de2 files/mksignames.c 10722
MD5 213922a7d6fdee0a89e9a349653be22d files/linux-vs-bsd.diff 7483
diff --git a/app-shells/csh/csh-1.29-r3.ebuild b/app-shells/csh/csh-1.29-r3.ebuild
new file mode 100644
index 000000000000..d10fa1cb4169
--- /dev/null
+++ b/app-shells/csh/csh-1.29-r3.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-shells/csh/csh-1.29-r3.ebuild,v 1.1 2004/01/09 08:58:30 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"
+IUSE="static doc"
+
+DEPEND="sys-devel/pmake !app-shells/tcsh"
+RDEPEND="virtual/glibc"
+
+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 _damn_.
+ 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 || 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}
+
+ einfo "Making empty configuration files.."
+ printf "#\n# System-wide .cshrc file for csh(1).\n\n" > csh.cshrc
+ printf "#\n# System-wide .login file for csh(1).\n\n" > csh.login
+ printf "if ( -f /etc/csh.env ) source /etc/csh.env\n" >> csh.login
+ printf "#\n# System-wide .logout file for csh(1).\n\n" > csh.logout
+}
+
+src_install() {
+ exeinto /bin
+ doexe csh
+
+ doman csh.1
+
+ use doc && dodoc USD.doc/paper.ps
+ dodoc dot.cshrc dot.login
+
+ insinto /etc
+ doins csh.cshrc csh.login csh.logout
+}
+
+pkg_postinst() {
+ echo
+ use doc && {
+ 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."
+ } || {
+ einfo "You didnt have the \`doc\` use flag set, the"
+ einfo "postscript document \"An Introduction to the C"
+ einfo "shell by Bill Joy\" was not installed."
+ }
+ 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-r3 b/app-shells/csh/files/digest-csh-1.29-r3
new file mode 100644
index 000000000000..ebc0d877f98b
--- /dev/null
+++ b/app-shells/csh/files/digest-csh-1.29-r3
@@ -0,0 +1 @@
+MD5 9637b9572e66e992305dfed9909098e2 csh-1.29.tar.gz 179592