Add package wireshark and dependencies (#8024)
* add wireshark Change-Id: I1ef674ff286db2e06baaf9fca65982d1145cfa79 * fix qt4 build Change-Id: Ieb9989b9fec1a0e02388197f971ee66b591d45c5 * remove commented lines Change-Id: Ia67bfaf1beba06dd710cee56aec06bc36b293d34 * flake8 fix Change-Id: Ica1b2cce2be2faca82a4177c3cdc3a0bb005c031 * remove clutter Change-Id: I6061fe56a88f8c7b7e03fdce5e3eae04036ad2d8 * fix dependencies Change-Id: I8160c70c9333c9f5e82ed5fc73633455df568972 * use dot syntax instead of join_path Change-Id: Id1f737299b603fa4093b58571d46a64b0dd84895
This commit is contained in:
parent
b83be5f2d4
commit
17ce5fd912
3 changed files with 210 additions and 0 deletions
46
var/spack/repos/builtin/packages/krb5/package.py
Normal file
46
var/spack/repos/builtin/packages/krb5/package.py
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/spack/spack
|
||||||
|
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Krb5(AutotoolsPackage):
|
||||||
|
"""Network authentication protocol"""
|
||||||
|
|
||||||
|
homepage = "https://kerberos.org"
|
||||||
|
url = "https://kerberos.org/dist/krb5/1.16/krb5-1.16.1.tar.gz"
|
||||||
|
|
||||||
|
version('1.16.1', '848e9b80d6aaaa798e3f3df24b83c407')
|
||||||
|
|
||||||
|
depends_on('openssl')
|
||||||
|
|
||||||
|
configure_directory = 'src'
|
||||||
|
build_directory = 'src'
|
||||||
|
|
||||||
|
def configure_args(self):
|
||||||
|
args = ['--disable-debug',
|
||||||
|
'--disable-dependency-tracking',
|
||||||
|
'--disable-silent-rules',
|
||||||
|
'--without-system-verto']
|
||||||
|
return args
|
40
var/spack/repos/builtin/packages/libmaxminddb/package.py
Normal file
40
var/spack/repos/builtin/packages/libmaxminddb/package.py
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/spack/spack
|
||||||
|
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Libmaxminddb(AutotoolsPackage):
|
||||||
|
"""C library for the MaxMind DB file format"""
|
||||||
|
|
||||||
|
homepage = "https://github.com/maxmind/libmaxminddb"
|
||||||
|
url = "https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz"
|
||||||
|
|
||||||
|
version('1.3.2', '67a861965b30d045bf29a2126bcc05ed')
|
||||||
|
|
||||||
|
def configure_args(self):
|
||||||
|
args = ['--disable-debug',
|
||||||
|
'--disable-dependency-tracking',
|
||||||
|
'--disable-silent-rules']
|
||||||
|
return args
|
124
var/spack/repos/builtin/packages/wireshark/package.py
Normal file
124
var/spack/repos/builtin/packages/wireshark/package.py
Normal file
|
@ -0,0 +1,124 @@
|
||||||
|
##############################################################################
|
||||||
|
# Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC.
|
||||||
|
# Produced at the Lawrence Livermore National Laboratory.
|
||||||
|
#
|
||||||
|
# This file is part of Spack.
|
||||||
|
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
|
||||||
|
# LLNL-CODE-647188
|
||||||
|
#
|
||||||
|
# For details, see https://github.com/spack/spack
|
||||||
|
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU Lesser General Public License (as
|
||||||
|
# published by the Free Software Foundation) version 2.1, February 1999.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but
|
||||||
|
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
|
||||||
|
# conditions of the GNU Lesser General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU Lesser General Public
|
||||||
|
# License along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
##############################################################################
|
||||||
|
from spack import *
|
||||||
|
import glob
|
||||||
|
|
||||||
|
|
||||||
|
class Wireshark(CMakePackage):
|
||||||
|
"""Graphical network analyzer and capture tool"""
|
||||||
|
|
||||||
|
homepage = "https://www.wireshark.org"
|
||||||
|
url = "https://www.wireshark.org/download/src/all-versions/wireshark-2.6.0.tar.xz"
|
||||||
|
|
||||||
|
version('2.6.0', 'd9f9e206977da14427bfd66b582601ae')
|
||||||
|
|
||||||
|
variant('smi', default=False, description='Build with libsmi')
|
||||||
|
variant('libssh', default=False, description='Build with libssh')
|
||||||
|
variant('nghttp2', default=False, description='Build with nghttp2')
|
||||||
|
variant('qt', default=False, description='Build with qt')
|
||||||
|
variant('gtk3', default=False, description='Build with gtk3')
|
||||||
|
variant('gtk', default=False, description='Build with gtk')
|
||||||
|
variant('headers', default=True, description='Install headers')
|
||||||
|
|
||||||
|
depends_on('cares')
|
||||||
|
depends_on('doxygen', type='build')
|
||||||
|
depends_on('flex', type='build')
|
||||||
|
depends_on('glib')
|
||||||
|
depends_on('gnutls')
|
||||||
|
depends_on('libgcrypt@1.4.2:')
|
||||||
|
depends_on('libmaxminddb')
|
||||||
|
depends_on('lua')
|
||||||
|
depends_on('krb5')
|
||||||
|
depends_on('libsmi', when='+smi')
|
||||||
|
depends_on('libssh', when='+libssh')
|
||||||
|
depends_on('nghttp2', when='+nghttp2')
|
||||||
|
depends_on('portaudio', when='+gtk')
|
||||||
|
depends_on('portaudio', when='+gtk3')
|
||||||
|
depends_on('qt@4.8:', when='+qt')
|
||||||
|
depends_on('gtkplus3', when='+gtk3')
|
||||||
|
depends_on('gtkplus', when='+gtk')
|
||||||
|
depends_on('adwaita-icon-theme', when='+gtk3')
|
||||||
|
|
||||||
|
def cmake_args(self):
|
||||||
|
args = ['-DENEABLE_CARES=ON',
|
||||||
|
'-DENABLE_GNUTLS=ON',
|
||||||
|
'-DENABLE_LUA=ON',
|
||||||
|
'-DENABLE_MAXMINDDB=ON']
|
||||||
|
if self.spec.satisfies('+qt'):
|
||||||
|
args.append('-DBUILD_wireshark=ON')
|
||||||
|
args.append('-DENABLE_APPLICATION_BUNDLE=ON')
|
||||||
|
if self.spec['qt'].version >= Version(5):
|
||||||
|
args.append('-DENABLE_QT5=ON')
|
||||||
|
else:
|
||||||
|
args.append('-DENABLE_QT5=OFF')
|
||||||
|
else:
|
||||||
|
args.append('-DBUILD_wireshark=OFF')
|
||||||
|
args.append('-DENABLE_APPLICATION_BUNDLE=OFF')
|
||||||
|
args.append('-DENABLE_QT5=OFF')
|
||||||
|
|
||||||
|
if self.spec.satisfies('+gtk3') or self.spec.satisfies('+gtk'):
|
||||||
|
args.append('-DBUILD_wireshark_gtk=ON')
|
||||||
|
args.append('-DENABLE_PORTAUDIO=ON')
|
||||||
|
else:
|
||||||
|
args.append('-DBUILD_wireshark_gtk=OFF')
|
||||||
|
args.append('-DENABLE_PORTAUDIO=OFF')
|
||||||
|
if self.spec.satisfies('+gtk3'):
|
||||||
|
args.append('-DENABLE_GTK3=ON')
|
||||||
|
|
||||||
|
if self.spec.satisfies('+libssh'):
|
||||||
|
args.append('-DBUILD_sshdump=ON')
|
||||||
|
args.append('-DBUILD_ciscodump=ON')
|
||||||
|
else:
|
||||||
|
args.append('-DBUILD_sshdump=OFF')
|
||||||
|
args.append('-DBUILD_ciscodump=OFF')
|
||||||
|
|
||||||
|
if self.spec.satisfies('+smi'):
|
||||||
|
args.append('-DBUILD_SMI=ON')
|
||||||
|
else:
|
||||||
|
args.append('-DBUILD_SMI=OFF')
|
||||||
|
|
||||||
|
if self.spec.satisfies('+nghttp2'):
|
||||||
|
args.append('-DBUILD_NGHTTP2=ON')
|
||||||
|
else:
|
||||||
|
args.append('-DBUILD_NGHTTP2=OFF')
|
||||||
|
|
||||||
|
return args
|
||||||
|
|
||||||
|
@run_after('install')
|
||||||
|
def symlink(self):
|
||||||
|
if self.spec.satisfies('platform=darwin'):
|
||||||
|
link(join_path(self.prefix,
|
||||||
|
'Wireshark.app/Contents/MacOS/Wireshark'),
|
||||||
|
self.prefix.bin.wireshark)
|
||||||
|
|
||||||
|
@run_after('install')
|
||||||
|
def install_headers(self):
|
||||||
|
if self.spec.satisfies('+headers'):
|
||||||
|
folders = ['.', 'epan/crypt', 'epan/dfilter', 'epan/dissectors',
|
||||||
|
'epan/ftypes', 'epan/wmem', 'wiretap', 'wsutil']
|
||||||
|
for folder in folders:
|
||||||
|
headers = glob.glob(join_path(folder, '*.h'))
|
||||||
|
for h in headers:
|
||||||
|
install(h, join_path(prefix.include, 'wireshark', folder))
|
Loading…
Reference in a new issue