summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreroen <eroen@occam.eroen.eu>2013-07-14 00:27:51 +0200
committereroen <eroen@occam.eroen.eu>2013-07-14 00:27:51 +0200
commit39c0fd57c7f105c7403edbf85d8d08ba9c19b7be (patch)
treea1b350af36a9c1f9c3149d987ed64f4a4c20241b /app-office
parentclucene - drop old (diff)
downloaderoen-39c0fd57c7f105c7403edbf85d8d08ba9c19b7be.tar.gz
eroen-39c0fd57c7f105c7403edbf85d8d08ba9c19b7be.tar.bz2
eroen-39c0fd57c7f105c7403edbf85d8d08ba9c19b7be.zip
libreoffice-4.1.0.1 - ugly patches for libcxx
Diffstat (limited to 'app-office')
-rw-r--r--app-office/libreoffice/Manifest15
-rw-r--r--app-office/libreoffice/files/Make-the-SAL_STREAM-thing-compile.patch28
-rw-r--r--app-office/libreoffice/files/Nah-we-still-need-the-dynamic_cast.patch32
-rw-r--r--app-office/libreoffice/files/No-need-for-a-buggy-rewrite.patch46
-rw-r--r--app-office/libreoffice/files/cppcheck-fix-duplicateExpression.patch27
-rw-r--r--app-office/libreoffice/files/disable-CppunitTest_sw_uwriter.patch14
-rw-r--r--app-office/libreoffice/files/disable-more-tests.patch22
-rw-r--r--app-office/libreoffice/files/eliminate-type-ambiguity-for-std-accumulate.patch38
-rw-r--r--app-office/libreoffice/files/fake-exception-name2.patch48
-rw-r--r--app-office/libreoffice/files/i122208-replace-the-binaryurp-cache.patch234
-rw-r--r--app-office/libreoffice/files/stop-messing-with-stdlib-internals.patch61
-rw-r--r--app-office/libreoffice/files/stop-messing-with-stdlib-internals2.patch75
-rw-r--r--app-office/libreoffice/libreoffice-4.1.0.1.ebuild23
-rw-r--r--app-office/libreoffice/metadata.xml25
14 files changed, 672 insertions, 16 deletions
diff --git a/app-office/libreoffice/Manifest b/app-office/libreoffice/Manifest
index 6135fd2..084cfc9 100644
--- a/app-office/libreoffice/Manifest
+++ b/app-office/libreoffice/Manifest
@@ -1,5 +1,16 @@
+AUX Make-the-SAL_STREAM-thing-compile.patch 919 SHA256 c5bbc809fa159db87330576727fe1da13fba5f6cf27e5f5e89cdb82f9cbd3891 SHA512 c865c25c85567a96068747f2331817193de03326f0d56b740351d5c93dcc54986bb2ec897ea859d749ca9f12ce131d9b7a5a07a65d5a3f13e318ca75d58de91f WHIRLPOOL 76438d501bbc3d5816c0479125d7357680d07c4a3ce7f374fff65355827955bdaec3083a60e56654e515593c43928f162702239a2ba25d797d76094b34522bd9
+AUX Nah-we-still-need-the-dynamic_cast.patch 997 SHA256 55a5ff9b8f877fe522c27c1f8db0a93202030412be8cc2087026bd74753c4410 SHA512 9047f3c6d3530c02a8f3d924b48daf77dc9d0d04d5f219bbf1e7c83b4a2a2d8d47f0d4815364dd0e8aef32fcdb2fa25b13d190a283164ee28205b84052874544 WHIRLPOOL d6c836862ff97ef0dca0394105735d6236a6f2411acb0d29389dc948279640ac01ff5b8aadea0d2a89cbdac30d4c0ea4f25c32208b0755857e5d7098ebfe848c
+AUX No-need-for-a-buggy-rewrite.patch 1867 SHA256 188cd24434f7dad88d49f2d62324be641e4d6beb9613f55099b2c88b3746518b SHA512 1c322d5aa21adb72a66d53a2d739f19e8bdab02c4e05cdcec1db574414c2e9a1014f80eb84c854d29398447a93c4b41f7150e0e12b920d4afdaa87b93060ca11 WHIRLPOOL c9913b9cb517d418fbdf4d8f78f5530287c0105251659af80d818a387456fe0c2a7ea20c49ffdf6817f974e48864ffbe80eef09529f12ff98c240b2f9a4c8115
+AUX cppcheck-fix-duplicateExpression.patch 1119 SHA256 0b9e4f5d37d1ad8c43f94df395f4011fab03a759d127a67a8b895c66d3b36f33 SHA512 cbc230442e283e814283be39c8ae150ddaff76db2d6ce13887f6f9fef3766de472ede7d7d22fe26b9b40ed0bb1e4b23a8429c16abb17a007a6557c4248aaf391 WHIRLPOOL fa8ce9b6937d5ad6bcf75cc20713f0739a73c2a04bf11f1e1d10abe4d2c4e19d8d68ce172abbddac4546ef1b0af1a3da3dae5eb61f92bf4c5d9d4469173fd193
+AUX disable-CppunitTest_sw_uwriter.patch 390 SHA256 fb82eec44d4b4114177f2b58bd04804c68c9f382529568346f5a09354fcb4f3a SHA512 c71482ecb07563689d037eefc18ae59670308cf639c3bb25f30b9a20ffa2b3e2c8779d064071218d8fcf9497916c8d32a8e3acd25f133788a2c44c92713da012 WHIRLPOOL b0495818178caa656419326ddd07cb46e8ae3fa8546c3dee8a319eb1f8e32616c0bf026308bc55af9b6eb8b0894eab8be37c36a246713024709f1a4a3909c4f0
+AUX disable-more-tests.patch 547 SHA256 7208e2d7c46c226f73fb53380fbf25072cdd1f5391c474f7e74857c436642ebc SHA512 ed48c9432d9ecd51b3512e1ca127993d77c9d9ced695cd2c0aca7b1c1596a0a8fa31c61ed7407f5eba9408981d0e4dca99f7dcfd85482025c507dd84708a66e2 WHIRLPOOL 607c0ffd89581427e26051b4feb215ba3254426f894860f1471b993a5733628ec1b2b77053a39ef8c5138b13e97dcf2c8ade730323e7f246cf12c858ad094b8a
+AUX eliminate-type-ambiguity-for-std-accumulate.patch 1617 SHA256 eace41e236379c320f940b76c84b7e612f694d2d1c779432261d78d39b2aff32 SHA512 e53a0dc05011373806fe3b60a832ce8375de23f9ecb5b15c2699cb0e4e0bd6a6f8a2ea4bc79c065a54274c9ea236c322621b0a4173ad0adebbe4b30c30d9c668 WHIRLPOOL 2011fb1b291a49af71b031d78f9a7a23da302dff289ab2c9b0d478e03ff171090807df83b4a1a480fd2a5657f2f749be9b42d09aec650513e950757603a9b26d
+AUX fake-exception-name2.patch 1651 SHA256 f21083cae202e59a87c0c8f4b747e6c254fa16719d0db52cd8b39c526b55db77 SHA512 155dc573a097f66d742231be55eddab38c0beb6a342d95abe61d94a31516fdd3b3db2fe55e520089cf43fbd7cf3bafce74105eca0d1c23b78503ae4dc9b004d2 WHIRLPOOL 380c5dd4daa626e273e40138a2e30ca516afd17b05bb80d9e021dd436803765285c37c0d5ad26aa7e75119ea73b7d726bbd8167da9e74d828fce19246d871c3c
+AUX i122208-replace-the-binaryurp-cache.patch 8403 SHA256 e726928abc300cea245746823fc0c95ed198a758d591c3210a052887f8c7dcaf SHA512 9bbec361401d7560ccb09f11ee70c67a16065ba8fc5426073387e10bfe67f0e0dc0b3be75b181474d5ff018d3fa0a17d67d0fc6542fd484444abebbd525ec7b5 WHIRLPOOL 3b34abb7e79aa70fd1bc40864f62cf483b538521baa5e65fafb74304d02553a040ee92e3e61ecc4e7ca461f9489cbf496d677dc30f9526f2cfb470cecfcc4227
AUX libreoffice-3.7-separate-checks.patch 1554 SHA256 d1128006f0e49cd0262a3c8e5f5251160929282cf65a5b560cde637346f7b724 SHA512 23f2d9587f5fdcfb1b59e9629d373b870a838003265cd48d88d1c6450e6d7e7bbb40df2b2ffc01efbe3cf14b9c5702174782797cfda152b7fcaa89eac7606314 WHIRLPOOL 0a3fe76cc8034a705a55886ac65242f3aa03a27d6905b7b1599295b97720321760884c2d2dedd6749d87dea9c769e34ade5f686e3c7e7d89900bec358f46ca04
AUX libreoffice-3.7-system-pyuno.patch 1642 SHA256 191d2462c13947d63a3f2758ec26b4b5b7765d06f0454add1c471e9dccfa9016 SHA512 76d0b836f2b26c9cd3a0ad2b471d033c863ffc1eb593f28f1ebecaae30f205adb97b4b0a63483f93d2f32d5934480f580776e1ce83baf77e5bedee759112fb8d WHIRLPOOL efada275cfa123b2f3fd96a20057fab5a8f83c50e0d401df1af76d1eb017e5c7ceb74d0a5d8fd77352379be4a69b67f22d99a072213b5644012094a31f353da0
+AUX stop-messing-with-stdlib-internals.patch 2772 SHA256 b62a948fac70a7ec446118cbe1e7256a0e0a500ea38cd513480fc5193395ede2 SHA512 f15fcbcaff056d2ce386c5650335f29cfbbd8c69f006b25f694e728b3cf9a68d631ad6a6bd69948f664a20605303e02c78263d1486538b9c18909260d3a0ee50 WHIRLPOOL 332066773155cb0d6df1eff1f86595af254d954d365fa353154b509ccfc2685e9aebd231d79cc653714a582f08950b83c2f2df45dbee983d5dc3109112ad93f7
+AUX stop-messing-with-stdlib-internals2.patch 3239 SHA256 699808f5d926f721272a7d95b0285f5b1625976f7eeb5a6dc5f3de7f643a715a SHA512 406409fa02f611570f9edffabad4c1eb28df669d97437919f5a57967a562c9b3ca495d873610e311740bfe1aaebea3db445aa4b4c4e1f28bcf4f4d3e91adb988 WHIRLPOOL aa7807e8e27024297612e85f26161eb24896b173226618a63b6528f751a8ad2ab8f60ba1e704e586178e067a2bad2c6a4e2df114a4bd9896743a22f48ac780fe
DIST 17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip 3519470 SHA256 d30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370 SHA512 a231eba4a1baca11766ef292ab45e302081115477fe23018652882923308856835cf8c9ecba61a5cf22543474ccef3136965d794a90c9e4e9e6dcc21f9af6e1a WHIRLPOOL c4b3b0c3e10171155e1d3431e8ab9b495dbf2fb924882024306bfb53f533f5b0231c06f47e3cfa77052013a816ea4cc5f237cc76fdb44a048fb6d5c177729aec
DIST 185d60944ea767075d27247c3162b3bc-unowinreg.dll 12288 SHA256 eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6 SHA512 854b8ae29b57b40ba6bb6ff66e723a0e8dad053fcc2849f0ad763cd8a31352f4aeba9636fd4e3f0f2a0cd985a6f49b4261b9ace68d6be821ed42cfa7a73eb13c WHIRLPOOL 16eb79e3674250fcb760b9698b4980414052d20f720d946701d1915c9b8915b4af75378668653d29581b77c19fcdba8f51d1f834c286cfcefcf4a420f8fcc1d5
DIST 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz 1652670 SHA256 390a5085651828b8fe12aa978b200f59b9155eedbb91a4be89bf7cf39eefdd4a SHA512 5664203e6426880041cdb227e91f79f00d2ca7ae28c6997f61b72cc599aac55838d082d2b2b551bd7a228424c350ddea5d41599b8ca58d444a2cd46c9206ea91 WHIRLPOOL 6486c48b73a4f79760b443cfd397b704eca0fd32b72304ae7e7cfa0f43583b0af15c7384548b5215ae57513ed8366c8f3a74630ab466ba19a63b346af8c5eaca
@@ -13,5 +24,5 @@ DIST libreoffice-branding-gentoo-0.7.tar.xz 72556 SHA256 57912157fe8874f9d628dd9
DIST libreoffice-help-4.0.4.2.tar.xz 1855588 SHA256 9d7f732760b24b6916266903913d7684d9b933640174b1e041d729914beb5a4e SHA512 848329df801dfba2b06006325371e7a51354bebe0e99ba98aca14d3e3882de0ccde902b440cb1e47984585350f7e4f48b779b36281d9844251e802245633bd30 WHIRLPOOL a7048fbddaa81eb0c97f86902054195c66f84babe42ac1e088338ba019b07283a9049b70554800224ad50ee9097b2e57b4493527177a9599d9251c42894da20f
DIST libreoffice-help-4.1.0.1.tar.xz 1846872 SHA256 71f724083e159d5eef3fda6357fbb5a4eb2d99fe038c9753b49d29b386510c6b SHA512 4fd4ff75e3f04c374e75600765a06dc6299fc338bfcacd802912abbae1e9db42a032afa20c6691852effb2d94584ca18f0992274e06f82009339203c854dce6d WHIRLPOOL b0355b98c561d1affa34db83ab104560415b04c95c7747f4b3a7ed8ddc707b5405c614b80f1fc2a3cafd795d99266183b4f4b91378b6890629a77aef6c40c9d1
EBUILD libreoffice-4.0.4.2.ebuild 17561 SHA256 2ee4e291efa1d0d990511fffcddb5e8b38ea8a2872de92c298d7f41b3ccf6d87 SHA512 f5f8884b54b0e94b7379a49993a8848395a710bd3a0b8380461bebd5737984a1f5cb04652ed59044f03a76117f32864e7b820e2fc7e8b677aa6a8e6b55dda060 WHIRLPOOL 242df1f18cc6cbe929ba9f3c364851fd4588eec0457afb252f64e6083a0ceb017d8f0d0c0a48f9f4dc695119358931346a228a0bef20e106b7f108b2dc8a1502
-EBUILD libreoffice-4.1.0.1.ebuild 17374 SHA256 2d3c9fbaa7a2e658486830e41f7580ac656571959945574e75d2a854ed9f00fb SHA512 1177c055239f42474afc781f8d0151020e201118b1d31c51d739681f720ad4909d20fdf34359a0e979051faf35ac935273da193c63f5689fb8ab82e31da7a25b WHIRLPOOL 91f3ad06a269005dc41e62e94839cc9e38ee6e5dcf4278c17881dbae6da4147d4b383dba9891e5fdc8ecf3b37648f7c8331b59c120032d24b46ca8d847ded9f4
-MISC metadata.xml 1176 SHA256 c1690efe4b2a0fa49801e5cbe66637e25ba71fb902115a75d363f6fe7dc444fb SHA512 2889263d6cf5388d402b2c3999d471e2a2e8c852dcd50755d9f6fd7a549e8b70af7afb66d2f58bc8b9f7bedb4d01a05dda6159c5433a5fdce20ba69f49b9d1b1 WHIRLPOOL e4b548267c79bee3de7bdec839c0fd4d2f1166ded0464d65e6103e63ffb8fb9c08c6a9ff0d01ab09c02826ff1b0b0233a55c5d49b701e963d8c732685b3267dd
+EBUILD libreoffice-4.1.0.1.ebuild 18073 SHA256 6547598f458a65805c83163a69f23315b10ee0da669cf5df0c3d0f15a6d1e46d SHA512 d06b206fab66cc55dce4bd064675bb6200f79713528355a2b7791c78e9c9669fb16da8ee646e1fd0139c175481238a27b3663755f1d50fbd7391d8c5c4218c37 WHIRLPOOL a28637732aee85f7e4a691447740750fcdfc1b0507c250766775e063daff88e411ba0ccaed6d408b7111200e657cc1b75637fa2fec8fc4ac312f587094e2a870
+MISC metadata.xml 1285 SHA256 e85c27cedc1b1a8ecf05886a41e15212d1703be0b081ee4a50da65b065102677 SHA512 e67cfc5094887344fe998f91bff4177c643ab05a8f2a11c4fb90a971b3eca1fb4115b556d14969481f4327fcfad431aa896f277dadfe8e208c3d685c0ca4c2d0 WHIRLPOOL 459b2840941ddf1ad6442cbbe84412c3572cc8966237b935c93afad3ed4271f203db07eaf8e5acbebdc219a7069b095c22d41397b943d9cb44119148b90b060f
diff --git a/app-office/libreoffice/files/Make-the-SAL_STREAM-thing-compile.patch b/app-office/libreoffice/files/Make-the-SAL_STREAM-thing-compile.patch
new file mode 100644
index 0000000..8dab36b
--- /dev/null
+++ b/app-office/libreoffice/files/Make-the-SAL_STREAM-thing-compile.patch
@@ -0,0 +1,28 @@
+From 691b6ea8e100fc55f0ff70a82511722733113a07 Mon Sep 17 00:00:00 2001
+From: Tor Lillqvist <tml@iki.fi>
+Date: Tue, 28 May 2013 05:43:57 +0000
+Subject: Make the SAL_STREAM thing compile with clang++ -std=c++11 -stdlib=libc++
+
+Avoid error: dynamic_cast from rvalue to reference type
+'::std::ostringstream &'.
+
+Change-Id: If5ba1ee79616e81b12f9db67c61b4f085b30a08e
+---
+(limited to 'include/sal/log.hxx')
+
+diff --git a/include/sal/log.hxx b/include/sal/log.hxx
+index 80721d0..ca3bb5e 100644
+--- a/include/sal/log.hxx
++++ b/include/sal/log.hxx
+@@ -158,8 +158,7 @@ inline char const * unwrapStream(SAL_UNUSED_PARAMETER StreamIgnore const &) {
+ @since LibreOffice 3.5
+ */
+ #define SAL_STREAM(stream) \
+- (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << stream). \
+- str())
++ (::std::ostringstream() << stream).str()
+
+ /**
+ @page sal_log Basic logging functionality.
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/Nah-we-still-need-the-dynamic_cast.patch b/app-office/libreoffice/files/Nah-we-still-need-the-dynamic_cast.patch
new file mode 100644
index 0000000..47e016e
--- /dev/null
+++ b/app-office/libreoffice/files/Nah-we-still-need-the-dynamic_cast.patch
@@ -0,0 +1,32 @@
+From b2a50c70072d55d0055d41e6862138a6a06cb08d Mon Sep 17 00:00:00 2001
+From: Tor Lillqvist <tml@iki.fi>
+Date: Tue, 28 May 2013 06:12:27 +0000
+Subject: Nah, we still need the dynamic_cast in SAL_STREAM for gcc/libstdc++
+
+Not sure if MSVC would accept also the simpler thing, but anyway, the
+dynamic_cast works for it, too.
+
+Change-Id: I2dfa1e70b75bc17d38b5e95be0a0f1dd66767bf1
+---
+(limited to 'include/sal/log.hxx')
+
+diff --git a/include/sal/log.hxx b/include/sal/log.hxx
+index ca3bb5e..23ea6f3 100644
+--- a/include/sal/log.hxx
++++ b/include/sal/log.hxx
+@@ -157,8 +157,13 @@ inline char const * unwrapStream(SAL_UNUSED_PARAMETER StreamIgnore const &) {
+
+ @since LibreOffice 3.5
+ */
++#ifdef _LIBCPP_VERSION
+ #define SAL_STREAM(stream) \
+ (::std::ostringstream() << stream).str()
++#else
++#define SAL_STREAM(stream) \
++ (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << stream).str())
++#endif
+
+ /**
+ @page sal_log Basic logging functionality.
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/No-need-for-a-buggy-rewrite.patch b/app-office/libreoffice/files/No-need-for-a-buggy-rewrite.patch
new file mode 100644
index 0000000..51a4367
--- /dev/null
+++ b/app-office/libreoffice/files/No-need-for-a-buggy-rewrite.patch
@@ -0,0 +1,46 @@
+From 12dc490c3af9ec0f34b513609f3b14effd5a2906 Mon Sep 17 00:00:00 2001
+From: Stephan Bergmann <sbergman@redhat.com>
+Date: Fri, 14 Jun 2013 12:18:11 +0000
+Subject: No need for a buggy rewrite
+
+... see 08bb8fca4144608237418d64b1479840c408256f "#i122208# replace the
+binaryurp cache for improved C++ compatibility" and
+059f041dfdffe0630ec573fb444c51cc463b90b1 "cppcheck: fix duplicateExpression,"
+when the only improvement is to not needlessly acquire/release raw rtl_uString
+instances.
+
+Change-Id: I734304b231d69f8089cbf1d35a3deda75f771c78
+---
+(limited to 'binaryurp/source')
+
+diff --git a/binaryurp/source/lessoperators.cxx b/binaryurp/source/lessoperators.cxx
+index 3a515f5..6d8952d 100644
+--- a/binaryurp/source/lessoperators.cxx
++++ b/binaryurp/source/lessoperators.cxx
+@@ -32,16 +32,14 @@
+
+ namespace com { namespace sun { namespace star { namespace uno {
+
+-bool operator<( const TypeDescription& rLeft, const TypeDescription& rRight) {
+- assert( rLeft.is() && rRight.is());
+- const typelib_TypeDescription& rA = *rLeft.get();
+- const typelib_TypeDescription& rB = *rRight.get();
+- if( rA.eTypeClass != rB.eTypeClass)
+- return (rA.eTypeClass < rB.eTypeClass);
+- const sal_Int32 nCmp = rtl_ustr_compare_WithLength(
+- rA.pTypeName->buffer, rA.pTypeName->length,
+- rB.pTypeName->buffer, rB.pTypeName->length);
+- return (nCmp < 0);
++bool operator <(TypeDescription const & left, TypeDescription const & right) {
++ assert(left.is() && right.is());
++ typelib_TypeClass tc1 = left.get()->eTypeClass;
++ typelib_TypeClass tc2 = right.get()->eTypeClass;
++ return tc1 < tc2 ||
++ (tc1 == tc2 &&
++ (OUString::unacquired(&left.get()->pTypeName) <
++ OUString::unacquired(&right.get()->pTypeName)));
+ }
+
+ bool TypeDescEqual::operator()( const TypeDescription& rLeft, const TypeDescription& rRight) const
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/cppcheck-fix-duplicateExpression.patch b/app-office/libreoffice/files/cppcheck-fix-duplicateExpression.patch
new file mode 100644
index 0000000..4961156
--- /dev/null
+++ b/app-office/libreoffice/files/cppcheck-fix-duplicateExpression.patch
@@ -0,0 +1,27 @@
+From 059f041dfdffe0630ec573fb444c51cc463b90b1 Mon Sep 17 00:00:00 2001
+From: Julien Nabet <serval2412@yahoo.fr>
+Date: Thu, 13 Jun 2013 19:27:26 +0000
+Subject: cppcheck: fix duplicateExpression
+
+Change-Id: If3b7b1faab858afa82d4c665ee1a5036190e69aa
+Reviewed-on: https://gerrit.libreoffice.org/4278
+Reviewed-by: Tomáš Chvátal <tchvatal@suse.cz>
+Tested-by: Tomáš Chvátal <tchvatal@suse.cz>
+---
+(limited to 'binaryurp/source')
+
+diff --git a/binaryurp/source/lessoperators.cxx b/binaryurp/source/lessoperators.cxx
+index 55f3a49..3a515f5 100644
+--- a/binaryurp/source/lessoperators.cxx
++++ b/binaryurp/source/lessoperators.cxx
+@@ -36,7 +36,7 @@ bool operator<( const TypeDescription& rLeft, const TypeDescription& rRight) {
+ assert( rLeft.is() && rRight.is());
+ const typelib_TypeDescription& rA = *rLeft.get();
+ const typelib_TypeDescription& rB = *rRight.get();
+- if( rA.eTypeClass != rA.eTypeClass)
++ if( rA.eTypeClass != rB.eTypeClass)
+ return (rA.eTypeClass < rB.eTypeClass);
+ const sal_Int32 nCmp = rtl_ustr_compare_WithLength(
+ rA.pTypeName->buffer, rA.pTypeName->length,
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/disable-CppunitTest_sw_uwriter.patch b/app-office/libreoffice/files/disable-CppunitTest_sw_uwriter.patch
new file mode 100644
index 0000000..dfe6d01
--- /dev/null
+++ b/app-office/libreoffice/files/disable-CppunitTest_sw_uwriter.patch
@@ -0,0 +1,14 @@
+--- a/libreoffice-4.1.0.1/sw/Module_sw.mk 2013-07-13 22:50:48.735630800 +0200
++++ b/libreoffice-4.1.0.1/sw/Module_sw.mk 2013-07-13 22:51:56.815235432 +0200
+@@ -41,10 +41,6 @@
+
+ endif
+
+-$(eval $(call gb_Module_add_check_targets,sw,\
+- CppunitTest_sw_uwriter \
+-))
+-
+ $(eval $(call gb_Module_add_slowcheck_targets,sw,\
+ CppunitTest_sw_htmlexport \
+ CppunitTest_sw_macros_test \
+
diff --git a/app-office/libreoffice/files/disable-more-tests.patch b/app-office/libreoffice/files/disable-more-tests.patch
new file mode 100644
index 0000000..e9490d2
--- /dev/null
+++ b/app-office/libreoffice/files/disable-more-tests.patch
@@ -0,0 +1,22 @@
+--- a/libreoffice-4.1.0.1/testtools/Module_testtools.mk 2013-07-13 22:04:00.717824708 +0200
++++ b/libreoffice-4.1.0.1/testtools/Module_testtools.mk 2013-07-13 22:03:17.520527883 +0200
+@@ -12,7 +12,6 @@
+ ifneq ($(CROSS_COMPILING),YES)
+
+ $(eval $(call gb_Module_add_targets,testtools,\
+- CustomTarget_bridgetest \
+ InternalUnoApi_bridgetest \
+ StaticLibrary_bridgetest \
+ Library_cppobj \
+@@ -34,10 +33,6 @@
+ ))
+ endif
+
+-$(eval $(call gb_Module_add_check_targets,testtools,\
+- CustomTarget_uno_test \
+-))
+-
+ endif
+
+ # vim:set noet sw=4 ts=4:
+
diff --git a/app-office/libreoffice/files/eliminate-type-ambiguity-for-std-accumulate.patch b/app-office/libreoffice/files/eliminate-type-ambiguity-for-std-accumulate.patch
new file mode 100644
index 0000000..49d9d19
--- /dev/null
+++ b/app-office/libreoffice/files/eliminate-type-ambiguity-for-std-accumulate.patch
@@ -0,0 +1,38 @@
+From 982462ac5c6df0c85ba6a0b3fbdaa80b38a94882 Mon Sep 17 00:00:00 2001
+From: Herbert Dürr <hdu@apache.org>
+Date: Tue, 16 Apr 2013 11:41:34 +0000
+Subject: eliminate type ambiguity for std::accumulate() invocation
+
+else clang/libc++ cannot decide between bool and a reference into a bit-vector
+specialization
+
+(cherry picked from commit 6a88a21257124d953637c4b8ead9c9771e15b899)
+
+Change-Id: I694bbad82b1a05ebe86c5c941f3ac85c71f5fc9e
+---
+(limited to 'slideshow/source/engine/activities/activitiesfactory.cxx')
+
+diff --git a/slideshow/source/engine/activities/activitiesfactory.cxx b/slideshow/source/engine/activities/activitiesfactory.cxx
+index 2354e51..530a8fe 100644
+--- a/slideshow/source/engine/activities/activitiesfactory.cxx
++++ b/slideshow/source/engine/activities/activitiesfactory.cxx
+@@ -557,7 +557,7 @@ public:
+ // interpolate between nIndex and nIndex+1 values
+ (*mpAnim)(
+ getPresentationValue(
+- accumulate( maValues.back(),
++ accumulate<ValueType>( maValues.back(),
+ mbCumulative ? nRepeatCount : 0,
+ maInterpolator( maValues[ nIndex ],
+ maValues[ nIndex+1 ],
+@@ -577,7 +577,7 @@ public:
+ // this is discrete, thus no lerp here.
+ (*mpAnim)(
+ getPresentationValue(
+- accumulate( maValues.back(),
++ accumulate<ValueType>( maValues.back(),
+ mbCumulative ? nRepeatCount : 0,
+ maValues[ nFrame ] ) ) );
+ }
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/fake-exception-name2.patch b/app-office/libreoffice/files/fake-exception-name2.patch
new file mode 100644
index 0000000..4889a0a
--- /dev/null
+++ b/app-office/libreoffice/files/fake-exception-name2.patch
@@ -0,0 +1,48 @@
+--- a/libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-07-13 22:34:02.259338619 +0200
++++ b/libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-07-13 22:33:59.621322848 +0200
+@@ -94,23 +94,25 @@
+ #endif
+
+ // example: N3com3sun4star4lang24IllegalArgumentExceptionE
++ //char const *p2 = "N3com3sun4star4lang24IllegalArgumentExceptionE";
++ char const *p2 = "N3com3sun4star4lang24IllegalArgumentExcepti00E";
+
+ OUStringBuffer buf( 64 );
+- OSL_ASSERT( 'N' == *p );
+- ++p; // skip N
++ OSL_ASSERT( 'N' == *p2 );
++ ++p2; // skip N
+
+- while ('E' != *p)
++ while ('E' != *p2)
+ {
+ // read chars count
+- long n = (*p++ - '0');
+- while ('0' <= *p && '9' >= *p)
++ long n = (*p2++ - '0');
++ while ('0' <= *p2 && '9' >= *p2)
+ {
+ n *= 10;
+- n += (*p++ - '0');
++ n += (*p2++ - '0');
+ }
+- buf.appendAscii( p, n );
+- p += n;
+- if ('E' != *p)
++ buf.appendAscii( p2, n );
++ p2 += n;
++ if ('E' != *p2)
+ buf.append( (sal_Unicode)'.' );
+ }
+
+@@ -327,7 +329,8 @@
+ }
+
+ typelib_TypeDescription * pExcTypeDescr = 0;
+- OUString unoName( toUNOname( header->exceptionType->name() ) );
++ //OUString unoName( toUNOname( header->exceptionType->name() ) );
++ OUString unoName( toUNOname( "N3Xom3sun4star4lang24UnknownArgumentExcepti01E" ) );
+ #if OSL_DEBUG_LEVEL > 1
+ OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
+ fprintf( stderr, "> c++ exception occurred: %s\n", cstr_unoName.getStr() );
+
diff --git a/app-office/libreoffice/files/i122208-replace-the-binaryurp-cache.patch b/app-office/libreoffice/files/i122208-replace-the-binaryurp-cache.patch
new file mode 100644
index 0000000..b334456
--- /dev/null
+++ b/app-office/libreoffice/files/i122208-replace-the-binaryurp-cache.patch
@@ -0,0 +1,234 @@
+From 08bb8fca4144608237418d64b1479840c408256f Mon Sep 17 00:00:00 2001
+From: Herbert Dürr <hdu@apache.org>
+Date: Wed, 08 May 2013 17:26:08 +0000
+Subject: #i122208# replace the binaryurp cache for improved C++ compatibility
+
+Failing to instantiatie incomplete types like the Map::iterator in
+binaryurp Cache's Entry members is allowed by the C++ standard.
+The rewrite makes it more compliant with other C++ compilers/STLs.
+And interesting alternative would be to use boost's multi_index_container.
+
+git-svn-id: http://svn.apache.org/repos/asf/openoffice/branches/rejuvenate01@1480367 13f79535-47bb-0310-9956-ffa450edef68
+---
+(limited to 'binaryurp/source')
+
+diff --git a/binaryurp/source/cache.hxx b/binaryurp/source/cache.hxx
+index 05c0069..7e5ba89 100644
+--- a/binaryurp/source/cache.hxx
++++ b/binaryurp/source/cache.hxx
+@@ -25,6 +25,7 @@
+ #include <cassert>
+ #include <cstddef>
+ #include <map>
++#include <list>
+
+ #include "boost/noncopyable.hpp"
+ #include "sal/types.h"
+@@ -37,88 +38,57 @@ enum { size = 256, ignore = 0xFFFF };
+
+ }
+
+-template< typename T > class Cache: private boost::noncopyable {
++template< typename T > class Cache : private boost::noncopyable {
+ public:
++ typedef sal_uInt16 IdxType;
++
+ explicit Cache(std::size_t size):
+- size_(size), first_(map_.end()), last_(map_.end())
++ size_(size)
+ {
+ assert(size < cache::ignore);
+ }
+
+- sal_uInt16 add(T const & content, bool * found) {
+- assert(found != 0);
+- typename Map::iterator i(map_.find(content));
+- *found = i != map_.end();
+- if (i == map_.end()) {
+- typename Map::size_type n = map_.size();
+- if (n < size_) {
+- i =
+- (map_.insert(
+- typename Map::value_type(
+- content,
+- Entry(
+- static_cast< sal_uInt16 >(n), map_.end(),
+- first_)))).
+- first;
+- if (first_ == map_.end()) {
+- last_ = i;
+- } else {
+- first_->second.prev = i;
+- }
+- first_ = i;
+- } else if (last_ != map_.end()) {
+- i =
+- (map_.insert(
+- typename Map::value_type(
+- content,
+- Entry(last_->second.index, map_.end(), first_)))).
+- first;
+- first_->second.prev = i;
+- first_ = i;
+- typename Map::iterator j(last_);
+- last_ = last_->second.prev;
+- last_->second.next = map_.end();
+- map_.erase(j);
+- } else {
+- // Reached iff size_ == 0:
+- return cache::ignore;
+- }
+- } else if (i != first_) {
+- // Move to front (reached only if size_ > 1):
+- i->second.prev->second.next = i->second.next;
+- if (i->second.next == map_.end()) {
+- last_ = i->second.prev;
+- } else {
+- i->second.next->second.prev = i->second.prev;
+- }
+- i->second.prev = map_.end();
+- i->second.next = first_;
+- first_->second.prev = i;
+- first_ = i;
+- }
+- return i->second.index;
++ IdxType add( const T& rContent, bool* pbFound) {
++ assert( pbFound != NULL);
++ if( !size_) {
++ *pbFound = false;
++ return cache::ignore;
++ }
++ // try to insert into the map
++ list_.push_front( rContent); // create a temp entry
++ typedef std::pair<typename LruList::iterator, IdxType> MappedType;
++ typedef std::pair<typename LruItMap::iterator,bool> MapPair;
++ MapPair aMP = map_.insert( MappedType( list_.begin(), 0));
++ *pbFound = !aMP.second;
++
++ if( !aMP.second) { // insertion not needed => found the entry
++ list_.pop_front(); // remove the temp entry
++ list_.splice( list_.begin(), list_, aMP.first->first); // the found entry is moved to front
++ return aMP.first->second;
++ }
++
++ // test insertion successful => it was new so we keep it
++ IdxType n = static_cast<IdxType>( map_.size() - 1);
++ if( n >= size_) { // cache full => replace the LRU entry
++ // find the least recently used element in the map
++ typename LruItMap::iterator it = map_.find( --list_.end());
++ n = it->second;
++ map_.erase( it); // remove it from the map
++ list_.pop_back(); // remove from the list
++ }
++ aMP.first->second = n;
++ return n;
+ }
+
+ private:
+- struct Entry;
+-
+- typedef std::map< T, Entry > Map;
+-
+- struct Entry {
+- sal_uInt16 index;
+- typename Map::iterator prev;
+- typename Map::iterator next;
+-
+- Entry(
+- sal_uInt16 theIndex, typename Map::iterator thePrev,
+- typename Map::iterator theNext):
+- index(theIndex), prev(thePrev), next(theNext) {}
+- };
++ typedef std::list<T> LruList; // last recently used list
++ typedef typename LruList::iterator LruListIt;
++ struct CmpT{ bool operator()( const LruListIt& rA, const LruListIt& rB) const { return (*rA<*rB);}};
++ typedef ::std::map< LruListIt, IdxType, CmpT > LruItMap; // a map into a LruList
+
+ std::size_t size_;
+- Map map_;
+- typename Map::iterator first_;
+- typename Map::iterator last_;
++ LruItMap map_;
++ LruList list_;
+ };
+
+ }
+diff --git a/binaryurp/source/lessoperators.cxx b/binaryurp/source/lessoperators.cxx
+index b0031e7..55f3a49 100644
+--- a/binaryurp/source/lessoperators.cxx
++++ b/binaryurp/source/lessoperators.cxx
+@@ -32,14 +32,38 @@
+
+ namespace com { namespace sun { namespace star { namespace uno {
+
+-bool operator <(TypeDescription const & left, TypeDescription const & right) {
+- assert(left.is() && right.is());
+- typelib_TypeClass tc1 = left.get()->eTypeClass;
+- typelib_TypeClass tc2 = right.get()->eTypeClass;
+- return tc1 < tc2 ||
+- (tc1 == tc2 &&
+- (OUString(left.get()->pTypeName) <
+- OUString(right.get()->pTypeName)));
++bool operator<( const TypeDescription& rLeft, const TypeDescription& rRight) {
++ assert( rLeft.is() && rRight.is());
++ const typelib_TypeDescription& rA = *rLeft.get();
++ const typelib_TypeDescription& rB = *rRight.get();
++ if( rA.eTypeClass != rA.eTypeClass)
++ return (rA.eTypeClass < rB.eTypeClass);
++ const sal_Int32 nCmp = rtl_ustr_compare_WithLength(
++ rA.pTypeName->buffer, rA.pTypeName->length,
++ rB.pTypeName->buffer, rB.pTypeName->length);
++ return (nCmp < 0);
++}
++
++bool TypeDescEqual::operator()( const TypeDescription& rLeft, const TypeDescription& rRight) const
++{
++ assert( rLeft.is() && rRight.is());
++ const typelib_TypeDescription& rA = *rLeft.get();
++ const typelib_TypeDescription& rB = *rRight.get();
++ if( rA.eTypeClass != rB.eTypeClass)
++ return false;
++ const sal_Int32 nCmp = rtl_ustr_compare_WithLength(
++ rA.pTypeName->buffer, rA.pTypeName->length,
++ rB.pTypeName->buffer, rB.pTypeName->length);
++ return (nCmp == 0);
++}
++
++sal_Int32 TypeDescHash::operator()( const TypeDescription& rTD) const
++{
++ assert( rTD.is());
++ const typelib_TypeDescription& rA = *rTD.get();
++ sal_Int32 h = rtl_ustr_hashCode_WithLength( rA.pTypeName->buffer, rA.pTypeName->length);
++ h ^= static_cast<sal_Int32>(rA.eTypeClass);
++ return h;
+ }
+
+ } } } }
+@@ -47,8 +71,8 @@ bool operator <(TypeDescription const & left, TypeDescription const & right) {
+ namespace rtl {
+
+ bool operator <(ByteSequence const & left, ByteSequence const & right) {
+- for (sal_Int32 i = 0; i != std::min(left.getLength(), right.getLength());
+- ++i)
++ const sal_Int32 nLen = std::min( left.getLength(), right.getLength());
++ for( sal_Int32 i = 0; i < nLen; ++i )
+ {
+ if (left[i] < right[i]) {
+ return true;
+diff --git a/binaryurp/source/lessoperators.hxx b/binaryurp/source/lessoperators.hxx
+index f3202b5..317e76a 100644
+--- a/binaryurp/source/lessoperators.hxx
++++ b/binaryurp/source/lessoperators.hxx
+@@ -31,6 +31,10 @@ namespace com { namespace sun { namespace star { namespace uno {
+
+ bool operator <(TypeDescription const & left, TypeDescription const & right);
+
++struct TypeDescHash { sal_Int32 operator()( const TypeDescription&) const; };
++
++struct TypeDescEqual { bool operator()( const TypeDescription&, const TypeDescription&) const; };
++
+ } } } }
+
+ namespace rtl {
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/app-office/libreoffice/files/stop-messing-with-stdlib-internals.patch b/app-office/libreoffice/files/stop-messing-with-stdlib-internals.patch
new file mode 100644
index 0000000..b9f8d31
--- /dev/null
+++ b/app-office/libreoffice/files/stop-messing-with-stdlib-internals.patch
@@ -0,0 +1,61 @@
+much from <http://cgit.freedesktop.org/libreoffice/core/tree/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx>
+diff -ur a-libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx
+--- a-libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-06-20 09:13:52.000000000 +0200
++++ libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-07-11 14:16:40.998562174 +0200
+@@ -53,6 +53,38 @@
+
+ namespace CPPU_CURRENT_NAMESPACE
+ {
++struct FAKE_type_info: public std::type_info {
++ FAKE_type_info(char const * name): type_info(name) {}
++};
++struct FAKE_si_class_type_info: public FAKE_type_info {
++ FAKE_si_class_type_info(char const * name, std::type_info const * theBase):
++ FAKE_type_info(name), base(theBase) {}
++
++ std::type_info const * base;
++ // actually a __cxxabiv1::__class_type_info pointer
++};
++struct Base {};
++struct Derived: Base {};
++
++std::type_info * create_FAKE_class_type_info(char const * name) {
++ std::type_info * p = new FAKE_type_info(name);
++ // cxxabiv1::__class_type_info has no data members in addition to
++ // std::type_info
++ *reinterpret_cast< void ** >(p) = *reinterpret_cast< void * const * >(
++ &typeid(Base));
++ // copy correct __cxxabiv1::__class_type_info vtable into place
++ return p;
++}
++
++std::type_info * create_FAKE_si_class_type_info(
++ char const * name, std::type_info const * base)
++{
++ std::type_info * p = new FAKE_si_class_type_info(name, base);
++ *reinterpret_cast< void ** >(p) = *reinterpret_cast< void * const * >(
++ &typeid(Derived));
++ // copy correct __cxxabiv1::__si_class_type_info vtable into place
++ return p;
++}
+
+ //==================================================================================================
+ static OUString toUNOname( char const * p ) SAL_THROW(())
+@@ -180,13 +212,13 @@
+ // ensure availability of base
+ type_info * base_rtti = getRTTI(
+ (typelib_CompoundTypeDescription *)pTypeDescr->pBaseTypeDescription );
+- rtti = new __si_class_type_info(
+- strdup( rttiName ), (__class_type_info *)base_rtti );
++ rtti = create_FAKE_si_class_type_info(
++ strdup( rttiName ), base_rtti );
+ }
+ else
+ {
+ // this class has no base class
+- rtti = new __class_type_info( strdup( rttiName ) );
++ rtti = create_FAKE_class_type_info( strdup( rttiName ) );
+ }
+
+ pair< t_rtti_map::iterator, bool > insertion (
+
diff --git a/app-office/libreoffice/files/stop-messing-with-stdlib-internals2.patch b/app-office/libreoffice/files/stop-messing-with-stdlib-internals2.patch
new file mode 100644
index 0000000..31c27ba
--- /dev/null
+++ b/app-office/libreoffice/files/stop-messing-with-stdlib-internals2.patch
@@ -0,0 +1,75 @@
+--- a/libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-07-13 22:47:29.146836141 +0200
++++ b/libreoffice-4.1.0.1/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx 2013-07-13 22:47:24.428793311 +0200
+@@ -53,38 +53,6 @@
+
+ namespace CPPU_CURRENT_NAMESPACE
+ {
+-struct FAKE_type_info: public std::type_info {
+- FAKE_type_info(char const * name): type_info(name) {}
+-};
+-struct FAKE_si_class_type_info: public FAKE_type_info {
+- FAKE_si_class_type_info(char const * name, std::type_info const * theBase):
+- FAKE_type_info(name), base(theBase) {}
+-
+- std::type_info const * base;
+- // actually a __cxxabiv1::__class_type_info pointer
+-};
+-struct Base {};
+-struct Derived: Base {};
+-
+-std::type_info * create_FAKE_class_type_info(char const * name) {
+- std::type_info * p = new FAKE_type_info(name);
+- // cxxabiv1::__class_type_info has no data members in addition to
+- // std::type_info
+- *reinterpret_cast< void ** >(p) = *reinterpret_cast< void * const * >(
+- &typeid(Base));
+- // copy correct __cxxabiv1::__class_type_info vtable into place
+- return p;
+-}
+-
+-std::type_info * create_FAKE_si_class_type_info(
+- char const * name, std::type_info const * base)
+-{
+- std::type_info * p = new FAKE_si_class_type_info(name, base);
+- *reinterpret_cast< void ** >(p) = *reinterpret_cast< void * const * >(
+- &typeid(Derived));
+- // copy correct __cxxabiv1::__si_class_type_info vtable into place
+- return p;
+-}
+
+ //==================================================================================================
+ static OUString toUNOname( char const * p ) SAL_THROW(())
+@@ -202,30 +170,8 @@
+ t_rtti_map::const_iterator iFind2( m_generatedRttis.find( unoName ) );
+ if (iFind2 == m_generatedRttis.end())
+ {
+- // we must generate it !
+- // symbol and rtti-name is nearly identical,
+- // the symbol is prefixed with _ZTI
+- char const * rttiName = symName.getStr() +4;
+-#if OSL_DEBUG_LEVEL > 1
+- fprintf( stderr,"generated rtti for %s\n", rttiName );
+-#endif
+- if (pTypeDescr->pBaseTypeDescription)
+- {
+- // ensure availability of base
+- type_info * base_rtti = getRTTI(
+- (typelib_CompoundTypeDescription *)pTypeDescr->pBaseTypeDescription );
+- rtti = create_FAKE_si_class_type_info(
+- strdup( rttiName ), base_rtti );
+- }
+- else
+- {
+- // this class has no base class
+- rtti = create_FAKE_class_type_info( strdup( rttiName ) );
+- }
+-
+- pair< t_rtti_map::iterator, bool > insertion (
+- m_generatedRttis.insert( t_rtti_map::value_type( unoName, rtti ) ) );
+- SAL_WARN_IF( !insertion.second, "bridges", "key " << unoName << " already in generated rtti map" );
++ OSL_FAIL("Cannot generate type_infos with libc++, sigh");
++ return NULL;
+ }
+ else // taking already generated rtti
+ {
+
diff --git a/app-office/libreoffice/libreoffice-4.1.0.1.ebuild b/app-office/libreoffice/libreoffice-4.1.0.1.ebuild
index 6e3c96c..18b2f4a 100644
--- a/app-office/libreoffice/libreoffice-4.1.0.1.ebuild
+++ b/app-office/libreoffice/libreoffice-4.1.0.1.ebuild
@@ -72,7 +72,7 @@ unset EXT_URI
unset ADDONS_SRC
IUSE="bluetooth +branding +cups dbus debug eds gnome gstreamer +gtk
-gtk3 jemalloc kde mysql odk opengl postgres telepathy test +vba +webdav"
+gtk3 jemalloc kde libcxx mysql odk opengl postgres telepathy test +vba +webdav"
LO_EXTS="nlpsolver presenter-minimizer scripting-beanshell scripting-javascript wiki-publisher"
# Unpackaged separate extensions:
@@ -89,7 +89,7 @@ unset lo_xt
LICENSE="|| ( LGPL-3 MPL-1.1 )"
SLOT="0"
[[ ${PV} == *9999* ]] || \
-KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~x86"
COMMON_DEPEND="
${PYTHON_DEPS}
@@ -333,6 +333,25 @@ src_prepare() {
epatch
fi
+ if use libcxx; then
+ epatch "${FILESDIR}"/Make-the-SAL_STREAM-thing-compile.patch
+ epatch "${FILESDIR}"/Nah-we-still-need-the-dynamic_cast.patch
+
+ # by eroen
+ epatch "${FILESDIR}"/stop-messing-with-stdlib-internals.patch
+
+ epatch "${FILESDIR}"/i122208-replace-the-binaryurp-cache.patch
+ epatch "${FILESDIR}"/cppcheck-fix-duplicateExpression.patch
+ epatch "${FILESDIR}"/No-need-for-a-buggy-rewrite.patch
+ epatch "${FILESDIR}"/eliminate-type-ambiguity-for-std-accumulate.patch
+
+ # by eroen
+ epatch "${FILESDIR}"/fake-exception-name2.patch
+ epatch "${FILESDIR}"/stop-messing-with-stdlib-internals2.patch
+ epatch "${FILESDIR}"/disable-CppunitTest_sw_uwriter.patch
+ epatch "${FILESDIR}"/disable-more-tests.patch
+ fi
+
base_src_prepare
AT_M4DIR="m4" eautoreconf
diff --git a/app-office/libreoffice/metadata.xml b/app-office/libreoffice/metadata.xml
index 09a0289..76c29d1 100644
--- a/app-office/libreoffice/metadata.xml
+++ b/app-office/libreoffice/metadata.xml
@@ -1,20 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <herd>openoffice</herd>
- <longdescription>LibreOffice is a fork of OpenOffice.org.
+ <herd>openoffice</herd>
+ <longdescription>LibreOffice is a fork of OpenOffice.org.
This ebuild allows you to compile it yourself. Unfortunately this
compilation can take up to a day depending on the speed of your
computer. It will however make a snappier openoffice than the binary
version</longdescription>
- <use>
- <flag name="binfilter">Enable support for legacy StarOffice 5.x and earlier file formats</flag>
- <flag name="binfilterdebug">Generate debug info for binfilter code (not recommended, huge files result)</flag>
- <flag name="gtk3">Enable highly experimental gtk3 frontend</flag>
- <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
- <flag name="odk">Build the Office Development Kit</flag>
- <flag name="telepathy">Enable document colaboration features using telepathy communication framework.</flag>
- <flag name="vba">Enable support for VBA compatibility and ActiveX embedding</flag>
- <flag name="webdav">Adds support for HTTP content adding via <pkg>net-libs/neon</pkg></flag>
- </use>
+ <use>
+ <flag name="binfilter">Enable support for legacy StarOffice 5.x and earlier file formats</flag>
+ <flag name="binfilterdebug">Generate debug info for binfilter code (not recommended, huge files result)</flag>
+ <flag name="gtk3">Enable highly experimental gtk3 frontend</flag>
+ <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
+ <flag name="libcxx">Apply patches to build against <pkg>sys-libs/libcxx</pkg></flag>
+ <flag name="odk">Build the Office Development Kit</flag>
+ <flag name="telepathy">Enable document colaboration features using telepathy communication framework.</flag>
+ <flag name="vba">Enable support for VBA compatibility and ActiveX embedding</flag>
+ <flag name="webdav">Adds support for HTTP content adding via <pkg>net-libs/neon</pkg></flag>
+ </use>
</pkgmetadata>