From e50dc846a553f16183255baba5a1c9f207fb963b Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Wed, 3 May 2017 10:59:37 +0200 Subject: [PATCH] =?UTF-8?q?Get=20ICU=C2=A0source=20from=20SVN=20instead=20?= =?UTF-8?q?of=20Release=20archive.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ICU doesn't provide data sources in their release archives but directly pre-compiled data. As we need to compile ourselves our data to remove unwanted data, we need to get the sources directly from the SVN. --- dependencies.py | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/dependencies.py b/dependencies.py index 668ac2e..911575a 100644 --- a/dependencies.py +++ b/dependencies.py @@ -5,6 +5,7 @@ from dependency_utils import ( Dependency, ReleaseDownload, GitClone, + SvnClone, MakeBuilder, CMakeBuilder, MesonBuilder, @@ -175,34 +176,16 @@ class MicroHttpd(Dependency): class Icu(Dependency): name = "icu4c" - version = "58_2" + version = "58.2" - class Source(ReleaseDownload): + class Source(SvnClone): name = "icu4c" + svn_remote = "http://source.icu-project.org/repos/icu/tags/release-58-2/icu4c" + svn_dir = "icu4c" - @property - def source_dir(self): - return "{}-{}".format(self.name, self.target.version) - - archive = Remotefile('icu4c-58_2-src.tgz', - '2b0a4410153a9b20de0e20c7d8b66049a72aef244b53683d0d7521371683da0c', - 'https://freefr.dl.sourceforge.net/project/icu/ICU4C/58.2/icu4c-58_2-src.tgz') patches = ["icu4c_fix_static_lib_name_mingw.patch", "icu4c_android_elf64_st_info.patch"] - data = Remotefile('icudt56l.dat', - 'e23d85eee008f335fc49e8ef37b1bc2b222db105476111e3d16f0007d371cbca') - def _download_data(self, context): - self.buildEnv.download(self.data) - - def _copy_data(self, context): - context.try_skip(self.extract_path) - shutil.copyfile(pj(self.buildEnv.archive_dir, self.data.name), pj(self.extract_path, 'source', 'data', 'in', self.data.name)) - - def prepare(self): - super().prepare() - self.command("download_data", self._download_data) - self.command("copy_data", self._copy_data) class Builder(MakeBuilder): subsource_dir = "source"