From 64194a823af1e54951bb67d5d354b4a91d90bc86 Mon Sep 17 00:00:00 2001
From: "Adam J. Stewart" <ajstewart426@gmail.com>
Date: Fri, 23 Sep 2016 16:16:59 -0500
Subject: [PATCH] Remove duplicate ICU package (#1837)

* Remove duplicate ICU package

* Ignore deleted files during flake8 tests

* Rename Boost ICU variant
---
 share/spack/qa/changed_files                  |  6 +--
 var/spack/repos/builtin/packages/R/package.py |  2 +-
 .../repos/builtin/packages/boost/package.py   |  6 +--
 .../builtin/packages/harfbuzz/package.py      |  2 +-
 .../repos/builtin/packages/icu/package.py     | 48 -------------------
 .../repos/builtin/packages/icu4c/package.py   | 16 +++----
 .../builtin/packages/r-stringi/package.py     |  2 +-
 7 files changed, 17 insertions(+), 65 deletions(-)
 delete mode 100644 var/spack/repos/builtin/packages/icu/package.py

diff --git a/share/spack/qa/changed_files b/share/spack/qa/changed_files
index 9c60b3b20b..c1fa55c053 100755
--- a/share/spack/qa/changed_files
+++ b/share/spack/qa/changed_files
@@ -18,11 +18,11 @@ SPACK_ROOT="$(dirname "$0")/../../.."
 cd "$SPACK_ROOT"
 
 # Add changed files that have been committed since branching off of develop
-changed=($(git diff --name-only --find-renames develop... -- "$@"))
+changed=($(git diff --name-only --diff-filter=ACMR develop... -- "$@"))
 # Add changed files that have been staged but not yet committed
-changed+=($(git diff --name-only --find-renames --cached -- "$@"))
+changed+=($(git diff --name-only --diff-filter=ACMR --cached -- "$@"))
 # Add changed files that are unstaged
-changed+=($(git diff --name-only --find-renames -- "$@"))
+changed+=($(git diff --name-only --diff-filter=ACMR -- "$@"))
 # Add new files that are untracked
 changed+=($(git ls-files --exclude-standard --other -- "$@"))
 
diff --git a/var/spack/repos/builtin/packages/R/package.py b/var/spack/repos/builtin/packages/R/package.py
index e880a3aa66..a0899084d0 100644
--- a/var/spack/repos/builtin/packages/R/package.py
+++ b/var/spack/repos/builtin/packages/R/package.py
@@ -58,7 +58,7 @@ class R(Package):
     # Concrete dependencies
     depends_on('readline')
     depends_on('ncurses')
-    depends_on('icu')
+    depends_on('icu4c')
     depends_on('glib')
     depends_on('zlib')
     depends_on('bzip2')
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 2b78dbd858..49fbd09775 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -111,12 +111,12 @@ class Boost(Package):
             description="Build multi-threaded versions of libraries")
     variant('singlethreaded', default=True,
             description="Build single-threaded versions of libraries")
-    variant('icu_support', default=False,
-            description="Include ICU support (for regex/locale libraries)")
+    variant('icu', default=False,
+            description="Build with Unicode and ICU suport")
     variant('graph', default=False,
             description="Build the Boost Graph library")
 
-    depends_on('icu', when='+icu_support')
+    depends_on('icu4c', when='+icu')
     depends_on('python', when='+python')
     depends_on('mpi', when='+mpi')
     depends_on('bzip2', when='+iostreams')
diff --git a/var/spack/repos/builtin/packages/harfbuzz/package.py b/var/spack/repos/builtin/packages/harfbuzz/package.py
index f8d73d651b..c8b4c7e645 100644
--- a/var/spack/repos/builtin/packages/harfbuzz/package.py
+++ b/var/spack/repos/builtin/packages/harfbuzz/package.py
@@ -33,7 +33,7 @@ class Harfbuzz(Package):
     version('0.9.37', 'bfe733250e34629a188d82e3b971bc1e')
 
     depends_on("glib")
-    depends_on("icu")
+    depends_on("icu4c")
     depends_on("freetype")
     depends_on("cairo")
     depends_on("zlib")
diff --git a/var/spack/repos/builtin/packages/icu/package.py b/var/spack/repos/builtin/packages/icu/package.py
deleted file mode 100644
index bf24067879..0000000000
--- a/var/spack/repos/builtin/packages/icu/package.py
+++ /dev/null
@@ -1,48 +0,0 @@
-##############################################################################
-# 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 Icu(Package):
-    """The International Components for Unicode (ICU) package is a
-       mature, widely used set of C/C++ libraries providing Unicode and
-       Globalization support for software applications. ICU is widely
-       portable and gives applications the same results on all
-       platforms."""
-
-    homepage = "http://site.icu-project.org/"
-    url      = "http://download.icu-project.org/files/icu4c/54.1/icu4c-54_1-src.tgz"
-
-    version('54.1', 'e844caed8f2ca24c088505b0d6271bc0')
-
-    def url_for_version(self, version):
-        return "http://download.icu-project.org/files/icu4c/%s/icu4c-%s-src.tgz" % (
-            version, str(version).replace('.', '_'))
-
-    def install(self, spec, prefix):
-        with working_dir("source"):
-            configure("--prefix=%s" % prefix)
-            make()
-            make("install")
diff --git a/var/spack/repos/builtin/packages/icu4c/package.py b/var/spack/repos/builtin/packages/icu4c/package.py
index 615c59f92d..848ebfdeac 100644
--- a/var/spack/repos/builtin/packages/icu4c/package.py
+++ b/var/spack/repos/builtin/packages/icu4c/package.py
@@ -27,8 +27,9 @@
 
 class Icu4c(Package):
     """ICU is a mature, widely used set of C/C++ and Java libraries providing
-       Unicode and Globalization support for software applications.
-    """
+    Unicode and Globalization support for software applications. ICU4C is the
+    C/C++ interface."""
+
     homepage = "http://site.icu-project.org/"
     url      = "http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz"
 
@@ -40,10 +41,9 @@ def url_for_version(self, version):
             base_url, version, version.underscored)
 
     def install(self, spec, prefix):
-        cd('source')
-
-        configure('--prefix={0}'.format(prefix))
+        with working_dir('source'):
+            configure('--prefix={0}'.format(prefix))
 
-        make()
-        make('check')
-        make('install')
+            make()
+            make('check')
+            make('install')
diff --git a/var/spack/repos/builtin/packages/r-stringi/package.py b/var/spack/repos/builtin/packages/r-stringi/package.py
index 22774dedec..cc57caf8cd 100644
--- a/var/spack/repos/builtin/packages/r-stringi/package.py
+++ b/var/spack/repos/builtin/packages/r-stringi/package.py
@@ -44,7 +44,7 @@ class RStringi(Package):
 
     extends('R')
 
-    depends_on('icu')
+    depends_on('icu4c')
 
     def install(self, spec, prefix):
         R('CMD', 'INSTALL', '--library={0}'.format(self.module.r_lib_dir),
-- 
GitLab