diff options
Diffstat (limited to 'extra')
-rw-r--r-- | extra/audacious/PKGBUILD | 6 | ||||
-rw-r--r-- | extra/bzflag/PKGBUILD | 4 | ||||
-rw-r--r-- | extra/calligra/PKGBUILD | 4 | ||||
-rw-r--r-- | extra/cups-filters/PKGBUILD | 6 | ||||
-rw-r--r-- | extra/gimp/PKGBUILD | 6 | ||||
-rw-r--r-- | extra/inkscape/PKGBUILD | 7 | ||||
-rw-r--r-- | extra/inkscape/poppler20.patch | 642 | ||||
-rw-r--r-- | extra/kdegraphics-okular/PKGBUILD | 4 | ||||
-rw-r--r-- | extra/libreoffice/PKGBUILD | 59 | ||||
-rw-r--r-- | extra/libreoffice/fix_broken_hebrew_wordwrapping.diff | 360 | ||||
-rw-r--r-- | extra/libreoffice/libreoffice-base.install | 11 | ||||
-rw-r--r-- | extra/libreoffice/libreoffice-calc.install | 11 | ||||
-rw-r--r-- | extra/libreoffice/libreoffice-common.install | 47 | ||||
-rw-r--r-- | extra/libreoffice/libreoffice-draw.install | 11 | ||||
-rw-r--r-- | extra/libreoffice/libreoffice-impress.install | 11 | ||||
-rw-r--r-- | extra/libreoffice/libreoffice-writer.install | 11 | ||||
-rw-r--r-- | extra/poppler/PKGBUILD | 8 | ||||
-rw-r--r-- | extra/thunar/PKGBUILD | 15 | ||||
-rw-r--r-- | extra/thunar/thunar-1.4.0-show-loop-devices-hack.patch | 15 | ||||
-rw-r--r-- | extra/windowmaker/PKGBUILD | 6 | ||||
-rw-r--r-- | extra/xpdf/PKGBUILD | 12 |
21 files changed, 1216 insertions, 40 deletions
diff --git a/extra/audacious/PKGBUILD b/extra/audacious/PKGBUILD index b068bd7f9..05d3b9d86 100644 --- a/extra/audacious/PKGBUILD +++ b/extra/audacious/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 155354 2012-04-02 08:13:23Z bisson $ +# $Id: PKGBUILD 159763 2012-05-26 15:34:45Z bisson $ # Contributor: Alexander Fehr <pizzapunk gmail com> # Contributor: Giovanni Scafora <giovanni@archlinux.org> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=audacious -pkgver=3.2.2 +pkgver=3.2.3 pkgrel=1 pkgdesc='Lightweight, advanced audio player focused on audio quality' url='http://audacious-media-player.org/' @@ -14,7 +14,7 @@ depends=('gtk3' 'dbus-glib' 'libguess' 'libsm' 'audacious-plugins' 'hicolor-icon-theme' 'gtk-update-icon-cache' 'desktop-file-utils') optdepends=('unzip: zipped skins support') source=("http://distfiles.audacious-media-player.org/${pkgname}-${pkgver}.tar.bz2") -sha1sums=('50d2ef08d3dd48c2efb194a9fdf216fa4f8afd24') +sha1sums=('23be0fcb0a7d5ec2bc4d4fee436e77f2138903ef') provides=('audacious-player') replaces=('audacious-player') diff --git a/extra/bzflag/PKGBUILD b/extra/bzflag/PKGBUILD index 08871b559..2dae85048 100644 --- a/extra/bzflag/PKGBUILD +++ b/extra/bzflag/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 138478 2011-09-24 16:46:33Z stephane $ +# $Id: PKGBUILD 159790 2012-05-27 03:26:02Z bisson $ # Contributor: Damir Perisa <damir.perisa@bluewin.ch> # Contributor: Kevin Piche <kevin@archlinux.org> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=bzflag pkgver=2.4.0 -pkgrel=2 +pkgrel=3 pkgdesc='Multiplayer 3D tank battle game' url='http://bzflag.org/' license=('LGPL') diff --git a/extra/calligra/PKGBUILD b/extra/calligra/PKGBUILD index f0ad1d7bc..9ebfa2ad9 100644 --- a/extra/calligra/PKGBUILD +++ b/extra/calligra/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 157224 2012-04-26 06:42:14Z andrea $ +# $Id: PKGBUILD 159702 2012-05-26 07:54:08Z andyrtr $ # Maintainer: Ronald van Haren <ronald.archlinux.org> # Maintainer: Andrea Scarpino <andrea@archlinux.org> @@ -23,7 +23,7 @@ pkgname=('calligra-filters' 'calligra-braindump' 'calligra-flow') pkgver=2.4.1 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url='http://www.calligra-suite.org/' license=('FDL1.2' 'GPL2' 'LGPL') diff --git a/extra/cups-filters/PKGBUILD b/extra/cups-filters/PKGBUILD index 8483f5f02..aa3ac50f0 100644 --- a/extra/cups-filters/PKGBUILD +++ b/extra/cups-filters/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 157192 2012-04-25 13:19:30Z andyrtr $ +# $Id: PKGBUILD 159704 2012-05-26 07:54:13Z andyrtr $ # Maintainer: Andreas Radke <andyrtr@archlinux.org> pkgname=cups-filters pkgver=1.0.17 -pkgrel=1 +pkgrel=2 pkgdesc="OpenPrinting CUPS Filters" arch=('i686' 'x86_64') url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting" license=('GPL') groups=() -depends=('ghostscript' 'lcms2' 'poppler') +depends=('ghostscript' 'lcms2' 'poppler') # bc ? https://bugs.archlinux.org/task/29808 makedepends=() optdepends=() provides=() diff --git a/extra/gimp/PKGBUILD b/extra/gimp/PKGBUILD index 7d7a1f464..91ee40019 100644 --- a/extra/gimp/PKGBUILD +++ b/extra/gimp/PKGBUILD @@ -1,15 +1,15 @@ -# $Id: PKGBUILD 158544 2012-05-04 19:10:38Z daniel $ +# $Id: PKGBUILD 159779 2012-05-26 19:57:17Z daniel $ # Maintainer: Daniel Isenmann <daniel@archlinux.org> pkgname=gimp pkgver=2.8.0 -pkgrel=1 +pkgrel=2 pkgdesc="GNU Image Manipulation Program" arch=('i686' 'x86_64') url="http://www.gimp.org/" license=('GPL' 'LGPL') depends=('pygtk' 'lcms' 'libxpm' 'libwmf' 'libxmu' 'librsvg' 'libmng' 'dbus-glib' \ - 'libexif' 'gegl' 'desktop-file-utils' 'hicolor-icon-theme' 'babl') + 'libexif' 'gegl' 'jasper' 'desktop-file-utils' 'hicolor-icon-theme' 'babl') makedepends=('intltool' 'libwebkit' 'poppler-glib' 'alsa-lib' 'iso-codes' 'curl') optdepends=('gutenprint: for sophisticated printing only as gimp has built-in cups print support' 'libwebkit: for the help browser' diff --git a/extra/inkscape/PKGBUILD b/extra/inkscape/PKGBUILD index 94ef284c4..b7003ad51 100644 --- a/extra/inkscape/PKGBUILD +++ b/extra/inkscape/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 153551 2012-03-15 23:11:38Z eric $ +# $Id: PKGBUILD 159706 2012-05-26 07:54:18Z andyrtr $ # Contributor: tobias <tobias@archlinux.org> # Contributor: Tobias Kieslich <tobias@justdreams.de> # Maintainer: Gaetan Bisson <bisson@archlinux.org> pkgname=inkscape pkgver=0.48.3.1 -pkgrel=2 +pkgrel=3 pkgdesc='Vector graphics editor using the SVG file format' url='http://inkscape.sourceforge.net/' license=('GPL' 'LGPL') @@ -21,8 +21,10 @@ optdepends=('pstoedit: latex formulas' 'uniconvertor: reading/writing to some proprietary formats') options=('!libtool') source=("http://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz" + 'poppler20.patch' 'libpng15.patch') sha1sums=('9a09a97d184e09c2ee7f9956bfe073b7313e919e' + '7316c2903c157781838cce289a709d100dc40fec' 'd6512f3cb38ca8e2436dc485aa652490d17b3a52') install=install @@ -36,6 +38,7 @@ build() { sed -i 's|python -c|python2 -c|g' configure share/extensions/uniconv*.py sed -i 's|"python"|"python2"|g' src/main.cpp + patch -p1 -i ../poppler20.patch patch -p1 -i ../libpng15.patch ./configure \ diff --git a/extra/inkscape/poppler20.patch b/extra/inkscape/poppler20.patch new file mode 100644 index 000000000..ecb74603f --- /dev/null +++ b/extra/inkscape/poppler20.patch @@ -0,0 +1,642 @@ +diff -Naur old/src/extension/internal/pdfinput/pdf-parser.cpp new/src/extension/internal/pdfinput/pdf-parser.cpp +--- old/src/extension/internal/pdfinput/pdf-parser.cpp 2011-07-08 20:25:09.468790000 +0200 ++++ new/src/extension/internal/pdfinput/pdf-parser.cpp 2012-05-13 21:07:11.334781215 +0200 +@@ -367,14 +367,14 @@ + for (i = 0; i < obj->arrayGetLength(); ++i) { + obj->arrayGet(i, &obj2); + if (!obj2.isStream()) { +- error(-1, const_cast<char*>("Weird page contents")); ++ error(errInternal, -1, const_cast<char*>("Weird page contents")); + obj2.free(); + return; + } + obj2.free(); + } + } else if (!obj->isStream()) { +- error(-1, const_cast<char*>("Weird page contents")); ++ error(errInternal, -1, const_cast<char*>("Weird page contents")); + return; + } + parser = new Parser(xref, new Lexer(xref, obj), gFalse); +@@ -419,7 +419,7 @@ + + // too many arguments - something is wrong + } else { +- error(getPos(), const_cast<char*>("Too many args in content stream")); ++ error(errInternal, getPos(), const_cast<char*>("Too many args in content stream")); + if (printCommands) { + printf("throwing away arg: "); + obj.print(stdout); +@@ -436,7 +436,7 @@ + + // args at end with no command + if (numArgs > 0) { +- error(getPos(), const_cast<char*>("Leftover args in content stream")); ++ error(errInternal, getPos(), const_cast<char*>("Leftover args in content stream")); + if (printCommands) { + printf("%d leftovers:", numArgs); + for (i = 0; i < numArgs; ++i) { +@@ -502,7 +502,7 @@ + name = cmd->getCmd(); + if (!(op = findOp(name))) { + if (ignoreUndef == 0) +- error(getPos(), const_cast<char*>("Unknown operator '%s'"), name); ++ error(errInternal, getPos(), const_cast<char*>("Unknown operator '%s'"), name); + return; + } + +@@ -510,26 +510,26 @@ + argPtr = args; + if (op->numArgs >= 0) { + if (numArgs < op->numArgs) { +- error(getPos(), const_cast<char*>("Too few (%d) args to '%s' operator"), numArgs, name); ++ error(errInternal, getPos(), const_cast<char*>("Too few (%d) args to '%s' operator"), numArgs, name); + return; + } + if (numArgs > op->numArgs) { + #if 0 +- error(getPos(), "Too many (%d) args to '%s' operator", numArgs, name); ++ error(errInternal, getPos(), "Too many (%d) args to '%s' operator", numArgs, name); + #endif + argPtr += numArgs - op->numArgs; + numArgs = op->numArgs; + } + } else { + if (numArgs > -op->numArgs) { +- error(getPos(), const_cast<char*>("Too many (%d) args to '%s' operator"), ++ error(errInternal, getPos(), const_cast<char*>("Too many (%d) args to '%s' operator"), + numArgs, name); + return; + } + } + for (i = 0; i < numArgs; ++i) { + if (!checkArg(&argPtr[i], op->tchk[i])) { +- error(getPos(), const_cast<char*>("Arg #%d to '%s' operator is wrong type (%s)"), ++ error(errInternal, getPos(), const_cast<char*>("Arg #%d to '%s' operator is wrong type (%s)"), + i, name, argPtr[i].getTypeName()); + return; + } +@@ -690,7 +690,7 @@ + return; + } + if (!obj1.isDict()) { +- error(getPos(), const_cast<char*>("ExtGState '%s' is wrong type"), args[0].getName()); ++ error(errInternal, getPos(), const_cast<char*>("ExtGState '%s' is wrong type"), args[0].getName()); + obj1.free(); + return; + } +@@ -705,7 +705,7 @@ + if (state->parseBlendMode(&obj2, &mode)) { + state->setBlendMode(mode); + } else { +- error(getPos(), const_cast<char*>("Invalid blend mode in ExtGState")); ++ error(errInternal, getPos(), const_cast<char*>("Invalid blend mode in ExtGState")); + } + } + obj2.free(); +@@ -764,7 +764,7 @@ + state->setTransfer(funcs); + } + } else if (!obj2.isNull()) { +- error(getPos(), const_cast<char*>("Invalid transfer function in ExtGState")); ++ error(errInternal, getPos(), const_cast<char*>("Invalid transfer function in ExtGState")); + } + obj2.free(); + +@@ -784,7 +784,7 @@ + funcs[0] = Function::parse(&obj3); + if (funcs[0]->getInputSize() != 1 || + funcs[0]->getOutputSize() != 1) { +- error(getPos(), ++ error(errInternal, getPos(), + const_cast<char*>("Invalid transfer function in soft mask in ExtGState")); + delete funcs[0]; + funcs[0] = NULL; +@@ -809,11 +809,7 @@ + blendingColorSpace = NULL; + isolated = knockout = gFalse; + if (!obj4.dictLookup(const_cast<char*>("CS"), &obj5)->isNull()) { +-#ifdef POPPLER_NEW_COLOR_SPACE_API + blendingColorSpace = GfxColorSpace::parse(&obj5, NULL); +-#else +- blendingColorSpace = GfxColorSpace::parse(&obj5); +-#endif + } + obj5.free(); + if (obj4.dictLookup(const_cast<char*>("I"), &obj5)->isBool()) { +@@ -840,15 +836,15 @@ + delete funcs[0]; + } + } else { +- error(getPos(), const_cast<char*>("Invalid soft mask in ExtGState - missing group")); ++ error(errInternal, getPos(), const_cast<char*>("Invalid soft mask in ExtGState - missing group")); + } + obj4.free(); + } else { +- error(getPos(), const_cast<char*>("Invalid soft mask in ExtGState - missing group")); ++ error(errInternal, getPos(), const_cast<char*>("Invalid soft mask in ExtGState - missing group")); + } + obj3.free(); + } else if (!obj2.isNull()) { +- error(getPos(), const_cast<char*>("Invalid soft mask in ExtGState")); ++ error(errInternal, getPos(), const_cast<char*>("Invalid soft mask in ExtGState")); + } + } + obj2.free(); +@@ -876,7 +872,7 @@ + // check form type + dict->lookup(const_cast<char*>("FormType"), &obj1); + if (!(obj1.isNull() || (obj1.isInt() && obj1.getInt() == 1))) { +- error(getPos(), const_cast<char*>("Unknown form type")); ++ error(errInternal, getPos(), const_cast<char*>("Unknown form type")); + } + obj1.free(); + +@@ -884,7 +880,7 @@ + dict->lookup(const_cast<char*>("BBox"), &obj1); + if (!obj1.isArray()) { + obj1.free(); +- error(getPos(), const_cast<char*>("Bad form bounding box")); ++ error(errInternal, getPos(), const_cast<char*>("Bad form bounding box")); + return; + } + for (i = 0; i < 4; ++i) { +@@ -1012,19 +1008,11 @@ + + state->setFillPattern(NULL); + res->lookupColorSpace(args[0].getName(), &obj); +-#ifdef POPPLER_NEW_COLOR_SPACE_API + if (obj.isNull()) { + colorSpace = GfxColorSpace::parse(&args[0], NULL); + } else { + colorSpace = GfxColorSpace::parse(&obj, NULL); + } +-#else +- if (obj.isNull()) { +- colorSpace = GfxColorSpace::parse(&args[0]); +- } else { +- colorSpace = GfxColorSpace::parse(&obj); +- } +-#endif + obj.free(); + if (colorSpace) { + state->setFillColorSpace(colorSpace); +@@ -1032,7 +1020,7 @@ + state->setFillColor(&color); + builder->updateStyle(state); + } else { +- error(getPos(), const_cast<char*>("Bad color space (fill)")); ++ error(errInternal, getPos(), const_cast<char*>("Bad color space (fill)")); + } + } + +@@ -1043,19 +1031,11 @@ + + state->setStrokePattern(NULL); + res->lookupColorSpace(args[0].getName(), &obj); +-#ifdef POPPLER_NEW_COLOR_SPACE_API + if (obj.isNull()) { + colorSpace = GfxColorSpace::parse(&args[0], NULL); + } else { + colorSpace = GfxColorSpace::parse(&obj, NULL); + } +-#else +- if (obj.isNull()) { +- colorSpace = GfxColorSpace::parse(&args[0]); +- } else { +- colorSpace = GfxColorSpace::parse(&obj); +- } +-#endif + obj.free(); + if (colorSpace) { + state->setStrokeColorSpace(colorSpace); +@@ -1063,7 +1043,7 @@ + state->setStrokeColor(&color); + builder->updateStyle(state); + } else { +- error(getPos(), const_cast<char*>("Bad color space (stroke)")); ++ error(errInternal, getPos(), const_cast<char*>("Bad color space (stroke)")); + } + } + +@@ -1072,7 +1052,7 @@ + int i; + + if (numArgs != state->getFillColorSpace()->getNComps()) { +- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'sc' command")); ++ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'sc' command")); + return; + } + state->setFillPattern(NULL); +@@ -1088,7 +1068,7 @@ + int i; + + if (numArgs != state->getStrokeColorSpace()->getNComps()) { +- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'SC' command")); ++ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'SC' command")); + return; + } + state->setStrokePattern(NULL); +@@ -1109,7 +1089,7 @@ + if (!((GfxPatternColorSpace *)state->getFillColorSpace())->getUnder() || + numArgs - 1 != ((GfxPatternColorSpace *)state->getFillColorSpace()) + ->getUnder()->getNComps()) { +- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'scn' command")); ++ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'scn' command")); + return; + } + for (i = 0; i < numArgs - 1 && i < gfxColorMaxComps; ++i) { +@@ -1120,23 +1100,15 @@ + state->setFillColor(&color); + builder->updateStyle(state); + } +-#ifdef POPPLER_NEW_COLOR_SPACE_API + if (args[numArgs-1].isName() && + (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) { + state->setFillPattern(pattern); + builder->updateStyle(state); + } +-#else +- if (args[numArgs-1].isName() && +- (pattern = res->lookupPattern(args[numArgs-1].getName()))) { +- state->setFillPattern(pattern); +- builder->updateStyle(state); +- } +-#endif + + } else { + if (numArgs != state->getFillColorSpace()->getNComps()) { +- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'scn' command")); ++ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'scn' command")); + return; + } + state->setFillPattern(NULL); +@@ -1161,7 +1133,7 @@ + ->getUnder() || + numArgs - 1 != ((GfxPatternColorSpace *)state->getStrokeColorSpace()) + ->getUnder()->getNComps()) { +- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'SCN' command")); ++ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'SCN' command")); + return; + } + for (i = 0; i < numArgs - 1 && i < gfxColorMaxComps; ++i) { +@@ -1172,23 +1144,15 @@ + state->setStrokeColor(&color); + builder->updateStyle(state); + } +-#ifdef POPPLER_NEW_COLOR_SPACE_API + if (args[numArgs-1].isName() && + (pattern = res->lookupPattern(args[numArgs-1].getName(), NULL))) { + state->setStrokePattern(pattern); + builder->updateStyle(state); + } +-#else +- if (args[numArgs-1].isName() && +- (pattern = res->lookupPattern(args[numArgs-1].getName()))) { +- state->setStrokePattern(pattern); +- builder->updateStyle(state); +- } +-#endif + + } else { + if (numArgs != state->getStrokeColorSpace()->getNComps()) { +- error(getPos(), const_cast<char*>("Incorrect number of arguments in 'SCN' command")); ++ error(errInternal, getPos(), const_cast<char*>("Incorrect number of arguments in 'SCN' command")); + return; + } + state->setStrokePattern(NULL); +@@ -1212,7 +1176,7 @@ + + void PdfParser::opLineTo(Object args[], int numArgs) { + if (!state->isCurPt()) { +- error(getPos(), const_cast<char*>("No current point in lineto")); ++ error(errInternal, getPos(), const_cast<char*>("No current point in lineto")); + return; + } + state->lineTo(args[0].getNum(), args[1].getNum()); +@@ -1222,7 +1186,7 @@ + double x1, y1, x2, y2, x3, y3; + + if (!state->isCurPt()) { +- error(getPos(), const_cast<char*>("No current point in curveto")); ++ error(errInternal, getPos(), const_cast<char*>("No current point in curveto")); + return; + } + x1 = args[0].getNum(); +@@ -1238,7 +1202,7 @@ + double x1, y1, x2, y2, x3, y3; + + if (!state->isCurPt()) { +- error(getPos(), const_cast<char*>("No current point in curveto1")); ++ error(errInternal, getPos(), const_cast<char*>("No current point in curveto1")); + return; + } + x1 = state->getCurX(); +@@ -1254,7 +1218,7 @@ + double x1, y1, x2, y2, x3, y3; + + if (!state->isCurPt()) { +- error(getPos(), const_cast<char*>("No current point in curveto2")); ++ error(errInternal, getPos(), const_cast<char*>("No current point in curveto2")); + return; + } + x1 = args[0].getNum(); +@@ -1282,7 +1246,7 @@ + + void PdfParser::opClosePath(Object args[], int numArgs) { + if (!state->isCurPt()) { +- error(getPos(), const_cast<char*>("No current point in closepath")); ++ error(errInternal, getPos(), const_cast<char*>("No current point in closepath")); + return; + } + state->closePath(); +@@ -1298,7 +1262,7 @@ + + void PdfParser::opStroke(Object args[], int numArgs) { + if (!state->isCurPt()) { +- //error(getPos(), const_cast<char*>("No path in stroke")); ++ //error(errInternal, getPos(), const_cast<char*>("No path in stroke")); + return; + } + if (state->isPath()) { +@@ -1314,7 +1278,7 @@ + + void PdfParser::opCloseStroke(Object * /*args[]*/, int /*numArgs*/) { + if (!state->isCurPt()) { +- //error(getPos(), const_cast<char*>("No path in closepath/stroke")); ++ //error(errInternal, getPos(), const_cast<char*>("No path in closepath/stroke")); + return; + } + state->closePath(); +@@ -1331,7 +1295,7 @@ + + void PdfParser::opFill(Object args[], int numArgs) { + if (!state->isCurPt()) { +- //error(getPos(), const_cast<char*>("No path in fill")); ++ //error(errInternal, getPos(), const_cast<char*>("No path in fill")); + return; + } + if (state->isPath()) { +@@ -1347,7 +1311,7 @@ + + void PdfParser::opEOFill(Object args[], int numArgs) { + if (!state->isCurPt()) { +- //error(getPos(), const_cast<char*>("No path in eofill")); ++ //error(errInternal, getPos(), const_cast<char*>("No path in eofill")); + return; + } + if (state->isPath()) { +@@ -1363,7 +1327,7 @@ + + void PdfParser::opFillStroke(Object args[], int numArgs) { + if (!state->isCurPt()) { +- //error(getPos(), const_cast<char*>("No path in fill/stroke")); ++ //error(errInternal, getPos(), const_cast<char*>("No path in fill/stroke")); + return; + } + if (state->isPath()) { +@@ -1376,7 +1340,7 @@ + + void PdfParser::opCloseFillStroke(Object args[], int numArgs) { + if (!state->isCurPt()) { +- //error(getPos(), const_cast<char*>("No path in closepath/fill/stroke")); ++ //error(errInternal, getPos(), const_cast<char*>("No path in closepath/fill/stroke")); + return; + } + if (state->isPath()) { +@@ -1388,7 +1352,7 @@ + + void PdfParser::opEOFillStroke(Object args[], int numArgs) { + if (!state->isCurPt()) { +- //error(getPos(), const_cast<char*>("No path in eofill/stroke")); ++ //error(errInternal, getPos(), const_cast<char*>("No path in eofill/stroke")); + return; + } + if (state->isPath()) { +@@ -1399,7 +1363,7 @@ + + void PdfParser::opCloseEOFillStroke(Object args[], int numArgs) { + if (!state->isCurPt()) { +- //error(getPos(), const_cast<char*>("No path in closepath/eofill/stroke")); ++ //error(errInternal, getPos(), const_cast<char*>("No path in closepath/eofill/stroke")); + return; + } + if (state->isPath()) { +@@ -1440,7 +1404,7 @@ + doShadingPatternFillFallback((GfxShadingPattern *)pattern, gFalse, eoFill); + break; + default: +- error(getPos(), const_cast<char*>("Unimplemented pattern type (%d) in fill"), ++ error(errInternal, getPos(), const_cast<char*>("Unimplemented pattern type (%d) in fill"), + pattern->getType()); + break; + } +@@ -1459,7 +1423,7 @@ + doShadingPatternFillFallback((GfxShadingPattern *)pattern, gTrue, gFalse); + break; + default: +- error(getPos(), const_cast<char*>("Unimplemented pattern type (%d) in stroke"), ++ error(errInternal, getPos(), const_cast<char*>("Unimplemented pattern type (%d) in stroke"), + pattern->getType()); + break; + } +@@ -1579,15 +1543,9 @@ + double *matrix = NULL; + GBool savedState = gFalse; + +-#ifdef POPPLER_NEW_COLOR_SPACE_API + if (!(shading = res->lookupShading(args[0].getName(), NULL))) { + return; + } +-#else +- if (!(shading = res->lookupShading(args[0].getName()))) { +- return; +- } +-#endif + + // save current graphics state + if (shading->getType() != 2 && shading->getType() != 3) { +@@ -2156,7 +2114,7 @@ + + void PdfParser::opShowText(Object args[], int numArgs) { + if (!state->getFont()) { +- error(getPos(), const_cast<char*>("No font in show")); ++ error(errInternal, getPos(), const_cast<char*>("No font in show")); + return; + } + if (fontChanged) { +@@ -2170,7 +2128,7 @@ + double tx, ty; + + if (!state->getFont()) { +- error(getPos(), const_cast<char*>("No font in move/show")); ++ error(errInternal, getPos(), const_cast<char*>("No font in move/show")); + return; + } + if (fontChanged) { +@@ -2188,7 +2146,7 @@ + double tx, ty; + + if (!state->getFont()) { +- error(getPos(), const_cast<char*>("No font in move/set/show")); ++ error(errInternal, getPos(), const_cast<char*>("No font in move/set/show")); + return; + } + if (fontChanged) { +@@ -2211,7 +2169,7 @@ + int i; + + if (!state->getFont()) { +- error(getPos(), const_cast<char*>("No font in show/space")); ++ error(errInternal, getPos(), const_cast<char*>("No font in show/space")); + return; + } + if (fontChanged) { +@@ -2236,7 +2194,7 @@ + } else if (obj.isString()) { + doShowText(obj.getString()); + } else { +- error(getPos(), const_cast<char*>("Element of show/space array must be number or string")); ++ error(errInternal, getPos(), const_cast<char*>("Element of show/space array must be number or string")); + } + obj.free(); + } +@@ -2334,7 +2292,7 @@ + if (charProc.isStream()) { + //parse(&charProc, gFalse); // TODO: parse into SVG font + } else { +- error(getPos(), const_cast<char*>("Missing or bad Type3 CharProc entry")); ++ error(errInternal, getPos(), const_cast<char*>("Missing or bad Type3 CharProc entry")); + } + //out->endType3Char(state); + if (resDict) { +@@ -2410,7 +2368,7 @@ + return; + } + if (!obj1.isStream()) { +- error(getPos(), const_cast<char*>("XObject '%s' is wrong type"), name); ++ error(errInternal, getPos(), const_cast<char*>("XObject '%s' is wrong type"), name); + obj1.free(); + return; + } +@@ -2426,9 +2384,9 @@ + /* out->psXObject(obj1.getStream(), + obj3.isStream() ? obj3.getStream() : (Stream *)NULL);*/ + } else if (obj2.isName()) { +- error(getPos(), const_cast<char*>("Unknown XObject subtype '%s'"), obj2.getName()); ++ error(errInternal, getPos(), const_cast<char*>("Unknown XObject subtype '%s'"), obj2.getName()); + } else { +- error(getPos(), const_cast<char*>("XObject subtype is missing or wrong type")); ++ error(errInternal, getPos(), const_cast<char*>("XObject subtype is missing or wrong type")); + } + obj2.free(); + obj1.free(); +@@ -2559,11 +2517,7 @@ + } + } + if (!obj1.isNull()) { +-#ifdef POPPLER_NEW_COLOR_SPACE_API + colorSpace = GfxColorSpace::parse(&obj1, NULL); +-#else +- colorSpace = GfxColorSpace::parse(&obj1); +-#endif + } else if (csMode == streamCSDeviceGray) { + colorSpace = new GfxDeviceGrayColorSpace(); + } else if (csMode == streamCSDeviceRGB) { +@@ -2648,11 +2602,7 @@ + obj2.free(); + } + } +-#ifdef POPPLER_NEW_COLOR_SPACE_API + maskColorSpace = GfxColorSpace::parse(&obj1, NULL); +-#else +- maskColorSpace = GfxColorSpace::parse(&obj1); +-#endif + obj1.free(); + if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) { + goto err1; +@@ -2758,7 +2708,7 @@ + err2: + obj1.free(); + err1: +- error(getPos(), const_cast<char*>("Bad image parameters")); ++ error(errInternal, getPos(), const_cast<char*>("Bad image parameters")); + } + + void PdfParser::doForm(Object *str) { +@@ -2783,7 +2733,7 @@ + // check form type + dict->lookup(const_cast<char*>("FormType"), &obj1); + if (!(obj1.isNull() || (obj1.isInt() && obj1.getInt() == 1))) { +- error(getPos(), const_cast<char*>("Unknown form type")); ++ error(errInternal, getPos(), const_cast<char*>("Unknown form type")); + } + obj1.free(); + +@@ -2791,7 +2741,7 @@ + dict->lookup(const_cast<char*>("BBox"), &bboxObj); + if (!bboxObj.isArray()) { + bboxObj.free(); +- error(getPos(), const_cast<char*>("Bad form bounding box")); ++ error(errInternal, getPos(), const_cast<char*>("Bad form bounding box")); + return; + } + for (i = 0; i < 4; ++i) { +@@ -2827,11 +2777,7 @@ + if (obj1.dictLookup(const_cast<char*>("S"), &obj2)->isName(const_cast<char*>("Transparency"))) { + transpGroup = gTrue; + if (!obj1.dictLookup(const_cast<char*>("CS"), &obj3)->isNull()) { +-#ifdef POPPLER_NEW_COLOR_SPACE_API + blendingColorSpace = GfxColorSpace::parse(&obj3, NULL); +-#else +- blendingColorSpace = GfxColorSpace::parse(&obj3); +-#endif + } + obj3.free(); + if (obj1.dictLookup(const_cast<char*>("I"), &obj3)->isBool()) { +@@ -2990,7 +2936,7 @@ + parser->getObj(&obj); + while (!obj.isCmd(const_cast<char*>("ID")) && !obj.isEOF()) { + if (!obj.isName()) { +- error(getPos(), const_cast<char*>("Inline image dictionary key must be a name object")); ++ error(errInternal, getPos(), const_cast<char*>("Inline image dictionary key must be a name object")); + obj.free(); + } else { + key = copyString(obj.getName()); +@@ -3005,7 +2951,7 @@ + parser->getObj(&obj); + } + if (obj.isEOF()) { +- error(getPos(), const_cast<char*>("End of file in inline image")); ++ error(errInternal, getPos(), const_cast<char*>("End of file in inline image")); + obj.free(); + dict.free(); + return NULL; +@@ -3020,11 +2966,11 @@ + } + + void PdfParser::opImageData(Object args[], int numArgs) { +- error(getPos(), const_cast<char*>("Internal: got 'ID' operator")); ++ error(errInternal, getPos(), const_cast<char*>("Internal: got 'ID' operator")); + } + + void PdfParser::opEndImage(Object args[], int numArgs) { +- error(getPos(), const_cast<char*>("Internal: got 'EI' operator")); ++ error(errInternal, getPos(), const_cast<char*>("Internal: got 'EI' operator")); + } + + //------------------------------------------------------------------------ +diff -Naur old/src/extension/internal/pdfinput/svg-builder.cpp new/src/extension/internal/pdfinput/svg-builder.cpp +--- old/src/extension/internal/pdfinput/svg-builder.cpp 2011-07-08 20:25:09.468790000 +0200 ++++ new/src/extension/internal/pdfinput/svg-builder.cpp 2012-05-13 20:45:22.303804308 +0200 +@@ -961,9 +961,7 @@ + _font_style = sp_repr_css_attr_new(); + GfxFont *font = state->getFont(); + // Store original name +- if (font->getOrigName()) { +- _font_specification = font->getOrigName()->getCString(); +- } else if (font->getName()) { ++ if (font->getName()) { + _font_specification = font->getName()->getCString(); + } else { + _font_specification = (char*) "Arial"; diff --git a/extra/kdegraphics-okular/PKGBUILD b/extra/kdegraphics-okular/PKGBUILD index ba61ec9af..165b3352e 100644 --- a/extra/kdegraphics-okular/PKGBUILD +++ b/extra/kdegraphics-okular/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 158361 2012-05-03 22:30:29Z andrea $ +# $Id: PKGBUILD 159708 2012-05-26 07:54:21Z andyrtr $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdegraphics-okular pkgver=4.8.3 -pkgrel=1 +pkgrel=2 pkgdesc='Document Viewer' arch=('i686' 'x86_64') url="http://kde.org/applications/graphics/okular/" diff --git a/extra/libreoffice/PKGBUILD b/extra/libreoffice/PKGBUILD index f32828c7a..66f6216c4 100644 --- a/extra/libreoffice/PKGBUILD +++ b/extra/libreoffice/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 158917 2012-05-13 06:19:42Z andyrtr $ +# $Id: PKGBUILD 159710 2012-05-26 07:54:26Z andyrtr $ # Maintainer: AndyRTR <andyrtr@archlinux.org> 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=1 +pkgrel=3 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" @@ -75,6 +78,8 @@ source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll 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 @@ -138,6 +143,8 @@ md5sums=('d22cd79e7463ac4caf0a4b47d78a82ac' '185d60944ea767075d27247c3162b3bc' '60ce5dc9bd098f95c2e621a930c98dd9' '661a52a02a31b3afbe4b3b3146061afd' + '72ba8d57cefdc25a6f1bc845edfd4d78' + '025d9b17d9eb90dc282c5c1289a666aa' '9734ea20c9f67e1b6e1c5a1247fbd3ff' 'f0e72d0e1bc93a50a3aa9d31350b156c' '867c682b45f477f916786e00c45d7ab7') @@ -164,7 +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 @@ -210,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 \ @@ -281,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') @@ -345,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=() @@ -396,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=() @@ -418,6 +432,7 @@ package_libreoffice-calc() { package_libreoffice-draw() { pkgdesc="Drawing Application for LibreOffice." + install=libreoffice-draw.install depends=('libreoffice-common') optdepends=() backup=() @@ -461,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=() @@ -575,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=() @@ -656,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/extra/libreoffice/fix_broken_hebrew_wordwrapping.diff b/extra/libreoffice/fix_broken_hebrew_wordwrapping.diff new file mode 100644 index 000000000..ba4850c77 --- /dev/null +++ b/extra/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/extra/libreoffice/libreoffice-base.install b/extra/libreoffice/libreoffice-base.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/extra/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/extra/libreoffice/libreoffice-calc.install b/extra/libreoffice/libreoffice-calc.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/extra/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/extra/libreoffice/libreoffice-common.install b/extra/libreoffice/libreoffice-common.install new file mode 100644 index 000000000..e66b66f3d --- /dev/null +++ b/extra/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/extra/libreoffice/libreoffice-draw.install b/extra/libreoffice/libreoffice-draw.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/extra/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/extra/libreoffice/libreoffice-impress.install b/extra/libreoffice/libreoffice-impress.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/extra/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/extra/libreoffice/libreoffice-writer.install b/extra/libreoffice/libreoffice-writer.install new file mode 100644 index 000000000..80312d4a6 --- /dev/null +++ b/extra/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/extra/poppler/PKGBUILD b/extra/poppler/PKGBUILD index 6ecf34a2a..21bf5f959 100644 --- a/extra/poppler/PKGBUILD +++ b/extra/poppler/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 158944 2012-05-13 14:56:03Z jgc $ +# $Id: PKGBUILD 159712 2012-05-26 07:54:31Z andyrtr $ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgbase=poppler pkgname=('poppler' 'poppler-glib' 'poppler-qt') -pkgver=0.18.4 -pkgrel=2 +pkgver=0.20.0 +pkgrel=1 arch=(i686 x86_64) license=('GPL') makedepends=('libjpeg' 'gcc-libs' 'cairo' 'fontconfig' 'openjpeg' 'gtk2' 'qt' 'pkgconfig' 'lcms' 'gobject-introspection') @@ -13,7 +13,7 @@ url="http://poppler.freedesktop.org/" _testtag=0d2bfd4af4c76a3bac27ccaff793d9129df7b57a source=(http://poppler.freedesktop.org/${pkgbase}-${pkgver}.tar.gz http://cgit.freedesktop.org/poppler/test/snapshot/test-${_testtag}.tar.bz2) -md5sums=('12658f3308597e57f3faff538cc73baf' +md5sums=('5bca54b9561bf5b14d9344efce2cd4f3' '9dc64c254a31e570507bdd4ad4ba629a') build() { diff --git a/extra/thunar/PKGBUILD b/extra/thunar/PKGBUILD index e0b8e003e..563ec2d2c 100644 --- a/extra/thunar/PKGBUILD +++ b/extra/thunar/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 157829 2012-04-30 04:19:49Z foutrelis $ +# $Id: PKGBUILD 159694 2012-05-26 04:30:08Z foutrelis $ # Maintainer: Evangelos Foutras <evangelos@foutrelis.com> # Contributor: Andrew Simmons <andrew.simmons@gmail.com> pkgname=thunar pkgver=1.4.0 -pkgrel=1 +pkgrel=2 pkgdesc="Modern file manager for Xfce" arch=('i686' 'x86_64') url="http://thunar.xfce.org" @@ -22,12 +22,19 @@ optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems 'thunar-media-tags-plugin: view/edit id3/ogg tags') options=('!libtool') install=$pkgname.install -source=(http://archive.xfce.org/src/xfce/$pkgname/1.4/Thunar-$pkgver.tar.bz2) -sha256sums=('2c11a19e64cef708a264fb4d5d933389899c3d132fe7b1e313dd6e37bfe4c8ba') +source=(http://archive.xfce.org/src/xfce/$pkgname/1.4/Thunar-$pkgver.tar.bz2 + thunar-1.4.0-show-loop-devices-hack.patch) +sha256sums=('2c11a19e64cef708a264fb4d5d933389899c3d132fe7b1e313dd6e37bfe4c8ba' + '185c44db9bdf578d22cb69b81dce7fcc3e2ee6031b1547de6453ff0752dbc97e') build() { cd "$srcdir/Thunar-$pkgver" + # Fix: Loop devices not appearing in Thunar side pane + # https://bugs.archlinux.org/task/29894 + # https://bugzilla.xfce.org/show_bug.cgi?id=8947 + patch -Np1 -i "$srcdir/thunar-1.4.0-show-loop-devices-hack.patch" + ./configure \ --prefix=/usr \ --sysconfdir=/etc \ diff --git a/extra/thunar/thunar-1.4.0-show-loop-devices-hack.patch b/extra/thunar/thunar-1.4.0-show-loop-devices-hack.patch new file mode 100644 index 000000000..95bbc6665 --- /dev/null +++ b/extra/thunar/thunar-1.4.0-show-loop-devices-hack.patch @@ -0,0 +1,15 @@ +diff -upr Thunar-1.4.0.orig/thunar/thunar-gio-extensions.c Thunar-1.4.0/thunar/thunar-gio-extensions.c +--- Thunar-1.4.0.orig/thunar/thunar-gio-extensions.c 2012-05-26 07:03:39.000000000 +0300 ++++ Thunar-1.4.0/thunar/thunar-gio-extensions.c 2012-05-26 07:05:06.000000000 +0300 +@@ -550,6 +550,11 @@ thunar_g_volume_is_present (GVolume *vol + has_media = g_drive_has_media (drive); + g_object_unref (drive); + } ++ else ++ { ++ /* XXX: hack to show loop devices with gvfs 1.12 / udisks2 */ ++ has_media = g_volume_can_mount (volume); ++ } + + mount = g_volume_get_mount (volume); + if (mount != NULL) diff --git a/extra/windowmaker/PKGBUILD b/extra/windowmaker/PKGBUILD index e9a98534e..3b20bf518 100644 --- a/extra/windowmaker/PKGBUILD +++ b/extra/windowmaker/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 150208 2012-02-14 20:50:29Z daniel $ +# $Id: PKGBUILD 159727 2012-05-26 10:06:04Z daniel $ # Maintainer: Daniel Isenmann <daniel@archlinux.org> # Contributor: Judd Vinet <jvinet@zeroflux.org> pkgname=windowmaker -pkgver=0.95.2 +pkgver=0.95.3 pkgrel=1 pkgdesc="An X11 window manager with a NEXTSTEP look and feel" arch=(i686 x86_64) @@ -11,7 +11,7 @@ license=('GPL' 'custom') depends=('libxinerama' 'libxrandr' 'libxmu' 'libpng' 'libxpm' 'libxft' 'libtiff' 'giflib') options=('!libtool') source=(http://windowmaker.org/pub/source/release/WindowMaker-$pkgver.tar.gz wmaker.desktop) -md5sums=('ae62bad9c4dee504066e0f172b565ff0' +md5sums=('305af9d862e853a5d7977e801cb66ca3' '2fba97bebfd691836b92b8f0db79ff13') build() { diff --git a/extra/xpdf/PKGBUILD b/extra/xpdf/PKGBUILD index 12e63382c..f10a1b24f 100644 --- a/extra/xpdf/PKGBUILD +++ b/extra/xpdf/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 135889 2011-08-20 02:28:50Z bisson $ +# $Id: PKGBUILD 159716 2012-05-26 07:54:51Z andyrtr $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: tobias <tobias@archlinux.org> # Contributor: Sarah Hay <sarahhay@mb.sympatico.ca> @@ -6,7 +6,7 @@ pkgname=xpdf #pkgver=3.03_pl1 pkgver=3.03 -pkgrel=1 +pkgrel=2 pkgdesc='Viewer for Portable Document Format (PDF) files' url='http://www.foolabs.com/xpdf/' license=('GPL2') @@ -57,10 +57,8 @@ package() { install -Dm644 ../desktop "${pkgdir}/usr/share/applications/xpdf.desktop" install -Dm644 xpdf/xpdfIcon.xpm "${pkgdir}/usr/share/pixmaps/xpdf.xpm" - # remove libs and manpages provided by poppler - # pdfdetach should go there too once it is in poppler - for tool in pdffonts pdfimages pdfinfo pdftoppm pdftops pdftotext ; do - rm "${pkgdir}/usr/bin/${tool}" - rm "${pkgdir}/usr/share/man/man1/${tool}.1" + # stuff provided by poppler + for tool in pdfdetach pdffonts pdfimages pdfinfo pdftoppm pdftops pdftotext; do + rm "${pkgdir}/usr/bin/${tool}" "${pkgdir}/usr/share/man/man1/${tool}.1" done } |