From eae9b0908af0e6bc8582f660a20d02b88a808d94 Mon Sep 17 00:00:00 2001
From: Leonhard Reichenbach <Zehvogel@users.noreply.github.com>
Date: Wed, 15 May 2019 19:07:31 +0200
Subject: [PATCH] CMake package: add dependencies (#11257)

Add dependencies to CMake and GnuTLS which would otherwise be
picked up from the system

* Add gnutls as explicit dependency of CMake
* Add new package libidn2 as explicit dependency for gnutls
---
 .../repos/builtin/packages/cmake/package.py   |  1 +
 .../repos/builtin/packages/gnutls/package.py  |  4 ++-
 .../repos/builtin/packages/libidn2/package.py | 25 +++++++++++++++++++
 3 files changed, 29 insertions(+), 1 deletion(-)
 create mode 100644 var/spack/repos/builtin/packages/libidn2/package.py

diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index c73e22f1d4..9258add509 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -82,6 +82,7 @@ class Cmake(Package):
     depends_on('openssl', when='+openssl')
     depends_on('openssl@:1.0.99', when='@:3.6.9+openssl')
     depends_on('ncurses',        when='+ncurses')
+    depends_on('gnutls')
 
     # Cannot build with Intel, should be fixed in 3.6.2
     # https://gitlab.kitware.com/cmake/cmake/issues/16226
diff --git a/var/spack/repos/builtin/packages/gnutls/package.py b/var/spack/repos/builtin/packages/gnutls/package.py
index d5013d3f8c..f73b0b1daf 100644
--- a/var/spack/repos/builtin/packages/gnutls/package.py
+++ b/var/spack/repos/builtin/packages/gnutls/package.py
@@ -15,8 +15,9 @@ class Gnutls(AutotoolsPackage):
     and efficient with focus on security and interoperability."""
 
     homepage = "http://www.gnutls.org"
-    url      = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.13.tar.xz"
+    url      = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-3.5.19.tar.xz"
 
+    version('3.5.19', sha256='1936eb64f03aaefd6eb16cef0567457777618573826b94d03376bb6a4afadc44')
     version('3.5.13', '4fd41ad86572933c2379b4cc321a0959')
     version('3.5.10', '336c03a71ba90184ffd0388075dde504')
     version('3.5.9',  '0ab25eb6a1509345dd085bc21a387951')
@@ -27,6 +28,7 @@ class Gnutls(AutotoolsPackage):
     # Note that version 3.3.9 of gnutls doesn't support nettle 3.0.
     depends_on('nettle@:2.9', when='@3.3.9')
     depends_on('nettle', when='@3.5:')
+    depends_on('libidn2@:2.0.99', when='@:3.5.99')
     depends_on('zlib', when='+zlib')
     depends_on('gettext')
 
diff --git a/var/spack/repos/builtin/packages/libidn2/package.py b/var/spack/repos/builtin/packages/libidn2/package.py
new file mode 100644
index 0000000000..f6bf213297
--- /dev/null
+++ b/var/spack/repos/builtin/packages/libidn2/package.py
@@ -0,0 +1,25 @@
+# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+from spack import *
+
+
+class Libidn2(AutotoolsPackage):
+    """Libidn2 is a free software implementation of IDNA2008, Punycode and
+    TR46. Its purpose is to encode and decode internationalized domain
+    names."""
+
+    homepage = "https://gitlab.com/libidn/libidn2"
+    url      = "https://ftp.gnu.org/gnu/libidn/libidn2-2.0.5.tar.gz"
+
+    version('2.1.1a', sha256='57666bcf6ecf54230d7bac95c392379561954b57a673903aed4d3336b3048b72')
+    version('2.1.1',  sha256='95416080329298a13269e13175041b530cec3d98b54cafae9424b8dfd22078b1')
+    version('2.1.0',  sha256='032398dbaa9537af43f51a8d94e967e3718848547b1b2a4eb3138b20cad11d32')
+    version('2.0.5',  sha256='53f69170886f1fa6fa5b332439c7a77a7d22626a82ef17e2c1224858bb4ca2b8')
+
+    depends_on('libunistring')
+
+    # in-source build fails
+    build_directory = 'spack-build'
-- 
GitLab