Skip to Content.
Sympa Menu

sm-commit - [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (b9b895310cd87eae790f560bf2361ec607b04c3e)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Pavel Vinogradov <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org
  • Subject: [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (b9b895310cd87eae790f560bf2361ec607b04c3e)
  • Date: Mon, 14 Nov 2016 22:59:13 +0000

GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:

http/firefox/DEPENDS | 3 -
http/firefox/HISTORY | 3 +
libs/icu/DETAILS | 3 -
libs/icu/HISTORY | 5 +
libs/icu/PRE_BUILD | 3 +
libs/icu/collation.patch | 124
+++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 138 insertions(+), 3 deletions(-)

New commits:
commit b9b895310cd87eae790f560bf2361ec607b04c3e
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>

http/firefox: enabled building with system icu again

commit 6b88d79dbae2be0f4c6a195e6eb288c349d1a5a7
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>

libs/icu: added a fix for segfaults in other apps and missing hashsum

diff --git a/http/firefox/DEPENDS b/http/firefox/DEPENDS
index 20ae539..9402649 100755
--- a/http/firefox/DEPENDS
+++ b/http/firefox/DEPENDS
@@ -3,8 +3,7 @@ depends -sub CXX gcc
&&
depends perl &&
depends python &&

-# icu 58.1 crashes firefox 49.0.2 with a segfault, the relevant icu issue is
#12520
-#depends icu "--with-system-icu" &&
+depends icu "--with-system-icu" &&

depends glib2 &&
depends "gtk+${FIREFOX_GTK_VERSION}"
"--enable-default-toolkit=cairo-gtk${FIREFOX_GTK_VERSION}" &&
diff --git a/http/firefox/HISTORY b/http/firefox/HISTORY
index 4124390..f2d3812 100644
--- a/http/firefox/HISTORY
+++ b/http/firefox/HISTORY
@@ -1,3 +1,6 @@
+2016-11-14 Pavel Vinogradov <public AT sourcemage.org>
+ * DEPENDS: system icu is reliable again
+
2016-11-06 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
* DEPENDS: don't use system icu to prevent segfault

diff --git a/libs/icu/DETAILS b/libs/icu/DETAILS
index de52669..f895439 100755
--- a/libs/icu/DETAILS
+++ b/libs/icu/DETAILS
@@ -12,9 +12,10 @@ fi
VERSIONX=${VERSION//./_}
SOURCE=$SPELLX-$VERSIONX-src.tgz
SITE=http://download.icu-project.org/files
+ PATCHLEVEL=1

if [[ "$ICU_DOC" == 'y' ]]; then
- SOURCE2_HASH=sha512:
+
SOURCE2_HASH=sha512:d5df0ed77b6cc6afef324684184dce8aa05b4328c3aac36887c4a2b13597adaefc46a4de36060e95e98c5dd139ea121c70c6a44ca588ce755044077487726567
SOURCE2=$SPELLX-${VERSIONX}-docs.zip
SOURCE2_URL[0]=$SITE/$SPELLX/$VX/$SOURCE2
fi
diff --git a/libs/icu/HISTORY b/libs/icu/HISTORY
index 01d260b..c87c56d 100644
--- a/libs/icu/HISTORY
+++ b/libs/icu/HISTORY
@@ -1,3 +1,8 @@
+2016-11-14 Pavel Vinogradov <public AT sourcemage.org>
+ * DETAILS: PATCHLEVEL++, added missing hashsum for icu docs
+ * PRE_BUILD, collation.patch: added to fix segfaults in other apps
+ (such as Firefox), see http://bugs.icu-project.org/trac/ticket/12827
+
2016-10-25 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 58.1 (both)

diff --git a/libs/icu/PRE_BUILD b/libs/icu/PRE_BUILD
new file mode 100755
index 0000000..b61b40e
--- /dev/null
+++ b/libs/icu/PRE_BUILD
@@ -0,0 +1,3 @@
+default_pre_build &&
+cd "${SOURCE_DIRECTORY}" &&
+patch -p3 < ${SPELL_DIRECTORY}/collation.patch
diff --git a/libs/icu/collation.patch b/libs/icu/collation.patch
new file mode 100644
index 0000000..a1d1fb5
--- /dev/null
+++ b/libs/icu/collation.patch
@@ -0,0 +1,124 @@
+Index: /icu/trunk/source/common/ulist.c
+===================================================================
+--- /icu/trunk/source/common/ulist.c (revision 39483)
++++ /icu/trunk/source/common/ulist.c (revision 39484)
+@@ -30,5 +30,4 @@
+
+ int32_t size;
+- int32_t currentIndex;
+ };
+
+@@ -52,5 +51,4 @@
+ newList->tail = NULL;
+ newList->size = 0;
+- newList->currentIndex = -1;
+
+ return newList;
+@@ -81,6 +79,7 @@
+ p->next->previous = p->previous;
+ }
+- list->curr = NULL;
+- list->currentIndex = 0;
++ if (p == list->curr) {
++ list->curr = p->next;
++ }
+ --list->size;
+ if (p->forceDelete) {
+@@ -151,5 +150,4 @@
+ list->head->previous = newItem;
+ list->head = newItem;
+- list->currentIndex++;
+ }
+
+@@ -194,5 +192,4 @@
+ curr = list->curr;
+ list->curr = curr->next;
+- list->currentIndex++;
+
+ return curr->data;
+@@ -210,5 +207,4 @@
+ if (list != NULL) {
+ list->curr = list->head;
+- list->currentIndex = 0;
+ }
+ }
+@@ -273,3 +269,2 @@
+ return (UList *)(en->context);
+ }
+-
+Index: /icu/trunk/source/i18n/ucol_res.cpp
+===================================================================
+--- /icu/trunk/source/i18n/ucol_res.cpp (revision 39483)
++++ /icu/trunk/source/i18n/ucol_res.cpp (revision 39484)
+@@ -681,4 +681,5 @@
+ }
+ memcpy(en, &defaultKeywordValues, sizeof(UEnumeration));
++ ulist_resetList(sink.values); // Initialize the iterator.
+ en->context = sink.values;
+ sink.values = NULL; // Avoid deletion in the sink destructor.
+Index: /icu/trunk/source/test/intltest/apicoll.cpp
+===================================================================
+--- /icu/trunk/source/test/intltest/apicoll.cpp (revision 39483)
++++ /icu/trunk/source/test/intltest/apicoll.cpp (revision 39484)
+@@ -82,14 +82,7 @@
+ col = Collator::createInstance(Locale::getEnglish(), success);
+ if (U_FAILURE(success)){
+- errcheckln(success, "Default Collator creation failed. - %s",
u_errorName(success));
+- return;
+- }
+-
+- StringEnumeration* kwEnum = col->getKeywordValuesForLocale("",
Locale::getEnglish(),true,success);
+- if (U_FAILURE(success)){
+- errcheckln(success, "Get Keyword Values for Locale failed. - %s",
u_errorName(success));
+- return;
+- }
+- delete kwEnum;
++ errcheckln(success, "English Collator creation failed. - %s",
u_errorName(success));
++ return;
++ }
+
+ col->getVersion(versionArray);
+@@ -230,4 +223,27 @@
+ delete aFrCol;
+ delete junk;
++}
++
++void CollationAPITest::TestKeywordValues() {
++ IcuTestErrorCode errorCode(*this, "TestKeywordValues");
++ LocalPointer<Collator>
col(Collator::createInstance(Locale::getEnglish(), errorCode));
++ if (errorCode.logIfFailureAndReset("English Collator creation failed"))
{
++ return;
++ }
++
++ LocalPointer<StringEnumeration> kwEnum(
++ col->getKeywordValuesForLocale("collation", Locale::getEnglish(),
TRUE, errorCode));
++ if (errorCode.logIfFailureAndReset("Get Keyword Values for English
Collator failed")) {
++ return;
++ }
++ assertTrue("expect at least one collation tailoring for English",
kwEnum->count(errorCode) > 0);
++ const char *kw;
++ UBool hasStandard = FALSE;
++ while ((kw = kwEnum->next(NULL, errorCode)) != NULL) {
++ if (strcmp(kw, "standard") == 0) {
++ hasStandard = TRUE;
++ }
++ }
++ assertTrue("expect at least the 'standard' collation tailoring for
English", hasStandard);
+ }
+
+@@ -2467,4 +2483,5 @@
+ TESTCASE_AUTO_BEGIN;
+ TESTCASE_AUTO(TestProperty);
++ TESTCASE_AUTO(TestKeywordValues);
+ TESTCASE_AUTO(TestOperators);
+ TESTCASE_AUTO(TestDuplicate);
+Index: /icu/trunk/source/test/intltest/apicoll.h
+===================================================================
+--- /icu/trunk/source/test/intltest/apicoll.h (revision 39483)
++++ /icu/trunk/source/test/intltest/apicoll.h (revision 39484)
+@@ -36,4 +36,5 @@
+ */
+ void TestProperty(/* char* par */);
++ void TestKeywordValues();
+
+ /**



  • [SM-Commit] GIT changes to master grimoire by Pavel Vinogradov (b9b895310cd87eae790f560bf2361ec607b04c3e), Pavel Vinogradov, 11/14/2016

Archive powered by MHonArc 2.6.24.

Top of Page