summaryrefslogtreecommitdiff
path: root/net-analyzer/wireshark
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-analyzer/wireshark
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-analyzer/wireshark')
-rw-r--r--net-analyzer/wireshark/Manifest2
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.11.0-oldlibs.patch20
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.11.3-gtk-deprecated-warnings.patch29
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.12.5-cross-compile.patch51
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.12.6-rcc.patch52
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.6.13-ldflags.patch14
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.99.0-qt5.patch88
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.99.0.1975-sse4_2.patch20
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.99.1-sbc.patch18
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.99.6-gcc_option.patch40
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.99.7-qt-pie.patch11
-rw-r--r--net-analyzer/wireshark/files/wireshark-1.99.8-qtchooser.patch10
-rw-r--r--net-analyzer/wireshark/files/wireshark-99999999-pkgconfig.patch62
-rw-r--r--net-analyzer/wireshark/metadata.xml38
-rw-r--r--net-analyzer/wireshark/wireshark-1.12.6.ebuild258
-rw-r--r--net-analyzer/wireshark/wireshark-1.99.8.ebuild264
-rw-r--r--net-analyzer/wireshark/wireshark-99999999.ebuild267
17 files changed, 1244 insertions, 0 deletions
diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest
new file mode 100644
index 00000000000..643bb47c6b9
--- /dev/null
+++ b/net-analyzer/wireshark/Manifest
@@ -0,0 +1,2 @@
+DIST wireshark-1.12.6.tar.bz2 29166493 SHA256 22ac0cc872f12cef9bb2cacfe0720eed8533dc5cea102d21de511620606cb3b6 SHA512 a8fb576e359d6534fc2df3372f23c1f338aed393749786cde21d8593f50ccec154d05c9298f7ddfcaa3a0dcee921975c6a40070a8d0b84f6fbb7f8df16b2b17b WHIRLPOOL d6c8cc268e46ab59da1d06d73dc5a7e7e16f9b07297f04a6e997fbf72a5a8ceb71847f892ab0fc281e843e3f23e8ed3bf85580b19e76e2103b0cb388c2bc9850
+DIST wireshark-1.99.8.tar.bz2 30291568 SHA256 6e03021a82cbc6b039210d37694ae51de101b7ffd4eb0e92a65ff84b4499e211 SHA512 daee99e9619b10900479c5f99ae4d33e12a2fbbc1a3065e88a77d907443e4b79a401206cf7c2dd81ffede7f1b55e97cc19faf232437334606d0cdbf0bafc98bf WHIRLPOOL 24f9270ba1ad38ef0a9a74e4c394208f27f5a05f98fc04fcc7223c92ae7259fb7022ca96867815c060ca9a76d5e76b1fb53a4757bd0cd6a1aedcfcb71649da4c
diff --git a/net-analyzer/wireshark/files/wireshark-1.11.0-oldlibs.patch b/net-analyzer/wireshark/files/wireshark-1.11.0-oldlibs.patch
new file mode 100644
index 00000000000..24b5c7ddc9b
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.11.0-oldlibs.patch
@@ -0,0 +1,20 @@
+--- a/epan/Makefile.am
++++ b/epan/Makefile.am
+@@ -137,6 +137,7 @@
+ # Add the object files for missing routines, if any.
+ #
+ libwireshark_la_LIBADD = \
++ ${top_builddir}/wiretap/libwiretap.la ${top_builddir}/wsutil/libwsutil.la \
+ libwireshark_generated.la \
+ libwireshark_asmopt.la crypt/libairpdcap.la \
+ ftypes/libftypes.la dfilter/libdfilter.la dissectors/libdissectors.la \
+@@ -144,8 +145,7 @@
+ wmem/libwmem.la $(wslua_lib) $(wspython_lib) @SOCKET_LIBS@ @NSL_LIBS@ \
+ @C_ARES_LIBS@ @ADNS_LIBS@ @LIBGCRYPT_LIBS@ @LIBGNUTLS_LIBS@ \
+ @KRB5_LIBS@ @SSL_LIBS@ @LIBSMI_LDFLAGS@ @GEOIP_LIBS@ \
+- ${top_builddir}/wiretap/libwiretap.la @GLIB_LIBS@ \
+- ${top_builddir}/wsutil/libwsutil.la -lm
++ @GLIB_LIBS@ -lm
+
+ libwireshark_la_DEPENDENCIES = \
+ libwireshark_generated.la \
diff --git a/net-analyzer/wireshark/files/wireshark-1.11.3-gtk-deprecated-warnings.patch b/net-analyzer/wireshark/files/wireshark-1.11.3-gtk-deprecated-warnings.patch
new file mode 100644
index 00000000000..1e87ce6e2bb
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.11.3-gtk-deprecated-warnings.patch
@@ -0,0 +1,29 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1491,26 +1491,6 @@
+ wireshark_man=""
+ fi
+
+-if test "$have_gtk" = "yes" ; then
+- # If we have GTK then add flags for it.
+-
+- CPPFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CPPFLAGS"
+- CPPFLAGS="-DGDK_DISABLE_DEPRECATED $CPPFLAGS"
+- if test \( $gtk_config_major_version -eq 3 -a $gtk_config_minor_version -ge 10 \) ; then
+- ## Allow use of deprecated & disable deprecated warnings if Gtk >= 3.10;
+- ## The deprecations in Gtk 3.10 will not be fixed ...
+- CPPFLAGS="-DGDK_DISABLE_DEPRECATION_WARNINGS $CPPFLAGS"
+- else
+- CPPFLAGS="-DGTK_DISABLE_DEPRECATED $CPPFLAGS"
+- fi
+- CPPFLAGS="-DGTK_DISABLE_SINGLE_INCLUDES $CPPFLAGS"
+- if test ! \( $gtk_config_major_version -eq 2 -a $gtk_config_minor_version -lt 20 \) ; then
+- # Enable GSEAL when building with GTK > 2.20
+- # (Versions prior to 2.22 lacked some necessary accessors.)
+- CPPFLAGS="-DGSEAL_ENABLE $CPPFLAGS"
+- fi
+-fi
+-
+ # XXX - Is this really necessary? When we build with both Gtk+ and Qt it works...
+ if test "$use_glib_cflags" = "true"; then
+ # Use GLIB_CFLAGS
diff --git a/net-analyzer/wireshark/files/wireshark-1.12.5-cross-compile.patch b/net-analyzer/wireshark/files/wireshark-1.12.5-cross-compile.patch
new file mode 100644
index 00000000000..3118178d696
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.12.5-cross-compile.patch
@@ -0,0 +1,51 @@
+https://code.wireshark.org/review/8481
+
+From edefd74591d8f7010024a31576c2cb51eb1526ad Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@chromium.org>
+Date: Sat, 16 May 2015 05:08:53 -0400
+Subject: [PATCH] switch to AC_PATH_TOOL
+
+The TOOL variant will automatically search for host prefixed scripts
+(e.g. armv7a-unknown-linux-gnueabi-pcap-config) before falling back
+to the default (i.e. pcap-config). This makes cross-compiling a bit
+simpler.
+
+Change-Id: Ia450839693b5550f798634a7e8b82c2a661b088c
+---
+ acinclude.m4 | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index ffb1cac..c79c427 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -380,7 +380,7 @@ AC_DEFUN([AC_WIRESHARK_PCAP_CHECK],
+ # The user didn't specify a directory in which libpcap resides.
+ # First, look for a pcap-config script.
+ #
+- AC_PATH_PROG(PCAP_CONFIG, pcap-config)
++ AC_PATH_TOOL(PCAP_CONFIG, pcap-config)
+
+ if test -n "$PCAP_CONFIG" ; then
+ #
+@@ -1217,7 +1217,7 @@ AC_DEFUN([AC_WIRESHARK_KRB5_CHECK],
+ AC_DEFINE(HAVE_MIT_KERBEROS, 1, [Define to use MIT kerberos])
+ fi
+ else
+- AC_PATH_PROG(KRB5_CONFIG, krb5-config)
++ AC_PATH_TOOL(KRB5_CONFIG, krb5-config)
+ if test -x "$KRB5_CONFIG"
+ then
+ KRB5_FLAGS=`"$KRB5_CONFIG" --cflags`
+@@ -2033,7 +2033,7 @@ AC_DEFUN([AC_WIRESHARK_QT_CHECK],
+ [
+ no_qt=""
+
+- AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
++ AC_PATH_TOOL(PKG_CONFIG, pkg-config, no)
+
+ if test x$PKG_CONFIG != xno ; then
+ if pkg-config --atleast-pkgconfig-version 0.7 ; then
+--
+2.4.0
+
diff --git a/net-analyzer/wireshark/files/wireshark-1.12.6-rcc.patch b/net-analyzer/wireshark/files/wireshark-1.12.6-rcc.patch
new file mode 100644
index 00000000000..b8290d00c96
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.12.6-rcc.patch
@@ -0,0 +1,52 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1609,11 +1609,37 @@
+ # we don't know whether they'll be doing that,
+ # so this is the best we can do.
+ #
+- MIC=moc
++ MOC=moc
+ fi
+ fi
+ fi
+ AC_SUBST(MOC)
++AC_PATH_PROG(RCC, rcc)
++if test "x$RCC" = x
++then
++ AC_PATH_PROG(RCC, rcc-qt4)
++ if test "x$RCC" = x
++ then
++ if test "x$have_qt" = "xyes"; then
++ #
++ # If you want to build with Qt, you'd better
++ # have rcc.
++ #
++ AC_MSG_ERROR(I couldn't find moc or rcc-qt4; make sure it's installed and in your path)
++ else
++ #
++ # We shouldn't fail here, as the user's not
++ # building with Qt, and we shouldn't force them
++ # to have Qt installed if they're not doing so.
++ # "make dist" will fail if they do that, but
++ # we don't know whether they'll be doing that,
++ # so this is the best we can do.
++ #
++ RCC=rcc
++ fi
++ fi
++fi
++AC_SUBST(RCC)
+
+ # Error out if a glib header other than a "top level" header
+ # (glib.h, glib-object.h, gio.h) or certain other headers( e.g.,gmodule.h)
+--- a/ui/qt/Makefile.am
++++ b/ui/qt/Makefile.am
+@@ -116,7 +116,7 @@
+
+ .qrc.rcc.cpp:
+ $(MKDIR_P) $(@D)
+- $(AM_V_RCC)rcc -name `basename $< .qrc` -o $@ $<
++ $(AM_V_RCC)$(RCC) -name `basename $< .qrc` -o $@ $<
+
+ ui_%.h: %.ui
+ $(AM_V_UIC)$(UIC) $< -o $@
diff --git a/net-analyzer/wireshark/files/wireshark-1.6.13-ldflags.patch b/net-analyzer/wireshark/files/wireshark-1.6.13-ldflags.patch
new file mode 100644
index 00000000000..94554fdf485
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.6.13-ldflags.patch
@@ -0,0 +1,14 @@
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -61,9 +61,9 @@
+ # "-R" here.
+ #
+ AC_DEFUN([AC_WIRESHARK_ADD_DASH_L],
+-[$1="$$1 -L$2"
+-case "$host_os" in
++[case "$host_os" in
+ solaris*)
++ $1="$$1 -L$2"
+ $1="$$1 -R$2"
+ ;;
+ esac
diff --git a/net-analyzer/wireshark/files/wireshark-1.99.0-qt5.patch b/net-analyzer/wireshark/files/wireshark-1.99.0-qt5.patch
new file mode 100644
index 00000000000..be1343d4504
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.99.0-qt5.patch
@@ -0,0 +1,88 @@
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2043,21 +2043,23 @@
+ # Try the Qt 5 version first.
+ # (And be prepared to add Qt6 at some point....)
+ #
+- for modprefix in Qt5 Qt
+- do
+- pkg_config_module="${modprefix}$1"
+- AC_MSG_CHECKING(for $pkg_config_module - version >= $min_qt_version)
+- if $PKG_CONFIG --atleast-version $min_qt_version $pkg_config_module; then
+- mod_version=`$PKG_CONFIG --modversion $pkg_config_module`
+- AC_MSG_RESULT(yes (version $mod_version))
+- Qt_CFLAGS="$Qt_CFLAGS `$PKG_CONFIG --cflags $pkg_config_module`"
+- Qt_LIBS="$Qt_LIBS `$PKG_CONFIG --libs $pkg_config_module`"
+- found_$1=yes
+- break
+- else
+- AC_MSG_RESULT(no)
+- fi
+- done
++ if test "$with_qt5" = yes; then
++ modprefix=Qt5
++ else
++ modprefix=Qt
++ fi
++ pkg_config_module="${modprefix}$1"
++ AC_MSG_CHECKING(for $pkg_config_module - version >= $min_qt_version)
++ if $PKG_CONFIG --atleast-version $min_qt_version $pkg_config_module; then
++ mod_version=`$PKG_CONFIG --modversion $pkg_config_module`
++ AC_MSG_RESULT(yes (version $mod_version))
++ Qt_CFLAGS="$Qt_CFLAGS `$PKG_CONFIG --cflags $pkg_config_module`"
++ Qt_LIBS="$Qt_LIBS `$PKG_CONFIG --libs $pkg_config_module`"
++ found_$1=yes
++ break
++ else
++ AC_MSG_RESULT(no)
++ fi
+
+ if test "x$found_$1" = "xyes"; then
+ # Run Action-If-Found
+--- a/configure.ac
++++ b/configure.ac
+@@ -456,10 +456,15 @@
+ #
+ # GUI toolkit options
+ #
+-AC_ARG_WITH([qt],
+- AC_HELP_STRING( [--with-qt=@<:@yes/no@:>@],
++AC_ARG_WITH([qt4],
++ AC_HELP_STRING( [--with-qt4=@<:@yes/no@:>@],
++ [use Qt @<:@default=yes@:>@]),
++ with_qt4="$withval", with_qt4="unspecified")
++
++AC_ARG_WITH([qt5],
++ AC_HELP_STRING( [--with-qt5=@<:@yes/no@:>@],
+ [use Qt @<:@default=yes@:>@]),
+- with_qt="$withval", with_qt="unspecified")
++ with_qt5="$withval", with_qt5="unspecified")
+
+ AC_ARG_WITH([gtk2],
+ AC_HELP_STRING( [--with-gtk2=@<:@yes/no@:>@],
+@@ -1373,7 +1378,6 @@
+ AC_SUBST(GTK2_MIN_VERSION)
+ GTK3_MIN_VERSION=3.0.0
+ AC_SUBST(GTK3_MIN_VERSION)
+-QT_MIN_VERSION=4.6.0
+ AC_SUBST(QT_MIN_VERSION)
+ # GTK+ and Qt checks; we require GTK+ $GTK2_MIN_VERSION or later or
+ # GTK3_MIN_VERSION or later or Qt $QT_MIN_VERSION or later.
+@@ -1417,14 +1421,15 @@
+ if test "x$enable_wireshark" = "xyes"; then
+ if test "x$with_gtk2" = "xunspecified" -a \
+ "x$with_gtk3" = "xunspecified" -a \
+- "x$with_qt" = "xunspecified"; then
++ "x$with_qt4" = "xunspecified" -a \
++ "x$with_qt5" = "xunspecified"; then
+ #
+ # No GUI toolkit was explicitly specified; pick Qt and GTK+ 3.
+ #
+ with_qt=yes
+ with_gtk3=yes
+ fi
+- if test "x$with_qt" = "xyes"; then
++ if test "x$with_qt" = "xyes" || test "x$with_qt4" = "xyes" || test "x$with_qt5" = "xyes"; then
+ #
+ # Qt was specified; Make sure we have a C++ compiler.
+ #
diff --git a/net-analyzer/wireshark/files/wireshark-1.99.0.1975-sse4_2.patch b/net-analyzer/wireshark/files/wireshark-1.99.0.1975-sse4_2.patch
new file mode 100644
index 00000000000..ba61de64535
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.99.0.1975-sse4_2.patch
@@ -0,0 +1,20 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -985,6 +985,7 @@
+ AC_SUBST(PIE_CFLAGS)
+ AC_SUBST(PIE_LDFLAGS)
+
++AC_ARG_ENABLE(sse4_2,[ --enable-sse4_2 Support SSE4.2 (Streaming SIMD Extensions 4.2) instructions],[
+ CFLAGS_before_simd="$CFLAGS"
+ AC_WIRESHARK_COMPILER_FLAGS_CHECK(-msse4.2, C)
+ if test "x$CFLAGS" != "x$CFLAGS_before_simd"
+@@ -1011,6 +1012,9 @@
+ else
+ have_sse42=no
+ fi
++],[
++AC_MSG_RESULT(no)
++])
+ dnl build libwsutil_sse42 only if there is SSE4.2
+ AM_CONDITIONAL(SSE42_SUPPORTED, test "x$have_sse42" = "xyes")
+ AC_SUBST(CFLAGS_SSE42)
diff --git a/net-analyzer/wireshark/files/wireshark-1.99.1-sbc.patch b/net-analyzer/wireshark/files/wireshark-1.99.1-sbc.patch
new file mode 100644
index 00000000000..adda8fe8561
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.99.1-sbc.patch
@@ -0,0 +1,18 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -2731,7 +2731,14 @@
+
+ # Check Bluetooth SBC codec for RTP Player
+ # git://git.kernel.org/pub/scm/bluetooth/sbc.git
+-PKG_CHECK_MODULES(SBC, sbc >= 1.0, [have_sbc=yes], [have_sbc=no])
++AC_ARG_WITH(sbc,
++ AC_HELP_STRING( [--with-sbc],
++ [add support for playing SBC]),
++ [if test "x$withval" = "xyes"; then
++ PKG_CHECK_MODULES(SBC, sbc >= 1.0, [have_sbc=yes], [have_sbc=no])
++ else
++ have_sbc=no
++ fi])
+ if (test "${have_sbc}" = "yes"); then
+ AC_DEFINE(HAVE_SBC, 1, [Define to support playing SBC by standalone BlueZ SBC library])
+ CFLAGS="$CFLAGS $(pkg-config sbc --cflags)"
diff --git a/net-analyzer/wireshark/files/wireshark-1.99.6-gcc_option.patch b/net-analyzer/wireshark/files/wireshark-1.99.6-gcc_option.patch
new file mode 100644
index 00000000000..e7124ad3eca
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.99.6-gcc_option.patch
@@ -0,0 +1,40 @@
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -1735,15 +1735,15 @@
+ CXXFLAGS_saved="$CXXFLAGS"
+ if expr "x$GCC_OPTION" : "x-W.*" >/dev/null
+ then
+- CXXFLAGS="$CXXFLAGS $ac_wireshark_unknown_warning_option_error $ac_wireshark_non_cxx_warning_option_error $GCC_OPTION"
++ CXXFLAGS="$GCC_OPTION $CXXFLAGS $ac_wireshark_unknown_warning_option_error $ac_wireshark_non_cxx_warning_option_error"
+ elif expr "x$GCC_OPTION" : "x-f.*" >/dev/null
+ then
+- CXXFLAGS="$CXXFLAGS -Werror $GCC_OPTION"
++ CXXFLAGS="$GCC_OPTION $CXXFLAGS -Werror"
+ elif expr "x$GCC_OPTION" : "x-m.*" >/dev/null
+ then
+- CXXFLAGS="$CXXFLAGS -Werror $GCC_OPTION"
++ CXXFLAGS="$GCC_OPTION $CXXFLAGS -Werror"
+ else
+- CXXFLAGS="$CXXFLAGS $GCC_OPTION"
++ CXXFLAGS="$GCC_OPTION $CXXFLAGS"
+ fi
+ AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE(
+@@ -1773,7 +1773,7 @@
+ # added them, by setting CXXFLAGS to the saved value plus
+ # just the new option.
+ #
+- CXXFLAGS="$CXXFLAGS_saved $GCC_OPTION"
++ CXXFLAGS="$GCC_OPTION $CXXFLAGS_saved"
+ ],
+ [
+ AC_MSG_RESULT(yes)
+@@ -1785,7 +1785,7 @@
+ # added them, by setting CXXFLAGS to the saved value plus
+ # just the new option.
+ #
+- CXXFLAGS="$CXXFLAGS_saved $GCC_OPTION"
++ CXXFLAGS="$GCC_OPTION $CXXFLAGS_saved"
+ fi
+ ],
+ [
diff --git a/net-analyzer/wireshark/files/wireshark-1.99.7-qt-pie.patch b/net-analyzer/wireshark/files/wireshark-1.99.7-qt-pie.patch
new file mode 100644
index 00000000000..445fe102722
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.99.7-qt-pie.patch
@@ -0,0 +1,11 @@
+--- a/ui/qt/Makefile.am
++++ b/ui/qt/Makefile.am
+@@ -84,7 +84,7 @@
+
+ # Common headers
+ AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/wiretap $(LIBGCRYPT_CFLAGS) \
+- $(LIBGNUTLS_CFLAGS) $(PIE_CFLAGS)
++ $(LIBGNUTLS_CFLAGS)
+
+ AM_CXXFLAGS = $(AM_CLEAN_CFLAGS)
+
diff --git a/net-analyzer/wireshark/files/wireshark-1.99.8-qtchooser.patch b/net-analyzer/wireshark/files/wireshark-1.99.8-qtchooser.patch
new file mode 100644
index 00000000000..47459515ee7
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-1.99.8-qtchooser.patch
@@ -0,0 +1,10 @@
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -2149,7 +2149,6 @@
+ # -qt={version} argument, otherwise we look for particular
+ # tool versions using tool name suffixes.
+ #
+- AC_PATH_PROG(QTCHOOSER, qtchooser)
+ if test ! -z "$QTCHOOSER"; then
+ #
+ # We found qtchooser; we assume that means that
diff --git a/net-analyzer/wireshark/files/wireshark-99999999-pkgconfig.patch b/net-analyzer/wireshark/files/wireshark-99999999-pkgconfig.patch
new file mode 100644
index 00000000000..51f3c8f9eb9
--- /dev/null
+++ b/net-analyzer/wireshark/files/wireshark-99999999-pkgconfig.patch
@@ -0,0 +1,62 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -242,7 +242,7 @@
+ # This is referenced via AC_REQUIRE([PKG_PROG_PKG_CONFIG] in some macros
+ # like PKG_CHECK_MODULES. If the first call to such a macro is under an
+ # "if" statement, it's safer to call PKG_PROG_PKG_CONFIG directly, see
+-# the comments in acolocal.m4
++# the comments in aclocal.m4
+ #
+ # We want version 0.7 or better. (XXX - explain why. Is that just
+ # because our Qt tests were originally based on AM_PATH_GTK, and *it*
+@@ -1910,6 +1910,19 @@
+ AC_SUBST(plugins_dir)
+
+ #
++# Find out where to store wireshark.pc and what should be in it
++#
++
++PKG_INSTALLDIR
++
++AC_SUBST(CMAKE_INSTALL_PREFIX,[$prefix])
++AC_SUBST(CMAKE_INSTALL_LIBDIR,[`basename $libdir`])
++PLUGIN_INSTALL_DIR="\${libdir}/$PACKAGE_NAME/$PACKAGE_VERSION/$plugins_dir"
++AC_SUBST(PLUGIN_INSTALL_DIR)
++PROJECT_VERSION="$PACKAGE_VERSION"
++AC_SUBST(PROJECT_VERSION)
++
++#
+ # If we have <dlfcn.h>, check whether we have dladdr.
+ #
+ if test "$ac_cv_header_dlfcn_h" = "yes"
+@@ -3080,10 +3093,15 @@
+ sinclude(asn1/Custom.m4) dnl
+ ifdef(_CUSTOM_ASN1_AC_OUTPUT_,, define(_CUSTOM_ASN1_AC_OUTPUT_, )) dnl
+
++#
++# Configuration output
++#
++
+ AC_CONFIG_HEADERS(config.h)
+ AC_OUTPUT(
+ Makefile
+ doxygen.cfg
++ wireshark.pc
+ asn1/Makefile
+ _CUSTOM_ASN1_AC_OUTPUT_
+ asn1/acp133/Makefile
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -56,6 +56,12 @@
+ smi_modules ipmap.html pdml2html.xsl
+
+ #
++# Install a pkgconfig file
++#
++
++pkgconfig_DATA = wireshark.pc
++
++#
+ # Install global profiles in the "profiles" subdirectory
+ #
+ profilesdir = $(pkgdatadir)
diff --git a/net-analyzer/wireshark/metadata.xml b/net-analyzer/wireshark/metadata.xml
new file mode 100644
index 00000000000..2707e563ea6
--- /dev/null
+++ b/net-analyzer/wireshark/metadata.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>netmon</herd>
+<longdescription>
+ Wireshark is the world's foremost network protocol analyzer, and is the de
+ facto (and often de jure) standard across many industries and educational
+ institutions. Wireshark has a rich feature set which includes 1) deep
+ inspection of hundreds of protocols, with more being added all the time, 2)
+ live capture and offline analysis, 3) standard three-pane packet browser, 4)
+ captured network data can be browsed via a GUI, or via the TTY-mode TShark
+ utility, 5) the most powerful display filters in the industry, 6) rich VoIP
+ analysis, 7) read/write many different capture file formats: tcpdump
+ (libpcap), Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network
+ Monitor, Network General Sniffer® (compressed and uncompressed), Sniffer®
+ Pro, and NetXray®, Network Instruments Observer, Novell LANalyzer, RADCOM
+ WAN/LAN Analyzer, Shomiti/Finisar Surveyor, Tektronix K12xx, Visual Networks
+ Visual UpTime, WildPackets EtherPeek/TokenPeek/AiroPeek, and many others, 8)
+ capture files compressed with gzip can be decompressed on the fly, 9) live
+ data can be read from Ethernet, IEEE 802.11, PPP/HDLC, ATM, Bluetooth, USB,
+ Token Ring, Frame Relay, FDDI, and others, 10) decryption support for many
+ protocols, including IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP, and
+ WPA/WPA2, 11) coloring rules can be applied to the packet list for quick,
+ intuitive analysis, 12) output can be exported to XML, PostScript®, CSV, or
+ plain text
+</longdescription>
+<use>
+<flag name='adns'>Use the GNU <pkg>net-dns/c-ares</pkg> library to resolve DNS names</flag>
+<flag name='crypt'>Use <pkg>dev-libs/libgcrypt</pkg> to decrypt traffic</flag>
+<flag name='doc-pdf'>Build documentation in pdf format (US and a4 paper sizes)</flag>
+<flag name='gtk3'>Build the wireshark executable with a GTK+ UI version 3.</flag>
+<flag name='netlink'>Use <pkg>dev-libs/libnl</pkg></flag>
+<flag name='pcap'>Use <pkg>net-libs/libpcap</pkg> for network packet capturing (build dumpcap, rawshark)</flag>
+<flag name='qt4'>Build the wireshark executable with an experimental Qt UI instead of GTK+.</flag>
+<flag name='sbc'>Use <pkg>media-libs/sbc</pkg> for playing back SBC encoded packets</flag>
+<flag name='smi'>Use <pkg>net-libs/libsmi</pkg> to resolve numeric OIDs into human readable format</flag>
+</use>
+</pkgmetadata>
diff --git a/net-analyzer/wireshark/wireshark-1.12.6.ebuild b/net-analyzer/wireshark/wireshark-1.12.6.ebuild
new file mode 100644
index 00000000000..47ff12c0e24
--- /dev/null
+++ b/net-analyzer/wireshark/wireshark-1.12.6.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils fcaps flag-o-matic multilib qmake-utils qt4-r2 user
+
+DESCRIPTION="A network protocol analyzer formerly known as ethereal"
+HOMEPAGE="http://www.wireshark.org/"
+SRC_URI="${HOMEPAGE}download/src/all-versions/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="
+ adns +caps crypt doc doc-pdf geoip +gtk3 ipv6 kerberos lua +netlink +pcap
+ portaudio +qt4 qt5 sbc selinux smi ssl zlib
+"
+REQUIRED_USE="
+ ssl? ( crypt )
+ ?? ( qt4 qt5 )
+"
+
+GTK_COMMON_DEPEND="
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ x11-misc/xdg-utils
+"
+CDEPEND="
+ >=dev-libs/glib-2.14:2
+ netlink? ( dev-libs/libnl:3 )
+ adns? ( >=net-dns/c-ares-1.5 )
+ crypt? ( dev-libs/libgcrypt:0 )
+ caps? ( sys-libs/libcap )
+ geoip? ( dev-libs/geoip )
+ gtk3? (
+ ${GTK_COMMON_DEPEND}
+ x11-libs/gtk+:3
+ )
+ kerberos? ( virtual/krb5 )
+ lua? ( >=dev-lang/lua-5.1:* )
+ pcap? ( net-libs/libpcap )
+ portaudio? ( media-libs/portaudio )
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4[accessibility]
+ x11-misc/xdg-utils
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ x11-misc/xdg-utils
+ )
+ sbc? ( media-libs/sbc )
+ smi? ( net-libs/libsmi )
+ ssl? ( net-libs/gnutls )
+ zlib? ( sys-libs/zlib !=sys-libs/zlib-1.2.4 )
+"
+# We need perl for `pod2html`. The rest of the perl stuff is to block older
+# and broken installs. #455122
+DEPEND="
+ ${CDEPEND}
+ dev-lang/perl
+ !<virtual/perl-Pod-Simple-3.170
+ !<perl-core/Pod-Simple-3.170
+ doc? (
+ app-doc/doxygen
+ app-text/asciidoc
+ dev-libs/libxml2
+ dev-libs/libxslt
+ doc-pdf? ( dev-java/fop )
+ www-client/lynx
+ )
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+"
+RDEPEND="
+ ${CDEPEND}
+ gtk3? ( virtual/freedesktop-icon-theme )
+ qt4? ( virtual/freedesktop-icon-theme )
+ qt5? ( virtual/freedesktop-icon-theme )
+ selinux? ( sec-policy/selinux-wireshark )
+"
+
+pkg_setup() {
+ enewgroup wireshark
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.6.13-ldflags.patch \
+ "${FILESDIR}"/${PN}-1.11.0-oldlibs.patch \
+ "${FILESDIR}"/${PN}-1.11.3-gtk-deprecated-warnings.patch \
+ "${FILESDIR}"/${PN}-1.99.0-qt5.patch \
+ "${FILESDIR}"/${PN}-1.99.1-sbc.patch \
+ "${FILESDIR}"/${PN}-1.12.5-cross-compile.patch \
+ "${FILESDIR}"/${PN}-1.99.7-qt-pie.patch \
+ "${FILESDIR}"/${PN}-1.12.6-rcc.patch
+
+ epatch_user
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ # Workaround bug #213705. If krb5-config --libs has -lcrypto then pass
+ # --with-ssl to ./configure. (Mimics code from acinclude.m4).
+ if use kerberos; then
+ case $(krb5-config --libs) in
+ *-lcrypto*)
+ ewarn "Kerberos was built with ssl support: linkage with openssl is enabled."
+ ewarn "Note there are annoying license incompatibilities between the OpenSSL"
+ ewarn "license and the GPL, so do your check before distributing such package."
+ myconf+=( "--with-ssl" )
+ ;;
+ esac
+ fi
+
+ # Enable wireshark binary with any supported GUI toolkit (bug #473188)
+ if use gtk3 || use qt4 || use qt5; then
+ myconf+=( "--enable-wireshark" )
+ else
+ myconf+=( "--disable-wireshark" )
+ fi
+
+ use qt4 && export QT_MIN_VERSION=4.6.0
+
+ if use qt5; then
+ export QT_MIN_VERSION=5.3.0
+ append-cxxflags -fPIC -DPIC
+ fi
+
+ # Hack around inability to disable doxygen/fop doc generation
+ use doc || export ac_cv_prog_HAVE_DOXYGEN=false
+ use doc-pdf || export ac_cv_prog_HAVE_FOP=false
+
+ # dumpcap requires libcap
+ # --disable-profile-build bugs #215806, #292991, #479602
+ econf \
+ $(use_enable ipv6) \
+ $(use_with adns c-ares) \
+ $(use_with caps libcap) \
+ $(use_with crypt gcrypt) \
+ $(use_with geoip) \
+ $(use_with gtk3) \
+ $(use_with kerberos krb5) \
+ $(use_with lua) \
+ $(use_with pcap dumpcap-group wireshark) \
+ $(use_with pcap) \
+ $(use_with portaudio) \
+ $(use_with qt4) \
+ $(use_with qt5) \
+ $(usex qt4 MOC=$(qt4_get_bindir)/moc '') \
+ $(usex qt4 RCC=$(qt4_get_bindir)/rcc '') \
+ $(usex qt4 UIC=$(qt4_get_bindir)/uic '') \
+ $(usex qt5 MOC=$(qt5_get_bindir)/moc '') \
+ $(usex qt5 RCC=$(qt5_get_bindir)/rcc '') \
+ $(usex qt5 UIC=$(qt5_get_bindir)/uic '') \
+ $(use_with sbc) \
+ $(use_with smi libsmi) \
+ $(use_with ssl gnutls) \
+ $(use_with zlib) \
+ $(usex netlink --with-libnl=3 --without-libnl) \
+ --disable-profile-build \
+ --disable-usr-local \
+ --disable-warnings-as-errors \
+ --sysconfdir="${EPREFIX}"/etc/wireshark \
+ --without-adns \
+ ${myconf[@]}
+}
+
+src_compile() {
+ default
+ if use doc; then
+ use doc-pdf && addpredict "/root/.java"
+ emake -j1 -C docbook
+ fi
+}
+
+src_install() {
+ default
+ if use doc; then
+ dohtml -r docbook/{release-notes.html,ws{d,u}g_html{,_chunked}}
+ if use doc-pdf; then
+ insinto /usr/share/doc/${PF}/pdf/
+ doins docbook/{{developer,user}-guide,release-notes}-{a4,us}.pdf
+ fi
+ fi
+
+ # FAQ is not required as is installed from help/faq.txt
+ dodoc AUTHORS ChangeLog NEWS README{,.bsd,.linux,.macos,.vmware} \
+ doc/{randpkt.txt,README*}
+
+ # install headers
+ local wsheader
+ for wsheader in \
+ color.h \
+ config.h \
+ epan/*.h \
+ epan/crypt/*.h \
+ epan/dfilter/*.h \
+ epan/dissectors/*.h \
+ epan/ftypes/*.h \
+ epan/wmem/*.h \
+ register.h \
+ wiretap/*.h \
+ ws_symbol_export.h \
+ wsutil/*.h
+ do
+ insinto /usr/include/wireshark/$( dirname ${wsheader} )
+ doins ${wsheader}
+ done
+
+ #with the above this really shouldn't be needed, but things may be looking in wiretap/ instead of wireshark/wiretap/
+ insinto /usr/include/wiretap
+ doins wiretap/wtap.h
+
+ if use gtk3 || use qt4; then
+ local c d
+ for c in hi lo; do
+ for d in 16 32 48; do
+ insinto /usr/share/icons/${c}color/${d}x${d}/apps
+ newins image/${c}${d}-app-wireshark.png wireshark.png
+ done
+ done
+ fi
+
+ if use gtk3; then
+ domenu wireshark.desktop
+ fi
+
+ if use qt4; then
+ sed -e '/Exec=/s|wireshark|&-qt|g' wireshark.desktop > wireshark-qt.desktop || die
+ domenu wireshark-qt.desktop
+ fi
+
+ prune_libtool_files
+}
+
+pkg_postinst() {
+ # Add group for users allowed to sniff.
+ enewgroup wireshark
+
+ if use pcap; then
+ fcaps -o 0 -g wireshark -m 4710 -M 0710 \
+ cap_dac_read_search,cap_net_raw,cap_net_admin \
+ "${EROOT}"/usr/bin/dumpcap
+ fi
+
+ ewarn "NOTE: To capture traffic with wireshark as normal user you have to"
+ ewarn "add yourself to the wireshark group. This security measure ensures"
+ ewarn "that only trusted users are allowed to sniff your traffic."
+}
diff --git a/net-analyzer/wireshark/wireshark-1.99.8.ebuild b/net-analyzer/wireshark/wireshark-1.99.8.ebuild
new file mode 100644
index 00000000000..1479231904e
--- /dev/null
+++ b/net-analyzer/wireshark/wireshark-1.99.8.ebuild
@@ -0,0 +1,264 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils fcaps flag-o-matic multilib qmake-utils qt4-r2 user
+
+DESCRIPTION="A network protocol analyzer formerly known as ethereal"
+HOMEPAGE="http://www.wireshark.org/"
+SRC_URI="${HOMEPAGE}download/src/all-versions/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+KEYWORDS=""
+IUSE="
+ adns +caps crypt doc doc-pdf geoip +gtk3 ipv6 kerberos lua +netlink +pcap
+ portaudio +qt4 qt5 selinux sbc smi cpu_flags_x86_sse4_2 ssl zlib
+"
+REQUIRED_USE="
+ ssl? ( crypt )
+ ?? ( qt4 qt5 )
+"
+
+GTK_COMMON_DEPEND="
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ x11-misc/xdg-utils
+"
+CDEPEND="
+ >=dev-libs/glib-2.14:2
+ netlink? ( dev-libs/libnl:3 )
+ adns? ( >=net-dns/c-ares-1.5 )
+ crypt? ( dev-libs/libgcrypt:0 )
+ caps? ( sys-libs/libcap )
+ geoip? ( dev-libs/geoip )
+ gtk3? (
+ ${GTK_COMMON_DEPEND}
+ x11-libs/gtk+:3
+ )
+ kerberos? ( virtual/krb5 )
+ lua? ( >=dev-lang/lua-5.1:* )
+ pcap? ( net-libs/libpcap )
+ portaudio? ( media-libs/portaudio )
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4[accessibility]
+ x11-misc/xdg-utils
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ x11-misc/xdg-utils
+ )
+ sbc? ( media-libs/sbc )
+ smi? ( net-libs/libsmi )
+ ssl? ( net-libs/gnutls )
+ zlib? ( sys-libs/zlib !=sys-libs/zlib-1.2.4 )
+"
+# We need perl for `pod2html`. The rest of the perl stuff is to block older
+# and broken installs. #455122
+DEPEND="
+ ${CDEPEND}
+ dev-lang/perl
+ !<virtual/perl-Pod-Simple-3.170
+ !<perl-core/Pod-Simple-3.170
+ doc? (
+ app-doc/doxygen
+ app-text/asciidoc
+ dev-libs/libxml2
+ dev-libs/libxslt
+ doc-pdf? ( dev-java/fop )
+ www-client/lynx
+ )
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+"
+RDEPEND="
+ ${CDEPEND}
+ gtk3? ( virtual/freedesktop-icon-theme )
+ qt4? ( virtual/freedesktop-icon-theme )
+ qt5? ( virtual/freedesktop-icon-theme )
+ selinux? ( sec-policy/selinux-wireshark )
+"
+
+pkg_setup() {
+ enewgroup wireshark
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.6.13-ldflags.patch \
+ "${FILESDIR}"/${PN}-1.11.0-oldlibs.patch \
+ "${FILESDIR}"/${PN}-1.99.6-gcc_option.patch \
+ "${FILESDIR}"/${PN}-1.99.0.1975-sse4_2.patch \
+ "${FILESDIR}"/${PN}-99999999-pkgconfig.patch \
+ "${FILESDIR}"/${PN}-1.99.7-qt-pie.patch \
+ "${FILESDIR}"/${PN}-1.99.8-qtchooser.patch
+
+ epatch_user
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ # Workaround bug #213705. If krb5-config --libs has -lcrypto then pass
+ # --with-ssl to ./configure. (Mimics code from acinclude.m4).
+ if use kerberos; then
+ case $(krb5-config --libs) in
+ *-lcrypto*)
+ ewarn "Kerberos was built with ssl support: linkage with openssl is enabled."
+ ewarn "Note there are annoying license incompatibilities between the OpenSSL"
+ ewarn "license and the GPL, so do your check before distributing such package."
+ myconf+=( "--with-ssl" )
+ ;;
+ esac
+ fi
+
+ # Enable wireshark binary with any supported GUI toolkit (bug #473188)
+ if use gtk3 || use qt4 || use qt5; then
+ myconf+=( "--enable-wireshark" )
+ else
+ myconf+=( "--disable-wireshark" )
+ fi
+
+ if ! use qt4 && ! use qt5; then
+ myconf+=( "--with-qt=no" )
+ fi
+
+ if use qt4; then
+ export QT_MIN_VERSION=4.6.0
+ fi
+
+ if use qt5; then
+ export QT_MIN_VERSION=5.3.0
+ append-cxxflags -fPIC -DPIC
+ fi
+
+ # Hack around inability to disable doxygen/fop doc generation
+ use doc || export ac_cv_prog_HAVE_DOXYGEN=false
+ use doc-pdf || export ac_cv_prog_HAVE_FOP=false
+
+ # dumpcap requires libcap
+ # --disable-profile-build bugs #215806, #292991, #479602
+ econf \
+ $(use_enable ipv6) \
+ $(use_with adns c-ares) \
+ $(use_with caps libcap) \
+ $(use_with crypt gcrypt) \
+ $(use_with geoip) \
+ $(use_with gtk3) \
+ $(use_with kerberos krb5) \
+ $(use_with lua) \
+ $(use_with pcap dumpcap-group wireshark) \
+ $(use_with pcap) \
+ $(use_with portaudio) \
+ $(usex qt4 --with-qt=4 '') \
+ $(usex qt5 --with-qt=5 '') \
+ $(usex qt4 MOC=$(qt4_get_bindir)/moc '') \
+ $(usex qt4 RCC=$(qt4_get_bindir)/rcc '') \
+ $(usex qt4 UIC=$(qt4_get_bindir)/uic '') \
+ $(usex qt5 MOC=$(qt5_get_bindir)/moc '') \
+ $(usex qt5 RCC=$(qt5_get_bindir)/rcc '') \
+ $(usex qt5 UIC=$(qt5_get_bindir)/uic '') \
+ $(use_with sbc) \
+ $(use_with smi libsmi) \
+ $(use_with ssl gnutls) \
+ $(use_with zlib) \
+ $(usex netlink --with-libnl=3 --without-libnl) \
+ $(usex cpu_flags_x86_sse4_2 --enable-sse4_2 '') \
+ --disable-profile-build \
+ --disable-usr-local \
+ --disable-warnings-as-errors \
+ --sysconfdir="${EPREFIX}"/etc/wireshark \
+ --without-adns \
+ ${myconf[@]}
+}
+
+src_compile() {
+ default
+ if use doc; then
+ use doc-pdf && addpredict "/root/.java"
+ emake -j1 -C docbook
+ fi
+}
+
+src_install() {
+ default
+ if use doc; then
+ dohtml -r docbook/{release-notes.html,ws{d,u}g_html{,_chunked}}
+ if use doc-pdf; then
+ insinto /usr/share/doc/${PF}/pdf/
+ doins docbook/{{developer,user}-guide,release-notes}-{a4,us}.pdf
+ fi
+ fi
+
+ # FAQ is not required as is installed from help/faq.txt
+ dodoc AUTHORS ChangeLog NEWS README{,.bsd,.linux,.macos,.vmware} \
+ doc/{randpkt.txt,README*}
+
+ # install headers
+ local wsheader
+ for wsheader in \
+ color.h \
+ config.h \
+ epan/*.h \
+ epan/crypt/*.h \
+ epan/dfilter/*.h \
+ epan/dissectors/*.h \
+ epan/ftypes/*.h \
+ epan/wmem/*.h \
+ register.h \
+ wiretap/*.h \
+ ws_symbol_export.h \
+ wsutil/*.h
+ do
+ insinto /usr/include/wireshark/$( dirname ${wsheader} )
+ doins ${wsheader}
+ done
+
+ #with the above this really shouldn't be needed, but things may be looking in wiretap/ instead of wireshark/wiretap/
+ insinto /usr/include/wiretap
+ doins wiretap/wtap.h
+
+ if use gtk3 || use qt4; then
+ local c d
+ for c in hi lo; do
+ for d in 16 32 48; do
+ insinto /usr/share/icons/${c}color/${d}x${d}/apps
+ newins image/${c}${d}-app-wireshark.png wireshark.png
+ done
+ done
+ fi
+
+ if use gtk3; then
+ domenu wireshark.desktop
+ fi
+
+ if use qt4; then
+ sed -e '/Exec=/s|wireshark|&-qt|g' wireshark.desktop > wireshark-qt.desktop || die
+ domenu wireshark-qt.desktop
+ fi
+
+ prune_libtool_files
+}
+
+pkg_postinst() {
+ # Add group for users allowed to sniff.
+ enewgroup wireshark
+
+ if use pcap; then
+ fcaps -o 0 -g wireshark -m 4710 -M 0710 \
+ cap_dac_read_search,cap_net_raw,cap_net_admin \
+ "${EROOT}"/usr/bin/dumpcap
+ fi
+
+ ewarn "NOTE: To capture traffic with wireshark as normal user you have to"
+ ewarn "add yourself to the wireshark group. This security measure ensures"
+ ewarn "that only trusted users are allowed to sniff your traffic."
+}
diff --git a/net-analyzer/wireshark/wireshark-99999999.ebuild b/net-analyzer/wireshark/wireshark-99999999.ebuild
new file mode 100644
index 00000000000..02e46afe8ba
--- /dev/null
+++ b/net-analyzer/wireshark/wireshark-99999999.ebuild
@@ -0,0 +1,267 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit autotools eutils fcaps flag-o-matic git-r3 multilib qmake-utils qt4-r2 user
+
+DESCRIPTION="A network protocol analyzer formerly known as ethereal"
+HOMEPAGE="http://www.wireshark.org/"
+EGIT_REPO_URI="https://code.wireshark.org/review/wireshark"
+
+LICENSE="GPL-2"
+SLOT="0/${PV}"
+KEYWORDS=""
+IUSE="
+ adns +caps crypt doc doc-pdf geoip +gtk3 ipv6 kerberos lua +netlink +pcap
+ portaudio +qt4 qt5 sbc selinux smi cpu_flags_x86_sse4_2 ssl zlib
+"
+REQUIRED_USE="
+ ssl? ( crypt )
+ ?? ( qt4 qt5 )
+"
+
+GTK_COMMON_DEPEND="
+ x11-libs/gdk-pixbuf
+ x11-libs/pango
+ x11-misc/xdg-utils
+"
+CDEPEND="
+ >=dev-libs/glib-2.14:2
+ netlink? ( dev-libs/libnl:3 )
+ adns? ( >=net-dns/c-ares-1.5 )
+ crypt? ( dev-libs/libgcrypt:0 )
+ caps? ( sys-libs/libcap )
+ geoip? ( dev-libs/geoip )
+ gtk3? (
+ ${GTK_COMMON_DEPEND}
+ x11-libs/gtk+:3
+ )
+ kerberos? ( virtual/krb5 )
+ lua? ( >=dev-lang/lua-5.1:* )
+ pcap? ( net-libs/libpcap )
+ portaudio? ( media-libs/portaudio )
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4[accessibility]
+ x11-misc/xdg-utils
+ )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ x11-misc/xdg-utils
+ )
+ sbc? ( media-libs/sbc )
+ smi? ( net-libs/libsmi )
+ ssl? ( net-libs/gnutls )
+ zlib? ( sys-libs/zlib !=sys-libs/zlib-1.2.4 )
+"
+# We need perl for `pod2html`. The rest of the perl stuff is to block older
+# and broken installs. #455122
+DEPEND="
+ ${CDEPEND}
+ dev-lang/perl
+ !<virtual/perl-Pod-Simple-3.170
+ !<perl-core/Pod-Simple-3.170
+ doc? (
+ app-doc/doxygen
+ app-text/asciidoc
+ dev-libs/libxml2
+ dev-libs/libxslt
+ doc-pdf? ( dev-java/fop )
+ www-client/lynx
+ )
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+"
+RDEPEND="
+ ${CDEPEND}
+ gtk3? ( virtual/freedesktop-icon-theme )
+ qt4? ( virtual/freedesktop-icon-theme )
+ qt5? ( virtual/freedesktop-icon-theme )
+ selinux? ( sec-policy/selinux-wireshark )
+"
+
+pkg_setup() {
+ enewgroup wireshark
+}
+
+src_unpack() {
+ git-r3_src_unpack
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-1.6.13-ldflags.patch \
+ "${FILESDIR}"/${PN}-1.11.0-oldlibs.patch \
+ "${FILESDIR}"/${PN}-1.99.0.1975-sse4_2.patch \
+ "${FILESDIR}"/${PN}-99999999-pkgconfig.patch \
+ "${FILESDIR}"/${PN}-1.99.7-qt-pie.patch \
+ "${FILESDIR}"/${PN}-1.99.8-qtchooser.patch
+
+ epatch_user
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+
+ # Workaround bug #213705. If krb5-config --libs has -lcrypto then pass
+ # --with-ssl to ./configure. (Mimics code from acinclude.m4).
+ if use kerberos; then
+ case $(krb5-config --libs) in
+ *-lcrypto*)
+ ewarn "Kerberos was built with ssl support: linkage with openssl is enabled."
+ ewarn "Note there are annoying license incompatibilities between the OpenSSL"
+ ewarn "license and the GPL, so do your check before distributing such package."
+ myconf+=( "--with-ssl" )
+ ;;
+ esac
+ fi
+
+ # Enable wireshark binary with any supported GUI toolkit (bug #473188)
+ if use gtk3 || use qt4 || use qt5; then
+ myconf+=( "--enable-wireshark" )
+ else
+ myconf+=( "--disable-wireshark" )
+ fi
+
+ use qt4 && export QT_MIN_VERSION=4.6.0
+
+ if use qt5; then
+ export QT_MIN_VERSION=5.3.0
+ append-cxxflags -fPIC -DPIC
+ fi
+
+ # Hack around inability to disable doxygen/fop doc generation
+ use doc || export ac_cv_prog_HAVE_DOXYGEN=false
+ use doc-pdf || export ac_cv_prog_HAVE_FOP=false
+
+ if use qt4; then
+ myconf+=" --with-qt=4"
+ elif use qt5; then
+ myconf+=" --with-qt=5"
+ else
+ myconf+=" --with-qt=no"
+ fi
+
+ # dumpcap requires libcap
+ # --disable-profile-build bugs #215806, #292991, #479602
+ econf \
+ $(use_enable ipv6) \
+ $(use_with adns c-ares) \
+ $(use_with caps libcap) \
+ $(use_with crypt gcrypt) \
+ $(use_with geoip) \
+ $(use_with gtk3) \
+ $(use_with kerberos krb5) \
+ $(use_with lua) \
+ $(use_with pcap dumpcap-group wireshark) \
+ $(use_with pcap) \
+ $(use_with portaudio) \
+ $(usex qt4 MOC=$(qt4_get_bindir)/moc '') \
+ $(usex qt4 RCC=$(qt4_get_bindir)/rcc '') \
+ $(usex qt4 UIC=$(qt4_get_bindir)/uic '') \
+ $(usex qt5 MOC=$(qt5_get_bindir)/moc '') \
+ $(usex qt5 RCC=$(qt5_get_bindir)/rcc '') \
+ $(usex qt5 UIC=$(qt5_get_bindir)/uic '') \
+ $(use_with sbc) \
+ $(use_with smi libsmi) \
+ $(use_with ssl gnutls) \
+ $(use_with zlib) \
+ $(usex netlink --with-libnl=3 --without-libnl) \
+ $(usex cpu_flags_x86_sse4_2 --enable-sse4_2 '') \
+ --disable-profile-build \
+ --disable-usr-local \
+ --disable-warnings-as-errors \
+ --sysconfdir="${EPREFIX}"/etc/wireshark \
+ --without-adns \
+ ${myconf[@]}
+}
+
+src_compile() {
+ default
+ if use doc; then
+ use doc-pdf && addpredict "/root/.java"
+ emake -j1 -C docbook
+ fi
+}
+
+src_install() {
+ default
+ if use doc; then
+ dohtml -r docbook/{release-notes.html,ws{d,u}g_html{,_chunked}}
+ if use doc-pdf; then
+ insinto /usr/share/doc/${PF}/pdf/
+ doins docbook/{{developer,user}-guide,release-notes}-{a4,us}.pdf
+ fi
+ fi
+
+ # FAQ is not required as is installed from help/faq.txt
+ dodoc AUTHORS ChangeLog NEWS README{,.bsd,.linux,.macos,.vmware} \
+ doc/{randpkt.txt,README*}
+
+ # install headers
+ local wsheader
+ for wsheader in \
+ color.h \
+ config.h \
+ epan/*.h \
+ epan/crypt/*.h \
+ epan/dfilter/*.h \
+ epan/dissectors/*.h \
+ epan/ftypes/*.h \
+ epan/wmem/*.h \
+ register.h \
+ wiretap/*.h \
+ ws_symbol_export.h \
+ wsutil/*.h
+ do
+ insinto /usr/include/wireshark/$( dirname ${wsheader} )
+ doins ${wsheader}
+ done
+
+ #with the above this really shouldn't be needed, but things may be looking in wiretap/ instead of wireshark/wiretap/
+ insinto /usr/include/wiretap
+ doins wiretap/wtap.h
+
+ if use gtk3 || use qt4; then
+ local c d
+ for c in hi lo; do
+ for d in 16 32 48; do
+ insinto /usr/share/icons/${c}color/${d}x${d}/apps
+ newins image/${c}${d}-app-wireshark.png wireshark.png
+ done
+ done
+ fi
+
+ if use gtk3; then
+ domenu wireshark.desktop
+ fi
+
+ if use qt4; then
+ sed -e '/Exec=/s|wireshark|&-qt|g' wireshark.desktop > wireshark-qt.desktop || die
+ domenu wireshark-qt.desktop
+ fi
+
+ prune_libtool_files
+}
+
+pkg_postinst() {
+ # Add group for users allowed to sniff.
+ enewgroup wireshark
+
+ if use pcap; then
+ fcaps -o 0 -g wireshark -m 4710 -M 0710 \
+ cap_dac_read_search,cap_net_raw,cap_net_admin \
+ "${EROOT}"/usr/bin/dumpcap
+ fi
+
+ ewarn "NOTE: To capture traffic with wireshark as normal user you have to"
+ ewarn "add yourself to the wireshark group. This security measure ensures"
+ ewarn "that only trusted users are allowed to sniff your traffic."
+}