diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-analyzer/wireshark | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
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')
17 files changed, 1244 insertions, 0 deletions
diff --git a/net-analyzer/wireshark/Manifest b/net-analyzer/wireshark/Manifest new file mode 100644 index 000000000000..643bb47c6b98 --- /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 000000000000..24b5c7ddc9bc --- /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 000000000000..1e87ce6e2bb2 --- /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 000000000000..3118178d6967 --- /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 000000000000..b8290d00c969 --- /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 000000000000..94554fdf485c --- /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 000000000000..be1343d45045 --- /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 000000000000..ba61de645354 --- /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 000000000000..adda8fe85614 --- /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 000000000000..e7124ad3eca7 --- /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 000000000000..445fe1027226 --- /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 000000000000..47459515ee79 --- /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 000000000000..51f3c8f9eb9b --- /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 000000000000..2707e563ea6a --- /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 000000000000..47ff12c0e240 --- /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 000000000000..1479231904e5 --- /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 000000000000..02e46afe8ba4 --- /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." +} |