diff options
author | Adam J. Stewart <ajstewart426@gmail.com> | 2017-06-19 15:13:18 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-19 15:13:18 -0500 |
commit | 9b89272ae08b1606144149a17686e29739d286a4 (patch) | |
tree | 0adc2537d7caa2dbc86621d160559c4f3a9930ba | |
parent | cf2178f416c648586c973bdb7050cc58326b2759 (diff) | |
download | spack-9b89272ae08b1606144149a17686e29739d286a4.tar.gz spack-9b89272ae08b1606144149a17686e29739d286a4.tar.bz2 spack-9b89272ae08b1606144149a17686e29739d286a4.tar.xz spack-9b89272ae08b1606144149a17686e29739d286a4.zip |
Various updates to wget and dependencies (#4116)
* Various updates to wget and dependencies
* Add newer version of gnutls
-rw-r--r-- | var/spack/repos/builtin/packages/gnutls/package.py | 54 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/libpsl/package.py | 57 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/nettle/package.py | 3 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/wget/package.py | 87 |
4 files changed, 162 insertions, 39 deletions
diff --git a/var/spack/repos/builtin/packages/gnutls/package.py b/var/spack/repos/builtin/packages/gnutls/package.py index 46fee8d260..bef2433ed2 100644 --- a/var/spack/repos/builtin/packages/gnutls/package.py +++ b/var/spack/repos/builtin/packages/gnutls/package.py @@ -26,25 +26,30 @@ from spack import * class Gnutls(AutotoolsPackage): - """GnuTLS is a secure communications library implementing the SSL, - TLS and DTLS protocols and technologies around them. It - provides a simple C language application programming interface - (API) to access the secure communications protocols as well as - APIs to parse and write X.509, PKCS #12, OpenPGP and other - required structures. It is aimed to be portable and efficient - with focus on security and interoperability.""" + """GnuTLS is a secure communications library implementing the SSL, TLS + and DTLS protocols and technologies around them. It provides a simple C + language application programming interface (API) to access the secure + communications protocols as well as APIs to parse and write X.509, PKCS + #12, OpenPGP and other required structures. It is aimed to be portable + and efficient with focus on security and interoperability.""" homepage = "http://www.gnutls.org" - url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.10.tar.xz" + url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.13.tar.xz" + version('3.5.13', '4fd41ad86572933c2379b4cc321a0959') version('3.5.10', '336c03a71ba90184ffd0388075dde504') version('3.5.9', '0ab25eb6a1509345dd085bc21a387951') version('3.3.9', 'ff61b77e39d09f1140ab5a9cf52c58b6') + variant('zlib', default=True, description='Enable zlib compression support') + # Note that version 3.3.9 of gnutls doesn't support nettle 3.0. - depends_on("nettle@:2.9", when='@3.3.9') - depends_on("nettle", when='@3.5:') - depends_on("zlib", when='@3.5:') + depends_on('nettle@:2.9', when='@3.3.9') + depends_on('nettle', when='@3.5:') + depends_on('zlib', when='+zlib') + depends_on('gettext') + + depends_on('pkg-config@0.9.0:', type='build') build_directory = 'spack-build' @@ -53,10 +58,33 @@ class Gnutls(AutotoolsPackage): return url.format(version.up_to(2), version) def configure_args(self): - args = [] - if self.spec.satisfies('@3.5:'): + spec = self.spec + args = [ + '--enable-static', + ] + + if spec.satisfies('@3.5:'): # use shipped libraries, might be turned into variants args.append('--with-included-libtasn1') args.append('--with-included-unistring') args.append('--without-p11-kit') # p11-kit@0.23.1: ... + + if '+zlib' in spec: + args.append('--with-zlib') + else: + args.append('--without-zlib') + + if self.run_tests: + args.extend([ + '--enable-tests', + '--enable-valgrind-tests', + '--enable-full-test-suite', + ]) + else: + args.extend([ + '--disable-tests', + '--disable-valgrind-tests', + '--disable-full-test-suite', + ]) + return args diff --git a/var/spack/repos/builtin/packages/libpsl/package.py b/var/spack/repos/builtin/packages/libpsl/package.py new file mode 100644 index 0000000000..3a545f6f18 --- /dev/null +++ b/var/spack/repos/builtin/packages/libpsl/package.py @@ -0,0 +1,57 @@ +############################################################################## +# Copyright (c) 2013-2016, 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/llnl/spack +# Please also see the LICENSE file 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 Libpsl(AutotoolsPackage): + """libpsl - C library to handle the Public Suffix List.""" + + homepage = "https://github.com/rockdaboot/libpsl" + url = "https://github.com/rockdaboot/libpsl/releases/download/libpsl-0.17.0/libpsl-0.17.0.tar.gz" + + version('0.17.0', 'fed13f33d0d6dc13ef24de255630bfcb') + + depends_on('icu4c') + + depends_on('gettext', type='build') + depends_on('pkg-config@0.9.0:', type='build') + depends_on('python@2.7:', type='build') + + # TODO: Add a 'test' deptype + # depends_on('valgrind', type='test') + + def configure_args(self): + spec = self.spec + + args = [ + 'PYTHON={0}'.format(spec['python'].command.path), + ] + + if self.run_tests: + args.append('--enable-valgrind-tests') + else: + args.append('--disable-valgrind-tests') + + return args diff --git a/var/spack/repos/builtin/packages/nettle/package.py b/var/spack/repos/builtin/packages/nettle/package.py index e9df8489c9..fd410d5102 100644 --- a/var/spack/repos/builtin/packages/nettle/package.py +++ b/var/spack/repos/builtin/packages/nettle/package.py @@ -30,8 +30,9 @@ class Nettle(AutotoolsPackage): that is designed to fit easily in many contexts.""" homepage = "https://www.lysator.liu.se/~nisse/nettle/" - url = "http://ftp.gnu.org/gnu/nettle/nettle-3.2.tar.gz" + url = "http://ftp.gnu.org/gnu/nettle/nettle-3.3.tar.gz" + version('3.3', '10f969f78a463704ae73529978148dbe') version('3.2', 'afb15b4764ebf1b4e6d06c62bd4d29e4') version('2.7.1', '003d5147911317931dd453520eb234a5') version('2.7', '2caa1bd667c35db71becb93c5d89737f') diff --git a/var/spack/repos/builtin/packages/wget/package.py b/var/spack/repos/builtin/packages/wget/package.py index ff704ca37c..276e51c388 100644 --- a/var/spack/repos/builtin/packages/wget/package.py +++ b/var/spack/repos/builtin/packages/wget/package.py @@ -25,36 +25,73 @@ from spack import * -class Wget(Package): +class Wget(AutotoolsPackage): """GNU Wget is a free software package for retrieving files using - HTTP, HTTPS and FTP, the most widely-used Internet protocols. It - is a non-interactive commandline tool, so it may easily be called - from scripts, cron jobs, terminals without X-Windows support, - etc.""" + HTTP, HTTPS and FTP, the most widely-used Internet protocols. It is a + non-interactive commandline tool, so it may easily be called from scripts, + cron jobs, terminals without X-Windows support, etc.""" homepage = "http://www.gnu.org/software/wget/" - url = "http://ftp.gnu.org/gnu/wget/wget-1.16.tar.gz" + url = "http://ftp.gnu.org/gnu/wget/wget-1.19.1.tar.gz" - version('1.17', 'c4c4727766f24ac716936275014a0536') - version('1.16', '293a37977c41b5522f781d3a3a078426') + version('1.19.1', '87cea36b7161fd43e3fd51a4e8b89689') + version('1.17', 'c4c4727766f24ac716936275014a0536') + version('1.16', '293a37977c41b5522f781d3a3a078426') - variant( - 'ssl', - default='openssl', - values=('gnutls', 'openssl'), - description='Specify SSL backend' - ) + variant('ssl', default='openssl', values=('gnutls', 'openssl'), + description='Specify SSL backend') + variant('zlib', default=True, + description='Enable zlib support') + variant('libpsl', default=False, + description='Enable support for libpsl cookie checking') + variant('pcre', default=False, + description='Enable PCRE style regular expressions') + variant('python', default=False, + description='Enable Python support') depends_on('gnutls', when='ssl=gnutls') depends_on('openssl', when='ssl=openssl') - depends_on("perl@5.12.0:", type='build') - - def install(self, spec, prefix): - configure( - "--prefix=%s" % prefix, - "--with-ssl=openssl", - "OPENSSL_CFLAGS=-I%s" % spec['openssl'].prefix.include, - "OPENSSL_LIBS=-L%s -lssl -lcrypto -lz" % spec[ - 'openssl'].prefix.lib) - make() - make("install") + + depends_on('gettext', type='build') + depends_on('python@3:', type='build', when='+python') + + depends_on('zlib', when='+zlib') + depends_on('libpsl', when='+libpsl') + depends_on('pcre', when='+pcre') + + depends_on('perl@5.12.0:', type='build') + depends_on('pkg-config@0.9.0:', type='build') + + # TODO: Add a 'test' deptype + # depends_on('valgrind', type='test') + + build_directory = 'spack-build' + + def configure_args(self): + spec = self.spec + + args = [ + '--with-ssl={0}'.format(spec.variants['ssl'].value), + ] + + if '+zlib' in spec: + args.append('--with-zlib') + else: + args.append('--without-zlib') + + if '+libpsl' in spec: + args.append('--with-libpsl') + else: + args.append('--without-libpsl') + + if '+pcre' in spec: + args.append('--enable-pcre') + else: + args.append('--disable-pcre') + + if self.run_tests: + args.append('--enable-valgrind-tests') + else: + args.append('--disable-valgrind-tests') + + return args |