summaryrefslogtreecommitdiff
path: root/staging
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2012-05-23 13:22:09 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2012-05-23 13:22:09 -0300
commit2906c522e750f7e013d7af606f01ad849a7d3876 (patch)
treed62491c93d6534817db7f9b7d07adf64b9670b48 /staging
parent193046ad8ed67a836ffe11e235296e6201e56ce8 (diff)
parentbd614ac21d2754d778a796cd5e92d1568ec8baec (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: extra/mesa/PKGBUILD extra/nmap/PKGBUILD extra/openmpi/PKGBUILD extra/rasqal/PKGBUILD extra/sqlite/PKGBUILD extra/totem/PKGBUILD extra/xorg-server/PKGBUILD multilib/lib32-e2fsprogs/PKGBUILD multilib/lib32-libcups/PKGBUILD multilib/lib32-mesa/PKGBUILD staging/libreoffice/PKGBUILD testing/udev/PKGBUILD testing/udev/initcpio-hooks-udev testing/udev/initcpio-install-udev
Diffstat (limited to 'staging')
-rw-r--r--staging/libmp4v2/PKGBUILD29
-rw-r--r--staging/libreoffice/fix_broken_hebrew_wordwrapping.diff360
-rw-r--r--staging/libreoffice/libreoffice-base.install11
-rw-r--r--staging/libreoffice/libreoffice-calc.install11
-rw-r--r--staging/libreoffice/libreoffice-common.install47
-rw-r--r--staging/libreoffice/libreoffice-draw.install11
-rw-r--r--staging/libreoffice/libreoffice-impress.install11
-rw-r--r--staging/libreoffice/libreoffice-writer.install11
-rw-r--r--staging/pciutils/PKGBUILD30
-rw-r--r--staging/usbutils/PKGBUILD36
-rw-r--r--staging/usbutils/fix-python2.patch17
11 files changed, 574 insertions, 0 deletions
diff --git a/staging/libmp4v2/PKGBUILD b/staging/libmp4v2/PKGBUILD
new file mode 100644
index 000000000..79b1214a7
--- /dev/null
+++ b/staging/libmp4v2/PKGBUILD
@@ -0,0 +1,29 @@
+# $Id: PKGBUILD 159342 2012-05-21 22:25:00Z tomegun $
+# Maintainer: Tom Gundersen <teg@jklm.no>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+
+pkgname=libmp4v2
+pkgver=2.0.0
+pkgrel=1
+pkgdesc="MPEG-4 library"
+arch=('i686' 'x86_64')
+license=('MPL')
+url="http://code.google.com/p/mp4v2/"
+depends=('gcc-libs')
+options=('!libtool')
+source=("http://mp4v2.googlecode.com/files/mp4v2-${pkgver}.tar.bz2")
+
+build() {
+ cd ${srcdir}/mp4v2-${pkgver}
+
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ cd ${srcdir}/mp4v2-${pkgver}
+ make DESTDIR=${pkgdir} install
+ make DESTDIR=${pkgdir} install-man
+}
+md5sums=('c91f06711225b34b4c192c9114887b14')
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 <caolanm@redhat.com>
+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 <unotest/bootstrapfixturebase.hxx>
+
+ #include <rtl/strbuf.hxx>
++#include <rtl/ustrbuf.hxx>
+
+ #include <string.h>
+
+@@ -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<i18n::XBreakIterator> 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
+}
diff --git a/staging/pciutils/PKGBUILD b/staging/pciutils/PKGBUILD
new file mode 100644
index 000000000..8458d7f6b
--- /dev/null
+++ b/staging/pciutils/PKGBUILD
@@ -0,0 +1,30 @@
+# $Id: PKGBUILD 159291 2012-05-20 23:30:35Z tomegun $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+pkgname=pciutils
+pkgver=3.1.9
+pkgrel=2
+pkgdesc="PCI bus configuration space access library and tools"
+arch=(i686 x86_64)
+license=('GPL2')
+groups=('base')
+url="http://mj.ucw.cz/sw/pciutils/"
+depends=('glibc' 'hwids')
+source=(#ftp://ftp.kernel.org/pub/software/utils/${pkgname}/${pkgname}-${pkgver}.tar.bz2
+ ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/${pkgname}-${pkgver}.tar.gz)
+md5sums=('e958f5ffb93b12972964381c38f27eb3')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make OPT="${CFLAGS} -fPIC -DPIC" ZLIB=no SHARED=no PREFIX=/usr SHAREDIR=/usr/share/hwdata MANDIR=/usr/share/man all
+ cp lib/libpci.a "${srcdir}/"
+ make clean
+ make OPT="${CFLAGS}" ZLIB=no SHARED=yes PREFIX=/usr SHAREDIR=/usr/share/hwdata MANDIR=/usr/share/man all
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make SHARED=yes PREFIX=/usr SHAREDIR=/usr/share/hwdata MANDIR=/usr/share/man DESTDIR="${pkgdir}" install install-lib
+ install -m644 "${srcdir}/libpci.a" "${pkgdir}/usr/lib/"
+ # this is now supplied by the hwids package
+ rm -rf $pkgdir/usr/{sbin/update-pciids,share/{man/man8/update-pciids.8.gz,hwdata}}
+}
diff --git a/staging/usbutils/PKGBUILD b/staging/usbutils/PKGBUILD
new file mode 100644
index 000000000..e4c32eb5a
--- /dev/null
+++ b/staging/usbutils/PKGBUILD
@@ -0,0 +1,36 @@
+# $Id: PKGBUILD 159293 2012-05-20 23:41:16Z tomegun $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor: Tom Gundersen <teg@jklm.no>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+# Contributor: Curtis Campbell <curtisjamescampbell@hotmail.com>
+pkgname=usbutils
+pkgver=005
+pkgrel=2
+pkgdesc="USB Device Utilities"
+arch=(i686 x86_64)
+license=('GPL')
+groups=('base')
+depends=('libusb' 'hwids')
+optdepends=('python2: for lsusb.py usage'
+ 'coreutils: for lsusb.py usage')
+url="http://linux-usb.sourceforge.net/"
+# currently broken: http://www.kernel.org/pub/linux/utils/usb/$pkgname/$pkgname-$pkgver.tar.gz
+source=("ftp://ftp.archlinux.org/other/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ fix-python2.patch)
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # patch lsusb.py to use correct usb.ids file and python2 interpreter
+ patch -Np1 -i $srcdir/fix-python2.patch
+ ./configure --prefix=/usr --datadir=/usr/share/hwdata --disable-zlib
+ make
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ make DESTDIR=$pkgdir install
+ # this is now in the hwids package
+ rm -rf $pkgdir/usr/{share/hwdata,sbin}
+}
+md5sums=('6a21f7b6c02b76df5e8a7c208d746654'
+ '45766196895b4cc50b53cd56e1bbf3d1')
diff --git a/staging/usbutils/fix-python2.patch b/staging/usbutils/fix-python2.patch
new file mode 100644
index 000000000..7e2875e99
--- /dev/null
+++ b/staging/usbutils/fix-python2.patch
@@ -0,0 +1,17 @@
+--- usbutils-002/lsusb.py 2010-12-16 01:07:09.000000000 +0100
++++ usbutils-002/lsusb.py 2011-04-09 22:43:59.043828595 +0200
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/env python2
+ # lsusb.py
+ # Displays your USB devices in reasonable form.
+ # (c) Kurt Garloff <garloff@suse.de>, 2/2009, GPL v2 or v3.
+@@ -16,7 +16,7 @@
+ warnsort = False
+
+ prefix = "/sys/bus/usb/devices/"
+-usbids = "/usr/share/usb.ids"
++usbids = "/usr/share/hwdata/usb.ids"
+
+ esc = chr(27)
+ norm = esc + "[0;0m"