summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-analyzer/wireshark/wireshark-0.99.7-r2.ebuild')
-rw-r--r--net-analyzer/wireshark/wireshark-0.99.7-r2.ebuild176
1 files changed, 176 insertions, 0 deletions
diff --git a/net-analyzer/wireshark/wireshark-0.99.7-r2.ebuild b/net-analyzer/wireshark/wireshark-0.99.7-r2.ebuild
new file mode 100644
index 000000000000..bab211b9099b
--- /dev/null
+++ b/net-analyzer/wireshark/wireshark-0.99.7-r2.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/wireshark/wireshark-0.99.7-r2.ebuild,v 1.1 2008/01/26 15:52:12 pva Exp $
+
+WANT_AUTOMAKE="1.9"
+inherit autotools libtool flag-o-matic eutils toolchain-funcs
+
+DESCRIPTION="A network protocol analyzer formerly known as ethereal"
+HOMEPAGE="http://www.wireshark.org/"
+
+# _rc versions has different download location.
+[[ -n ${PV#*_rc} && ${PV#*_rc} != ${PV} ]] && {
+SRC_URI="http://www.wireshark.org/download/prerelease/${PN}-${PV/_rc/pre}.tar.gz";
+S=${WORKDIR}/${PN}-${PV/_rc/pre} ; } || \
+SRC_URI="http://www.wireshark.org/download/src/all-versions/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="adns gtk ipv6 lua portaudio snmp ssl kerberos threads selinux"
+
+RDEPEND="sys-libs/zlib
+ snmp? ( net-analyzer/net-snmp )
+ gtk? ( >=dev-libs/glib-2.0.4
+ =x11-libs/gtk+-2*
+ x11-libs/pango
+ dev-libs/atk )
+ !gtk? ( =dev-libs/glib-1.2* )
+ ssl? ( dev-libs/openssl )
+ !ssl? ( net-libs/gnutls )
+ net-libs/libpcap
+ dev-libs/libpcre
+ sys-libs/libcap
+ adns? ( net-libs/adns )
+ kerberos? ( virtual/krb5 )
+ portaudio? ( media-libs/portaudio )
+ lua? ( >=dev-lang/lua-5.1 )
+ selinux? ( sec-policy/selinux-wireshark )"
+
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.15.0
+ dev-lang/perl
+ sys-devel/bison
+ sys-devel/flex
+ sys-apps/sed"
+
+pkg_setup() {
+ # bug 119208
+ if has_version "<=dev-lang/perl-5.8.8_rc1" && built_with_use dev-lang/perl minimal ; then
+ ewarn "wireshark will not build if dev-lang/perl is compiled with"
+ ewarn "USE=minimal. Rebuild dev-lang/perl with USE=-minimal and try again."
+ ebeep 5
+ die "dev-lang/perl compiled with USE=minimal"
+ fi
+
+ if ! use gtk; then
+ ewarn "USE=-gtk will mean no gui called wireshark will be created and"
+ ewarn "only command line utils are available"
+ fi
+
+ # Add group for users allowed to sniff.
+ enewgroup wireshark || die "Failed to create wireshark group"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${PN}-0.99.7-libgcrypt.patch
+ epatch "${FILESDIR}"/${PN}-0.99.7-asneeded.patch
+
+ cd "${S}"/epan
+ epatch "${FILESDIR}"/wireshark-except-double-free.diff
+
+ cd "${S}"
+ # http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2012
+ epatch "${FILESDIR}"/${P}-crash-emem.c.patch
+ # http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2177
+ epatch "${FILESDIR}"/${P}-exit.patch
+
+ # http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2224
+ epatch "${FILESDIR}"/${P}-glib-1.2-compile-fix.patch
+ AT_M4DIR="${S}/aclocal-fallback"
+ eautoreconf
+}
+
+src_compile() {
+ # optimization bug, see bug #165340, bug #40660
+ if [[ $(gcc-version) == 3.4 ]] ; then
+ elog "Found gcc 3.4, forcing -O3 into CFLAGS"
+ replace-flags -O? -O3
+ elif [[ $(gcc-version) == 3.3 || $(gcc-version) == 3.2 ]] ; then
+ elog "Found <=gcc-3.3, forcing -O into CFLAGS"
+ replace-flags -O? -O
+ fi
+
+ # see bug #133092
+ filter-flags -fstack-protector
+
+ local myconf
+
+ if use gtk; then
+ einfo "Building with gtk support"
+ else
+ einfo "Building without gtk support"
+ myconf="${myconf} --disable-wireshark --disable-warnings-as-errors"
+ # the asn1 plugin needs gtk
+ sed -i -e '/plugins.asn1/d' Makefile.in || die "sed failed"
+ sed -i -e '/^SUBDIRS/s/asn1//' plugins/Makefile.in || die "sed failed"
+ fi
+
+ econf $(use_with ssl) \
+ $(use_enable ipv6) \
+ $(use_with lua) \
+ $(use_with adns) \
+ $(use_with kerberos krb5) \
+ $(use_with snmp net-snmp) \
+ $(use_with portaudio) \
+ $(use_enable gtk gtk2) \
+ $(use_enable threads) \
+ --with-libcap \
+ --enable-setuid-install \
+ --without-ucd-snmp \
+ --enable-dftest \
+ --enable-randpkt \
+ --sysconfdir=/etc/wireshark \
+ --enable-editcap \
+ --enable-capinfos \
+ --enable-text2pcap \
+ ${myconf} || die "econf failed"
+
+ # fixes an access violation caused by libnetsnmp - see bug 79068
+ use snmp && export MIBDIRS="${D}/usr/share/snmp/mibs"
+
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ for file in /usr/bin/tshark /usr/bin/dumpcap
+ do
+ fowners 0:wireshark ${file}
+ fperms 6550 ${file}
+ done
+
+ insinto /usr/include/wiretap
+ doins wiretap/wtap.h
+
+ dodoc AUTHORS ChangeLog NEWS README*
+
+ if use gtk ; then
+ insinto /usr/share/icons/hicolor/16x16/apps
+ newins image/hi16-app-wireshark.png wireshark.png
+ insinto /usr/share/icons/hicolor/32x32/apps
+ newins image/hi32-app-wireshark.png wireshark.png
+ insinto /usr/share/icons/hicolor/48x48/apps
+ newins image/hi48-app-wireshark.png wireshark.png
+ insinto /usr/share/applications
+ # Wireshark should not be ran as root in KDE.
+ # Bug: http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2127
+ sed -i '/X-KDE-SubstituteUID/d' wireshark.desktop
+ doins wireshark.desktop
+ fi
+}
+
+pkg_postinst() {
+ echo
+ ewarn "With version 0.99.7, all function calls that require elevated privileges"
+ ewarn "have been moved out of the GUI to dumpcap. WIRESHARK CONTAINS OVER ONE"
+ ewarn "POINT FIVE MILLION LINES OF SOURCE CODE. DO NOT RUN THEM AS ROOT."
+ ewarn
+ ewarn "NOTE: To run wireshark as normal user you have to add yourself into"
+ ewarn "wireshark group. This security measure ensures that only trusted"
+ ewarn "users allowed to sniff your traffic."
+ echo
+}