From ccea7d82385517f1fe4ca85b8c39317f91a1d97c Mon Sep 17 00:00:00 2001 From: Tony Theodore Date: Mon, 21 Oct 2019 16:15:10 +1100 Subject: [PATCH] icu4c: update 56.1 --> 65.1 and modernise - autoreconf and patch no longer required - use GH_CONF - separate native build - use $($(PKG)_CONFIGURE_OPTS) replaces #2361 and #2191 --- src/icu4c-1-fixes.patch | 23 ---------------------- src/icu4c.mk | 43 +++++++++++++++++++++++------------------ 2 files changed, 24 insertions(+), 42 deletions(-) delete mode 100644 src/icu4c-1-fixes.patch diff --git a/src/icu4c-1-fixes.patch b/src/icu4c-1-fixes.patch deleted file mode 100644 index 17c5034b..00000000 --- a/src/icu4c-1-fixes.patch +++ /dev/null @@ -1,23 +0,0 @@ -This file is part of MXE. See LICENSE.md for licensing information. - -Contains ad hoc patches for cross building. - -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: "fix@me" -Date: Fri, 24 May 2013 23:44:41 +1000 -Subject: [PATCH 1/1] fixes for static cross-build - - -diff --git a/source/config/icu.pc.in b/source/config/icu.pc.in -index 1111111..2222222 100644 ---- a/source/config/icu.pc.in -+++ b/source/config/icu.pc.in -@@ -11,7 +11,7 @@ exec_prefix = @exec_prefix@ - #bindir = @bindir@ - libdir = @libdir@ - includedir = @includedir@ --baselibs = @LIBS@ -+baselibs = @LIBS@ -lstdc++ - #datarootdir = @datarootdir@ - #datadir = @datadir@ - #sbindir = @sbindir@ diff --git a/src/icu4c.mk b/src/icu4c.mk index 33ecf0f3..133bffcb 100644 --- a/src/icu4c.mk +++ b/src/icu4c.mk @@ -4,35 +4,40 @@ PKG := icu4c $(PKG)_WEBSITE := https://github.com/unicode-org/icu $(PKG)_DESCR := ICU4C $(PKG)_IGNORE := -$(PKG)_VERSION := 56.1 +$(PKG)_VERSION := 65.1 $(PKG)_MAJOR := $(word 1,$(subst ., ,$($(PKG)_VERSION))) -$(PKG)_CHECKSUM := 3a64e9105c734dcf631c0b3ed60404531bce6c0f5a64bfe1a6402a4cc2314816 +$(PKG)_CHECKSUM := 53e37466b3d6d6d01ead029e3567d873a43a5d1c668ed2278e253b683136d948 +$(PKG)_GH_CONF := unicode-org/icu/releases/latest,release-,,,- $(PKG)_SUBDIR := icu -$(PKG)_FILE := $(PKG)-$(subst .,_,$($(PKG)_VERSION))-src.tgz -$(PKG)_URL := https://sourceforge.net/projects/icu/files/ICU4C/$($(PKG)_VERSION)/$($(PKG)_FILE) -$(PKG)_DEPS := cc +$(PKG)_URL := $($(PKG)_WEBSITE)/releases/download/release-$(subst .,-,$($(PKG)_VERSION))/icu4c-$(subst .,_,$($(PKG)_VERSION))-src.tgz +$(PKG)_DEPS := cc $(BUILD)~$(PKG) -define $(PKG)_UPDATE - $(WGET) -q -O- 'https://sourceforge.net/projects/icu/files/ICU4C/' | \ - $(SED) -n 's,.*/projects/.*/.*/.*/\([0-9]\+[^"]*\)/".*,\1,p' | \ - $(SORT) -Vr | \ - head -1 +$(PKG)_TARGETS := $(BUILD) $(MXE_TARGETS) +$(PKG)_DEPS_$(BUILD) := + +define $(PKG)_BUILD_$(BUILD) + # cross build requires artefacts from native build tree + rm -rf '$(PREFIX)/$(BUILD)/$(PKG)' + $(INSTALL) -d '$(PREFIX)/$(BUILD)/$(PKG)' + cd '$(PREFIX)/$(BUILD)/$(PKG)' && '$(SOURCE_DIR)/source/configure' \ + CC=$(BUILD_CC) \ + CXX=$(BUILD_CXX) \ + --enable-tests=no \ + --enable-samples=no + $(MAKE) -C '$(PREFIX)/$(BUILD)/$(PKG)' -j '$(JOBS)' endef define $(PKG)_BUILD_COMMON - cd '$(1)/source' && autoreconf -fi - mkdir '$(1).native' && cd '$(1).native' && '$(1)/source/configure' \ - CC=$(BUILD_CC) CXX=$(BUILD_CXX) - $(MAKE) -C '$(1).native' -j '$(JOBS)' - - mkdir '$(1).cross' && cd '$(1).cross' && '$(1)/source/configure' \ + cd '$(BUILD_DIR)' && '$(SOURCE_DIR)/source/configure' \ $(MXE_CONFIGURE_OPTS) \ - --with-cross-build='$(1).native' \ + --with-cross-build='$(PREFIX)/$(BUILD)/$(PKG)' \ CFLAGS=-DU_USING_ICU_NAMESPACE=0 \ CXXFLAGS='--std=gnu++0x' \ - SHELL=bash + SHELL=bash \ + $($(PKG)_CONFIGURE_OPTS) - $(MAKE) -C '$(1).cross' -j '$(JOBS)' install + $(MAKE) -C '$(BUILD_DIR)' -j '$(JOBS)' + $(MAKE) -C '$(BUILD_DIR)' -j 1 install ln -sf '$(PREFIX)/$(TARGET)/bin/icu-config' '$(PREFIX)/bin/$(TARGET)-icu-config' endef