diff options
author | Tavis Ormandy <taviso@gentoo.org> | 2004-01-09 08:58:39 +0000 |
---|---|---|
committer | Tavis Ormandy <taviso@gentoo.org> | 2004-01-09 08:58:39 +0000 |
commit | 85ccdc4b93a87abee24b1823e69c5ff4c164b8ff (patch) | |
tree | 2ad5328e9bf1b02c9144ce48cfa48934c2fddb4b /app-shells/csh | |
parent | fixing #37608, csh shouldnt use the SIG prefix when referring to signal names. (diff) | |
download | historical-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/Manifest | 4 | ||||
-rw-r--r-- | app-shells/csh/csh-1.29-r3.ebuild | 148 | ||||
-rw-r--r-- | app-shells/csh/files/digest-csh-1.29-r3 | 1 |
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 |