diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-04-28 09:54:45 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-04-28 09:54:45 +0100 |
commit | b7ebc951da8800f711142f69d9d958bde67a112d (patch) | |
tree | e318514216845acb8f2e49fff7a5cba4027e9d91 /dev-libs/icu | |
parent | dc7cbdfa65fd814b3b9aa3c56257da201109e807 (diff) |
gentoo resync : 28.04.2019
Diffstat (limited to 'dev-libs/icu')
-rw-r--r-- | dev-libs/icu/Manifest | 5 | ||||
-rw-r--r-- | dev-libs/icu/files/icu-64.1-data_archive_generation.patch | 14 | ||||
-rw-r--r-- | dev-libs/icu/files/icu-64.2-darwin.patch | 56 | ||||
-rw-r--r-- | dev-libs/icu/files/icu-64.2-extern_c.patch | 789 | ||||
-rw-r--r-- | dev-libs/icu/icu-64.2.ebuild | 144 |
5 files changed, 1008 insertions, 0 deletions
diff --git a/dev-libs/icu/Manifest b/dev-libs/icu/Manifest index 0c36843dbff6..f8469f7b6058 100644 --- a/dev-libs/icu/Manifest +++ b/dev-libs/icu/Manifest @@ -4,11 +4,16 @@ AUX icu-58.2-CVE-2017-7867.patch 8934 BLAKE2B 7f934d75a99953d69ac54f8544c698d3bd AUX icu-58.2-darwin.patch 2076 BLAKE2B d85d07ae3ade827a81bf2ce4eb2813a6535d7cd70e68241b29ee72c0a41115e3cab0490727771309c32f1eb0853c1a8ce3cf6aae64186037d8ee75d035cb0478 SHA512 fe884a72d354324ad0b1e5502d834fbecafae22a290fb152058d6507b218c4f07efc34cc7d978bae0adb54f74dadf00df7a2679c480dc7681ee287da7f678cb7 AUX icu-58.2-glibc226.patch 463 BLAKE2B 840440c4a3eb0882ac6733d3c5f44568bc081fce6f3f641e01d76f01fe1f35f74cc2465e89b3353ab86569c7478090df459a659d69143810ba121e15c27923dd SHA512 20d8e76c43ef5549ca7f104b052661269c99d4af45b2a65bd9d72e28b01d0c3b70c066b51799e09d7117a4a39e44fd463fae2522a238a41972c0679c290c5da3 AUX icu-63.1-CVE-2018-18928.patch 2813 BLAKE2B 21940b9c1f17eed7f056a8c60b5a8da3790955fe6bab02336b0c042d80d90afd02a54dbe441fa38a536b2a77f08fb629510186a0419ad6352b3bc461c7b9b9e3 SHA512 f55cc50673e33dfba4d213bb4f18dd905e9db372dde4c64c1f389c0cd19b31e5fd0aaa113778068758497b35667061659d55fafd0eae818624c9374e17a8d5c5 +AUX icu-64.1-data_archive_generation.patch 473 BLAKE2B 88e77149ec92a316d5e534a6aba8808829ebdef16978fc7130bb4fba80f2bcc7886bafe3c944ff83f56cbf5f02860a35cb0a655722ce305e5e6b05dae15d5254 SHA512 3cf34c7ffaa200f841d605f11ee8145d70f2975be2ae5282a6de2fb5caf6bd8ae67e05cf652b0714023087fa145b4e5fdd4e4287dc331334ec347d957674d291 AUX icu-64.1-guard-memory-include.patch 1449 BLAKE2B bc255a8ef9a8d7fece5fb10ad2a51b67c28307aa1954a1c690c923b9695b946bc5aceafae39687f60563f62112672b60405d47c393755147568272678516f334 SHA512 7cb0142486d0162a7e9441c55225e010db5dfcd0a9b67f3f738de2a619388e4323b1314e9531537259403fbdd5a263e58576991b6e90629feacdee522f40cee5 +AUX icu-64.2-darwin.patch 2162 BLAKE2B 74682494b903ee1cdcd2025afe36648adef39573754ccb0e0e86b5b7d7f26937c6ea54d655e8482ad9d7a2ccc64b5c8a8640d4e71390b19b64a25bde76b3d63d SHA512 e4e0eb9f953285f4221f2733a3a76c23e9e72127ce3ac0ecc67a46a9e37236dee352f28b7b9befdcae9e2f95297e01a98e0dd177697ee6335145ad5088d2f00f +AUX icu-64.2-extern_c.patch 29978 BLAKE2B 398f371d256fd4e60fc069949d0d861e363c43889a762c9fffad176cb1164b069209a295475748c08a18a83b43abb561851f4d74359fc3fd683b97eb0cef2e50 SHA512 d45a8da416a573b69b76a615d11bf99f852cb1703cb0fd4ba35fe96411134fda97a29cddf3d14a23900a5099a930c32ff9d1865f02d07314268974c306832409 DIST icu4c-58_2-src.tgz 23369902 BLAKE2B cdd2e02c3aba050f5b7f8b38c5a3731e3e5f1cc1403ef86a50908b95560ea3cf8a2d47119fa60cf34f22a8b65eaa2392fd5bcbd3bc48b3da541fe3d9bd7392c0 SHA512 5c21af748f48b392e6c0412bd0aee92162ea931820dcbfab4ec6e0299868504b303d88f7586cc95de55c777ac0dca3a29d6c8ca0892c646ebc864c8a5b5a162a DIST icu4c-63_1-src.tgz 23746939 BLAKE2B 5a665554506ff705c83c7a03a1b5598b1a48afbe1c6caaccd5a2d7d5aae16b3e18d7bc65ed552fc4df86248a2f13962438f19bca6c2a579843204c7dc52e6278 SHA512 9ab407ed840a00cdda7470dcc4c40299a125ad246ae4d019c4b1ede54781157fd63af015a8228cd95dbc47e4d15a0932b2c657489046a19788e5e8266eac079c DIST icu4c-64_1-src.tgz 24013136 BLAKE2B e577bd4c9b822e5ef3a101b3ef46b7b42ca18077d6e05fca543ff1eb702261f017981fb22dd3970662397530b390f648d4417c84dcf3d6ed0d298dd7a8c38897 SHA512 5eca8342d8bdf902689243506643e04512744b33962687e118f6810af6f7fd073678f67b991d2ae9139d257713b63abb4222b96687234df01ad5ff62df16ede0 +DIST icu4c-64_2-src.tgz 24013250 BLAKE2B 4a286e7a952f5faa74d942f6b6a73147a46aa10fe6d54d024e2d18d1e01056444d56118ded04b4fe084d6a0f9058d7d9e76973960ac8fe5bd9ee105d9e214318 SHA512 5ecb4c230ba45918747a1cf9aef86f555aa07d5b29b1d07ab674e8013f46dfb907a0e9d6945db41155f9dc3012fd94e1152ffc19f61a68b6dfcbabdcb8ae9d78 EBUILD icu-58.2-r1.ebuild 4052 BLAKE2B 7f3258a4b34395d70fe644255021236f8db6a7e064dae9c0133655d0a51e80ab029e63e6f76fb0d5b063b47ec8b68f239e68bf8f58b66d0e83ac29b8676da061 SHA512 aa772b809d2fda7b50d9ff58bce94324bb3d76be3a4d64e395895a1a3d079a51a71019b610b6155052c5ad0a9cc7d33700104b1688ec73790fe49b437d3d9b42 EBUILD icu-63.1-r1.ebuild 3321 BLAKE2B b8e6b6ea9bb9379f0b09195382db18e7758fc919d626f49240f9b8a75b97c84833dc2741c528788348d090749229b18d610bcd5bb196506fec03803d3a78af3f SHA512 0efd9eeac3944f3ea14e20f99c3d3bf0f9a2ed22d62074a1d1342c8fb04f4bb76c30d51ca173a09a59abb832cdb134bd1120b065ce0c63536da08839f4abd2de EBUILD icu-64.1.ebuild 3338 BLAKE2B b79f6248fc64eafd37d25fdd58ba9752b038e1677c97d009bdcb925c2a665172bbf99a44c1c23b9fb1b0b38f7db057aeaea2833316d079f9e0444727fd578c53 SHA512 58a5dfc85fc423b9c81132c1df1cd9c6e3338e8e3132681c68fb13d729bf63fdd6662cb6457855b772de19eb03481142dd92d7592f953eff7752ce0de2cfcf0f +EBUILD icu-64.2.ebuild 3399 BLAKE2B 0c3a64d213bf44a7242561e43e1a7aac25b70ebae2b331bb86cc0e7b653320018f94982abf3bf22395b0796a1aa76ecb9bd55d3ec712e8bb4be014085e4eaa05 SHA512 e949f94a78d35dcc71ddd7ff0256812c4aa7786977aeba6a23e7221617f765028cd6e52ba232c4dbc68fde437e5aaa2e3dc0debc57577feb587865c7d1b70bbc MISC metadata.xml 255 BLAKE2B 9b8486730bea2158e8be5cbbe0552c5460d1b18e2236a68e3f11d85ce4eeb96eb0e746f44a10cb7cdcf1bf498190a512ef42f47852c6843b9a3c937ceabc338d SHA512 ac646e8ac676faf0aac283e4be31c5f2b29e98ccf07327073ed05e688ce696caf639bdfea63e4aed141a90e84c0a86892bc717a52b95cdf1739aaa15240013c3 diff --git a/dev-libs/icu/files/icu-64.1-data_archive_generation.patch b/dev-libs/icu/files/icu-64.1-data_archive_generation.patch new file mode 100644 index 000000000000..3bb7673f254a --- /dev/null +++ b/dev-libs/icu/files/icu-64.1-data_archive_generation.patch @@ -0,0 +1,14 @@ +https://bugs.gentoo.org/682170 + +--- a/data/Makefile.in ++++ b/data/Makefile.in +@@ -148,7 +148,8 @@ + # and convert it to the current type. + ifneq ($(ICUDATA_ARCHIVE),) + ICUDATA_SOURCE_ARCHIVE = $(OUTDIR)/$(ICUDATA_PLATFORM_NAME).dat +-$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) $(OUTDIR) ++$(ICUDATA_SOURCE_ARCHIVE): $(ICUDATA_ARCHIVE) ++ $(MKINSTALLDIRS) $(OUTDIR) + $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $(ICUDATA_ARCHIVE) $(ICUDATA_SOURCE_ARCHIVE) + endif + else diff --git a/dev-libs/icu/files/icu-64.2-darwin.patch b/dev-libs/icu/files/icu-64.2-darwin.patch new file mode 100644 index 000000000000..e6af282bd0ef --- /dev/null +++ b/dev-libs/icu/files/icu-64.2-darwin.patch @@ -0,0 +1,56 @@ +same as 4.7, but retargetted to apply with eapply + +forward-ported from v58.2 to v64.2 + +--- a/config/mh-darwin ++++ b/config/mh-darwin +@@ -6,6 +6,12 @@ + ## Copyright (c) 1999-2012 International Business Machines Corporation and + ## others. All Rights Reserved. + ++SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) ++FINAL_SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO_TARGET_VERSION).$(SO) ++MIDDLE_SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO_TARGET_VERSION_MAJOR).$(SO) ++ ++IS_DARWIN = yes ++ + ## Flags for position independent code + SHAREDLIBCFLAGS = -dynamic + SHAREDLIBCXXFLAGS = -dynamic +@@ -33,7 +39,7 @@ + ifeq ($(ENABLE_RPATH),YES) + LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) + else +-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE) ++LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE) + endif + + ## Compiler switch to embed a runtime search path +--- a/stubdata/Makefile.in ++++ b/stubdata/Makefile.in +@@ -34,7 +34,11 @@ + + + ifneq ($(ENABLE_SHARED),) ++ifeq ($(IS_DARWIN),) + SO_TARGET = $(STUBDATA_LIBDIR)$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) ++else ++SO_TARGET = $(LIBDIR)/$(STUBDATA_LIBDIR)$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(STUB_SUFFIX).$(SO) ++endif + ALL_SO_TARGETS = $(FINAL_SO_TARGET) $(MIDDLE_SO_TARGET) $(SO_TARGET) $(BATCH_STUB_TARGET) $(SHARED_OBJECT) + endif + +--- a/tools/ctestfw/Makefile.in ++++ b/tools/ctestfw/Makefile.in +@@ -33,7 +33,11 @@ + endif + + ifneq ($(ENABLE_SHARED),) ++ifeq ($(IS_DARWIN),) + SO_TARGET = $(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) ++else ++SO_TARGET = $(LIBDIR)/$(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(SO) ++endif + ALL_SO_TARGETS = $(SO_TARGET) $(MIDDLE_SO_TARGET) $(FINAL_SO_TARGET) $(SHARED_OBJECT) + endif + diff --git a/dev-libs/icu/files/icu-64.2-extern_c.patch b/dev-libs/icu/files/icu-64.2-extern_c.patch new file mode 100644 index 000000000000..9a757e12037b --- /dev/null +++ b/dev-libs/icu/files/icu-64.2-extern_c.patch @@ -0,0 +1,789 @@ +From 26bdef634585eb24946dba035611266e9431873b Mon Sep 17 00:00:00 2001 +From: Alon Bar-Lev <alon.barlev@gmail.com> +Date: Sat, 30 Mar 2019 09:59:46 +0300 +Subject: [PATCH] ICU-20530 Fix header issues based on test/hdrtst + +Remove explicit extern "C++" scope. + +Remove C++ macros in C mode. + +Fix issues detected by make -C test/hdrtst. + +Run test/hdrtest during CI to detect future breakage. + +Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com> +Closes: https://github.com/unicode-org/icu/pull/613 +Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> +diff --git a/icu4c/source/common/unicode/ucptrie.h b/icu4c/source/common/unicode/ucptrie.h +index 2718c984e4..ce7340b890 100644 +--- a/icu4c/source/common/unicode/ucptrie.h ++++ b/icu4c/source/common/unicode/ucptrie.h +@@ -216,25 +216,6 @@ ucptrie_openFromBinary(UCPTrieType type, UCPTrieValueWidth valueWidth, + U_CAPI void U_EXPORT2 + ucptrie_close(UCPTrie *trie); + +-#if U_SHOW_CPLUSPLUS_API +- +-U_NAMESPACE_BEGIN +- +-/** +- * \class LocalUCPTriePointer +- * "Smart pointer" class, closes a UCPTrie via ucptrie_close(). +- * For most methods see the LocalPointerBase base class. +- * +- * @see LocalPointerBase +- * @see LocalPointer +- * @draft ICU 63 +- */ +-U_DEFINE_LOCAL_OPEN_POINTER(LocalUCPTriePointer, UCPTrie, ucptrie_close); +- +-U_NAMESPACE_END +- +-#endif +- + /** + * Returns the trie type. + * +@@ -642,5 +623,25 @@ ucptrie_internalU8PrevIndex(const UCPTrie *trie, UChar32 c, + U_CDECL_END + + #endif // U_IN_DOXYGEN ++ ++#if U_SHOW_CPLUSPLUS_API ++ ++U_NAMESPACE_BEGIN ++ ++/** ++ * \class LocalUCPTriePointer ++ * "Smart pointer" class, closes a UCPTrie via ucptrie_close(). ++ * For most methods see the LocalPointerBase base class. ++ * ++ * @see LocalPointerBase ++ * @see LocalPointer ++ * @draft ICU 63 ++ */ ++U_DEFINE_LOCAL_OPEN_POINTER(LocalUCPTriePointer, UCPTrie, ucptrie_close); ++ ++U_NAMESPACE_END ++ ++#endif // U_SHOW_CPLUSPLUS_API ++ + #endif // U_HIDE_DRAFT_API + #endif +diff --git a/icu4c/source/common/unicode/udata.h b/icu4c/source/common/unicode/udata.h +index a0286e1e42..325ffcf17d 100644 +--- a/icu4c/source/common/unicode/udata.h ++++ b/icu4c/source/common/unicode/udata.h +@@ -264,25 +264,6 @@ udata_openChoice(const char *path, const char *type, const char *name, + U_STABLE void U_EXPORT2 + udata_close(UDataMemory *pData); + +-#if U_SHOW_CPLUSPLUS_API +- +-U_NAMESPACE_BEGIN +- +-/** +- * \class LocalUDataMemoryPointer +- * "Smart pointer" class, closes a UDataMemory via udata_close(). +- * For most methods see the LocalPointerBase base class. +- * +- * @see LocalPointerBase +- * @see LocalPointer +- * @stable ICU 4.4 +- */ +-U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close); +- +-U_NAMESPACE_END +- +-#endif +- + /** + * Get the pointer to the actual data inside the data memory. + * The data is read-only. +@@ -434,4 +415,23 @@ udata_setFileAccess(UDataFileAccess access, UErrorCode *status); + + U_CDECL_END + ++#if U_SHOW_CPLUSPLUS_API ++ ++U_NAMESPACE_BEGIN ++ ++/** ++ * \class LocalUDataMemoryPointer ++ * "Smart pointer" class, closes a UDataMemory via udata_close(). ++ * For most methods see the LocalPointerBase base class. ++ * ++ * @see LocalPointerBase ++ * @see LocalPointer ++ * @stable ICU 4.4 ++ */ ++U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close); ++ ++U_NAMESPACE_END ++ ++#endif // U_SHOW_CPLUSPLUS_API ++ + #endif +diff --git a/icu4c/source/common/unicode/uversion.h b/icu4c/source/common/unicode/uversion.h +index 4aaa8b4d60..5700f62cbf 100644 +--- a/icu4c/source/common/unicode/uversion.h ++++ b/icu4c/source/common/unicode/uversion.h +@@ -62,26 +62,22 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; + /* C++ namespace if supported. Versioned unless versioning is disabled. */ + /*===========================================================================*/ + ++/* Define C++ namespace symbols. */ ++#ifdef __cplusplus ++ + /** + * \def U_NAMESPACE_BEGIN +- * This is used to begin a declaration of a public ICU C++ API. +- * When not compiling for C++, it does nothing. +- * When compiling for C++, it begins an extern "C++" linkage block (to protect +- * against cases in which an external client includes ICU header files inside +- * an extern "C" linkage block). ++ * This is used to begin a declaration of a public ICU C++ API within ++ * versioned-ICU-namespace block. + * +- * It also begins a versioned-ICU-namespace block. + * @stable ICU 2.4 + */ + + /** + * \def U_NAMESPACE_END + * This is used to end a declaration of a public ICU C++ API. +- * When not compiling for C++, it does nothing. +- * When compiling for C++, it ends the extern "C++" block begun by +- * U_NAMESPACE_BEGIN. ++ * It ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN. + * +- * It also ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN. + * @stable ICU 2.4 + */ + +@@ -89,9 +85,6 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; + * \def U_NAMESPACE_USE + * This is used to specify that the rest of the code uses the + * public ICU C++ API namespace. +- * This is invoked by default; we recommend that you turn it off: +- * See the "Recommended Build Options" section of the ICU4C readme +- * (http://source.icu-project.org/repos/icu/icu/trunk/readme.html#RecBuild) + * @stable ICU 2.4 + */ + +@@ -105,8 +98,6 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; + * @stable ICU 2.4 + */ + +-/* Define C++ namespace symbols. */ +-#ifdef __cplusplus + # if U_DISABLE_RENAMING + # define U_ICU_NAMESPACE icu + namespace U_ICU_NAMESPACE { } +@@ -116,8 +107,8 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; + namespace icu = U_ICU_NAMESPACE; + # endif + +-# define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE { +-# define U_NAMESPACE_END } } ++# define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE { ++# define U_NAMESPACE_END } + # define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE; + # define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE:: + +@@ -133,12 +124,7 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH]; + # if U_USING_ICU_NAMESPACE + U_NAMESPACE_USE + # endif +-#else +-# define U_NAMESPACE_BEGIN +-# define U_NAMESPACE_END +-# define U_NAMESPACE_USE +-# define U_NAMESPACE_QUALIFIER +-#endif ++#endif /* __cplusplus */ + + /*===========================================================================*/ + /* General version helper functions. Definitions in putil.c */ +diff --git a/icu4c/source/i18n/unicode/reldatefmt.h b/icu4c/source/i18n/unicode/reldatefmt.h +index 16ae91ad03..1e164a581a 100644 +--- a/icu4c/source/i18n/unicode/reldatefmt.h ++++ b/icu4c/source/i18n/unicode/reldatefmt.h +@@ -246,6 +246,7 @@ class SharedPluralRules; + class SharedBreakIterator; + class NumberFormat; + class UnicodeString; ++class FormattedRelativeDateTime; + class FormattedRelativeDateTimeData; + + #ifndef U_HIDE_DRAFT_API +diff --git a/icu4c/source/i18n/unicode/uspoof.h b/icu4c/source/i18n/unicode/uspoof.h +index d15ba4b242..ceb8484b6b 100644 +--- a/icu4c/source/i18n/unicode/uspoof.h ++++ b/icu4c/source/i18n/unicode/uspoof.h +@@ -353,6 +353,8 @@ + * @stable ICU 4.6 + */ + ++U_CDECL_BEGIN ++ + struct USpoofChecker; + /** + * @stable ICU 4.2 +@@ -674,25 +676,6 @@ uspoof_openFromSource(const char *confusables, int32_t confusablesLen, + U_STABLE void U_EXPORT2 + uspoof_close(USpoofChecker *sc); + +-#if U_SHOW_CPLUSPLUS_API +- +-U_NAMESPACE_BEGIN +- +-/** +- * \class LocalUSpoofCheckerPointer +- * "Smart pointer" class, closes a USpoofChecker via uspoof_close(). +- * For most methods see the LocalPointerBase base class. +- * +- * @see LocalPointerBase +- * @see LocalPointer +- * @stable ICU 4.4 +- */ +-U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckerPointer, USpoofChecker, uspoof_close); +- +-U_NAMESPACE_END +- +-#endif +- + /** + * Clone a Spoof Checker. The clone will be set to perform the same checks + * as the original source. +@@ -901,54 +884,6 @@ U_STABLE const USet * U_EXPORT2 + uspoof_getAllowedChars(const USpoofChecker *sc, UErrorCode *status); + + +-#if U_SHOW_CPLUSPLUS_API +-/** +- * Limit the acceptable characters to those specified by a Unicode Set. +- * Any previously specified character limit is +- * is replaced by the new settings. This includes limits on +- * characters that were set with the uspoof_setAllowedLocales() function. +- * +- * The USPOOF_CHAR_LIMIT test is automatically enabled for this +- * USoofChecker by this function. +- * +- * @param sc The USpoofChecker +- * @param chars A Unicode Set containing the list of +- * characters that are permitted. Ownership of the set +- * remains with the caller. The incoming set is cloned by +- * this function, so there are no restrictions on modifying +- * or deleting the UnicodeSet after calling this function. +- * @param status The error code, set if this function encounters a problem. +- * @stable ICU 4.2 +- */ +-U_STABLE void U_EXPORT2 +-uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const icu::UnicodeSet *chars, UErrorCode *status); +- +- +-/** +- * Get a UnicodeSet for the characters permitted in an identifier. +- * This corresponds to the limits imposed by the Set Allowed Characters / +- * UnicodeSet functions. Limitations imposed by other checks will not be +- * reflected in the set returned by this function. +- * +- * The returned set will be frozen, meaning that it cannot be modified +- * by the caller. +- * +- * Ownership of the returned set remains with the Spoof Detector. The +- * returned set will become invalid if the spoof detector is closed, +- * or if a new set of allowed characters is specified. +- * +- * +- * @param sc The USpoofChecker +- * @param status The error code, set if this function encounters a problem. +- * @return A UnicodeSet containing the characters that are permitted by +- * the USPOOF_CHAR_LIMIT test. +- * @stable ICU 4.2 +- */ +-U_STABLE const icu::UnicodeSet * U_EXPORT2 +-uspoof_getAllowedUnicodeSet(const USpoofChecker *sc, UErrorCode *status); +-#endif +- +- + /** + * Check the specified string for possible security issues. + * The text to be checked will typically be an identifier of some sort. +@@ -1027,43 +962,6 @@ uspoof_checkUTF8(const USpoofChecker *sc, + UErrorCode *status); + + +-#if U_SHOW_CPLUSPLUS_API +-/** +- * Check the specified string for possible security issues. +- * The text to be checked will typically be an identifier of some sort. +- * The set of checks to be performed is specified with uspoof_setChecks(). +- * +- * \note +- * Consider using the newer API, {@link uspoof_check2UnicodeString}, instead. +- * The newer API exposes additional information from the check procedure +- * and is otherwise identical to this method. +- * +- * @param sc The USpoofChecker +- * @param id A identifier to be checked for possible security issues. +- * @param position Deprecated in ICU 51. Always returns zero. +- * Originally, an out parameter for the index of the first +- * string position that failed a check. +- * This parameter may be NULL. +- * @param status The error code, set if an error occurred while attempting to +- * perform the check. +- * Spoofing or security issues detected with the input string are +- * not reported here, but through the function's return value. +- * @return An integer value with bits set for any potential security +- * or spoofing issues detected. The bits are defined by +- * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS) +- * will be zero if the input string passes all of the +- * enabled checks. +- * @see uspoof_check2UnicodeString +- * @stable ICU 4.2 +- */ +-U_STABLE int32_t U_EXPORT2 +-uspoof_checkUnicodeString(const USpoofChecker *sc, +- const icu::UnicodeString &id, +- int32_t *position, +- UErrorCode *status); +-#endif +- +- + /** + * Check the specified string for possible security issues. + * The text to be checked will typically be an identifier of some sort. +@@ -1135,39 +1033,6 @@ uspoof_check2UTF8(const USpoofChecker *sc, + USpoofCheckResult* checkResult, + UErrorCode *status); + +-#if U_SHOW_CPLUSPLUS_API +-/** +- * Check the specified string for possible security issues. +- * The text to be checked will typically be an identifier of some sort. +- * The set of checks to be performed is specified with uspoof_setChecks(). +- * +- * @param sc The USpoofChecker +- * @param id A identifier to be checked for possible security issues. +- * @param checkResult An instance of USpoofCheckResult to be filled with +- * details about the identifier. Can be NULL. +- * @param status The error code, set if an error occurred while attempting to +- * perform the check. +- * Spoofing or security issues detected with the input string are +- * not reported here, but through the function's return value. +- * @return An integer value with bits set for any potential security +- * or spoofing issues detected. The bits are defined by +- * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS) +- * will be zero if the input string passes all of the +- * enabled checks. Any information in this bitmask will be +- * consistent with the information saved in the optional +- * checkResult parameter. +- * @see uspoof_openCheckResult +- * @see uspoof_check2 +- * @see uspoof_check2UTF8 +- * @stable ICU 58 +- */ +-U_STABLE int32_t U_EXPORT2 +-uspoof_check2UnicodeString(const USpoofChecker *sc, +- const icu::UnicodeString &id, +- USpoofCheckResult* checkResult, +- UErrorCode *status); +-#endif +- + /** + * Create a USpoofCheckResult, used by the {@link uspoof_check2} class of functions to return + * information about the identifier. Information includes: +@@ -1199,32 +1064,6 @@ uspoof_openCheckResult(UErrorCode *status); + U_STABLE void U_EXPORT2 + uspoof_closeCheckResult(USpoofCheckResult *checkResult); + +-#if U_SHOW_CPLUSPLUS_API +- +-U_NAMESPACE_BEGIN +- +-/** +- * \class LocalUSpoofCheckResultPointer +- * "Smart pointer" class, closes a USpoofCheckResult via `uspoof_closeCheckResult()`. +- * For most methods see the LocalPointerBase base class. +- * +- * @see LocalPointerBase +- * @see LocalPointer +- * @stable ICU 58 +- */ +- +-/** +- * \cond +- * Note: Doxygen is giving a bogus warning on this U_DEFINE_LOCAL_OPEN_POINTER. +- * For now, suppress with a Doxygen cond +- */ +-U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckResultPointer, USpoofCheckResult, uspoof_closeCheckResult); +-/** \endcond */ +- +-U_NAMESPACE_END +- +-#endif +- + /** + * Indicates which of the spoof check(s) have failed. The value is a bitwise OR of the constants for the tests + * in question: USPOOF_RESTRICTION_LEVEL, USPOOF_CHAR_LIMIT, and so on. +@@ -1355,36 +1194,6 @@ uspoof_areConfusableUTF8(const USpoofChecker *sc, + + + +-#if U_SHOW_CPLUSPLUS_API +-/** +- * A version of {@link uspoof_areConfusable} accepting UnicodeStrings. +- * +- * @param sc The USpoofChecker +- * @param s1 The first of the two identifiers to be compared for +- * confusability. The strings are in UTF-8 format. +- * @param s2 The second of the two identifiers to be compared for +- * confusability. The strings are in UTF-8 format. +- * @param status The error code, set if an error occurred while attempting to +- * perform the check. +- * Confusability of the identifiers is not reported here, +- * but through this function's return value. +- * @return An integer value with bit(s) set corresponding to +- * the type of confusability found, as defined by +- * enum USpoofChecks. Zero is returned if the identifiers +- * are not confusable. +- * +- * @stable ICU 4.2 +- * +- * @see uspoof_areConfusable +- */ +-U_STABLE int32_t U_EXPORT2 +-uspoof_areConfusableUnicodeString(const USpoofChecker *sc, +- const icu::UnicodeString &s1, +- const icu::UnicodeString &s2, +- UErrorCode *status); +-#endif +- +- + /** + * Get the "skeleton" for an identifier. + * Skeletons are a transformation of the input identifier; +@@ -1463,38 +1272,6 @@ uspoof_getSkeletonUTF8(const USpoofChecker *sc, + char *dest, int32_t destCapacity, + UErrorCode *status); + +-#if U_SHOW_CPLUSPLUS_API +-/** +- * Get the "skeleton" for an identifier. +- * Skeletons are a transformation of the input identifier; +- * Two identifiers are confusable if their skeletons are identical. +- * See Unicode UAX #39 for additional information. +- * +- * Using skeletons directly makes it possible to quickly check +- * whether an identifier is confusable with any of some large +- * set of existing identifiers, by creating an efficiently +- * searchable collection of the skeletons. +- * +- * @param sc The USpoofChecker. +- * @param type Deprecated in ICU 58. You may pass any number. +- * Originally, controlled which of the Unicode confusable data +- * tables to use. +- * @param id The input identifier whose skeleton will be computed. +- * @param dest The output identifier, to receive the skeleton string. +- * @param status The error code, set if an error occurred while attempting to +- * perform the check. +- * @return A reference to the destination (skeleton) string. +- * +- * @stable ICU 4.2 +- */ +-U_I18N_API icu::UnicodeString & U_EXPORT2 +-uspoof_getSkeletonUnicodeString(const USpoofChecker *sc, +- uint32_t type, +- const icu::UnicodeString &id, +- icu::UnicodeString &dest, +- UErrorCode *status); +-#endif /* U_SHOW_CPLUSPLUS_API */ +- + /** + * Get the set of Candidate Characters for Inclusion in Identifiers, as defined + * in http://unicode.org/Public/security/latest/xidmodifications.txt +@@ -1525,8 +1302,243 @@ uspoof_getInclusionSet(UErrorCode *status); + U_STABLE const USet * U_EXPORT2 + uspoof_getRecommendedSet(UErrorCode *status); + ++/** ++ * Serialize the data for a spoof detector into a chunk of memory. ++ * The flattened spoof detection tables can later be used to efficiently ++ * instantiate a new Spoof Detector. ++ * ++ * The serialized spoof checker includes only the data compiled from the ++ * Unicode data tables by uspoof_openFromSource(); it does not include ++ * include any other state or configuration that may have been set. ++ * ++ * @param sc the Spoof Detector whose data is to be serialized. ++ * @param data a pointer to 32-bit-aligned memory to be filled with the data, ++ * can be NULL if capacity==0 ++ * @param capacity the number of bytes available at data, ++ * or 0 for preflighting ++ * @param status an in/out ICU UErrorCode; possible errors include: ++ * - U_BUFFER_OVERFLOW_ERROR if the data storage block is too small for serialization ++ * - U_ILLEGAL_ARGUMENT_ERROR the data or capacity parameters are bad ++ * @return the number of bytes written or needed for the spoof data ++ * ++ * @see utrie2_openFromSerialized() ++ * @stable ICU 4.2 ++ */ ++U_STABLE int32_t U_EXPORT2 ++uspoof_serialize(USpoofChecker *sc, ++ void *data, int32_t capacity, ++ UErrorCode *status); ++ ++U_CDECL_END ++ + #if U_SHOW_CPLUSPLUS_API + ++U_NAMESPACE_BEGIN ++ ++/** ++ * \class LocalUSpoofCheckerPointer ++ * "Smart pointer" class, closes a USpoofChecker via uspoof_close(). ++ * For most methods see the LocalPointerBase base class. ++ * ++ * @see LocalPointerBase ++ * @see LocalPointer ++ * @stable ICU 4.4 ++ */ ++/** ++ * \cond ++ * Note: Doxygen is giving a bogus warning on this U_DEFINE_LOCAL_OPEN_POINTER. ++ * For now, suppress with a Doxygen cond ++ */ ++U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckerPointer, USpoofChecker, uspoof_close); ++/** \endcond */ ++ ++/** ++ * \class LocalUSpoofCheckResultPointer ++ * "Smart pointer" class, closes a USpoofCheckResult via `uspoof_closeCheckResult()`. ++ * For most methods see the LocalPointerBase base class. ++ * ++ * @see LocalPointerBase ++ * @see LocalPointer ++ * @stable ICU 58 ++ */ ++ ++/** ++ * \cond ++ * Note: Doxygen is giving a bogus warning on this U_DEFINE_LOCAL_OPEN_POINTER. ++ * For now, suppress with a Doxygen cond ++ */ ++U_DEFINE_LOCAL_OPEN_POINTER(LocalUSpoofCheckResultPointer, USpoofCheckResult, uspoof_closeCheckResult); ++/** \endcond */ ++ ++U_NAMESPACE_END ++ ++/** ++ * Limit the acceptable characters to those specified by a Unicode Set. ++ * Any previously specified character limit is ++ * is replaced by the new settings. This includes limits on ++ * characters that were set with the uspoof_setAllowedLocales() function. ++ * ++ * The USPOOF_CHAR_LIMIT test is automatically enabled for this ++ * USoofChecker by this function. ++ * ++ * @param sc The USpoofChecker ++ * @param chars A Unicode Set containing the list of ++ * characters that are permitted. Ownership of the set ++ * remains with the caller. The incoming set is cloned by ++ * this function, so there are no restrictions on modifying ++ * or deleting the UnicodeSet after calling this function. ++ * @param status The error code, set if this function encounters a problem. ++ * @stable ICU 4.2 ++ */ ++U_STABLE void U_EXPORT2 ++uspoof_setAllowedUnicodeSet(USpoofChecker *sc, const icu::UnicodeSet *chars, UErrorCode *status); ++ ++ ++/** ++ * Get a UnicodeSet for the characters permitted in an identifier. ++ * This corresponds to the limits imposed by the Set Allowed Characters / ++ * UnicodeSet functions. Limitations imposed by other checks will not be ++ * reflected in the set returned by this function. ++ * ++ * The returned set will be frozen, meaning that it cannot be modified ++ * by the caller. ++ * ++ * Ownership of the returned set remains with the Spoof Detector. The ++ * returned set will become invalid if the spoof detector is closed, ++ * or if a new set of allowed characters is specified. ++ * ++ * ++ * @param sc The USpoofChecker ++ * @param status The error code, set if this function encounters a problem. ++ * @return A UnicodeSet containing the characters that are permitted by ++ * the USPOOF_CHAR_LIMIT test. ++ * @stable ICU 4.2 ++ */ ++U_STABLE const icu::UnicodeSet * U_EXPORT2 ++uspoof_getAllowedUnicodeSet(const USpoofChecker *sc, UErrorCode *status); ++ ++/** ++ * Check the specified string for possible security issues. ++ * The text to be checked will typically be an identifier of some sort. ++ * The set of checks to be performed is specified with uspoof_setChecks(). ++ * ++ * \note ++ * Consider using the newer API, {@link uspoof_check2UnicodeString}, instead. ++ * The newer API exposes additional information from the check procedure ++ * and is otherwise identical to this method. ++ * ++ * @param sc The USpoofChecker ++ * @param id A identifier to be checked for possible security issues. ++ * @param position Deprecated in ICU 51. Always returns zero. ++ * Originally, an out parameter for the index of the first ++ * string position that failed a check. ++ * This parameter may be NULL. ++ * @param status The error code, set if an error occurred while attempting to ++ * perform the check. ++ * Spoofing or security issues detected with the input string are ++ * not reported here, but through the function's return value. ++ * @return An integer value with bits set for any potential security ++ * or spoofing issues detected. The bits are defined by ++ * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS) ++ * will be zero if the input string passes all of the ++ * enabled checks. ++ * @see uspoof_check2UnicodeString ++ * @stable ICU 4.2 ++ */ ++U_STABLE int32_t U_EXPORT2 ++uspoof_checkUnicodeString(const USpoofChecker *sc, ++ const icu::UnicodeString &id, ++ int32_t *position, ++ UErrorCode *status); ++ ++/** ++ * Check the specified string for possible security issues. ++ * The text to be checked will typically be an identifier of some sort. ++ * The set of checks to be performed is specified with uspoof_setChecks(). ++ * ++ * @param sc The USpoofChecker ++ * @param id A identifier to be checked for possible security issues. ++ * @param checkResult An instance of USpoofCheckResult to be filled with ++ * details about the identifier. Can be NULL. ++ * @param status The error code, set if an error occurred while attempting to ++ * perform the check. ++ * Spoofing or security issues detected with the input string are ++ * not reported here, but through the function's return value. ++ * @return An integer value with bits set for any potential security ++ * or spoofing issues detected. The bits are defined by ++ * enum USpoofChecks. (returned_value & USPOOF_ALL_CHECKS) ++ * will be zero if the input string passes all of the ++ * enabled checks. Any information in this bitmask will be ++ * consistent with the information saved in the optional ++ * checkResult parameter. ++ * @see uspoof_openCheckResult ++ * @see uspoof_check2 ++ * @see uspoof_check2UTF8 ++ * @stable ICU 58 ++ */ ++U_STABLE int32_t U_EXPORT2 ++uspoof_check2UnicodeString(const USpoofChecker *sc, ++ const icu::UnicodeString &id, ++ USpoofCheckResult* checkResult, ++ UErrorCode *status); ++ ++/** ++ * A version of {@link uspoof_areConfusable} accepting UnicodeStrings. ++ * ++ * @param sc The USpoofChecker ++ * @param s1 The first of the two identifiers to be compared for ++ * confusability. The strings are in UTF-8 format. ++ * @param s2 The second of the two identifiers to be compared for ++ * confusability. The strings are in UTF-8 format. ++ * @param status The error code, set if an error occurred while attempting to ++ * perform the check. ++ * Confusability of the identifiers is not reported here, ++ * but through this function's return value. ++ * @return An integer value with bit(s) set corresponding to ++ * the type of confusability found, as defined by ++ * enum USpoofChecks. Zero is returned if the identifiers ++ * are not confusable. ++ * ++ * @stable ICU 4.2 ++ * ++ * @see uspoof_areConfusable ++ */ ++U_STABLE int32_t U_EXPORT2 ++uspoof_areConfusableUnicodeString(const USpoofChecker *sc, ++ const icu::UnicodeString &s1, ++ const icu::UnicodeString &s2, ++ UErrorCode *status); ++ ++/** ++ * Get the "skeleton" for an identifier. ++ * Skeletons are a transformation of the input identifier; ++ * Two identifiers are confusable if their skeletons are identical. ++ * See Unicode UAX #39 for additional information. ++ * ++ * Using skeletons directly makes it possible to quickly check ++ * whether an identifier is confusable with any of some large ++ * set of existing identifiers, by creating an efficiently ++ * searchable collection of the skeletons. ++ * ++ * @param sc The USpoofChecker. ++ * @param type Deprecated in ICU 58. You may pass any number. ++ * Originally, controlled which of the Unicode confusable data ++ * tables to use. ++ * @param id The input identifier whose skeleton will be computed. ++ * @param dest The output identifier, to receive the skeleton string. ++ * @param status The error code, set if an error occurred while attempting to ++ * perform the check. ++ * @return A reference to the destination (skeleton) string. ++ * ++ * @stable ICU 4.2 ++ */ ++U_I18N_API icu::UnicodeString & U_EXPORT2 ++uspoof_getSkeletonUnicodeString(const USpoofChecker *sc, ++ uint32_t type, ++ const icu::UnicodeString &id, ++ icu::UnicodeString &dest, ++ UErrorCode *status); ++ + /** + * Get the set of Candidate Characters for Inclusion in Identifiers, as defined + * in http://unicode.org/Public/security/latest/xidmodifications.txt +@@ -1559,34 +1571,6 @@ uspoof_getRecommendedUnicodeSet(UErrorCode *status); + + #endif /* U_SHOW_CPLUSPLUS_API */ + +-/** +- * Serialize the data for a spoof detector into a chunk of memory. +- * The flattened spoof detection tables can later be used to efficiently +- * instantiate a new Spoof Detector. +- * +- * The serialized spoof checker includes only the data compiled from the +- * Unicode data tables by uspoof_openFromSource(); it does not include +- * include any other state or configuration that may have been set. +- * +- * @param sc the Spoof Detector whose data is to be serialized. +- * @param data a pointer to 32-bit-aligned memory to be filled with the data, +- * can be NULL if capacity==0 +- * @param capacity the number of bytes available at data, +- * or 0 for preflighting +- * @param status an in/out ICU UErrorCode; possible errors include: +- * - U_BUFFER_OVERFLOW_ERROR if the data storage block is too small for serialization +- * - U_ILLEGAL_ARGUMENT_ERROR the data or capacity parameters are bad +- * @return the number of bytes written or needed for the spoof data +- * +- * @see utrie2_openFromSerialized() +- * @stable ICU 4.2 +- */ +-U_STABLE int32_t U_EXPORT2 +-uspoof_serialize(USpoofChecker *sc, +- void *data, int32_t capacity, +- UErrorCode *status); +- +- +-#endif ++#endif /* UCONFIG_NO_NORMALIZATION */ + + #endif /* USPOOF_H */ +-- +2.21.0 + diff --git a/dev-libs/icu/icu-64.2.ebuild b/dev-libs/icu/icu-64.2.ebuild new file mode 100644 index 000000000000..456e444769e1 --- /dev/null +++ b/dev-libs/icu/icu-64.2.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit flag-o-matic toolchain-funcs autotools multilib-minimal + +DESCRIPTION="International Components for Unicode" +HOMEPAGE="http://www.icu-project.org/" +SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz" + +LICENSE="BSD" + +SLOT="0/${PV}" + +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +IUSE="debug doc examples static-libs" + +DEPEND=" + doc? ( app-doc/doxygen[dot] ) +" +BDEPEND=" + virtual/pkgconfig +" + +S="${WORKDIR}/${PN}/source" + +MULTILIB_CHOST_TOOLS=( + /usr/bin/icu-config +) + +PATCHES=( + "${FILESDIR}/${PN}-58.1-remove-bashisms.patch" + "${FILESDIR}/${PN}-64.2-darwin.patch" + "${FILESDIR}/${PN}-64.1-data_archive_generation.patch" +) + +src_prepare() { + default + eapply -p3 "${FILESDIR}/${PN}-64.2-extern_c.patch" + + local variable + + # Disable renaming as it is stupid thing to do + sed -i \ + -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 1/" \ + common/unicode/uconfig.h || die + + # Fix linking of icudata + sed -i \ + -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \ + config/mh-linux || die + + # Append doxygen configuration to configure + sed -i \ + -e 's:icudefs.mk:icudefs.mk Doxyfile:' \ + configure.ac || die + + eautoreconf +} + +src_configure() { + append-cxxflags -std=c++14 + + if tc-is-cross-compiler; then + mkdir "${WORKDIR}"/host || die + pushd "${WORKDIR}"/host >/dev/null || die + + CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \ + CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" AR="$(tc-getBUILD_AR)" \ + RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \ + "${S}"/configure --disable-renaming --disable-debug \ + --disable-samples --enable-static || die + emake + + popd >/dev/null || die + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local myeconfargs=( + --disable-renaming + --disable-samples + --disable-layoutex + $(use_enable debug) + $(use_enable static-libs static) + $(multilib_native_use_enable examples samples) + ) + + tc-is-cross-compiler && myeconfargs+=( + --with-cross-build="${WORKDIR}"/host + ) + + # icu tries to use clang by default + tc-export CC CXX + + # make sure we configure with the same shell as we run icu-config + # with, or ECHO_N, ECHO_T and ECHO_C will be wrongly defined + export CONFIG_SHELL="${EPREFIX}/bin/sh" + # probably have no /bin/sh in prefix-chain + [[ -x ${CONFIG_SHELL} ]] || CONFIG_SHELL="${BASH}" + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use doc; then + doxygen -u Doxyfile || die + doxygen Doxyfile || die + fi +} + +multilib_src_test() { + # INTLTEST_OPTS: intltest options + # -e: Exhaustive testing + # -l: Reporting of memory leaks + # -v: Increased verbosity + # IOTEST_OPTS: iotest options + # -e: Exhaustive testing + # -v: Increased verbosity + # CINTLTST_OPTS: cintltst options + # -e: Exhaustive testing + # -v: Increased verbosity + emake -j1 VERBOSE="1" check +} + +multilib_src_install() { + default + + if multilib_is_native_abi && use doc; then + docinto html + dodoc -r doc/html/* + fi +} + +multilib_src_install_all() { + einstalldocs + docinto html + dodoc ../readme.html +} |