From d9687afd09db8b04c5ae90edf22df599532256c6 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 21 May 2012 00:02:00 +0000 Subject: Mon May 21 00:02:00 UTC 2012 --- staging/libreoffice/PKGBUILD | 56 +++- .../fix_broken_hebrew_wordwrapping.diff | 360 +++++++++++++++++++++ staging/libreoffice/libreoffice-base.install | 11 + staging/libreoffice/libreoffice-calc.install | 11 + staging/libreoffice/libreoffice-common.install | 47 +++ staging/libreoffice/libreoffice-draw.install | 11 + staging/libreoffice/libreoffice-impress.install | 11 + staging/libreoffice/libreoffice-writer.install | 11 + 8 files changed, 513 insertions(+), 5 deletions(-) create mode 100644 staging/libreoffice/fix_broken_hebrew_wordwrapping.diff create mode 100644 staging/libreoffice/libreoffice-base.install create mode 100644 staging/libreoffice/libreoffice-calc.install create mode 100644 staging/libreoffice/libreoffice-common.install create mode 100644 staging/libreoffice/libreoffice-draw.install create mode 100644 staging/libreoffice/libreoffice-impress.install create mode 100644 staging/libreoffice/libreoffice-writer.install (limited to 'staging/libreoffice') diff --git a/staging/libreoffice/PKGBUILD b/staging/libreoffice/PKGBUILD index bee345b92..ec862da00 100644 --- a/staging/libreoffice/PKGBUILD +++ b/staging/libreoffice/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 159004 2012-05-14 18:20:56Z andyrtr $ +# $Id: PKGBUILD 159255 2012-05-19 19:04:53Z andyrtr $ # Maintainer: AndyRTR pkgbase="libreoffice" @@ -18,10 +18,13 @@ pkgname=('libreoffice-common' 'libreoffice-extension-pdfimport' 'libreoffice-extension-presenter-screen' 'libreoffice-extension-presentation-minimizer' - 'libreoffice-extension-report-builder') + 'libreoffice-extension-report-builder' + 'libreoffice-scripting-beanshell' + 'libreoffice-scripting-javascript' + 'libreoffice-extension-scripting-python') # svn up -r 142692 (last one with all extensions built _LOver=3.5.3.2 pkgver=3.5.3 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" @@ -76,6 +79,7 @@ source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz gmake_install.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=1048d8fa4abd3e55a45dfb6884db808da1d72c9e smp_buildfix.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=cf23f57ae6bb7af689a45e0a850c3c2f67a8f810 poppler_buildfix.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=ac68934592ec7d838cf5c22744be8d97aa4a1a47 + fix_broken_hebrew_wordwrapping.diff buildfix_icu49.diff libreoffice-common.sh libreoffice-common.csh) noextract=(2fa6028324347860e684e75310818d43-libvisio-0.0.16.tar.bz2 @@ -140,6 +144,7 @@ md5sums=('d22cd79e7463ac4caf0a4b47d78a82ac' '60ce5dc9bd098f95c2e621a930c98dd9' '661a52a02a31b3afbe4b3b3146061afd' '72ba8d57cefdc25a6f1bc845edfd4d78' + '025d9b17d9eb90dc282c5c1289a666aa' '9734ea20c9f67e1b6e1c5a1247fbd3ff' 'f0e72d0e1bc93a50a3aa9d31350b156c' '867c682b45f477f916786e00c45d7ab7') @@ -166,8 +171,10 @@ build() { # one late fix to solve make distro-pack-install issue patch -Np1 -i ${srcdir}/gmake_install.diff patch -Np1 -i ${srcdir}/smp_buildfix.diff - patch -Np0 -i ${srcdir}/buildfix_icu49.diff + #patch -Np0 -i ${srcdir}/buildfix_icu49.diff patch -Np1 -i ${srcdir}/poppler_buildfix.diff + # https://bugs.archlinux.org/task/29854 based on 3.6/master patch http://cgit.freedesktop.org/libreoffice/core/patch/?id=20c24114143d6d38774b56a142fd4ae05094308e + patch -Np1 -i ${srcdir}/fix_broken_hebrew_wordwrapping.diff # unset C(XX)FLAGS # http://www.openoffice.org/issues/show_bug.cgi?id=103205 @@ -213,6 +220,8 @@ build() { --enable-mergelibs \ --enable-opengl \ --enable-odk\ + --enable-ext-scripting-beanshell \ + --enable-ext-scripting-javascript \ --disable-ext-mysql-connector \ --with-system-mysql \ --enable-librsvg=system \ @@ -284,7 +293,7 @@ build() { package_libreoffice-common() { pkgdesc="common files for LibreOffice - a productivity suite that is compatible with other major office suites" - install=${pkgbase}.install + install=libreoffice-common.install depends=('libreoffice-langpack' "hunspell>=1.2.8" "python2>=2.7" "neon>=0.28.6" 'nspr' 'libsm' 'redland' 'hyphen' 'graphite' "icu>=49.1" 'hicolor-icon-theme' 'desktop-file-utils' 'shared-mime-info' 'xdg-utils' 'orbit2') @@ -348,6 +357,7 @@ package_libreoffice-common() { package_libreoffice-base() { pkgdesc="GUI Spreadsheet Applicationdatabase front-end for LibreOffice. Allows creation and management of databases through a GUI." + install=libreoffice-base.install depends=('libreoffice-common' 'hsqldb-java') optdepends=('libreoffice-postgresql-connector') backup=() @@ -399,6 +409,7 @@ package_libreoffice-postgresql-connector() { package_libreoffice-calc() { pkgdesc="Spreadsheet application for LibreOffice." + install=libreoffice-calc.install depends=('libreoffice-common' 'lpsolve' ) optdepends=() backup=() @@ -421,6 +432,7 @@ package_libreoffice-calc() { package_libreoffice-draw() { pkgdesc="Drawing Application for LibreOffice." + install=libreoffice-draw.install depends=('libreoffice-common') optdepends=() backup=() @@ -464,6 +476,7 @@ package_libreoffice-gnome() { package_libreoffice-impress() { pkgdesc="Presentation Application for LibreOffice." + install=libreoffice-impress.install depends=('libreoffice-common') optdepends=('mesa: for the OGLTrans extension') backup=() @@ -578,6 +591,7 @@ package_libreoffice-sdk-doc() { package_libreoffice-writer() { pkgdesc="Word Processor Applicationfor LibreOffice." + install=libreoffice-writer.install depends=('libreoffice-common' 'libwpd>=0.9.2' 'libwps' 'libxml2') optdepends=('libwpg: library for importing and converting Corel WordPerfect(tm) Graphics images') backup=() @@ -659,3 +673,35 @@ package_libreoffice-extension-report-builder() { install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/report-builder.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/report-builder } + +package_libreoffice-scripting-beanshell() { + + pkgdesc="LibreOffice extension - Enables support for scripts in BeanShell" + depends=('libreoffice-common' 'java-environment') + groups=('libreoffice-extensions') + + install -dm755 ${pkgdir}/usr/lib/libreoffice/program/{classes,services} + mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/classes/ScriptProviderForBeanShell.jar ${pkgdir}/usr/lib/libreoffice/program/classes/ + mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/services/scriptproviderforbeanshell.rdb ${pkgdir}/usr/lib/libreoffice/program/services/ +} + +package_libreoffice-scripting-javascript() { + + pkgdesc="LibreOffice extension - Enables support for scripts in JavaScript" + depends=('libreoffice-common' 'java-environment') + groups=('libreoffice-extensions') + + install -dm755 ${pkgdir}/usr/lib/libreoffice/program/{classes,services} + mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/classes/{js.jar,ScriptProviderForJavaScript.jar} ${pkgdir}/usr/lib/libreoffice/program/classes/ + mv ${srcdir}/fakeinstall/usr/lib/libreoffice/program/services/scriptproviderforjavascript.rdb ${pkgdir}/usr/lib/libreoffice/program/services/ +} + +package_libreoffice-extension-scripting-python() { + + pkgdesc="LibreOffice extension - Enables support for scripts in Python" + depends=('libreoffice-common' 'python2') + groups=('libreoffice-extensions') + + install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions + unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/script-provider-for-python.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/script-provider-for-python +} diff --git a/staging/libreoffice/fix_broken_hebrew_wordwrapping.diff b/staging/libreoffice/fix_broken_hebrew_wordwrapping.diff new file mode 100644 index 000000000..ba4850c77 --- /dev/null +++ b/staging/libreoffice/fix_broken_hebrew_wordwrapping.diff @@ -0,0 +1,360 @@ +From 20c24114143d6d38774b56a142fd4ae05094308e Mon Sep 17 00:00:00 2001 +From: Caolán McNamara +Date: Sun, 13 May 2012 21:41:30 +0000 +Subject: Resolves: fdo#49849 implement Unicode 6.1 hebrew line breaking rules + +i.e. sync with svn diff -c 31071 +http://source.icu-project.org/repos/icu/icu/trunk/source/data/brkitr/line.txt + +Change-Id: I I I41b3d02f1a0da3b83a9684f29d466660d96254c6 +--- +diff --git a/i18npool/qa/cppunit/test_breakiterator.cxx b/i18npool/qa/cppunit/test_breakiterator.cxx +index 14051d4..ffd590c 100644 +--- a/i18npool/qa/cppunit/test_breakiterator.cxx ++++ b/i18npool/qa/cppunit/test_breakiterator.cxx +@@ -42,6 +42,7 @@ + #include + + #include ++#include + + #include + +@@ -58,6 +59,9 @@ public: + void testWeak(); + void testAsian(); + void testThai(); ++#if TODO ++ void testNorthernThai(); ++#endif + + CPPUNIT_TEST_SUITE(TestBreakIterator); + CPPUNIT_TEST(testLineBreaking); +@@ -71,6 +71,9 @@ + CPPUNIT_TEST(testWeak); + CPPUNIT_TEST(testAsian); + CPPUNIT_TEST(testThai); ++#if TODO ++ CPPUNIT_TEST(testNorthernThai); ++#endif + CPPUNIT_TEST_SUITE_END(); + + private: +@@ -80,28 +83,46 @@ + uno::Reference m_xBreak; + }; + +-//See https://bugs.freedesktop.org/show_bug.cgi?id=31271 for motivation + void TestBreakIterator::testLineBreaking() + { +- ::rtl::OUString aTest1(RTL_CONSTASCII_USTRINGPARAM("(some text here)")); +- + i18n::LineBreakHyphenationOptions aHyphOptions; + i18n::LineBreakUserOptions aUserOptions; + lang::Locale aLocale; + +- aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en")); +- aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("US")); +- ++ //See https://bugs.freedesktop.org/show_bug.cgi?id=31271 + { +- //Here we want the line break to leave text here) on the next line +- i18n::LineBreakResults aResult = m_xBreak->getLineBreak(aTest1, strlen("(some tex"), aLocale, 0, aHyphOptions, aUserOptions); +- CPPUNIT_ASSERT_MESSAGE("Expected a break at the the start of the word", aResult.breakIndex == 6); ++ ::rtl::OUString aTest(RTL_CONSTASCII_USTRINGPARAM("(some text here)")); ++ ++ aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("en")); ++ aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("US")); ++ ++ { ++ //Here we want the line break to leave text here) on the next line ++ i18n::LineBreakResults aResult = m_xBreak->getLineBreak(aTest, strlen("(some tex"), aLocale, 0, aHyphOptions, aUserOptions); ++ CPPUNIT_ASSERT_MESSAGE("Expected a break at the the start of the word", aResult.breakIndex == 6); ++ } ++ ++ { ++ //Here we want the line break to leave "here)" on the next line ++ i18n::LineBreakResults aResult = m_xBreak->getLineBreak(aTest, strlen("(some text here"), aLocale, 0, aHyphOptions, aUserOptions); ++ CPPUNIT_ASSERT_MESSAGE("Expected a break at the the start of the word", aResult.breakIndex == 11); ++ } + } + ++ //See https://bugs.freedesktop.org/show_bug.cgi?id=49849 + { +- //Here we want the line break to leave "here)" on the next line +- i18n::LineBreakResults aResult = m_xBreak->getLineBreak(aTest1, strlen("(some text here"), aLocale, 0, aHyphOptions, aUserOptions); +- CPPUNIT_ASSERT_MESSAGE("Expected a break at the the start of the word", aResult.breakIndex == 11); ++ const sal_Unicode HEBREW1[] = { 0x05DE, 0x05D9, 0x05DC, 0x05D9, 0x5DD }; ++ ::rtl::OUString aWord(HEBREW1, SAL_N_ELEMENTS(HEBREW1)); ++ ::rtl::OUString aTest(rtl::OUStringBuffer(aWord).append(' ').append(aWord).makeStringAndClear()); ++ ++ aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("he")); ++ aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IL")); ++ ++ { ++ //Here we want the line break to happen at the whitespace ++ i18n::LineBreakResults aResult = m_xBreak->getLineBreak(aTest, aTest.getLength()-1, aLocale, 0, aHyphOptions, aUserOptions); ++ CPPUNIT_ASSERT_MESSAGE("Expected a break at the the start of the word", aResult.breakIndex == aWord.getLength()+1); ++ } + } + } + +@@ -295,27 +320,29 @@ void TestBreakIterator::testThai() + aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("th")); + aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TH")); + +- i18n::Boundary aBounds; +- { +- const sal_Unicode THAI1[] = { 0x0E01, 0x0E38, 0x0E2B, 0x0E25, 0x0E32, 0x0E1A }; +- ::rtl::OUString aTest(THAI1, SAL_N_ELEMENTS(THAI1)); +- aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale, +- i18n::WordType::DICTIONARY_WORD, true); +- CPPUNIT_ASSERT_MESSAGE("Should skip full word", +- aBounds.startPos == 0 && aBounds.endPos == aTest.getLength()); +- } ++ const sal_Unicode THAI1[] = { 0x0E01, 0x0E38, 0x0E2B, 0x0E25, 0x0E32, 0x0E1A }; ++ ::rtl::OUString aTest(THAI1, SAL_N_ELEMENTS(THAI1)); ++ i18n::Boundary aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale, ++ i18n::WordType::DICTIONARY_WORD, true); ++ CPPUNIT_ASSERT_MESSAGE("Should skip full word", ++ aBounds.startPos == 0 && aBounds.endPos == aTest.getLength()); ++} + +-#ifdef TODO +- { +- const sal_Unicode NORTHERN_THAI1[] = { 0x0E01, 0x0E38, 0x0E4A, 0x0E2B, 0x0E25, 0x0E32, 0x0E1A }; +- ::rtl::OUString aTest(NORTHERN_THAI1, SAL_N_ELEMENTS(NORTHERN_THAI1)); +- aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale, +- i18n::WordType::DICTIONARY_WORD, true); +- CPPUNIT_ASSERT_MESSAGE("Should skip full word", +- aBounds.startPos == 0 && aBounds.endPos == aTest.getLength()); +- } +-#endif ++#if TODO ++void TestBreakIterator::testNorthernThai() ++{ ++ lang::Locale aLocale; ++ aLocale.Language = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("nod")); ++ aLocale.Country = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TH")); ++ ++ const sal_Unicode NORTHERN_THAI1[] = { 0x0E01, 0x0E38, 0x0E4A, 0x0E2B, 0x0E25, 0x0E32, 0x0E1A }; ++ ::rtl::OUString aTest(NORTHERN_THAI1, SAL_N_ELEMENTS(NORTHERN_THAI1)); ++ i18n::Boundary aBounds = m_xBreak->getWordBoundary(aTest, 0, aLocale, ++ i18n::WordType::DICTIONARY_WORD, true); ++ CPPUNIT_ASSERT_MESSAGE("Should skip full word", ++ aBounds.startPos == 0 && aBounds.endPos == aTest.getLength()); + } ++#endif + + void TestBreakIterator::setUp() + { +diff --git a/i18npool/source/breakiterator/data/README b/i18npool/source/breakiterator/data/README +new file mode 100644 +index 0000000..8d7598d +--- a/dev/null ++++ b/i18npool/source/breakiterator/data/README +@@ -0,0 +1,12 @@ ++The originals of these come from svn checkout ++http://source.icu-project.org/repos/icu/icu/trunk/source/data/brkitr they no ++longer appear in the icu tarballs, but are in icu's svn ++ ++At various stages these copies have been customized and are not horribly out of ++sync. It unclear which diffs from the base versions are deliberate and which ++are now accidental :-( ++ ++We need to review the various issues referenced in the commits that caused ++custimizations and see if they're still relevant or not, write regression tests ++for them, if any are still relavant then apply the changes back on top of the ++latest versions. +diff --git a/i18npool/source/breakiterator/data/line.txt b/i18npool/source/breakiterator/data/line.txt +index cbabee6..91c8f3d 100644 +--- a/i18npool/source/breakiterator/data/line.txt ++++ b/i18npool/source/breakiterator/data/line.txt +@@ -61,11 +61,13 @@ $BB = [:LineBreak = Break_Before:]; + $BK = [:LineBreak = Mandatory_Break:]; + $B2 = [:LineBreak = Break_Both:]; + $CB = [:LineBreak = Contingent_Break:]; ++$CJ = [:LineBreak = Conditional_Japanese_Starter:]; + $CL = [:LineBreak = Close_Punctuation:] ; + $CM = [:LineBreak = Combining_Mark:]; + $CR = [:LineBreak = Carriage_Return:]; + $EX = [:LineBreak = Exclamation:]; + $GL = [:LineBreak = Glue:]; ++$HL = [:LineBreak = Hebrew_Letter:]; + $HY = [:LineBreak = Hyphen:]; + $H2 = [:LineBreak = H2:]; + $H3 = [:LineBreak = H3:]; +@@ -77,7 +79,7 @@ $JV = [:LineBreak = JV:]; + $JT = [:LineBreak = JT:]; + $LF = [:LineBreak = Line_Feed:]; + $NL = [:LineBreak = Next_Line:]; +-$NS = [:LineBreak = Nonstarter:]; ++$NS = [[:LineBreak = Nonstarter:] $CJ]; + $NU = [:LineBreak = Numeric:]; + $OP = [[:LineBreak = Open_Punctuation:] - $DG]; + $PO = [:LineBreak = Postfix_Numeric:]; +@@ -118,6 +120,7 @@ $B2cm = $B2 $CM*; + $CLcm = $CL $CM*; + $EXcm = $EX $CM*; + $GLcm = $GL $CM*; ++$HLcm = $HL $CM*; + $HYcm = $HY $CM*; + $H2cm = $H2 $CM*; + $H3cm = $H3 $CM*; +@@ -150,6 +153,7 @@ $B2 $CM+; + $CL $CM+; + $EX $CM+; + $GL $CM+; ++$HL $CM+; + $HY $CM+; + $H2 $CM+; + $H3 $CM+; +@@ -186,7 +190,7 @@ $CANT_CM = [ $SP $BK $CR $LF $NL $ZW $CM]; # Bases that can't take CMs + # so for this one case we need to manually list out longer sequences. + # + $AL_FOLLOW_NOCM = [$BK $CR $LF $NL $ZW $SP]; +-$AL_FOLLOW_CM = [$CL $EX $IS $SY $WJ $GL $QU $BA $HY $NS $IN $NU $ALPlus $OP]; ++$AL_FOLLOW_CM = [$CL $EX $HL $IS $SY $WJ $GL $QU $BA $HY $NS $IN $NU $ALPlus $OP]; + $AL_FOLLOW = [$AL_FOLLOW_NOCM $AL_FOLLOW_CM]; + + +@@ -320,8 +324,13 @@ $LB20NonBreaks $CM* ($BAcm | $HYcm | $NScm); + $BBcm [^$CB]; # $BB x + $BBcm $LB20NonBreaks $CM*; + ++# LB 21a Don't break after Hebrew + Hyphen ++# HL (HY | BA) x ++# ++$HLcm ($HYcm | $BAcm) [^$CB]?; ++ + # LB 22 +-$ALcm $INcm; ++($ALcm | $HLcm) $INcm; + $CM+ $INcm; # by rule 10, any otherwise unattached CM behaves as AL + $IDcm $INcm; + $INcm $INcm; +@@ -331,16 +340,18 @@ $NUcm $INcm; + # $LB 23 + $IDcm $POcm; + $ALcm $NUcm; # includes $LB19 ++$HLcm $NUcm; + $CM+ $NUcm; # Rule 10, any otherwise unattached CM behaves as AL + $NUcm $ALcm; ++$NUcm $HLcm; + + # + # LB 24 + # + $PRcm $IDcm; + $ALcm $PRcm; +-$PRcm $ALcm; +-$POcm $ALcm; ++$PRcm ($ALcm | $HLcm); ++$POcm ($ALcm | $HLcm); + + # + # LB 25 Numbers. +@@ -361,8 +372,8 @@ $PRcm ($JLcm | $JVcm | $JTcm | $H2cm | $H3cm); + + # LB 28 Do not break between alphabetics + # +-$ALcm $ALcm; +-$CM+ $ALcm; # The $CM+ is from rule 10, and unattached CM is treated as AL ++($ALcm | $HLcm) ($ALcm | $HLcm); ++$CM+ ($ALcm | $HLcm); # The $CM+ is from rule 10, an unattached CM is treated as AL + + # LB 29 + $IScm ($ALcm | $NUcm); +@@ -371,11 +382,9 @@ $IScm ($ALcm | $NUcm); + # Rule 30 Do not break between letters, numbers or ordinary symbols + # and opening or closing punctuation + # +-($ALcm | $NUcm) $OPcm; ++($ALcm | $HLcm | $NUcm) $OPcm; + $CM+ $OPcm; +-$CLcm ($ALcm | $NUcm); +- +- ++$CLcm ($ALcm | $HLcm | $NUcm); + + # + # Reverse Rules. +@@ -391,6 +400,7 @@ $CM+ $B2; + $CM+ $CL; + $CM+ $EX; + $CM+ $GL; ++$CM+ $HL; + $CM+ $HY; + $CM+ $H2; + $CM+ $H3; +@@ -544,24 +554,25 @@ $CM* ($BA | $HY | $NS) $CM* [$LB20NonBreaks-$CM]; # . x (BA | HY | NS) + $CM* [$LB20NonBreaks-$CM] $CM* $BB; # BB x . + [^$CB] $CM* $BB; # + +- ++# LB21a ++[^$CB] $CM* ($HY | $BA) $CM* $HL; + + # LB 22 +-$CM* $IN $CM* $ALPlus; ++$CM* $IN $CM* ($ALPlus | $HL); + $CM* $IN $CM* $ID; + $CM* $IN $CM* $IN; + $CM* $IN $CM* $NU; + + # LB 23 + $CM* $PO $CM* $ID; +-$CM* $NU $CM* $ALPlus; +-$CM* $ALPlus $CM* $NU; ++$CM* $NU $CM* ($ALPlus | $HL); ++$CM* ($ALPlus | $HL) $CM* $NU; + + # LB 24 + $CM* $ID $CM* $PR; + $CM* $PR $CM* $ALPlus; +-$CM* $ALPlus $CM* $PR; +-$CM* $ALPlus $CM* $PO; ++$CM* ($ALPlus | $HL) $CM* $PR; ++$CM* ($ALPlus | $HL) $CM* $PO; + + $CM* $ALPlus $CM* ($IS | $SY | $HY)+ / $SP; + $CM* $NU+ $CM* $HY+ / $SP; +@@ -580,15 +591,14 @@ $CM* $PO $CM* ($H3 | $H2 | $JT | $JV | $JL); + $CM* ($H3 | $H2 | $JT | $JV | $JL) $CM* $PR; + + # LB 28 +-$CM* $ALPlus $CM* $ALPlus; +- ++$CM* ($ALPlus | $HL) $CM* ($ALPlus | $HL); + + # LB 29 + $CM* ($NU | $ALPlus) $CM* $IS+ [^$SP]; + + # LB 30 +-$CM* $OP $CM* ($NU | $ALPlus); +-$CM* ($NU | $ALPlus) $CM* ($CL | $SY)+ [^$SP]; ++$CM* $OP $CM* ($ALPlus | $HL | $NU); ++$CM* ($ALPlus | $HL | $NU) $CM* ($CL | $SY)+ [^$SP]; + + + ## ------------------------------------------------- +@@ -609,6 +619,9 @@ $SP+ $CM* $QU; + $SP+ $CM* $CL; + $SP+ $CM* $B2; + ++# LB 21 ++$CM* ($HY | $BA) $CM* $HL; ++ + # LB 18 + ($CM* ($IS | $SY))+ $CM* $NU; + $CL $CM* ($NU | $IS | $SY); +@@ -629,6 +642,6 @@ $dictionary $dictionary; + # turn off rule chaining. We don't want to move more + # than necessary. + # +-[$CM $OP $QU $CL $B2 $PR $HY $SP $dictionary]+ [^$CM $OP $QU $CL $B2 $PR $HY $dictionary]; ++[$CM $OP $QU $CL $B2 $PR $HY $BA $SP $dictionary]+ [^$CM $OP $QU $CL $B2 $PR $HY $BA $dictionary]; + $dictionary $dictionary; + +-- +cgit v0.9.0.2-2-gbebe diff --git a/staging/libreoffice/libreoffice-base.install b/staging/libreoffice/libreoffice-base.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/staging/libreoffice/libreoffice-base.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + update-desktop-database -q +} + +post_remove() { + update-desktop-database -q +} diff --git a/staging/libreoffice/libreoffice-calc.install b/staging/libreoffice/libreoffice-calc.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/staging/libreoffice/libreoffice-calc.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + update-desktop-database -q +} + +post_remove() { + update-desktop-database -q +} diff --git a/staging/libreoffice/libreoffice-common.install b/staging/libreoffice/libreoffice-common.install new file mode 100644 index 000000000..e66b66f3d --- /dev/null +++ b/staging/libreoffice/libreoffice-common.install @@ -0,0 +1,47 @@ +post_install() { + +xdg-icon-resource forceupdate --theme hicolor +update-desktop-database -q +update-mime-database usr/share/mime > /dev/null 2>&1 + +echo " * see https://wiki.archlinux.org/index.php/LibreOffice" +echo "-------------------------------------------------------------------" +echo "LibreOffice has been split into several packages:" +echo "- libreoffice-common" +echo "- libreoffice-{base,calc,draw,impress,math,writer} - frontend applications" +echo "- libreoffice-{gnome,kde4} - desktop integration plugins" +echo "- libreoffice-{sdk,sdk-doc} - add-on and doc for programming using" +echo " the LibreOffice APIs and for creating" +echo " extensions (UNO components)." +echo "-------------------------------------------------------------------" +echo " * you need to install at least one libreoffice-langpack" +echo " * you may want to pacman -Ss libreoffice-extensions" +echo " to see what additional extensions are prepared to install" +echo " * it's recommended to install {hunspell,mythes,hyphen}-xx pkg + for spell checking" +echo " * make sure you have installed some ttf font (ttf-dejavu recommended)" +} + +post_upgrade() { +# post_install $1 +xdg-icon-resource forceupdate --theme hicolor +update-desktop-database -q +update-mime-database usr/share/mime > /dev/null 2>&1 + if [ "`vercmp $2 3.4.2rc1`" -lt 0 ]; then + # important upgrade notice + echo "LibreOffice has been split into several packages:" + echo "- libreoffice-common" + echo "- libreoffice-{base,calc,draw,impress,math,writer} - frontend applications" + echo "- libreoffice-{gnome,kde4} - desktop integration plugins" + echo "- libreoffice-{sdk,sdk-doc} - add-on and doc for programming using" + echo " the LibreOffice APIs and for creating" + echo " extensions (UNO components)." + echo "Now you need to install at least one libreoffice-langpack!" + fi +} + +post_remove() { +update-desktop-database -q +xdg-icon-resource forceupdate --theme hicolor +update-mime-database usr/share/mime > /dev/null 2>&1 +} diff --git a/staging/libreoffice/libreoffice-draw.install b/staging/libreoffice/libreoffice-draw.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/staging/libreoffice/libreoffice-draw.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + update-desktop-database -q +} + +post_remove() { + update-desktop-database -q +} diff --git a/staging/libreoffice/libreoffice-impress.install b/staging/libreoffice/libreoffice-impress.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/staging/libreoffice/libreoffice-impress.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + update-desktop-database -q +} + +post_remove() { + update-desktop-database -q +} diff --git a/staging/libreoffice/libreoffice-writer.install b/staging/libreoffice/libreoffice-writer.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/staging/libreoffice/libreoffice-writer.install @@ -0,0 +1,11 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + update-desktop-database -q +} + +post_remove() { + update-desktop-database -q +} -- cgit v1.2.3-54-g00ecf