update PKGBUILD & added patch to compile on arm

This commit is contained in:
Jonny Gerold 2010-02-06 01:53:23 -08:00
parent 85007ece62
commit 1e75128a70
2 changed files with 218 additions and 10 deletions

View file

@ -1,25 +1,31 @@
# $Id: PKGBUILD 44771 2009-07-04 10:35:13Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Contributor: Art Gramlich <art@gramlich-net.com>
# Contributor: Jonny Gerold <jonny@fsk141.com>
pkgname=icu
pkgver=4.2.1
pkgrel=1
pkgdesc="International Components for Unicode library"
arch=(i686 x86_64)
arch=(arm)
url="http://www.icu-project.org/"
license=('custom:"icu"')
depends=('gcc-libs' 'sh')
source=(http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver//./_}-src.tgz)
#http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver/./_}-src.tgz)
md5sums=('e3738abd0d3ce1870dc1fd1f22bba5b1')
source=(http://download.icu-project.org/files/${pkgname}4c/${pkgver}/${pkgname}4c-${pkgver//./_}-src.tgz
pkgdata.patch)
md5sums=('e3738abd0d3ce1870dc1fd1f22bba5b1'
'2e34b5f59e616c8c6bbd4b714b623250')
build() {
cd ${srcdir}/icu/source
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man
make || return 1
make -j1 DESTDIR=${pkgdir} install || return 1
cd $srcdir/icu
patch -p0 < pkgdata.patch
# Install license
install -Dm644 ${srcdir}/icu/license.html ${pkgdir}/usr/share/licenses/icu/license.html
cd ${srcdir}/icu/source
./configure --prefix=/usr --sysconfdir=/etc --mandir=/usr/share/man
make || return 1
make DESTDIR=${pkgdir} install || return 1
# Install license
install -Dm644 ${srcdir}/icu/license.html ${pkgdir}/usr/share/licenses/icu/license.html
}

202
extra/icu/pkgdata.patch Normal file
View file

@ -0,0 +1,202 @@
Index: source/tools/pkgdata/pkgdata.cpp
===================================================================
--- source.orig/tools/pkgdata/pkgdata.cpp 2009-06-26 14:57:38.000000000 -0400
+++ source/tools/pkgdata/pkgdata.cpp 2009-06-28 09:49:51.013264666 -0400
@@ -77,6 +77,13 @@
#define CAN_WRITE_OBJ_CODE
#endif
+// Temporary fix until http://bugs.icu-project.org/trac/ticket/6969 is
+// resolved.
+#ifdef CAN_WRITE_OBJ_CODE
+# undef CAN_WRITE_OBJ_CODE
+# define BUILD_DATA_WITHOUT_ASSEMBLY
+#endif
+
/*
* When building the data library without assembly,
* some platforms use a single c code file for all of
@@ -118,6 +125,7 @@
static void createFileNames(const char *version_major, const char *version, const char *libName, const UBool reverseExt);
static int32_t pkg_getOptionsFromICUConfig(UOption *option);
+static int runCommand(const char* command);
enum {
NAME,
@@ -461,6 +469,17 @@
return result;
}
+static int runCommand(const char* command)
+{
+ printf("pkgdata: %s\n", command);
+ int result = system(command);
+ if (result != 0)
+ {
+ printf("-- return status = %d\n", result);
+ }
+ return result;
+}
+
#define LN_CMD "ln -s"
#define RM_CMD "rm -f"
@@ -724,7 +743,7 @@
LN_CMD,
libFileNames[LIB_FILE_VERSION],
libFileNames[LIB_FILE_VERSION_MAJOR]);
- result = system(cmd);
+ result = runCommand(cmd);
if (result != 0) {
return result;
}
@@ -737,7 +756,7 @@
libFileNames[LIB_FILE_VERSION],
libFileNames[LIB_FILE], pkgDataFlags[SO_EXT]);
- result = system(cmd);
+ result = runCommand(cmd);
return result;
}
@@ -753,7 +772,7 @@
installDir, PKGDATA_FILE_SEP_STRING, libFileNames[LIB_FILE_VERSION]
);
- result = system(cmd);
+ result = runCommand(cmd);
if (result != 0) {
return result;
@@ -795,7 +814,7 @@
srcDir, PKGDATA_FILE_SEP_STRING, buffer,
installDir, PKGDATA_FILE_SEP_STRING, buffer);
- result = system(cmd);
+ result = runCommand(cmd);
if (result != 0) {
fprintf(stderr, "Failed to install data file with command: %s\n", cmd);
break;
@@ -815,7 +834,7 @@
}
#else
sprintf(cmd, "%s %s %s %s", WIN_INSTALL_CMD, srcDir, installDir, WIN_INSTALL_CMD_FLAGS);
- result = system(cmd);
+ result = runCommand(cmd);
if (result != 0) {
fprintf(stderr, "Failed to install data file with command: %s\n", cmd);
}
@@ -849,7 +868,17 @@
targetDir,
libFileNames[LIB_FILE_VERSION_TMP]);
- result = system(cmd);
+ result = runCommand(cmd);
+ if (result != 0) {
+ return result;
+ }
+
+ sprintf(cmd, "%s %s%s",
+ pkgDataFlags[RANLIB],
+ targetDir,
+ libFileNames[LIB_FILE_VERSION]);
+
+ result = runCommand(cmd);
if (result != 0) {
return result;
}
@@ -860,7 +889,7 @@
targetDir,
libFileNames[LIB_FILE_VERSION_TMP]);
- result = system(cmd);
+ result = runCommand(cmd);
if (result != 0) {
return result;
}
@@ -908,7 +937,21 @@
pkgDataFlags[A_EXT],
objectFile);
- result = system(cmd);
+ result = runCommand(cmd);
+ if (result == 0)
+ {
+#ifdef OS400
+ sprintf(cmd, "QSH CMD('%s %s%s.%s')",
+#else
+ sprintf(cmd, "%s %s%s.%s",
+#endif
+ pkgDataFlags[RANLIB],
+ targetDir,
+ libFileNames[LIB_FILE],
+ pkgDataFlags[A_EXT]);
+
+ result = runCommand(cmd);
+ }
} else /* if (mode == MODE_DLL) */ {
#ifdef U_CYGWIN
sprintf(cmd, "%s%s%s %s -o %s%s %s %s%s %s %s",
@@ -935,7 +978,7 @@
pkgDataFlags[BIR_FLAGS]);
/* Generate the library file. */
- result = system(cmd);
+ result = runCommand(cmd);
}
if (freeCmd) {
@@ -961,7 +1004,7 @@
tempObjectFile,
gencFilePath);
- result = system(cmd);
+ result = runCommand(cmd);
if (result != 0) {
return result;
}
@@ -1043,7 +1086,7 @@
tempObjectFile,
gencmnFile);
- result = system(cmd);
+ result = runCommand(cmd);
if (result != 0) {
break;
}
@@ -1094,7 +1137,7 @@
sprintf(cmd, "cat %s >> %s", gencmnFile, icudtAll);
#endif
- result = system(cmd);
+ result = runCommand(cmd);
if (result != 0) {
break;
}
@@ -1110,7 +1153,7 @@
pkgDataFlags[LIBFLAGS],
tempObjectFile,
gencmnFile);
- result = system(cmd);
+ result = runCommand(cmd);
if (result != 0) {
break;
}
@@ -1139,7 +1182,7 @@
tempObjectFile,
icudtAll);
- result = system(cmd);
+ result = runCommand(cmd);
if (result == 0) {
sprintf(buffer, "%s %s",
buffer,
@@ -1222,7 +1265,7 @@
);
}
- return system(cmd);
+ return runCommand(cmd);
}
#endif