Update the icu4c package (#14450)

* Update the icu4c package

This PR makes several changes to the icu4c package

1. add updated version to 65.1
2. modify the default url as project has moved to github
3. set UTF-8 locale to support building from source files in UTF-8
format

Note that the older versions are not available on github so explicit urls
were used. This PR will close #14399.

* Consolidate the urls

Consolidate the URLs in the `version` directives by using an if test in
`url_for_version`.

* Put version and sha256 on same line

* Put top level url back
This commit is contained in:
Glenn Johnson 2020-01-14 22:05:55 -06:00 committed by Adam J. Stewart
parent 9f6ac938b7
commit e7add79cba

View File

@ -12,10 +12,9 @@ class Icu4c(AutotoolsPackage):
C/C++ interface."""
homepage = "http://site.icu-project.org/"
url = "http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz"
list_url = "http://download.icu-project.org/files/icu4c"
list_depth = 2
url = "https://github.com/unicode-org/icu/releases/download/release-65-1/icu4c-65_1-src.tgz"
version('65.1', sha256='53e37466b3d6d6d01ead029e3567d873a43a5d1c668ed2278e253b683136d948')
version('64.1', sha256='92f1b7b9d51b396679c17f35a2112423361b8da3c1b9de00aa94fd768ae296e6')
version('60.1', sha256='f8f5a6c8fbf32c015a467972bdb1477dc5f5d5dfea908b6ed218715eeb5ee225')
version('58.2', sha256='2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c')
@ -35,8 +34,12 @@ class Icu4c(AutotoolsPackage):
configure_directory = 'source'
def url_for_version(self, version):
url = "http://download.icu-project.org/files/icu4c/{0}/icu4c-{1}-src.tgz"
return url.format(version.dotted, version.underscored)
if version >= Version('65'):
url = "https://github.com/unicode-org/icu/releases/download/release-{0}/icu4c-{1}-src.tgz"
return url.format(version.dashed, version.underscored)
else:
url = "http://download.icu-project.org/files/icu4c/{0}/icu4c-{1}-src.tgz"
return url.format(version.dotted, version.underscored)
def flag_handler(self, name, flags):
if name == 'cxxflags':
@ -47,6 +50,12 @@ def flag_handler(self, name, flags):
self.spec.variants['cxxstd'].value)))
return (None, flags, None)
# Need to make sure that locale is UTF-8 in order to process source
# files in UTF-8.
@when('@59:')
def setup_build_environment(self, env):
env.set('LC_ALL', 'en_US.UTF-8')
def configure_args(self):
args = []