Nix package: update dependencies (#10646)

* Add 'fiber' as a default library for boost
* Add autoconf/automake etc. dependencies to libseccomp package
* New package: brotli
* New package: editline
* Add brotli, editline, boost dependencies to Nix
This commit is contained in:
Tristan Carel 2019-03-07 20:32:55 +01:00 committed by Peter Scheibel
parent 23822e9717
commit dd6e91fcb6
5 changed files with 56 additions and 11 deletions

View File

@ -72,6 +72,7 @@ class Boost(Package):
'chrono',
'date_time',
'exception',
'fiber',
'filesystem',
'graph',
'iostreams',
@ -417,8 +418,8 @@ def install(self, spec, prefix):
# In theory it could be done on one call but it fails on
# Boost.MPI if the threading options are not separated.
for threadingOpt in threading_opts:
b2('install', 'threading=%s' % threadingOpt, *b2_options)
for threading_opt in threading_opts:
b2('install', 'threading=%s' % threading_opt, *b2_options)
if '+multithreaded' in spec and '~taggedlayout' in spec:
self.add_buildopt_symlinks(prefix)

View File

@ -0,0 +1,15 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Brotli(CMakePackage):
"""Brotli is a generic-purpose lossless compression algorithm"""
homepage = "https://github.com/google/brotli"
url = "https://github.com/google/brotli/archive/v1.0.7.tar.gz"
version('1.0.7', sha256='4c61bfb0faca87219ea587326c467b95acb25555b53d1a421ffa3c8a9296ee2c')

View File

@ -0,0 +1,21 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class Editline(AutotoolsPackage):
"""A readline() replacement for UNIX without termcap (ncurses)"""
homepage = "http://troglobit.com/editline.html"
url = "https://github.com/troglobit/editline/archive/1.16.0.tar.gz"
version('1.16.0', sha256='33421a1569d025f332a87054bfea28e2c757bdb573f1437bc22c34b798b6383c')
depends_on('autoconf', type='build')
depends_on('automake', type='build')
depends_on('libtool', type='build')
depends_on('m4', type='build')
depends_on('ncurses')

View File

@ -16,6 +16,10 @@ class Libseccomp(AutotoolsPackage):
variant('python', default=True, description="Build Python bindings")
depends_on('autoconf', type='build')
depends_on('automake', type='build')
depends_on('libtool', type='build')
depends_on('m4', type='build')
depends_on("py-cython", type="build", when="+python")
def configure_args(self):

View File

@ -10,7 +10,7 @@ class Nix(AutotoolsPackage):
"""Nix, the purely functional package manager"""
homepage = "http://nixos.org/nix"
url = "https://github.com/NixOS/nix/archive/2.0.4.zip"
url = "https://github.com/NixOS/nix/archive/2.2.1.zip"
version('2.2.1', sha256='b591664dd1b04a8f197407d445799ece41140a3117bcbdf8e3c5e94cd3f59854')
version('2.1.3', sha256='80d0834f3e34b3e91bd20969733d8010b3e253517ea64bf12258c5f450f86425')
@ -18,12 +18,12 @@ class Nix(AutotoolsPackage):
patch('fix-doc-build.patch')
variant('storedir', values=str, default="none",
variant('storedir', values=str, default='none',
description='path of the Nix store (defaults to /nix)')
variant('statedir', values=str, default="none",
variant('statedir', values=str, default='none',
description='path to the locale state (defaults to /nix/var)')
variant('doc', default=True,
description="Build and install documentation")
description='Build and install documentation')
variant('sandboxing', default=True,
description='Enable build isolation')
@ -32,17 +32,21 @@ class Nix(AutotoolsPackage):
depends_on('bison', type='build')
depends_on('flex', type='build')
depends_on('libtool', type='build')
depends_on('libxslt', when="+doc", type='build')
depends_on('libxslt', when='+doc', type='build')
depends_on('boost')
depends_on('brotli')
depends_on('editline')
depends_on('m4', type='build')
depends_on('bzip2')
depends_on('curl')
depends_on('libseccomp', when="+sandboxing")
depends_on('libseccomp', when='+sandboxing')
depends_on('sqlite')
depends_on('xz')
# gcc 4.9+ and higher supported with c++14
conflicts("%gcc@:4.8.99")
conflicts('%gcc@:4.8.99')
def configure_args(self):
args = []
@ -51,9 +55,9 @@ def configure_args(self):
if '+doc' not in self.spec:
args.append('--disable-doc-gen')
storedir = self.spec.variants['storedir'].value
if storedir != "none":
if storedir != 'none':
args.append('--with-store-dir=' + storedir)
statedir = self.spec.variants['statedir'].value
if statedir != "none":
if statedir != 'none':
args.append('--localstatedir=' + statedir)
return args