summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2003-12-17 11:58:24 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2003-12-17 11:58:24 +0000
commitb903fb8023765f91d2acdf09cafd93e91fcac5ab (patch)
tree9349a30fd9ca5acb6caa650ff6e6f054e713a8cf /sys-apps/tcng/tcng-9i.ebuild
parentnew version upstream, major fixes, fix bug #35851, full tcsim support, block ... (diff)
downloadgentoo-2-b903fb8023765f91d2acdf09cafd93e91fcac5ab.tar.gz
gentoo-2-b903fb8023765f91d2acdf09cafd93e91fcac5ab.tar.bz2
gentoo-2-b903fb8023765f91d2acdf09cafd93e91fcac5ab.zip
new version upstream, major fixes, fix bug #35851, full tcsim support, block old version out as it was badly badly broken
Diffstat (limited to 'sys-apps/tcng/tcng-9i.ebuild')
-rw-r--r--sys-apps/tcng/tcng-9i.ebuild132
1 files changed, 132 insertions, 0 deletions
diff --git a/sys-apps/tcng/tcng-9i.ebuild b/sys-apps/tcng/tcng-9i.ebuild
new file mode 100644
index 000000000000..974a06ebb3ae
--- /dev/null
+++ b/sys-apps/tcng/tcng-9i.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/tcng/tcng-9i.ebuild,v 1.1 2003/12/17 11:58:17 robbat2 Exp $
+
+DESCRIPTION="tcng - Traffic Control Next Generation"
+HOMEPAGE="http://tcng.sourceforge.net/"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="doc tcsim"
+
+# perl because stuff is written in it
+# iproute,linux-atm as the output needs that
+# os-headers as it compiles stuff with them
+# gcc/binutils as it compiles stuff
+DEPEND_COMMON="dev-lang/perl
+ sys-apps/iproute
+ net-dialup/linux-atm
+ virtual/os-headers
+ sys-devel/gcc
+ sys-devel/binutils"
+
+DEPEND="doc? ( virtual/ghostscript app-text/tetex media-gfx/transfig )
+ sys-devel/make
+ dev-util/yacc
+ sys-devel/flex
+ ${DEPEND_COMMON}"
+RDEPEND="sys-devel/gcc
+ tcsim? ( media-gfx/gnuplot )
+ sys-apps/grep
+ sys-apps/sed
+ sys-apps/gawk
+ sys-apps/coreutils
+ ${DEPEND_COMMON}"
+
+IPROUTE_PN="iproute"
+IPROUTE_PV="20010824"
+IPROUTE_DEBIAN_PATCH_PV="11"
+IPROUTE_P="${IPROUTE_PN}-${IPROUTE_PV}"
+IPROUTE_DEBIAN_PATCH="${IPROUTE_P/-/_}-${IPROUTE_DEBIAN_PATCH_PV}.diff.gz"
+IPROUTE_SRCFILE="iproute2-2.4.7-now-ss${IPROUTE_PV/20}.tar.gz"
+
+# we also need a vanilla kernel source to use with this
+KERNEL_PN=linux
+KERNEL_PV=2.4.23
+KERNEL_P=${KERNEL_PN}-${KERNEL_PV}
+
+# note this project does NOT use the SF mirroring system
+SRC_URI="http://tcng.sourceforge.net/dist/${P}.tar.gz
+ tcsim? ( ftp://ftp.inr.ac.ru/ip-routing/${IPROUTE_SRCFILE}
+ http://ftp.debian.org/debian/pool/main/i/iproute/${IPROUTE_DEBIAN_PATCH}
+ mirror://kernel/linux/kernel/v2.4/${KERNEL_P}.tar.bz2 )"
+
+S=${WORKDIR}/tcng
+IPROUTE_S=${WORKDIR}/${IPROUTE_P}
+KERNEL_S=${WORKDIR}/${KERNEL_P}
+
+src_unpack() {
+ # unpack tcng
+ unpack ${P}.tar.gz || die "failed to unpack tcng"
+ epatch ${FILESDIR}/${P}-fixes.patch
+ epatch ${FILESDIR}/${P}-gentoo.patch
+
+ if use tcsim; then
+ # unpack kernel
+ unpack ${KERNEL_P}.tar.bz2 || die "failed to unpack kernel"
+ ln -s ${KERNEL_S} ${S}/tcsim/linux || die "failed to unpack kernel"
+
+ # unpack iproute
+ unpack ${IPROUTE_SRCFILE} || die "failed to unpack iproute"
+ mv iproute2 iproute-20010824 || die "failed to unpack iproute"
+ epatch ${DISTDIR}/${IPROUTE_DEBIAN_PATCH}
+ # this is needed for tcsim
+ rm ${IPROUTE_S}/include-glibc/bits/socket.h || die "failed to unpack iproute"
+ cp -f ${IPROUTE_S}/include-glibc/socketbits.h ${IPROUTE_S}/include-glibc/bits/socket.h || die "failed to unpack iproute"
+ ln -s ${IPROUTE_S} ${S}/tcsim/iproute2 || die "failed to unpack iproute"
+ fi
+}
+
+src_compile() {
+ local myconf
+ if use tcsim; then
+ myconf="${myconf} --with-tcsim"
+ myconf="${myconf} --kernel ${KERNEL_S}"
+ myconf="${myconf} --iproute2 ${IPROUTE_S}"
+ fi
+
+ # i know this is before install stage, but the build needs it
+ dodir /usr/bin
+
+ # configure is NONSTANDARD
+ ./configure \
+ --install-directory /usr \
+ --no-manual \
+ ${myconf} \
+ || die "configure failed"
+
+ # if we aren't debugging, an extra optimization is available
+ use debug || CFLAGS="${CFLAGS} -D__NO_STRING_INLINES"
+ # upstream package uses CFLAGS var for it's own uses
+ sed -i Common.make -e "s/^\(CC_OPTS=\)\(.*\)/\1${CFLAGS} #\2/"
+ unset CFLAGS
+ emake || die
+ cd ${S}/doc
+ make tcng.txt
+ use doc && make tcng.pdf
+}
+
+src_install() {
+ dodir /usr
+ dodir /usr/bin
+
+ #For localization.sh to work corectly
+ #TCNG INSTALL/TOPDIR has to be /usr, instead of /var/tmp/portage/tcng-xx/image/usr...
+ sed 's:^\(INSTALL_DIR=\)\(.*\):\1$(DESTDIR)\2:g' -i ${S}/Makefile
+ einstall DESTDIR=${D} TCNG_INSTALL_CWD=/usr install-tcc || die "make install-tcc failed"
+ if use tcsim; then
+ einstall DESTDIR=${D} TCNG_INSTALL_CWD=/usr install-tcsim || die "make install-tcsim failed"
+ fi
+
+ # lots of doc stuff
+ dodoc CHANGES COPYING.GPL COPYING.LGPL README TODO VERSION tcc/PARAMETERS
+ dodoc doc/tcng.txt doc/README.tccext
+ newdoc doc/README README.doc
+ if use doc; then
+ dodoc doc/tcng.ps doc/tcng.pdf
+ fi
+ if use tcsim; then
+ newdoc tcsim/BUGS BUGS.tcsim
+ newdoc tcsim/README README.tcsim
+ fi
+}