summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/pixman/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/pixman/package.py')
-rw-r--r--var/spack/repos/builtin/packages/pixman/package.py55
1 files changed, 31 insertions, 24 deletions
diff --git a/var/spack/repos/builtin/packages/pixman/package.py b/var/spack/repos/builtin/packages/pixman/package.py
index 4191550803..d3e8661dd2 100644
--- a/var/spack/repos/builtin/packages/pixman/package.py
+++ b/var/spack/repos/builtin/packages/pixman/package.py
@@ -1,27 +1,8 @@
-##############################################################################
-# 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)
+
from spack import *
import sys
@@ -37,9 +18,35 @@ class Pixman(AutotoolsPackage):
version('0.34.0', 'e80ebae4da01e77f68744319f01d52a3')
version('0.32.6', '3a30859719a41bd0f5cccffbfefdd4c2')
- depends_on('pkg-config@0.9.0:', type='build')
+ depends_on('pkgconfig', type='build')
depends_on('libpng')
+ # As discussed here:
+ # https://bugs.freedesktop.org/show_bug.cgi?id=104886
+ # __builtin_shuffle was removed in clang 5.0.
+ # From version 9.1 apple-clang is based on clang 5.0.
+ # Patch is obtained from above link.
+ patch('clang.patch', when='%clang@9.1.0-apple:')
+
+ @run_before('build')
+ def patch_config_h_for_intel(self):
+ config_h = join_path(self.stage.source_path, 'config.h')
+
+ # Intel disguises itself as GNU, but doesn't implement
+ # the same builtin functions. This causes in this case
+ # a positive detection of GCC vector extensions, which
+ # is bound to fail at compile time because Intel has no
+ # __builtin_shuffle. See also:
+ #
+ # https://software.intel.com/en-us/forums/intel-c-compiler/topic/758013
+ #
+ if '%intel' in self.spec:
+ filter_file(
+ '#define HAVE_GCC_VECTOR_EXTENSIONS /\*\*/',
+ '/* #undef HAVE_GCC_VECTOR_EXTENSIONS */',
+ config_h
+ )
+
def configure_args(self):
args = [
'--enable-libpng',