From 7cc11debdd20947e19ef3c390267d1b9dbe8ea91 Mon Sep 17 00:00:00 2001
From: Sergey Kosukhin <skosukhin@gmail.com>
Date: Mon, 6 Aug 2018 17:43:26 +0200
Subject: Libtool: version 'develop' (#8894)

* libtool: add version 'develop'.

* libtool: patch: correct parsing of compiler output when collecting predeps and postdeps.
---
 .../repos/builtin/packages/libtool/flag_space.patch   | 19 +++++++++++++++++++
 var/spack/repos/builtin/packages/libtool/package.py   | 15 +++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 var/spack/repos/builtin/packages/libtool/flag_space.patch

diff --git a/var/spack/repos/builtin/packages/libtool/flag_space.patch b/var/spack/repos/builtin/packages/libtool/flag_space.patch
new file mode 100644
index 0000000000..4ec1fc8c98
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libtool/flag_space.patch
@@ -0,0 +1,19 @@
+diff --git a/m4/libtool.m4 b/m4/libtool.m4
+index b55a6e57..26febc87 100644
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -7557,10 +7557,11 @@ if AC_TRY_EVAL(ac_compile); then
+     case $prev$p in
+ 
+     -L* | -R* | -l*)
+-       # Some compilers place space between "-{L,R}" and the path.
++       # Some compilers place space between "-{L,R,l}" and the path (value).
+        # Remove the space.
+-       if test x-L = "$p" ||
+-          test x-R = "$p"; then
++       if test x-L = x"$p" ||
++          test x-R = x"$p" ||
++          test x-l = x"$p"; then
+ 	 prev=$p
+ 	 continue
+        fi
diff --git a/var/spack/repos/builtin/packages/libtool/package.py b/var/spack/repos/builtin/packages/libtool/package.py
index 98be32a601..e6477fb3b3 100644
--- a/var/spack/repos/builtin/packages/libtool/package.py
+++ b/var/spack/repos/builtin/packages/libtool/package.py
@@ -31,13 +31,28 @@ class Libtool(AutotoolsPackage):
     homepage = 'https://www.gnu.org/software/libtool/'
     url = 'http://ftpmirror.gnu.org/libtool/libtool-2.4.2.tar.gz'
 
+    version('develop', git='https://git.savannah.gnu.org/git/libtool.git',
+            branch='master')
     version('2.4.6', 'addf44b646ddb4e3919805aa88fa7c5e')
     version('2.4.2', 'd2f3b7d4627e69e13514a40e72a24d50')
 
     depends_on('m4@1.4.6:', type='build')
+    depends_on('autoconf', type='build', when='@develop')
+    depends_on('automake', type='build', when='@develop')
+    depends_on('help2man', type='build', when='@develop')
+    depends_on('xz', type='build', when='@develop')
+    depends_on('texinfo', type='build', when='@develop')
+
+    # Fix parsing of compiler output when collecting predeps and postdeps
+    # http://lists.gnu.org/archive/html/bug-libtool/2016-03/msg00003.html
+    patch('flag_space.patch', when='@develop')
 
     build_directory = 'spack-build'
 
+    @when('@develop')
+    def autoreconf(self, spec, prefix):
+        Executable('./bootstrap')()
+
     def _make_executable(self, name):
         return Executable(join_path(self.prefix.bin, name))
 
-- 
cgit v1.2.3-70-g09d2