diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/qrupdate/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/qrupdate/package.py | 56 |
1 files changed, 31 insertions, 25 deletions
diff --git a/var/spack/repos/builtin/packages/qrupdate/package.py b/var/spack/repos/builtin/packages/qrupdate/package.py index 0856a4efb0..915f6615e8 100644 --- a/var/spack/repos/builtin/packages/qrupdate/package.py +++ b/var/spack/repos/builtin/packages/qrupdate/package.py @@ -1,31 +1,14 @@ -############################################################################## -# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC. -# Produced at the Lawrence Livermore National Laboratory. +# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. # -# 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 -############################################################################## +# SPDX-License-Identifier: (Apache-2.0 OR MIT) + +import os +import sys from spack import * -class Qrupdate(Package): +class Qrupdate(MakefilePackage): """qrupdate is a Fortran library for fast updates of QR and Cholesky decompositions.""" @@ -37,7 +20,30 @@ class Qrupdate(Package): depends_on("blas") depends_on("lapack") + def edit(self, spec, prefix): + # BSD "install" does not understand GNU -D flag. + # We will create the parent directory ourselves. + makefile = FileFilter('src/Makefile') + if (sys.platform == 'darwin'): + makefile.filter('-D', '') + return + def install(self, spec, prefix): + lapack_blas = spec['lapack'].libs + spec['blas'].libs # Build static and dynamic libraries - make("lib", "solib") + make('lib', 'solib', + 'BLAS={0}'.format(lapack_blas.ld_flags), + 'LAPACK={0}'.format(lapack_blas.ld_flags)) + # "INSTALL" confuses "make install" on case-insensitive filesystems + if os.path.isfile("INSTALL"): + os.remove("INSTALL") + # create lib folder: + if (sys.platform == 'darwin'): + mkdirp(prefix.lib) make("install", "PREFIX=%s" % prefix) + + @run_after('install') + def fix_darwin_install(self): + # The shared libraries are not installed correctly on Darwin: + if (sys.platform == 'darwin'): + fix_darwin_install_name(self.spec.prefix.lib) |