summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/stage.py20
-rw-r--r--var/spack/repos/builtin/packages/bcftools/package.py43
-rw-r--r--var/spack/repos/builtin/packages/fastx_toolkit/package.py43
-rw-r--r--var/spack/repos/builtin/packages/htslib/package.py41
-rw-r--r--var/spack/repos/builtin/packages/libgtextutils/package.py40
-rw-r--r--var/spack/repos/builtin/packages/lmod/package.py8
-rw-r--r--var/spack/repos/builtin/packages/pango/package.py2
-rw-r--r--var/spack/repos/builtin/packages/pdt/package.py8
-rw-r--r--var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch9
-rw-r--r--var/spack/repos/builtin/packages/samtools/package.py26
-rw-r--r--var/spack/repos/builtin/packages/samtools/samtools1.2.patch20
-rw-r--r--var/spack/repos/builtin/packages/tar/gnutar-configure-xattrs.patch482
-rw-r--r--var/spack/repos/builtin/packages/tar/package.py14
13 files changed, 707 insertions, 49 deletions
diff --git a/lib/spack/spack/stage.py b/lib/spack/spack/stage.py
index 553c4ad05f..8fcc331482 100644
--- a/lib/spack/spack/stage.py
+++ b/lib/spack/spack/stage.py
@@ -321,15 +321,19 @@ class Stage(object):
package_name = os.path.dirname(self.mirror_path)
pkg = spack.repo.get(package_name)
if pkg.list_url is not None and pkg.url is not None:
- archive_version = spack.url.parse_version(
- self.default_fetcher.url)
- versions = pkg.fetch_remote_versions()
try:
- url_from_list = versions[Version(archive_version)]
- fetchers.append(fs.URLFetchStrategy(url_from_list, digest))
- except KeyError:
- tty.msg("Can not find version %s in url_list" %
- archive_version)
+ archive_version = spack.url.parse_version(
+ self.default_fetcher.url)
+ versions = pkg.fetch_remote_versions()
+ try:
+ url_from_list = versions[Version(archive_version)]
+ fetchers.append(fs.URLFetchStrategy(
+ url_from_list, digest))
+ except KeyError:
+ tty.msg("Can not find version %s in url_list" %
+ archive_version)
+ except:
+ tty.msg("Could not determine url from list_url.")
for fetcher in fetchers:
try:
diff --git a/var/spack/repos/builtin/packages/bcftools/package.py b/var/spack/repos/builtin/packages/bcftools/package.py
new file mode 100644
index 0000000000..a1b4a06dbb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/bcftools/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# 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 Bcftools(Package):
+ """BCFtools is a set of utilities that manipulate variant calls in the
+ Variant Call Format (VCF) and its binary counterpart BCF. All
+ commands work transparently with both VCFs and BCFs, both
+ uncompressed and BGZF-compressed."""
+
+ homepage = "http://samtools.github.io/bcftools/"
+ url = "https://github.com/samtools/bcftools/releases/download/1.3.1/bcftools-1.3.1.tar.bz2"
+
+ version('1.3.1', '575001e9fca37cab0c7a7287ad4b1cdb')
+
+ depends_on('zlib')
+
+ def install(self, spec, prefix):
+ make("prefix=%s" % prefix, "all")
+ make("prefix=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/fastx_toolkit/package.py b/var/spack/repos/builtin/packages/fastx_toolkit/package.py
new file mode 100644
index 0000000000..04b4d24b39
--- /dev/null
+++ b/var/spack/repos/builtin/packages/fastx_toolkit/package.py
@@ -0,0 +1,43 @@
+##############################################################################
+# 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 FastxToolkit(Package):
+ """The FASTX-Toolkit is a collection of command line tools for
+ Short-Reads FASTA/FASTQ files preprocessing."""
+
+ homepage = "http://hannonlab.cshl.edu/fastx_toolkit/"
+ url = "https://github.com/agordon/fastx_toolkit/releases/download/0.0.14/fastx_toolkit-0.0.14.tar.bz2"
+
+ version('0.0.14', 'bf1993c898626bb147de3d6695c20b40')
+
+ depends_on('libgtextutils')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/htslib/package.py b/var/spack/repos/builtin/packages/htslib/package.py
new file mode 100644
index 0000000000..1a8b8fd2f5
--- /dev/null
+++ b/var/spack/repos/builtin/packages/htslib/package.py
@@ -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 Htslib(Package):
+ """C library for high-throughput sequencing data formats."""
+
+ homepage = "https://github.com/samtools/htslib"
+ url = "https://github.com/samtools/htslib/releases/download/1.3.1/htslib-1.3.1.tar.bz2"
+
+ version('1.3.1', '16d78f90b72f29971b042e8da8be6843')
+
+ depends_on('zlib')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/libgtextutils/package.py b/var/spack/repos/builtin/packages/libgtextutils/package.py
new file mode 100644
index 0000000000..201e031869
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libgtextutils/package.py
@@ -0,0 +1,40 @@
+##############################################################################
+# 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 Libgtextutils(Package):
+ """Gordon's Text utils Library."""
+
+ homepage = "https://github.com/agordon/libgtextutils"
+ url = "https://github.com/agordon/libgtextutils/releases/download/0.7/libgtextutils-0.7.tar.gz"
+
+ version('0.7', '593c7c62e3c76ec49f5736eed4f96806')
+
+ def install(self, spec, prefix):
+ configure('--prefix={0}'.format(prefix))
+
+ make()
+ make('install')
diff --git a/var/spack/repos/builtin/packages/lmod/package.py b/var/spack/repos/builtin/packages/lmod/package.py
index 01911c1a30..a3ae4a7f51 100644
--- a/var/spack/repos/builtin/packages/lmod/package.py
+++ b/var/spack/repos/builtin/packages/lmod/package.py
@@ -38,6 +38,7 @@ class Lmod(Package):
homepage = 'https://www.tacc.utexas.edu/research-development/tacc-projects/lmod' # NOQA: ignore=E501
url = 'https://github.com/TACC/Lmod/archive/6.4.1.tar.gz'
+ version('6.4.5', '14f6c58dbc0a5a75574d795eac2c1e3c')
version('6.4.1', '7978ba777c8aa41a4d8c05fec5f780f4')
version('6.3.7', '0fa4d5a24c41cae03776f781aa2dedc1')
version('6.0.1', '91abf52fe5033bd419ffe2842ebe7af9')
@@ -55,15 +56,16 @@ class Lmod(Package):
spack_env.append_path('LUA_PATH', stage_lua_path.format(
version=self.version), separator=';')
- patch('fix_tclsh_paths.patch')
+ patch('fix_tclsh_paths.patch', when='@:6.4.3')
def patch(self):
"""The tcl scripts should use the tclsh that was discovered
by the configure script. Touch up their #! lines so that the
sed in the Makefile's install step has something to work on.
Requires the change in the associated patch file.fg"""
- for tclscript in glob('src/*.tcl'):
- filter_file(r'^#!.*tclsh', '#!@path_to_tclsh@', tclscript)
+ if self.spec.version <= Version('6.4.3'):
+ for tclscript in glob('src/*.tcl'):
+ filter_file(r'^#!.*tclsh', '#!@path_to_tclsh@', tclscript)
def install(self, spec, prefix):
configure('--prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/pango/package.py b/var/spack/repos/builtin/packages/pango/package.py
index 7ae90f1795..2da20e9dc2 100644
--- a/var/spack/repos/builtin/packages/pango/package.py
+++ b/var/spack/repos/builtin/packages/pango/package.py
@@ -32,6 +32,8 @@ class Pango(Package):
far has been done in the context of the GTK+ widget toolkit."""
homepage = "http://www.pango.org"
url = "http://ftp.gnome.org/pub/gnome/sources/pango/1.36/pango-1.36.8.tar.xz"
+ list_url = "http://ftp.gnome.org/pub/gnome/sources/pango/"
+ list_depth = 2
version('1.36.8', '217a9a753006275215fa9fa127760ece')
version('1.40.1', '6fc88c6529890d6c8e03074d57a3eceb')
diff --git a/var/spack/repos/builtin/packages/pdt/package.py b/var/spack/repos/builtin/packages/pdt/package.py
index 60136fc0cd..32611a7b14 100644
--- a/var/spack/repos/builtin/packages/pdt/package.py
+++ b/var/spack/repos/builtin/packages/pdt/package.py
@@ -34,10 +34,12 @@ class Pdt(Package):
class library supporting common PDB operations.
"""
homepage = "https://www.cs.uoregon.edu/research/pdt/home.php"
- url = "https://www.cs.uoregon.edu/research/tau/pdt_releases/pdt-3.21.tar.gz"
- version('3.21', '8df94298b71703decf680709a4ddf68f')
- version('3.19', 'ba5591994998771fdab216699e362228')
+ version('3.21', '3092ca0d8833b69992c17e63ae66c263')
+ version('3.19', '5c5e1e6607086aa13bf4b1b9befc5864')
+
+ def url_for_version(self, version):
+ return 'https://www.cs.uoregon.edu/research/tau/pdt_releases/pdtoolkit-%s.tar.gz' % (version)
def install(self, spec, prefix):
configure('-prefix=%s' % prefix)
diff --git a/var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch b/var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch
index 578cbf4d7c..9538f23875 100644
--- a/var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch
+++ b/var/spack/repos/builtin/packages/pkg-config/g_date_strftime.patch
@@ -20,14 +20,15 @@ index 4aece02..92c34d2 100644
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+
- gsize
- g_date_strftime (gchar *s,
- gsize slen,
+ gsize
+ g_date_strftime (gchar *s,
+ gsize slen,
@@ -2549,3 +2552,5 @@ g_date_strftime (gchar *s,
return retval;
#endif
}
+
+#pragma GCC diagnostic pop
---
+--
2.7.1
+
diff --git a/var/spack/repos/builtin/packages/samtools/package.py b/var/spack/repos/builtin/packages/samtools/package.py
index f5c7f4431f..6b0b224785 100644
--- a/var/spack/repos/builtin/packages/samtools/package.py
+++ b/var/spack/repos/builtin/packages/samtools/package.py
@@ -24,19 +24,27 @@
##############################################################################
from spack import *
+
class Samtools(Package):
- """SAM Tools provide various utilities for manipulating alignments in the SAM format,
- including sorting, merging, indexing and generating
+ """SAM Tools provide various utilities for manipulating alignments in
+ the SAM format, including sorting, merging, indexing and generating
alignments in a per-position format"""
homepage = "www.htslib.org"
- version('1.2','988ec4c3058a6ceda36503eebecd4122',url = "https://github.com/samtools/samtools/releases/download/1.2/samtools-1.2.tar.bz2")
+ url = "https://github.com/samtools/samtools/releases/download/1.3.1/samtools-1.3.1.tar.bz2"
- depends_on("zlib")
- depends_on("mpc")
- parallel=False
- patch("samtools1.2.patch",level=0)
+ version('1.3.1', 'a7471aa5a1eb7fc9cc4c6491d73c2d88')
+ version('1.2', '988ec4c3058a6ceda36503eebecd4122')
- def install(self, spec, prefix):
- make("prefix=%s" % prefix, "install")
+ depends_on("ncurses")
+ depends_on("htslib", when='@1.3.1:') # htslib became standalone
+ depends_on('zlib', when='@1.2') # needed for builtin htslib
+ def install(self, spec, prefix):
+ if self.spec.version >= Version('1.3.1'):
+ configure('--prefix={0}'.format(prefix), '--with-ncurses')
+ make()
+ make('install')
+ else:
+ make("prefix=%s" % prefix)
+ make("prefix=%s" % prefix, "install")
diff --git a/var/spack/repos/builtin/packages/samtools/samtools1.2.patch b/var/spack/repos/builtin/packages/samtools/samtools1.2.patch
deleted file mode 100644
index ead3ab4e2c..0000000000
--- a/var/spack/repos/builtin/packages/samtools/samtools1.2.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- Makefile 2015-02-03 08:27:34.000000000 -0800
-+++ Makefile.new 2015-07-21 10:38:27.881406892 -0700
-@@ -26,7 +26,7 @@
- CFLAGS = -g -Wall -O2
- LDFLAGS =
- LDLIBS =
--DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_CURSES_LIB=1
-+DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_CURSES_LIB=0
- LOBJS= bam_aux.o bam.o bam_import.o sam.o \
- sam_header.o bam_plbuf.o
- AOBJS= bam_index.o bam_plcmd.o sam_view.o \
-@@ -37,7 +37,7 @@
- faidx.o stats.o stats_isize.o bam_flags.o bam_split.o \
- bam_tview.o bam_tview_curses.o bam_tview_html.o bam_lpileup.o
- INCLUDES= -I. -I$(HTSDIR)
--LIBCURSES= -lcurses # -lXCurses
-+#LIBCURSES= -lcurses # -lXCurses
-
- prefix = /usr/local
- exec_prefix = $(prefix)
diff --git a/var/spack/repos/builtin/packages/tar/gnutar-configure-xattrs.patch b/var/spack/repos/builtin/packages/tar/gnutar-configure-xattrs.patch
new file mode 100644
index 0000000000..e5c183b720
--- /dev/null
+++ b/var/spack/repos/builtin/packages/tar/gnutar-configure-xattrs.patch
@@ -0,0 +1,482 @@
+diff --git a/Makefile.in b/Makefile.in
+index f9f1d1d..b403e46 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+@@ -1583,9 +1583,10 @@ distcheck: dist
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build \
+- && ../configure --srcdir=.. --prefix="$$dc_install_base" \
++ && ../configure \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
++ --srcdir=.. --prefix="$$dc_install_base" \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+diff --git a/aclocal.m4 b/aclocal.m4
+index 0e09589..804c0b3 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -1,4 +1,4 @@
+-# generated automatically by aclocal 1.14 -*- Autoconf -*-
++# generated automatically by aclocal 1.14.1 -*- Autoconf -*-
+
+ # Copyright (C) 1996-2013 Free Software Foundation, Inc.
+
+@@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
+ [am__api_version='1.14'
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+ dnl require some minimum version. Point them to the right macro.
+-m4_if([$1], [1.14], [],
++m4_if([$1], [1.14.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -51,7 +51,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+-[AM_AUTOMAKE_VERSION([1.14])dnl
++[AM_AUTOMAKE_VERSION([1.14.1])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+diff --git a/config.h.in b/config.h.in
+index 6646ea5..8571ef4 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -617,7 +617,7 @@
+ */
+ #undef HAVE_ALLOCA_H
+
+-/* define to 1 if we have <attr/xattr.h> header */
++/* Define to 1 if you have the <attr/xattr.h> header file. */
+ #undef HAVE_ATTR_XATTR_H
+
+ /* Define to 1 if you have the <bp-sym.h> header file. */
+@@ -924,21 +924,12 @@
+ /* Define to 1 if you have the <features.h> header file. */
+ #undef HAVE_FEATURES_H
+
+-/* Define to 1 if you have the `fgetxattr' function. */
+-#undef HAVE_FGETXATTR
+-
+-/* Define to 1 if you have the `flistxattr' function. */
+-#undef HAVE_FLISTXATTR
+-
+ /* Define to 1 if you have the `flockfile' function. */
+ #undef HAVE_FLOCKFILE
+
+ /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
+ #undef HAVE_FSEEKO
+
+-/* Define to 1 if you have the `fsetxattr' function. */
+-#undef HAVE_FSETXATTR
+-
+ /* Define to 1 if you have the `fstatat' function. */
+ #undef HAVE_FSTATAT
+
+@@ -990,9 +981,6 @@
+ /* Define to 1 if you have the `gettimeofday' function. */
+ #undef HAVE_GETTIMEOFDAY
+
+-/* Define to 1 if you have the `getxattr' function. */
+-#undef HAVE_GETXATTR
+-
+ /* Define to 1 if you have the `grantpt' function. */
+ #undef HAVE_GRANTPT
+
+@@ -1045,12 +1033,6 @@
+ /* Define to 1 if you have the `lchown' function. */
+ #undef HAVE_LCHOWN
+
+-/* Define to 1 if you have the `lgetxattr' function. */
+-#undef HAVE_LGETXATTR
+-
+-/* Define to 1 if you have the `attr' library (-lattr). */
+-#undef HAVE_LIBATTR
+-
+ /* Define to 1 if you have the <libgen.h> header file. */
+ #undef HAVE_LIBGEN_H
+
+@@ -1069,12 +1051,6 @@
+ /* Define to 1 if you have the <linux/fd.h> header file. */
+ #undef HAVE_LINUX_FD_H
+
+-/* Define to 1 if you have the `listxattr' function. */
+-#undef HAVE_LISTXATTR
+-
+-/* Define to 1 if you have the `llistxattr' function. */
+-#undef HAVE_LLISTXATTR
+-
+ /* Define to 1 if you have the <locale.h> header file. */
+ #undef HAVE_LOCALE_H
+
+@@ -1087,9 +1063,6 @@
+ /* Define to 1 if the system has the type 'long long int'. */
+ #undef HAVE_LONG_LONG_INT
+
+-/* Define to 1 if you have the `lsetxattr' function. */
+-#undef HAVE_LSETXATTR
+-
+ /* Define to 1 if you have the `lstat' function. */
+ #undef HAVE_LSTAT
+
+@@ -1867,9 +1840,6 @@
+ /* Define to 1 if you have the `setlocale' function. */
+ #undef HAVE_SETLOCALE
+
+-/* Define to 1 if you have the `setxattr' function. */
+-#undef HAVE_SETXATTR
+-
+ /* Define to 1 if you have the <sgtty.h> header file. */
+ #undef HAVE_SGTTY_H
+
+@@ -2074,7 +2044,7 @@
+ /* Define to 1 if you have the <sys/wait.h> header file. */
+ #undef HAVE_SYS_WAIT_H
+
+-/* define to 1 if we have <sys/xattr.h> header */
++/* Define to 1 if you have the <sys/xattr.h> header file. */
+ #undef HAVE_SYS_XATTR_H
+
+ /* Define if struct tm has the tm_gmtoff member. */
+diff --git a/configure b/configure
+index cfdd721..8cf6e91 100755
+--- a/configure
++++ b/configure
+@@ -663,8 +663,6 @@ RSH
+ LIBOBJS
+ TAR_COND_GRANTPT_FALSE
+ TAR_COND_GRANTPT_TRUE
+-TAR_LIB_ATTR_FALSE
+-TAR_LIB_ATTR_TRUE
+ TAR_COND_XATTR_H_FALSE
+ TAR_COND_XATTR_H_TRUE
+ GNULIB_TEST_WARN_CFLAGS
+@@ -34994,41 +34992,6 @@ else
+ TAR_COND_XATTR_H_FALSE=
+ fi
+
+- if false; then
+- TAR_LIB_ATTR_TRUE=
+- TAR_LIB_ATTR_FALSE='#'
+-else
+- TAR_LIB_ATTR_TRUE='#'
+- TAR_LIB_ATTR_FALSE=
+-fi
+-
+- if test "$ac_cv_header_sys_xattr_h" = yes; then
+- for ac_func in getxattr fgetxattr lgetxattr \
+- setxattr fsetxattr lsetxattr \
+- listxattr flistxattr llistxattr
+-do :
+- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+- cat >>confdefs.h <<_ACEOF
+-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-_ACEOF
+- # only when functions are present
+-
+-$as_echo "#define HAVE_SYS_XATTR_H 1" >>confdefs.h
+-
+- if test "$with_xattrs" != no; then
+-
+-$as_echo "#define HAVE_XATTRS /**/" >>confdefs.h
+-
+- fi
+-
+-fi
+-done
+-
+- fi
+-
+- # If <sys/xattr.h> is not found, then check for <attr/xattr.h>
+ if test "$ac_cv_header_sys_xattr_h" != yes; then
+ for ac_header in attr/xattr.h
+ do :
+@@ -35050,13 +35013,20 @@ else
+ TAR_COND_XATTR_H_FALSE=
+ fi
+
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgetxattr in -lattr" >&5
+-$as_echo_n "checking for fgetxattr in -lattr... " >&6; }
+-if ${ac_cv_lib_attr_fgetxattr+:} false; then :
++ fi
++
++ if test "$with_xattrs" != no; then
++ for i in getxattr fgetxattr lgetxattr \
++ setxattr fsetxattr lsetxattr \
++ listxattr flistxattr llistxattr
++ do
++ as_ac_Search=`$as_echo "ac_cv_search_$i" | $as_tr_sh`
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing $i" >&5
++$as_echo_n "checking for library containing $i... " >&6; }
++if eval \${$as_ac_Search+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lattr $LIBS"
++ ac_func_search_save_LIBS=$LIBS
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -35066,67 +35036,56 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ #ifdef __cplusplus
+ extern "C"
+ #endif
+-char fgetxattr ();
++char $i ();
+ int
+ main ()
+ {
+-return fgetxattr ();
++return $i ();
+ ;
+ return 0;
+ }
+ _ACEOF
+-if ac_fn_c_try_link "$LINENO"; then :
+- ac_cv_lib_attr_fgetxattr=yes
+-else
+- ac_cv_lib_attr_fgetxattr=no
++for ac_lib in '' attr; do
++ if test -z "$ac_lib"; then
++ ac_res="none required"
++ else
++ ac_res=-l$ac_lib
++ LIBS="-l$ac_lib $ac_func_search_save_LIBS"
++ fi
++ if ac_fn_c_try_link "$LINENO"; then :
++ eval "$as_ac_Search=\$ac_res"
+ fi
+ rm -f core conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_attr_fgetxattr" >&5
+-$as_echo "$ac_cv_lib_attr_fgetxattr" >&6; }
+-if test "x$ac_cv_lib_attr_fgetxattr" = xyes; then :
+- cat >>confdefs.h <<_ACEOF
+-#define HAVE_LIBATTR 1
+-_ACEOF
+-
+- LIBS="-lattr $LIBS"
+-
++ conftest$ac_exeext
++ if eval \${$as_ac_Search+:} false; then :
++ break
+ fi
++done
++if eval \${$as_ac_Search+:} false; then :
+
+- if test "$ac_cv_lib_attr_fgetxattr" = yes; then
+- TAR_LIB_ATTR_TRUE=
+- TAR_LIB_ATTR_FALSE='#'
+ else
+- TAR_LIB_ATTR_TRUE='#'
+- TAR_LIB_ATTR_FALSE=
++ eval "$as_ac_Search=no"
++fi
++rm conftest.$ac_ext
++LIBS=$ac_func_search_save_LIBS
+ fi
++eval ac_res=\$$as_ac_Search
++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++$as_echo "$ac_res" >&6; }
++eval ac_res=\$$as_ac_Search
++if test "$ac_res" != no; then :
++ test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+- if test "$ac_cv_header_attr_xattr_h" = yes; then
+- for ac_func in getxattr fgetxattr lgetxattr \
+- setxattr fsetxattr lsetxattr \
+- listxattr flistxattr llistxattr
+-do :
+- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+- cat >>confdefs.h <<_ACEOF
+-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+-_ACEOF
+- # only when functions are present
++fi
+
+-$as_echo "#define HAVE_ATTR_XATTR_H 1" >>confdefs.h
++ eval found=\$ac_cv_search_$i
++ test "$found" = "no" && break
++ done
+
+- if test "$with_xattrs" != no; then
++ if test "$found" != no; then
+
+ $as_echo "#define HAVE_XATTRS /**/" >>confdefs.h
+
+- fi
+-
+-fi
+-done
+-
+ fi
+ fi
+
+@@ -38187,18 +38146,10 @@ if test -z "${TAR_COND_XATTR_H_TRUE}" && test -z "${TAR_COND_XATTR_H_FALSE}"; th
+ as_fn_error $? "conditional \"TAR_COND_XATTR_H\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+-if test -z "${TAR_LIB_ATTR_TRUE}" && test -z "${TAR_LIB_ATTR_FALSE}"; then
+- as_fn_error $? "conditional \"TAR_LIB_ATTR\" was never defined.
+-Usually this means the macro was only invoked conditionally." "$LINENO" 5
+-fi
+ if test -z "${TAR_COND_XATTR_H_TRUE}" && test -z "${TAR_COND_XATTR_H_FALSE}"; then
+ as_fn_error $? "conditional \"TAR_COND_XATTR_H\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ fi
+-if test -z "${TAR_LIB_ATTR_TRUE}" && test -z "${TAR_LIB_ATTR_FALSE}"; then
+- as_fn_error $? "conditional \"TAR_LIB_ATTR\" was never defined.
+-Usually this means the macro was only invoked conditionally." "$LINENO" 5
+-fi
+ if test -z "${TAR_COND_GRANTPT_TRUE}" && test -z "${TAR_COND_GRANTPT_FALSE}"; then
+ as_fn_error $? "conditional \"TAR_COND_GRANTPT\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+diff --git a/doc/Makefile.in b/doc/Makefile.in
+index ca44f1a..42a06b3 100644
+--- a/doc/Makefile.in
++++ b/doc/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/gnu/Makefile.in b/gnu/Makefile.in
+index 03eed58..d908a03 100644
+--- a/gnu/Makefile.in
++++ b/gnu/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/lib/Makefile.in b/lib/Makefile.in
+index 41a9aca..1254b8f 100644
+--- a/lib/Makefile.in
++++ b/lib/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/rmt/Makefile.in b/rmt/Makefile.in
+index c3f2509..0f3dca4 100644
+--- a/rmt/Makefile.in
++++ b/rmt/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/scripts/Makefile.in b/scripts/Makefile.in
+index 57c0d0d..bf344ed 100644
+--- a/scripts/Makefile.in
++++ b/scripts/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/src/Makefile.in b/src/Makefile.in
+index 6f9a592..fc6fc87 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+@@ -99,7 +99,6 @@ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+ bin_PROGRAMS = tar$(EXEEXT)
+-@TAR_LIB_ATTR_TRUE@am__append_1 = -lattr
+ subdir = src
+ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/build-aux/depcomp $(noinst_HEADERS)
+@@ -254,7 +253,7 @@ am__DEPENDENCIES_2 = ../lib/libtar.a ../gnu/libgnu.a \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+ tar_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
++ $(am__DEPENDENCIES_1)
+ AM_V_P = $(am__v_P_@AM_V@)
+ am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+ am__v_P_0 = false
+@@ -1225,8 +1224,7 @@ tar_SOURCES = \
+ AM_CPPFLAGS = -I$(top_srcdir)/gnu -I../ -I../gnu -I$(top_srcdir)/lib -I../lib
+ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
+ LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV)
+-tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) \
+- $(LIB_SELINUX) $(am__append_1)
++tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/tests/Makefile.in b/tests/Makefile.in
+index 6807509..50d7689 100644
+--- a/tests/Makefile.in
++++ b/tests/Makefile.in
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.14 from Makefile.am.
++# Makefile.in generated by automake 1.14.1 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994-2013 Free Software Foundation, Inc.
+diff --git a/lib/xattr-at.c b/lib/xattr-at.c
+index 443ccae..009bde5 100644
+--- a/lib/xattr-at.c
++++ b/lib/xattr-at.c
+@@ -18,6 +18,11 @@
+
+ #include <config.h>
+
++/* Temporarily don't build. We are unable to build on (probably not only)
++ darwin due to lack of l*xattr callbacks (XATTR_NOFOLLOW is alternative) and
++ different function definitions. */
++#ifdef HAVE_XATTRS
++
+ #include "xattr-at.h"
+ #include "openat.h"
+
+@@ -108,3 +113,5 @@
+ #undef AT_FUNC_RESULT
+ #undef AT_FUNC_POST_FILE_PARAM_DECLS
+ #undef AT_FUNC_POST_FILE_ARGS
++
++#endif
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 82b2d46..42daaef 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -52,7 +52,3 @@ AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
+ LDADD = ../lib/libtar.a ../gnu/libgnu.a $(LIBINTL) $(LIBICONV)
+
+ tar_LDADD = $(LIBS) $(LDADD) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS) $(LIB_SELINUX)
+-
+-if TAR_LIB_ATTR
+-tar_LDADD += -lattr
+-endif
+--
+1.9.3 \ No newline at end of file
diff --git a/var/spack/repos/builtin/packages/tar/package.py b/var/spack/repos/builtin/packages/tar/package.py
index c55b5165bf..4dce0e5be1 100644
--- a/var/spack/repos/builtin/packages/tar/package.py
+++ b/var/spack/repos/builtin/packages/tar/package.py
@@ -23,14 +23,24 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
from spack import *
+import sys
+import os
+
class Tar(Package):
- """GNU Tar provides the ability to create tar archives, as well as various other kinds of manipulation."""
+ """GNU Tar provides the ability to create tar archives, as well as various
+ other kinds of manipulation."""
homepage = "https://www.gnu.org/software/tar/"
- url = "http://ftp.gnu.org/gnu/tar/tar-1.28.tar.gz"
+ url = "https://ftp.gnu.org/gnu/tar/tar-1.28.tar.gz"
+ version('1.29', 'cae466e6e58c7292355e7080248f244db3a4cf755f33f4fa25ca7f9a7ed09af0')
version('1.28', '6ea3dbea1f2b0409b234048e021a9fd7')
+ # see http://lists.gnu.org/archive/html/bug-tar/2014-08/msg00001.html and
+ # https://github.com/Homebrew/homebrew-core/commit/aef9a1792de4648d0322b4b04d32287532f046bb # NOQA: ignore=E501
+ # TODO: when=sys.platform=='darwin' ?
+ patch('gnutar-configure-xattrs.patch', when='@1.28')
+
def install(self, spec, prefix):
configure("--prefix=%s" % prefix)
make()