Merge branch 'features/newarch' into develop
Conflicts: lib/spack/spack/config.py var/spack/repos/builtin/packages/lua/package.py
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
|
||||
##############################################################################
|
||||
# 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 Externalmodule(Package):
|
||||
homepage = "http://somewhere.com"
|
||||
url = "http://somewhere.com/module-1.0.tar.gz"
|
||||
|
||||
version('1.0', '1234567890abcdef1234567890abcdef')
|
||||
|
||||
depends_on('externalprereq')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
@@ -22,8 +22,11 @@
|
||||
# License along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
##############################################################################
|
||||
import imp
|
||||
from llnl.util.filesystem import join_path
|
||||
from spack.util.naming import mod_to_class
|
||||
from spack import *
|
||||
|
||||
import spack.architecture
|
||||
|
||||
class Multimethod(Package):
|
||||
"""This package is designed for use with Spack's multimethod test.
|
||||
@@ -101,25 +104,26 @@ def has_a_default(self):
|
||||
|
||||
|
||||
#
|
||||
# Make sure we can switch methods on different architectures
|
||||
# Make sure we can switch methods on different target
|
||||
#
|
||||
@when('arch=x86_64')
|
||||
def different_by_architecture(self):
|
||||
return 'x86_64'
|
||||
|
||||
@when('arch=ppc64')
|
||||
def different_by_architecture(self):
|
||||
return 'ppc64'
|
||||
|
||||
@when('arch=ppc32')
|
||||
def different_by_architecture(self):
|
||||
return 'ppc32'
|
||||
|
||||
@when('arch=arm64')
|
||||
def different_by_architecture(self):
|
||||
return 'arm64'
|
||||
|
||||
|
||||
# for platform_name in ['cray_xc', 'darwin', 'linux']:
|
||||
# file_path = join_path(spack.platform_path, platform_name)
|
||||
# platform_mod = imp.load_source('spack.platforms', file_path + '.py')
|
||||
# cls = getattr(platform_mod, mod_to_class(platform_name))
|
||||
|
||||
# platform = cls()
|
||||
platform = spack.architecture.sys_type()
|
||||
targets = platform.targets.values()
|
||||
if len(targets) > 1:
|
||||
targets = targets[:-1]
|
||||
|
||||
for target in targets:
|
||||
@when('target='+target.name)
|
||||
def different_by_target(self):
|
||||
if isinstance(self.spec.architecture.target,basestring):
|
||||
return self.spec.architecture.target
|
||||
else:
|
||||
return self.spec.architecture.target.name
|
||||
#
|
||||
# Make sure we can switch methods on different dependencies
|
||||
#
|
||||
|
@@ -30,8 +30,9 @@ class Binutils(Package):
|
||||
|
||||
url="https://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2"
|
||||
|
||||
# 2.26 is incompatible with py-pillow build for some reason.
|
||||
version('2.26', '64146a0faa3b411ba774f47d41de239f')
|
||||
version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66')
|
||||
version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66', preferred=True)
|
||||
version('2.24', 'e0f71a7b2ddab0f8612336ac81d9636b')
|
||||
version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e')
|
||||
version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764')
|
||||
|
@@ -132,7 +132,7 @@ def url_for_version(self, version):
|
||||
"/boost/%s/boost_%s.tar.bz2" % (dots, underscores)
|
||||
|
||||
def determine_toolset(self, spec):
|
||||
if spec.satisfies("arch=darwin-x86_64"):
|
||||
if spec.satisfies("platform=darwin"):
|
||||
return 'darwin'
|
||||
|
||||
toolsets = {'g++': 'gcc',
|
||||
|
@@ -87,7 +87,7 @@ def install(self, spec, prefix):
|
||||
configure(*options)
|
||||
make('all')
|
||||
|
||||
if spec.architecture.startswith('darwin'):
|
||||
if spec.satisfies('platform=darwin'):
|
||||
mkdirp(prefix.bin)
|
||||
for filename in glob("bin/*.x"):
|
||||
install(filename, prefix.bin)
|
||||
|
@@ -37,7 +37,7 @@ class Libpciaccess(Package):
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# libpciaccess does not support OS X
|
||||
if spec.satisfies('arch=darwin-x86_64'):
|
||||
if spec.satisfies('platform=darwin'):
|
||||
# create a dummy directory
|
||||
mkdir(prefix.lib)
|
||||
return
|
||||
|
39
var/spack/repos/builtin/packages/libpthread-stubs/package.py
Normal file
39
var/spack/repos/builtin/packages/libpthread-stubs/package.py
Normal file
@@ -0,0 +1,39 @@
|
||||
##############################################################################
|
||||
# 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 LibpthreadStubs(Package):
|
||||
"""The libpthread-stubs package provides weak aliases for pthread
|
||||
functions not provided in libc or otherwise available by
|
||||
default. """
|
||||
homepage = "http://xcb.freedesktop.org/"
|
||||
url = "http://xcb.freedesktop.org/dist/libpthread-stubs-0.1.tar.bz2"
|
||||
|
||||
version('0.3', 'e8fa31b42e13f87e8f5a7a2b731db7ee')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
make()
|
||||
make("install")
|
44
var/spack/repos/builtin/packages/libxau/package.py
Normal file
44
var/spack/repos/builtin/packages/libxau/package.py
Normal file
@@ -0,0 +1,44 @@
|
||||
##############################################################################
|
||||
# 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 Libxau(Package):
|
||||
"""The libXau package contains a library implementing the X11
|
||||
Authorization Protocol. This is useful for restricting client
|
||||
access to the display."""
|
||||
homepage = "http://xcb.freedesktop.org/"
|
||||
url = "http://ftp.x.org/pub/individual/lib/libXau-1.0.8.tar.bz2"
|
||||
|
||||
version('1.0.8', '685f8abbffa6d145c0f930f00703b21b')
|
||||
|
||||
depends_on('xproto')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
# FIXME: Modify the configure line to suit your build system here.
|
||||
configure('--prefix=%s' % prefix)
|
||||
|
||||
# FIXME: Add logic to build and install here
|
||||
make()
|
||||
make("install")
|
@@ -35,18 +35,19 @@ class Libxcb(Package):
|
||||
|
||||
version('1.11', '1698dd837d7e6e94d029dbe8b3a82deb')
|
||||
version('1.11.1', '118623c15a96b08622603a71d8789bf3')
|
||||
|
||||
depends_on("python")
|
||||
depends_on("xcb-proto")
|
||||
depends_on("pkg-config")
|
||||
|
||||
# depends_on('pthread') # Ubuntu: apt-get install libpthread-stubs0-dev
|
||||
# depends_on('xau') # Ubuntu: apt-get install libxau-dev
|
||||
depends_on("libpthread-stubs")
|
||||
depends_on('libxau')
|
||||
|
||||
def patch(self):
|
||||
filter_file('typedef struct xcb_auth_info_t {', 'typedef struct {', 'src/xcb.h')
|
||||
|
||||
|
||||
def install(self, spec, prefix):
|
||||
env['PKG_CONFIG_PATH'] = env['PKG_CONFIG_PATH'] + ':/usr/lib64/pkgconfig'
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
|
@@ -267,16 +267,16 @@ def install(self, spec, prefix):
|
||||
|
||||
if '+all_targets' not in spec: # all is default on cmake
|
||||
targets = ['CppBackend', 'NVPTX', 'AMDGPU']
|
||||
if 'x86' in spec.architecture.lower():
|
||||
if 'x86' in spec.architecture.target.lower():
|
||||
targets.append('X86')
|
||||
elif 'arm' in spec.architecture.lower():
|
||||
elif 'arm' in spec.architecture.target.lower():
|
||||
targets.append('ARM')
|
||||
elif 'aarch64' in spec.architecture.lower():
|
||||
elif 'aarch64' in spec.architecture.target.lower():
|
||||
targets.append('AArch64')
|
||||
elif 'sparc' in spec.architecture.lower():
|
||||
elif 'sparc' in spec.architecture.target.lower():
|
||||
targets.append('sparc')
|
||||
elif ('ppc' in spec.architecture.lower() or
|
||||
'power' in spec.architecture.lower()):
|
||||
elif ('ppc' in spec.architecture.target.lower() or
|
||||
'power' in spec.architecture.target.lower()):
|
||||
targets.append('PowerPC')
|
||||
|
||||
cmake_args.append('-DLLVM_TARGETS_TO_BUILD:Bool=' + ';'.join(targets))
|
||||
|
@@ -57,7 +57,7 @@ class Lua(Package):
|
||||
placement='luarocks')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
if spec.satisfies("arch=darwin-i686") or spec.satisfies("arch=darwin-x86_64"): # NOQA: ignore=E501
|
||||
if spec.satisfies("platform=darwin"):
|
||||
target = 'macosx'
|
||||
else:
|
||||
target = 'linux'
|
||||
|
@@ -100,7 +100,7 @@ def install(self, spec, prefix):
|
||||
# in the environment, then this will override what is set in the
|
||||
# Makefile, leading to build errors.
|
||||
env.pop('APPS', None)
|
||||
if spec.satisfies("arch=darwin-x86_64") or spec.satisfies("arch=ppc64"):
|
||||
if spec.satisfies("target=x86_64") or spec.satisfies("target=ppc64"):
|
||||
# This needs to be done for all 64-bit architectures (except Linux,
|
||||
# where it happens automatically?)
|
||||
env['KERNEL_BITS'] = '64'
|
||||
|
@@ -37,6 +37,8 @@ class PyH5py(Package):
|
||||
depends_on('hdf5')
|
||||
depends_on('py-numpy')
|
||||
depends_on('py-cython')
|
||||
depends_on('py-six')
|
||||
depends_on('py-pkgconfig')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'configure', '--hdf5=%s' % spec['hdf5'].prefix)
|
||||
|
38
var/spack/repos/builtin/packages/xorg-util-macros/package.py
Normal file
38
var/spack/repos/builtin/packages/xorg-util-macros/package.py
Normal file
@@ -0,0 +1,38 @@
|
||||
##############################################################################
|
||||
# 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 XorgUtilMacros(Package):
|
||||
"""The util-macros package contains the m4 macros used by all of the Xorg packages."""
|
||||
|
||||
homepage = "http://www.example.com"
|
||||
url = "http://ftp.x.org/pub/individual/util/util-macros-1.19.0.tar.bz2"
|
||||
|
||||
version('1.19.0', '1cf984125e75f8204938d998a8b6c1e1')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
make()
|
||||
make("install")
|
41
var/spack/repos/builtin/packages/xproto/package.py
Normal file
41
var/spack/repos/builtin/packages/xproto/package.py
Normal file
@@ -0,0 +1,41 @@
|
||||
##############################################################################
|
||||
# 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 Xproto(Package):
|
||||
"""The Xorg protocol headers provide the header files required to
|
||||
build the system, and to allow other applications to build against
|
||||
the installed X Window system."""
|
||||
homepage = "http://www.x.org/"
|
||||
url = "https://www.x.org/archive//individual/proto/xproto-7.0.29.tar.gz"
|
||||
|
||||
version('7.0.29', '16a78dd2c5ad73011105c96235f6a0af')
|
||||
|
||||
depends_on("xorg-util-macros")
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure('--prefix=%s' % prefix)
|
||||
make()
|
||||
make("install")
|
Reference in New Issue
Block a user