From c56f03a3baab7d851b555ffd6ef161747b423d74 Mon Sep 17 00:00:00 2001
From: Glenn Johnson <glenn-johnson@uiowa.edu>
Date: Sun, 29 Sep 2019 09:27:42 -0500
Subject: [PATCH] The perl-uri-escape package duplicates perl-uri (#12971)

* The perl-uri-escape package duplicates perl-uri

The Perl URI::Escape module is in the Perl URI package so the Spack
perl-uri-escape package is a duplicate of the perl-uri package. This PR
does the following:

- replace `depends_on('perl-uri-escape')` with `depends_on('perl-uri')`
  in packages that dependend on perl-uri-escape
- add the version from perl-uri-escape to perl-uri
- remove the unneeded dependency from perl-uri
- remove the perl-uri-escape package

* Reinstated perl-test-needs dependency

Put the perl-test-needs dependency for perl-uri back in but set it to
type='test'.

* For tests to succeed the type must be ('build', 'test')
---
 .../packages/perl-star-fusion/package.py      |  2 +-
 .../packages/perl-uri-escape/package.py       | 20 -------------------
 .../builtin/packages/perl-uri/package.py      |  3 ++-
 .../builtin/packages/transdecoder/package.py  |  2 +-
 .../repos/builtin/packages/trinity/package.py |  2 +-
 .../repos/builtin/packages/xios/package.py    |  2 +-
 6 files changed, 6 insertions(+), 25 deletions(-)
 delete mode 100644 var/spack/repos/builtin/packages/perl-uri-escape/package.py

diff --git a/var/spack/repos/builtin/packages/perl-star-fusion/package.py b/var/spack/repos/builtin/packages/perl-star-fusion/package.py
index 762dee3c61..ccab3095ad 100644
--- a/var/spack/repos/builtin/packages/perl-star-fusion/package.py
+++ b/var/spack/repos/builtin/packages/perl-star-fusion/package.py
@@ -26,7 +26,7 @@ class PerlStarFusion(Package):
     depends_on('perl-intervaltree', type=('build', 'run'))
     depends_on('perl-dbi', type=('build', 'run'))
     depends_on('perl-dbfile', type=('build', 'run'))
-    depends_on('perl-uri-escape', type=('build', 'run'))
+    depends_on('perl-uri', type=('build', 'run'))
 
     def install(self, spec, prefix):
         mkdirp(prefix.bin)
diff --git a/var/spack/repos/builtin/packages/perl-uri-escape/package.py b/var/spack/repos/builtin/packages/perl-uri-escape/package.py
deleted file mode 100644
index 2876bfb0a0..0000000000
--- a/var/spack/repos/builtin/packages/perl-uri-escape/package.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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 PerlUriEscape(PerlPackage):
-    """This module provides functions to percent-encode and percent-decode URI
-    strings as defined by RFC 3986. Percent-encoding URI's is informally called
-    "URI escaping". This is the terminology used by this module, which predates
-    the formalization of the terms by the RFC by several years."""
-
-    homepage = "https://metacpan.org/pod/URI::Escape"
-    url      = "https://cpan.metacpan.org/authors/id/E/ET/ETHER/URI-1.71.tar.gz"
-
-    version('1.71', '247c3da29a794f72730e01aa5a715daf')
-
-    depends_on('perl-extutils-makemaker', type='build')
diff --git a/var/spack/repos/builtin/packages/perl-uri/package.py b/var/spack/repos/builtin/packages/perl-uri/package.py
index bd96a33eec..ddcb5ed5cf 100644
--- a/var/spack/repos/builtin/packages/perl-uri/package.py
+++ b/var/spack/repos/builtin/packages/perl-uri/package.py
@@ -13,5 +13,6 @@ class PerlUri(PerlPackage):
     url      = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/URI-1.72.tar.gz"
 
     version('1.72', 'cd56d81ed429efaa97e7f3ff08851b48')
+    version('1.71', '247c3da29a794f72730e01aa5a715daf')
 
-    depends_on('perl-test-needs', type=('build', 'run'))
+    depends_on('perl-test-needs', type=('build', 'test'))
diff --git a/var/spack/repos/builtin/packages/transdecoder/package.py b/var/spack/repos/builtin/packages/transdecoder/package.py
index f3b3c92541..26cb4f8f71 100644
--- a/var/spack/repos/builtin/packages/transdecoder/package.py
+++ b/var/spack/repos/builtin/packages/transdecoder/package.py
@@ -20,7 +20,7 @@ class Transdecoder(MakefilePackage):
             url='https://github.com/TransDecoder/TransDecoder/archive/v3.0.1.tar.gz')
 
     depends_on('perl', type=('build', 'run'))
-    depends_on('perl-uri-escape', type='run')
+    depends_on('perl-uri', type='run')
 
     def install(self, spec, prefix):
         mkdirp(prefix.util)
diff --git a/var/spack/repos/builtin/packages/trinity/package.py b/var/spack/repos/builtin/packages/trinity/package.py
index 4440c0ec54..3bfb35b61e 100644
--- a/var/spack/repos/builtin/packages/trinity/package.py
+++ b/var/spack/repos/builtin/packages/trinity/package.py
@@ -53,7 +53,7 @@ class Trinity(MakefilePackage):
     depends_on("py-numpy", type="run")
     depends_on("express", type="run")
     depends_on("perl-dbfile", type="run")
-    depends_on("perl-uri-escape", type="run")
+    depends_on("perl-uri", type="run")
     depends_on("r-fastcluster", type="run")
     depends_on("r-ctc", type="run")
     depends_on("r-goseq", type="run")
diff --git a/var/spack/repos/builtin/packages/xios/package.py b/var/spack/repos/builtin/packages/xios/package.py
index 74649095ff..799bdc03d7 100644
--- a/var/spack/repos/builtin/packages/xios/package.py
+++ b/var/spack/repos/builtin/packages/xios/package.py
@@ -37,7 +37,7 @@ class Xios(Package):
     depends_on('boost')
     depends_on('blitz')
     depends_on('perl', type='build')
-    depends_on('perl-uri-escape', type='build')
+    depends_on('perl-uri', type='build')
     depends_on('gmake', type='build')
 
     @when('%clang')
-- 
GitLab