summaryrefslogtreecommitdiff
path: root/system/icu/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'system/icu/APKBUILD')
-rw-r--r--system/icu/APKBUILD85
1 files changed, 85 insertions, 0 deletions
diff --git a/system/icu/APKBUILD b/system/icu/APKBUILD
new file mode 100644
index 000000000..c1f3f1bf3
--- /dev/null
+++ b/system/icu/APKBUILD
@@ -0,0 +1,85 @@
+# Contributor: Sergey Lukin <sergej.lukin@gmail.com>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=icu
+pkgver=62.1
+
+# convert x.y.z to x_y_z
+_ver=${pkgver//./_}
+
+pkgrel=2
+pkgdesc="International Components for Unicode library"
+url="http://www.icu-project.org/"
+arch="all"
+license="ICU"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+depends=
+checkdepends="diffutils"
+makedepends=
+source="http://download.icu-project.org/files/icu4c/${pkgver}/${pkgname}4c-$_ver-src.tgz
+ icu-60.2-always-use-utf8.patch
+ "
+
+# secfixes:
+# 57.1-r1:
+# - CVE-2016-6293
+# 58.1-r1:
+# - CVE-2016-7415
+# 58.2-r2:
+# - CVE-2017-7867
+# - CVE-2017-7868
+builddir="$srcdir"/icu/source
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ update_config_sub
+
+ # strtod_l() is not supported by musl; also xlocale.h is missing
+ # It is not possible to disable its use via configure switches or env vars
+ # so monkey patching is needed. Idea was stollen from openembedded
+ # https://github.com/openembedded/openembedded-core/blob/master/meta/recipes-support/icu/icu.inc#L30
+ sed -i -e 's,DU_HAVE_STRTOD_L=1,DU_HAVE_STRTOD_L=0,' configure.ac
+ sed -i -e 's,DU_HAVE_STRTOD_L=1,DU_HAVE_STRTOD_L=0,' configure
+
+ local x
+ # https://bugs.icu-project.org/trac/ticket/6102
+ for x in ARFLAGS CFLAGS CPPFLAGS CXXFLAGS FFLAGS LDFLAGS; do
+ sed -i -e "/^${x} =.*/s:@${x}@::" "config/Makefile.inc.in"
+ done
+}
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-data-packaging=library \
+ --disable-samples \
+ --mandir=/usr/share/man
+ make
+}
+
+check() {
+ # armhf tests fail with gensprep: Bus error
+ [ "$CARCH" != armhf ] || return 0
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make -j1 DESTDIR="$pkgdir" install
+ chmod +x "$pkgdir"/usr/bin/icu-config
+ install -Dm644 "$srcdir"/icu/license.html \
+ "$pkgdir"/usr/share/licenses/icu/license.html
+}
+
+libs() {
+ default_libs
+ replaces="icu"
+}
+
+sha512sums="8295f2754fb6907e2cc8f515dccca05530963b544e89a2b8e323cd0ddfdbbe0c9eba8b367c1dbc04d7bb906b66b1003fd545ca05298939747c832c9d4431cf2a icu4c-62_1-src.tgz
+f86c62422f38f6485c58d4766e629bab69e4b0e00fa910854e40e7db1ace299152eaefa99ae2fbab7465e65d3156cbea7124612defa60680db58ab5c34d6262f icu-60.2-always-use-utf8.patch"