summaryrefslogtreecommitdiff
path: root/source/xap
diff options
context:
space:
mode:
Diffstat (limited to 'source/xap')
-rwxr-xr-xsource/xap/MPlayer/MPlayer.SlackBuild17
-rw-r--r--source/xap/MPlayer/subreader-fix-srt-parsing.patch60
-rwxr-xr-xsource/xap/audacious/audacious.SlackBuild2
-rwxr-xr-xsource/xap/blueman/blueman.SlackBuild2
-rwxr-xr-xsource/xap/ddd/ddd.SlackBuild123
-rw-r--r--source/xap/ddd/ddd.pngbin0 -> 5689 bytes
-rw-r--r--source/xap/ddd/doinst.sh4
-rw-r--r--source/xap/ddd/slack-desc19
-rw-r--r--source/xap/ddd/strclass.C.diff12
-rwxr-xr-xsource/xap/fluxbox/fluxbox.SlackBuild2
-rw-r--r--source/xap/gnuchess/doinst.sh13
-rw-r--r--source/xap/gnuchess/eboard.ldl.diff11
-rwxr-xr-xsource/xap/gnuchess/gnuchess.SlackBuild54
-rw-r--r--source/xap/gnuchess/xboard.conf.in.diff19
-rw-r--r--source/xap/gnuchess/xboard.desktop10
-rw-r--r--source/xap/gucharmap/doinst.sh12
-rwxr-xr-xsource/xap/gucharmap/gucharmap.SlackBuild5
-rwxr-xr-xsource/xap/gv/gv.SlackBuild6
-rw-r--r--source/xap/gv/gv.libXaw3d.diff11
-rwxr-xr-xsource/xap/imagemagick/imagemagick.SlackBuild10
-rw-r--r--source/xap/mozilla-firefox/firefox.pngbin24263 -> 0 bytes
-rwxr-xr-xsource/xap/mozilla-firefox/mozilla-firefox.SlackBuild191
-rw-r--r--source/xap/mozilla-firefox/mozilla-firefox.desktop2
-rwxr-xr-xsource/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild8
-rw-r--r--source/xap/network-manager-applet/doinst.sh16
-rwxr-xr-xsource/xap/network-manager-applet/network-manager-applet.SlackBuild23
-rwxr-xr-xsource/xap/pan/pan.SlackBuild2
-rw-r--r--source/xap/pidgin/link-libirc-to-libsasl2.patch65
-rwxr-xr-xsource/xap/pidgin/pidgin.SlackBuild6
-rw-r--r--source/xap/rdesktop/rdesktop-1.8.0-fix-missing-ui.diff77
-rwxr-xr-xsource/xap/rdesktop/rdesktop.SlackBuild9
-rw-r--r--source/xap/sane/sane-backends-1.0.22-v4l.diff64
-rwxr-xr-xsource/xap/sane/sane.SlackBuild27
-rw-r--r--source/xap/seamonkey/pkgconfig/seamonkey-js.pc11
-rwxr-xr-xsource/xap/seamonkey/seamonkey.SlackBuild19
-rw-r--r--source/xap/seamonkey/seamonkey.desktop1
-rwxr-xr-xsource/xap/windowmaker/windowmaker.SlackBuild5
-rwxr-xr-xsource/xap/xchat/xchat.SlackBuild9
-rw-r--r--source/xap/xchat/xchat.glib.g.diff47
-rwxr-xr-xsource/xap/xine-lib/xine-lib.SlackBuild2
-rw-r--r--source/xap/xine-ui/xine-ui-0.99.7-upstream_fix-1.patch27
-rwxr-xr-xsource/xap/xine-ui/xine-ui.SlackBuild6
-rw-r--r--source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff11
-rwxr-xr-xsource/xap/xlockmore/xlockmore.SlackBuild2
-rwxr-xr-xsource/xap/xmms/xmms.SlackBuild7
-rw-r--r--source/xap/xmms/xmms.alsa.default.diff11
-rw-r--r--source/xap/xpdf/lang/xpdf-arabic.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-chinese-simplified.diff10
-rw-r--r--source/xap/xpdf/lang/xpdf-chinese-traditional.diff10
-rw-r--r--source/xap/xpdf/lang/xpdf-cyrillic.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-greek.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-hebrew.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-japanese.diff90
-rw-r--r--source/xap/xpdf/lang/xpdf-korean.diff10
-rw-r--r--source/xap/xpdf/lang/xpdf-latin2.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-thai.diff6
-rw-r--r--source/xap/xpdf/lang/xpdf-turkish.diff6
-rw-r--r--source/xap/xpdf/patches/03-float.patch25
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl1.patch33
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl2.patch823
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl3.patch1145
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl4.patch282
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl5.patch41
-rw-r--r--source/xap/xpdf/patches/xpdf-3.02pl6.patch1
-rw-r--r--source/xap/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff55
-rw-r--r--source/xap/xpdf/patches/xpdf-resizefix.diff34
-rw-r--r--source/xap/xpdf/patches/xpdf.XPDFViewer.diff11
-rw-r--r--source/xap/xpdf/patches/xpdf_3.02-1.3.diff4470
-rw-r--r--source/xap/xpdf/patches/xpdfrc.diff64
-rwxr-xr-xsource/xap/xpdf/xpdf.SlackBuild25
-rwxr-xr-xsource/xap/xsane/xsane.SlackBuild2
-rwxr-xr-xsource/xap/xscreensaver/dump.osx.sources.sh13
-rw-r--r--source/xap/xscreensaver/slack-desc2
-rwxr-xr-xsource/xap/xscreensaver/xscreensaver.SlackBuild4
-rw-r--r--source/xap/xxgdb/slack-desc19
-rw-r--r--source/xap/xxgdb/xxgdb-1.08-glibc.patch10
-rw-r--r--source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch10
-rw-r--r--source/xap/xxgdb/xxgdb-1.12-debian-pty.patch76
-rw-r--r--source/xap/xxgdb/xxgdb-1.12-mandriva.patch993
-rw-r--r--source/xap/xxgdb/xxgdb-1.12-sysv.patch24
-rwxr-xr-xsource/xap/xxgdb/xxgdb.SlackBuild118
81 files changed, 974 insertions, 8508 deletions
diff --git a/source/xap/MPlayer/MPlayer.SlackBuild b/source/xap/MPlayer/MPlayer.SlackBuild
index 663fe2f8..f7665207 100755
--- a/source/xap/MPlayer/MPlayer.SlackBuild
+++ b/source/xap/MPlayer/MPlayer.SlackBuild
@@ -1,6 +1,7 @@
#!/bin/sh
# $Id: MPlayer.SlackBuild,v 1.27 2012/07/01 13:07:08 root Exp root $
# Copyright 2006, 2007, 2008, 2010, 2011, 2012 Eric Hameleers, Eindhoven, NL
+# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -80,6 +81,10 @@
# 1.1_20120701-1: 28/jun/2012 by alien@slackware.com
# * Update to the 1.1 branch (essentially this is MPlayer-1.1 but
# I like to check it out of SVN).
+# 1.1_20130819-1: 19/aug/2013 by volkerdi@slackware.com
+# * Update to the latest 1.1 branch, and the same ffmpeg that was
+# shipped with the 1.1.1 tarball. The official 1.1.1 release
+# did not start a new repo branch, so this is the latest.
#
# Run 'sh MPlayer.SlackBuild' to build a Slackware package.
# The package (.txz) plus descriptive .txt file are created in /tmp .
@@ -90,9 +95,9 @@
# Set initial variables:
PRGNAM=MPlayer
-VERSION=${VERSION:-20120701}
+VERSION=${VERSION:-20130819}
BRANCH=${BRANCH:-1.1} # leave empty if you want to build MPlayer trunk
-FFMPEG=${FFMPEG:-20120514}
+FFMPEG=${FFMPEG:-20130505}
BUILD=${BUILD:-2}
TAG=${TAG:-}
@@ -345,12 +350,8 @@ chown -R root:root *
chmod -R u+w,go+r-w,a+X-s *
cd ${PRGNAM}-${VERSION}
-# Prevent a compilation error:
-# "libm.h:54:74: error: expected identifier or '(' before 'sizeof'"
-# See also:
-# http://lists.mplayerhq.hu/pipermail/mplayer-users/2012-June/084871.html
-cat $SRCDIR/MPlayer_ffmpeg.patch | patch -p0 --verbose \
- 2>&1 | tee $OUTPUT/patch-${PRGNAM}.log
+# Apply patch to fix subtitles:
+zcat $SRCDIR/subreader-fix-srt-parsing.patch.gz | patch -p1 --verbose || exit 1
# Determine what X we're running (the modular X returns the prefix
# in the next command, while older versions stay silent):
diff --git a/source/xap/MPlayer/subreader-fix-srt-parsing.patch b/source/xap/MPlayer/subreader-fix-srt-parsing.patch
new file mode 100644
index 00000000..84f2de4d
--- /dev/null
+++ b/source/xap/MPlayer/subreader-fix-srt-parsing.patch
@@ -0,0 +1,60 @@
+From d98e61ea438db66323734ad1b6bea66411a3c97b Mon Sep 17 00:00:00 2001
+From: wm4 <wm4@nowhere>
+Date: Tue, 30 Apr 2013 00:09:31 +0200
+Subject: [PATCH] subreader: fix out of bound write access when parsing .srt
+
+This broke .srt subtitles on gcc-4.8. The breakage was relatively
+subtle: it set all hour components to 0, while everything else was
+parsed successfully.
+
+But the problem is really that sscanf wrote 1 byte past the sep
+variable (or more, for invalid/specially prepared input). The %[..]
+format specifier is unbounded. Fix that by letting sscanf drop the
+parsed contents with "*", and also make it skip only one input
+character by adding "1" (=> "%*1[...").
+
+The out of bound write could easily lead to security issues.
+
+Also, this change makes .srt subtitle parsing slightly more strict.
+Strictly speaking this is an unrelated change, but do it anyway. It's
+more correct.
+---
+ sub/subreader.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+ (foutrelis: adjusted variable names in first hunk to apply to mplayer)
+
+diff --git a/sub/subreader.c b/sub/subreader.c
+index 23da4c7..0f1b6c9 100644
+--- a/sub/subreader.c
++++ b/sub/subreader.c
+@@ -386,14 +386,14 @@ static subtitle *sub_ass_read_line_subviewer(stream_t *st, subtitle *current,
+ int h1, m1, s1, ms1, h2, m2, s2, ms2, j = 0;
+
+ while (!current->text[0]) {
+- char line[LINE_LEN + 1], full_line[LINE_LEN + 1], sep;
++ char line[LINE_LEN + 1], full_line[LINE_LEN + 1];
+ int i;
+
+ /* Parse SubRip header */
+ if (!stream_read_line(st, line, LINE_LEN, utf16))
+ return NULL;
+- if (sscanf(line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d",
+- &h1, &m1, &s1, &sep, &ms1, &h2, &m2, &s2, &sep, &ms2) < 10)
++ if (sscanf(line, "%d:%d:%d%*1[,.:]%d --> %d:%d:%d%*1[,.:]%d",
++ &h1, &m1, &s1, &ms1, &h2, &m2, &s2, &ms2) < 8)
+ continue;
+
+ current->start = a1 * 360000 + a2 * 6000 + a3 * 100 + a4 / 10;
+@@ -450,7 +450,7 @@ static subtitle *sub_read_line_subviewer(stream_t *st,subtitle *current,
+ return sub_ass_read_line_subviewer(st, current, args);
+ while (!current->text[0]) {
+ if (!stream_read_line (st, line, LINE_LEN, utf16)) return NULL;
+- if ((len=sscanf (line, "%d:%d:%d%[,.:]%d --> %d:%d:%d%[,.:]%d",&a1,&a2,&a3,(char *)&i,&a4,&b1,&b2,&b3,(char *)&i,&b4)) < 10)
++ if ((len=sscanf (line, "%d:%d:%d%*1[,.:]%d --> %d:%d:%d%*1[,.:]%d",&a1,&a2,&a3,&a4,&b1,&b2,&b3,&b4)) < 8)
+ continue;
+ current->start = a1*360000+a2*6000+a3*100+a4/10;
+ current->end = b1*360000+b2*6000+b3*100+b4/10;
+--
+1.8.1.6
+
diff --git a/source/xap/audacious/audacious.SlackBuild b/source/xap/audacious/audacious.SlackBuild
index 66bb0f90..83662aec 100755
--- a/source/xap/audacious/audacious.SlackBuild
+++ b/source/xap/audacious/audacious.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=audacious
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/xap/blueman/blueman.SlackBuild b/source/xap/blueman/blueman.SlackBuild
index f47aabb6..5559f0db 100755
--- a/source/xap/blueman/blueman.SlackBuild
+++ b/source/xap/blueman/blueman.SlackBuild
@@ -25,7 +25,7 @@
PKGNAM=blueman
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xap/ddd/ddd.SlackBuild b/source/xap/ddd/ddd.SlackBuild
new file mode 100755
index 00000000..fda06cc5
--- /dev/null
+++ b/source/xap/ddd/ddd.SlackBuild
@@ -0,0 +1,123 @@
+#!/bin/sh
+# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Slackware build script for ddd
+# Written by Ferenc Deak <ferenc.deak@gmail.com>
+
+# Slight modifications by the SlackBuilds projects
+# Modified by Ken Milmore 2009
+
+PKGNAM=ddd
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.*z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+chown -R root:root .
+chmod -R u+w,go+r-w,a-s .
+
+# http://savannah.gnu.org/bugs/?26726
+zcat $CWD/strclass.C.diff.gz | patch -p0 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib$LIBDIRSUFFIX \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
+
+make -j $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# DDD installs a .desktop file, but not an icon...
+mkdir -p $PKG/usr/share/pixmaps
+cat $CWD/ddd.png > $PKG/usr/share/pixmaps/ddd.png
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* CREDITS NEWS PROBLEMS README TIPS TODO \
+ doc/html/ddd.html \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/xap/ddd/ddd.png b/source/xap/ddd/ddd.png
new file mode 100644
index 00000000..eec9b8cb
--- /dev/null
+++ b/source/xap/ddd/ddd.png
Binary files differ
diff --git a/source/xap/ddd/doinst.sh b/source/xap/ddd/doinst.sh
new file mode 100644
index 00000000..4e8ba707
--- /dev/null
+++ b/source/xap/ddd/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
diff --git a/source/xap/ddd/slack-desc b/source/xap/ddd/slack-desc
new file mode 100644
index 00000000..913884c8
--- /dev/null
+++ b/source/xap/ddd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also customary
+# to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+ddd: ddd (Data Display Debugger)
+ddd:
+ddd: GNU DDD is a graphical front-end for command-line debuggers such as
+ddd: GDB, DBX, WDB, Ladebug, JDB, XDB, the Perl debugger, the bash
+ddd: debugger, or the Python debugger. Besides "usual" front-end features
+ddd: such as viewing source texts, DDD has become famous through its
+ddd: interactive graphical data display, where data structures are
+ddd: displayed as graphs.
+ddd:
+ddd:
+ddd:
diff --git a/source/xap/ddd/strclass.C.diff b/source/xap/ddd/strclass.C.diff
new file mode 100644
index 00000000..6f5bbee7
--- /dev/null
+++ b/source/xap/ddd/strclass.C.diff
@@ -0,0 +1,12 @@
+Index: ddd/strclass.C
+===================================================================
+--- ddd/strclass.C (revision 7209)
++++ ddd/strclass.C (working copy)
+@@ -38,6 +38,7 @@
+ #include <ctype.h>
+ #include <limits.h>
+ #include <new>
++#include <cstdio>
+ #include <stdlib.h>
+
+ void string::error(const char* msg) const
diff --git a/source/xap/fluxbox/fluxbox.SlackBuild b/source/xap/fluxbox/fluxbox.SlackBuild
index 52864abb..25eedf3e 100755
--- a/source/xap/fluxbox/fluxbox.SlackBuild
+++ b/source/xap/fluxbox/fluxbox.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=fluxbox
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/xap/gnuchess/doinst.sh b/source/xap/gnuchess/doinst.sh
new file mode 100644
index 00000000..cf0722d2
--- /dev/null
+++ b/source/xap/gnuchess/doinst.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/xboard.conf.new
diff --git a/source/xap/gnuchess/eboard.ldl.diff b/source/xap/gnuchess/eboard.ldl.diff
new file mode 100644
index 00000000..45ef58da
--- /dev/null
+++ b/source/xap/gnuchess/eboard.ldl.diff
@@ -0,0 +1,11 @@
+--- ./elifekam.orig 2008-02-22 09:51:22.000000000 -0600
++++ ./elifekam 2013-03-19 20:47:06.022315936 -0500
+@@ -24,7 +24,7 @@
+ all: eboard nls-dicts
+
+ eboard: $(OBJS)
+- $(CXX) $(LDFLAGS) -o eboard $(OBJS)
++ $(CXX) $(LDFLAGS) -ldl -o eboard $(OBJS)
+
+ .cc.o: $< $(HEADERS) $(XPMS)
+ $(CXX) $(CXXFLAGS) -c $< -o $@
diff --git a/source/xap/gnuchess/gnuchess.SlackBuild b/source/xap/gnuchess/gnuchess.SlackBuild
index b27193dc..46bc29e0 100755
--- a/source/xap/gnuchess/gnuchess.SlackBuild
+++ b/source/xap/gnuchess/gnuchess.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,10 +21,10 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERGNUCHESS=5.08
+VERGNUCHESS=6.0.3
VERSJENG=11.2
VEREBOARD=1.1.1
-VERXBOARD=4.5.1
+VERXBOARD=4.7.1
BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
@@ -71,14 +71,14 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
- $ARCH-slackware-linux
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
mkdir -p $PKG/usr/doc/gnuchess-$VERGNUCHESS
cp -a \
- doc/README* \
- AUTHORS COPYING* INSTALL NEWS TODO \
+ AUTHORS COPYING* INSTALL NEWS README TODO \
$PKG/usr/doc/gnuchess-$VERGNUCHESS
### Sjeng
@@ -96,7 +96,7 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
- $ARCH-slackware-linux
+ --build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
@@ -111,6 +111,7 @@ rm -rf eboard-$VEREBOARD
tar xvf $CWD/eboard-$VEREBOARD.tar.bz2 || exit 1
cd eboard-$VEREBOARD || exit 1
zcat $CWD/eboard.assert.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/eboard.ldl.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -120,7 +121,8 @@ find . \
./configure \
--prefix=/usr \
- --extra-flags=$(echo $SLKCFLAGS | sed -e "y/ /:/")
+ --extra-flags=$(echo $SLKCFLAGS | sed -e "y/ /:/") \
+ --build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
@@ -134,6 +136,7 @@ cd $TMP
rm -rf xboard-$VERXBOARD
tar xvf $CWD/xboard-$VERXBOARD.tar.?z* || exit 1
cd xboard-$VERXBOARD || exit 1
+zcat $CWD/xboard.conf.in.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -141,42 +144,45 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# --infodir is fubar.
-#zcat $CWD/xboard.infodir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
+ --sysconfdir=/etc \
--infodir=/usr/info \
+ --mandir=/usr/man \
+ --with-gtk \
--enable-zippy \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
-install -c -s xboard $PKG/usr/bin/xboard
-install -c -s zic2xpm $PKG/usr/bin/zic2xpm
+make install DESTDIR=$PKG || exit 1
install -c cmail $PKG/usr/bin/cmail
-install -c ./pxboard $PKG/usr/bin/pxboard
-install -c -m 644 ./xboard.man $PKG/usr/man/man6/xboard.6
-install -c -m 644 ./zic2xpm.man $PKG/usr/man/man6/zic2xpm.6
-mkdir -p $PKG/usr/info
-install -c -m 644 xboard.info $PKG/usr/info/xboard.info
+#install -c -s xboard $PKG/usr/bin/xboard
+#install -c -s zic2xpm $PKG/usr/bin/zic2xpm
+#install -c ./pxboard $PKG/usr/bin/pxboard
+#install -c -m 644 ./xboard.man $PKG/usr/man/man6/xboard.6
+#install -c -m 644 ./zic2xpm.man $PKG/usr/man/man6/zic2xpm.6
+#mkdir -p $PKG/usr/info
+#install -c -m 644 xboard.info $PKG/usr/info/xboard.info
mkdir -p $PKG/usr/doc/xboard-$VERXBOARD
cp -a \
- AUTHORS COPYING COPYRIGHT FAQ FAQ.html NEWS READ_ME \
+ AUTHORS COPYING* COPYRIGHT FAQ.html NEWS README TODO \
$PKG/usr/doc/xboard-$VERXBOARD
-
-### Finish up...
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
gzip -9 $PKG/usr/man/man?/*.?
gzip -9 $PKG/usr/info/*.info
mkdir -p $PKG/usr/share/pixmaps
cat $CWD/chess.png > $PKG/usr/share/pixmaps/chess.png
mkdir -p $PKG/usr/share/applications
cat $CWD/eboard.desktop > $PKG/usr/share/applications/eboard.desktop
-cat $CWD/xboard.desktop > $PKG/usr/share/applications/xboard.desktop
+rm -f $PKG/usr/info/dir
+mv $PKG/etc/xboard.conf $PKG/etc/xboard.conf.new
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/gnuchess-$VERGNUCHESS-$ARCH-$BUILD.txz
diff --git a/source/xap/gnuchess/xboard.conf.in.diff b/source/xap/gnuchess/xboard.conf.in.diff
new file mode 100644
index 00000000..48881380
--- /dev/null
+++ b/source/xap/gnuchess/xboard.conf.in.diff
@@ -0,0 +1,19 @@
+--- ./xboard.conf.in.orig 2013-02-20 23:59:30.000000000 -0600
++++ ./xboard.conf.in 2013-03-19 21:39:17.377182426 -0500
+@@ -67,12 +67,12 @@
+ ;
+ ; Engines & adjudicatons in engine-engine games
+ ;
+--firstChessProgram fairymax
+--secondChessProgram fairymax
+--firstChessProgramNames {fairymax
++-firstChessProgram gnuchess
++-secondChessProgram gnuchess
++-firstChessProgramNames {"GNU Chess" -fcp gnuchess
++fairymax
+ "Fruit 2.1" -fcp fruit -fUCI
+ "Crafty" -fcp crafty
+-"GNU Chess" -fcp gnuchess
+ }
+ -niceEngines 0
+ -polyglotDir ""
diff --git a/source/xap/gnuchess/xboard.desktop b/source/xap/gnuchess/xboard.desktop
deleted file mode 100644
index c1b2a2d3..00000000
--- a/source/xap/gnuchess/xboard.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=XBoard
-GenericName=Chess Game
-Comment=A graphical chess engine frontend
-Exec=xboard -fcp gnuchess
-Icon=/usr/share/pixmaps/chess.png
-Terminal=false
-Type=Application
-Categories=Application;Game;BoardGame
diff --git a/source/xap/gucharmap/doinst.sh b/source/xap/gucharmap/doinst.sh
index f6a66768..5146862f 100644
--- a/source/xap/gucharmap/doinst.sh
+++ b/source/xap/gucharmap/doinst.sh
@@ -1,10 +1,4 @@
-if [ -x /usr/bin/update-desktop-database ]; then
- /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
-fi
-
-if [ -e usr/share/glib-2.0/schemas ]; then
- if [ -x /usr/bin/glib-compile-schemas ]; then
- /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
- fi
-fi
+# Try to run these. If they fail, no biggie.
+chroot . /usr/bin/update-desktop-database -q usr/share/applications 1> /dev/null 2> /dev/null
+chroot . /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/ 1> /dev/null 2> /dev/null
diff --git a/source/xap/gucharmap/gucharmap.SlackBuild b/source/xap/gucharmap/gucharmap.SlackBuild
index 4ceef233..56fe66c6 100755
--- a/source/xap/gucharmap/gucharmap.SlackBuild
+++ b/source/xap/gucharmap/gucharmap.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -60,7 +60,6 @@ cd $TMP
rm -rf gucharmap-$VERSION
tar xvf $CWD/gucharmap-$VERSION.tar.?z* || exit 1
cd gucharmap-$VERSION || exit 1
-#zcat $CWD/gucharmap.noscrollkeeper.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -76,7 +75,6 @@ CFLAGS="$SLKCFLAGS" \
--localstatedir=/var/lib \
--docdir=/usr/doc/gucharmap-$VERSION \
--enable-static=no \
- --disable-scrollkeeper \
--build=$ARCH-slackware-linux
make -i $NUMJOBS || make || exit 1
@@ -102,6 +100,7 @@ if [ -r ChangeLog ]; then
fi
mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
diff --git a/source/xap/gv/gv.SlackBuild b/source/xap/gv/gv.SlackBuild
index 67353af1..751cefd8 100755
--- a/source/xap/gv/gv.SlackBuild
+++ b/source/xap/gv/gv.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=gv
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -58,8 +58,6 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
-zcat $CWD/gv.libXaw3d.diff.gz | patch -p1 --verbose || exit 1
-
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/xap/gv/gv.libXaw3d.diff b/source/xap/gv/gv.libXaw3d.diff
deleted file mode 100644
index b64cef00..00000000
--- a/source/xap/gv/gv.libXaw3d.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/Scrollbar.c.orig 2011-08-03 11:14:14.000000000 -0500
-+++ ./src/Scrollbar.c 2012-05-13 11:19:18.140324835 -0500
-@@ -1006,7 +1006,7 @@
- TOPLOC = newtop;
- SHOWNLENGTH = newbot-newtop+1;
-
-- (*swclass->threeD_class.shadowdraw) (w, event, region, FALSE);
-+ (*swclass->threeD_class.shadowdraw) (w, event, region, sbw->threeD.relief, FALSE);
-
- ENDMESSAGE(Redisplay)
- }
diff --git a/source/xap/imagemagick/imagemagick.SlackBuild b/source/xap/imagemagick/imagemagick.SlackBuild
index cf17f5f3..aca05857 100755
--- a/source/xap/imagemagick/imagemagick.SlackBuild
+++ b/source/xap/imagemagick/imagemagick.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -29,14 +29,14 @@ BUILD=${BUILD:-1}
# This is a bit messy, so we'll explain it well. :-)
# This is the base version number, which is needed to cd into the source tree
-BASEVER=6.7.7-10
+BASEVER=6.8.6-10
# This is the version number used in the source tarball filename
-FILEVER=6.7.7-10
+FILEVER=6.8.6-10
# This is the version number used in the package, where a version number cannot
# contain a '-'
-PKGVER=6.7.7_10
+PKGVER=6.8.6_10
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -81,6 +81,7 @@ cd $TMP
rm -rf ImageMagick-$BASEVER
tar xvf $CWD/ImageMagick-$FILEVER.tar.?z* || exit 1
cd ImageMagick-$BASEVER || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -109,6 +110,7 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-static=no \
--enable-shared \
--with-perl \
+ --with-rsvg \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS INSTALLDIRS=vendor || make INSTALLDIRS=vendor || exit 1
diff --git a/source/xap/mozilla-firefox/firefox.png b/source/xap/mozilla-firefox/firefox.png
deleted file mode 100644
index 76204b5d..00000000
--- a/source/xap/mozilla-firefox/firefox.png
+++ /dev/null
Binary files differ
diff --git a/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild b/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild
index a6f6c65c..78f82675 100755
--- a/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild
+++ b/source/xap/mozilla-firefox/mozilla-firefox.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,22 +25,20 @@
VERSION=$(basename $(ls firefox-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)
RELEASEVER=$(echo $VERSION | cut -f 1 -d r | cut -f 1 -d b)
+# With esr releases we need to fix this
+if [ "${RELEASEVER}r" = "$VERSION" ]; then
+ RELEASEVER=$(echo $RELEASEVER | cut -f 1 -d e)
+ RELEASEVERMAJ=$(echo $RELEASEVER | cut -f 1 -d .)
+fi
BUILD=${BUILD:-1}
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-mozilla-firefox
-
-# Figure out if this is a beta, or a release:
-if echo $VERSION | grep -q b ; then # we think it is a beta
- if bzgrep -q mozilla-beta/ $CWD/firefox-$VERSION.source.tar.bz2 ; then
- MOZVERS=${MOZVERS:-beta}
- else # blindly assume it is a release
- MOZVERS=${MOZVERS:-release}
- fi
-else # release, no "b" in the tarball version:
- MOZVERS=${MOZVERS:-release}
-fi
+# Specify this variable for a localized build.
+# For example, to build a version of Firefox with Italian support, run
+# the build script like this:
+#
+# MOZLOCALIZE=it ./mozilla-firefox.SlackBuild
+#
+MOZLOCALIZE=${MOZLOCALIZE:-}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -52,6 +50,33 @@ if [ -z "$ARCH" ]; then
esac
fi
+# Use PGO? Doubles the time and drive space requirements for the build,
+# but should provide a performance increase. How much depends on which
+# benchmarks you believe, but I've typically seen around 2.5%. I've also
+# seen some which say it can be negligably (a fraction of a percent) slower
+# with this enganged. The anecdotal reports usually say there's a noticable
+# improvement in overall responsiveness. Seems like a good bet if you have
+# the time and your system is able to handle it. Set the variable to
+# anything else prior to the build to compile Firefox in less time (but
+# without the possible benefits of Profile-Guided Optimization).
+#
+# NOTE: The 23.0 release fails to compile with a GLib assert error if PGO
+# is enabled, so it is being disabled by default. I can't say I ever noticed
+# a lot of difference with this anyway (other than a much, much longer compile
+# time. But pass PGO=yes to the SlackBuild if you want to try it.
+#if [ "$ARCH" = "x86_64" ]; then
+# PGO=${PGO:-yes}
+#else
+# # 32-bit systems have problems compiling with PGO, as the per-process
+# # memory requirements are too large. Possibly compiling with a 64-bit
+# # kernel could be a workaround for this, but for now we will default to
+# # using PGO only for x86_64.
+# PGO=${PGO:-no}
+#fi
+#
+# PGO is disabled by default:
+PGO=${PGO:-no}
+
# Try to be gentle to the compiler, no optimizations:
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O"
@@ -70,6 +95,23 @@ elif [ "$ARCH" = "armel" ]; then
LIBDIRSUFFIX=""
fi
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-mozilla-firefox
+
+# If not specified, figure out if this is a beta, an esr
+# or a release (we start assuming this last):
+MOZVERS=${MOZVERS:-release}
+if echo $VERSION | grep -q b ; then # we think it is a beta
+ if bzgrep -q ^mozilla-beta/ $CWD/firefox-$VERSION.source.tar.bz2 ; then
+ MOZVERS=beta
+ fi
+elif echo $VERSION | grep -q esr ; then # we think it is an esr
+ if bzgrep -q ^mozilla-esr$RELEASEVERMAJ/ $CWD/firefox-$VERSION.source.tar.bz2 ; then
+ MOZVERS=esr$RELEASEVERMAJ
+ fi
+fi
+
NUMJOBS=${NUMJOBS:-" -j7 "}
rm -rf $PKG
@@ -80,6 +122,16 @@ rm -rf mozilla-$MOZVERS
tar xvf $CWD/firefox-$VERSION.source.tar.bz2 || exit 1
cd mozilla-$MOZVERS || exit 1
+# Fetch localization, if requested:
+if [ ! -z $MOZLOCALIZE ]; then
+ LOC_TAG="FIREFOX_$( echo $VERSION | tr \. _ )_RELEASE"
+ rm -f $LOC_TAG.tar.bz2
+ if echo $MOZVERS | grep -q esr ; then LOC_VERS=release ; else LOC_VERS=$MOZVERS ; fi
+ wget https://hg.mozilla.org/releases/l10n/mozilla-$LOC_VERS/$MOZLOCALIZE/archive/$LOC_TAG.tar.bz2
+ tar xvf $LOC_TAG.tar.bz2
+ mv $MOZLOCALIZE-$LOC_TAG $MOZLOCALIZE
+fi
+
# Fix a long standing bug that's prevented staying current on GTK+.
# Thanks to the BLFS folks. :-)
cat << EOF >> layout/build/Makefile.in
@@ -111,18 +163,8 @@ if gcc --version | grep -q "gcc (GCC) 4.7.0" ; then
sed -i 's# ""##' browser/base/Makefile.in
fi
-# Mozilla devs enforce using an objdir for building
-# and launching configure with the absolute path
-# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir
-mkdir obj
-cd obj
-export MOZILLA_OFFICIAL="1" &&
-export BUILD_OFFICIAL="1" &&
-export MOZ_PHOENIX="1" &&
-export CFLAGS="$SLKCFLAGS" &&
-export CXXFLAGS="$SLKCFLAGS" &&
-export MOZ_MAKE_FLAGS="$NUMJOBS" &&
-$TMP/mozilla-$MOZVERS/configure \
+# Our building options, in a configure-like display ;)
+OPTIONS="\
--enable-official-branding \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -143,29 +185,75 @@ $TMP/mozilla-$MOZVERS/configure \
--enable-strip \
--enable-cpp-rtti \
--enable-single-profile \
+ --disable-gnomevfs \
--disable-ldap \
--disable-accessibility \
--disable-crashreporter \
--disable-debug \
- --disable-tests \
--disable-pedantic \
--disable-installer \
--disable-mailnews \
--disable-composer \
- --disable-profilesharing
- # Complains about missing APNG support in Slackware's libpng:
- #--with-system-png \
-
+ --disable-profilesharing"
+# Complains about missing APNG support in Slackware's libpng:
+# --with-system-png \
# This option breaks mozilla-12.0:
# --enable-system-cairo \
-#
+if [ ! -z $MOZLOCALIZE ]; then
+ OPTIONS=$OPTIONS" \
+ --enable-ui-locale=$MOZLOCALIZE
+ --with-l10n-base=.."
+ # There's no dictionaries in localized builds
+ sed -i "/@BINPATH@\/dictionaries\/\*/d" browser/installer/package-manifest.in || exit 1
+fi
+
+export MOZILLA_OFFICIAL="1"
+export BUILD_OFFICIAL="1"
+export MOZ_PHOENIX="1"
+export MOZ_PACKAGE_JSSHELL="1"
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+export MOZ_MAKE_FLAGS="$NUMJOBS"
+
+# Clear some variables that could break the build
+unset DBUS_SESSION_BUS_ADDRESS ORBIT_SOCKETDIR SESSION_MANAGER \
+ XDG_SESSION_COOKIE XAUTHORITY MAKEFLAGS
+
+# Assemble our .mozconfig, we use this method for building, seems
+# needed for PGO.
+echo ". \$topsrcdir/browser/config/mozconfig" > .mozconfig
+
+# Mozilla devs enforce using an objdir for building
+# https://developer.mozilla.org/en/Configuring_Build_Options#Building_with_an_objdir
+mkdir obj
+echo "mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj" >> .mozconfig
+
+if [ "$MOZLOCALIZE" ]; then
+ echo "mk_add_options MOZ_CO_LOCALES=\"$MOZLOCALIZE\"" >> .mozconfig
+fi
+
+# Write in it the options above
+for option in $OPTIONS; do echo "ac_add_options $option" >> .mozconfig; done
-#make -f client.mk build MOZ_MAKE_FLAGS="$NUMJOBS" || exit 1
-make MOZ_MAKE_FLAGS="$NUMJOBS" $NUMJOBS || exit 1
-make install DESTDIR=$PKG || exit 1
+# https://developer.mozilla.org/en-US/docs/Building_with_Profile-Guided_Optimization
+# Thanks to ArchLinux and Gentoo for the additional hints.
+if [ "$PGO" = "yes" ]; then
+ # Do a PGO build, double time and disk space but worth it.
+ export MOZ_PGO=1
+ echo "mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 \$(MAKE) -C \$(MOZ_OBJDIR) pgo-profile-run'" >> .mozconfig
+ export DISPLAY=:99
+ # Launch Xvfb to let the profile scripts run in a X session.
+ # Ugly note: if the build breaks you may want to do a "killall Xvfb".
+ Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 $DISPLAY &
+ dbus-launch --exit-with-session make -f client.mk build || exit 1
+ kill $! || true
+else
+ # Do a normal build
+ echo "ac_add_options --disable-tests" >> .mozconfig
+ make -f client.mk build || exit 1
+fi
-# Exit obj directory:
-cd ..
+make -f client.mk install DESTDIR=$PKG || exit 1
# We don't need these (just symlinks anyway):
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/firefox-devel-$RELEASEVER
@@ -190,8 +278,6 @@ rm -rf $PKG/usr/include
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
mkdir -p $PKG/usr/share/applications
cat $CWD/mozilla-firefox.desktop > $PKG/usr/share/applications/mozilla-firefox.desktop
-mkdir -p $PKG/usr/share/pixmaps
-cat $CWD/firefox.png > $PKG/usr/share/pixmaps/firefox.png
# These files/directories are usually created if Firefox is run as root,
# which on many systems might (and possibly should) be never. Therefore, if we
@@ -208,14 +294,17 @@ cat $CWD/firefox.png > $PKG/usr/share/pixmaps/firefox.png
)
# Need some default icons in the right place:
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER/chrome/icons/default
-install -m 644 other-licenses/branding/firefox/default16.png \
- $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER/icons/
-install -m 644 other-licenses/branding/firefox/default16.png \
- $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER/chrome/icons/default/
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER
- install -m 644 icons/{default,mozicon50}.xpm chrome/icons/default/
-)
+for i in 16 22 24 32 48 256; do
+ install -m 0644 -D browser/branding/official/default${i}.png \
+ $PKG/usr/share/icons/hicolor/${i}x${i}/apps/firefox.png
+done
+mkdir -p $PKG/usr/share/pixmaps
+( cd $PKG/usr/share/pixmaps ; ln -sf /usr/share/icons/hicolor/256x256/apps/firefox.png . )
+mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/chrome/icons/default
+install -m 644 browser/branding/official/default16.png \
+ $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/icons/
+install -m 644 browser/branding/official/default16.png \
+ $PKG/usr/lib$LIBDIRSUFFIX/firefox-$RELEASEVER/chrome/icons/default/
# Copy over the LICENSE
install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/firefox-$RELEASEVER/
@@ -224,5 +313,9 @@ mkdir $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-$BUILD.txz
+if [ -z $MOZLOCALIZE ]; then
+ /sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-$BUILD.txz
+else
+ /sbin/makepkg -l y -c n $TMP/mozilla-firefox-$VERSION-$ARCH-${BUILD}_$MOZLOCALIZE.txz
+fi
diff --git a/source/xap/mozilla-firefox/mozilla-firefox.desktop b/source/xap/mozilla-firefox/mozilla-firefox.desktop
index 23be26f3..e099dcad 100644
--- a/source/xap/mozilla-firefox/mozilla-firefox.desktop
+++ b/source/xap/mozilla-firefox/mozilla-firefox.desktop
@@ -76,5 +76,5 @@ GenericName[xh]=Umkhangeli zincwadi we Web
GenericName[zh_CN]=网页浏览器
GenericName[zh_TW]=網頁瀏覽器
GenericName[zu]=Umcingi we-Web
-MimeType=text/html;
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
X-KDE-StartupNotify=true
diff --git a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
index f0e910c4..24f58d6b 100755
--- a/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
+++ b/source/xap/mozilla-thunderbird/mozilla-thunderbird.SlackBuild
@@ -28,6 +28,7 @@
TARBALLVER=$(basename $(ls thunderbird-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)
# Strip the end from beta versions:
VERSION=$(echo $TARBALLVER | cut -f 1 -d b)
+MAJORVER=$(echo $TARBALLVER | cut -f 1 -d .)
BUILD=${BUILD:-1}
CWD=$(pwd)
@@ -42,7 +43,12 @@ if echo $TARBALLVER | grep -q b ; then # we think it is a beta
MOZVERS=${MOZVERS:-release}
fi
else # release, no "b" in the tarball version:
- MOZVERS=${MOZVERS:-release}
+ if bzgrep -q comm-esr${MAJORVER}/ $CWD/thunderbird-$TARBALLVER.source.tar.bz2 ; then
+ # Looks like we get this sometimes even when the tarball isn't labeled as esr...
+ MOZVERS=${MOZVERS:-esr${MAJORVER}}
+ else
+ MOZVERS=${MOZVERS:-release}
+ fi
fi
# Automatically determine the architecture we're building on:
diff --git a/source/xap/network-manager-applet/doinst.sh b/source/xap/network-manager-applet/doinst.sh
index 6da6f0c0..96ae4b32 100644
--- a/source/xap/network-manager-applet/doinst.sh
+++ b/source/xap/network-manager-applet/doinst.sh
@@ -1,13 +1,3 @@
-schema_install() {
- SCHEMA="$1"
- GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" \
- chroot . gconftool-2 --makefile-install-rule \
- /etc/gconf/schemas/$SCHEMA \
- 1>/dev/null 2> /dev/null
-}
-
-schema_install nm-applet.schemas
-
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications 1>/dev/null 2> /dev/null
fi
@@ -18,3 +8,9 @@ if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
fi
fi
+if [ -e usr/share/glib-2.0/schemas ]; then
+ if [ -x /usr/bin/glib-compile-schemas ]; then
+ /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
+ fi
+fi
+
diff --git a/source/xap/network-manager-applet/network-manager-applet.SlackBuild b/source/xap/network-manager-applet/network-manager-applet.SlackBuild
index 70221596..5eb17a86 100755
--- a/source/xap/network-manager-applet/network-manager-applet.SlackBuild
+++ b/source/xap/network-manager-applet/network-manager-applet.SlackBuild
@@ -24,7 +24,7 @@
PKGNAM=network-manager-applet
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -67,6 +67,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+sed -i 's/GtkBox/GtkHBox/g' src/connection-editor/ce-page-general.ui
+sed -i 's/GtkBox/GtkVBox/g' src/connection-editor/nm-connection-editor.ui
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -78,19 +81,33 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PKGNAM-$VERSION \
--with-gtkver=2 \
--disable-static \
- --disable-schemas-install \
--enable-more-warnings=no \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# Compress and if needed symlink the man pages:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
- AUTHORS CONTRIBUTING COPYING ChangeLog INSTALL NEWS README \
+ AUTHORS CONTRIBUTING COPYING* ChangeLog INSTALL NEWS README* \
$PKG/usr/doc/$PKGNAM-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
diff --git a/source/xap/pan/pan.SlackBuild b/source/xap/pan/pan.SlackBuild
index b3bbe857..ab891591 100755
--- a/source/xap/pan/pan.SlackBuild
+++ b/source/xap/pan/pan.SlackBuild
@@ -23,7 +23,7 @@
PKGNAM=pan
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xap/pidgin/link-libirc-to-libsasl2.patch b/source/xap/pidgin/link-libirc-to-libsasl2.patch
new file mode 100644
index 00000000..2858ac99
--- /dev/null
+++ b/source/xap/pidgin/link-libirc-to-libsasl2.patch
@@ -0,0 +1,65 @@
+--- ./libpurple/protocols/irc/Makefile.am.orig 2013-02-11 03:16:52.000000000 -0600
++++ ./libpurple/protocols/irc/Makefile.am 2013-02-15 15:18:32.950591016 -0600
+@@ -27,7 +27,7 @@
+ st =
+ pkg_LTLIBRARIES = libirc.la
+ libirc_la_SOURCES = $(IRCSOURCES)
+-libirc_la_LIBADD = $(GLIB_LIBS)
++libirc_la_LIBADD = $(GLIB_LIBS) $(SASL_LIBS)
+
+ endif
+
+--- ./libpurple/protocols/irc/Makefile.in.orig 2013-02-11 03:17:20.000000000 -0600
++++ ./libpurple/protocols/irc/Makefile.in 2013-02-15 15:18:43.256590687 -0600
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11.6 from Makefile.am.
++# Makefile.in generated by automake 1.11.5 from Makefile.am.
+ # @configure_input@
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -92,7 +92,8 @@
+ am__installdirs = "$(DESTDIR)$(pkgdir)"
+ LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+-@STATIC_IRC_FALSE@libirc_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
++@STATIC_IRC_FALSE@libirc_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
++@STATIC_IRC_FALSE@ $(am__DEPENDENCIES_1)
+ am__libirc_la_SOURCES_DIST = cmds.c dcc_send.c irc.c irc.h msgs.c \
+ parse.c
+ am__objects_1 = libirc_la-cmds.lo libirc_la-dcc_send.lo \
+@@ -415,7 +416,7 @@
+ @STATIC_IRC_TRUE@libirc_la_SOURCES = $(IRCSOURCES)
+ @STATIC_IRC_TRUE@libirc_la_CFLAGS = $(AM_CFLAGS)
+ @STATIC_IRC_FALSE@pkg_LTLIBRARIES = libirc.la
+-@STATIC_IRC_FALSE@libirc_la_LIBADD = $(GLIB_LIBS)
++@STATIC_IRC_FALSE@libirc_la_LIBADD = $(GLIB_LIBS) $(SASL_LIBS)
+ AM_CPPFLAGS = \
+ -I$(top_srcdir)/libpurple \
+ -I$(top_builddir)/libpurple \
+--- ./libpurple/protocols/irc/Makefile.orig 2013-02-15 15:16:32.812594857 -0600
++++ ./libpurple/protocols/irc/Makefile 2013-02-15 15:18:53.684590354 -0600
+@@ -1,4 +1,4 @@
+-# Makefile.in generated by automake 1.11.6 from Makefile.am.
++# Makefile.in generated by automake 1.11.5 from Makefile.am.
+ # libpurple/protocols/irc/Makefile. Generated from Makefile.in by configure.
+
+ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+@@ -92,7 +92,8 @@
+ am__installdirs = "$(DESTDIR)$(pkgdir)"
+ LTLIBRARIES = $(noinst_LTLIBRARIES) $(pkg_LTLIBRARIES)
+ am__DEPENDENCIES_1 =
+-libirc_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
++libirc_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
++ $(am__DEPENDENCIES_1)
+ am__libirc_la_SOURCES_DIST = cmds.c dcc_send.c irc.c irc.h msgs.c \
+ parse.c
+ am__objects_1 = libirc_la-cmds.lo libirc_la-dcc_send.lo \
+@@ -415,7 +416,7 @@
+ #libirc_la_SOURCES = $(IRCSOURCES)
+ #libirc_la_CFLAGS = $(AM_CFLAGS)
+ pkg_LTLIBRARIES = libirc.la
+-libirc_la_LIBADD = $(GLIB_LIBS)
++libirc_la_LIBADD = $(GLIB_LIBS) $(SASL_LIBS)
+ AM_CPPFLAGS = \
+ -I$(top_srcdir)/libpurple \
+ -I$(top_builddir)/libpurple \
diff --git a/source/xap/pidgin/pidgin.SlackBuild b/source/xap/pidgin/pidgin.SlackBuild
index 5fa20495..cf28811b 100755
--- a/source/xap/pidgin/pidgin.SlackBuild
+++ b/source/xap/pidgin/pidgin.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PKGNAM=pidgin
VERSION=${VERSION:-$(echo $PKGNAM-2.*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
PIDGINENC=${PIDGINENC:-3.1}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -106,6 +106,8 @@ CXXFLAGS="$SLKCFLAGS" \
--program-suffix= \
--build=$ARCH-slackware-linux$ARCHQUADLET || exit 1
+zcat $CWD/link-libirc-to-libsasl2.patch.gz | patch -p1 --verbose || exit 1
+
# Fix install location:
grep -lr -- "lib/perl" . | xargs sed -i 's?lib/perl?lib'"$LIBDIRSUFFIX"'/perl?g'
diff --git a/source/xap/rdesktop/rdesktop-1.8.0-fix-missing-ui.diff b/source/xap/rdesktop/rdesktop-1.8.0-fix-missing-ui.diff
new file mode 100644
index 00000000..efad2f33
--- /dev/null
+++ b/source/xap/rdesktop/rdesktop-1.8.0-fix-missing-ui.diff
@@ -0,0 +1,77 @@
+From 8aeb027877c517510ea39c26c37c6dbd46401800 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 20 Oct 2013
+Subject: Fix crash with -P and/or -N
+
+Make sure that ui is created if processing demand active PDU.
+
+Relevant upstream revisions:
+----------------------------
+http://sourceforge.net/p/rdesktop/code/1731/
+http://sourceforge.net/p/rdesktop/code/1732/
+http://sourceforge.net/p/rdesktop/code/1741/
+
+---
+ proto.h | 1 +
+ rdesktop.c | 20 +++++++++++++-------
+ rdp.c | 3 +++
+ 3 files changed, 17 insertions(+), 7 deletions(-)
+
+--- a/proto.h 2013-06-20
++++ b/proto.h 2013-10-20
+@@ -144,6 +144,7 @@ RD_BOOL subprocess(char *const argv[], s
+ char *l_to_a(long N, int base);
+ int load_licence(unsigned char **data);
+ void save_licence(unsigned char *data, int length);
++void rd_create_ui(void);
+ RD_BOOL rd_pstcache_mkdir(void);
+ int rd_open_file(char *filename);
+ void rd_close_file(int fd);
+--- a/rdesktop.c 2013-10-20
++++ b/rdesktop.c 2013-10-20
+@@ -1132,13 +1132,7 @@ main(int argc, char *argv[])
+ DEBUG(("Connection successful.\n"));
+ memset(password, 0, sizeof(password));
+
+- /* only create a window if we dont have one intialized */
+- if (!ui_have_window())
+- {
+- if (!ui_create_window())
+- return EX_OSERR;
+- }
+-
++ rd_create_ui();
+ tcp_run_ui(True);
+
+ g_redirect = False;
+@@ -1732,6 +1726,18 @@ save_licence(unsigned char *data, int le
+ close(fd);
+ }
+
++/* create rdesktop ui */
++void
++rd_create_ui()
++{
++ /* only create a window if we dont have one intialized */
++ if (!ui_have_window())
++ {
++ if (!ui_create_window())
++ exit(EX_OSERR);
++ }
++}
++
+ /* Create the bitmap cache directory */
+ RD_BOOL
+ rd_pstcache_mkdir(void)
+--- a/rdp.c 2013-06-20
++++ b/rdp.c 2013-10-20
+@@ -1044,6 +1044,9 @@ process_demand_active(STREAM s)
+ uint8 type;
+ uint16 len_src_descriptor, len_combined_caps;
+
++ /* at this point we need to ensure that we have ui created */
++ rd_create_ui();
++
+ in_uint32_le(s, g_rdp_shareid);
+ in_uint16_le(s, len_src_descriptor);
+ in_uint16_le(s, len_combined_caps);
diff --git a/source/xap/rdesktop/rdesktop.SlackBuild b/source/xap/rdesktop/rdesktop.SlackBuild
index ba6c6772..e1687e78 100755
--- a/source/xap/rdesktop/rdesktop.SlackBuild
+++ b/source/xap/rdesktop/rdesktop.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=rdesktop
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -59,6 +59,8 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
+zcat $CWD/rdesktop-1.8.0-fix-missing-ui.diff.gz | patch -p1 --verbose || exit 1
+
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
@@ -73,7 +75,8 @@ CFLAGS="$SLKCFLAGS" \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-sound=alsa \
- --enable-smartcard \
+ --disable-smartcard \
+ --disable-credssp \
--with-ipv6 \
--mandir=/usr/man \
--build=$ARCH-slackware-linux
diff --git a/source/xap/sane/sane-backends-1.0.22-v4l.diff b/source/xap/sane/sane-backends-1.0.22-v4l.diff
deleted file mode 100644
index 4e240e0c..00000000
--- a/source/xap/sane/sane-backends-1.0.22-v4l.diff
+++ /dev/null
@@ -1,64 +0,0 @@
-From 26c69b228b29f612faf4b0cc85db969ee7cc4ea6 Mon Sep 17 00:00:00 2001
-From: Nils Philippsen <nils@redhat.com>
-Date: Mon, 14 Mar 2011 13:35:05 +0100
-Subject: [PATCH] patch: v4l
-
-Squashed commit of the following:
-
-commit 23381932c76846191b42a48e505b37cd74711265
-Author: Julien BLACHE <jb@jblache.org>
-Date: Wed Feb 16 19:37:43 2011 +0100
-
- Fix v4l build with libv4l 0.8.3+
-
- (cherry picked from commit c5ca46c2d1be78c651afb843cc834cf2b5b24953)
-
- Conflicts:
-
- ChangeLog
-
- Signed-off-by: Nils Philippsen <nils@redhat.com>
----
- backend/v4l.c | 3 +--
- backend/v4l.h | 3 ++-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/backend/v4l.c b/backend/v4l.c
-index 6510ef0..38595ed 100644
---- a/backend/v4l.c
-+++ b/backend/v4l.c
-@@ -84,9 +84,8 @@
- #include "../include/sane/sanei_config.h"
- #define V4L_CONFIG_FILE "v4l.conf"
-
--#include "v4l.h"
--
- #include <libv4l1.h>
-+#include "v4l.h"
-
- static const SANE_Device **devlist = NULL;
- static int num_devices;
-diff --git a/backend/v4l.h b/backend/v4l.h
-index 588b96e..6aee586 100644
---- a/backend/v4l.h
-+++ b/backend/v4l.h
-@@ -29,6 +29,7 @@
- #ifndef v4l_h
- #define v4l_h
-
-+#ifndef __LINUX_VIDEODEV_H
- /* Kernel interface */
- /* Only the stuff we need. For more features, more defines are needed */
-
-@@ -165,7 +166,7 @@ struct video_channel
-
-
- /* end of kernel interface */
--
-+#endif /* !__LINUX_VIDEODEV_H */
-
- #include <../include/sane/sane.h>
-
---
-1.7.4
-
diff --git a/source/xap/sane/sane.SlackBuild b/source/xap/sane/sane.SlackBuild
index be9dd725..39b0dfa2 100755
--- a/source/xap/sane/sane.SlackBuild
+++ b/source/xap/sane/sane.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,10 +20,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.0.22
-BACKVER=1.0.22
+VERSION=1.0.24
+BACKVER=1.0.24
FRONTVER=1.0.14
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -61,7 +61,7 @@ mkdir -p $TMP $PKG
# First, we'll build the backends
cd $TMP
rm -rf sane-backends-$BACKVER
-tar xvf $CWD/sane-backends-$BACKVER.tar.bz2 || exit 1
+tar xvf $CWD/sane-backends-$BACKVER.tar.xz || exit 1
cd sane-backends-$BACKVER
chown -R root:root .
@@ -69,9 +69,6 @@ chown -R root:root .
# everything else catches up with the API change...
zcat $CWD/sane-frontends-1.0.14-sane_cap_always_settable.diff.gz | patch -p1 || exit 1
-# Fix building against v4l-utils-0.8.3:
-zcat $CWD/sane-backends-1.0.22-v4l.diff.gz | patch -p1 --verbose || exit 1
-
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -93,16 +90,20 @@ make install DESTDIR=$PKG || exit 1
# Add the default udev rules. Use group "lp" rather than "scanner" to avoid
# breaking CUPS access for multifunction printer/scanner devices (possibly
# the most common type of scanner these days)
+#
+# Use ACTION!="add|change" to avoid skipping these rules if coming from an
+# initrd where udev was started.
mkdir -p $PKG/lib/udev/rules.d
cat tools/udev/libsane.rules \
| sed -e "s/GROUP=\"scanner\"/GROUP=\"lp\"/g" \
| sed -e "s/MODE=\"0664\"/MODE=\"0660\"/g" \
+ | sed -e "s/ACTION!=\"add\"/ACTION!=\"add|change\"/g" \
> $PKG/lib/udev/rules.d/80-libsane.rules
-# Add the hal fdi file:
-mkdir -p $PKG/usr/share/hal/fdi/policy/10osvendor/
-cat tools/hal/libsane.fdi \
- > $PKG/usr/share/hal/fdi/policy/10osvendor/10-libsane.fdi
+## Add the hal fdi file:
+#mkdir -p $PKG/usr/share/hal/fdi/policy/10osvendor/
+#cat tools/hal/libsane.fdi \
+# > $PKG/usr/share/hal/fdi/policy/10osvendor/10-libsane.fdi
# Install the pkgconfig file:
install -D -m644 tools/sane-backends.pc \
@@ -111,7 +112,7 @@ install -D -m644 tools/sane-backends.pc \
# Now let's build the frontends:
cd $TMP
rm -rf sane-frontends-$FRONTVER
-tar xvf $CWD/sane-frontends-$FRONTVER.tar.bz2 || exit 1
+tar xvf $CWD/sane-frontends-$FRONTVER.tar.xz || exit 1
cd sane-frontends-$FRONTVER
chown -R root:root .
diff --git a/source/xap/seamonkey/pkgconfig/seamonkey-js.pc b/source/xap/seamonkey/pkgconfig/seamonkey-js.pc
deleted file mode 100644
index 31433be2..00000000
--- a/source/xap/seamonkey/pkgconfig/seamonkey-js.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=/usr
-exec_prefix=/usr
-libdir=/usr/@LIB@/seamonkey-@VERSION@
-includedir=/usr/include/seamonkey-@VERSION@
-
-Name: JavaScript
-Description: The Mozilla JavaScript Library
-Version: @VERSION@
-Requires: seamonkey-nspr >= 4.7.1
-Libs: -L${libdir} -lmozjs
-Cflags: -I${includedir}/js -DXP_UNIX -DJS_THREADSAFE
diff --git a/source/xap/seamonkey/seamonkey.SlackBuild b/source/xap/seamonkey/seamonkey.SlackBuild
index afc1bc96..fa0921e4 100755
--- a/source/xap/seamonkey/seamonkey.SlackBuild
+++ b/source/xap/seamonkey/seamonkey.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -38,8 +38,10 @@ fi
if [ "$ARCH" = "x86_64" ]; then
LIBDIRSUFFIX="64"
+ OPTIMIZE_FLAG="-O2"
else
LIBDIRSUFFIX=""
+ OPTIMIZE_FLAG="-Os"
fi
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -103,7 +105,7 @@ BUILD_OFFICIAL=1 MOZILLA_OFFICIAL=1 \
$TMP/comm-$COMM/configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
- --enable-optimize=-O2 \
+ --enable-optimize=$OPTIMIZE_FLAG \
--enable-cpp-rtti \
--enable-default-toolkit=cairo-gtk2 \
--enable-startup-notification \
@@ -118,12 +120,10 @@ $TMP/comm-$COMM/configure \
--enable-nspr-autoconf \
--enable-extensions=default,irc \
--enable-crypto \
- --enable-shared-js \
--enable-libxul \
--disable-xprint \
--without-system-nspr \
--with-system-zlib \
- --with-system-jpeg \
--with-system-mng \
--enable-application=suite \
--enable-xft \
@@ -136,7 +136,7 @@ $TMP/comm-$COMM/configure \
make $NUMJOBS || exit 1
DESTDIR=$PKG make install || exit 1
-# Install js/nspr/nss headers.
+# Install nspr/nss headers.
for includedir in nspr nspr/obsolete nspr/private ; do
mkdir -p $PKG/usr/include/seamonkey-${VERSION}/$includedir
cp -aL mozilla/dist/include/${includedir}/*.h $PKG/usr/include/seamonkey-${VERSION}/$includedir
@@ -146,8 +146,6 @@ cp -aL mozilla/dist/include/*.h $PKG/usr/include/seamonkey-${VERSION}
cp -aL mozilla/dist/sdk/include/* $PKG/usr/include/seamonkey-${VERSION}
# compat symlinks
( cd $PKG/usr/include/seamonkey-${VERSION}
- # make install seems to install js headers into a directory now, so don't make a symlink:
- #ln -sf . js
# Relocate anything that might be in the nss directory, and replace the directory with a symlink.
# make install was putting an empty directory here, which was breaking other compiles.
if [ -d nss ]; then
@@ -185,7 +183,6 @@ done
# Add symlinks for the pkgconfig files:
( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig
- ln -s seamonkey-js.pc js.pc
ln -s seamonkey-libxul.pc libxul.pc
ln -s seamonkey-plugin.pc plugin.pc
ln -s seamonkey-xpcom.pc xpcom.pc
@@ -252,7 +249,7 @@ rm -r $TMP/package-seamonkey-solibs
mkdir -p $TMP/package-seamonkey-solibs/usr/doc
cp -a $PKG/usr/doc/seamonkey-$VERSION $TMP/package-seamonkey-solibs/usr/doc
mkdir -p $TMP/package-seamonkey-solibs/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}
-for file in libfreebl3.chk libfreebl3.so libmozjs.so libmozsqlite3.so \
+for file in libfreebl3.chk libfreebl3.so libmozsqlite3.so \
libnspr4.so libnss* libplc4.so libplds4.so libsmime3.so libsoftokn3.chk \
libsoftokn3.so libssl3.so ; do
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/seamonkey-${VERSION}/$file \
@@ -274,8 +271,8 @@ cat << EOF > $TMP/package-seamonkey-solibs/install/slack-desc
seamonkey-solibs: seamonkey-solibs (Shared libraries from Seamonkey)
seamonkey-solibs:
seamonkey-solibs: This package contains a subset of the shared libraries from Seamonkey
-seamonkey-solibs: to provide runtime support for programs that require nss, nspr, and
-seamonkey-solibs: js. This package is built from the Seamonkey sources and is provided
+seamonkey-solibs: to provide runtime support for various programs.
+seamonkey-solibs: This package is built from the Seamonkey sources and is provided
seamonkey-solibs: as a standalone runtime package for people who do not want to install
seamonkey-solibs: the entire seamonkey package (as for server use).
seamonkey-solibs:
diff --git a/source/xap/seamonkey/seamonkey.desktop b/source/xap/seamonkey/seamonkey.desktop
index 7c988a76..eaf81ddf 100644
--- a/source/xap/seamonkey/seamonkey.desktop
+++ b/source/xap/seamonkey/seamonkey.desktop
@@ -5,4 +5,5 @@ Exec=/usr/bin/seamonkey
Icon=/usr/share/pixmaps/seamonkey-icon.png
Terminal=0
Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
Categories=Application;Network;
diff --git a/source/xap/windowmaker/windowmaker.SlackBuild b/source/xap/windowmaker/windowmaker.SlackBuild
index da5ac679..e1e8b2bb 100755
--- a/source/xap/windowmaker/windowmaker.SlackBuild
+++ b/source/xap/windowmaker/windowmaker.SlackBuild
@@ -20,9 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-VERSION=${VERSION:-0.95.3}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-$(echo WindowMaker-0*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/xap/xchat/xchat.SlackBuild b/source/xap/xchat/xchat.SlackBuild
index c02a71e5..bef11065 100755
--- a/source/xap/xchat/xchat.SlackBuild
+++ b/source/xap/xchat/xchat.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=2.8.8
-BUILD=${BUILD:-6}
+BUILD=${BUILD:-8}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -58,13 +58,16 @@ mkdir -p $TMP $PKG/usr
cd $TMP
rm -rf xchat-$VERSION
-tar xvf $CWD/xchat-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/xchat-$VERSION.tar.xz || exit 1
cd xchat-$VERSION || exit 1
if [ -d $CWD/patches ]; then
for file in $CWD/patches/*.diff.gz ; do
zcat $file | patch -p1 --verbose || exit 1
done
fi
+
+zcat $CWD/xchat.glib.g.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/xap/xchat/xchat.glib.g.diff b/source/xap/xchat/xchat.glib.g.diff
new file mode 100644
index 00000000..143d3448
--- /dev/null
+++ b/source/xap/xchat/xchat.glib.g.diff
@@ -0,0 +1,47 @@
+--- ./src/common/util.c.orig 2009-08-16 04:40:16.000000000 -0500
++++ ./src/common/util.c 2013-05-13 22:18:22.364370023 -0500
+@@ -39,7 +39,7 @@
+ #include <errno.h>
+ #include "xchat.h"
+ #include "xchatc.h"
+-#include <glib/gmarkup.h>
++#include <glib.h>
+ #include <ctype.h>
+ #include "util.h"
+ #include "../../config.h"
+--- ./src/common/text.c.orig 2010-05-29 21:14:41.000000000 -0500
++++ ./src/common/text.c 2013-05-13 22:17:58.028371777 -0500
+@@ -28,7 +28,7 @@
+ #include <sys/mman.h>
+
+ #include "xchat.h"
+-#include <glib/ghash.h>
++#include <glib.h>
+ #include "cfgfiles.h"
+ #include "chanopt.h"
+ #include "plugin.h"
+--- ./src/common/xchat.h.orig 2009-08-16 04:40:16.000000000 -0500
++++ ./src/common/xchat.h 2013-05-13 22:16:41.332377305 -0500
+@@ -1,10 +1,6 @@
+ #include "../../config.h"
+
+-#include <glib/gslist.h>
+-#include <glib/glist.h>
+-#include <glib/gutils.h>
+-#include <glib/giochannel.h>
+-#include <glib/gstrfuncs.h>
++#include <glib.h>
+ #include <time.h> /* need time_t */
+
+ #ifndef XCHAT_H
+--- ./src/common/servlist.c.orig 2010-05-16 02:24:26.000000000 -0500
++++ ./src/common/servlist.c 2013-05-13 22:17:29.900373805 -0500
+@@ -24,7 +24,7 @@
+ #include <unistd.h>
+
+ #include "xchat.h"
+-#include <glib/ghash.h>
++#include <glib.h>
+
+ #include "cfgfiles.h"
+ #include "fe.h"
diff --git a/source/xap/xine-lib/xine-lib.SlackBuild b/source/xap/xine-lib/xine-lib.SlackBuild
index 97391f39..510b8351 100755
--- a/source/xap/xine-lib/xine-lib.SlackBuild
+++ b/source/xap/xine-lib/xine-lib.SlackBuild
@@ -28,7 +28,7 @@ DIRVER=1.1.21
# Version used for the Slackware package
PKGVER=1.1.21
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xap/xine-ui/xine-ui-0.99.7-upstream_fix-1.patch b/source/xap/xine-ui/xine-ui-0.99.7-upstream_fix-1.patch
new file mode 100644
index 00000000..448c9d3e
--- /dev/null
+++ b/source/xap/xine-ui/xine-ui-0.99.7-upstream_fix-1.patch
@@ -0,0 +1,27 @@
+Submitted By: Ken Moffat <ken at linuxfromscratch dot org>
+Date: 2013-04-17
+Initial Package Version: 0.99.7
+Upstream Status: Applied
+Origin: Upstream (Torsten Jager)
+Description: The change to use a png logo before 0.99.7 overlooked
+that static graphics have a different status in xine-lib (they never
+stop). That broke opening a file from the 'Open' menu (opening from
+the MRL Browser, or from a file passed on the command lein were OK).
+
+Upstream revision r3135:
+
+open user file immediately when only logo is playing
+
+diff -r 653d3359d87a -r edb37ede1ab2 src/xitk/actions.c
+--- a/src/xitk/actions.c Tue Mar 19 22:29:33 2013 +0200
++++ b/src/xitk/actions.c Mon Apr 15 19:56:17 2013 +0300
+@@ -2148,7 +2148,8 @@
+
+ /* If an MRL is not being played, select the first file appended. If in "smart mode" start
+ playing the entry. If a an MRL is currently being played, let it continue normally */
+- if((first != gGui->playlist.num) && (xine_get_status(gGui->stream) == XINE_STATUS_STOP)) {
++ if((first != gGui->playlist.num) &&
++ (gGui->logo_mode || (xine_get_status(gGui->stream) == XINE_STATUS_STOP))) {
+ gGui->playlist.cur = first;
+ if(gGui->smart_mode) {
+ gui_set_current_mmk(mediamark_get_current_mmk());
diff --git a/source/xap/xine-ui/xine-ui.SlackBuild b/source/xap/xine-ui/xine-ui.SlackBuild
index 65a18c18..228936c0 100755
--- a/source/xap/xine-ui/xine-ui.SlackBuild
+++ b/source/xap/xine-ui/xine-ui.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -57,7 +57,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/xine-ui.no.deprecated.curl.headers.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/xine-ui-0.99.7-upstream_fix-1.patch.gz | patch -p1 --verbose || exit 1
XINE_BUILD=$TARGET \
./configure \
@@ -66,7 +66,7 @@ XINE_BUILD=$TARGET \
--with-caca \
--disable-lirc \
--mandir=/usr/man \
- --build=$TARGET
+ --build=$TARGET || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
diff --git a/source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff b/source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff
deleted file mode 100644
index 63e57717..00000000
--- a/source/xap/xine-ui/xine-ui.no.deprecated.curl.headers.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./src/xitk/download.c.orig 2009-12-18 18:34:22.000000000 -0600
-+++ ./src/xitk/download.c 2012-09-09 12:47:15.757552304 -0500
-@@ -28,8 +28,6 @@
-
- #ifdef HAVE_CURL
- #include <curl/curl.h>
--#include <curl/types.h>
--#include <curl/easy.h>
- #endif
-
- #include "common.h"
diff --git a/source/xap/xlockmore/xlockmore.SlackBuild b/source/xap/xlockmore/xlockmore.SlackBuild
index c7ced75b..4da13fe6 100755
--- a/source/xap/xlockmore/xlockmore.SlackBuild
+++ b/source/xap/xlockmore/xlockmore.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/source/xap/xmms/xmms.SlackBuild b/source/xap/xmms/xmms.SlackBuild
index 042d8310..e6673953 100755
--- a/source/xap/xmms/xmms.SlackBuild
+++ b/source/xap/xmms/xmms.SlackBuild
@@ -22,7 +22,7 @@
VERSION=1.2.11
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -65,8 +65,9 @@ rm -rf xmms-$VERSION
tar xvf $CWD/xmms-$VERSION.tar.bz2 || exit 1
cd xmms-$VERSION || exit 1
-zcat $CWD/xmms.gtk.doublesize.diff.gz | patch -p1 || exit 1
-zcat $CWD/xmms.wmxmms_vis_depth_workaround.diff.gz | patch -p0 || exit 1
+zcat $CWD/xmms.gtk.doublesize.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/xmms.wmxmms_vis_depth_workaround.diff.gz | patch -p0 --verbose || exit 1
+zcat $CWD/xmms.alsa.default.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
diff --git a/source/xap/xmms/xmms.alsa.default.diff b/source/xap/xmms/xmms.alsa.default.diff
new file mode 100644
index 00000000..22f37857
--- /dev/null
+++ b/source/xap/xmms/xmms.alsa.default.diff
@@ -0,0 +1,11 @@
+--- ./xmms/main.c.orig 2006-07-16 08:40:04.000000000 -0500
++++ ./xmms/main.c 2013-05-02 21:25:33.648185044 -0500
+@@ -502,7 +502,7 @@
+ if (cfg.outputplugin == NULL)
+ {
+ #ifdef HAVE_OSS
+- cfg.outputplugin = g_strdup_printf("%s/%s/libOSS.so", PLUGIN_DIR, plugin_dir_list[0]);
++ cfg.outputplugin = g_strdup_printf("%s/%s/libALSA.so", PLUGIN_DIR, plugin_dir_list[0]);
+ #elif defined(sun)
+ cfg.outputplugin = g_strdup_printf("%s/%s/libSolaris.so", PLUGIN_DIR, plugin_dir_list[0]);
+ #else
diff --git a/source/xap/xpdf/lang/xpdf-arabic.diff b/source/xap/xpdf/lang/xpdf-arabic.diff
index a6dfcf1f..006e836a 100644
--- a/source/xap/xpdf/lang/xpdf-arabic.diff
+++ b/source/xap/xpdf/lang/xpdf-arabic.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2003-02-16 16:54:40.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:24:14.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.102417270 -0500
@@ -1,3 +1,3 @@
- #----- begin Arabic support package (2003-feb-16)
+ #----- begin Arabic support package (2011-aug-15)
-unicodeMap ISO-8859-6 /usr/local/share/xpdf/arabic/ISO-8859-6.unicodeMap
+unicodeMap ISO-8859-6 /usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
#----- end Arabic support package
diff --git a/source/xap/xpdf/lang/xpdf-chinese-simplified.diff b/source/xap/xpdf/lang/xpdf-chinese-simplified.diff
index adb125a4..bec5e25b 100644
--- a/source/xap/xpdf/lang/xpdf-chinese-simplified.diff
+++ b/source/xap/xpdf/lang/xpdf-chinese-simplified.diff
@@ -1,19 +1,19 @@
---- ./add-to-xpdfrc.orig 2004-07-27 17:28:08.000000000 -0500
-+++ ./add-to-xpdfrc 2008-03-02 01:46:16.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:44.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:45:42.020412765 -0500
@@ -1,9 +1,9 @@
- #----- begin Chinese Simplified support package (2004-jul-27)
+ #----- begin Chinese Simplified support package (2011-sep-02)
-cidToUnicode Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
-unicodeMap ISO-2022-CN /usr/local/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
-unicodeMap EUC-CN /usr/local/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
-unicodeMap GBK /usr/local/share/xpdf/chinese-simplified/GBK.unicodeMap
-cMapDir Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/CMap
-toUnicodeDir /usr/local/share/xpdf/chinese-simplified/CMap
--#displayCIDFontTT Adobe-GB1 /usr/..../gkai00mp.ttf
+-#fontFileCC Adobe-GB1 /usr/..../gkai00mp.ttf
+cidToUnicode Adobe-GB1 /usr/share/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode
+unicodeMap ISO-2022-CN /usr/share/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap
+unicodeMap EUC-CN /usr/share/xpdf/chinese-simplified/EUC-CN.unicodeMap
+unicodeMap GBK /usr/share/xpdf/chinese-simplified/GBK.unicodeMap
+cMapDir Adobe-GB1 /usr/share/xpdf/chinese-simplified/CMap
+toUnicodeDir /usr/share/xpdf/chinese-simplified/CMap
-+displayCIDFontTT Adobe-GB1 /usr/share/fonts/TTF/wqy-zenhei.ttf
++fontFileCC Adobe-GB1 /usr/share/fonts/TTF/wqy-zenhei.ttc
#----- end Chinese Simplified support package
diff --git a/source/xap/xpdf/lang/xpdf-chinese-traditional.diff b/source/xap/xpdf/lang/xpdf-chinese-traditional.diff
index 71d35ee5..24857f46 100644
--- a/source/xap/xpdf/lang/xpdf-chinese-traditional.diff
+++ b/source/xap/xpdf/lang/xpdf-chinese-traditional.diff
@@ -1,17 +1,17 @@
---- ./add-to-xpdfrc.orig 2004-07-27 17:28:07.000000000 -0500
-+++ ./add-to-xpdfrc 2008-03-02 01:45:16.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:44.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:46:03.285412085 -0500
@@ -1,8 +1,8 @@
- #----- begin Chinese Traditional support package (2004-jul-27)
+ #----- begin Chinese Traditional support package (2011-sep-02)
-cidToUnicode Adobe-CNS1 /usr/local/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode
-unicodeMap Big5 /usr/local/share/xpdf/chinese-traditional/Big5.unicodeMap
-unicodeMap Big5ascii /usr/local/share/xpdf/chinese-traditional/Big5ascii.unicodeMap
-cMapDir Adobe-CNS1 /usr/local/share/xpdf/chinese-traditional/CMap
-toUnicodeDir /usr/local/share/xpdf/chinese-traditional/CMap
--#displayCIDFontTT Adobe-CNS1 /usr/..../bkai00mp.ttf
+-#fontFileCC Adobe-CNS1 /usr/..../bkai00mp.ttf
+cidToUnicode Adobe-CNS1 /usr/share/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode
+unicodeMap Big5 /usr/share/xpdf/chinese-traditional/Big5.unicodeMap
+unicodeMap Big5ascii /usr/share/xpdf/chinese-traditional/Big5ascii.unicodeMap
+cMapDir Adobe-CNS1 /usr/share/xpdf/chinese-traditional/CMap
+toUnicodeDir /usr/share/xpdf/chinese-traditional/CMap
-+displayCIDFontTT Adobe-CNS1 /usr/share/fonts/TTF/wqy-zenhei.ttf
++fontFileCC Adobe-CNS1 /usr/share/fonts/TTF/wqy-zenhei.ttc
#----- end Chinese Traditional support package
diff --git a/source/xap/xpdf/lang/xpdf-cyrillic.diff b/source/xap/xpdf/lang/xpdf-cyrillic.diff
index ec841961..c453271a 100644
--- a/source/xap/xpdf/lang/xpdf-cyrillic.diff
+++ b/source/xap/xpdf/lang/xpdf-cyrillic.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2003-07-08 00:43:40.000000000 -0500
-+++ ./add-to-xpdfrc 2008-03-02 01:27:17.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.115417270 -0500
@@ -1,4 +1,4 @@
- #----- begin Cyrillic support package (2003-jun-28)
+ #----- begin Cyrillic support package (2011-aug-15)
-nameToUnicode /usr/local/share/xpdf/cyrillic/Bulgarian.nameToUnicode
-unicodeMap KOI8-R /usr/local/share/xpdf/cyrillic/KOI8-R.unicodeMap
+nameToUnicode /usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
diff --git a/source/xap/xpdf/lang/xpdf-greek.diff b/source/xap/xpdf/lang/xpdf-greek.diff
index fe47d443..2e846160 100644
--- a/source/xap/xpdf/lang/xpdf-greek.diff
+++ b/source/xap/xpdf/lang/xpdf-greek.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2003-07-08 00:43:40.000000000 -0500
-+++ ./add-to-xpdfrc 2008-03-02 01:28:00.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.116417270 -0500
@@ -1,4 +1,4 @@
- #----- begin Greek support package (2003-jun-28)
+ #----- begin Greek support package (2011-aug-15)
-nameToUnicode /usr/local/share/xpdf/greek/Greek.nameToUnicode
-unicodeMap ISO-8859-7 /usr/local/share/xpdf/greek/ISO-8859-7.unicodeMap
+nameToUnicode /usr/share/xpdf/greek/Greek.nameToUnicode
diff --git a/source/xap/xpdf/lang/xpdf-hebrew.diff b/source/xap/xpdf/lang/xpdf-hebrew.diff
index e7d091d0..2c27bb6f 100644
--- a/source/xap/xpdf/lang/xpdf-hebrew.diff
+++ b/source/xap/xpdf/lang/xpdf-hebrew.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2008-03-02 01:28:33.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:28:45.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.117417269 -0500
@@ -1,4 +1,4 @@
- #----- begin Hebrew support package (2003-feb-16)
+ #----- begin Hebrew support package (2011-aug-15)
-unicodeMap ISO-8859-8 /usr/local/share/xpdf/hebrew/ISO-8859-8.unicodeMap
-unicodeMap Windows-1255 /usr/local/share/xpdf/hebrew/Windows-1255.unicodeMap
+unicodeMap ISO-8859-8 /usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
diff --git a/source/xap/xpdf/lang/xpdf-japanese.diff b/source/xap/xpdf/lang/xpdf-japanese.diff
index 5c1878fe..ff0c6e98 100644
--- a/source/xap/xpdf/lang/xpdf-japanese.diff
+++ b/source/xap/xpdf/lang/xpdf-japanese.diff
@@ -1,57 +1,55 @@
---- ./add-to-xpdfrc.orig 2008-03-02 01:31:08.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:31:32.000000000 -0600
-@@ -1,9 +1,47 @@
- #----- begin Japanese support package (2004-jul-27)
+--- ./add-to-xpdfrc.orig 2013-03-29 14:49:00.000000000 +0900
++++ ./add-to-xpdfrc 2013-03-29 15:00:17.000000000 +0900
+@@ -1,9 +1,45 @@
+ #----- begin Japanese support package (2011-sep-02)
-cidToUnicode Adobe-Japan1 /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
-unicodeMap ISO-2022-JP /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap
-unicodeMap EUC-JP /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap
-unicodeMap Shift-JIS /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap
-cMapDir Adobe-Japan1 /usr/local/share/xpdf/japanese/CMap
-toUnicodeDir /usr/local/share/xpdf/japanese/CMap
--#displayCIDFontTT Adobe-Japan1 /usr/..../kochi-mincho.ttf
-+cidToUnicode Adobe-Japan1 /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
-+unicodeMap ISO-2022-JP /usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap
-+unicodeMap EUC-JP /usr/share/xpdf/japanese/EUC-JP.unicodeMap
-+unicodeMap Shift-JIS /usr/share/xpdf/japanese/Shift-JIS.unicodeMap
-+cMapDir Adobe-Japan1 /usr/share/xpdf/japanese/CMap
-+toUnicodeDir /usr/share/xpdf/japanese/CMap
-+
+-#fontFileCC Adobe-Japan1 /usr/..../kochi-mincho.ttf
++cidToUnicode Adobe-Japan1 /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
++unicodeMap ISO-2022-JP /usr/share/xpdf/japanese/ISO-2022-JP.unicodeMap
++unicodeMap EUC-JP /usr/share/xpdf/japanese/EUC-JP.unicodeMap
++unicodeMap Shift-JIS /usr/share/xpdf/japanese/Shift-JIS.unicodeMap
++cMapDir Adobe-Japan1 /usr/share/xpdf/japanese/CMap
++toUnicodeDir /usr/share/xpdf/japanese/CMap
+### use Sazanami by default
-+displayCIDFontTT Adobe-Japan1 /usr/share/fonts/TTF/sazanami-mincho.ttf
++fontFileCC Adobe-Japan1 /usr/share/fonts/TTF/sazanami-mincho.ttf
+### use Sazanami (Sazanami Gothic) if gothic font is required
-+displayNamedCIDFontTT ShinGo-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT ShinGo-regular /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT MidashiGo-MB31 /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT FutoGoB101-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT HeiseiKakuGo-W5 /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT HeiseiKakuGo-W9 /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT HeiseiMaruGo-W4 /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT MS-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT HG-GothicB /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT Kochi-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT GothicBBB-Medium-H /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT GothicBBB-Medium /usr/share/fonts/TTF/sazanami-gothic.ttf
-+displayNamedCIDFontTT Ryumin-Light-H /usr/share/fonts/TTF/sazanami-mincho.ttf
-+displayNamedCIDFontTT Ryumin-Light /usr/share/fonts/TTF/sazanami-mincho.ttf
-+
++fontFileCC ShinGo-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC ShinGo-regular /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC MidashiGo-MB31 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC FutoGoB101-Bold /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiKakuGo-W5 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiKakuGo-W9 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HeiseiMaruGo-W4 /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC MS-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC HG-GothicB /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC Kochi-Gothic /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC GothicBBB-Medium-H /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC GothicBBB-Medium /usr/share/fonts/TTF/sazanami-gothic.ttf
++fontFileCC Ryumin-Light-H /usr/share/fonts/TTF/sazanami-mincho.ttf
++fontFileCC Ryumin-Light /usr/share/fonts/TTF/sazanami-mincho.ttf
+### make default font name to "Ryumin-Light" when converted to PostScript
-+psFont16 Adobe-Japan1 H Ryumin-Light-H ISO-2022-JP
-+psFont16 Adobe-Japan1 V Ryumin-Light-V ISO-2022-JP
++psResidentFontCC Adobe-Japan1 H Ryumin-Light-H ISO-2022-JP
++psResidentFontCC Adobe-Japan1 V Ryumin-Light-V ISO-2022-JP
+# use "Gothic-BBB-Medium" if gothic font is required
-+psNamedFont16 MidashiGo-MB31 H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 MidashiGo-MB31 V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 FutoGoB101-Bold H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 FutoGoB101-Bold V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 HeiseiKakuGo-W5 H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 HeiseiKakuGo-W5 V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 HeiseiKakuGo-W9 H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 HeiseiKakuGo-W9 V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 HeiseiMaruGo-W4 H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 HeiseiMaruGo-W4 V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 MS-Gothic H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 MS-Gothic V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 HG-GothicB H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 HG-GothicB V GothicBBB-Medium-V ISO-2022-JP
-+psNamedFont16 Kochi-Gothic H GothicBBB-Medium-H ISO-2022-JP
-+psNamedFont16 Kochi-Gothic V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 MidashiGo-MB31 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 MidashiGo-MB31 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 FutoGoB101-Bold H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 FutoGoB101-Bold V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W5 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W5 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W9 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiKakuGo-W9 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HeiseiMaruGo-W4 H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HeiseiMaruGo-W4 V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 MS-Gothic H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 MS-Gothic V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 HG-GothicB H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 HG-GothicB V GothicBBB-Medium-V ISO-2022-JP
++psResidentFont16 Kochi-Gothic H GothicBBB-Medium-H ISO-2022-JP
++psResidentFont16 Kochi-Gothic V GothicBBB-Medium-V ISO-2022-JP
#----- end Japanese support package
diff --git a/source/xap/xpdf/lang/xpdf-korean.diff b/source/xap/xpdf/lang/xpdf-korean.diff
index 632fc214..531ad629 100644
--- a/source/xap/xpdf/lang/xpdf-korean.diff
+++ b/source/xap/xpdf/lang/xpdf-korean.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2005-07-07 13:05:05.000000000 -0500
-+++ ./add-to-xpdfrc 2008-03-02 01:33:52.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-09-02 17:24:45.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.119417269 -0500
@@ -1,8 +1,8 @@
- #----- begin Korean support package (2005-jul-07)
+ #----- begin Korean support package (2011-sep-02)
-cidToUnicode Adobe-Korea1 /usr/local/share/xpdf/korean/Adobe-Korea1.cidToUnicode
-unicodeMap ISO-2022-KR /usr/local/share/xpdf/korean/ISO-2022-KR.unicodeMap
-cMapDir Adobe-Korea1 /usr/local/share/xpdf/korean/CMap
@@ -10,6 +10,6 @@
+unicodeMap ISO-2022-KR /usr/share/xpdf/korean/ISO-2022-KR.unicodeMap
+cMapDir Adobe-Korea1 /usr/share/xpdf/korean/CMap
+toUnicodeDir /usr/share/xpdf/korean/CMap
- #displayCIDFontTT Adobe-Korea1 /usr/..../batang.ttf"
- #displayCIDFontTT Unidocs-Korea1 /usr/..../batang.ttf"
+ #fontFileCC Adobe-Korea1 /usr/..../batang.ttf"
+ #fontFileCC Unidocs-Korea1 /usr/..../batang.ttf"
#----- end Korean support package
diff --git a/source/xap/xpdf/lang/xpdf-latin2.diff b/source/xap/xpdf/lang/xpdf-latin2.diff
index 88ce2444..cf88fa02 100644
--- a/source/xap/xpdf/lang/xpdf-latin2.diff
+++ b/source/xap/xpdf/lang/xpdf-latin2.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2002-11-03 17:49:15.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:35:51.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.120417269 -0500
@@ -1,3 +1,3 @@
- #----- begin Latin2 support package (2002-oct-22)
+ #----- begin Latin2 support package (2011-aug-15)
-unicodeMap Latin2 /usr/local/share/xpdf/latin2/Latin2.unicodeMap
+unicodeMap Latin2 /usr/share/xpdf/latin2/Latin2.unicodeMap
#----- end Latin2 support package
diff --git a/source/xap/xpdf/lang/xpdf-thai.diff b/source/xap/xpdf/lang/xpdf-thai.diff
index 75b9b1a2..30c480ef 100644
--- a/source/xap/xpdf/lang/xpdf-thai.diff
+++ b/source/xap/xpdf/lang/xpdf-thai.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2002-11-03 17:49:15.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:36:36.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.121417269 -0500
@@ -1,4 +1,4 @@
- #----- begin Thai support package (2002-jan-16)
+ #----- begin Thai support package (2011-aug-15)
-nameToUnicode /usr/local/share/xpdf/thai/Thai.nameToUnicode
-unicodeMap TIS-620 /usr/local/share/xpdf/thai/TIS-620.unicodeMap
+nameToUnicode /usr/share/xpdf/thai/Thai.nameToUnicode
diff --git a/source/xap/xpdf/lang/xpdf-turkish.diff b/source/xap/xpdf/lang/xpdf-turkish.diff
index ec7fe79f..81a79cff 100644
--- a/source/xap/xpdf/lang/xpdf-turkish.diff
+++ b/source/xap/xpdf/lang/xpdf-turkish.diff
@@ -1,7 +1,7 @@
---- ./add-to-xpdfrc.orig 2002-11-03 17:49:15.000000000 -0600
-+++ ./add-to-xpdfrc 2008-03-02 01:37:33.000000000 -0600
+--- ./add-to-xpdfrc.orig 2011-08-15 16:24:29.000000000 -0500
++++ ./add-to-xpdfrc 2013-03-28 15:43:21.122417269 -0500
@@ -1,3 +1,3 @@
- #----- begin Turkish support package (2002-apr-10)
+ #----- begin Turkish support package (2011-aug-15)
-unicodeMap ISO-8859-9 /usr/local/share/xpdf/turkish/ISO-8859-9.unicodeMap
+unicodeMap ISO-8859-9 /usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
#----- end Turkish support package
diff --git a/source/xap/xpdf/patches/03-float.patch b/source/xap/xpdf/patches/03-float.patch
deleted file mode 100644
index 208c765a..00000000
--- a/source/xap/xpdf/patches/03-float.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-description: fix a floating point quirk that is exposed by gcc 4.4
- (this was leading to slow pdf document scrolling on i386)
-author: Michael Gilbert <michael.s.gilbert@gmail.com>
-bug-debian: http://bugs.debian.org/577031
---- xpdf-3.02.orig/xpdf/PDFCore.h
-+++ xpdf-3.02/xpdf/PDFCore.h
-@@ -40,6 +40,7 @@ class PDFCore;
- #define zoomPage -1
- #define zoomWidth -2
- #define defZoom 125
-+#define EPSILON 1.0e-7 // 32-bit floating point machine precision
-
- //------------------------------------------------------------------------
-
---- xpdf-3.02.orig/xpdf/PDFCore.cc
-+++ xpdf-3.02/xpdf/PDFCore.cc
-@@ -445,7 +445,7 @@ void PDFCore::update(int topPageA, int s
- // object
- if (force || pages->getLength() == 0 ||
- (!continuousMode && topPageA != topPage) ||
-- zoomA != zoom || dpiA != dpi || rotateA != rotate) {
-+ zoomA != zoom || fabs( dpiA - dpi ) > EPSILON || rotateA != rotate) {
- needUpdate = gTrue;
- setSelection(0, 0, 0, 0, 0);
- while (pages->getLength() > 0) {
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl1.patch b/source/xap/xpdf/patches/xpdf-3.02pl1.patch
deleted file mode 100644
index cd42fb96..00000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl1.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-*** xpdf-3.02.orig/xpdf/Stream.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/Stream.cc Thu Jul 26 14:44:43 2007
-***************
-*** 410,424 ****
- ok = gFalse;
-
- nVals = width * nComps;
-- if (width <= 0 || nComps <= 0 || nBits <= 0 ||
-- nComps >= INT_MAX / nBits ||
-- width >= INT_MAX / nComps / nBits ||
-- nVals * nBits + 7 < 0) {
-- return;
-- }
- pixBytes = (nComps * nBits + 7) >> 3;
- rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
-! if (rowBytes <= 0) {
- return;
- }
- predLine = (Guchar *)gmalloc(rowBytes);
---- 410,422 ----
- ok = gFalse;
-
- nVals = width * nComps;
- pixBytes = (nComps * nBits + 7) >> 3;
- rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
-! if (width <= 0 || nComps <= 0 || nBits <= 0 ||
-! nComps > gfxColorMaxComps ||
-! nBits > 16 ||
-! width >= INT_MAX / nComps || // check for overflow in nVals
-! nVals >= (INT_MAX - 7) / nBits) { // check for overflow in rowBytes
- return;
- }
- predLine = (Guchar *)gmalloc(rowBytes);
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl2.patch b/source/xap/xpdf/patches/xpdf-3.02pl2.patch
deleted file mode 100644
index ab9e3c67..00000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl2.patch
+++ /dev/null
@@ -1,823 +0,0 @@
-diff -c -r xpdf-3.02pl1.orig/xpdf/Stream.cc xpdf-3.02/xpdf/Stream.cc
-*** xpdf-3.02pl1.orig/xpdf/Stream.cc Thu Oct 25 15:47:38 2007
---- xpdf-3.02/xpdf/Stream.cc Thu Oct 25 15:48:19 2007
-***************
-*** 1243,1265 ****
- columns = columnsA;
- if (columns < 1) {
- columns = 1;
-! }
-! if (columns + 4 <= 0) {
-! columns = INT_MAX - 4;
- }
- rows = rowsA;
- endOfBlock = endOfBlockA;
- black = blackA;
-! refLine = (short *)gmallocn(columns + 3, sizeof(short));
-! codingLine = (short *)gmallocn(columns + 2, sizeof(short));
-
- eof = gFalse;
- row = 0;
- nextLine2D = encoding < 0;
- inputBits = 0;
-! codingLine[0] = 0;
-! codingLine[1] = refLine[2] = columns;
-! a0 = 1;
-
- buf = EOF;
- }
---- 1243,1268 ----
- columns = columnsA;
- if (columns < 1) {
- columns = 1;
-! } else if (columns > INT_MAX - 2) {
-! columns = INT_MAX - 2;
- }
- rows = rowsA;
- endOfBlock = endOfBlockA;
- black = blackA;
-! // 0 <= codingLine[0] < codingLine[1] < ... < codingLine[n] = columns
-! // ---> max codingLine size = columns + 1
-! // refLine has one extra guard entry at the end
-! // ---> max refLine size = columns + 2
-! codingLine = (int *)gmallocn(columns + 1, sizeof(int));
-! refLine = (int *)gmallocn(columns + 2, sizeof(int));
-
- eof = gFalse;
- row = 0;
- nextLine2D = encoding < 0;
- inputBits = 0;
-! codingLine[0] = columns;
-! a0i = 0;
-! outputBits = 0;
-
- buf = EOF;
- }
-***************
-*** 1278,1286 ****
- row = 0;
- nextLine2D = encoding < 0;
- inputBits = 0;
-! codingLine[0] = 0;
-! codingLine[1] = columns;
-! a0 = 1;
- buf = EOF;
-
- // skip any initial zero bits and end-of-line marker, and get the 2D
---- 1281,1289 ----
- row = 0;
- nextLine2D = encoding < 0;
- inputBits = 0;
-! codingLine[0] = columns;
-! a0i = 0;
-! outputBits = 0;
- buf = EOF;
-
- // skip any initial zero bits and end-of-line marker, and get the 2D
-***************
-*** 1297,1507 ****
- }
- }
-
- int CCITTFaxStream::lookChar() {
- short code1, code2, code3;
-! int a0New;
-! GBool err, gotEOL;
-! int ret;
-! int bits, i;
-
-! // if at eof just return EOF
-! if (eof && codingLine[a0] >= columns) {
-! return EOF;
- }
-
- // read the next row
-! err = gFalse;
-! if (codingLine[a0] >= columns) {
-
- // 2-D encoding
- if (nextLine2D) {
-- // state:
-- // a0New = current position in coding line (0 <= a0New <= columns)
-- // codingLine[a0] = last change in coding line
-- // (black-to-white if a0 is even,
-- // white-to-black if a0 is odd)
-- // refLine[b1] = next change in reference line of opposite color
-- // to a0
-- // invariants:
-- // 0 <= codingLine[a0] <= a0New
-- // <= refLine[b1] <= refLine[b1+1] <= columns
-- // 0 <= a0 <= columns+1
-- // refLine[0] = 0
-- // refLine[n] = refLine[n+1] = columns
-- // -- for some 1 <= n <= columns+1
-- // end condition:
-- // 0 = codingLine[0] <= codingLine[1] < codingLine[2] < ...
-- // < codingLine[n-1] < codingLine[n] = columns
-- // -- where 1 <= n <= columns+1
- for (i = 0; codingLine[i] < columns; ++i) {
- refLine[i] = codingLine[i];
- }
-! refLine[i] = refLine[i + 1] = columns;
-! b1 = 1;
-! a0New = codingLine[a0 = 0] = 0;
-! do {
- code1 = getTwoDimCode();
- switch (code1) {
- case twoDimPass:
-! if (refLine[b1] < columns) {
-! a0New = refLine[b1 + 1];
-! b1 += 2;
- }
- break;
- case twoDimHoriz:
-! if ((a0 & 1) == 0) {
-! code1 = code2 = 0;
- do {
-! code1 += code3 = getWhiteCode();
- } while (code3 >= 64);
- do {
-! code2 += code3 = getBlackCode();
- } while (code3 >= 64);
- } else {
-- code1 = code2 = 0;
- do {
-! code1 += code3 = getBlackCode();
- } while (code3 >= 64);
- do {
-! code2 += code3 = getWhiteCode();
- } while (code3 >= 64);
- }
-! if (code1 > 0 || code2 > 0) {
-! if (a0New + code1 <= columns) {
-! codingLine[a0 + 1] = a0New + code1;
-! } else {
-! codingLine[a0 + 1] = columns;
-! }
-! ++a0;
-! if (codingLine[a0] + code2 <= columns) {
-! codingLine[a0 + 1] = codingLine[a0] + code2;
-! } else {
-! codingLine[a0 + 1] = columns;
-! }
-! ++a0;
-! a0New = codingLine[a0];
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
- }
- break;
-! case twoDimVert0:
-! if (refLine[b1] < columns) {
-! a0New = codingLine[++a0] = refLine[b1];
-! ++b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
-- } else {
-- a0New = codingLine[++a0] = columns;
- }
- break;
- case twoDimVertR1:
-! if (refLine[b1] + 1 < columns) {
-! a0New = codingLine[++a0] = refLine[b1] + 1;
-! ++b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
-- } else {
-- a0New = codingLine[++a0] = columns;
- }
- break;
-! case twoDimVertL1:
-! if (refLine[b1] - 1 > a0New || (a0 == 0 && refLine[b1] == 1)) {
-! a0New = codingLine[++a0] = refLine[b1] - 1;
-! --b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
- }
- break;
-! case twoDimVertR2:
-! if (refLine[b1] + 2 < columns) {
-! a0New = codingLine[++a0] = refLine[b1] + 2;
-! ++b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
-- } else {
-- a0New = codingLine[++a0] = columns;
- }
- break;
- case twoDimVertL2:
-! if (refLine[b1] - 2 > a0New || (a0 == 0 && refLine[b1] == 2)) {
-! a0New = codingLine[++a0] = refLine[b1] - 2;
-! --b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
-! }
-! break;
-! case twoDimVertR3:
-! if (refLine[b1] + 3 < columns) {
-! a0New = codingLine[++a0] = refLine[b1] + 3;
-! ++b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
-- } else {
-- a0New = codingLine[++a0] = columns;
- }
- break;
-! case twoDimVertL3:
-! if (refLine[b1] - 3 > a0New || (a0 == 0 && refLine[b1] == 3)) {
-! a0New = codingLine[++a0] = refLine[b1] - 3;
-! --b1;
-! while (refLine[b1] <= a0New && refLine[b1] < columns) {
-! b1 += 2;
- }
- }
- break;
- case EOF:
- eof = gTrue;
-! codingLine[a0 = 0] = columns;
-! return EOF;
- default:
- error(getPos(), "Bad 2D code %04x in CCITTFax stream", code1);
- err = gTrue;
- break;
- }
-! } while (codingLine[a0] < columns);
-
- // 1-D encoding
- } else {
-! codingLine[a0 = 0] = 0;
-! while (1) {
- code1 = 0;
-! do {
-! code1 += code3 = getWhiteCode();
-! } while (code3 >= 64);
-! codingLine[a0+1] = codingLine[a0] + code1;
-! ++a0;
-! if (codingLine[a0] >= columns) {
-! break;
-! }
-! code2 = 0;
-! do {
-! code2 += code3 = getBlackCode();
-! } while (code3 >= 64);
-! codingLine[a0+1] = codingLine[a0] + code2;
-! ++a0;
-! if (codingLine[a0] >= columns) {
-! break;
- }
- }
- }
-
-- if (codingLine[a0] != columns) {
-- error(getPos(), "CCITTFax row is wrong length (%d)", codingLine[a0]);
-- // force the row to be the correct length
-- while (codingLine[a0] > columns) {
-- --a0;
-- }
-- codingLine[++a0] = columns;
-- err = gTrue;
-- }
--
- // byte-align the row
- if (byteAlign) {
- inputBits &= ~7;
---- 1300,1529 ----
- }
- }
-
-+ inline void CCITTFaxStream::addPixels(int a1, int blackPixels) {
-+ if (a1 > codingLine[a0i]) {
-+ if (a1 > columns) {
-+ error(getPos(), "CCITTFax row is wrong length (%d)", a1);
-+ err = gTrue;
-+ a1 = columns;
-+ }
-+ if ((a0i & 1) ^ blackPixels) {
-+ ++a0i;
-+ }
-+ codingLine[a0i] = a1;
-+ }
-+ }
-+
-+ inline void CCITTFaxStream::addPixelsNeg(int a1, int blackPixels) {
-+ if (a1 > codingLine[a0i]) {
-+ if (a1 > columns) {
-+ error(getPos(), "CCITTFax row is wrong length (%d)", a1);
-+ err = gTrue;
-+ a1 = columns;
-+ }
-+ if ((a0i & 1) ^ blackPixels) {
-+ ++a0i;
-+ }
-+ codingLine[a0i] = a1;
-+ } else if (a1 < codingLine[a0i]) {
-+ if (a1 < 0) {
-+ error(getPos(), "Invalid CCITTFax code");
-+ err = gTrue;
-+ a1 = 0;
-+ }
-+ while (a0i > 0 && a1 <= codingLine[a0i - 1]) {
-+ --a0i;
-+ }
-+ codingLine[a0i] = a1;
-+ }
-+ }
-+
- int CCITTFaxStream::lookChar() {
- short code1, code2, code3;
-! int b1i, blackPixels, i, bits;
-! GBool gotEOL;
-
-! if (buf != EOF) {
-! return buf;
- }
-
- // read the next row
-! if (outputBits == 0) {
-!
-! // if at eof just return EOF
-! if (eof) {
-! return EOF;
-! }
-!
-! err = gFalse;
-
- // 2-D encoding
- if (nextLine2D) {
- for (i = 0; codingLine[i] < columns; ++i) {
- refLine[i] = codingLine[i];
- }
-! refLine[i++] = columns;
-! refLine[i] = columns;
-! codingLine[0] = 0;
-! a0i = 0;
-! b1i = 0;
-! blackPixels = 0;
-! // invariant:
-! // refLine[b1i-1] <= codingLine[a0i] < refLine[b1i] < refLine[b1i+1]
-! // <= columns
-! // exception at left edge:
-! // codingLine[a0i = 0] = refLine[b1i = 0] = 0 is possible
-! // exception at right edge:
-! // refLine[b1i] = refLine[b1i+1] = columns is possible
-! while (codingLine[a0i] < columns) {
- code1 = getTwoDimCode();
- switch (code1) {
- case twoDimPass:
-! addPixels(refLine[b1i + 1], blackPixels);
-! if (refLine[b1i + 1] < columns) {
-! b1i += 2;
- }
- break;
- case twoDimHoriz:
-! code1 = code2 = 0;
-! if (blackPixels) {
- do {
-! code1 += code3 = getBlackCode();
- } while (code3 >= 64);
- do {
-! code2 += code3 = getWhiteCode();
- } while (code3 >= 64);
- } else {
- do {
-! code1 += code3 = getWhiteCode();
- } while (code3 >= 64);
- do {
-! code2 += code3 = getBlackCode();
- } while (code3 >= 64);
- }
-! addPixels(codingLine[a0i] + code1, blackPixels);
-! if (codingLine[a0i] < columns) {
-! addPixels(codingLine[a0i] + code2, blackPixels ^ 1);
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
-! }
-! break;
-! case twoDimVertR3:
-! addPixels(refLine[b1i] + 3, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
-! case twoDimVertR2:
-! addPixels(refLine[b1i] + 2, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
- case twoDimVertR1:
-! addPixels(refLine[b1i] + 1, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
-! case twoDimVert0:
-! addPixels(refLine[b1i], blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
-! case twoDimVertL3:
-! addPixelsNeg(refLine[b1i] - 3, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
- case twoDimVertL2:
-! addPixelsNeg(refLine[b1i] - 2, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
- }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
-! case twoDimVertL1:
-! addPixelsNeg(refLine[b1i] - 1, blackPixels);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < columns) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-! b1i += 2;
- }
- }
- break;
- case EOF:
-+ addPixels(columns, 0);
- eof = gTrue;
-! break;
- default:
- error(getPos(), "Bad 2D code %04x in CCITTFax stream", code1);
-+ addPixels(columns, 0);
- err = gTrue;
- break;
- }
-! }
-
- // 1-D encoding
- } else {
-! codingLine[0] = 0;
-! a0i = 0;
-! blackPixels = 0;
-! while (codingLine[a0i] < columns) {
- code1 = 0;
-! if (blackPixels) {
-! do {
-! code1 += code3 = getBlackCode();
-! } while (code3 >= 64);
-! } else {
-! do {
-! code1 += code3 = getWhiteCode();
-! } while (code3 >= 64);
- }
-+ addPixels(codingLine[a0i] + code1, blackPixels);
-+ blackPixels ^= 1;
- }
- }
-
- // byte-align the row
- if (byteAlign) {
- inputBits &= ~7;
-***************
-*** 1560,1573 ****
- // this if we know the stream contains end-of-line markers because
- // the "just plow on" technique tends to work better otherwise
- } else if (err && endOfLine) {
-! do {
- if (code1 == EOF) {
- eof = gTrue;
- return EOF;
- }
- eatBits(1);
-! code1 = lookBits(13);
-! } while ((code1 >> 1) != 0x001);
- eatBits(12);
- if (encoding > 0) {
- eatBits(1);
---- 1582,1598 ----
- // this if we know the stream contains end-of-line markers because
- // the "just plow on" technique tends to work better otherwise
- } else if (err && endOfLine) {
-! while (1) {
-! code1 = lookBits(13);
- if (code1 == EOF) {
- eof = gTrue;
- return EOF;
- }
-+ if ((code1 >> 1) == 0x001) {
-+ break;
-+ }
- eatBits(1);
-! }
- eatBits(12);
- if (encoding > 0) {
- eatBits(1);
-***************
-*** 1575,1585 ****
- }
- }
-
-! a0 = 0;
-! outputBits = codingLine[1] - codingLine[0];
-! if (outputBits == 0) {
-! a0 = 1;
-! outputBits = codingLine[2] - codingLine[1];
- }
-
- ++row;
---- 1600,1610 ----
- }
- }
-
-! // set up for output
-! if (codingLine[0] > 0) {
-! outputBits = codingLine[a0i = 0];
-! } else {
-! outputBits = codingLine[a0i = 1];
- }
-
- ++row;
-***************
-*** 1587,1625 ****
-
- // get a byte
- if (outputBits >= 8) {
-! ret = ((a0 & 1) == 0) ? 0xff : 0x00;
-! if ((outputBits -= 8) == 0) {
-! ++a0;
-! if (codingLine[a0] < columns) {
-! outputBits = codingLine[a0 + 1] - codingLine[a0];
-! }
- }
- } else {
- bits = 8;
-! ret = 0;
- do {
- if (outputBits > bits) {
-! i = bits;
-! bits = 0;
-! if ((a0 & 1) == 0) {
-! ret |= 0xff >> (8 - i);
- }
-! outputBits -= i;
- } else {
-! i = outputBits;
-! bits -= outputBits;
-! if ((a0 & 1) == 0) {
-! ret |= (0xff >> (8 - i)) << bits;
- }
- outputBits = 0;
-! ++a0;
-! if (codingLine[a0] < columns) {
-! outputBits = codingLine[a0 + 1] - codingLine[a0];
- }
- }
-! } while (bits > 0 && codingLine[a0] < columns);
- }
-- buf = black ? (ret ^ 0xff) : ret;
- return buf;
- }
-
---- 1612,1654 ----
-
- // get a byte
- if (outputBits >= 8) {
-! buf = (a0i & 1) ? 0x00 : 0xff;
-! outputBits -= 8;
-! if (outputBits == 0 && codingLine[a0i] < columns) {
-! ++a0i;
-! outputBits = codingLine[a0i] - codingLine[a0i - 1];
- }
- } else {
- bits = 8;
-! buf = 0;
- do {
- if (outputBits > bits) {
-! buf <<= bits;
-! if (!(a0i & 1)) {
-! buf |= 0xff >> (8 - bits);
- }
-! outputBits -= bits;
-! bits = 0;
- } else {
-! buf <<= outputBits;
-! if (!(a0i & 1)) {
-! buf |= 0xff >> (8 - outputBits);
- }
-+ bits -= outputBits;
- outputBits = 0;
-! if (codingLine[a0i] < columns) {
-! ++a0i;
-! outputBits = codingLine[a0i] - codingLine[a0i - 1];
-! } else if (bits > 0) {
-! buf <<= bits;
-! bits = 0;
- }
- }
-! } while (bits);
-! }
-! if (black) {
-! buf ^= 0xff;
- }
- return buf;
- }
-
-***************
-*** 1661,1666 ****
---- 1690,1698 ----
- code = 0; // make gcc happy
- if (endOfBlock) {
- code = lookBits(12);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if ((code >> 5) == 0) {
- p = &whiteTab1[code];
- } else {
-***************
-*** 1673,1678 ****
---- 1705,1713 ----
- } else {
- for (n = 1; n <= 9; ++n) {
- code = lookBits(n);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if (n < 9) {
- code <<= 9 - n;
- }
-***************
-*** 1684,1689 ****
---- 1719,1727 ----
- }
- for (n = 11; n <= 12; ++n) {
- code = lookBits(n);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if (n < 12) {
- code <<= 12 - n;
- }
-***************
-*** 1709,1717 ****
- code = 0; // make gcc happy
- if (endOfBlock) {
- code = lookBits(13);
- if ((code >> 7) == 0) {
- p = &blackTab1[code];
-! } else if ((code >> 9) == 0) {
- p = &blackTab2[(code >> 1) - 64];
- } else {
- p = &blackTab3[code >> 7];
---- 1747,1758 ----
- code = 0; // make gcc happy
- if (endOfBlock) {
- code = lookBits(13);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if ((code >> 7) == 0) {
- p = &blackTab1[code];
-! } else if ((code >> 9) == 0 && (code >> 7) != 0) {
- p = &blackTab2[(code >> 1) - 64];
- } else {
- p = &blackTab3[code >> 7];
-***************
-*** 1723,1728 ****
---- 1764,1772 ----
- } else {
- for (n = 2; n <= 6; ++n) {
- code = lookBits(n);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if (n < 6) {
- code <<= 6 - n;
- }
-***************
-*** 1734,1739 ****
---- 1778,1786 ----
- }
- for (n = 7; n <= 12; ++n) {
- code = lookBits(n);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if (n < 12) {
- code <<= 12 - n;
- }
-***************
-*** 1747,1752 ****
---- 1794,1802 ----
- }
- for (n = 10; n <= 13; ++n) {
- code = lookBits(n);
-+ if (code == EOF) {
-+ return 1;
-+ }
- if (n < 13) {
- code <<= 13 - n;
- }
-***************
-*** 1961,1966 ****
---- 2011,2022 ----
- // allocate a buffer for the whole image
- bufWidth = ((width + mcuWidth - 1) / mcuWidth) * mcuWidth;
- bufHeight = ((height + mcuHeight - 1) / mcuHeight) * mcuHeight;
-+ if (bufWidth <= 0 || bufHeight <= 0 ||
-+ bufWidth > INT_MAX / bufWidth / (int)sizeof(int)) {
-+ error(getPos(), "Invalid image size in DCT stream");
-+ y = height;
-+ return;
-+ }
- for (i = 0; i < numComps; ++i) {
- frameBuf[i] = (int *)gmallocn(bufWidth * bufHeight, sizeof(int));
- memset(frameBuf[i], 0, bufWidth * bufHeight * sizeof(int));
-***************
-*** 3036,3041 ****
---- 3092,3102 ----
- }
- scanInfo.firstCoeff = str->getChar();
- scanInfo.lastCoeff = str->getChar();
-+ if (scanInfo.firstCoeff < 0 || scanInfo.lastCoeff > 63 ||
-+ scanInfo.firstCoeff > scanInfo.lastCoeff) {
-+ error(getPos(), "Bad DCT coefficient numbers in scan info block");
-+ return gFalse;
-+ }
- c = str->getChar();
- scanInfo.ah = (c >> 4) & 0x0f;
- scanInfo.al = c & 0x0f;
-diff -c -r xpdf-3.02pl1.orig/xpdf/Stream.h xpdf-3.02/xpdf/Stream.h
-*** xpdf-3.02pl1.orig/xpdf/Stream.h Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/Stream.h Thu Oct 25 15:48:15 2007
-***************
-*** 528,540 ****
- int row; // current row
- int inputBuf; // input buffer
- int inputBits; // number of bits in input buffer
-! short *refLine; // reference line changing elements
-! int b1; // index into refLine
-! short *codingLine; // coding line changing elements
-! int a0; // index into codingLine
- int outputBits; // remaining ouput bits
- int buf; // character buffer
-
- short getTwoDimCode();
- short getWhiteCode();
- short getBlackCode();
---- 528,542 ----
- int row; // current row
- int inputBuf; // input buffer
- int inputBits; // number of bits in input buffer
-! int *codingLine; // coding line changing elements
-! int *refLine; // reference line changing elements
-! int a0i; // index into codingLine
-! GBool err; // error on current line
- int outputBits; // remaining ouput bits
- int buf; // character buffer
-
-+ void addPixels(int a1, int black);
-+ void addPixelsNeg(int a1, int black);
- short getTwoDimCode();
- short getWhiteCode();
- short getBlackCode();
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl3.patch b/source/xap/xpdf/patches/xpdf-3.02pl3.patch
deleted file mode 100644
index b5988805..00000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl3.patch
+++ /dev/null
@@ -1,1145 +0,0 @@
-diff -r -c xpdf-3.02.orig/goo/gmem.cc xpdf-3.02/goo/gmem.cc
-*** xpdf-3.02.orig/goo/gmem.cc Tue Feb 27 14:05:51 2007
---- xpdf-3.02/goo/gmem.cc Thu Mar 19 15:47:25 2009
-***************
-*** 55,61 ****
- void *data;
- unsigned long *trl, *p;
-
-! if (size <= 0) {
- return NULL;
- }
- size1 = gMemDataSize(size);
---- 55,69 ----
- void *data;
- unsigned long *trl, *p;
-
-! if (size < 0) {
-! #if USE_EXCEPTIONS
-! throw GMemException();
-! #else
-! fprintf(stderr, "Invalid memory allocation size\n");
-! exit(1);
-! #endif
-! }
-! if (size == 0) {
- return NULL;
- }
- size1 = gMemDataSize(size);
-***************
-*** 91,97 ****
- #else
- void *p;
-
-! if (size <= 0) {
- return NULL;
- }
- if (!(p = malloc(size))) {
---- 99,113 ----
- #else
- void *p;
-
-! if (size < 0) {
-! #if USE_EXCEPTIONS
-! throw GMemException();
-! #else
-! fprintf(stderr, "Invalid memory allocation size\n");
-! exit(1);
-! #endif
-! }
-! if (size == 0) {
- return NULL;
- }
- if (!(p = malloc(size))) {
-***************
-*** 112,118 ****
- void *q;
- int oldSize;
-
-! if (size <= 0) {
- if (p) {
- gfree(p);
- }
---- 128,142 ----
- void *q;
- int oldSize;
-
-! if (size < 0) {
-! #if USE_EXCEPTIONS
-! throw GMemException();
-! #else
-! fprintf(stderr, "Invalid memory allocation size\n");
-! exit(1);
-! #endif
-! }
-! if (size == 0) {
- if (p) {
- gfree(p);
- }
-***************
-*** 131,137 ****
- #else
- void *q;
-
-! if (size <= 0) {
- if (p) {
- free(p);
- }
---- 155,169 ----
- #else
- void *q;
-
-! if (size < 0) {
-! #if USE_EXCEPTIONS
-! throw GMemException();
-! #else
-! fprintf(stderr, "Invalid memory allocation size\n");
-! exit(1);
-! #endif
-! }
-! if (size == 0) {
- if (p) {
- free(p);
- }
-diff -r -c xpdf-3.02.orig/xpdf/JBIG2Stream.cc xpdf-3.02/xpdf/JBIG2Stream.cc
-*** xpdf-3.02.orig/xpdf/JBIG2Stream.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/JBIG2Stream.cc Tue Mar 31 10:55:23 2009
-***************
-*** 422,433 ****
- table[i] = table[len];
-
- // assign prefixes
-! i = 0;
-! prefix = 0;
-! table[i++].prefix = prefix++;
-! for (; table[i].rangeLen != jbig2HuffmanEOT; ++i) {
-! prefix <<= table[i].prefixLen - table[i-1].prefixLen;
-! table[i].prefix = prefix++;
- }
- }
-
---- 422,435 ----
- table[i] = table[len];
-
- // assign prefixes
-! if (table[0].rangeLen != jbig2HuffmanEOT) {
-! i = 0;
-! prefix = 0;
-! table[i++].prefix = prefix++;
-! for (; table[i].rangeLen != jbig2HuffmanEOT; ++i) {
-! prefix <<= table[i].prefixLen - table[i-1].prefixLen;
-! table[i].prefix = prefix++;
-! }
- }
- }
-
-***************
-*** 491,497 ****
- }
- if (p->bits < 0) {
- error(str->getPos(), "Bad two dim code in JBIG2 MMR stream");
-! return 0;
- }
- bufLen -= p->bits;
- return p->n;
---- 493,499 ----
- }
- if (p->bits < 0) {
- error(str->getPos(), "Bad two dim code in JBIG2 MMR stream");
-! return EOF;
- }
- bufLen -= p->bits;
- return p->n;
-***************
-*** 507,513 ****
- ++nBytesRead;
- }
- while (1) {
-! if (bufLen >= 7 && ((buf >> (bufLen - 7)) & 0x7f) == 0) {
- if (bufLen <= 12) {
- code = buf << (12 - bufLen);
- } else {
---- 509,515 ----
- ++nBytesRead;
- }
- while (1) {
-! if (bufLen >= 11 && ((buf >> (bufLen - 7)) & 0x7f) == 0) {
- if (bufLen <= 12) {
- code = buf << (12 - bufLen);
- } else {
-***************
-*** 550,563 ****
- ++nBytesRead;
- }
- while (1) {
-! if (bufLen >= 6 && ((buf >> (bufLen - 6)) & 0x3f) == 0) {
- if (bufLen <= 13) {
- code = buf << (13 - bufLen);
- } else {
- code = buf >> (bufLen - 13);
- }
- p = &blackTab1[code & 0x7f];
-! } else if (bufLen >= 4 && ((buf >> (bufLen - 4)) & 0x0f) == 0) {
- if (bufLen <= 12) {
- code = buf << (12 - bufLen);
- } else {
---- 552,566 ----
- ++nBytesRead;
- }
- while (1) {
-! if (bufLen >= 10 && ((buf >> (bufLen - 6)) & 0x3f) == 0) {
- if (bufLen <= 13) {
- code = buf << (13 - bufLen);
- } else {
- code = buf >> (bufLen - 13);
- }
- p = &blackTab1[code & 0x7f];
-! } else if (bufLen >= 7 && ((buf >> (bufLen - 4)) & 0x0f) == 0 &&
-! ((buf >> (bufLen - 6)) & 0x03) != 0) {
- if (bufLen <= 12) {
- code = buf << (12 - bufLen);
- } else {
-***************
-*** 683,690 ****
- h = hA;
- line = (wA + 7) >> 3;
- if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
-! data = NULL;
-! return;
- }
- // need to allocate one extra guard byte for use in combine()
- data = (Guchar *)gmalloc(h * line + 1);
---- 686,694 ----
- h = hA;
- line = (wA + 7) >> 3;
- if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
-! // force a call to gmalloc(-1), which will throw an exception
-! h = -1;
-! line = 2;
- }
- // need to allocate one extra guard byte for use in combine()
- data = (Guchar *)gmalloc(h * line + 1);
-***************
-*** 698,705 ****
- h = bitmap->h;
- line = bitmap->line;
- if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
-! data = NULL;
-! return;
- }
- // need to allocate one extra guard byte for use in combine()
- data = (Guchar *)gmalloc(h * line + 1);
---- 702,710 ----
- h = bitmap->h;
- line = bitmap->line;
- if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
-! // force a call to gmalloc(-1), which will throw an exception
-! h = -1;
-! line = 2;
- }
- // need to allocate one extra guard byte for use in combine()
- data = (Guchar *)gmalloc(h * line + 1);
-***************
-*** 754,759 ****
---- 759,766 ----
- inline void JBIG2Bitmap::getPixelPtr(int x, int y, JBIG2BitmapPtr *ptr) {
- if (y < 0 || y >= h || x >= w) {
- ptr->p = NULL;
-+ ptr->shift = 0; // make gcc happy
-+ ptr->x = 0; // make gcc happy
- } else if (x < 0) {
- ptr->p = &data[y * line];
- ptr->shift = 7;
-***************
-*** 798,803 ****
---- 805,814 ----
- Guint src0, src1, src, dest, s1, s2, m1, m2, m3;
- GBool oneByte;
-
-+ // check for the pathological case where y = -2^31
-+ if (y < -0x7fffffff) {
-+ return;
-+ }
- if (y < 0) {
- y0 = -y;
- } else {
-***************
-*** 1011,1018 ****
---- 1022,1034 ----
- JBIG2SymbolDict::JBIG2SymbolDict(Guint segNumA, Guint sizeA):
- JBIG2Segment(segNumA)
- {
-+ Guint i;
-+
- size = sizeA;
- bitmaps = (JBIG2Bitmap **)gmallocn(size, sizeof(JBIG2Bitmap *));
-+ for (i = 0; i < size; ++i) {
-+ bitmaps[i] = NULL;
-+ }
- genericRegionStats = NULL;
- refinementRegionStats = NULL;
- }
-***************
-*** 1021,1027 ****
- Guint i;
-
- for (i = 0; i < size; ++i) {
-! delete bitmaps[i];
- }
- gfree(bitmaps);
- if (genericRegionStats) {
---- 1037,1045 ----
- Guint i;
-
- for (i = 0; i < size; ++i) {
-! if (bitmaps[i]) {
-! delete bitmaps[i];
-! }
- }
- gfree(bitmaps);
- if (genericRegionStats) {
-***************
-*** 1296,1301 ****
---- 1314,1326 ----
- goto eofError2;
- }
-
-+ // check for missing page information segment
-+ if (!pageBitmap && ((segType >= 4 && segType <= 7) ||
-+ (segType >= 20 && segType <= 43))) {
-+ error(getPos(), "First JBIG2 segment associated with a page must be a page information segment");
-+ goto syntaxError;
-+ }
-+
- // read the segment data
- switch (segType) {
- case 0:
-***************
-*** 1411,1416 ****
---- 1436,1443 ----
- Guint i, j, k;
- Guchar *p;
-
-+ symWidths = NULL;
-+
- // symbol dictionary flags
- if (!readUWord(&flags)) {
- goto eofError;
-***************
-*** 1466,1485 ****
- codeTables = new GList();
- numInputSyms = 0;
- for (i = 0; i < nRefSegs; ++i) {
-! seg = findSegment(refSegs[i]);
-! if (seg->getType() == jbig2SegSymbolDict) {
-! numInputSyms += ((JBIG2SymbolDict *)seg)->getSize();
-! } else if (seg->getType() == jbig2SegCodeTable) {
-! codeTables->append(seg);
- }
- }
-
- // compute symbol code length
-! symCodeLen = 0;
-! i = 1;
-! while (i < numInputSyms + numNewSyms) {
- ++symCodeLen;
-! i <<= 1;
- }
-
- // get the input symbol bitmaps
---- 1493,1524 ----
- codeTables = new GList();
- numInputSyms = 0;
- for (i = 0; i < nRefSegs; ++i) {
-! if ((seg = findSegment(refSegs[i]))) {
-! if (seg->getType() == jbig2SegSymbolDict) {
-! j = ((JBIG2SymbolDict *)seg)->getSize();
-! if (numInputSyms > UINT_MAX - j) {
-! error(getPos(), "Too many input symbols in JBIG2 symbol dictionary");
-! delete codeTables;
-! goto eofError;
-! }
-! numInputSyms += j;
-! } else if (seg->getType() == jbig2SegCodeTable) {
-! codeTables->append(seg);
-! }
- }
- }
-+ if (numInputSyms > UINT_MAX - numNewSyms) {
-+ error(getPos(), "Too many input symbols in JBIG2 symbol dictionary");
-+ delete codeTables;
-+ goto eofError;
-+ }
-
- // compute symbol code length
-! symCodeLen = 1;
-! i = (numInputSyms + numNewSyms) >> 1;
-! while (i) {
- ++symCodeLen;
-! i >>= 1;
- }
-
- // get the input symbol bitmaps
-***************
-*** 1491,1501 ****
- k = 0;
- inputSymbolDict = NULL;
- for (i = 0; i < nRefSegs; ++i) {
-! seg = findSegment(refSegs[i]);
-! if (seg->getType() == jbig2SegSymbolDict) {
-! inputSymbolDict = (JBIG2SymbolDict *)seg;
-! for (j = 0; j < inputSymbolDict->getSize(); ++j) {
-! bitmaps[k++] = inputSymbolDict->getBitmap(j);
- }
- }
- }
---- 1530,1541 ----
- k = 0;
- inputSymbolDict = NULL;
- for (i = 0; i < nRefSegs; ++i) {
-! if ((seg = findSegment(refSegs[i]))) {
-! if (seg->getType() == jbig2SegSymbolDict) {
-! inputSymbolDict = (JBIG2SymbolDict *)seg;
-! for (j = 0; j < inputSymbolDict->getSize(); ++j) {
-! bitmaps[k++] = inputSymbolDict->getBitmap(j);
-! }
- }
- }
- }
-***************
-*** 1510,1515 ****
---- 1550,1558 ----
- } else if (huffDH == 1) {
- huffDHTable = huffTableE;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffDHTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffDW == 0) {
-***************
-*** 1517,1533 ****
---- 1560,1585 ----
- } else if (huffDW == 1) {
- huffDWTable = huffTableC;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffDWTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffBMSize == 0) {
- huffBMSizeTable = huffTableA;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffBMSizeTable =
- ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffAggInst == 0) {
- huffAggInstTable = huffTableA;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffAggInstTable =
- ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
-***************
-*** 1560,1566 ****
- }
-
- // allocate symbol widths storage
-- symWidths = NULL;
- if (huff && !refAgg) {
- symWidths = (Guint *)gmallocn(numNewSyms, sizeof(Guint));
- }
---- 1612,1617 ----
-***************
-*** 1602,1607 ****
---- 1653,1662 ----
- goto syntaxError;
- }
- symWidth += dw;
-+ if (i >= numNewSyms) {
-+ error(getPos(), "Too many symbols in JBIG2 symbol dictionary");
-+ goto syntaxError;
-+ }
-
- // using a collective bitmap, so don't read a bitmap here
- if (huff && !refAgg) {
-***************
-*** 1638,1643 ****
---- 1693,1702 ----
- arithDecoder->decodeInt(&refDX, iardxStats);
- arithDecoder->decodeInt(&refDY, iardyStats);
- }
-+ if (symID >= numInputSyms + i) {
-+ error(getPos(), "Invalid symbol ID in JBIG2 symbol dictionary");
-+ goto syntaxError;
-+ }
- refBitmap = bitmaps[symID];
- bitmaps[numInputSyms + i] =
- readGenericRefinementRegion(symWidth, symHeight,
-***************
-*** 1704,1709 ****
---- 1763,1774 ----
- } else {
- arithDecoder->decodeInt(&run, iaexStats);
- }
-+ if (i + run > numInputSyms + numNewSyms ||
-+ (ex && j + run > numExSyms)) {
-+ error(getPos(), "Too many exported symbols in JBIG2 symbol dictionary");
-+ delete symbolDict;
-+ goto syntaxError;
-+ }
- if (ex) {
- for (cnt = 0; cnt < run; ++cnt) {
- symbolDict->setBitmap(j++, bitmaps[i++]->copy());
-***************
-*** 1713,1718 ****
---- 1778,1788 ----
- }
- ex = !ex;
- }
-+ if (j != numExSyms) {
-+ error(getPos(), "Too few symbols in JBIG2 symbol dictionary");
-+ delete symbolDict;
-+ goto syntaxError;
-+ }
-
- for (i = 0; i < numNewSyms; ++i) {
- delete bitmaps[numInputSyms + i];
-***************
-*** 1735,1740 ****
---- 1805,1814 ----
-
- return gTrue;
-
-+ codeTableError:
-+ error(getPos(), "Missing code table in JBIG2 symbol dictionary");
-+ delete codeTables;
-+
- syntaxError:
- for (i = 0; i < numNewSyms; ++i) {
- if (bitmaps[numInputSyms + i]) {
-***************
-*** 1837,1842 ****
---- 1911,1918 ----
- }
- } else {
- error(getPos(), "Invalid segment reference in JBIG2 text region");
-+ delete codeTables;
-+ return;
- }
- }
- symCodeLen = 0;
-***************
-*** 1871,1876 ****
---- 1947,1955 ----
- } else if (huffFS == 1) {
- huffFSTable = huffTableG;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffFSTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffDS == 0) {
-***************
-*** 1880,1885 ****
---- 1959,1967 ----
- } else if (huffDS == 2) {
- huffDSTable = huffTableJ;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffDSTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffDT == 0) {
-***************
-*** 1889,1894 ****
---- 1971,1979 ----
- } else if (huffDT == 2) {
- huffDTTable = huffTableM;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffDTTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffRDW == 0) {
-***************
-*** 1896,1901 ****
---- 1981,1989 ----
- } else if (huffRDW == 1) {
- huffRDWTable = huffTableO;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffRDWTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffRDH == 0) {
-***************
-*** 1903,1908 ****
---- 1991,1999 ----
- } else if (huffRDH == 1) {
- huffRDHTable = huffTableO;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffRDHTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffRDX == 0) {
-***************
-*** 1910,1915 ****
---- 2001,2009 ----
- } else if (huffRDX == 1) {
- huffRDXTable = huffTableO;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffRDXTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffRDY == 0) {
-***************
-*** 1917,1927 ****
---- 2011,2027 ----
- } else if (huffRDY == 1) {
- huffRDYTable = huffTableO;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffRDYTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
- if (huffRSize == 0) {
- huffRSizeTable = huffTableA;
- } else {
-+ if (i >= (Guint)codeTables->getLength()) {
-+ goto codeTableError;
-+ }
- huffRSizeTable =
- ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
- }
-***************
-*** 2016,2023 ****
---- 2116,2130 ----
-
- return;
-
-+ codeTableError:
-+ error(getPos(), "Missing code table in JBIG2 text region");
-+ gfree(codeTables);
-+ delete syms;
-+ return;
-+
- eofError:
- error(getPos(), "Unexpected EOF in JBIG2 stream");
-+ return;
- }
-
- JBIG2Bitmap *JBIG2Stream::readTextRegion(GBool huff, GBool refine,
-***************
-*** 2324,2331 ****
- error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
- return;
- }
-! seg = findSegment(refSegs[0]);
-! if (seg->getType() != jbig2SegPatternDict) {
- error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
- return;
- }
---- 2431,2438 ----
- error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
- return;
- }
-! if (!(seg = findSegment(refSegs[0])) ||
-! seg->getType() != jbig2SegPatternDict) {
- error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
- return;
- }
-***************
-*** 2483,2489 ****
-
- // read the bitmap
- bitmap = readGenericBitmap(mmr, w, h, templ, tpgdOn, gFalse,
-! NULL, atx, aty, mmr ? 0 : length - 18);
-
- // combine the region bitmap into the page bitmap
- if (imm) {
---- 2590,2596 ----
-
- // read the bitmap
- bitmap = readGenericBitmap(mmr, w, h, templ, tpgdOn, gFalse,
-! NULL, atx, aty, mmr ? length - 18 : 0);
-
- // combine the region bitmap into the page bitmap
- if (imm) {
-***************
-*** 2505,2510 ****
---- 2612,2654 ----
- error(getPos(), "Unexpected EOF in JBIG2 stream");
- }
-
-+ inline void JBIG2Stream::mmrAddPixels(int a1, int blackPixels,
-+ int *codingLine, int *a0i, int w) {
-+ if (a1 > codingLine[*a0i]) {
-+ if (a1 > w) {
-+ error(getPos(), "JBIG2 MMR row is wrong length ({0:d})", a1);
-+ a1 = w;
-+ }
-+ if ((*a0i & 1) ^ blackPixels) {
-+ ++*a0i;
-+ }
-+ codingLine[*a0i] = a1;
-+ }
-+ }
-+
-+ inline void JBIG2Stream::mmrAddPixelsNeg(int a1, int blackPixels,
-+ int *codingLine, int *a0i, int w) {
-+ if (a1 > codingLine[*a0i]) {
-+ if (a1 > w) {
-+ error(getPos(), "JBIG2 MMR row is wrong length ({0:d})", a1);
-+ a1 = w;
-+ }
-+ if ((*a0i & 1) ^ blackPixels) {
-+ ++*a0i;
-+ }
-+ codingLine[*a0i] = a1;
-+ } else if (a1 < codingLine[*a0i]) {
-+ if (a1 < 0) {
-+ error(getPos(), "Invalid JBIG2 MMR code");
-+ a1 = 0;
-+ }
-+ while (*a0i > 0 && a1 <= codingLine[*a0i - 1]) {
-+ --*a0i;
-+ }
-+ codingLine[*a0i] = a1;
-+ }
-+ }
-+
- JBIG2Bitmap *JBIG2Stream::readGenericBitmap(GBool mmr, int w, int h,
- int templ, GBool tpgdOn,
- GBool useSkip, JBIG2Bitmap *skip,
-***************
-*** 2517,2523 ****
- JBIG2BitmapPtr atPtr0, atPtr1, atPtr2, atPtr3;
- int *refLine, *codingLine;
- int code1, code2, code3;
-! int x, y, a0, pix, i, refI, codingI;
-
- bitmap = new JBIG2Bitmap(0, w, h);
- bitmap->clearToZero();
---- 2661,2667 ----
- JBIG2BitmapPtr atPtr0, atPtr1, atPtr2, atPtr3;
- int *refLine, *codingLine;
- int code1, code2, code3;
-! int x, y, a0i, b1i, blackPixels, pix, i;
-
- bitmap = new JBIG2Bitmap(0, w, h);
- bitmap->clearToZero();
-***************
-*** 2527,2535 ****
- if (mmr) {
-
- mmrDecoder->reset();
- refLine = (int *)gmallocn(w + 2, sizeof(int));
-! codingLine = (int *)gmallocn(w + 2, sizeof(int));
-! codingLine[0] = codingLine[1] = w;
-
- for (y = 0; y < h; ++y) {
-
---- 2671,2688 ----
- if (mmr) {
-
- mmrDecoder->reset();
-+ if (w > INT_MAX - 2) {
-+ error(getPos(), "Bad width in JBIG2 generic bitmap");
-+ // force a call to gmalloc(-1), which will throw an exception
-+ w = -3;
-+ }
-+ // 0 <= codingLine[0] < codingLine[1] < ... < codingLine[n] = w
-+ // ---> max codingLine size = w + 1
-+ // refLine has one extra guard entry at the end
-+ // ---> max refLine size = w + 2
-+ codingLine = (int *)gmallocn(w + 1, sizeof(int));
- refLine = (int *)gmallocn(w + 2, sizeof(int));
-! codingLine[0] = w;
-
- for (y = 0; y < h; ++y) {
-
-***************
-*** 2537,2664 ****
- for (i = 0; codingLine[i] < w; ++i) {
- refLine[i] = codingLine[i];
- }
-! refLine[i] = refLine[i + 1] = w;
-
- // decode a line
-! refI = 0; // b1 = refLine[refI]
-! codingI = 0; // a1 = codingLine[codingI]
-! a0 = 0;
-! do {
- code1 = mmrDecoder->get2DCode();
- switch (code1) {
- case twoDimPass:
-! if (refLine[refI] < w) {
-! a0 = refLine[refI + 1];
-! refI += 2;
-! }
-! break;
- case twoDimHoriz:
-! if (codingI & 1) {
-! code1 = 0;
-! do {
-! code1 += code3 = mmrDecoder->getBlackCode();
-! } while (code3 >= 64);
-! code2 = 0;
-! do {
-! code2 += code3 = mmrDecoder->getWhiteCode();
-! } while (code3 >= 64);
-! } else {
-! code1 = 0;
-! do {
-! code1 += code3 = mmrDecoder->getWhiteCode();
-! } while (code3 >= 64);
-! code2 = 0;
-! do {
-! code2 += code3 = mmrDecoder->getBlackCode();
-! } while (code3 >= 64);
-! }
-! if (code1 > 0 || code2 > 0) {
-! a0 = codingLine[codingI++] = a0 + code1;
-! a0 = codingLine[codingI++] = a0 + code2;
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! }
-! break;
-! case twoDimVert0:
-! a0 = codingLine[codingI++] = refLine[refI];
-! if (refLine[refI] < w) {
-! ++refI;
-! }
-! break;
-! case twoDimVertR1:
-! a0 = codingLine[codingI++] = refLine[refI] + 1;
-! if (refLine[refI] < w) {
-! ++refI;
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! }
-! break;
-! case twoDimVertR2:
-! a0 = codingLine[codingI++] = refLine[refI] + 2;
-! if (refLine[refI] < w) {
-! ++refI;
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! }
-! break;
- case twoDimVertR3:
-! a0 = codingLine[codingI++] = refLine[refI] + 3;
-! if (refLine[refI] < w) {
-! ++refI;
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! }
-! break;
-! case twoDimVertL1:
-! a0 = codingLine[codingI++] = refLine[refI] - 1;
-! if (refI > 0) {
-! --refI;
-! } else {
-! ++refI;
-! }
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! break;
-! case twoDimVertL2:
-! a0 = codingLine[codingI++] = refLine[refI] - 2;
-! if (refI > 0) {
-! --refI;
-! } else {
-! ++refI;
-! }
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! break;
- case twoDimVertL3:
-! a0 = codingLine[codingI++] = refLine[refI] - 3;
-! if (refI > 0) {
-! --refI;
-! } else {
-! ++refI;
-! }
-! while (refLine[refI] <= a0 && refLine[refI] < w) {
-! refI += 2;
-! }
-! break;
- default:
- error(getPos(), "Illegal code in JBIG2 MMR bitmap data");
- break;
- }
-! } while (a0 < w);
-! codingLine[codingI++] = w;
-
- // convert the run lengths to a bitmap line
- i = 0;
-! while (codingLine[i] < w) {
- for (x = codingLine[i]; x < codingLine[i+1]; ++x) {
- bitmap->setPixel(x, y);
- }
- i += 2;
- }
- }
---- 2690,2846 ----
- for (i = 0; codingLine[i] < w; ++i) {
- refLine[i] = codingLine[i];
- }
-! refLine[i++] = w;
-! refLine[i] = w;
-
- // decode a line
-! codingLine[0] = 0;
-! a0i = 0;
-! b1i = 0;
-! blackPixels = 0;
-! // invariant:
-! // refLine[b1i-1] <= codingLine[a0i] < refLine[b1i] < refLine[b1i+1] <= w
-! // exception at left edge:
-! // codingLine[a0i = 0] = refLine[b1i = 0] = 0 is possible
-! // exception at right edge:
-! // refLine[b1i] = refLine[b1i+1] = w is possible
-! while (codingLine[a0i] < w) {
- code1 = mmrDecoder->get2DCode();
- switch (code1) {
- case twoDimPass:
-! mmrAddPixels(refLine[b1i + 1], blackPixels, codingLine, &a0i, w);
-! if (refLine[b1i + 1] < w) {
-! b1i += 2;
-! }
-! break;
- case twoDimHoriz:
-! code1 = code2 = 0;
-! if (blackPixels) {
-! do {
-! code1 += code3 = mmrDecoder->getBlackCode();
-! } while (code3 >= 64);
-! do {
-! code2 += code3 = mmrDecoder->getWhiteCode();
-! } while (code3 >= 64);
-! } else {
-! do {
-! code1 += code3 = mmrDecoder->getWhiteCode();
-! } while (code3 >= 64);
-! do {
-! code2 += code3 = mmrDecoder->getBlackCode();
-! } while (code3 >= 64);
-! }
-! mmrAddPixels(codingLine[a0i] + code1, blackPixels,
-! codingLine, &a0i, w);
-! if (codingLine[a0i] < w) {
-! mmrAddPixels(codingLine[a0i] + code2, blackPixels ^ 1,
-! codingLine, &a0i, w);
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! break;
- case twoDimVertR3:
-! mmrAddPixels(refLine[b1i] + 3, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case twoDimVertR2:
-! mmrAddPixels(refLine[b1i] + 2, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case twoDimVertR1:
-! mmrAddPixels(refLine[b1i] + 1, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case twoDimVert0:
-! mmrAddPixels(refLine[b1i], blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! ++b1i;
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
- case twoDimVertL3:
-! mmrAddPixelsNeg(refLine[b1i] - 3, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case twoDimVertL2:
-! mmrAddPixelsNeg(refLine[b1i] - 2, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case twoDimVertL1:
-! mmrAddPixelsNeg(refLine[b1i] - 1, blackPixels, codingLine, &a0i, w);
-! blackPixels ^= 1;
-! if (codingLine[a0i] < w) {
-! if (b1i > 0) {
-! --b1i;
-! } else {
-! ++b1i;
-! }
-! while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < w) {
-! b1i += 2;
-! }
-! }
-! break;
-! case EOF:
-! mmrAddPixels(w, 0, codingLine, &a0i, w);
-! break;
- default:
- error(getPos(), "Illegal code in JBIG2 MMR bitmap data");
-+ mmrAddPixels(w, 0, codingLine, &a0i, w);
- break;
- }
-! }
-
- // convert the run lengths to a bitmap line
- i = 0;
-! while (1) {
- for (x = codingLine[i]; x < codingLine[i+1]; ++x) {
- bitmap->setPixel(x, y);
- }
-+ if (codingLine[i+1] >= w || codingLine[i+2] >= w) {
-+ break;
-+ }
- i += 2;
- }
- }
-***************
-*** 2706,2712 ****
- ltp = !ltp;
- }
- if (ltp) {
-! bitmap->duplicateRow(y, y-1);
- continue;
- }
- }
---- 2888,2896 ----
- ltp = !ltp;
- }
- if (ltp) {
-! if (y > 0) {
-! bitmap->duplicateRow(y, y-1);
-! }
- continue;
- }
- }
-***************
-*** 2909,2916 ****
- return;
- }
- if (nRefSegs == 1) {
-! seg = findSegment(refSegs[0]);
-! if (seg->getType() != jbig2SegBitmap) {
- error(getPos(), "Bad bitmap reference in JBIG2 generic refinement segment");
- return;
- }
---- 3093,3100 ----
- return;
- }
- if (nRefSegs == 1) {
-! if (!(seg = findSegment(refSegs[0])) ||
-! seg->getType() != jbig2SegBitmap) {
- error(getPos(), "Bad bitmap reference in JBIG2 generic refinement segment");
- return;
- }
-***************
-*** 3004,3009 ****
---- 3188,3197 ----
- tpgrCX2 = refBitmap->nextPixel(&tpgrCXPtr2);
- tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
- tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
-+ } else {
-+ tpgrCXPtr0.p = tpgrCXPtr1.p = tpgrCXPtr2.p = NULL; // make gcc happy
-+ tpgrCXPtr0.shift = tpgrCXPtr1.shift = tpgrCXPtr2.shift = 0;
-+ tpgrCXPtr0.x = tpgrCXPtr1.x = tpgrCXPtr2.x = 0;
- }
-
- for (x = 0; x < w; ++x) {
-***************
-*** 3075,3080 ****
---- 3263,3272 ----
- tpgrCX2 = refBitmap->nextPixel(&tpgrCXPtr2);
- tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
- tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
-+ } else {
-+ tpgrCXPtr0.p = tpgrCXPtr1.p = tpgrCXPtr2.p = NULL; // make gcc happy
-+ tpgrCXPtr0.shift = tpgrCXPtr1.shift = tpgrCXPtr2.shift = 0;
-+ tpgrCXPtr0.x = tpgrCXPtr1.x = tpgrCXPtr2.x = 0;
- }
-
- for (x = 0; x < w; ++x) {
-diff -r -c xpdf-3.02.orig/xpdf/JBIG2Stream.h xpdf-3.02/xpdf/JBIG2Stream.h
-*** xpdf-3.02.orig/xpdf/JBIG2Stream.h Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/JBIG2Stream.h Tue Mar 31 10:50:07 2009
-***************
-*** 78,83 ****
---- 78,87 ----
- Guint *refSegs, Guint nRefSegs);
- void readGenericRegionSeg(Guint segNum, GBool imm,
- GBool lossless, Guint length);
-+ void mmrAddPixels(int a1, int blackPixels,
-+ int *codingLine, int *a0i, int w);
-+ void mmrAddPixelsNeg(int a1, int blackPixels,
-+ int *codingLine, int *a0i, int w);
- JBIG2Bitmap *readGenericBitmap(GBool mmr, int w, int h,
- int templ, GBool tpgdOn,
- GBool useSkip, JBIG2Bitmap *skip,
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl4.patch b/source/xap/xpdf/patches/xpdf-3.02pl4.patch
deleted file mode 100644
index 082d1175..00000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl4.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-*** xpdf-3.02.orig/xpdf/Stream.cc Fri Jul 24 14:30:46 2009
---- xpdf-3.02/xpdf/Stream.cc Mon Oct 5 11:07:49 2009
-***************
-*** 323,328 ****
---- 323,332 ----
- } else {
- imgLineSize = nVals;
- }
-+ if (width > INT_MAX / nComps) {
-+ // force a call to gmallocn(-1,...), which will throw an exception
-+ imgLineSize = -1;
-+ }
- imgLine = (Guchar *)gmallocn(imgLineSize, sizeof(Guchar));
- imgIdx = nVals;
- }
-*** xpdf-3.02.orig/xpdf/PSOutputDev.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/PSOutputDev.cc Fri Oct 2 12:38:58 2009
-***************
-*** 4301,4307 ****
- width, -height, height);
-
- // allocate a line buffer
-! lineBuf = (Guchar *)gmalloc(4 * width);
-
- // set up to process the data stream
- imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(),
---- 4301,4307 ----
- width, -height, height);
-
- // allocate a line buffer
-! lineBuf = (Guchar *)gmallocn(width, 4);
-
- // set up to process the data stream
- imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(),
-diff -r -c xpdf-3.02.orig/splash/Splash.cc xpdf-3.02/splash/Splash.cc
-*** xpdf-3.02.orig/splash/Splash.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/splash/Splash.cc Fri Aug 14 14:05:08 2009
-***************
-*** 12,17 ****
---- 12,18 ----
-
- #include <stdlib.h>
- #include <string.h>
-+ #include <limits.h>
- #include "gmem.h"
- #include "SplashErrorCodes.h"
- #include "SplashMath.h"
-***************
-*** 1912,1918 ****
- xq = w % scaledWidth;
-
- // allocate pixel buffer
-! pixBuf = (SplashColorPtr)gmalloc((yp + 1) * w);
-
- // initialize the pixel pipe
- pipeInit(&pipe, 0, 0, state->fillPattern, NULL, state->fillAlpha,
---- 1913,1922 ----
- xq = w % scaledWidth;
-
- // allocate pixel buffer
-! if (yp < 0 || yp > INT_MAX - 1) {
-! return splashErrBadArg;
-! }
-! pixBuf = (SplashColorPtr)gmallocn(yp + 1, w);
-
- // initialize the pixel pipe
- pipeInit(&pipe, 0, 0, state->fillPattern, NULL, state->fillAlpha,
-***************
-*** 2208,2216 ****
- xq = w % scaledWidth;
-
- // allocate pixel buffers
-! colorBuf = (SplashColorPtr)gmalloc((yp + 1) * w * nComps);
- if (srcAlpha) {
-! alphaBuf = (Guchar *)gmalloc((yp + 1) * w);
- } else {
- alphaBuf = NULL;
- }
---- 2212,2223 ----
- xq = w % scaledWidth;
-
- // allocate pixel buffers
-! if (yp < 0 || yp > INT_MAX - 1 || w > INT_MAX / nComps) {
-! return splashErrBadArg;
-! }
-! colorBuf = (SplashColorPtr)gmallocn(yp + 1, w * nComps);
- if (srcAlpha) {
-! alphaBuf = (Guchar *)gmallocn(yp + 1, w);
- } else {
- alphaBuf = NULL;
- }
-diff -r -c xpdf-3.02.orig/splash/SplashErrorCodes.h xpdf-3.02/splash/SplashErrorCodes.h
-*** xpdf-3.02.orig/splash/SplashErrorCodes.h Tue Feb 27 14:05:52 2007
---- xpdf-3.02/splash/SplashErrorCodes.h Fri Aug 14 14:03:46 2009
-***************
-*** 29,32 ****
---- 29,34 ----
-
- #define splashErrSingularMatrix 8 // matrix is singular
-
-+ #define splashErrBadArg 9 // bad argument
-+
- #endif
-*** xpdf-3.02.orig/splash/SplashBitmap.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/splash/SplashBitmap.cc Wed Aug 19 14:55:39 2009
-***************
-*** 11,16 ****
---- 11,17 ----
- #endif
-
- #include <stdio.h>
-+ #include <limits.h>
- #include "gmem.h"
- #include "SplashErrorCodes.h"
- #include "SplashBitmap.h"
-***************
-*** 27,56 ****
- mode = modeA;
- switch (mode) {
- case splashModeMono1:
-! rowSize = (width + 7) >> 3;
- break;
- case splashModeMono8:
-! rowSize = width;
- break;
- case splashModeRGB8:
- case splashModeBGR8:
-! rowSize = width * 3;
- break;
- #if SPLASH_CMYK
- case splashModeCMYK8:
-! rowSize = width * 4;
- break;
- #endif
- }
-! rowSize += rowPad - 1;
-! rowSize -= rowSize % rowPad;
-! data = (SplashColorPtr)gmalloc(rowSize * height);
- if (!topDown) {
- data += (height - 1) * rowSize;
- rowSize = -rowSize;
- }
- if (alphaA) {
-! alpha = (Guchar *)gmalloc(width * height);
- } else {
- alpha = NULL;
- }
---- 28,75 ----
- mode = modeA;
- switch (mode) {
- case splashModeMono1:
-! if (width > 0) {
-! rowSize = (width + 7) >> 3;
-! } else {
-! rowSize = -1;
-! }
- break;
- case splashModeMono8:
-! if (width > 0) {
-! rowSize = width;
-! } else {
-! rowSize = -1;
-! }
- break;
- case splashModeRGB8:
- case splashModeBGR8:
-! if (width > 0 && width <= INT_MAX / 3) {
-! rowSize = width * 3;
-! } else {
-! rowSize = -1;
-! }
- break;
- #if SPLASH_CMYK
- case splashModeCMYK8:
-! if (width > 0 && width <= INT_MAX / 4) {
-! rowSize = width * 4;
-! } else {
-! rowSize = -1;
-! }
- break;
- #endif
- }
-! if (rowSize > 0) {
-! rowSize += rowPad - 1;
-! rowSize -= rowSize % rowPad;
-! }
-! data = (SplashColorPtr)gmallocn(height, rowSize);
- if (!topDown) {
- data += (height - 1) * rowSize;
- rowSize = -rowSize;
- }
- if (alphaA) {
-! alpha = (Guchar *)gmallocn(width, height);
- } else {
- alpha = NULL;
- }
-*** xpdf-3.02.orig/xpdf/XRef.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/XRef.cc Tue Oct 13 11:57:24 2009
-***************
-*** 52,57 ****
---- 52,59 ----
- // generation 0.
- ObjectStream(XRef *xref, int objStrNumA);
-
-+ GBool isOk() { return ok; }
-+
- ~ObjectStream();
-
- // Return the object number of this object stream.
-***************
-*** 67,72 ****
---- 69,75 ----
- int nObjects; // number of objects in the stream
- Object *objs; // the objects (length = nObjects)
- int *objNums; // the object numbers (length = nObjects)
-+ GBool ok;
- };
-
- ObjectStream::ObjectStream(XRef *xref, int objStrNumA) {
-***************
-*** 80,85 ****
---- 83,89 ----
- nObjects = 0;
- objs = NULL;
- objNums = NULL;
-+ ok = gFalse;
-
- if (!xref->fetch(objStrNum, 0, &objStr)->isStream()) {
- goto err1;
-***************
-*** 105,110 ****
---- 109,121 ----
- goto err1;
- }
-
-+ // this is an arbitrary limit to avoid integer overflow problems
-+ // in the 'new Object[nObjects]' call (Acrobat apparently limits
-+ // object streams to 100-200 objects)
-+ if (nObjects > 1000000) {
-+ error(-1, "Too many objects in an object stream");
-+ goto err1;
-+ }
- objs = new Object[nObjects];
- objNums = (int *)gmallocn(nObjects, sizeof(int));
- offsets = (int *)gmallocn(nObjects, sizeof(int));
-***************
-*** 161,170 ****
- }
-
- gfree(offsets);
-
- err1:
- objStr.free();
-- return;
- }
-
- ObjectStream::~ObjectStream() {
---- 172,181 ----
- }
-
- gfree(offsets);
-+ ok = gTrue;
-
- err1:
- objStr.free();
- }
-
- ObjectStream::~ObjectStream() {
-***************
-*** 837,842 ****
---- 848,858 ----
- delete objStr;
- }
- objStr = new ObjectStream(this, e->offset);
-+ if (!objStr->isOk()) {
-+ delete objStr;
-+ objStr = NULL;
-+ goto err;
-+ }
- }
- objStr->getObject(e->gen, num, obj);
- break;
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl5.patch b/source/xap/xpdf/patches/xpdf-3.02pl5.patch
deleted file mode 100644
index 558eac55..00000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl5.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-*** xpdf-3.02.orig/xpdf/Gfx.cc Tue Feb 27 14:05:52 2007
---- xpdf-3.02/xpdf/Gfx.cc Mon Oct 11 15:39:52 2010
-***************
-*** 461,466 ****
---- 461,467 ----
- baseMatrix[i] = state->getCTM()[i];
- }
- formDepth = 0;
-+ parser = NULL;
- abortCheckCbk = abortCheckCbkA;
- abortCheckCbkData = abortCheckCbkDataA;
-
-***************
-*** 500,505 ****
---- 501,507 ----
- baseMatrix[i] = state->getCTM()[i];
- }
- formDepth = 0;
-+ parser = NULL;
- abortCheckCbk = abortCheckCbkA;
- abortCheckCbkData = abortCheckCbkDataA;
-
-*** xpdf-3.02.orig/fofi/FoFiType1.cc Tue Feb 27 14:05:51 2007
---- xpdf-3.02/fofi/FoFiType1.cc Mon Oct 11 15:44:13 2010
-***************
-*** 224,230 ****
- code = code * 8 + (*p2 - '0');
- }
- }
-! if (code < 256) {
- for (p = p2; *p == ' ' || *p == '\t'; ++p) ;
- if (*p == '/') {
- ++p;
---- 224,230 ----
- code = code * 8 + (*p2 - '0');
- }
- }
-! if (code >= 0 && code < 256) {
- for (p = p2; *p == ' ' || *p == '\t'; ++p) ;
- if (*p == '/') {
- ++p;
diff --git a/source/xap/xpdf/patches/xpdf-3.02pl6.patch b/source/xap/xpdf/patches/xpdf-3.02pl6.patch
deleted file mode 100644
index b3649102..00000000
--- a/source/xap/xpdf/patches/xpdf-3.02pl6.patch
+++ /dev/null
@@ -1 +0,0 @@
-# There is not a patch 6... just a recompile without t1lib
diff --git a/source/xap/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff b/source/xap/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff
new file mode 100644
index 00000000..891c41fd
--- /dev/null
+++ b/source/xap/xpdf/patches/xpdf-3.03-CVE-2012-2142.diff
@@ -0,0 +1,55 @@
+From 3945969e0072217c143fefa3044512a31ac2afa8 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Sun, 11 Aug 2013
+Subject: CVE-2012-2142
+
+Filter stuff that might end up in the shell to address CVE-2012-2142.
+This code was adapted from the Poppler project.
+---
+ Error.cc | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+--- a/xpdf/Error.cc 2013-08-11
++++ b/xpdf/Error.cc 2013-08-11
+@@ -43,7 +43,7 @@ void setErrorCallback(void (*cbk)(void *
+
+ void CDECL error(ErrorCategory category, int pos, const char *msg, ...) {
+ va_list args;
+- GString *s;
++ GString *s, *sanitized;
+
+ // NB: this can be called before the globalParams object is created
+ if (!errorCbk && globalParams && globalParams->getErrQuiet()) {
+@@ -52,17 +52,28 @@ void CDECL error(ErrorCategory category,
+ va_start(args, msg);
+ s = GString::formatv(msg, args);
+ va_end(args);
++
++ sanitized = new GString ();
++ for (int i = 0; i < s->getLength(); ++i) {
++ const char c = s->getChar(i);
++ if (c < (char)0x20 || c >= (char)0x7f) {
++ sanitized->appendf("<{0:02x}>", c & 0xff);
++ } else {
++ sanitized->append(c);
++ }
++ }
++
+ if (errorCbk) {
+- (*errorCbk)(errorCbkData, category, pos, s->getCString());
++ (*errorCbk)(errorCbkData, category, pos, sanitized->getCString());
+ } else {
+ if (pos >= 0) {
+ fprintf(stderr, "%s (%d): %s\n",
+- errorCategoryNames[category], pos, s->getCString());
++ errorCategoryNames[category], pos, sanitized->getCString());
+ } else {
+ fprintf(stderr, "%s: %s\n",
+- errorCategoryNames[category], s->getCString());
++ errorCategoryNames[category], sanitized->getCString());
+ }
+ fflush(stderr);
+ }
+- delete s;
++ delete sanitized;
+ }
diff --git a/source/xap/xpdf/patches/xpdf-resizefix.diff b/source/xap/xpdf/patches/xpdf-resizefix.diff
deleted file mode 100644
index 4be7feb0..00000000
--- a/source/xap/xpdf/patches/xpdf-resizefix.diff
+++ /dev/null
@@ -1,34 +0,0 @@
---- ./fofi/FoFiType1.cc.orig 2007-02-27 16:05:51.000000000 -0600
-+++ ./fofi/FoFiType1.cc 2007-04-11 19:58:28.000000000 -0500
-@@ -235,9 +235,14 @@
- }
- }
- } else {
-- if (strtok(buf, " \t") &&
-- (p = strtok(NULL, " \t\n\r")) && !strcmp(p, "def")) {
-- break;
-+ p = strtok(buf, " \t\n\r");
-+ if (p)
-+ {
-+ if (!strcmp(p, "def")) break;
-+ if (!strcmp(p, "readonly")) break;
-+ // the spec does not says this but i'm mantaining old xpdf behaviour that accepts "foo def" as end of the encoding array
-+ p = strtok(buf, " \t\n\r");
-+ if (p && !strcmp(p, "def")) break;
- }
- }
- }
---- ./splash/Splash.cc.orig 2007-02-27 16:05:52.000000000 -0600
-+++ ./splash/Splash.cc 2007-04-11 19:58:35.000000000 -0500
-@@ -1501,6 +1501,11 @@
- xPath->aaScale();
- }
- xPath->sort();
-+ if (!&xPath->segs[0])
-+ {
-+ delete xPath;
-+ return splashErrEmptyPath;
-+ }
- scanner = new SplashXPathScanner(xPath, eo);
-
- // get the min and max x and y values
diff --git a/source/xap/xpdf/patches/xpdf.XPDFViewer.diff b/source/xap/xpdf/patches/xpdf.XPDFViewer.diff
new file mode 100644
index 00000000..0aa4455d
--- /dev/null
+++ b/source/xap/xpdf/patches/xpdf.XPDFViewer.diff
@@ -0,0 +1,11 @@
+--- ./xpdf/XPDFViewer.cc.orig 2011-08-15 16:08:53.000000000 -0500
++++ ./xpdf/XPDFViewer.cc 2013-03-28 15:35:31.589432279 -0500
+@@ -1803,7 +1803,7 @@
+ menuPane = XmCreatePulldownMenu(toolBar, "zoomMenuPane", args, n);
+ for (i = 0; i < nZoomMenuItems; ++i) {
+ n = 0;
+- s = XmStringCreateLocalized(zoomMenuInfo[i].label);
++ s = XmStringCreateLocalized((char *)zoomMenuInfo[i].label);
+ XtSetArg(args[n], XmNlabelString, s); ++n;
+ XtSetArg(args[n], XmNuserData, (XtPointer)i); ++n;
+ sprintf(buf, "zoom%d", i);
diff --git a/source/xap/xpdf/patches/xpdf_3.02-1.3.diff b/source/xap/xpdf/patches/xpdf_3.02-1.3.diff
deleted file mode 100644
index 6a769e5c..00000000
--- a/source/xap/xpdf/patches/xpdf_3.02-1.3.diff
+++ /dev/null
@@ -1,4470 +0,0 @@
---- xpdf-3.02.orig/debian/README.Debian
-+++ xpdf-3.02/debian/README.Debian
-@@ -0,0 +1,16 @@
-+
-+This package incorporates the following Xpdf language
-+packages:
-+
-+xpdf-cyrillic 2002-jun-28
-+xpdf-greek 2002-jun-28
-+xpdf-hebrew 2003-feb-16
-+xpdf-latin2 2002-oct-22
-+xpdf-thai 2002-jan-16
-+xpdf-turkish 2002-apr-10
-+xpdf-arabic 2003-feb-16
-+
-+xpdf-chinese-simplified, xpdf-chinese-traditional, xpdf-korean
-+and xpdf-japanese are separate Debian packages in the "non-free"
-+section of the Debian archive.
-+
---- xpdf-3.02.orig/debian/xpdf-utils.files
-+++ xpdf-3.02/debian/xpdf-utils.files
-@@ -0,0 +1,10 @@
-+/usr/share/man/man1/pdftotext.1
-+/usr/share/man/man1/pdfinfo.1
-+/usr/share/man/man1/pdffonts.1
-+/usr/share/man/man1/pdfimages.1
-+/usr/share/man/man1/pdftops.1
-+/usr/bin/pdftops
-+/usr/bin/pdftotext
-+/usr/bin/pdfinfo
-+/usr/bin/pdffonts
-+/usr/bin/pdfimages
---- xpdf-3.02.orig/debian/patches-obselete/04_freetype-glyph.dpatch
-+++ xpdf-3.02/debian/patches-obselete/04_freetype-glyph.dpatch
-@@ -0,0 +1,20 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 04_freetype-glyph.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Bug fix for Freetype glyph handling
-+
-+@DPATCH@
-+
-+--- xpdf-3.00.orig/splash/SplashFTFont.cc
-++++ xpdf-3.00/splash/SplashFTFont.cc
-+@@ -238,6 +238,9 @@
-+ if (FT_Get_Glyph(slot, &glyph)) {
-+ return NULL;
-+ }
-++ if (glyph->format != FT_GLYPH_FORMAT_OUTLINE) {
-++ return NULL;
-++ }
-+ path.path = new SplashPath();
-+ path.needClose = gFalse;
-+ FT_Outline_Decompose(&((FT_OutlineGlyph)glyph)->outline,
---- xpdf-3.02.orig/debian/patches-obselete/07_decrypt.dpatch
-+++ xpdf-3.02/debian/patches-obselete/07_decrypt.dpatch
-@@ -0,0 +1,52 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 07_decrypt.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Avoid potential buffer overruns during decryption
-+
-+@DPATCH@
-+diff -urNad --exclude=CVS --exclude=.svn ./xpdf/Decrypt.cc /tmp/dpep-work.wRRwAu/xpdf-3.01/xpdf/Decrypt.cc
-+--- ./xpdf/Decrypt.cc 2005-08-17 15:34:31.000000000 +1000
-++++ /tmp/dpep-work.wRRwAu/xpdf-3.01/xpdf/Decrypt.cc 2005-08-19 18:47:09.000000000 +1000
-+@@ -75,6 +75,11 @@
-+ Guchar fx, fy;
-+ int len, i, j;
-+
-++ // check whether we have non-zero keyLength
-++ if ( !keyLength ) {
-++ return gFalse;
-++ }
-++
-+ // try using the supplied owner password to generate the user password
-+ *ownerPasswordOk = gFalse;
-+ if (ownerPassword) {
-+@@ -100,7 +105,7 @@
-+ } else {
-+ memcpy(test2, ownerKey->getCString(), 32);
-+ for (i = 19; i >= 0; --i) {
-+- for (j = 0; j < keyLength; ++j) {
-++ for (j = 0; j < keyLength && j < 16; ++j) {
-+ tmpKey[j] = test[j] ^ i;
-+ }
-+ rc4InitKey(tmpKey, keyLength, fState);
-+@@ -140,6 +145,11 @@
-+ int len, i, j;
-+ GBool ok;
-+
-++ // check whether we have non-zero keyLength
-++ if ( !keyLength ) {
-++ return gFalse;
-++ }
-++
-+ // generate file key
-+ buf = (Guchar *)gmalloc(72 + fileID->getLength());
-+ if (userPassword) {
-+@@ -184,7 +194,7 @@
-+ } else if (encRevision == 3) {
-+ memcpy(test, userKey->getCString(), 32);
-+ for (i = 19; i >= 0; --i) {
-+- for (j = 0; j < keyLength; ++j) {
-++ for (j = 0; j < keyLength && j < 16; ++j) {
-+ tmpKey[j] = fileKey[j] ^ i;
-+ }
-+ rc4InitKey(tmpKey, keyLength, fState);
---- xpdf-3.02.orig/debian/patches-obselete/03_freetype-build.dpatch
-+++ xpdf-3.02/debian/patches-obselete/03_freetype-build.dpatch
-@@ -0,0 +1,301 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 03_freetype-build.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Use pkg-config to locate FreeType build information
-+
-+@DPATCH@
-+diff -urNad --exclude=CVS --exclude=.svn ./configure.in /tmp/dpep-work.9fnwEh/xpdf-3.01/configure.in
-+--- ./configure.in 2005-08-19 17:06:04.000000000 +1000
-++++ /tmp/dpep-work.9fnwEh/xpdf-3.01/configure.in 2005-08-19 17:12:11.000000000 +1000
-+@@ -301,10 +301,8 @@
-+ AC_SUBST(t1_CFLAGS)
-+
-+ dnl ##### Check for FreeType 2.x.
-+-dnl ##### (Note: FT_Get_Name_Index was added in FT 2.0.5, and is
-+-dnl ##### the reason that Xpdf requires 2.0.5+.)
-+-smr_CHECK_LIB(freetype2, freetype, [FreeType2 font rasterizer - version 2.0.5+],
-+- FT_Get_Name_Index, ft2build.h, -lm)
-++PKG_CHECK_MODULES(freetype2, freetype2 >= 9.5.3, smr_have_freetype2_library="yes",
-++ smr_have_freetype2_library="no")
-+ AC_SUBST(freetype2_LIBS)
-+ AC_SUBST(freetype2_CFLAGS)
-+ if test "x$smr_have_freetype2_library" = xyes; then
-+diff -urNad --exclude=CVS --exclude=.svn ./smr.m4 /tmp/dpep-work.9fnwEh/xpdf-3.01/smr.m4
-+--- ./smr.m4 1970-01-01 10:00:00.000000000 +1000
-++++ /tmp/dpep-work.9fnwEh/xpdf-3.01/smr.m4 2005-08-19 17:12:05.000000000 +1000
-+@@ -0,0 +1,274 @@
-++# <<< smr.m4 from smr_macros 0.2.4 >>>
-++
-++dnl ####################### -*- Mode: M4 -*- ###########################
-++dnl smr.m4 --
-++dnl
-++dnl Copyright (C) 1999 Matthew D. Langston <langston at SLAC.Stanford.EDU>
-++dnl Copyright (C) 1998 Steve Robbins <stever at cs.mcgill.ca>
-++dnl
-++dnl This file is free software; you can redistribute it and/or modify it
-++dnl under the terms of the GNU General Public License as published by
-++dnl the Free Software Foundation; either version 2 of the License, or
-++dnl (at your option) any later version.
-++dnl
-++dnl This file is distributed in the hope that it will be useful, but
-++dnl WITHOUT ANY WARRANTY; without even the implied warranty of
-++dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-++dnl General Public License for more details.
-++dnl
-++dnl You should have received a copy of the GNU General Public License
-++dnl along with this file; if not, write to:
-++dnl
-++dnl Free Software Foundation, Inc.
-++dnl Suite 330
-++dnl 59 Temple Place
-++dnl Boston, MA 02111-1307, USA.
-++dnl ####################################################################
-++
-++
-++dnl NOTE: The macros in this file are extensively documented in the
-++dnl accompanying `smr_macros.texi' Texinfo file. Please see the
-++dnl Texinfo documentation for the definitive specification of how
-++dnl these macros are supposed to work. If the macros work
-++dnl differently than the Texinfo documentation says they should,
-++dnl then the macros (and not the Texinfo documentation) has the
-++dnl bug(s).
-++
-++dnl This is a convenient macro which translates illegal characters for
-++dnl bourne shell variables into legal characters. It has the same
-++dnl functionality as sed 'y%./+-:%__p__%'.
-++AC_DEFUN([smr_safe_translation], [patsubst(patsubst([$1], [+], [p]), [./-:], [_])])
-++
-++AC_DEFUN(smr_SWITCH,
-++[
-++ dnl Define convenient aliases for the arguments since there are so
-++ dnl many of them and I keep confusing myself whenever I have to edit
-++ dnl this macro.
-++ pushdef([smr_name], $1)
-++ pushdef([smr_help_string], $2)
-++ pushdef([smr_default], $3)
-++ pushdef([smr_yes_define], $4)
-++ pushdef([smr_no_define], $5)
-++
-++ dnl Do some sanity checking of the arguments.
-++ ifelse([regexp(smr_default, [^\(yes\|no\)$])], -1, [AC_MSG_ERROR($0: third arg must be either yes or no)])
-++
-++ dnl Create the help string
-++ pushdef([smr_lhs], [--ifelse(smr_default, yes, disable, enable)-smr_name])dnl
-++ pushdef([smr_rhs], [ifelse(smr_default, yes, disable, enable) smr_help_string (default is smr_default)])dnl
-++
-++ dnl Add the option to `configure --help'. We don't need to supply the
-++ dnl 4th argument to AC_ARG_ENABLE (i.e. the code to set the default
-++ dnl value) because that is done below by AC_CACHE_CHECK.
-++ AC_ARG_ENABLE([smr_name],
-++ AC_HELP_STRING([smr_lhs], [smr_rhs]),
-++ smr_cv_enable_[]smr_name=$enableval)
-++
-++ dnl We cache the result so that the user doesn't have to remember
-++ dnl which flags they passed to `configure'.
-++ AC_CACHE_CHECK([whether to enable smr_help_string],
-++ smr_cv_enable_[]smr_name,
-++ smr_cv_enable_[]smr_name=smr_default)
-++
-++ ifelse(smr_yes_define, , , test x"[$]smr_cv_enable_[]smr_name" = xyes && AC_DEFINE(smr_yes_define))
-++ ifelse(smr_no_define, , , test x"[$]smr_cv_enable_[]smr_name" = xno && AC_DEFINE(smr_no_define))
-++
-++ dnl Sanity check the value assigned to smr_cv_enable_$1 to force it to
-++ dnl be either `yes' or `no'.
-++ if test ! x"[$]smr_cv_enable_[]smr_name" = xyes; then
-++ if test ! x"[$]smr_cv_enable_[]smr_name" = xno; then
-++ AC_MSG_ERROR([smr_lhs must be either yes or no])
-++ fi
-++ fi
-++
-++ popdef([smr_name])
-++ popdef([smr_help_string])
-++ popdef([smr_default])
-++ popdef([smr_yes_define])
-++ popdef([smr_no_define])
-++ popdef([smr_lhs])
-++ popdef([smr_rhs])
-++])
-++
-++
-++AC_DEFUN(smr_ARG_WITHLIB,
-++[
-++ dnl Define convenient aliases for the arguments since there are so
-++ dnl many of them and I keep confusing myself whenever I have to edit
-++ dnl this macro.
-++ pushdef([smr_name], $1)
-++ pushdef([smr_libname], ifelse($2, , smr_name, $2))
-++ pushdef([smr_help_string], $3)
-++ pushdef([smr_safe_name], smr_safe_translation(smr_name))
-++
-++ dnl Add the option to `configure --help'. We don't need to supply the
-++ dnl 4th argument to AC_ARG_WITH (i.e. the code to set the default
-++ dnl value) because that is done below by AC_CACHE_CHECK.
-++ AC_ARG_WITH(smr_safe_name-library,
-++ AC_HELP_STRING([--with-smr_safe_name-library[[=PATH]]],
-++ [use smr_name library ifelse(smr_help_string, , , (smr_help_string))]),
-++ smr_cv_with_[]smr_safe_name[]_library=$withval)
-++
-++ dnl We cache the result so that the user doesn't have to remember
-++ dnl which flags they passed to `configure'.
-++ AC_CACHE_CHECK([whether to use smr_name library],
-++ smr_cv_with_[]smr_safe_name[]_library,
-++ smr_cv_with_[]smr_safe_name[]_library=maybe)
-++
-++
-++ case x"[$]smr_cv_with_[]smr_safe_name[]_library" in
-++ xyes | xmaybe)
-++ smr_safe_name[]_LIBS="-l[]smr_libname"
-++ with_[]smr_safe_name=[$]smr_cv_with_[]smr_safe_name[]_library
-++ ;;
-++ xno)
-++ smr_safe_name[]_LIBS=
-++ with_[]smr_safe_name=no
-++ ;;
-++ *)
-++ if test -f "[$]smr_cv_with_[]smr_safe_name[]_library"; then
-++ smr_safe_name[]_LIBS=[$]smr_cv_with_[]smr_safe_name[]_library
-++ elif test -d "[$]smr_cv_with_[]smr_safe_name[]_library"; then
-++ smr_safe_name[]_LIBS="-L[$]smr_cv_with_[]smr_safe_name[]_library -l[]smr_libname"
-++ else
-++ AC_MSG_ERROR([argument must be boolean, file, or directory])
-++ fi
-++ with_[]smr_safe_name=yes
-++ ;;
-++ esac
-++
-++ popdef([smr_name])
-++ popdef([smr_libname])
-++ popdef([smr_help_string])
-++ popdef([smr_safe_name])
-++])
-++
-++
-++AC_DEFUN(smr_ARG_WITHINCLUDES,
-++[
-++ dnl Define convenient aliases for the arguments since there are so
-++ dnl many of them and I keep confusing myself whenever I have to edit
-++ dnl this macro.
-++ pushdef([smr_name], $1)
-++ pushdef([smr_header], $2)
-++ pushdef([smr_extra_flags], $3)
-++ pushdef([smr_safe_name], smr_safe_translation(smr_name))
-++
-++ dnl Add the option to `configure --help'. We don't need to supply the
-++ dnl 4th argument to AC_ARG_WITH (i.e. the code to set the default
-++ dnl value) because that is done below by AC_CACHE_CHECK.
-++ AC_ARG_WITH(smr_safe_name-includes,
-++ AC_HELP_STRING([--with-smr_safe_name-includes[[=DIR]]],
-++ [set directory for smr_name headers]),
-++ smr_cv_with_[]smr_safe_name[]_includes=$withval)
-++
-++ dnl We cache the result so that the user doesn't have to remember
-++ dnl which flags they passed to `configure'.
-++ AC_CACHE_CHECK([where to find the smr_name header files],
-++ smr_cv_with_[]smr_safe_name[]_includes,
-++ smr_cv_with_[]smr_safe_name[]_includes=)
-++
-++ if test ! x"[$]smr_cv_with_[]smr_safe_name[]_includes" = x; then
-++ if test -d "[$]smr_cv_with_[]smr_safe_name[]_includes"; then
-++ smr_safe_name[]_CFLAGS="-I[$]smr_cv_with_[]smr_safe_name[]_includes"
-++ else
-++ AC_MSG_ERROR([argument must be a directory])
-++ fi
-++ else
-++ smr_safe_name[]_CFLAGS=
-++ fi
-++
-++ dnl This bit of logic comes from the autoconf AC_PROG_CC macro. We
-++ dnl need to put the given include directory into CPPFLAGS temporarily,
-++ dnl but then restore CPPFLAGS to its old value.
-++ smr_test_CPPFLAGS="${CPPFLAGS+set}"
-++ smr_save_CPPFLAGS="$CPPFLAGS"
-++ CPPFLAGS="$CPPFLAGS [$]smr_safe_name[]_CFLAGS smr_extra_flags"
-++
-++ dnl If the header file smr_header exists, then define
-++ dnl HAVE_[]smr_header (in all capitals).
-++ AC_CHECK_HEADERS([smr_header],
-++ smr_have_[]smr_safe_name[]_header=yes,
-++ smr_have_[]smr_safe_name[]_header=no)
-++
-++ if test x"$smr_test_CPPFLAGS" = xset; then
-++ CPPFLAGS=$smr_save_CPPFLAGS
-++ else
-++ unset CPPFLAGS
-++ fi
-++
-++ popdef([smr_name])
-++ popdef([smr_header])
-++ popdef([smr_extra_flags])
-++ popdef([smr_safe_name])
-++])
-++
-++
-++AC_DEFUN(smr_CHECK_LIB,
-++[
-++ dnl Define convenient aliases for the arguments since there are so
-++ dnl many of them and I keep confusing myself whenever I have to edit
-++ dnl this macro.
-++ pushdef([smr_name], $1)
-++ pushdef([smr_libname], ifelse($2, , smr_name, $2))
-++ pushdef([smr_help_string], $3)
-++ pushdef([smr_function], $4)
-++ pushdef([smr_header], $5)
-++ pushdef([smr_extra_libs], $6)
-++ pushdef([smr_extra_flags], $7)
-++ pushdef([smr_prototype], $8)
-++ pushdef([smr_safe_name], smr_safe_translation(smr_name))
-++
-++ dnl Give the user (via "configure --help") an interface to specify
-++ dnl whether we should use the library or not, and possibly where we
-++ dnl should find it.
-++ smr_ARG_WITHLIB([smr_name], [smr_libname], [smr_help_string])
-++
-++ if test ! x"$with_[]smr_safe_name" = xno; then
-++
-++ # If we got this far, then the user didn't explicitly ask not to use
-++ # the library.
-++
-++ dnl If the caller of smr_CHECK_LIB specified a header file for this
-++ dnl library, then give the user (via "configure --help") an
-++ dnl interface to specify where this header file can be found (if it
-++ dnl isn't found by the compiler by default).
-++ ifelse(smr_header, , , [smr_ARG_WITHINCLUDES(smr_name, smr_header, smr_extra_flags)])
-++
-++ # We need only look for the library if the header has been found
-++ # (or no header is needed).
-++ if test [$]smr_have_[]smr_safe_name[]_header != no; then
-++
-++ AC_CHECK_LIB(smr_libname,
-++ smr_function,
-++ smr_have_[]smr_safe_name[]_library=yes,
-++ smr_have_[]smr_safe_name[]_library=no,
-++ [$]smr_safe_name[]_CFLAGS [smr_extra_flags] [$]smr_safe_name[]_LIBS [smr_extra_libs],
-++ [ifelse(smr_prototype, , , [[#]include <smr_header>])],
-++ smr_prototype)
-++ fi
-++
-++ if test x"[$]smr_have_[]smr_safe_name[]_library" = xyes; then
-++ AC_MSG_RESULT([using smr_name library])
-++ else
-++ smr_safe_name[]_LIBS=
-++ smr_safe_name[]_CFLAGS=
-++
-++ if test x"$with_[]smr_safe_name" = xmaybe; then
-++ AC_MSG_RESULT([not using smr_name library])
-++ else
-++ AC_MSG_WARN([requested smr_name library not found!])
-++ fi
-++ fi
-++ fi
-++
-++ popdef([smr_name])
-++ popdef([smr_libname])
-++ popdef([smr_help_string])
-++ popdef([smr_function])
-++ popdef([smr_header])
-++ popdef([smr_extra_libs])
-++ popdef([smr_extra_flags])
-++ popdef([smr_prototype])
-++ popdef([smr_safe_name])
-++])
---- xpdf-3.02.orig/debian/patches-obselete/05_gmem.dpatch
-+++ xpdf-3.02/debian/patches-obselete/05_gmem.dpatch
-@@ -0,0 +1,97 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 05_gmem.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Change all size parameters to size_t (why?)
-+
-+@DPATCH@
-+diff -urNad --exclude=CVS --exclude=.svn ./goo/gmem.c /tmp/dpep-work.0qyf6L/xpdf-3.01/goo/gmem.c
-+--- ./goo/gmem.c 2005-08-19 19:02:18.000000000 +1000
-++++ /tmp/dpep-work.0qyf6L/xpdf-3.01/goo/gmem.c 2005-08-19 19:05:34.000000000 +1000
-+@@ -54,9 +54,9 @@
-+
-+ #endif /* DEBUG_MEM */
-+
-+-void *gmalloc(int size) {
-++void *gmalloc(size_t size) {
-+ #ifdef DEBUG_MEM
-+- int size1;
-++ size_t size1;
-+ char *mem;
-+ GMemHdr *hdr;
-+ void *data;
-+@@ -96,11 +96,11 @@
-+ #endif
-+ }
-+
-+-void *grealloc(void *p, int size) {
-++void *grealloc(void *p, size_t size) {
-+ #ifdef DEBUG_MEM
-+ GMemHdr *hdr;
-+ void *q;
-+- int oldSize;
-++ size_t oldSize;
-+
-+ if (size == 0) {
-+ if (p)
-+@@ -137,8 +137,8 @@
-+ #endif
-+ }
-+
-+-void *gmallocn(int nObjs, int objSize) {
-+- int n;
-++void *gmallocn(int nObjs, size_t objSize) {
-++ size_t n;
-+
-+ n = nObjs * objSize;
-+ if (objSize == 0 || n / objSize != nObjs) {
-+@@ -148,8 +148,8 @@
-+ return gmalloc(n);
-+ }
-+
-+-void *greallocn(void *p, int nObjs, int objSize) {
-+- int n;
-++void *greallocn(void *p, int nObjs, size_t objSize) {
-++ size_t n;
-+
-+ n = nObjs * objSize;
-+ if (objSize == 0 || n / objSize != nObjs) {
-+@@ -161,7 +161,7 @@
-+
-+ void gfree(void *p) {
-+ #ifdef DEBUG_MEM
-+- int size;
-++ size_t size;
-+ GMemHdr *hdr;
-+ GMemHdr *prevHdr, *q;
-+ int lst;
-+diff -urNad --exclude=CVS --exclude=.svn ./goo/gmem.h /tmp/dpep-work.0qyf6L/xpdf-3.01/goo/gmem.h
-+--- ./goo/gmem.h 2005-08-19 19:02:18.000000000 +1000
-++++ /tmp/dpep-work.0qyf6L/xpdf-3.01/goo/gmem.h 2005-08-19 19:04:24.000000000 +1000
-+@@ -19,13 +19,13 @@
-+ * Same as malloc, but prints error message and exits if malloc()
-+ * returns NULL.
-+ */
-+-extern void *gmalloc(int size);
-++extern void *gmalloc(size_t size);
-+
-+ /*
-+ * Same as realloc, but prints error message and exits if realloc()
-+ * returns NULL. If <p> is NULL, calls malloc instead of realloc().
-+ */
-+-extern void *grealloc(void *p, int size);
-++extern void *grealloc(void *p, size_t size);
-+
-+ /*
-+ * These are similar to gmalloc and grealloc, but take an object count
-+@@ -33,8 +33,8 @@
-+ * bytes, but there is an additional error check that the total size
-+ * doesn't overflow an int.
-+ */
-+-extern void *gmallocn(int nObjs, int objSize);
-+-extern void *greallocn(void *p, int nObjs, int objSize);
-++extern void *gmallocn(int nObjs, size_t objSize);
-++extern void *greallocn(void *p, int nObjs, size_t objSize);
-+
-+ /*
-+ * Same as free, but checks for and ignores NULL pointers.
---- xpdf-3.02.orig/debian/patches-obselete/00list
-+++ xpdf-3.02/debian/patches-obselete/00list
-@@ -0,0 +1,10 @@
-+# Security fixes:
-+04_freetype-glyph.dpatch
-+05_gmem.dpatch
-+06_splashpath.dpatch
-+07_decrypt.dpatch
-+08_core_action.dpatch
-+23_security3.dpatch
-+# Fix for full screen handling (bug#247602)
-+31_fullscreen.patch
-+32_vscroll.patch
---- xpdf-3.02.orig/debian/patches-obselete/31_fullscreen.dpatch
-+++ xpdf-3.02/debian/patches-obselete/31_fullscreen.dpatch
-@@ -0,0 +1,45 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 31_fullscreen.dpatch by Junichi Uekawa <dancer@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: NETWM support, rediff of 247602 by Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
-+
-+@DPATCH@
-+diff -urNad xpdf-3.01~/xpdf/XPDFViewer.cc xpdf-3.01/xpdf/XPDFViewer.cc
-+--- xpdf-3.01~/xpdf/XPDFViewer.cc 2006-07-12 23:58:06.000000000 +0900
-++++ xpdf-3.01/xpdf/XPDFViewer.cc 2006-07-12 23:59:42.000000000 +0900
-+@@ -1049,6 +1049,9 @@
-+ #endif
-+ int depth;
-+ Pixel fg, bg, arm;
-++ Atom wmStateAtom;
-++ Atom wmStateFullscreenAtom;
-++ XClientMessageEvent event;
-+
-+ // show the window
-+ XtPopup(win, XtGrabNone);
-+@@ -1240,6 +1243,24 @@
-+ about_height,
-+ fg, arm, depth),
-+ NULL);
-++ if (app->getFullScreen()) {
-++ XtUnmanageChild(toolBar);
-++ wmStateAtom = XInternAtom(display, "_NET_WM_STATE", False);
-++ wmStateFullscreenAtom = XInternAtom(display, "_NET_WM_STATE_FULLSCREEN", False);
-++ event.type = ClientMessage;
-++ event.serial = 0;
-++ event.send_event = True;
-++ event.window = XtWindow(win);
-++ event.message_type = wmStateAtom;
-++ event.format = 32;
-++ event.data.l[0] = 1; /* _NET_WM_STATE_ADD */
-++ event.data.l[1] = wmStateFullscreenAtom;
-++ event.data.l[2] = 0;
-++ event.data.l[3] = 0;
-++ event.data.l[4] = 0;
-++ XSendEvent(display, RootWindow(display, screenNum), False,
-++ SubstructureRedirectMask | SubstructureNotifyMask, (XEvent *)&event);
-++ }
-+ }
-+
-+ void XPDFViewer::closeWindow() {
---- xpdf-3.02.orig/debian/patches-obselete/08_core_action.dpatch
-+++ xpdf-3.02/debian/patches-obselete/08_core_action.dpatch
-@@ -0,0 +1,20 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 08_core_action.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: No description.
-+
-+@DPATCH@
-+diff -urNad --exclude=CVS --exclude=.svn ./xpdf/XPDFCore.cc /tmp/dpep-work.ujprcX/xpdf-3.01/xpdf/XPDFCore.cc
-+--- ./xpdf/XPDFCore.cc 2005-08-19 18:27:53.000000000 +1000
-++++ /tmp/dpep-work.ujprcX/xpdf-3.01/xpdf/XPDFCore.cc 2005-08-19 18:52:50.000000000 +1000
-+@@ -452,6 +452,9 @@
-+ GString *msg;
-+ int i;
-+
-++ if (action == 0)
-++ return;
-++
-+ switch (kind = action->getKind()) {
-+
-+ // GoTo / GoToR action
---- xpdf-3.02.orig/debian/patches-obselete/32_vscroll.dpatch
-+++ xpdf-3.02/debian/patches-obselete/32_vscroll.dpatch
-@@ -0,0 +1,98 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 32_vscroll.dpatch by Junichi Uekawa <dancer@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: remove scrollbar patch, updated from 247602 by Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
-+
-+@DPATCH@
-+diff -urNad xpdf-3.01~/xpdf/XPDFCore.cc xpdf-3.01/xpdf/XPDFCore.cc
-+--- xpdf-3.01~/xpdf/XPDFCore.cc 2006-07-13 00:06:46.000000000 +0900
-++++ xpdf-3.01/xpdf/XPDFCore.cc 2006-07-13 00:08:17.000000000 +0900
-+@@ -881,39 +881,40 @@
-+ XtSetArg(args[n], XmNvisualPolicy, XmVARIABLE); ++n;
-+ scrolledWin = XmCreateScrolledWindow(parentWidget, "scroll", args, n);
-+ XtManageChild(scrolledWin);
-+- n = 0;
-+- XtSetArg(args[n], XmNorientation, XmHORIZONTAL); ++n;
-+- XtSetArg(args[n], XmNminimum, 0); ++n;
-+- XtSetArg(args[n], XmNmaximum, 1); ++n;
-+- XtSetArg(args[n], XmNsliderSize, 1); ++n;
-+- XtSetArg(args[n], XmNvalue, 0); ++n;
-+- XtSetArg(args[n], XmNincrement, 1); ++n;
-+- XtSetArg(args[n], XmNpageIncrement, 1); ++n;
-+- hScrollBar = XmCreateScrollBar(scrolledWin, "hScrollBar", args, n);
-+- XtManageChild(hScrollBar);
-+- XtAddCallback(hScrollBar, XmNvalueChangedCallback,
-+- &hScrollChangeCbk, (XtPointer)this);
-++ if (!fullScreen) {
-++ n = 0;
-++ XtSetArg(args[n], XmNorientation, XmHORIZONTAL); ++n;
-++ XtSetArg(args[n], XmNminimum, 0); ++n;
-++ XtSetArg(args[n], XmNmaximum, 1); ++n;
-++ XtSetArg(args[n], XmNsliderSize, 1); ++n;
-++ XtSetArg(args[n], XmNvalue, 0); ++n;
-++ XtSetArg(args[n], XmNincrement, 1); ++n;
-++ XtSetArg(args[n], XmNpageIncrement, 1); ++n;
-++ hScrollBar = XmCreateScrollBar(scrolledWin, "hScrollBar", args, n);
-++ XtManageChild(hScrollBar);
-++ XtAddCallback(hScrollBar, XmNvalueChangedCallback,
-++ &hScrollChangeCbk, (XtPointer)this);
-+ #ifndef DISABLE_SMOOTH_SCROLL
-+- XtAddCallback(hScrollBar, XmNdragCallback,
-+- &hScrollDragCbk, (XtPointer)this);
-++ XtAddCallback(hScrollBar, XmNdragCallback,
-++ &hScrollDragCbk, (XtPointer)this);
-+ #endif
-+- n = 0;
-+- XtSetArg(args[n], XmNorientation, XmVERTICAL); ++n;
-+- XtSetArg(args[n], XmNminimum, 0); ++n;
-+- XtSetArg(args[n], XmNmaximum, 1); ++n;
-+- XtSetArg(args[n], XmNsliderSize, 1); ++n;
-+- XtSetArg(args[n], XmNvalue, 0); ++n;
-+- XtSetArg(args[n], XmNincrement, 1); ++n;
-+- XtSetArg(args[n], XmNpageIncrement, 1); ++n;
-+- vScrollBar = XmCreateScrollBar(scrolledWin, "vScrollBar", args, n);
-+- XtManageChild(vScrollBar);
-+- XtAddCallback(vScrollBar, XmNvalueChangedCallback,
-+- &vScrollChangeCbk, (XtPointer)this);
-++ n = 0;
-++ XtSetArg(args[n], XmNorientation, XmVERTICAL); ++n;
-++ XtSetArg(args[n], XmNminimum, 0); ++n;
-++ XtSetArg(args[n], XmNmaximum, 1); ++n;
-++ XtSetArg(args[n], XmNsliderSize, 1); ++n;
-++ XtSetArg(args[n], XmNvalue, 0); ++n;
-++ XtSetArg(args[n], XmNincrement, 1); ++n;
-++ XtSetArg(args[n], XmNpageIncrement, 1); ++n;
-++ vScrollBar = XmCreateScrollBar(scrolledWin, "vScrollBar", args, n);
-++ XtManageChild(vScrollBar);
-++ XtAddCallback(vScrollBar, XmNvalueChangedCallback,
-++ &vScrollChangeCbk, (XtPointer)this);
-+ #ifndef DISABLE_SMOOTH_SCROLL
-+- XtAddCallback(vScrollBar, XmNdragCallback,
-+- &vScrollDragCbk, (XtPointer)this);
-++ XtAddCallback(vScrollBar, XmNdragCallback,
-++ &vScrollDragCbk, (XtPointer)this);
-+ #endif
-+-
-++ }
-+ // create the drawing area
-+ n = 0;
-+ XtSetArg(args[n], XmNshadowType, XmSHADOW_IN); ++n;
-+@@ -1459,7 +1460,7 @@
-+ XtSetArg(args[n], XmNsliderSize, drawAreaWidth); ++n;
-+ XtSetArg(args[n], XmNincrement, 16); ++n;
-+ XtSetArg(args[n], XmNpageIncrement, drawAreaWidth); ++n;
-+- XtSetValues(hScrollBar, args, n);
-++ if (hScrollBar) XtSetValues(hScrollBar, args, n);
-+
-+ if (pages->getLength() > 0) {
-+ if (continuousMode) {
-+@@ -1479,7 +1480,7 @@
-+ XtSetArg(args[n], XmNsliderSize, drawAreaHeight); ++n;
-+ XtSetArg(args[n], XmNincrement, 16); ++n;
-+ XtSetArg(args[n], XmNpageIncrement, drawAreaHeight); ++n;
-+- XtSetValues(vScrollBar, args, n);
-++ if (vScrollBar) XtSetValues(vScrollBar, args, n);
-+ }
-+
-+ void XPDFCore::setCursor(Cursor cursor) {
---- xpdf-3.02.orig/debian/patches-obselete/23_security3.dpatch
-+++ xpdf-3.02/debian/patches-obselete/23_security3.dpatch
-@@ -0,0 +1,45 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 23_security3.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Red Hat-supplied patch for CAN-2006-0301
-+
-+@DPATCH@
-+diff -urNad xpdf-3.01~/splash/Splash.cc xpdf-3.01/splash/Splash.cc
-+--- xpdf-3.01~/splash/Splash.cc 2006-02-01 20:41:14.000000000 +1100
-++++ xpdf-3.01/splash/Splash.cc 2006-02-01 20:41:41.000000000 +1100
-+@@ -931,6 +931,10 @@
-+ int alpha2, ialpha2;
-+ Guchar t;
-+
-++ if ( (unsigned) x >= (unsigned) bitmap->getWidth() ||
-++ (unsigned) y >= (unsigned) bitmap->getHeight())
-++ return;
-++
-+ if (noClip || state->clip->test(x, y)) {
-+ if (alpha != 1 || softMask || state->blendFunc) {
-+ blendFunc = state->blendFunc ? state->blendFunc : &blendNormal;
-+@@ -1198,6 +1202,11 @@
-+ updateModY(y);
-+ }
-+
-++ if ((unsigned) x0 >= (unsigned) bitmap->getWidth() ||
-++ (unsigned) x1 >= (unsigned) bitmap->getWidth() ||
-++ (unsigned) y >= (unsigned) bitmap->getHeight())
-++ return;
-++
-+ if (alpha != 1 || softMask || state->blendFunc) {
-+ blendFunc = state->blendFunc ? state->blendFunc : &blendNormal;
-+ if (softMask) {
-+@@ -1828,6 +1837,11 @@
-+ updateModY(y);
-+ }
-+
-++ if ((unsigned) x0 >= (unsigned) bitmap->getWidth() ||
-++ (unsigned) x1 >= (unsigned) bitmap->getWidth() ||
-++ (unsigned) y >= (unsigned) bitmap->getHeight())
-++ return;
-++
-+ switch (bitmap->mode) {
-+ case splashModeMono1:
-+ p = &bitmap->data[y * bitmap->rowSize + (x0 >> 3)];
---- xpdf-3.02.orig/debian/patches-obselete/06_splashpath.dpatch
-+++ xpdf-3.02/debian/patches-obselete/06_splashpath.dpatch
-@@ -0,0 +1,20 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 06_splashpath.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: No description.
-+
-+@DPATCH@
-+diff -urNad --exclude=CVS --exclude=.svn ./splash/Splash.cc /tmp/dpep-work.Z6NPbI/xpdf-3.01/splash/Splash.cc
-+--- ./splash/Splash.cc 2005-08-17 15:34:30.000000000 +1000
-++++ /tmp/dpep-work.Z6NPbI/xpdf-3.01/splash/Splash.cc 2005-08-19 18:36:11.000000000 +1000
-+@@ -820,6 +820,9 @@
-+ if (path->length == 0) {
-+ return splashErrEmptyPath;
-+ }
-++ if (path->length == 1) {
-++ return splashErrBogusPath;
-++ }
-+ xPath = new SplashXPath(path, state->flatness, gTrue);
-+ xPath->sort();
-+ scanner = new SplashXPathScanner(xPath, eo);
---- xpdf-3.02.orig/debian/xpdfrc
-+++ xpdf-3.02/debian/xpdfrc
-@@ -0,0 +1,96 @@
-+#========================================================================
-+#
-+# System-wide xpdfrc file
-+#
-+# The Xpdf tools look for a config file in two places:
-+# 1. ~/.xpdfrc
-+# 2. /etc/xpdf/xpdfrc
-+#
-+# Note that if ~/.xpdfrc exists, Xpdf will NOT read the system
-+# configuration file /etc/xpdf/xpdfrc. You may wish to include it
-+# from your ~/.xpdfrc using:
-+# include /etc/xpdf/xpdfrc
-+# and then add additional settings.
-+#
-+# For complete details on config file syntax and available options,
-+# please see the xpdfrc(5) man page.
-+#
-+# http://www.foolabs.com/xpdf/
-+#
-+#========================================================================
-+
-+#----- display fonts
-+
-+# These map the Base-14 fonts to the Type 1 fonts that ship with
-+# ghostscript (gsfonts package).
-+
-+displayFontT1 Times-Roman /usr/share/fonts/type1/gsfonts/n021003l.pfb
-+displayFontT1 Times-Italic /usr/share/fonts/type1/gsfonts/n021023l.pfb
-+displayFontT1 Times-Bold /usr/share/fonts/type1/gsfonts/n021004l.pfb
-+displayFontT1 Times-BoldItalic /usr/share/fonts/type1/gsfonts/n021024l.pfb
-+displayFontT1 Helvetica /usr/share/fonts/type1/gsfonts/n019003l.pfb
-+displayFontT1 Helvetica-Oblique /usr/share/fonts/type1/gsfonts/n019023l.pfb
-+displayFontT1 Helvetica-Bold /usr/share/fonts/type1/gsfonts/n019004l.pfb
-+displayFontT1 Helvetica-BoldOblique /usr/share/fonts/type1/gsfonts/n019024l.pfb
-+displayFontT1 Courier /usr/share/fonts/type1/gsfonts/n022003l.pfb
-+displayFontT1 Courier-Oblique /usr/share/fonts/type1/gsfonts/n022023l.pfb
-+displayFontT1 Courier-Bold /usr/share/fonts/type1/gsfonts/n022004l.pfb
-+displayFontT1 Courier-BoldOblique /usr/share/fonts/type1/gsfonts/n022024l.pfb
-+displayFontT1 Symbol /usr/share/fonts/type1/gsfonts/s050000l.pfb
-+displayFontT1 ZapfDingbats /usr/share/fonts/type1/gsfonts/d050000l.pfb
-+
-+# If you need to display PDF files that refer to non-embedded fonts,
-+# you should add one or more fontDir options to point to the
-+# directories containing the font files. Xpdf will only look at .pfa,
-+# .pfb, and .ttf files in those directories (other files will simply
-+# be ignored).
-+
-+#fontDir /usr/local/fonts/bakoma
-+
-+#----- PostScript output control
-+
-+# Set the default PostScript file or command.
-+
-+psFile "|lpr"
-+
-+# Set the default PostScript paper size -- this can be letter, legal,
-+# A4, or A3. You can also specify a paper size as width and height
-+# (in points). Xpdf uses the paper size in /etc/papersize by default.
-+
-+#psPaperSize letter
-+
-+#----- text output control
-+
-+# Choose a text encoding for copy-and-paste and for pdftotext output.
-+# The Latin1, ASCII7, and UTF-8 encodings are built into Xpdf. Other
-+# encodings are available in the language support packages.
-+
-+#textEncoding UTF-8
-+
-+# Choose the end-of-line convention for multi-line copy-and-past and
-+# for pdftotext output. The available options are unix, mac, and dos.
-+
-+#textEOL unix
-+
-+#----- misc settings
-+
-+# Enable Type 1 font rasterizing with t1lib. Default "yes".
-+
-+#enableT1lib no
-+
-+# Enable TrueType and Type 1 font rasterizing with FreeType. Default "yes".
-+
-+#enableFreeType no
-+
-+# Enable anti-aliasing of fonts. Default "yes".
-+
-+#antialias no
-+
-+# Set the command used to run a web browser when a URL hyperlink is
-+# clicked.
-+
-+urlCommand "sensible-browser '%s'"
-+
-+# Include the language configuration file list generated by update-xpdfrc
-+include /etc/xpdf/includes
-+
---- xpdf-3.02.orig/debian/xpdf-common.postinst
-+++ xpdf-3.02/debian/xpdf-common.postinst
-@@ -0,0 +1,20 @@
-+#!/bin/sh
-+set -e
-+
-+if [ "$1" = "configure" ]; then
-+ /usr/sbin/update-xpdfrc
-+fi
-+
-+# Remove old /etc/xpdfrc if present
-+rm -f /etc/xpdfrc
-+
-+# Move accidental /etc/xpdf/xpdf-* language files
-+# to their proper names (bug in 2.01-1)
-+for i in cyrillic greek hebrew latin2 thai turkish; do
-+ if [ -e /etc/xpdf/xpdf-$i ]; then
-+ mv /etc/xpdf/xpdf-$i /etc/xpdf/xpdfrc-$i
-+ fi
-+done
-+
-+#DEBHELPER#
-+
---- xpdf-3.02.orig/debian/control
-+++ xpdf-3.02/debian/control
-@@ -0,0 +1,75 @@
-+Source: xpdf
-+Section: text
-+Priority: optional
-+Maintainer: Hamish Moffatt <hamish@debian.org>
-+Standards-Version: 3.7.2
-+Build-Depends: libt1-dev (>= 5.0.2-3), libxext-dev, libxp-dev, libxt-dev, libxpm-dev, libx11-dev, lesstif2-dev | libmotif-dev, x-dev, debhelper (>= 4.2.21), libfreetype6-dev (>= 2.1.2-1), libpaper-dev | libpaperg-dev, pkg-config, dpatch, automake1.9, autoconf
-+Build-Conflicts: libttf-dev, libstroke0-dev, autoconf2.13
-+
-+Package: xpdf
-+Architecture: all
-+Depends: xpdf-reader, xpdf-utils, xpdf-common
-+Conflicts: xpdf-i (<= 0.90-8)
-+Replaces: xpdf-i (<= 0.90-8)
-+Description: Portable Document Format (PDF) suite
-+ xpdf is a suite of tools for Portable Document Format (PDF) files. (These are
-+ sometimes called 'Acrobat' files after the name of Adobe's PDF software.)
-+ .
-+ The tools include xpdf, a PDF viewer (in the package xpdf-reader),
-+ and PDF converters (including to/from PostScript) (in the package
-+ xpdf-utils).
-+ .
-+ This package is intended for compatibility with previous versions of
-+ this package only. You can safely remove it from your system.
-+
-+Package: xpdf-common
-+Architecture: all
-+Conflicts: xpdf (<= 0.93-6), xpdf-cyrillic, xpdf-greek, xpdf-hebrew, xpdf-latin2, xpdf-thai, xpdf-turkish
-+Replaces: xpdf-cyrillic, xpdf-greek, xpdf-hebrew, xpdf-latin2, xpdf-thai, xpdf-turkish
-+Suggests: xpdf-reader | xpdf-utils
-+Recommends: gsfonts-x11
-+Description: Portable Document Format (PDF) suite -- common files
-+ xpdf is a suite of tools for Portable Document Format (PDF) files. (These are
-+ sometimes called 'Acrobat' files after the name of Adobe's PDF software.)
-+ .
-+ This package contains common files needed by the other xpdf packages.
-+
-+Package: xpdf-reader
-+Architecture: any
-+Depends: ${shlibs:Depends}, gsfonts (>= 6.0-1), xpdf-common (>= ${source:Version}), xpdf-common (<< ${source:Version}.1~)
-+Provides: pdf-viewer, postscript-preview
-+Conflicts: xpdf-i (<= 0.90-8), xpdf (<= 0.93-6)
-+Suggests: www-browser
-+Description: Portable Document Format (PDF) suite -- viewer for X11
-+ xpdf is a suite of tools for Portable Document Format (PDF) files. (These are
-+ sometimes called 'Acrobat' files after the name of Adobe's PDF software.)
-+ .
-+ This package contains xpdf itself, a PDF viewer for X11.
-+ xpdf is designed to be small and efficient. xpdf supports encrypted
-+ PDF files. Standard X fonts, Truetype fonts and Type 1 fonts are supported.
-+ .
-+ This package also contains pdftoppm, a utility for converting
-+ PDF files to PBM, PGM and PPM formats.
-+ .
-+ See also the xpdf-utils package for conversion utilities and the
-+ other xpdf-* packages for additional language support.
-+
-+Package: xpdf-utils
-+Architecture: any
-+Depends: ${shlibs:Depends}, gsfonts (>= 6.0-1), xpdf-common (>= ${source:Version}), xpdf-common (<< ${source:Version}.1~)
-+Provides: pdf-viewer, postscript-preview, poppler-utils
-+Conflicts: xpdf-i (<= 0.90-8), xpdf (<= 0.93-6), poppler-utils
-+Replaces: poppler-utils
-+Suggests: pdftk
-+Description: Portable Document Format (PDF) suite -- utilities
-+ xpdf is a suite of tools for Portable Document Format (PDF) files. (These are
-+ sometimes called 'Acrobat' files after the name of Adobe's PDF software.)
-+ .
-+ This package contains pdftops (PDF to PostScript converter),
-+ pdfinfo (PDF document information extractor), pdfimages
-+ (PDF image extractor), pdftotext (PDF to text converter), and
-+ pdffonts (PDF font analyzer).
-+ .
-+ To view PDF files, see the xpdf-reader package. That package
-+ also contains pdftoppm (PDF to Portable Bitmap converter).
-+
---- xpdf-3.02.orig/debian/xpdf-reader.mime
-+++ xpdf-3.02/debian/xpdf-reader.mime
-@@ -0,0 +1,2 @@
-+application/pdf; /usr/bin/xpdf %s; test=test "$DISPLAY" != ""; description=Portable Document Format; nametemplate=%s.pdf; priority=6
-+application/x-pdf; /usr/bin/xpdf %s; test=test "$DISPLAY" != ""; description=Portable Document Format; nametemplate=%s.pdf; priority=6
---- xpdf-3.02.orig/debian/xpdf-common.dirs
-+++ xpdf-3.02/debian/xpdf-common.dirs
-@@ -0,0 +1,7 @@
-+usr/share/doc/xpdf-common
-+usr/share/doc/xpdf-common/examples
-+usr/share/man/man5
-+usr/share/man/man8
-+usr/share/xpdf
-+usr/sbin
-+etc/xpdf
---- xpdf-3.02.orig/debian/update-xpdfrc
-+++ xpdf-3.02/debian/update-xpdfrc
-@@ -0,0 +1,22 @@
-+#!/bin/sh
-+set -e
-+
-+TARGET=/etc/xpdf/includes
-+
-+# Generate /etc/xpdf/includes from /etc/xpdf/*
-+# This allows the xpdf-* language add-on packages
-+# to supply configuration file snippets.
-+
-+echo \# DO NOT EDIT THIS FILE DIRECTLY. >> $TARGET
-+echo \# This file was automatically generated by /usr/sbin/update-xpdfrc. > $TARGET
-+echo \# Instead, add or remove files in /etc/xpdf/ then run >> $TARGET
-+echo \# /usr/sbin/update-xpdfrc to regenerate this file. >> $TARGET
-+echo >> $TARGET
-+
-+find /etc/xpdf \
-+ -name xpdfrc-\* \
-+ -and -not -name \*.dpkg\* \
-+ -and -not -name \*~ \
-+ -and -not -name \*,v \
-+ -printf "include %p\n" >> $TARGET
-+
---- xpdf-3.02.orig/debian/xpdf-reader.files
-+++ xpdf-3.02/debian/xpdf-reader.files
-@@ -0,0 +1,4 @@
-+usr/share/man/man1/pdftoppm.1
-+usr/share/man/man1/xpdf.1
-+usr/bin/xpdf
-+usr/bin/pdftoppm
---- xpdf-3.02.orig/debian/update-xpdfrc.8
-+++ xpdf-3.02/debian/update-xpdfrc.8
-@@ -0,0 +1,46 @@
-+.\" Please adjust this date whenever revising the manpage.
-+.\"
-+.\" Some roff macros, for reference:
-+.\" .nh disable hyphenation
-+.\" .hy enable hyphenation
-+.\" .ad l left justify
-+.\" .ad b justify to both left and right margins
-+.\" .nf disable filling
-+.\" .fi enable filling
-+.\" .br insert line break
-+.\" .sp <n> insert n+1 empty lines
-+.\" for manpage-specific macros, see man(7)
-+.TH "update-xpdfrc" "8" "October 22, 2002" "Hamish Moffatt"
-+.SH "NAME"
-+update\-xpdfrc \- program to generate xpdf's configuration file
-+.SH "SYNOPSIS"
-+.B update\-xdfrc
-+.SH "DESCRIPTION"
-+.B \fBupdate\-xpdfrc\fR
-+is a program used to generate part of the \fIxpdfrc(5)\fR file used
-+by xpdf. The generated configuration file contains a list of the
-+configuration snippets provided by the xpdf-* language packages.
-+
-+You may edit the file \fI/etc/xpdfrc\fR to configure xpdf.
-+However, do not edit the generated file \fI/etc/xpdf/includes\fR.
-+It is updated whenever a language package is added or removed.
-+You must include the file /etc/xpdf/includes in your xpdfrc
-+to make use of this functionality.
-+
-+The language support packages (xpdf-japanese etc) provide additional
-+configuration files such as \fI/etc/xpdf/xpdfrc-japanese\fR, which will be
-+listed in the generated \fI/etc/xpdf/includes\fR.
-+
-+.SH "FILES"
-+.nf
-+.ta \w'/etc/xpdf/xpdfrc\-* 'u
-+/etc/xpdf/xpdfrc main configuration file
-+.br
-+/etc/xpdf/xpdf\-* additional configuration files
-+.SH "SEE ALSO"
-+.BR xpdfrc (5),
-+.BR xpdf (1).
-+.SH "AUTHOR"
-+This manual page and the update-xpdfrc utility was written by Hamish Moffatt <hamish@debian.org>
-+for the Debian GNU/Linux system (but may be used by others).
-+.\" vim:syn=nroff
---- xpdf-3.02.orig/debian/xpdf.postinst
-+++ xpdf-3.02/debian/xpdf.postinst
-@@ -0,0 +1,18 @@
-+#!/bin/sh
-+set -e
-+
-+# Attempt to remove the /usr/share/doc/xpdf directory.
-+# If it exists. dpkg won't replace it with the symbolic
-+# link.
-+
-+if [ "$1" = "configure" ]; then
-+
-+ if [ -d /usr/share/doc/xpdf ]; then
-+ rm -rf /usr/share/doc/xpdf
-+ ln -sf xpdf-common /usr/share/doc/xpdf
-+ fi
-+
-+fi
-+
-+#DEBHELPER#
-+
---- xpdf-3.02.orig/debian/xpdf-utils.dirs
-+++ xpdf-3.02/debian/xpdf-utils.dirs
-@@ -0,0 +1,3 @@
-+usr/share/doc
-+usr/share/man/man1
-+usr/bin
---- xpdf-3.02.orig/debian/compat
-+++ xpdf-3.02/debian/compat
-@@ -0,0 +1 @@
-+4
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-cyrillic
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-cyrillic
-@@ -0,0 +1,4 @@
-+#----- begin Cyrillic support package (2003-jun-28)
-+nameToUnicode /usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
-+unicodeMap KOI8-R /usr/share/xpdf/cyrillic/KOI8-R.unicodeMap
-+#----- end Cyrillic support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-hebrew
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-hebrew
-@@ -0,0 +1,4 @@
-+#----- begin Hebrew support package (2003-feb-16)
-+unicodeMap ISO-8859-8 /usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
-+unicodeMap Windows-1255 /usr/share/xpdf/hebrew/Windows-1255.unicodeMap
-+#----- end Hebrew support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-latin2
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-latin2
-@@ -0,0 +1,3 @@
-+#----- begin Latin2 support package (2002-oct-22)
-+unicodeMap Latin2 /usr/share/xpdf/latin2/Latin2.unicodeMap
-+#----- end Latin2 support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-turkish
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-turkish
-@@ -0,0 +1,3 @@
-+#----- begin Turkish support package (2002-apr-10)
-+unicodeMap ISO-8859-9 /usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
-+#----- end Turkish support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-greek
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-greek
-@@ -0,0 +1,4 @@
-+#----- begin Greek support package (2002-feb-13)
-+nameToUnicode /usr/share/xpdf/greek/Greek.nameToUnicode
-+unicodeMap ISO-8859-7 /usr/share/xpdf/greek/ISO-8859-7.unicodeMap
-+#----- end Greek support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-arabic
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-arabic
-@@ -0,0 +1,3 @@
-+#----- begin Arabic support package (2003-feb-16)
-+unicodeMap ISO-8859-6 /usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
-+#----- end Arabic support package
---- xpdf-3.02.orig/debian/lang/etc/xpdf/xpdfrc-thai
-+++ xpdf-3.02/debian/lang/etc/xpdf/xpdfrc-thai
-@@ -0,0 +1,4 @@
-+#----- begin Thai support package (2002-jan-16)
-+nameToUnicode /usr/share/xpdf/thai/Thai.nameToUnicode
-+unicodeMap TIS-620 /usr/share/xpdf/thai/TIS-620.unicodeMap
-+#----- end Thai support package
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/hebrew/Windows-1255.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/hebrew/Windows-1255.unicodeMap
-@@ -0,0 +1,66 @@
-+000a 000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 00a3 a0
-+00a5 00a9 a5
-+00ab 00b9 ab
-+00bb 00bf bb
-+00d7 aa
-+00f7 ba
-+010c 43
-+010d 63
-+0131 69
-+0141 4c
-+0142 6c
-+0152 4f45
-+0153 6f65
-+0160 53
-+0161 73
-+0178 59
-+017d 5a
-+017e 7a
-+0192 83
-+02c6 88
-+02da b0
-+02dc 98
-+05b0 05b9 c0
-+05bb 05c3 cb
-+05f0 05f4 d4
-+05d0 05ea e0
-+200e 200f fd
-+2013 2014 96
-+2018 2019 91
-+201a 82
-+201c 201d 93
-+201e 84
-+2020 86
-+2021 87
-+2022 95
-+2026 85
-+2030 89
-+2039 8b
-+203a 9b
-+2044 2f
-+20aa a4
-+20ac 80
-+2122 99
-+2212 2d
-+f6f9 4c
-+f6fa 4f45
-+f6fc b0
-+f6fd 53
-+f6fe 7e
-+f6ff 5a
-+f721 21
-+f724 24
-+f726 26
-+f730 f739 30
-+f73f 3f
-+f761 f77a 41
-+f7a1 f7a2 a1
-+f7bf bf
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/hebrew/ISO-8859-8.unicodeMap
-@@ -0,0 +1,63 @@
-+000a 000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 00a0 20
-+00a2 00a9 a2
-+00ab 00b9 ab
-+00bb 00be bb
-+010c 43
-+010d 63
-+0131 69
-+0141 4c
-+0142 6c
-+0152 4f45
-+0153 6f65
-+0160 53
-+0161 73
-+0178 59
-+017d 5a
-+017e 7a
-+02c6 5e
-+02da b0
-+02dc 7e
-+05d0 05ea e0
-+05f0 e5e5
-+05f1 e5e9
-+05f2 e9e9
-+2013 ad
-+2014 2d2d
-+2018 60
-+2019 27
-+201a 2c
-+201c 22
-+201d 22
-+201e 2c2c
-+2022 b7
-+2026 2e2e2e
-+2039 3c
-+203a 3e
-+2044 2f
-+2122 544d
-+2212 2d
-+f6f9 4c
-+f6fa 4f45
-+f6fc b0
-+f6fd 53
-+f6fe 7e
-+f6ff 5a
-+f721 21
-+f724 24
-+f726 26
-+f730 f739 30
-+f73f 3f
-+f761 f77a 41
-+f7a1 f7a2 a1
-+f7bf bf
-+f7e0 f7f6 c0
-+f7f8 f7fe d8
-+f7ff 59
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/arabic/ISO-8859-6.unicodeMap
-@@ -0,0 +1,40 @@
-+000a 000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 00a0 20
-+00a4 a4
-+00ad ad
-+02c6 5e
-+02dc 7e
-+060c 060c ac
-+061b 061b bb
-+061f 061f bf
-+0621 063a c1
-+0640 0652 e0
-+2013 2013 ad
-+2014 2014 2d2d
-+2018 2018 60
-+2019 2019 27
-+201a 201a 2c
-+201c 201c 22
-+201d 201d 22
-+201e 201e 2c2c
-+2026 2026 2e2e2e
-+2039 2039 3c
-+203a 203a 3e
-+2044 2044 2f
-+2122 2122 544d
-+2212 2212 2d
-+f6f9 f6f9 4c
-+f6fe f6fe 7e
-+f721 f721 21
-+f724 f724 24
-+f726 f726 26
-+f730 f739 30
-+f73f f73f 3f
-+f761 f77a 41
-+fb00 fb00 6666
-+fb01 fb01 6669
-+fb02 fb02 666c
-+fb03 fb03 666669
-+fb04 fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/thai/Thai.nameToUnicode
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/thai/Thai.nameToUnicode
-@@ -0,0 +1,116 @@
-+0e01 ThaiCharacterKoKai
-+0e02 ThaiCharacterKhoKhai
-+0e03 ThaiCharacterKhoKhuat
-+0e04 ThaiCharacterKhoKhwai
-+0e05 ThaiCharacterKhoKhon
-+0e06 ThaiCharacterKhoRakhang
-+0e07 ThaiCharacterNgoNgu
-+0e08 ThaiCharacterChoChan
-+0e09 ThaiCharacterChoChing
-+0e0a ThaiCharacterChoChang
-+0e0b ThaiCharacterSoSo
-+0e0c ThaiCharacterChoChoe
-+0e0d ThaiCharacterYoYing
-+0e0e ThaiCharacterDoChada
-+0e0f ThaiCharacterToPatak
-+0e10 ThaiCharacterThoThan
-+0e11 ThaiCharacterThoNangmontho
-+0e12 ThaiCharacterThoPhuthao
-+0e13 ThaiCharacterNoNen
-+0e14 ThaiCharacterDoDek
-+0e15 ThaiCharacterToTao
-+0e16 ThaiCharacterThoThung
-+0e17 ThaiCharacterThoThahan
-+0e18 ThaiCharacterThoThong
-+0e19 ThaiCharacterNoNu
-+0e1a ThaiCharacterBoBaimai
-+0e1b ThaiCharacterPoPla
-+0e1c ThaiCharacterPhoPhung
-+0e1d ThaiCharacterFoFa
-+0e1e ThaiCharacterPhoPhan
-+0e1f ThaiCharacterFoFan
-+0e20 ThaiCharacterPhoSamphao
-+0e21 ThaiCharacterMoMa
-+0e22 ThaiCharacterYoYak
-+0e23 ThaiCharacterRoRua
-+0e24 ThaiCharacterRu
-+0e25 ThaiCharacterLoLing
-+0e26 ThaiCharacterLu
-+0e27 ThaiCharacterWoWaen
-+0e28 ThaiCharacterSoSala
-+0e29 ThaiCharacterSoRusi
-+0e2a ThaiCharacterSoSua
-+0e2b ThaiCharacterHoHip
-+0e2c ThaiCharacterLoChula
-+0e2d ThaiCharacterOAng
-+0e2e ThaiCharacterHoNokhuk
-+0e2f ThaiCharacterPaiyannoi
-+0e30 ThaiCharacterSaraA
-+0e31 ThaiCharacterMaiHan-akat
-+0e32 ThaiCharacterSaraAa
-+0e33 ThaiCharacterSaraAm
-+0e34 ThaiCharacterSaraI
-+0e35 ThaiCharacterSaraIi
-+0e36 ThaiCharacterSaraUe
-+0e37 ThaiCharacterSaraUee
-+0e38 ThaiCharacterSaraU
-+0e39 ThaiCharacterSaraUu
-+0e3a ThaiCharacterPhinthu
-+0e3f ThaiCurrencySymbolBaht
-+0e40 ThaiCharacterSaraE
-+0e41 ThaiCharacterSaraAe
-+0e42 ThaiCharacterSaraO
-+0e43 ThaiCharacterSaraAiMaimuan
-+0e44 ThaiCharacterSaraAiMaimalai
-+0e45 ThaiCharacterLakkhangyao
-+0e46 ThaiCharacterMaiyamok
-+0e47 ThaiCharacterMaitaikhu
-+0e48 ThaiCharacterMaiEk
-+0e49 ThaiCharacterMaiTho
-+0e4a ThaiCharacterMaiTri
-+0e4b ThaiCharacterMaiChattawa
-+0e4c ThaiCharacterThanthakhat
-+0e4d ThaiCharacterNikhahit
-+0e4e ThaiCharacterYamakkan
-+0e4f ThaiCharacterFongman
-+0e50 ThaiDigitZero
-+0e51 ThaiDigitOne
-+0e52 ThaiDigitTwo
-+0e53 ThaiDigitThree
-+0e54 ThaiDigitFour
-+0e55 ThaiDigitFive
-+0e56 ThaiDigitSix
-+0e57 ThaiDigitSeven
-+0e58 ThaiDigitEight
-+0e59 ThaiDigitNine
-+0e5a ThaiCharacterAngkhankhu
-+0e5b ThaiCharacterKhomut
-+0e4c ThaiCharacterThanthakhatLowLeft
-+0e49 ThaiCharacterMaiThoLeft
-+0e38 ThaiCharacterSaraULow
-+0e31 ThaiCharacterMaiHanAkat
-+0e4b ThaiCharacterMaiChattawaLeft
-+0e37 ThaiCharacterSaraUeeLeft
-+0e4a ThaiCharacterMaiTriLeft
-+0e3a ThaiCharacterPhinthuLow
-+0e48 ThaiCharacterMaiEkLeft
-+0e49 ThaiCharacterMaiThoLow
-+0e0d ThaiCharacterYoYingDescless
-+0e4b ThaiCharacterMaiChattawaLow
-+0e4a ThaiCharacterMaiTriLow
-+0e48 ThaiCharacterMaiEkLow
-+0e31 ThaiCharacterMaiHanAkatLeft
-+0e4c ThaiCharacterThanthakhatLeft
-+0e34 ThaiCharacterSaraILeft
-+0e4d ThaiCharacterNikhahitLeft
-+0e3f ThaiCharacterBaht
-+0e49 ThaiCharacterMaiThoLowLeft
-+0e4b ThaiCharacterMaiChattawaLowLeft
-+0e4c ThaiCharacterThanthakhatLow
-+0e39 ThaiCharacterSaraUuLow
-+0e4a ThaiCharacterMaiTriLowLeft
-+0e35 ThaiCharacterSaraIiLeft
-+0e48 ThaiCharacterMaiEkLowLeft
-+0e47 ThaiCharacterMaitaikhuLeft
-+0e10 ThaiCharacterThoThanDescless
-+0e36 ThaiCharacterSaraUeLeft
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/thai/TIS-620.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/thai/TIS-620.unicodeMap
-@@ -0,0 +1,47 @@
-+000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 20
-+0131 69
-+0141 4c
-+0142 6c
-+0152 4f45
-+0153 6f65
-+0160 53
-+0161 73
-+0178 59
-+017d 5a
-+017e 7a
-+02c6 5e
-+02dc 7e
-+0e01 0e3a a1
-+0e3f 0e5b df
-+2013 2d2d
-+2014 2d2d
-+2018 60
-+2019 27
-+201a 2c
-+201c 22
-+201d 22
-+201e 2c2c
-+2022 2a
-+2026 2e2e2e
-+2039 3c
-+203a 3e
-+2044 2f
-+2122 544d
-+2212 2d
-+f700 b0
-+f701 f704 d4
-+f705 f709 e8
-+f70a f70e e8
-+f70f ad
-+f710 d1
-+f711 ed
-+f712 f717 e7
-+f718 f71a d8
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/greek/ISO-8859-7.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/greek/ISO-8859-7.unicodeMap
-@@ -0,0 +1,63 @@
-+000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 a0
-+00a3 a3
-+00a6 00a9 a6
-+00ab 00ad ab
-+00b0 00b4 b0
-+00b5 ec
-+00b7 b7
-+00bb bb
-+00bd bd
-+02c6 5e
-+02da b0
-+02dc 7e
-+0374 b4
-+037e 3b
-+0384 038a b4
-+038c bc
-+038e 03a1 be
-+03a3 03ce d3
-+03d0 e2
-+03d1 e8
-+03d2 d5
-+03d3 be
-+03d4 db
-+03d5 f6
-+03d6 f0
-+03d7 eae1e9
-+03da d3d4
-+03db f3f4
-+03f0 ea
-+03f1 f1
-+03f2 63
-+03f3 6a
-+03f4 c8
-+03f5 e5
-+2013 ad
-+2014 af
-+2018 60
-+2019 a2
-+201a 2c
-+201b a1
-+201c 22
-+201d 22
-+201e 2c2c
-+2022 b7
-+2026 2e2e2e
-+2039 3c
-+203a 3e
-+2044 2f
-+20ac c5f5f1fe
-+20af c4f1f7
-+2122 544d
-+2126 d9
-+2206 c4
-+2212 2d
-+2219 b7
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/greek/Greek.nameToUnicode
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/greek/Greek.nameToUnicode
-@@ -0,0 +1,11 @@
-+0396 Dzeta
-+039e Ksi
-+039f Omikron
-+03a7 Khi
-+03b2 betatwo
-+03b6 dzeta
-+03be ksi
-+03bf omikron
-+03c3 sigmafinal
-+03c6 phitwo
-+03c7 khi
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/cyrillic/KOI8-R.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/cyrillic/KOI8-R.unicodeMap
-@@ -0,0 +1,100 @@
-+000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 9a
-+00a9 bf
-+00b0 9c
-+00b2 9d
-+00b7 9e
-+00f7 9f
-+02c6 5e
-+02da 9c
-+02dc 7e
-+0401 b3
-+0410 0411 e1
-+0412 f7
-+0413 e7
-+0414 0415 e4
-+0416 f6
-+0417 fa
-+0418 041f e9
-+0420 0423 f2
-+0424 e6
-+0425 e8
-+0426 e3
-+0427 fe
-+0428 fb
-+0429 fd
-+042a ff
-+042b f9
-+042c f8
-+042d fc
-+042e e0
-+042f f1
-+0430 0431 c1
-+0432 d7
-+0433 c7
-+0434 0435 c4
-+0436 d6
-+0437 da
-+0438 c9
-+0439 043f ca
-+0440 0443 d2
-+0444 c6
-+0445 c8
-+0446 c3
-+0447 de
-+0448 db
-+0449 dd
-+044a df
-+044b d9
-+044c d8
-+044d dc
-+044e c0
-+044f d1
-+0451 a3
-+2013 2d
-+2014 2d2d
-+2018 60
-+2019 27
-+201a 2c
-+201c 22
-+201d 22
-+201e 2c2c
-+2022 9e
-+2026 2e2e2e
-+2039 3c
-+203a 3e
-+2044 2f
-+2122 544d
-+2212 2d
-+2219 221a 95
-+2248 97
-+2264 2265 98
-+2320 93
-+2321 9b
-+2500 80
-+2502 81
-+250c 82
-+2510 83
-+2514 84
-+2518 85
-+251c 86
-+2524 87
-+252c 88
-+2534 89
-+253c 8a
-+2550 2552 a0
-+2553 2561 a4
-+2562 256c b4
-+2580 8b
-+2584 8c
-+2588 8d
-+258c 8e
-+2590 2593 8f
-+25a0 94
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/cyrillic/Bulgarian.nameToUnicode
-@@ -0,0 +1,58 @@
-+0410 As
-+0411 Buki
-+0412 Wjedi
-+0413 Glagol
-+0414 Dobro
-+0415 Jest
-+0416 Schiwete
-+0417 Selmja
-+0418 Ische
-+0419 Ischebreve
-+041a Kako
-+041b Ljudi
-+041c Muislete
-+041d Nasche
-+041e On
-+041f Pakoj
-+0420 Rzui
-+0421 Slovo
-+0422 Twerdo
-+0423 Uk
-+0424 Fert
-+0425 Cherr
-+0426 Zui
-+0427 Tscherw
-+0428 Scha
-+0429 Schtscha
-+042a Jerr
-+042e Ju
-+042f Ja
-+0430 as
-+0431 buki
-+0432 wjedi
-+0433 glagol
-+0434 dobro
-+0435 jest
-+0436 schiwete
-+0437 selmja
-+0438 ische
-+0439 ischebreve
-+043a kako
-+043b ljudi
-+043c muislete
-+043d nasche
-+043e on
-+043f pakoj
-+0440 rzui
-+0441 slovo
-+0442 twerdo
-+0443 uk
-+0444 fert
-+0445 cherr
-+0446 zui
-+0447 tscherw
-+0448 scha
-+0449 schtscha
-+044a jerr
-+044e ju
-+044f ja
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/latin2/Latin2.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/latin2/Latin2.unicodeMap
-@@ -0,0 +1,134 @@
-+000a 000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 00a0 20
-+00a4 a4
-+00a7 00a8 a7
-+00ad ad
-+00b0 b0
-+00b4 b4
-+00b8 b8
-+00c1 00c2 c1
-+00c4 c4
-+00c7 c7
-+00c9 c9
-+00cb cb
-+00cd 00ce cd
-+00d3 00d4 d3
-+00d6 00d7 d6
-+00da da
-+00dc 00dd dc
-+00df df
-+00e1 00e2 e1
-+00e4 e4
-+00e7 e7
-+00e9 e9
-+00eb eb
-+00ed 00ee ed
-+00f3 00f4 f3
-+00f6 00f7 f6
-+00fa fa
-+00fc 00fd fc
-+0102 c3
-+0103 e3
-+0104 a1
-+0105 b1
-+0106 c6
-+0107 e6
-+010c c8
-+010d e8
-+010e cf
-+010f ef
-+0110 d0
-+0111 f0
-+0118 ca
-+0119 ea
-+011a cc
-+011b ec
-+0131 69
-+0132 494a
-+0133 696a
-+0139 c5
-+013a e5
-+013d a5
-+013e b5
-+0141 a3
-+0142 b3
-+0143 d1
-+0144 f1
-+0147 d2
-+0148 f2
-+0150 d5
-+0151 f5
-+0152 4f45
-+0153 6f65
-+0154 c0
-+0155 e0
-+0158 d8
-+0159 f8
-+015a a6
-+015b b6
-+015e aa
-+015f ba
-+0160 a9
-+0161 b9
-+0162 de
-+0163 fe
-+0164 ab
-+0165 bb
-+016e d9
-+016f f9
-+0170 db
-+0171 fb
-+0178 59
-+0179 ac
-+017a bc
-+017b af
-+017c bf
-+017d ae
-+017e be
-+02c6 5e
-+02c7 b7
-+02d8 a2
-+02d9 ff
-+02da b0
-+02db b2
-+02dc 7e
-+02dd bd
-+2013 2013 ad
-+2014 2014 2d2d
-+2018 2018 60
-+2019 2019 27
-+201a 201a 2c
-+201c 201c 22
-+201d 201d 22
-+201e 201e 2c2c
-+2022 2022 b7
-+2026 2026 2e2e2e
-+2039 2039 3c
-+203a 203a 3e
-+2044 2044 2f
-+2122 2122 544d
-+2212 2212 2d
-+f6f9 f6f9 4c
-+f6fa f6fa 4f45
-+f6fc f6fc b0
-+f6fd f6fd 53
-+f6fe f6fe 7e
-+f6ff f6ff 5a
-+f721 f721 21
-+f724 f724 24
-+f726 f726 26
-+f730 f739 30
-+f73f f73f 3f
-+f761 f77a 41
-+f7a1 f7a2 a1
-+f7bf f7bf bf
-+f7e0 f7f6 c0
-+f7f8 f7fe d8
-+f7ff f7ff 59
-+fb00 fb00 6666
-+fb01 fb01 6669
-+fb02 fb02 666c
-+fb03 fb03 666669
-+fb04 fb04 66666c
---- xpdf-3.02.orig/debian/lang/usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
-+++ xpdf-3.02/debian/lang/usr/share/xpdf/turkish/ISO-8859-9.unicodeMap
-@@ -0,0 +1,67 @@
-+000a 0a
-+000c 000d 0c
-+0020 007e 20
-+00a0 20
-+00a1 00ac a1
-+00ae 00cf ae
-+00d1 00dc d1
-+00df 00ef df
-+00f1 00fc f1
-+00ff ff
-+010c 43
-+010d 63
-+011e d0
-+011f f0
-+0130 dd
-+0131 fd
-+0141 4c
-+0142 6c
-+0152 4f45
-+0153 6f65
-+015e de
-+015f fe
-+0160 53
-+0161 73
-+0178 59
-+017d 5a
-+017e 7a
-+02c6 5e
-+02da b0
-+02dc 7e
-+2013 ad
-+2014 2d2d
-+2018 60
-+2019 27
-+201a 2c
-+201c 22
-+201d 22
-+201e 2c2c
-+2022 b7
-+2026 2e2e2e
-+2039 3c
-+203a 3e
-+2044 2f
-+2122 544d
-+2212 2d
-+f6f9 4c
-+f6fa 4f45
-+f6fc b0
-+f6fd 53
-+f6fe 7e
-+f6ff 5a
-+f721 21
-+f724 24
-+f726 26
-+f730 f739 30
-+f73f 3f
-+f761 f77a 41
-+f7a1 f7a2 a1
-+f7bf bf
-+f7e0 f7f6 c0
-+f7f8 f7fe d8
-+f7ff 59
-+fb00 6666
-+fb01 6669
-+fb02 666c
-+fb03 666669
-+fb04 66666c
---- xpdf-3.02.orig/debian/changelog
-+++ xpdf-3.02/debian/changelog
-@@ -0,0 +1,801 @@
-+xpdf (3.02-1.3) unstable; urgency=high
-+
-+ * Non-maintainer upload by testing security team.
-+ * Included fix-CVE-2007-5393_2007-5392_2007-4352.dpatch to address the
-+ following security issues (Closes: #450629)
-+ - CVE-2007-5393 buffer overflow in the CCITTFaxStream::lookChar leading
-+ to arbitrary code execution via a crafted pdf file.
-+ - CVE-2007-5392 integer overflow in the DCTStream::reset resulting in a
-+ heap based buffer overflow allows code execution.
-+ - CVE-2007-4352 array index error in DCTStream::readProgressiveDataUnit
-+ leads to memory corruption and possibly arbitrary code execution.
-+
-+ -- Nico Golde <nion@debian.org> Fri, 09 Nov 2007 09:22:19 +0100
-+
-+xpdf (3.02-1.2) unstable; urgency=high
-+
-+ * Non-maintainer upload by testing security team.
-+ * Removed post-3.5.7-kdegraphics-CVE-2007-3387.diff.dpatch and
-+ created fix-CVE-2007-3387_CVE-2007-5049.dpatch to have a fix
-+ for CVE-2007-3387 and a buffer overflow in GetNextLine()
-+ (CVE-2007-5049) since they are related (Closes: #443906).
-+
-+ -- Nico Golde <nion@debian.org> Thu, 27 Sep 2007 12:05:46 +0200
-+
-+xpdf (3.02-1.1) unstable; urgency=high
-+
-+ * Non-maintainer upload with permission of the maintainer
-+ * Fix integer overflow in the StreamPredictor::StreamPredictor
-+ function by adding post-3.5.7-kdegraphics-CVE-2007-3387.diff.dpatch
-+ (Closes: #435462) Fixes: CVE-2007-3387
-+
-+ -- Steffen Joeris <white@debian.org> Tue, 07 Aug 2007 14:00:34 +1000
-+
-+xpdf (3.02-1) unstable; urgency=low
-+
-+ * New upstream release (closes: #413611)
-+ * Adds PDF 1.6 and 1.7 support (closes: #320509, #329372)
-+ * Fixes segfault on Postscript conversion (in xpdf or pdftops)
-+ with libc6 2.5-1, though probably also fixed in libc6 already
-+ (closes: #419618)
-+ * Improved rendering of some PDFs (closes: #409759, #242294, #280767)
-+ * Improved full screen handling (obseletes patches incorporated
-+ in 3.01-9; 31_fullscreen.dpatch, 32_vscroll.dpatch)
-+ * Adds new options to the xpdfrc(5) (closes: #384024)
-+ * Fixed handling of some broken PDFs (closes: #330711)
-+ * On-the-fly switch to full screen is possible (closes: #281479)
-+ * Adds configurable keybindings
-+
-+ * Patched Latin2 unicode map to include IJ sequences; thanks to
-+ Petr Peringer for the patch (closes: #402757)
-+ * Fix reference to /etc/xpdf/xpdf-* -> /etc/xpdf/xpdfrc-* in
-+ update-xpdfrc(8) (closes: #402852)
-+ * Added -title support to zxpdf (closes: #338096)
-+ * Updated debian/copyright (closes: #407888)
-+ * Modified xpdfrc(5) to note that options are case sensitive (closes:
-+ #417979)
-+ * Fix package relationships so that package is bin-NMU safe
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 25 Apr 2007 02:42:16 +1000
-+
-+xpdf (3.01-9) unstable; urgency=low
-+
-+ * Incorporate patches from Eugeniy Meshcheryakov and Junichi Uekawa to
-+ fix fullscreen mode when using a NETWM-compliant window manager
-+ (closes: #247602, #362496, #367845, #168970, #192397, #165047)
-+ (31_fullscreen.dpatch, 32_vscroll.dpatch)
-+ * Nasty, nasty patch to workaround FTBFS due to incompatility
-+ between latest g++-4.1 and lesstif - bug#377230 (40_lesstif_copy.dpatch,
-+ 41_lesstif_cpp.dpatch)
-+ * Upgrade to standards-revision 3.7.2
-+ * Made xpdf-common recommend gsfonts-x11 (closes: #329804)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 15 Jul 2006 16:01:16 +1000
-+
-+xpdf (3.01-8) unstable; urgency=low
-+
-+ * Add patch 05_freetype-2.2.dpatch: make splash/SplashFTFont.cc
-+ compatible with FreeType 2.2 (ie don't use FreeType internals
-+ directly any more). Fixes unreported FTBFS.
-+ * Enable additional compile-time options: --enable-opi,
-+ --enable-multithreaded, --enable-wordlist
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 27 May 2006 00:58:12 +1000
-+
-+xpdf (3.01-7) unstable; urgency=high
-+
-+ * SECURITY UPDATE: incorporated upstream patch revision 3.01pl2
-+ (obseletes several patches collected from Red Hat, Ubuntu etc).
-+ * References: CAN-2005-3191/3192/3193/3624/3625/2626/2627/3628,
-+ CAN-2006-0301 (all included, some improved by this patch)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 16 Feb 2006 00:22:13 +1100
-+
-+xpdf (3.01-6) unstable; urgency=high
-+
-+ * SECURITY UPDATE: fixed buffer overflow in splash image handling
-+ (Splash/splash.cc) using patch supplied by Red Hat:
-+ https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=179046
-+ (closes: #350785, #350783)
-+ * References: CVE-2006-0301
-+ * My first upload from the side of the road on borrowed wifi
-+ in a foreign country...
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 1 Feb 2006 22:42:42 +1300
-+
-+xpdf (3.01-5) unstable; urgency=low
-+
-+ * Changed build-dep on libpaperg-dev to libpaper-dev (closes: #346397)
-+ * Made xpdf-utils conflicts/replaces/provides poppler-utils
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 8 Jan 2006 13:25:57 +1100
-+
-+xpdf (3.01-4) unstable; urgency=high
-+
-+ * SECURITY UPDATE: added additional precautionary checks
-+ supplied by Martin Pitt, Chris Evans and Ludwid Nussel
-+ * Changed build-dep on xlibs-dev to individual lib*-dev packages
-+
-+ -- Hamish Moffatt <hamish@debian.org> Fri, 6 Jan 2006 18:55:24 +1100
-+
-+xpdf (3.01-3) unstable; urgency=high
-+
-+ * SECURITY UPDATE: fix several potential buffer overflows:
-+ DCTStream Baseline Heap Overflow, DCTStream Progressive Heap Overflow,
-+ StreamPredictor Heap Overflow, JPX Stream Reader Heap Overflow
-+ (closes: #322462) (21_security.dpatch)
-+ * References: CAN-2005-3193, CAN-2005-3191
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 6 Dec 2005 23:05:10 +0000
-+
-+xpdf (3.01-2) unstable; urgency=low
-+
-+ * Incorporate upstream patch to fix resize issues with some
-+ window managers (20_resize.dpatch)
-+ (closes: #325112, #326888, #327572, #329112, #324172)
-+ * Fix incorrect escape sequences in xpdf.1 (closes: #320631)
-+ Thanks to Erik Schanze for the patch. (01_manpage.dpatch)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 10 Oct 2005 23:34:46 +1000
-+
-+xpdf (3.01-1) unstable; urgency=low
-+
-+ * New upstream release (closes: #323715)
-+ * Added initial transparency support (closes: #181958, #284504, #243533)
-+ * Improved performance of pattern handling (closes: #220628)
-+ * Rasterizer optimisations (closes: #229714, #283549)
-+ * Handle negative font sizes (closes: #267790, #269495)
-+ * Fixed bugs in the Type 1C font parser
-+ (closes: #280291, #308547, #316895, #322906, #317708)
-+ and TrueType (closes: #270086)
-+ * Fix borders with some files (closes: #284307)
-+ * Fixed copy/paste losing text (closes: #310042)
-+ * Window is sized to fit the document page (closes: #249039, #254843)
-+ * Background window is now gray to show page size (closes: #295696)
-+ * Directories are not scanned until open dialog used (closes: #298742)
-+ * Fixed other crashes (closes: #251057, #264298, #303710),
-+ PostScript output bugs (closes: #295685)
-+
-+ * Added build-conflicts with libstroke0-dev, as it supplies
-+ autoconf macros that conflict with xpdf's own
-+ * Added category and generic name entries to the Desktop file
-+ (closes: #302546); thanks to Alejandro Exojo for the patch
-+ * Register for MIME type application/x-pdf in addition to
-+ application/pdf (closes: #319057)
-+ * Updated to standards-revision 3.6.2
-+
-+ -- Hamish Moffatt <hamish@debian.org> Fri, 19 Aug 2005 22:48:35 +1000
-+
-+xpdf (3.00-15) unstable; urgency=low
-+
-+ * SECURITY UPDATE: fix potiential DoS attack through hand-crafted
-+ PDFs with corrupt loca tables (closes: #322462)
-+ * References: CAN-2005-2097
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 17 Aug 2005 07:55:17 +1000
-+
-+xpdf (3.00-14) unstable; urgency=low
-+
-+ * Use dpatch for patch management; added build-dep on dpatch
-+ * Fix FTBFS with gcc-4.0 (closes: #316836);
-+ thanks to Daniel Schepler for the patch
-+ * xpdf-utils now suggests: pdftk (closes: #306624)
-+ * Fix page parameter handling in zxpdf (closes: #315458)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 17 Jul 2005 01:07:20 +1000
-+
-+xpdf (3.00-13) unstable; urgency=low
-+
-+ * SECURITY UPDATE: fix buffer overflow for PDF documents with an /Encrypt
-+ /Length value > 16 (xpdf/XRef.cc) (upstream xpdf-3.00pl3.patch)
-+ * References: CAN-2005-0064 (in addition to previous changes)
-+
-+ * Added desktop entry to xpdf-reader (adapted from Ubuntu with thanks)
-+ (closes: #280812)
-+ * Updated build-dependency on debhelper to 4.2.21 to get dh_desktop
-+
-+ * Fixed FTBFS on amd64 with gcc-4.0 resulting from cast from void*
-+ to int in xpdf/XPDFViewer.cc (closes: #288727)
-+ Thanks to Andreas Jochens for the patch.
-+
-+ * Added note to header of source files modified to remove PDF
-+ permission checking as requested by upstream in bug#298584
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 22 Mar 2005 23:33:52 +1100
-+
-+xpdf (3.00-12) unstable; urgency=high
-+
-+ * SECURITY UPDATE: Fixed buffer overflow that could overwrite the stack
-+ and hence cause the execution of arbitrary code as reported by
-+ iDEFENSE (xpdf/Decrypt.cc)
-+ * References: CAN-2005-0064
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 19 Jan 2005 23:48:56 +1100
-+
-+xpdf (3.00-11) unstable; urgency=high
-+
-+ * SECURITY UPDATE: fix potential buffer overflow
-+ Applied patch to colour map handling in xpdf/Gfx.cc (closes: #286742)
-+ * References: CAN-2004-1125
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 23 Dec 2004 08:16:24 +1100
-+
-+xpdf (3.00-10) unstable; urgency=high
-+
-+ * SECURITY UPDATE: fix potential buffer overflow
-+ * goo/gmem.[ch]: change declarations of gmalloc and grealloc to use size_t
-+ instead of int; int truncated sizes to 32 bits, which made xpdf still
-+ vulnerable to integer (and eventually buffer) overflow attacks on 64 bit
-+ platforms like amd64.
-+ * Thanks to Marcus Meissner <meissner@suse.de> for providing the patch
-+ and Martin Pitt <mpitt@debian.org> for providing the changes for
-+ Debian in the form of 3.00-9ubuntu2
-+ * References:
-+ CAN-2004-0889 (incomplete fix in version 3.00-9)
-+
-+ * Incorporated patch from Arnaud Giersch to fix crashes with
-+ certain PDFs (closes: #278693, #279292)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 8 Nov 2004 00:23:22 +1100
-+
-+xpdf (3.00-9) unstable; urgency=high
-+
-+ * Applied patch to fix vulnerability CAN-2004:0889: integer overflow
-+ issues that could allow denial of service or possibly arbitrary
-+ code execution
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 21 Oct 2004 23:49:32 +1000
-+
-+xpdf (3.00-8) unstable; urgency=low
-+
-+ * Final cleanup for sarge.
-+ * Fixed handling of some PDFs causing crashes (Closes: #254864)
-+ Modified splash/SplashFTFont.cc to prevent crash caused by calling
-+ FreeType's FT_Decompose_Outline with a non-outline object
-+ * Cleaned up dependency on libt1-5 to prevent duplicate depends
-+ * Moved pixmaps to /usr/share/pixmaps
-+ * Cleaned up lintian warnings
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 18 Aug 2004 23:32:07 +1000
-+
-+xpdf (3.00-7) unstable; urgency=low
-+
-+ * Changed wrapper script to use /bin/bash explicitly
-+ (closes: #245943, #248090)
-+ * Add /usr/share/bug/xpdf/control so that bugs submitted to 'xpdf'
-+ go to 'xpdf-reader' instead
-+ * Update supplied configuration file for new configuration options
-+ (closes: #246351)
-+ * Added menu icon (closes: #244504)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 9 May 2004 23:24:30 +1000
-+
-+xpdf (3.00-6) unstable; urgency=low
-+
-+ * Add dependency on libt1-5 >= 5.0.2 to fix several Xpdf crashes
-+ (closes: #238946, #243847, #243879)
-+ * Fixed wrapper script so that X resources are still located
-+ correctly (closes: #242513)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 25 Apr 2004 21:48:25 +1000
-+
-+xpdf (3.00-5) unstable; urgency=low
-+
-+ * Fix crash when clicking bookmarks in some PDFs (closes: #236007)
-+ * Not uploaded
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 30 Mar 2004 23:31:16 +1000
-+
-+xpdf (3.00-4) unstable; urgency=low
-+
-+ * Build with new libt1 rather than old t1lib (closes: #234273)
-+ * Fixed repeated text in pdfimages(1) (closes: #202139)
-+ * Fix crash on some PDFs due to empty paths (closes: #231709, #240187)
-+ (thanks to Guillaume Morin for the patch)
-+ * Applied upstream patch to add TrueType font collection (TTC) support
-+ (closes: #232340)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 30 Mar 2004 22:30:35 +1000
-+
-+xpdf (3.00-3) unstable; urgency=low
-+
-+ * Add upstream patch to fix handling of 16-bit TrueType fonts
-+ * Added note to /etc/xpdf/xpdfrc file warning that user configuration
-+ files (~/.xpdfrc) override the system-wide file, rather than supplement
-+ it (closes: #230853)
-+ * Updated /etc/xpdf/xpdfrc to remove obselete X font mappings
-+ (no longer supported)
-+ * Updated /usr/share/doc/xpdf-common/examples/sample-xpdfrc for 3.00
-+ (closes: #229874) by supplying the debian package version instead
-+ of upstream's
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 10 Feb 2004 23:00:02 +1100
-+
-+xpdf (3.00-2) unstable; urgency=low
-+
-+ * Added build-dep for pkg-config
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 28 Jan 2004 00:38:31 +1100
-+
-+xpdf (3.00-1) unstable; urgency=low
-+
-+ * New upstream release
-+ * Enter now works in Find dialog to start searching (closes: #167975)
-+ * Find dialog text input grows when window is resized (closes: #205208)
-+ * Fixed crashes with some PDFs (closes: #223989, #224943, #225289, #229264)
-+ * Fixed inverted horizontal mouse wheel behaviour (closes: #224849)
-+ * Fixed slow rendering of some documents (closes: #222254)
-+ * Corrected location of upstream sources in copyright file
-+ (closes: #229670)
-+ * Fixed location of configuration file in manual pages
-+ (/etc/xpdfrc -> /etc/xpdf/xpdfrc)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 26 Jan 2004 14:39:30 +1100
-+
-+xpdf (2.03-2) unstable; urgency=low
-+
-+ * Applied upstream patch to fix reading of JBIG encoded files (closes:
-+ #220450)
-+ * Wrapper script will now use exec when calling xpdf.bin
-+ (closes: #219736) and zxpdf will do the same when calling xpdf
-+
-+ -- Hamish Moffatt <hamish@debian.org> Fri, 14 Nov 2003 09:08:11 +1100
-+
-+xpdf (2.03-1) unstable; urgency=low
-+
-+ * New upstream release
-+ * Fixes crashes with some documents (closes: #215867, #212990)
-+ * Supports PDF outline (bookmarks) (closes: #166926)
-+ * Supports clipping to text which makes some more PDF files
-+ display correctly (closes: #184070)
-+ * Fix PDF BitsPerComponent handling (closes: #185950)
-+ * Handle PDFs with broken Unicode cmap table (closes: #188532)
-+ * Handle PDFs with broken DCT streams (closes: #193718)
-+ * Improved text extraction with right-to-left scripts (closes: #176745)
-+ * If the print command is changed in the print dialog, it won't
-+ be reset if another file is opened (closes: #200466)
-+
-+ * Updated Greek and Cyrillic language support to 2003-jun-28 versions
-+ * Provided manual page for xpdf.bin (symlink to xpdf(1)) (closes: #211887)
-+ * update-xpdfrc will now ignore backup (*~) and RCS files (closes: #194124)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 22 Oct 2003 22:43:47 +1000
-+
-+xpdf (2.02pl1-1) unstable; urgency=high
-+
-+ * Upstream patch release to fix security hole in URL handling
-+ (closes: #198032)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 19 Jun 2003 23:06:21 +1000
-+
-+xpdf (2.02-2) unstable; urgency=low
-+
-+ * Modified xpdf(1) to include information about zxpdf
-+ (closes: #175535)
-+ * Modified zxpdf to work with no command line parameters
-+ * Modified zxpdf to recognise .PDF (upper case) file extension
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 23 Apr 2003 00:27:50 +1000
-+
-+xpdf (2.02-1) unstable; urgency=low
-+
-+ * New upstream release
-+ * Incorporated new Arabic language package 2003-feb-16
-+ * Updated Hebrew language support to 2003-feb-16
-+ * Upstream: fixed display problems in some PDFs (closes: #181076,
-+ #144047, #167827, #176856, #180829)
-+ * Upstream: fixed crash on find-next before find (closes: #172973)
-+ * Upstream: fixed color handling in buttons (closes: #171398)
-+ * Upstream: fixed crash if Ctrl-W pressed while file open (closes: #177698)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 30 Mar 2003 14:06:43 +1000
-+
-+xpdf (2.01-3) unstable; urgency=low
-+
-+ * Fixed wrapper script bug: incorrect handling of command line
-+ parameters (closes: #174965, #174851)
-+ * Fixed wrapper script bug: should set $LC_ALL as well as $LANG
-+ (closes: #174717)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 4 Jan 2003 15:59:01 +1100
-+
-+xpdf (2.01-2) unstable; urgency=low
-+
-+ * Applied patch to fix buffer overflow as reported by iDEFENSE
-+ * Fixed name of language configuration files (/etc/xpdf/xpdf-* renamed
-+ back to xpdfrc-*) (closes: #173046)
-+ * Modified update-xpdfrc to ignore .dpkg* files in /etc/xpdf
-+ (closes: #173268)
-+ * Made xpdf a wrapper script which calls real xpdf binary to work
-+ around locale problems (closes: #167956, #168717, #169339, #172009)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 28 Dec 2002 00:35:52 +1100
-+
-+xpdf (2.01-1) unstable; urgency=low
-+
-+ * New upstream release
-+ * Merged in the small and free xpdf language packages xpdf-cyrillic,
-+ xpdf-greek, xpdf-hebrew, xpdf-latin2, xpdf-thai and xpdf-turkish;
-+ the others remain as seperate packages in non-free.
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 8 Dec 2002 00:02:37 +1100
-+
-+xpdf (2.00-2) unstable; urgency=low
-+
-+ * Recompile with lesstif2 (closes: #170624)
-+ * Change the default urlCommand to sensible-browser, which will make it
-+ honour the BROWSER variable, and run a good default browser that is
-+ installed if that is not set. Sure beats hardcoding non-free netscape.
-+ (closes: #170085)
-+ * Suggest www-browser.
-+ * Fixed incorrect resource names in xpdf(1) (closes: #168730)
-+ * Set a default print command (closes: #168520)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 30 Nov 2002 13:08:38 +1100
-+
-+xpdf (2.00-1) unstable; urgency=low
-+
-+ * New upstream release - uses Lesstif instead of old Xpdf-specific toolkit
-+ * Upstream: Control-P now brings up the print dialog (closes: #157225)
-+ * Upstream: Worked around problems with fonts in some PDF files
-+ (closes: #159778)
-+ * Upstream: 'Save as' now uses the standard Motif save dialog, so any
-+ filename can be entered (closes: #158423)
-+ * Upstream: handles malformed PDFs with error messages rather than
-+ silently as happened previously in some cases (closes: #151241)
-+ * Upstream: fullscreen behaviour is working fine in this version
-+ (closes: #156252)
-+ * Upstream: Enter works in save dialog (closes: #166942)
-+ * Upstream: now uses standard Motif file selector dialog (closes: #160255)
-+ * No performance issues observed with resizing the window (closes: #165847)
-+ * Tweaked configuration mechanism not to build /etc/xpdfrc now,
-+ but an include file for the main configuration file instead.
-+ No changes to the language packages are required to support this.
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 5 Nov 2002 11:49:24 +1100
-+
-+xpdf (1.01-3) unstable; urgency=low
-+
-+ * Recompile with more recent FreeType, updated dependencies to match
-+ (closes: #155946)
-+ * Made xpdf handle missing default paper name from libpaper
-+ (eg if $PAPERSIZE is set to a non-existent file) (closes: #150360)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 4 Sep 2002 21:49:41 +1000
-+
-+xpdf (1.01-2) unstable; urgency=low
-+
-+ * Fixed dependencies to ensure that xpdf-common, xpdf-reader and
-+ xpdf-utils versions are always synchronised (closes: #147897,
-+ #151683)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 7 Jul 2002 01:24:00 +1000
-+
-+xpdf (1.01-1) unstable; urgency=low
-+
-+ * New upstream release (closes: #146286, #147428)
-+ including support for Type 3 fonts (closes: #128686, #137378,
-+ #137416, #143245, #145541, #147614)
-+ * Removed empty examples directory (closes: #145057, #146336)
-+ * Changed dependency on gsfonts to require the woody version
-+ or newer (>= 6.0-1) (closes: #146398)
-+ * Applied patch to allow copying and printing of protected
-+ PDF files (closes: #145558)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 22 May 2002 23:16:47 +1000
-+
-+xpdf (1.00-4) unstable; urgency=low
-+
-+ * xpdf-reader: added zxpdf script contributed by Yann Dirson to allow
-+ viewing of compressed PDF files (closes: #87316, #14227)
-+ * xpdf-reader, xpdf-utils: corrected location of the configuration
-+ files in the manual pages (closes: #139982)
-+ * xpdf-common: added note to /etc/xpdf/xpdfrc describing configuration
-+ file scheme (closes: #143372)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 25 Apr 2002 10:57:47 +1000
-+
-+xpdf (1.00-3) unstable; urgency=low
-+
-+ * Fixed conflicts with xpdf-i (should conflict with versions
-+ <= 0.90-8, not 0.90-7) (closes: #136385, #136157)
-+ * Applied patch from the upstream author to fix the missing
-+ initialZoom X resource (closes: #135712)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 9 Mar 2002 00:23:33 +1100
-+
-+xpdf (1.00-2) unstable; urgency=low
-+
-+ * Fixed problem with building the arch-specific packages when
-+ xpdf-common was not installed (tried to overwrite /etc/xpdfrc)
-+ (closes: #134336, #134338)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 18 Feb 2002 08:36:59 +1100
-+
-+xpdf (1.00-1) unstable; urgency=low
-+
-+ * New upstream release (closes: #131961)
-+ * Split the xpdf package into xpdf-reader, xpdf-utils and a
-+ metapackage, xpdf. This reduces the number of library packages
-+ required if you just want pdf2ps, for example. (closes: #122786)
-+ * The new upstream release has the language support split into
-+ seperate packages. See xpdf-chinese-simplified,
-+ xpdf-chinese-traditional, xpdf-korean, xpdf-japanese,
-+ xpdf-thai and xpdf-cyrillic. NOTE: some of these are
-+ non-free.
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 2 Feb 2002 23:44:20 +1100
-+
-+xpdf (0.93-6) unstable; urgency=low
-+
-+ * Applied patch from the upstream author Derek Noonburg
-+ to fix an unitialized variable which causes xpdf
-+ to sometimes crash on Alpha systems (closes: #124314)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 16 Jan 2002 21:30:53 +1100
-+
-+xpdf (0.93-5) unstable; urgency=low
-+
-+ * Applied patch from the upstream author Derek Noonburg
-+ to fix TrueType font embedding bugs (closes: #123913)
-+ * Added Build-Conflicts: with libttf-dev; the compile gets
-+ mixed up between freetype1 and freetype2 when libttf-dev
-+ is installed (closes: #123565)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 9 Jan 2002 22:46:49 +1100
-+
-+xpdf (0.93-4) unstable; urgency=low
-+
-+ * Added menu hint "Documents" (closes: #121029)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 25 Nov 2001 13:02:24 +1100
-+
-+xpdf (0.93-3) unstable; urgency=low
-+
-+ * Added app-defaults file mapping for Type 1 base-14 fonts (requires
-+ gsfonts) (closes: #120649, #120994)
-+ * Added libpaper support; xpdf now gets the default paper size from
-+ X resources, $PAPERSIZE, /etc/papersize, or defaults to letter
-+ (closes: #120645)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 25 Nov 2001 11:38:19 +1100
-+
-+xpdf (0.93-2) unstable; urgency=low
-+
-+ * Removed final references to install-mime (closes: #120423)
-+ * Linked with libfreetype6 (closes: #116283)
-+ * Configuration file moved to /etc/xpdfrc (was /usr/etc/xpdfrc by mistake)
-+ * Also linked with t1lib
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 24 Nov 2001 16:20:23 +1100
-+
-+xpdf (0.93-1) unstable; urgency=low
-+
-+ * New upstream release (closes: #81911, #107448)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 7 Nov 2001 23:54:52 +1100
-+
-+xpdf (0.92-5) unstable; urgency=low
-+
-+ * Fixed freetype file locations which caused the build to fail if
-+ libfreetype6-dev wasn't installed (but isn't actually used)
-+ (closes: #111745)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 11 Sep 2001 20:21:47 +1000
-+
-+xpdf (0.92-4) unstable; urgency=low
-+
-+ * Added libttf-dev to build-deps so that xpdf will be built with
-+ TrueType font support (closes: #108667)
-+ * Increased xpdf's priority in mailcap from 4 to 6 to be above
-+ gv and acroread (closes: #106858)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 2 Sep 2001 14:54:11 +1000
-+
-+xpdf (0.92-3) unstable; urgency=low
-+
-+ * Changed build-dep on xpm4g-dev to xlibs-dev (closes: #83814)
-+ * Re-enabled Chinese language support (closes: #74974)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 29 Jan 2001 08:23:06 +1100
-+
-+xpdf (0.92-2) unstable; urgency=low
-+
-+ * Recompiled with latest X libraries
-+
-+ -- Hamish Moffatt <hamish@debian.org> Thu, 18 Jan 2001 08:21:23 +1100
-+
-+xpdf (0.92-1) unstable; urgency=low
-+
-+ * New upstream release
-+ * Updated Standards-Version
-+
-+ -- Hamish Moffatt <hamish@debian.org> Wed, 6 Dec 2000 21:16:34 +1100
-+
-+xpdf (0.91-3) unstable; urgency=low
-+
-+ * Enabled Chinese language support (closes: #74974)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 7 Nov 2000 15:52:41 +1100
-+
-+xpdf (0.91-2) unstable; urgency=low
-+
-+ * Changed replaces/conflicts with xpdf-i to allow installation
-+ of xpdf-i 0.91-1 (dummy package) as well as xpdf >= 0.91
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 19 Sep 2000 22:55:44 +1100
-+
-+xpdf (0.91-1) unstable; urgency=low
-+
-+ * New upstream version (closes: #43604, #47391, #61055, #67591, #50170)
-+ * Upstream source now includes decryption; xpdf-i is now obselete
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 20 Aug 2000 18:25:07 +1000
-+
-+xpdf (0.90-6) unstable; urgency=low
-+
-+ * Added build-depends for debhelper, xpm4g-dev and xlib6g-dev
-+ (closes: #68464, #61585)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 7 Aug 2000 19:29:08 +1000
-+
-+xpdf (0.90-5) unstable; urgency=low
-+
-+ * Added build-depends for t1lib-dev (closes: #55658)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 1 Aug 2000 21:03:43 +1000
-+
-+xpdf (0.90-4) unstable; urgency=low
-+
-+ * Recompile for t1lib1
-+
-+ -- Hamish Moffatt <hamish@debian.org> Mon, 3 Jan 2000 09:45:45 +1100
-+
-+xpdf (0.90-3) unstable; urgency=low
-+
-+ * FHS compliant
-+ * Converted to debhelper
-+ * Moved xpdf binary from /usr/X11R6/bin to /usr/bin
-+
-+ -- Hamish Moffatt <hamish@debian.org> Fri, 1 Oct 1999 23:51:31 +1000
-+
-+xpdf (0.90-2) unstable; urgency=low
-+
-+ * Recompiled with t1lib 0.9.1-4 to get correct dependencies
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 11 Sep 1999 00:59:17 +1000
-+
-+xpdf (0.90-1) unstable; urgency=low
-+
-+ * New upstream version
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 14 Aug 1999 14:31:00 +1000
-+
-+xpdf (0.80-6) unstable; urgency=low
-+
-+ * Added code in postinst and postrm to remove old MIME entries
-+ added using install-mime (fixes #37724, #31293)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 23 May 1999 00:25:00 +1000
-+
-+xpdf (0.80-5) unstable; urgency=low
-+
-+ * Fixed error in /usr/lib/mime/packages/xpdf (fixes #37537)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 15 May 1999 22:35:00 +1000
-+
-+xpdf (0.80-4) unstable; urgency=low
-+
-+ * Fixed bug in postinst introduced in 0.80-3 (fixes #37009, #37026)
-+ * xpdf now Conflicts with and Replaces xpdf-i
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 02 May 1999 18:20:00 +1000
-+
-+xpdf (0.80-3) unstable; urgency=low
-+
-+ * Fixed incorrect mime support handling with patch from David Rocher
-+ (fixes bug#36901)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 01 May 1999 18:45:00 +1000
-+
-+xpdf (0.80-2) unstable; urgency=low
-+
-+ * Enabled support for 16-bit Japanese fonts (fixes bug#30671)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Fri, 18 Dec 1998 00:18:00 +1100
-+
-+xpdf (0.80-1) unstable; urgency=low
-+
-+ * New upstream release
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sun, 29 Nov 1998 01:03:00 +1100
-+
-+xpdf (0.7a-3) unstable; urgency=low
-+
-+ * Previous upload had wrong section and was rejected
-+ * Change of license; xpdf is now GPL (see
-+ http://www.debian.org/Lists-Archives/debian-devel-9809/msg00193.html)
-+
-+ -- Hamish Moffatt <hamish@debian.org> Sat, 10 Oct 1998 11:12:00 +1000
-+
-+xpdf (0.7a-2) unstable; urgency=low
-+
-+ * New maintainer
-+ * Updated to use update-mime (fixes#26532)
-+ * Removed dependency on mime-support, as instructed by update-mime(1)
-+ * Rebuilt with new libstdc++
-+
-+ -- Hamish Moffatt <hamish@debian.org> Tue, 06 Oct 1998 19:43:00 +1000
-+
-+xpdf (0.7a-1) non-free; urgency=low
-+
-+ * Upgraded to new upstream release xpdf-0.7a
-+
-+ -- Dirk Eddelbuettel <edd@debian.org> Mon, 2 Mar 1998 19:24:35 -0500
-+
-+xpdf (0.7-3) non-free; urgency=low
-+
-+ * Moved to non-free as the copyright violated #3 of the DFSG (fixes #14360)
-+
-+ -- Dirk Eddelbuettel <edd@debian.org> Tue, 4 Nov 1997 20:44:26 -0500
-+
-+xpdf (0.7-2) unstable; urgency=low
-+
-+ * Compiled with GNU libc2 aka libc6
-+ * Linked against xlib6g and xpm4g (fixes bug #12915)
-+ * Uses pristine upstream sources as xpdf_0.7.orig.tar.gz
-+ * Upgraded to Debian Policy 2.3.0.0
-+ * Added menu file for xpdf
-+
-+ -- Dirk Eddelbuettel <edd@debian.org> Tue, 30 Sep 1997 20:34:09 -0400
-+
-+xpdf (0.7-1) unstable; urgency=low
-+
-+ * New upstream release xpdf-0.7
-+
-+ -- Dirk Eddelbuettel <edd@debian.org> Thu, 29 May 1997 21:22:38 -0400
-+
-+xpdf (0.6-1) unstable frozen; urgency=low
-+
-+ * New upstream release xpdf-0.6 (fixes bug #4476)
-+
-+ * Changed Priority: to optional as per override file on master
-+
-+ * Converted package management files to Debian Standard 2.1.1.0
-+ * Changed maintainer email address to <edd@debian.org>
-+
-+ -- Dirk Eddelbuettel <edd@debian.org> Sun, 24 Nov 1996 16:50:23 -0500
-+
-+Sat Aug 10 16:22:28 1996 Dirk Eddelbuettel <edd@miles.econ.queensu.ca>
-+
-+ * xpdf-0.5-1 release: only changes to Debian package files
-+
-+ * debian.control: now Depends on mime-support, suitable postinst
-+ and postrm scripts added (with thanks to Brian White);
-+ also updated virtual package dependencies, now Provides: a
-+ pdf-viewer as well as postscript-preview and Depends changed
-+ to X11R6 from elf-x11r6lib
-+
-+ * debian.rules: install xpdf.1x, not xpdf.1
-+
-+Mon May 27 20:58:19 1996 Dirk Eddelbuettel <edd@miles.econ.queensu.ca>
-+
-+ * xpdf-0.5-0 release: upgraded to upstream version 0.5
-+
-+Sun Apr 28 09:51:02 1996 Dirk Eddelbuettel <edd@miles.econ.queensu.ca>
-+
-+ * xpdf-0.4-0 release: upgraded to upstream version 0.4
-+
-+ * debian.control: added Architecture:, changed Section: to text,
-+ added note that xpdftops is now included
-+
-+Wed Feb 14 21:49:17 1996 Dirk Eddelbuettel <edd@miles.econ.queensu.ca>
-+
-+ * xpdf-0.3-1 release
-+
-+ * debian.rules: fix location of README to /usr/doc/xpdf (bug#2333)
-+
-+Sun Jan 28 17:36:31 1996 Dirk Eddelbuettel <edd@miles.econ.queensu.ca>
-+
-+ * xpdf-0.3-0: Initial Debian release
-+
---- xpdf-3.02.orig/debian/xpdf.dirs
-+++ xpdf-3.02/debian/xpdf.dirs
-@@ -0,0 +1,2 @@
-+usr/share/doc
-+usr/share/bug/xpdf
---- xpdf-3.02.orig/debian/xpdf-common.postrm
-+++ xpdf-3.02/debian/xpdf-common.postrm
-@@ -0,0 +1,9 @@
-+#!/bin/sh
-+set -e
-+
-+if [ "$1" = "purge" ]; then
-+ rm -f /etc/xpdf/includes
-+fi
-+
-+#DEBHELPER#
-+
---- xpdf-3.02.orig/debian/xpdf.desktop
-+++ xpdf-3.02/debian/xpdf.desktop
-@@ -0,0 +1,11 @@
-+[Desktop Entry]
-+Encoding=UTF-8
-+Name=xpdf
-+GenericName=PDF viewer
-+Comment=View PDF files
-+Exec=xpdf
-+Icon=xpdf.xpm
-+Terminal=false
-+Type=Application
-+MimeType=application/pdf;
-+Categories=PDFViewer;Viewer;Graphics;
---- xpdf-3.02.orig/debian/xpdf-reader.menu
-+++ xpdf-3.02/debian/xpdf-reader.menu
-@@ -0,0 +1,8 @@
-+?package(xpdf-reader):\
-+ needs="x11" \
-+ section="Apps/Viewers" \
-+ command="/usr/bin/xpdf" \
-+ title="Xpdf" \
-+ hints="Documents" \
-+ icon="/usr/share/pixmaps/xpdf.xpm" \
-+ longtitle="Xpdf: Portable Document Format (PDF) file viewer for X"
---- xpdf-3.02.orig/debian/xpdf-bug-control
-+++ xpdf-3.02/debian/xpdf-bug-control
-@@ -0,0 +1 @@
-+Submit-As: xpdf-reader
---- xpdf-3.02.orig/debian/xpdf-reader.dirs
-+++ xpdf-3.02/debian/xpdf-reader.dirs
-@@ -0,0 +1,7 @@
-+usr/share/doc
-+usr/share/applications
-+usr/share/man/man1
-+usr/lib/mime/packages
-+usr/lib/menu
-+usr/bin
-+usr/share/pixmaps
---- xpdf-3.02.orig/debian/patches/40_lesstif_copy.dpatch
-+++ xpdf-3.02/debian/patches/40_lesstif_copy.dpatch
-@@ -0,0 +1,18 @@
-+#! /bin/sh -e
-+## DP: make local copy of lesstif headers for use in patch 41
-+
-+dpatch_patch ()
-+{
-+ mkdir lesstif
-+ cp -a /usr/include/Xm lesstif/
-+}
-+
-+dpatch_unpatch ()
-+{
-+ rm -rf lesstif
-+}
-+
-+DPATCH_LIB_NO_DEFAULT=1
-+
-+. /usr/share/dpatch/dpatch.lib.sh
-+
---- xpdf-3.02.orig/debian/patches/01_manpage.dpatch
-+++ xpdf-3.02/debian/patches/01_manpage.dpatch
-@@ -0,0 +1,258 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 01_manpage.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Manual page updates
-+
-+@DPATCH@
-+diff -urNad xpdf-3.02~/doc/pdffonts.1 xpdf-3.02/doc/pdffonts.1
-+--- xpdf-3.02~/doc/pdffonts.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdffonts.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -73,9 +73,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdffonts reads a configuration file at startup. It first tries to
-+ find the user's private config file, ~/.xpdfrc. If that doesn't
-+-exist, it looks for a system-wide config file, typically
-+-/usr/local/etc/xpdfrc (but this location can be changed when pdffonts
-+-is built). See the
-++exist, it looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/pdfimages.1 xpdf-3.02/doc/pdfimages.1
-+--- xpdf-3.02~/doc/pdfimages.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdfimages.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -12,9 +12,9 @@
-+ saves images from a Portable Document Format (PDF) file as Portable
-+ Pixmap (PPM), Portable Bitmap (PBM), or JPEG files.
-+ .PP
-+-Pdfimages reads the PDF file, scans one or more pages,
-++Pdfimages reads the PDF file
-+ .IR PDF-file ,
-+-and writes one PPM, PBM, or JPEG file for each image,
-++scans one or more pages, and writes one PPM, PBM, or JPEG file for each image,
-+ .IR image-root - nnn . xxx ,
-+ where
-+ .I nnn
-+@@ -28,9 +28,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdfimages reads a configuration file at startup. It first tries to
-+ find the user's private config file, ~/.xpdfrc. If that doesn't
-+-exist, it looks for a system-wide config file, typically
-+-/usr/local/etc/xpdfrc (but this location can be changed when pdfimages
-+-is built). See the
-++exist, it looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/pdfinfo.1 xpdf-3.02/doc/pdfinfo.1
-+--- xpdf-3.02~/doc/pdfinfo.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdfinfo.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -71,8 +71,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdfinfo reads a configuration file at startup. It first tries to find
-+ the user's private config file, ~/.xpdfrc. If that doesn't exist, it
-+-looks for a system-wide config file, typically /usr/local/etc/xpdfrc
-+-(but this location can be changed when pdfinfo is built). See the
-++looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/pdftoppm.1 xpdf-3.02/doc/pdftoppm.1
-+--- xpdf-3.02~/doc/pdftoppm.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdftoppm.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -24,9 +24,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdftoppm reads a configuration file at startup. It first tries to
-+ find the user's private config file, ~/.xpdfrc. If that doesn't
-+-exist, it looks for a system-wide config file, typically
-+-/usr/local/etc/xpdfrc (but this location can be changed when pdftoppm
-+-is built). See the
-++exist, it looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/pdftops.1 xpdf-3.02/doc/pdftops.1
-+--- xpdf-3.02~/doc/pdftops.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdftops.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -31,8 +31,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdftops reads a configuration file at startup. It first tries to find
-+ the user's private config file, ~/.xpdfrc. If that doesn't exist, it
-+-looks for a system-wide config file, typically /usr/local/etc/xpdfrc
-+-(but this location can be changed when pdftops is built). See the
-++looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/pdftotext.1 xpdf-3.02/doc/pdftotext.1
-+--- xpdf-3.02~/doc/pdftotext.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/pdftotext.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -28,9 +28,7 @@
-+ .SH CONFIGURATION FILE
-+ Pdftotext reads a configuration file at startup. It first tries to
-+ find the user's private config file, ~/.xpdfrc. If that doesn't
-+-exist, it looks for a system-wide config file, typically
-+-/usr/local/etc/xpdfrc (but this location can be changed when pdftotext
-+-is built). See the
-++exist, it looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+diff -urNad xpdf-3.02~/doc/xpdf.1 xpdf-3.02/doc/xpdf.1
-+--- xpdf-3.02~/doc/xpdf.1 2007-04-25 01:26:52.000000000 +1000
-++++ xpdf-3.02/doc/xpdf.1 2007-04-25 01:26:55.000000000 +1000
-+@@ -7,10 +7,15 @@
-+ [options]
-+ .RI [ PDF-file
-+ .RI [ page " | +" dest ]]
-++.sp
-++.B zxpdf
-++[options]
-++.RI [ PDF-file
-++.RI [ page " | +" dest ]]
-+ .SH DESCRIPTION
-+ .B Xpdf
-+ is a viewer for Portable Document Format (PDF) files. (These are also
-+-sometimes also called \'Acrobat' files, from the name of Adobe's PDF
-++sometimes also called 'Acrobat' files, from the name of Adobe's PDF
-+ software.) Xpdf runs under the X Window System on UNIX, VMS, and
-+ OS/2.
-+ .PP
-+@@ -29,7 +34,7 @@
-+ xpdf file.pdf 18
-+ .RE
-+ .PP
-+-You can also give a named destination, prefixed with \'+' in place of
-++You can also give a named destination, prefixed with '+' in place of
-+ the page number. (This is only useful with PDF files that provide
-+ named destination targets.)
-+ .PP
-+@@ -38,11 +43,17 @@
-+ .RS
-+ xpdf
-+ .RE
-++.PP
-++Compressed files (gz and bz2) may be viewed using the command:
-++.PP
-++.RS
-++zxpdf file.pdf.gz
-++.RE
-++.PP
-+ .SH CONFIGURATION FILE
-+ Xpdf reads a configuration file at startup. It first tries to find
-+ the user's private config file, ~/.xpdfrc. If that doesn't exist, it
-+-looks for a system-wide config file, typically /usr/local/etc/xpdfrc
-+-(but this location can be changed when xpdf is built). See the
-++looks for a system-wide config file, /etc/xpdf/xpdfrc. See the
-+ .BR xpdfrc (5)
-+ man page for details.
-+ .SH OPTIONS
-+@@ -92,8 +103,8 @@
-+ .TP
-+ .BI \-z " zoom"
-+ Set the initial zoom factor. A number specifies a zoom percentage,
-+-where 100 means 72 dpi.You may also specify \'page', to fit the page
-+-to the window size, or \'width', to fit the page width to the window
-++where 100 means 72 dpi.You may also specify 'page', to fit the page
-++to the window size, or 'width', to fit the page width to the window
-+ width.
-+ .RB "[config file: " initialZoom "; or X resource: " xpdf.initialZoom ]
-+ .TP
-+@@ -123,7 +134,7 @@
-+ .BI \-ps " PS-file"
-+ Set the default file name for PostScript output (i.e., the name which
-+ will appear in the print dialog). This can also be of the form
-+-\'|command' to pipe the PostScript through a command.
-++'|command' to pipe the PostScript through a command.
-+ .RB "[config file: " psFile ]
-+ .TP
-+ .BI \-paper " size"
-+@@ -231,7 +242,7 @@
-+ .RB "[X resource: " xpdf*fontList ]
-+ .PP
-+ The color and font options only affect the user interface elements,
-+-not the PDF display (the \'paper').
-++not the PDF display (the 'paper').
-+ .PP
-+ The following X resources do not have command line option equivalents:
-+ .TP
-+@@ -254,7 +265,7 @@
-+ .B "dashed left/right arrow buttons"
-+ Move backward or forward along the history path.
-+ .TP
-+-.B "\'Page' entry box"
-++.B "'Page' entry box"
-+ Move to a specific page number. Click in the box to activate it, type
-+ the page number, then hit return.
-+ .TP
-+@@ -267,17 +278,17 @@
-+ .B "print button"
-+ Bring up a dialog for generating a PostScript file. The dialog has
-+ options to set the pages to be printed and the PostScript file name.
-+-The file name can be \'-' for stdout or \'|command' to pipe the
-+-PostScript through a command, e.g., \'|lpr'.
-++The file name can be '-' for stdout or '|command' to pipe the
-++PostScript through a command, e.g., '|lpr'.
-+ .TP
-+-.B "\'?' button"
-+-Bring up the \'about xpdf' window.
-++.B "'?' button"
-++Bring up the 'about xpdf' window.
-+ .TP
-+ .B "link info"
-+-The space between the \'?' and \'Quit' buttons is used to show the URL
-++The space between the '?' and 'Quit' buttons is used to show the URL
-+ or external file name when the mouse is over a link.
-+ .TP
-+-.B "\'Quit' button"
-++.B "'Quit' button"
-+ Quit xpdf.
-+ .PP
-+ .SS Menu
-+@@ -333,9 +344,9 @@
-+ .PP
-+ .SS Links
-+ Clicking on a hyperlink will jump to the link's destination. A link
-+-to another PDF document will make xpdf load that document. A
-+-\'launch' link to an executable program will display a dialog, and if
-+-you click \'ok', execute the program. URL links call an external
-++to another PDF document will make xpdf load that document. A 'launch'
-++link to an executable program will display a dialog, and if
-++you click 'ok', execute the program. URL links call an external
-+ command (see the
-+ .B WEB BROWSERS
-+ section below).
-+@@ -458,7 +469,7 @@
-+ .PP
-+ When you click on a URL link in a PDF file, xpdf will execute the
-+ command specified by the urlCommand config file option, replacing an
-+-occurrence of \'%s' with the URL. For example, to call netscape with
-++occurrence of '%s' with the URL. For example, to call netscape with
-+ the URL, add this line to your config file:
-+ .PP
-+ .RS
-+@@ -809,8 +820,8 @@
-+ xpdf -remote myServer file.pdf
-+ .RE
-+ .PP
-+-If there is currently no xpdf running in server mode with the name
-+-\'myServer', a new xpdf window will be opened. If another command:
-++If there is currently no xpdf running in server mode with the name 'myServer',
-++a new xpdf window will be opened. If another command:
-+ .PP
-+ .RS
-+ xpdf -remote myServer another.pdf 9
-+diff -urNad xpdf-3.02~/doc/xpdfrc.5 xpdf-3.02/doc/xpdfrc.5
-+--- xpdf-3.02~/doc/xpdfrc.5 2007-02-28 09:05:51.000000000 +1100
-++++ xpdf-3.02/doc/xpdfrc.5 2007-04-25 01:28:30.000000000 +1000
-+@@ -19,6 +19,9 @@
-+ .PP
-+ The following sections list all of the configuration options, sorted
-+ into functional groups. There is an examples section at the end.
-++.PP
-++Note that all settings are case-sensitive; in particular, boolean options
-++are "yes" and "no" (rather than "Yes" or "No").
-+ .SH INCLUDE FILES
-+ .TP
-+ .BI include " config\-file"
---- xpdf-3.02.orig/debian/patches/00list
-+++ xpdf-3.02/debian/patches/00list
-@@ -0,0 +1,24 @@
-+01_manpage.dpatch
-+02_permissions.dpatch
-+#10_add_accelerators.dpatch # doesn't work
-+
-+# Security fixes:
-+#04_freetype-glyph.dpatch # Not obvious
-+#05_gmem.dpatch # Not obvious
-+#06_splashpath.dpatch # Not obvious
-+#07_decrypt.dpatch # Not obvious
-+#08_core_action.dpatch # Not obvious
-+#23_security3.dpatch # Not obvious
-+
-+# Lesstif bug#377230 workaround:
-+40_lesstif_copy.dpatch
-+41_lesstif_cpp.dpatch
-+
-+# Final cleanup:
-+99_autoconf.dpatch
-+
-+# Fix CVE-2007-3387 and CVE-2007-5049
-+fix-CVE-2007-3387_CVE-2007-5049.dpatch
-+
-+# Fix CVE-2007-5393, CVE-2007-5392, CVE-2007-4352
-+fix-CVE-2007-5393_2007-5392_2007-4352.dpatch
---- xpdf-3.02.orig/debian/patches/02_permissions.dpatch
-+++ xpdf-3.02/debian/patches/02_permissions.dpatch
-@@ -0,0 +1,176 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## permissions.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Remove PDF file permission checks
-+
-+@DPATCH@
-+diff -urNad xpdf-3.02~/xpdf/PDFCore.cc xpdf-3.02/xpdf/PDFCore.cc
-+--- xpdf-3.02~/xpdf/PDFCore.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/PDFCore.cc 2007-04-24 23:43:59.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 2004 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 18 August 2005.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -1563,9 +1565,11 @@
-+ int x0, y0, x1, y1, t;
-+ GString *s;
-+
-++#ifdef ENFORCE_PERMISSIONS
-+ if (!doc->okToCopy()) {
-+ return NULL;
-+ }
-++#endif
-+ if ((page = findPage(pg))) {
-+ cvtUserToDev(pg, xMin, yMin, &x0, &y0);
-+ cvtUserToDev(pg, xMax, yMax, &x1, &y1);
-+diff -urNad xpdf-3.02~/xpdf/XPDFCore.cc xpdf-3.02/xpdf/XPDFCore.cc
-+--- xpdf-3.02~/xpdf/XPDFCore.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/XPDFCore.cc 2007-04-24 23:46:39.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 2002-2003 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 22 May 2002.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -384,11 +386,15 @@
-+ #ifndef NO_TEXT_SELECT
-+ if (selectULX != selectLRX &&
-+ selectULY != selectLRY) {
-++#ifdef ENFORCE_PERMISSIONS
-+ if (doc->okToCopy()) {
-+ copySelection();
-+ } else {
-+ error(-1, "Copying of text from this document is not allowed.");
-+ }
-++#else
-++ copySelection();
-++#endif
-+ }
-+ #endif
-+ }
-+@@ -407,9 +413,11 @@
-+ int pg;
-+ double ulx, uly, lrx, lry;
-+
-++#ifdef ENFORCE_PERMISSIONS
-+ if (!doc->okToCopy()) {
-+ return;
-+ }
-++#endif
-+ if (getSelection(&pg, &ulx, &uly, &lrx, &lry)) {
-+ //~ for multithreading: need a mutex here
-+ if (currentSelection) {
-+diff -urNad xpdf-3.02~/xpdf/XPDFViewer.cc xpdf-3.02/xpdf/XPDFViewer.cc
-+--- xpdf-3.02~/xpdf/XPDFViewer.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/XPDFViewer.cc 2007-04-24 23:43:59.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 2002-2003 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 22 May 2002.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -3406,10 +3408,12 @@
-+ PSOutputDev *psOut;
-+
-+ doc = viewer->core->getDoc();
-++#ifdef ENFORCE_PERMISSIONS
-+ if (!doc->okToPrint()) {
-+ error(-1, "Printing this document is not allowed.");
-+ return;
-+ }
-++#endif
-+
-+ viewer->core->setBusyCursor(gTrue);
-+
-+diff -urNad xpdf-3.02~/xpdf/pdfimages.cc xpdf-3.02/xpdf/pdfimages.cc
-+--- xpdf-3.02~/xpdf/pdfimages.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/pdfimages.cc 2007-04-24 23:43:59.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 1998-2003 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 22 May 2002.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -119,11 +121,13 @@
-+ }
-+
-+ // check for copy permission
-++#ifdef ENFORCE_PERMISSIONS
-+ if (!doc->okToCopy()) {
-+ error(-1, "Copying of images from this document is not allowed.");
-+ exitCode = 3;
-+ goto err1;
-+ }
-++#endif
-+
-+ // get page range
-+ if (firstPage < 1)
-+diff -urNad xpdf-3.02~/xpdf/pdftops.cc xpdf-3.02/xpdf/pdftops.cc
-+--- xpdf-3.02~/xpdf/pdftops.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/pdftops.cc 2007-04-24 23:43:59.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 1996-2003 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 22 May 2002.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -278,12 +280,14 @@
-+ goto err1;
-+ }
-+
-++#ifdef ENFORCE_PERMISSIONS
-+ // check for print permission
-+ if (!doc->okToPrint()) {
-+ error(-1, "Printing this document is not allowed.");
-+ exitCode = 3;
-+ goto err1;
-+ }
-++#endif
-+
-+ // construct PostScript file name
-+ if (argc == 3) {
-+diff -urNad xpdf-3.02~/xpdf/pdftotext.cc xpdf-3.02/xpdf/pdftotext.cc
-+--- xpdf-3.02~/xpdf/pdftotext.cc 2007-02-28 09:05:52.000000000 +1100
-++++ xpdf-3.02/xpdf/pdftotext.cc 2007-04-24 23:43:59.000000000 +1000
-+@@ -4,6 +4,8 @@
-+ //
-+ // Copyright 1997-2003 Glyph & Cog, LLC
-+ //
-++// Modified for Debian by Hamish Moffatt, 22 May 2002.
-++//
-+ //========================================================================
-+
-+ #include <aconf.h>
-+@@ -160,12 +162,14 @@
-+ goto err2;
-+ }
-+
-++#ifdef ENFORCE_PERMISSIONS
-+ // check for copy permission
-+ if (!doc->okToCopy()) {
-+ error(-1, "Copying of text from this document is not allowed.");
-+ exitCode = 3;
-+ goto err2;
-+ }
-++#endif
-+
-+ // construct text file name
-+ if (argc == 3) {
---- xpdf-3.02.orig/debian/patches/fix-CVE-2007-5393_2007-5392_2007-4352.dpatch
-+++ xpdf-3.02/debian/patches/fix-CVE-2007-5393_2007-5392_2007-4352.dpatch
-@@ -0,0 +1,652 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## fix-CVE-2007-5393_2007-5392_2007-4352.dpatch by Nico Golde <nion@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: No description.
-+
-+@DPATCH@
-+diff -urNad xpdf-3.02~/xpdf/Stream.cc xpdf-3.02/xpdf/Stream.cc
-+--- xpdf-3.02~/xpdf/Stream.cc 2007-02-27 23:05:52.000000000 +0100
-++++ xpdf-3.02/xpdf/Stream.cc 2007-11-09 09:20:09.000000000 +0100
-+@@ -1245,23 +1245,26 @@
-+ columns = columnsA;
-+ if (columns < 1) {
-+ columns = 1;
-+- }
-+- if (columns + 4 <= 0) {
-+- columns = INT_MAX - 4;
-++ } else if (columns > INT_MAX - 2) {
-++ columns = INT_MAX - 2;
-+ }
-+ rows = rowsA;
-+ endOfBlock = endOfBlockA;
-+ black = blackA;
-+- refLine = (short *)gmallocn(columns + 3, sizeof(short));
-+- codingLine = (short *)gmallocn(columns + 2, sizeof(short));
-++ // 0 <= codingLine[0] < codingLine[1] < ... < codingLine[n] = columns
-++ // ---> max codingLine size = columns + 1
-++ // refLine has one extra guard entry at the end
-++ // ---> max refLine size = columns + 2
-++ codingLine = (int *)gmallocn(columns + 1, sizeof(int));
-++ refLine = (int *)gmallocn(columns + 2, sizeof(int));
-+
-+ eof = gFalse;
-+ row = 0;
-+ nextLine2D = encoding < 0;
-+ inputBits = 0;
-+- codingLine[0] = 0;
-+- codingLine[1] = refLine[2] = columns;
-+- a0 = 1;
-++ codingLine[0] = columns;
-++ a0i = 0;
-++ outputBits = 0;
-+
-+ buf = EOF;
-+ }
-+@@ -1280,9 +1283,9 @@
-+ row = 0;
-+ nextLine2D = encoding < 0;
-+ inputBits = 0;
-+- codingLine[0] = 0;
-+- codingLine[1] = columns;
-+- a0 = 1;
-++ codingLine[0] = columns;
-++ a0i = 0;
-++ outputBits = 0;
-+ buf = EOF;
-+
-+ // skip any initial zero bits and end-of-line marker, and get the 2D
-+@@ -1299,211 +1302,230 @@
-+ }
-+ }
-+
-++inline void CCITTFaxStream::addPixels(int a1, int blackPixels) {
-++ if (a1 > codingLine[a0i]) {
-++ if (a1 > columns) {
-++ error(getPos(), "CCITTFax row is wrong length (%d)", a1);
-++ err = gTrue;
-++ a1 = columns;
-++ }
-++ if ((a0i & 1) ^ blackPixels) {
-++ ++a0i;
-++ }
-++ codingLine[a0i] = a1;
-++ }
-++}
-++
-++inline void CCITTFaxStream::addPixelsNeg(int a1, int blackPixels) {
-++ if (a1 > codingLine[a0i]) {
-++ if (a1 > columns) {
-++ error(getPos(), "CCITTFax row is wrong length (%d)", a1);
-++ err = gTrue;
-++ a1 = columns;
-++ }
-++ if ((a0i & 1) ^ blackPixels) {
-++ ++a0i;
-++ }
-++ codingLine[a0i] = a1;
-++ } else if (a1 < codingLine[a0i]) {
-++ if (a1 < 0) {
-++ error(getPos(), "Invalid CCITTFax code");
-++ err = gTrue;
-++ a1 = 0;
-++ }
-++ while (a0i > 0 && a1 <= codingLine[a0i - 1]) {
-++ --a0i;
-++ }
-++ codingLine[a0i] = a1;
-++ }
-++}
-++
-+ int CCITTFaxStream::lookChar() {
-+ short code1, code2, code3;
-+- int a0New;
-+- GBool err, gotEOL;
-+- int ret;
-+- int bits, i;
-++ int b1i, blackPixels, i, bits;
-++ GBool gotEOL;
-+
-+- // if at eof just return EOF
-+- if (eof && codingLine[a0] >= columns) {
-+- return EOF;
-++ if (buf != EOF) {
-++ return buf;
-+ }
-+
-+ // read the next row
-+- err = gFalse;
-+- if (codingLine[a0] >= columns) {
-++ if (outputBits == 0) {
-++
-++ // if at eof just return EOF
-++ if (eof) {
-++ return EOF;
-++ }
-++
-++ err = gFalse;
-+
-+ // 2-D encoding
-+ if (nextLine2D) {
-+- // state:
-+- // a0New = current position in coding line (0 <= a0New <= columns)
-+- // codingLine[a0] = last change in coding line
-+- // (black-to-white if a0 is even,
-+- // white-to-black if a0 is odd)
-+- // refLine[b1] = next change in reference line of opposite color
-+- // to a0
-+- // invariants:
-+- // 0 <= codingLine[a0] <= a0New
-+- // <= refLine[b1] <= refLine[b1+1] <= columns
-+- // 0 <= a0 <= columns+1
-+- // refLine[0] = 0
-+- // refLine[n] = refLine[n+1] = columns
-+- // -- for some 1 <= n <= columns+1
-+- // end condition:
-+- // 0 = codingLine[0] <= codingLine[1] < codingLine[2] < ...
-+- // < codingLine[n-1] < codingLine[n] = columns
-+- // -- where 1 <= n <= columns+1
-+ for (i = 0; codingLine[i] < columns; ++i) {
-+ refLine[i] = codingLine[i];
-+ }
-+- refLine[i] = refLine[i + 1] = columns;
-+- b1 = 1;
-+- a0New = codingLine[a0 = 0] = 0;
-+- do {
-++ refLine[i++] = columns;
-++ refLine[i] = columns;
-++ codingLine[0] = 0;
-++ a0i = 0;
-++ b1i = 0;
-++ blackPixels = 0;
-++ // invariant:
-++ // refLine[b1i-1] <= codingLine[a0i] < refLine[b1i] < refLine[b1i+1]
-++ // <= columns
-++ // exception at left edge:
-++ // codingLine[a0i = 0] = refLine[b1i = 0] = 0 is possible
-++ // exception at right edge:
-++ // refLine[b1i] = refLine[b1i+1] = columns is possible
-++ while (codingLine[a0i] < columns) {
-+ code1 = getTwoDimCode();
-+ switch (code1) {
-+ case twoDimPass:
-+- if (refLine[b1] < columns) {
-+- a0New = refLine[b1 + 1];
-+- b1 += 2;
-++ addPixels(refLine[b1i + 1], blackPixels);
-++ if (refLine[b1i + 1] < columns) {
-++ b1i += 2;
-+ }
-+ break;
-+ case twoDimHoriz:
-+- if ((a0 & 1) == 0) {
-+- code1 = code2 = 0;
-++ code1 = code2 = 0;
-++ if (blackPixels) {
-+ do {
-+- code1 += code3 = getWhiteCode();
-++ code1 += code3 = getBlackCode();
-+ } while (code3 >= 64);
-+ do {
-+- code2 += code3 = getBlackCode();
-++ code2 += code3 = getWhiteCode();
-+ } while (code3 >= 64);
-+ } else {
-+- code1 = code2 = 0;
-+ do {
-+- code1 += code3 = getBlackCode();
-++ code1 += code3 = getWhiteCode();
-+ } while (code3 >= 64);
-+ do {
-+- code2 += code3 = getWhiteCode();
-++ code2 += code3 = getBlackCode();
-+ } while (code3 >= 64);
-+ }
-+- if (code1 > 0 || code2 > 0) {
-+- if (a0New + code1 <= columns) {
-+- codingLine[a0 + 1] = a0New + code1;
-+- } else {
-+- codingLine[a0 + 1] = columns;
-+- }
-+- ++a0;
-+- if (codingLine[a0] + code2 <= columns) {
-+- codingLine[a0 + 1] = codingLine[a0] + code2;
-+- } else {
-+- codingLine[a0 + 1] = columns;
-+- }
-+- ++a0;
-+- a0New = codingLine[a0];
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ addPixels(codingLine[a0i] + code1, blackPixels);
-++ if (codingLine[a0i] < columns) {
-++ addPixels(codingLine[a0i] + code2, blackPixels ^ 1);
-++ }
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-++ }
-++ break;
-++ case twoDimVertR3:
-++ addPixels(refLine[b1i] + 3, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ ++b1i;
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+ }
-+ break;
-+- case twoDimVert0:
-+- if (refLine[b1] < columns) {
-+- a0New = codingLine[++a0] = refLine[b1];
-+- ++b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ case twoDimVertR2:
-++ addPixels(refLine[b1i] + 2, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ ++b1i;
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+- } else {
-+- a0New = codingLine[++a0] = columns;
-+ }
-+ break;
-+ case twoDimVertR1:
-+- if (refLine[b1] + 1 < columns) {
-+- a0New = codingLine[++a0] = refLine[b1] + 1;
-+- ++b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ addPixels(refLine[b1i] + 1, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ ++b1i;
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+- } else {
-+- a0New = codingLine[++a0] = columns;
-+ }
-+ break;
-+- case twoDimVertL1:
-+- if (refLine[b1] - 1 > a0New || (a0 == 0 && refLine[b1] == 1)) {
-+- a0New = codingLine[++a0] = refLine[b1] - 1;
-+- --b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ case twoDimVert0:
-++ addPixels(refLine[b1i], blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ ++b1i;
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+ }
-+ break;
-+- case twoDimVertR2:
-+- if (refLine[b1] + 2 < columns) {
-+- a0New = codingLine[++a0] = refLine[b1] + 2;
-+- ++b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ case twoDimVertL3:
-++ addPixelsNeg(refLine[b1i] - 3, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ if (b1i > 0) {
-++ --b1i;
-++ } else {
-++ ++b1i;
-++ }
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+- } else {
-+- a0New = codingLine[++a0] = columns;
-+ }
-+ break;
-+ case twoDimVertL2:
-+- if (refLine[b1] - 2 > a0New || (a0 == 0 && refLine[b1] == 2)) {
-+- a0New = codingLine[++a0] = refLine[b1] - 2;
-+- --b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ addPixelsNeg(refLine[b1i] - 2, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ if (b1i > 0) {
-++ --b1i;
-++ } else {
-++ ++b1i;
-+ }
-+- }
-+- break;
-+- case twoDimVertR3:
-+- if (refLine[b1] + 3 < columns) {
-+- a0New = codingLine[++a0] = refLine[b1] + 3;
-+- ++b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+- } else {
-+- a0New = codingLine[++a0] = columns;
-+ }
-+ break;
-+- case twoDimVertL3:
-+- if (refLine[b1] - 3 > a0New || (a0 == 0 && refLine[b1] == 3)) {
-+- a0New = codingLine[++a0] = refLine[b1] - 3;
-+- --b1;
-+- while (refLine[b1] <= a0New && refLine[b1] < columns) {
-+- b1 += 2;
-++ case twoDimVertL1:
-++ addPixelsNeg(refLine[b1i] - 1, blackPixels);
-++ blackPixels ^= 1;
-++ if (codingLine[a0i] < columns) {
-++ if (b1i > 0) {
-++ --b1i;
-++ } else {
-++ ++b1i;
-++ }
-++ while (refLine[b1i] <= codingLine[a0i] && refLine[b1i] < columns) {
-++ b1i += 2;
-+ }
-+ }
-+ break;
-+ case EOF:
-++ addPixels(columns, 0);
-+ eof = gTrue;
-+- codingLine[a0 = 0] = columns;
-+- return EOF;
-++ break;
-+ default:
-+ error(getPos(), "Bad 2D code %04x in CCITTFax stream", code1);
-++ addPixels(columns, 0);
-+ err = gTrue;
-+ break;
-+ }
-+- } while (codingLine[a0] < columns);
-++ }
-+
-+ // 1-D encoding
-+ } else {
-+- codingLine[a0 = 0] = 0;
-+- while (1) {
-++ codingLine[0] = 0;
-++ a0i = 0;
-++ blackPixels = 0;
-++ while (codingLine[a0i] < columns) {
-+ code1 = 0;
-+- do {
-+- code1 += code3 = getWhiteCode();
-+- } while (code3 >= 64);
-+- codingLine[a0+1] = codingLine[a0] + code1;
-+- ++a0;
-+- if (codingLine[a0] >= columns) {
-+- break;
-+- }
-+- code2 = 0;
-+- do {
-+- code2 += code3 = getBlackCode();
-+- } while (code3 >= 64);
-+- codingLine[a0+1] = codingLine[a0] + code2;
-+- ++a0;
-+- if (codingLine[a0] >= columns) {
-+- break;
-++ if (blackPixels) {
-++ do {
-++ code1 += code3 = getBlackCode();
-++ } while (code3 >= 64);
-++ } else {
-++ do {
-++ code1 += code3 = getWhiteCode();
-++ } while (code3 >= 64);
-+ }
-++ addPixels(codingLine[a0i] + code1, blackPixels);
-++ blackPixels ^= 1;
-+ }
-+ }
-+
-+- if (codingLine[a0] != columns) {
-+- error(getPos(), "CCITTFax row is wrong length (%d)", codingLine[a0]);
-+- // force the row to be the correct length
-+- while (codingLine[a0] > columns) {
-+- --a0;
-+- }
-+- codingLine[++a0] = columns;
-+- err = gTrue;
-+- }
-+-
-+ // byte-align the row
-+ if (byteAlign) {
-+ inputBits &= ~7;
-+@@ -1562,14 +1584,17 @@
-+ // this if we know the stream contains end-of-line markers because
-+ // the "just plow on" technique tends to work better otherwise
-+ } else if (err && endOfLine) {
-+- do {
-++ while (1) {
-++ code1 = lookBits(13);
-+ if (code1 == EOF) {
-+ eof = gTrue;
-+ return EOF;
-+ }
-++ if ((code1 >> 1) == 0x001) {
-++ break;
-++ }
-+ eatBits(1);
-+- code1 = lookBits(13);
-+- } while ((code1 >> 1) != 0x001);
-++ }
-+ eatBits(12);
-+ if (encoding > 0) {
-+ eatBits(1);
-+@@ -1577,11 +1602,11 @@
-+ }
-+ }
-+
-+- a0 = 0;
-+- outputBits = codingLine[1] - codingLine[0];
-+- if (outputBits == 0) {
-+- a0 = 1;
-+- outputBits = codingLine[2] - codingLine[1];
-++ // set up for output
-++ if (codingLine[0] > 0) {
-++ outputBits = codingLine[a0i = 0];
-++ } else {
-++ outputBits = codingLine[a0i = 1];
-+ }
-+
-+ ++row;
-+@@ -1589,39 +1614,43 @@
-+
-+ // get a byte
-+ if (outputBits >= 8) {
-+- ret = ((a0 & 1) == 0) ? 0xff : 0x00;
-+- if ((outputBits -= 8) == 0) {
-+- ++a0;
-+- if (codingLine[a0] < columns) {
-+- outputBits = codingLine[a0 + 1] - codingLine[a0];
-+- }
-++ buf = (a0i & 1) ? 0x00 : 0xff;
-++ outputBits -= 8;
-++ if (outputBits == 0 && codingLine[a0i] < columns) {
-++ ++a0i;
-++ outputBits = codingLine[a0i] - codingLine[a0i - 1];
-+ }
-+ } else {
-+ bits = 8;
-+- ret = 0;
-++ buf = 0;
-+ do {
-+ if (outputBits > bits) {
-+- i = bits;
-+- bits = 0;
-+- if ((a0 & 1) == 0) {
-+- ret |= 0xff >> (8 - i);
-++ buf <<= bits;
-++ if (!(a0i & 1)) {
-++ buf |= 0xff >> (8 - bits);
-+ }
-+- outputBits -= i;
-++ outputBits -= bits;
-++ bits = 0;
-+ } else {
-+- i = outputBits;
-+- bits -= outputBits;
-+- if ((a0 & 1) == 0) {
-+- ret |= (0xff >> (8 - i)) << bits;
-++ buf <<= outputBits;
-++ if (!(a0i & 1)) {
-++ buf |= 0xff >> (8 - outputBits);
-+ }
-++ bits -= outputBits;
-+ outputBits = 0;
-+- ++a0;
-+- if (codingLine[a0] < columns) {
-+- outputBits = codingLine[a0 + 1] - codingLine[a0];
-++ if (codingLine[a0i] < columns) {
-++ ++a0i;
-++ outputBits = codingLine[a0i] - codingLine[a0i - 1];
-++ } else if (bits > 0) {
-++ buf <<= bits;
-++ bits = 0;
-+ }
-+ }
-+- } while (bits > 0 && codingLine[a0] < columns);
-++ } while (bits);
-++ }
-++ if (black) {
-++ buf ^= 0xff;
-+ }
-+- buf = black ? (ret ^ 0xff) : ret;
-+ return buf;
-+ }
-+
-+@@ -1663,6 +1692,9 @@
-+ code = 0; // make gcc happy
-+ if (endOfBlock) {
-+ code = lookBits(12);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if ((code >> 5) == 0) {
-+ p = &whiteTab1[code];
-+ } else {
-+@@ -1675,6 +1707,9 @@
-+ } else {
-+ for (n = 1; n <= 9; ++n) {
-+ code = lookBits(n);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if (n < 9) {
-+ code <<= 9 - n;
-+ }
-+@@ -1686,6 +1721,9 @@
-+ }
-+ for (n = 11; n <= 12; ++n) {
-+ code = lookBits(n);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if (n < 12) {
-+ code <<= 12 - n;
-+ }
-+@@ -1711,9 +1749,12 @@
-+ code = 0; // make gcc happy
-+ if (endOfBlock) {
-+ code = lookBits(13);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if ((code >> 7) == 0) {
-+ p = &blackTab1[code];
-+- } else if ((code >> 9) == 0) {
-++ } else if ((code >> 9) == 0 && (code >> 7) != 0) {
-+ p = &blackTab2[(code >> 1) - 64];
-+ } else {
-+ p = &blackTab3[code >> 7];
-+@@ -1725,6 +1766,9 @@
-+ } else {
-+ for (n = 2; n <= 6; ++n) {
-+ code = lookBits(n);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if (n < 6) {
-+ code <<= 6 - n;
-+ }
-+@@ -1736,6 +1780,9 @@
-+ }
-+ for (n = 7; n <= 12; ++n) {
-+ code = lookBits(n);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if (n < 12) {
-+ code <<= 12 - n;
-+ }
-+@@ -1749,6 +1796,9 @@
-+ }
-+ for (n = 10; n <= 13; ++n) {
-+ code = lookBits(n);
-++ if (code == EOF) {
-++ return 1;
-++ }
-+ if (n < 13) {
-+ code <<= 13 - n;
-+ }
-+@@ -1963,6 +2013,12 @@
-+ // allocate a buffer for the whole image
-+ bufWidth = ((width + mcuWidth - 1) / mcuWidth) * mcuWidth;
-+ bufHeight = ((height + mcuHeight - 1) / mcuHeight) * mcuHeight;
-++ if (bufWidth <= 0 || bufHeight <= 0 ||
-++ bufWidth > INT_MAX / bufWidth / (int)sizeof(int)) {
-++ error(getPos(), "Invalid image size in DCT stream");
-++ y = height;
-++ return;
-++ }
-+ for (i = 0; i < numComps; ++i) {
-+ frameBuf[i] = (int *)gmallocn(bufWidth * bufHeight, sizeof(int));
-+ memset(frameBuf[i], 0, bufWidth * bufHeight * sizeof(int));
-+@@ -3038,6 +3094,11 @@
-+ }
-+ scanInfo.firstCoeff = str->getChar();
-+ scanInfo.lastCoeff = str->getChar();
-++ if (scanInfo.firstCoeff < 0 || scanInfo.lastCoeff > 63 ||
-++ scanInfo.firstCoeff > scanInfo.lastCoeff) {
-++ error(getPos(), "Bad DCT coefficient numbers in scan info block");
-++ return gFalse;
-++ }
-+ c = str->getChar();
-+ scanInfo.ah = (c >> 4) & 0x0f;
-+ scanInfo.al = c & 0x0f;
-+diff -urNad xpdf-3.02~/xpdf/Stream.h xpdf-3.02/xpdf/Stream.h
-+--- xpdf-3.02~/xpdf/Stream.h 2007-02-27 23:05:52.000000000 +0100
-++++ xpdf-3.02/xpdf/Stream.h 2007-11-09 09:20:09.000000000 +0100
-+@@ -528,13 +528,15 @@
-+ int row; // current row
-+ int inputBuf; // input buffer
-+ int inputBits; // number of bits in input buffer
-+- short *refLine; // reference line changing elements
-+- int b1; // index into refLine
-+- short *codingLine; // coding line changing elements
-+- int a0; // index into codingLine
-++ int *codingLine; // coding line changing elements
-++ int *refLine; // reference line changing elements
-++ int a0i; // index into codingLine
-++ GBool err; // error on current line
-+ int outputBits; // remaining ouput bits
-+ int buf; // character buffer
-+
-++ void addPixels(int a1, int black);
-++ void addPixelsNeg(int a1, int black);
-+ short getTwoDimCode();
-+ short getWhiteCode();
-+ short getBlackCode();
---- xpdf-3.02.orig/debian/patches/10_add_accelerators.dpatch
-+++ xpdf-3.02/debian/patches/10_add_accelerators.dpatch
-@@ -0,0 +1,33 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 10_add_accelerators.dpatch by <hamish@noddy.cloud.net.au>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Add keyboard accelerators for rotate (#385962)
-+
-+@DPATCH@
-+diff -urNad xpdf-3.02~/xpdf/XPDFViewer.cc xpdf-3.02/xpdf/XPDFViewer.cc
-+--- xpdf-3.02~/xpdf/XPDFViewer.cc 2007-04-25 01:40:50.000000000 +1000
-++++ xpdf-3.02/xpdf/XPDFViewer.cc 2007-04-25 01:42:13.000000000 +1000
-+@@ -1958,16 +1958,22 @@
-+ n = 0;
-+ s = XmStringCreateLocalized("Rotate counterclockwise");
-+ XtSetArg(args[n], XmNlabelString, s); ++n;
-++ s2 = XmStringCreateLocalized("[");
-++ XtSetArg(args[n], XmNacceleratorText, s2); ++n;
-+ btn = XmCreatePushButton(popupMenu, "rotateCCW", args, n);
-+ XmStringFree(s);
-++ XmStringFree(s2);
-+ XtManageChild(btn);
-+ XtAddCallback(btn, XmNactivateCallback,
-+ &rotateCCWCbk, (XtPointer)this);
-+ n = 0;
-+ s = XmStringCreateLocalized("Rotate clockwise");
-+ XtSetArg(args[n], XmNlabelString, s); ++n;
-++ s2 = XmStringCreateLocalized("]");
-++ XtSetArg(args[n], XmNacceleratorText, s2); ++n;
-+ btn = XmCreatePushButton(popupMenu, "rotateCW", args, n);
-+ XmStringFree(s);
-++ XmStringFree(s2);
-+ XtManageChild(btn);
-+ XtAddCallback(btn, XmNactivateCallback,
-+ &rotateCWCbk, (XtPointer)this);
---- xpdf-3.02.orig/debian/patches/fix-CVE-2007-3387_CVE-2007-5049.dpatch
-+++ xpdf-3.02/debian/patches/fix-CVE-2007-3387_CVE-2007-5049.dpatch
-@@ -0,0 +1,31 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## fix-CVE-2007-3387_CVE-2007-5049.dpatch by Nico Golde <nion@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: No description.
-+
-+@DPATCH@
-+diff -urNad xpdf-3.02~/xpdf/Stream.cc xpdf-3.02/xpdf/Stream.cc
-+--- xpdf-3.02~/xpdf/Stream.cc 2007-02-27 23:05:52.000000000 +0100
-++++ xpdf-3.02/xpdf/Stream.cc 2007-09-27 12:04:52.000000000 +0200
-+@@ -410,15 +410,13 @@
-+ ok = gFalse;
-+
-+ nVals = width * nComps;
-+- if (width <= 0 || nComps <= 0 || nBits <= 0 ||
-+- nComps >= INT_MAX / nBits ||
-+- width >= INT_MAX / nComps / nBits ||
-+- nVals * nBits + 7 < 0) {
-+- return;
-+- }
-+ pixBytes = (nComps * nBits + 7) >> 3;
-+ rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
-+- if (rowBytes <= 0) {
-++ if (width <= 0 || nComps <= 0 || nBits <= 0 ||
-++ nComps > gfxColorMaxComps ||
-++ nBits > 16 ||
-++ width >= INT_MAX / nComps || // check for overflow in nVals
-++ nVals >= (INT_MAX - 7) / nBits) { // check for overflow in rowBytes
-+ return;
-+ }
-+ predLine = (Guchar *)gmalloc(rowBytes);
---- xpdf-3.02.orig/debian/patches/99_autoconf.dpatch
-+++ xpdf-3.02/debian/patches/99_autoconf.dpatch
-@@ -0,0 +1,19 @@
-+#! /bin/sh -e
-+## DP: run aclocal and autoconf
-+
-+dpatch_patch ()
-+{
-+ tar cf debian/patched/autoconf.tar configure aclocal.m4
-+ aclocal-1.9 -I .
-+ autoconf
-+}
-+
-+dpatch_unpatch ()
-+{
-+ tar xf debian/patched/autoconf.tar
-+}
-+
-+DPATCH_LIB_NO_DEFAULT=1
-+
-+. /usr/share/dpatch/dpatch.lib.sh
-+
---- xpdf-3.02.orig/debian/patches/41_lesstif_cpp.dpatch
-+++ xpdf-3.02/debian/patches/41_lesstif_cpp.dpatch
-@@ -0,0 +1,30 @@
-+#! /bin/sh /usr/share/dpatch/dpatch-run
-+## 41_lesstif_cpp.dpatch by <hamish@debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Work around mixed C/C++ linkages in lesstif - #377230
-+
-+@DPATCH@
-+diff -urNad xpdf-3.01~/lesstif/Xm/VendorSP.h xpdf-3.01/lesstif/Xm/VendorSP.h
-+--- xpdf-3.01~/lesstif/Xm/VendorSP.h 2006-05-28 08:30:56.000000000 +1000
-++++ xpdf-3.01/lesstif/Xm/VendorSP.h 2006-07-15 14:42:38.000000000 +1000
-+@@ -30,10 +30,6 @@
-+ #include <Xm/VendorS.h>
-+ #include <X11/ShellP.h>
-+
-+-#ifdef __cplusplus
-+-extern "C" {
-+-#endif
-+-
-+ XMLIBEXPORT extern Cardinal _XmFilterResources(XtResource *resources,
-+ Cardinal numResources,
-+ WidgetClass filterClass,
-+@@ -58,8 +54,5 @@
-+ XMLIBEXPORT extern VendorShellClassRec vendorShellClassRec;
-+
-+
-+-#ifdef __cplusplus
-+-}
-+-#endif
-+
-+ #endif /* _XM_VENDORSP_H */
---- xpdf-3.02.orig/debian/zxpdf
-+++ xpdf-3.02/debian/zxpdf
-@@ -0,0 +1,52 @@
-+#!/bin/bash
-+
-+# Copyright (c) 2001 Alcove - http://www.alcove.com/
-+# Please distribute under the terms of the GNU GPL, version 2
-+
-+# Author: Yann Dirson <yann.dirson@fr.alcove.com>
-+# $Id: zxpdf,v 1.1 2001/09/28 10:23:35 ydirson Exp $
-+
-+set -e
-+
-+file=
-+flags=
-+title="zxpdf"
-+while [ $# -gt 0 ]
-+do
-+ case "$1" in
-+ -z|-g|-geometry|-remote|-rgb|-papercolor|-eucjp|-t1lib|-ps|-paperw|-paperh)
-+ flags="$flags $1 $2"; shift ;;
-+ -title) title="$2"; shift ;;
-+ -*) flags="$flags $1" ;;
-+ *.pdf|*.PDF) file="$1"; shift; pages="$@"; cat=; break ;;
-+ *.gz|*.Z) file="$1"; shift; pages="$@"; cat=zcat; break ;;
-+ *.bz2) file="$1"; shift; pages="$@"; cat=bzcat; break ;;
-+ *) echo >&2 "ERROR: unknown suffix in file \`$1'"; exit 1 ;;
-+ esac
-+ shift
-+done
-+
-+if [ $# -ge 1 ] # optional page argument
-+then
-+ echo >&2 "ERROR: Too many arguments"
-+fi
-+
-+if [ x"$title" == x -a x"$tmp" != x ]
-+then
-+ title="zxpdf: $file"
-+fi
-+
-+if [ -z "$cat" ]
-+then
-+ tmp="$file"
-+else
-+ tmp=$(basename "$file")
-+ tmp=$(tempfile -p "${tmp%.pdf*}" -s .pdf)
-+ $cat "$file" >"$tmp"
-+fi
-+
-+if [ "$tmp" == "" ]; then
-+ exec xpdf -title $title $flags
-+else
-+ exec xpdf -title $title $flags "$tmp" $pages
-+fi
---- xpdf-3.02.orig/debian/copyright
-+++ xpdf-3.02/debian/copyright
-@@ -0,0 +1,42 @@
-+
-+This is Debian GNU/Linux's prepackaged version of the 'xpdf' viewer written
-+by Derek B. Noonburg. This package was original built by
-+Dirk Eddelbuettel <edd@qed.econ.queensu.ca> and since 1998 has been
-+maintained by Hamish Moffatt <hamish@debian.org>. Current sources are found
-+at
-+ http://www.foolabs.com/xpdf
-+
-+
-+The upstream author's email address is: derekn@foolabs.com
-+
-+Copyright:
-+
-+Xpdf is copyright 1996-2007 Derek B. Noonburg.
-+
-+Xpdf is licensed under the GNU General Public License (GPL), version
-+2. In my opinion, the GPL is a convoluted, confusing, ambiguous mess.
-+But it's also pervasive, and I'm sick of arguing. And even if it is
-+confusing, the basic idea is good.
-+
-+In order to cut down on the confusion a little bit, here are some
-+informal clarifications:
-+
-+- I don't mind if you redistribute xpdf in source and/or binary form,
-+ as long as you include all of the documentation: README, man pages
-+ (or help files), and COPYING. (Note that the README file contains a
-+ pointer to a web page with the source code.)
-+
-+- Selling a CD-ROM that contains xpdf is fine with me, as long as it
-+ includes the documentation. I wouldn't mind receiving a sample
-+ copy, but it's not necessary.
-+
-+- If you make useful changes to xpdf, please make the source code
-+ available -- post it on a web site, email it to me, whatever.
-+
-+For information on commercial licensing and consulting, please see the
-+Glyph & Cog web site:
-+
-+ http://www.glyphandcog.com/
-+
-+The full text of the GPL can be found in /usr/share/common-licenses/GPL.
-+
---- xpdf-3.02.orig/debian/xpdf.xpm
-+++ xpdf-3.02/debian/xpdf.xpm
-@@ -0,0 +1,177 @@
-+/* XPM */
-+static char *xpdf[] = {
-+/* columns rows colors chars-per-pixel */
-+"32 32 139 2",
-+" c #003D000F000F",
-+". c #0CE40CE00CE0",
-+"X c #1E7600000000",
-+"o c #138D13B413B4",
-+"O c #19E816001600",
-+"+ c #1B021CF31CF3",
-+"@ c #26B900000000",
-+"# c #2D20004E004E",
-+"$ c #2DCD0F260F26",
-+"% c #342B0C290C29",
-+"& c #39F700000000",
-+"* c #35BB16E016E0",
-+"= c #3F3D10DC10DC",
-+"- c #23C023C023C0",
-+"; c #2DB72DF22DF2",
-+": c #32B02C2C2C2C",
-+"> c #331533153315",
-+", c #3D4F3DAB3DAB",
-+"< c #412900000000",
-+"1 c #4E4400000000",
-+"2 c #438A16751675",
-+"3 c #552E00090009",
-+"4 c #589D00000000",
-+"5 c #553814381438",
-+"6 c #466A40084008",
-+"7 c #578D29C429C4",
-+"8 c #63DD00000000",
-+"9 c #706515B015B0",
-+"0 c #708517F717F7",
-+"q c #71D819011901",
-+"w c #42B142B242B2",
-+"e c #4AB94AB64AB6",
-+"r c #5F30420C420C",
-+"t c #52F852745274",
-+"y c #553A59885988",
-+"u c #5C0B535A535A",
-+"i c #599959D559D5",
-+"p c #618059D459D4",
-+"a c #7FA2562B562B",
-+"s c #63F465206520",
-+"d c #699169916991",
-+"f c #7B317B717B71",
-+"g c #AE2F00880088",
-+"h c #B26E00000000",
-+"j c #B8C604F204F2",
-+"k c #B90308810881",
-+"l c #B13817391739",
-+"z c #BFF611DD11DD",
-+"x c #A7343C313C31",
-+"c c #B6A136E436E4",
-+"v c #B14F39523952",
-+"b c #A7CA44514451",
-+"n c #AC7B5BE65BE6",
-+"m c #ABF678C378C3",
-+"M c #C79F00000000",
-+"N c #CD5500170017",
-+"B c #C4B212E112E1",
-+"V c #CED416B516B5",
-+"C c #DD5300000000",
-+"Z c #DCAC0C610C61",
-+"A c #D83D139D139D",
-+"S c #DCCB13C113C1",
-+"D c #D90D194E194E",
-+"F c #D87234623462",
-+"G c #D84A3CFC3CFC",
-+"H c #DED13D643D64",
-+"J c #E229000B000B",
-+"K c #E2CE09930993",
-+"L c #E45115631563",
-+"P c #E54D19161916",
-+"I c #E2BC21232123",
-+"U c #CE1D46944694",
-+"Y c #CD8C53CB53CB",
-+"T c #D70F42BB42BB",
-+"R c #DA5454E754E7",
-+"E c #D9295CAA5CAA",
-+"W c #CAFD63A163A1",
-+"Q c #C9846E7E6E7E",
-+"! c #DEBA65C865C8",
-+"~ c #DD2D7F957F95",
-+"^ c #E4DA44214421",
-+"/ c #E3A452AE52AE",
-+"( c #ED3959C459C4",
-+") c #E22F650D650D",
-+"_ c #845284888488",
-+"` c #86F188C288C2",
-+"' c #8DE18DEE8DEE",
-+"] c #935A941B941B",
-+"[ c #9CE89CF49CF4",
-+"{ c #A7A8850E850E",
-+"} c #AA8084FC84FC",
-+"| c #AFF888F088F0",
-+" . c #B29381928192",
-+".. c #B6EE8A448A44",
-+"X. c #A3FDA3EBA3EB",
-+"o. c #AB35AC0CAC0C",
-+"O. c #B246B246B246",
-+"+. c #B969B4DDB4DD",
-+"@. c #BB90BB8FBB8F",
-+"#. c #CD068F7A8F7A",
-+"$. c #CDC0936A936A",
-+"%. c #D20085B385B3",
-+"&. c #D6699ED29ED2",
-+"*. c #DC829C599C59",
-+"=. c #CD42A62FA62F",
-+"-. c #CE21ABF7ABF7",
-+";. c #CD9AB2CBB2CB",
-+":. c #CD0CC08AC08A",
-+">. c #D8C2A77BA77B",
-+",. c #EAE89F659F65",
-+"<. c #EC71BE37BE37",
-+"1. c #F4BBA0EAA0EA",
-+"2. c #F5C9AB37AB37",
-+"3. c #FB7DAD09AD09",
-+"4. c #C526C505C505",
-+"5. c #CD07CC65CC65",
-+"6. c #D032D33DD33D",
-+"7. c #D630C522C522",
-+"8. c #DA43C538C538",
-+"9. c #DFD0CAA7CAA7",
-+"0. c #D260D3EFD3EF",
-+"q. c #D4D9D990D990",
-+"w. c #DB0BDBC3DBC3",
-+"e. c #E08DE8F0E8F0",
-+"r. c #E76CC6A0C6A0",
-+"t. c #E78BD27BD27B",
-+"y. c #EFD9D5B1D5B1",
-+"u. c #EAC6DCDCDCDC",
-+"i. c #E5DCE474E474",
-+"p. c #E7BFEA2AEA2A",
-+"a. c #ED83E7CCE7CC",
-+"s. c #EBD0EBC8EBC8",
-+"d. c #EE64F2ADF2AD",
-+"f. c #F714E461E461",
-+"g. c #F915E48FE48F",
-+"h. c #FD3EEA64EA64",
-+"j. c #F276F27AF27A",
-+"k. c #FCA4F400F400",
-+"l. c #FFF3FFF3FFF3",
-+/* pixels */
-+" ",
-+" ",
-+"< 1 1 3 3 & @ 1 1 @ ",
-+"8 N J J J N 4 # g J h # ",
-+" 4 N J J J N 4 O w w o o 6 b A h # ",
-+" 4 N J C J N 4 , w.5.> O X.4.7.>.% ",
-+" 4 N J J J N 4 O.O. ` y.F ! q.O ",
-+" 4 N J J J N 4 - 0.o. # ;.2.h 2 , ",
-+" 4 N J J J N 4 w s.] @ x p.| # ",
-+" 4 N J J J N 4 w p.} g T p._ ",
-+" 3 N J J J N 4 e d.%.C U s.f ",
-+" . . 3 M J J J N 4 X i k.H g a s.> ",
-+" ; @.f t n / D J J B 6 y u .h.l 7 ] j.d t . ",
-+" > @.l.w.] s 6.*.K A #.8.W ! u.a.* ; [ d.d t ",
-+" o _ 4.l.d d h.A Q e.R C A r.6.o . +.5.o ",
-+" + _ j.e i s.0 &.<.A J A 8.4.. . 4.4.o ",
-+" _ s.w i p.O o.3.C J S t.4.. o 5.@.. ",
-+" ] s.w . ] 6.= -.2.C J P h.~ 4 O i.f ",
-+" X.j.w w w...j ,.r.c N ^ k.( N 0 s.i ",
-+" o.s.] ' o...z J c 4.5.$.=.f.1.K ) g.X.. ",
-+" O 4.O.O + 2 k J g # o + + 5 V P K L D q ",
-+" w s.] # g J h # 4 N J J C N 4 ",
-+" w p._ @ h J g # 4 N J J J N 4 ",
-+" e d.} g J h # 4 N J J J N 4 ",
-+" i k.Y J g # 4 N J J J N 4 ",
-+" s h.I g # 4 N J J J N 4 ",
-+" $ +.s.m # 4 N J J J N 4 ",
-+" # g T b : 4 N J J J N 4 ",
-+" # h J g # 4 N J J J N < ",
-+" @ 1 1 @ & 1 3 1 3 X ",
-+" ",
-+" "
-+};
---- xpdf-3.02.orig/debian/xpdf-wrapper
-+++ xpdf-3.02/debian/xpdf-wrapper
-@@ -0,0 +1,5 @@
-+#!/bin/bash
-+LANG=C
-+LC_ALL=C
-+export LANG LC_ALL
-+exec -a xpdf xpdf.bin "$@"
---- xpdf-3.02.orig/debian/rules
-+++ xpdf-3.02/debian/rules
-@@ -0,0 +1,110 @@
-+#!/usr/bin/make -f
-+# -*- makefile -*-
-+# debian.rules file for the Debian GNU/Linux xpdf package
-+# Copyright 1996,1997,1998 by Dirk Eddelbuettel <edd@debian.org>
-+# Copyright 1998-2006 by Hamish Moffatt <hamish@debian.org>
-+
-+build: build-stamp
-+build-stamp: patch
-+ dh_testdir
-+ #CC=gcc-4.0 CXX=g++-4.0 ./configure
-+ ./configure \
-+ --prefix=/usr \
-+ --sysconfdir=/etc/xpdf \
-+ --mandir=/usr/share/man \
-+ --with-x \
-+ --enable-freetype2 \
-+ --enable-opi \
-+ --enable-wordlist \
-+ --enable-multithreaded \
-+ --with-Xm-includes=$(shell pwd)/lesstif \
-+ --with-freetype2-includes=/usr/include/freetype2 \
-+ --with-t1-includes=/usr/include
-+ $(MAKE)
-+ touch build-stamp
-+
-+clean: clean1 unpatch
-+clean1:
-+ dh_testdir
-+ -$(MAKE) -i distclean
-+ rm -rf *~ debian/*~ debian/files* build-stamp aconf.h
-+ rm -rf fofi/Makefile splash/Makefile
-+ dh_clean
-+
-+binary-indep: # Nothing to build
-+ dh_testdir
-+ dh_installdirs -i
-+ ln -sf xpdf-common debian/xpdf/usr/share/doc/xpdf
-+
-+ cp doc/xpdfrc.5 debian/xpdf-common/usr/share/man/man5
-+ cp debian/xpdfrc debian/xpdf-common/usr/share/doc/xpdf-common/examples/sample-xpdfrc
-+ cp debian/update-xpdfrc debian/xpdf-common/usr/sbin
-+ chmod +x debian/xpdf-common/usr/sbin/update-xpdfrc
-+ cp debian/xpdfrc debian/xpdf-common/etc/xpdf
-+ cp debian/xpdf-bug-control debian/xpdf/usr/share/bug/xpdf/control
-+
-+ dh_installdocs -pxpdf-common README debian/README.Debian
-+ dh_installchangelogs -pxpdf-common CHANGES
-+ cp debian/update-xpdfrc.8 debian/xpdf-common/usr/share/man/man8
-+
-+ cp -a debian/lang/* debian/xpdf-common/
-+
-+ dh_compress -i
-+ dh_fixperms -i
-+ dh_installdeb -i
-+ dh_shlibdeps -i
-+ dh_gencontrol -i
-+ dh_md5sums -i
-+ dh_builddeb -i
-+
-+binary-arch: build
-+ dh_testdir
-+
-+ dh_installdirs -a
-+ mkdir -p debian/tmp
-+ mkdir -p debian/tmp/usr/share
-+ $(MAKE) install DESTDIR=`pwd`/debian/tmp
-+
-+ ln -sf xpdf-common debian/xpdf-reader/usr/share/doc/xpdf-reader
-+ ln -sf xpdf-common debian/xpdf-utils/usr/share/doc/xpdf-utils
-+
-+ cp debian/zxpdf debian/xpdf-reader/usr/bin
-+ chmod +x debian/xpdf-reader/usr/bin/zxpdf
-+ ln -sf xpdf.1.gz debian/xpdf-reader/usr/share/man/man1/zxpdf.1.gz
-+ ln -sf xpdf.1.gz debian/xpdf-reader/usr/share/man/man1/xpdf.bin.1.gz
-+
-+ cp debian/xpdf.xpm debian/xpdf-reader/usr/share/pixmaps
-+
-+ dh_installdocs -a
-+ dh_movefiles -a
-+ rm -rf debian/tmp
-+
-+ # rename xpdf binary and install wrapper script
-+ mv debian/xpdf-reader/usr/bin/xpdf debian/xpdf-reader/usr/bin/xpdf.bin
-+ cp debian/xpdf-wrapper debian/xpdf-reader/usr/bin/xpdf
-+ chmod +x debian/xpdf-reader/usr/bin/xpdf
-+ cp debian/xpdf.desktop debian/xpdf-reader/usr/share/applications/
-+
-+ dh_installmime -pxpdf-reader
-+ dh_installmenu -pxpdf-reader
-+ dh_strip -a
-+ dh_desktop -a
-+ dh_compress -a
-+ dh_fixperms -a
-+ dh_installdeb -a
-+ dh_shlibdeps -a
-+ dh_gencontrol -a
-+ dh_md5sums -a
-+ dh_builddeb -a
-+
-+patch: patch-stamp
-+patch-stamp:
-+ dpatch apply-all
-+ #dpatch call-all -a=pkg-info >patch-stamp
-+ touch patch-stamp
-+
-+unpatch:
-+ dpatch deapply-all
-+ rm -rf patch-stamp debian/patched
-+
-+binary: binary-indep binary-arch
diff --git a/source/xap/xpdf/patches/xpdfrc.diff b/source/xap/xpdf/patches/xpdfrc.diff
index f005414e..c136f997 100644
--- a/source/xap/xpdf/patches/xpdfrc.diff
+++ b/source/xap/xpdf/patches/xpdfrc.diff
@@ -1,43 +1,43 @@
---- ./doc/sample-xpdfrc.orig 2005-08-17 00:34:30.000000000 -0500
-+++ ./doc/sample-xpdfrc 2007-02-17 21:26:12.000000000 -0600
+--- ./doc/sample-xpdfrc.orig 2013-03-28 15:29:16.957444255 -0500
++++ ./doc/sample-xpdfrc 2013-03-28 15:32:11.413438678 -0500
@@ -29,20 +29,20 @@
# installed in a "standard" location, xpdf will find them
# automatically.)
--#displayFontT1 Times-Roman /usr/local/share/ghostscript/fonts/n021003l.pfb
--#displayFontT1 Times-Italic /usr/local/share/ghostscript/fonts/n021023l.pfb
--#displayFontT1 Times-Bold /usr/local/share/ghostscript/fonts/n021004l.pfb
--#displayFontT1 Times-BoldItalic /usr/local/share/ghostscript/fonts/n021024l.pfb
--#displayFontT1 Helvetica /usr/local/share/ghostscript/fonts/n019003l.pfb
--#displayFontT1 Helvetica-Oblique /usr/local/share/ghostscript/fonts/n019023l.pfb
--#displayFontT1 Helvetica-Bold /usr/local/share/ghostscript/fonts/n019004l.pfb
--#displayFontT1 Helvetica-BoldOblique /usr/local/share/ghostscript/fonts/n019024l.pfb
--#displayFontT1 Courier /usr/local/share/ghostscript/fonts/n022003l.pfb
--#displayFontT1 Courier-Oblique /usr/local/share/ghostscript/fonts/n022023l.pfb
--#displayFontT1 Courier-Bold /usr/local/share/ghostscript/fonts/n022004l.pfb
--#displayFontT1 Courier-BoldOblique /usr/local/share/ghostscript/fonts/n022024l.pfb
--#displayFontT1 Symbol /usr/local/share/ghostscript/fonts/s050000l.pfb
--#displayFontT1 ZapfDingbats /usr/local/share/ghostscript/fonts/d050000l.pfb
-+displayFontT1 Times-Roman /usr/share/ghostscript/fonts/n021003l.pfb
-+displayFontT1 Times-Italic /usr/share/ghostscript/fonts/n021023l.pfb
-+displayFontT1 Times-Bold /usr/share/ghostscript/fonts/n021004l.pfb
-+displayFontT1 Times-BoldItalic /usr/share/ghostscript/fonts/n021024l.pfb
-+displayFontT1 Helvetica /usr/share/ghostscript/fonts/n019003l.pfb
-+displayFontT1 Helvetica-Oblique /usr/share/ghostscript/fonts/n019023l.pfb
-+displayFontT1 Helvetica-Bold /usr/share/ghostscript/fonts/n019004l.pfb
-+displayFontT1 Helvetica-BoldOblique /usr/share/ghostscript/fonts/n019024l.pfb
-+displayFontT1 Courier /usr/share/ghostscript/fonts/n022003l.pfb
-+displayFontT1 Courier-Oblique /usr/share/ghostscript/fonts/n022023l.pfb
-+displayFontT1 Courier-Bold /usr/share/ghostscript/fonts/n022004l.pfb
-+displayFontT1 Courier-BoldOblique /usr/share/ghostscript/fonts/n022024l.pfb
-+displayFontT1 Symbol /usr/share/ghostscript/fonts/s050000l.pfb
-+displayFontT1 ZapfDingbats /usr/share/ghostscript/fonts/d050000l.pfb
+-#fontFile Times-Roman /usr/local/share/ghostscript/fonts/n021003l.pfb
+-#fontFile Times-Italic /usr/local/share/ghostscript/fonts/n021023l.pfb
+-#fontFile Times-Bold /usr/local/share/ghostscript/fonts/n021004l.pfb
+-#fontFile Times-BoldItalic /usr/local/share/ghostscript/fonts/n021024l.pfb
+-#fontFile Helvetica /usr/local/share/ghostscript/fonts/n019003l.pfb
+-#fontFile Helvetica-Oblique /usr/local/share/ghostscript/fonts/n019023l.pfb
+-#fontFile Helvetica-Bold /usr/local/share/ghostscript/fonts/n019004l.pfb
+-#fontFile Helvetica-BoldOblique /usr/local/share/ghostscript/fonts/n019024l.pfb
+-#fontFile Courier /usr/local/share/ghostscript/fonts/n022003l.pfb
+-#fontFile Courier-Oblique /usr/local/share/ghostscript/fonts/n022023l.pfb
+-#fontFile Courier-Bold /usr/local/share/ghostscript/fonts/n022004l.pfb
+-#fontFile Courier-BoldOblique /usr/local/share/ghostscript/fonts/n022024l.pfb
+-#fontFile Symbol /usr/local/share/ghostscript/fonts/s050000l.pfb
+-#fontFile ZapfDingbats /usr/local/share/ghostscript/fonts/d050000l.pfb
++fontFile Times-Roman /usr/share/ghostscript/fonts/n021003l.pfb
++fontFile Times-Italic /usr/share/ghostscript/fonts/n021023l.pfb
++fontFile Times-Bold /usr/share/ghostscript/fonts/n021004l.pfb
++fontFile Times-BoldItalic /usr/share/ghostscript/fonts/n021024l.pfb
++fontFile Helvetica /usr/share/ghostscript/fonts/n019003l.pfb
++fontFile Helvetica-Oblique /usr/share/ghostscript/fonts/n019023l.pfb
++fontFile Helvetica-Bold /usr/share/ghostscript/fonts/n019004l.pfb
++fontFile Helvetica-BoldOblique /usr/share/ghostscript/fonts/n019024l.pfb
++fontFile Courier /usr/share/ghostscript/fonts/n022003l.pfb
++fontFile Courier-Oblique /usr/share/ghostscript/fonts/n022023l.pfb
++fontFile Courier-Bold /usr/share/ghostscript/fonts/n022004l.pfb
++fontFile Courier-BoldOblique /usr/share/ghostscript/fonts/n022024l.pfb
++fontFile Symbol /usr/share/ghostscript/fonts/s050000l.pfb
++fontFile ZapfDingbats /usr/share/ghostscript/fonts/d050000l.pfb
# If you need to display PDF files that refer to non-embedded fonts,
# you should add one or more fontDir options to point to the
-@@ -88,4 +88,4 @@
- # Set the command used to run a web browser when a URL hyperlink is
+@@ -89,4 +89,4 @@
# clicked.
+ #launchCommand viewer-script
-#urlCommand "netscape -remote 'openURL(%s)'"
+#urlCommand "firefox -remote 'openURL(%s)'"
diff --git a/source/xap/xpdf/xpdf.SlackBuild b/source/xap/xpdf/xpdf.SlackBuild
index 6093f21d..6aa5e1b4 100755
--- a/source/xap/xpdf/xpdf.SlackBuild
+++ b/source/xap/xpdf/xpdf.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.02
-PATCHLEVEL=pl6
-BUILD=${BUILD:-4}
+VERSION=3.03
+PATCHLEVEL=
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -70,15 +70,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/patches/xpdf-resizefix.diff.gz | patch -p1 --verbose || exit 1
-cat $CWD/patches/xpdf-3.02pl1.patch | patch -p1 --verbose || exit 1
-cat $CWD/patches/xpdf-3.02pl2.patch | patch -p1 --verbose || exit 1
-cat $CWD/patches/xpdf-3.02pl3.patch | patch -p1 --verbose || exit 1
-cat $CWD/patches/xpdf-3.02pl4.patch | patch -p1 --verbose || exit 1
-cat $CWD/patches/xpdf-3.02pl5.patch | patch -p1 --verbose || exit 1
-zcat $CWD/patches/xpdf_3.02-1.3.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/patches/xpdfrc.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/03-float.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/xpdf.XPDFViewer.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/xpdf-3.03-CVE-2012-2142.diff.gz | patch -p1 --verbose || exit 1
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -87,9 +81,7 @@ CXXFLAGS="$SLKCFLAGS" \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--sysconfdir=/etc \
- --with-gzip \
--with-freetype2-includes=/usr/include/freetype2 \
- --without-t1-library \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
@@ -120,15 +112,16 @@ cat xpdf/xpdfIcon.xpm > $PKG/usr/share/pixmaps/xpdfIcon.xpm
# Add additional language support:
for language in xpdf-arabic xpdf-chinese-simplified xpdf-chinese-traditional xpdf-cyrillic xpdf-greek xpdf-hebrew xpdf-japanese xpdf-korean xpdf-latin2 xpdf-thai xpdf-turkish ; do
rm -rf ${language}
- tar xf $CWD/lang/${language}.tar.gz
+ tar xf $CWD/lang/${language}*.tar.gz
( cd ${language}
+ echo "Patching for ${language}:"
zcat $CWD/lang/${language}.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
chown -R root:root .
find . -type f -exec chmod 644 {} \;
cat add-to-xpdfrc >> $PKG/etc/xpdfrc.new
mkdir -p $PKG/usr/share/xpdf/$(echo ${language} | cut -f2- -d -)
cp -a * $PKG/usr/share/xpdf/$(echo ${language} | cut -f2- -d -)
- )
+ ) || exit 1
done
find $PKG | xargs file | grep -e "executable" -e "shared object" \
diff --git a/source/xap/xsane/xsane.SlackBuild b/source/xap/xsane/xsane.SlackBuild
index b301d081..991cea30 100755
--- a/source/xap/xsane/xsane.SlackBuild
+++ b/source/xap/xsane/xsane.SlackBuild
@@ -22,7 +22,7 @@
VERSION=0.998
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xap/xscreensaver/dump.osx.sources.sh b/source/xap/xscreensaver/dump.osx.sources.sh
new file mode 100755
index 00000000..fc3c5f46
--- /dev/null
+++ b/source/xap/xscreensaver/dump.osx.sources.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+# Repacks the xscreensaver tarball to remove the unneeded OSX sources.
+
+VERSION=${VERSION:-$(echo xscreensaver-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+
+tar xf xscreensaver-${VERSION}.tar.xz || exit 1
+mv xscreensaver-${VERSION}.tar.xz xscreensaver-${VERSION}.tar.xz.orig
+rm -r xscreensaver-${VERSION}/OSX/*
+tar cf xscreensaver-${VERSION}.tar xscreensaver-${VERSION}
+rm -r xscreensaver-${VERSION}
+xz -9 xscreensaver-${VERSION}.tar
+touch -r xscreensaver-${VERSION}.tar.xz.orig xscreensaver-${VERSION}.tar.xz
+rm xscreensaver-${VERSION}.tar.xz.orig
diff --git a/source/xap/xscreensaver/slack-desc b/source/xap/xscreensaver/slack-desc
index 85e2b909..ea0efe02 100644
--- a/source/xap/xscreensaver/slack-desc
+++ b/source/xap/xscreensaver/slack-desc
@@ -13,7 +13,7 @@ xscreensaver: customizable: allows the use of any program that can draw on the
xscreensaver: root window as a display mode. More than 100 display modes are
xscreensaver: included in this package.
xscreensaver:
-xscreensaver:
+xscreensaver: Homepage: http://www.jwz.org/xscreensaver
xscreensaver:
xscreensaver:
xscreensaver:
diff --git a/source/xap/xscreensaver/xscreensaver.SlackBuild b/source/xap/xscreensaver/xscreensaver.SlackBuild
index 830c4dd9..b7ca3799 100755
--- a/source/xap/xscreensaver/xscreensaver.SlackBuild
+++ b/source/xap/xscreensaver/xscreensaver.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=${VERSION:-$(echo xscreensaver-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/xap/xxgdb/slack-desc b/source/xap/xxgdb/slack-desc
deleted file mode 100644
index 4905df86..00000000
--- a/source/xap/xxgdb/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-xxgdb: xxgdb (graphical program debugger interface)
-xxgdb:
-xxgdb: Xxgdb is a graphical user interface to the gdb debugger under the X
-xxgdb: Window System. It provides visual feedback and mouse input for the
-xxgdb: user to control program execution through breakpoints, to examine and
-xxgdb: traverse the function call stack, and to display values of variables
-xxgdb: and data structures.
-xxgdb:
-xxgdb:
-xxgdb:
-xxgdb:
diff --git a/source/xap/xxgdb/xxgdb-1.08-glibc.patch b/source/xap/xxgdb/xxgdb-1.08-glibc.patch
deleted file mode 100644
index 6ec7032c..00000000
--- a/source/xap/xxgdb/xxgdb-1.08-glibc.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- xxgdb/calldbx.c.ewt Thu Aug 29 15:39:07 1996
-+++ xxgdb/calldbx.c Thu Aug 29 15:39:31 1996
-@@ -76,6 +76,7 @@
- #include "global.h"
- #if !(defined(OLDSUNOS) || defined(BSD))
- #include <termio.h>
-+#include <sys/ioctl.h>
- #else
- #include <sgtty.h>
- #endif
diff --git a/source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch b/source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch
deleted file mode 100644
index c8595731..00000000
--- a/source/xap/xxgdb/xxgdb-1.12-debian-filemenu.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- xxgdb-1.12/filemenu.c.build 2009-03-29 12:26:26.000000000 +0200
-+++ xxgdb-1.12/filemenu.c 2009-03-29 12:26:26.000000000 +0200
-@@ -83,6 +83,7 @@
-
- #ifdef SYSV
- #include <stdio.h>
-+#include <stdlib.h>
- #include <sys/param.h>
- #include <sys/types.h>
- #include <dirent.h>
diff --git a/source/xap/xxgdb/xxgdb-1.12-debian-pty.patch b/source/xap/xxgdb/xxgdb-1.12-debian-pty.patch
deleted file mode 100644
index 7a56971f..00000000
--- a/source/xap/xxgdb/xxgdb-1.12-debian-pty.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff -urNad xxgdb-1.12~/calldbx.c xxgdb-1.12/calldbx.c
---- xxgdb-1.12~/calldbx.c 1996-10-02 10:59:45.000000000 +0200
-+++ xxgdb-1.12/calldbx.c 2008-05-16 17:44:05.000000000 +0200
-@@ -85,8 +85,10 @@
- #include <sys/un.h>
- #endif /* CREATE_IO_WINDOW */
-
--#ifdef SVR4
-+#if defined(SVR4) || defined(UNIX98)
- #define MASTER_CLONE "/dev/ptmx"
-+#endif
-+#ifdef SVR4
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/stropts.h>
-@@ -125,13 +127,14 @@
- {
- int master;
-
--#ifdef SVR4 /* (MJH) Use STREAMS */
-+#if defined(SVR4) || defined(UNIX98)
-
- if((master = open(MASTER_CLONE, O_RDWR)) < 0)
- perror(MASTER_CLONE);
- else
- return master;
--#else
-+#endif
-+#if !defined(SVR4) && !defined(UNIX98)
- int i;
- char c;
-
-@@ -150,7 +153,7 @@
- #ifndef sco
- }
- #endif
--#endif /* SVR4 */
-+#endif /* !defined(SVR4) && !defined(UNIX98) */
-
- #ifdef GDB
- fprintf(stderr, "xxgdb: all ptys in use\n");
-@@ -166,6 +169,25 @@
- {
- int slave;
-
-+#if defined(UNIX98)
-+
-+ int n;
-+ int zero=0;
-+ char ptsname[16];
-+
-+ if (ioctl(master, TIOCGPTN, &n) < 0)
-+ exit(2);
-+ snprintf(ptsname,sizeof(ptsname),"/dev/pts/%i", n);
-+ if (ioctl(master, TIOCSPTLCK, &zero) < 0)
-+ exit(3);
-+ if ((slave = open(ptsname, O_RDWR)) < 0) {
-+ perror(ptsname);
-+ exit(4);
-+ }
-+ return slave;
-+
-+#else
-+
- #ifdef SVR4 /* (MJH) */
- char *slave_name = "unknown";
- extern char *ptsname(int master);
-@@ -193,6 +215,8 @@
- }
- return slave;
- #endif /* SVR4 */
-+
-+#endif /* UNIX98 */
- }
-
- #ifdef CREATE_IO_WINDOW
diff --git a/source/xap/xxgdb/xxgdb-1.12-mandriva.patch b/source/xap/xxgdb/xxgdb-1.12-mandriva.patch
deleted file mode 100644
index 3d384f32..00000000
--- a/source/xap/xxgdb/xxgdb-1.12-mandriva.patch
+++ /dev/null
@@ -1,993 +0,0 @@
-diff -p -up xxgdb-1.12/command.c.orig xxgdb-1.12/command.c
---- xxgdb-1.12/command.c.orig 2010-05-06 21:43:37.932032547 -0300
-+++ xxgdb-1.12/command.c 2010-05-06 21:43:56.618036569 -0300
-@@ -74,7 +74,7 @@
- *
- * forwardSearch() : forward string search
- * reverseSearch() : reverse string search
-- * Search() : call either forwardSearch() or reverseSearch()
-+ * search() : call either forwardSearch() or reverseSearch()
- * PopupSearch() : command callback for search button
- * DoneSearch() : command callback for DONE button in search panel
- * CreateSearchPopup() : create search panel
-@@ -657,10 +657,8 @@ void PopupSearch(w, client_data, call_da
- * If no text has been entered, the contents of the cut buffer are used
- * for searching.
- */
--static void Search(w, direction, call_data)
-- Widget w;
-- XtPointer direction;
-- XtPointer call_data;
-+static void
-+search(Widget w, XtPointer direction, XtPointer call_data)
- {
- XawTextBlock textblock;
- XawTextPosition pos, left, right;
-@@ -716,7 +714,7 @@ static void Activate(w, event, params, n
- String *params;
- Cardinal *num_params;
- {
-- Search(w, (XtPointer)FORWARD, NULL);
-+ search(w, (XtPointer)FORWARD, NULL);
- DoneSearch(w, (XtPointer)searchPopupShell, NULL);
- }
-
-@@ -747,8 +745,8 @@ static void CreateSearchPopup()
- searchPopup = XtCreateManagedWidget("searchPopup", dialogWidgetClass,
- searchPopupShell, args, n);
-
-- AddButton(searchPopup, "<<", Search, (XtPointer) REVERSE);
-- AddButton(searchPopup, ">>", Search, (XtPointer) FORWARD);
-+ AddButton(searchPopup, "<<", search, (XtPointer) REVERSE);
-+ AddButton(searchPopup, ">>", search, (XtPointer) FORWARD);
- AddButton(searchPopup, "DONE", DoneSearch, (XtPointer)searchPopupShell);
-
- dialogValue = XtNameToWidget(searchPopup, "value");
-diff -p -up xxgdb-1.12/dialog.c.orig xxgdb-1.12/dialog.c
---- xxgdb-1.12/dialog.c.orig 2010-05-06 21:43:37.934032296 -0300
-+++ xxgdb-1.12/dialog.c 2010-05-06 21:44:28.258027728 -0300
-@@ -86,6 +86,12 @@ Boolean FalseSignal = FALSE; /* set to
- static char DialogText[DIALOGSIZE]; /* text buffer for widget */
- static XawTextPosition StartPos; /* starting position of input text */
-
-+static XawTextEditType
-+BeginDelete(Widget w);
-+
-+static void
-+EndDelete(Widget w, XawTextEditType type);
-+
-
- /* This procedure prevents the user from deleting past the prompt, or
- * any text appended by AppendDialogText() to the dialog window.
-@@ -94,11 +100,8 @@ static XawTextPosition StartPos;
- * character() can only delete the space character.
- */
- /* ARGSUSED */
--static void InsertSpace(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+InsertSpace(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextBlock textblock;
- XawTextPosition lastPos;
-@@ -115,16 +118,70 @@ static void InsertSpace(w, event, params
- }
- }
-
-+static XawTextEditType
-+BeginDelete(Widget w)
-+{
-+ Widget src;
-+ XawTextEditType type;
-+ Arg args[1];
-+
-+ src = XawTextGetSource(w);
-+ XtSetArg(args[0], XtNeditType, &type);
-+ XtGetValues(src, args, 1);
-+ if (type != XawtextEdit) {
-+ XtSetArg(args[0], XtNeditType, XawtextEdit);
-+ XtSetValues(src, args, 1);
-+ }
-+
-+ return (type);
-+}
-+
-+static void
-+EndDelete(Widget w, XawTextEditType type)
-+{
-+ Widget src;
-+ Arg args[1];
-+
-+ if (type != XawtextEdit) {
-+ src = XawTextGetSource(w);
-+ XtSetArg(args[0], XtNeditType, type);
-+ XtSetValues(src, args, 1);
-+ }
-+}
-+
-+/*
-+ * Previous logic of calling actions:
-+ * InsertSpace() delete-previous-char()
-+ * is not going to work because it must create a text in append only
-+ * mode, so, hack it here to actually delete a character...
-+ */
-+void
-+DeleteChar(Widget w, XEvent *event, String *params, Cardinal *num_params)
-+{
-+ XawTextEditType type;
-+ XawTextBlock block;
-+ XawTextPosition point;
-+
-+ if (StartPos < (point = XawTextGetInsertionPoint(w))) {
-+ type = BeginDelete(w);
-+ block.firstPos = 0;
-+ block.length = 0;
-+ block.ptr = "";
-+ block.format = 8;
-+ XawTextReplace(w, point - 1, point, &block);
-+ XawTextSetInsertionPoint(w, point - 1);
-+ EndDelete(w, type);
-+ }
-+}
-+
- /* Erases the preceding word.
- * Simulates the action of the WERASE character (ctrl-W).
- */
- /* ARGSUSED */
--void DeleteWord(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+DeleteWord(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
-+ XawTextEditType type;
- XawTextBlock textblock;
- XawTextPosition pos;
- Cardinal i;
-@@ -138,8 +195,10 @@ void DeleteWord(w, event, params, num_pa
- pos = TextGetLastPos(w);
- for (i=pos; i > StartPos && DialogText[i-1] == ' '; i--);
- for (; i > StartPos && DialogText[i-1] != ' '; i--);
-+ type = BeginDelete(w);
- XawTextReplace(w, i, pos, &textblock);
- XawTextSetInsertionPoint(w, i);
-+ EndDelete(w, type);
- }
-
-
-@@ -147,12 +206,10 @@ void DeleteWord(w, event, params, num_pa
- * simulates the action of the KILL character (ctrl-U).
- */
- /* ARGSUSED */
--void DeleteLine(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+DeleteLine(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
-+ XawTextEditType type;
- XawTextBlock textblock;
- XawTextPosition pos, beginPos;
- Cardinal i;
-@@ -172,8 +229,10 @@ void DeleteLine(w, event, params, num_pa
- return;
- }
- for (i=pos; i > beginPos && s[i-1] != '\n'; i--);
-+ type = BeginDelete(w);
- XawTextReplace(w, i, pos, &textblock);
- XawTextSetInsertionPoint(w, i);
-+ EndDelete(w, type);
- }
-
-
-@@ -183,11 +242,8 @@ void DeleteLine(w, event, params, num_pa
- * it is stored in the global variable, Command.
- */
- /* ARGSUSED */
--static void Dispatch(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+Dispatch(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- #ifdef GDB
- /*
-@@ -249,22 +305,16 @@ void signal_interrupt_dbx()
- * Simulates the action of the INTR character (ctrl-C).
- */
- /* ARGSUSED */
--static void SigInt(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+SigInt(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- signal_interrupt_dbx ();
- }
-
- /* Sends an EOF signal to dbx. (ctrl-D) */
- /* ARGSUSED */
--static void SigEof(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+SigEof(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- write_dbx("\04");
- }
-@@ -274,11 +324,8 @@ static void SigEof(w, event, params, num
- * Simulates the action of the QUIT character (ctrl-\)
- */
- /* ARGSUSED */
--static void SigQuit(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+SigQuit(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- FalseSignal = TRUE;
-
-@@ -301,29 +348,8 @@ Widget parent;
- Arg args[MAXARGS];
- Cardinal n;
-
-- static XtActionsRec dialog_actions[] = {
-- {"SigInt", (XtActionProc) SigInt},
-- {"SigEof", (XtActionProc) SigEof},
-- {"SigQuit", (XtActionProc) SigQuit},
-- {"InsertSpace", (XtActionProc) InsertSpace},
-- {"Dispatch", (XtActionProc) Dispatch},
-- {NULL, NULL}
-- };
--
-- static String translations = "#override\n\
-- Ctrl<Key>C: SigInt()\n\
-- Ctrl<Key>D: SigEof()\n\
-- Ctrl<Key>|: SigQuit()\n\
-- Ctrl<Key>W: DeleteWord()\n\
-- Ctrl<Key>U: DeleteLine()\n\
-- Ctrl<Key>H: InsertSpace() delete-previous-character()\n\
-- <Key>Delete: InsertSpace() delete-previous-character()\n\
-- <Key>BackSpace: InsertSpace() delete-previous-character()\n\
-- <Key>Return: newline() Dispatch()\n\
-- ";
--
- n = 0;
-- XtSetArg(args[n], XtNuseStringInPlace, True); n++;
-+ XtSetArg(args[n], XtNuseStringInPlace, True); n++;
- XtSetArg(args[n], XtNstring, (XtArgVal) DialogText); n++;
- XtSetArg(args[n], XtNlength, (XtArgVal) DIALOGSIZE); n++;
- XtSetArg(args[n], XtNeditType, (XtArgVal) XawtextAppend); n++;
-@@ -331,8 +357,6 @@ Widget parent;
- XtSetArg(args[n], XtNwrap, XawtextWrapWord); n++;
- dialogWindow = XtCreateManagedWidget("dialogWindow", asciiTextWidgetClass,
- parent, args, n );
-- XtOverrideTranslations(dialogWindow, XtParseTranslationTable(translations));
-- XtAppAddActions(app_context, dialog_actions, XtNumber(dialog_actions));
- }
-
- #if 0 /* never used */
-diff -p -up xxgdb-1.12/gdb_parser.c.orig xxgdb-1.12/gdb_parser.c
---- xxgdb-1.12/gdb_parser.c.orig 2010-05-06 21:43:37.936032292 -0300
-+++ xxgdb-1.12/gdb_parser.c 2010-05-06 21:44:36.001027757 -0300
-@@ -1053,7 +1053,6 @@ FILE *f;
- if(errno == EAGAIN || errno == EWOULDBLOCK) {
- break;
- }
-- perror("read from gdb");
- exit(1);
- /*NOTREACHED*/
- }
-diff -p -up xxgdb-1.12/global.h.orig xxgdb-1.12/global.h
---- xxgdb-1.12/global.h.orig 2010-05-06 21:43:37.938031470 -0300
-+++ xxgdb-1.12/global.h 2010-05-06 21:44:48.480028375 -0300
-@@ -111,10 +111,34 @@ extern void read_dbx(); /* get data f
- extern void write_dbx(); /* send data to dbx */
- extern void query_dbx(); /* ask dbx for info */
-
-+extern void
-+PopupSearch(Widget w, XtPointer client_data, XtPointer call_data);
-+
- /* dialog.c */
-+extern void
-+DeleteChar(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+DeleteLine(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+DeleteWord(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+Dispatch(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+InsertSpace(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SigInt(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SigEof(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SigQuit(Widget w, XEvent *event, String *params, Cardinal *num_params);
-
--extern void DeleteLine(); /* delete line action proc */
--extern void DeleteWord(); /* delete word action proc */
- extern void CreateDialogWindow();
- extern void AppendDialogText(); /* append text to buffer */
-
-@@ -163,18 +187,53 @@ extern void UpdateUpdown(); /* update
- extern void UpdateBomb(); /* update position of bomb */
-
- /* source.c */
-+extern void
-+CreateSourceWindow(Widget parent);
-+
-+extern char *
-+GetPathname(char *filename);
-+
-+extern int
-+LoadCurrentFile(void);
-+
-+extern int
-+LoadFile(char *filename);
-+
-+extern void
-+MakeDirList(char *output);
-+
-+extern void
-+NotifyResize(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+PrintSelection(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+Search(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SelectEnd(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SelectStart(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+SelectWord(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+source_init(void);
-+
-+extern void
-+Update(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+#ifdef EDIT_BUTTON
-+extern void
-+EdAction(Widget w, XEvent *event, String *params, Cardinal *num_params);
-+
-+extern void
-+StartEditor(void);
-+#endif
-
--extern void SelectStart(); /* modified select-start */
--extern void SelectEnd(); /* modified select-end */
--extern void SelectWord(); /* my select word */
--extern void PrintSelection(); /* select variable and print */
--extern void Update(); /* update line label */
--extern void source_init(); /* init routine */
--extern void CreateSourceWindow();
--extern int LoadFile(); /* display source file */
--extern int LoadCurrentFile(); /* display source file */
--extern char *GetPathname(); /* get full path name of file */
--extern void MakeDirList(); /* maintain list of dirs */
-
- /* utils.c */
-
-diff -p -up xxgdb-1.12/source.c.orig xxgdb-1.12/source.c
---- xxgdb-1.12/source.c.orig 2010-05-06 21:43:37.940032123 -0300
-+++ xxgdb-1.12/source.c 2010-05-06 21:43:56.626028358 -0300
-@@ -106,7 +106,8 @@ static FileRec **fileTable; /* table of
- static int fileTableSize; /* size of file table */
- static char *dirList[MAXDIRS]; /* list of dirs for searching files */
-
--void source_init()
-+void
-+source_init(void)
- {
- dirList[0] = NULL;
- }
-@@ -116,11 +117,8 @@ void source_init()
- * line label.
- */
- /* ARGSUSED */
--void Update(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+extern void
-+Update(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextPosition pos;
- int topline;
-@@ -171,11 +169,8 @@ void Update(w, event, params, num_params
- * Invoked by ConfigureNotify event.
- */
- /* ARGSUSED */
--static void NotifyResize(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+NotifyResize(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextPosition pos;
- TextWidget ctx = (TextWidget) sourceWindow;
-@@ -216,11 +211,8 @@ void UpdateLine(w, event, params, num_pa
- * near the bottom of an Athena text widget window.
- */
- /* ARGSUSED */
--void SelectStart(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+SelectStart(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextPosition topPosition;
-
-@@ -241,11 +233,8 @@ void SelectStart(w, event, params, num_p
- * selection and cut buffer 0.
- */
- /* ARGSUSED */
--void SelectEnd(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+extern void
-+SelectEnd(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextPosition begin, end, start;
- Widget textsrc;
-@@ -274,11 +263,8 @@ void SelectEnd(w, event, params, num_par
- * It selects a word delimited by DELIMITERS, not whitespace.
- */
- /* ARGSUSED */
--void SelectWord(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+SelectWord(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- XawTextPosition pos, left, right, start;
- XawTextBlock buffer;
-@@ -328,11 +314,8 @@ void SelectWord(w, event, params, num_pa
-
- /* Print the value of the expression in cut buffer 0. */
- /* ARGSUSED */
--void PrintSelection(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+PrintSelection(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- char command[LINESIZ];
- char *string;
-@@ -351,24 +334,16 @@ void PrintSelection(w, event, params, nu
-
- #ifdef EDIT_BUTTON
- /* allow invocation of favorite editor from within interface */
--extern void StartEditor();
--void EdAction(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+EdAction(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- StartEditor();
- }
- #endif /* EDIT_BUTTON */
-
- /* fixes keybindings in source window */
--extern PopupSearch();
--void Search(w, event, params, num_params)
-- Widget w;
-- XEvent *event;
-- String *params;
-- Cardinal *num_params;
-+void
-+Search(Widget w, XEvent *event, String *params, Cardinal *num_params)
- {
- PopupSearch(w, NULL, NULL);
- }
-@@ -383,134 +358,12 @@ void Search(w, event, params, num_params
- have operative keys in the editor window for moving around (move stop
- signs and such around too) */
-
--void CreateSourceWindow(parent)
--Widget parent;
-+void
-+CreateSourceWindow(Widget parent)
- {
-- TextWidget ctx;
- Arg args[MAXARGS];
- Cardinal n;
-
-- static XtActionsRec sbar_actions[] = {
-- {"NotifyResize", NotifyResize},
-- {"Update", Update},
-- {NULL, NULL}
-- };
--
-- /* fixes keybindings in source window */
-- static XtActionsRec text_actions[] = {
-- {"Update", Update},
--#ifdef EDIT_BUTTON
-- {"Editor", EdAction},
--#endif
-- {"Search", Search},
-- {NULL, NULL}
-- };
--
--#ifdef EDIT_BUTTON
--
-- static String eTextTranslations = "#override \n\
-- Ctrl<Key>V: next-page() Update(warp) \n\
-- Meta<Key>V: previous-page() Update(warp) \n\
-- Ctrl<Key>N: next-line() Update() \n\
-- Ctrl<Key>P: previous-line() Update() \n\
-- Ctrl<Key>Z: scroll-one-line-up() Update(warp) \n\
-- Meta<Key>Z: scroll-one-line-down() Update(warp) \n\
-- Meta<Key>]: forward-paragraph() Update(warp) \n\
-- Meta<Key>[: backward-paragraph() Update(warp) \n\
-- Meta<Key>F: forward-word() Update() \n\
-- Meta<Key>B: backward-word() Update() \n\
-- Ctrl<Key>F: forward-character() Update() \n\
-- Ctrl<Key>B: backward-character() Update() \n\
-- Meta<Key>E: Editor() \n\
-- Meta<Key><: beginning-of-file() Update(warp) \n\
-- Meta<Key>>: end-of-file() Update(warp) \n\
-- <Key>L: redraw-display() Update() \n\
-- <Key>S: Search() Update() \n\
-- <Key>R: Search() Update() \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: Update() SelectEnd() PrintSelection() \n\
-- <Btn1Up>: Update() SelectEnd() \n\
-- ";
--
-- static String vTextTranslations = "#override \n\
-- Ctrl<Key>F: next-page() Update(warp) \n\
-- Ctrl<Key>B: previous-page() Update(warp) \n\
-- Ctrl<Key>D: next-page() Update() \n\
-- Ctrl<Key>U: previous-page() Update() \n\
-- <Key>Return: next-line() Update() \n\
-- <Key>-: previous-line() Update() \n\
-- <Key>j: next-line() Update() \n\
-- <Key>k: previous-line() Update() \n\
-- <Key>space: forward-character() Update() \n\
-- <Key>BackSpace: backward-character() Update() \n\
-- <Key>1: beginning-of-file() Update(warp) \n\
-- <Key>G: end-of-file() Update(warp) \n\
-- <Key>E: Editor() \n\
-- <Key>L: redraw-display() Update() \n\
-- <Key>/: Search() Update() \n\
-- <Key>?: Search() Update() \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: Update() SelectEnd() PrintSelection() \n\
-- <Btn1Up>: Update() SelectEnd() \n\
-- ";
--
--#else /* not EDIT_BUTTON */
--
-- static String eTextTranslations = "#override \n\
-- Ctrl<Key>V: next-page() Update(warp) \n\
-- Meta<Key>V: previous-page() Update(warp) \n\
-- Ctrl<Key>N: next-line() Update() \n\
-- Ctrl<Key>P: previous-line() Update() \n\
-- Ctrl<Key>Z: scroll-one-line-up() Update(warp) \n\
-- Meta<Key>Z: scroll-one-line-down() Update(warp) \n\
-- Meta<Key>]: forward-paragraph() Update(warp) \n\
-- Meta<Key>[: backward-paragraph() Update(warp) \n\
-- Meta<Key>F: forward-word() Update() \n\
-- Meta<Key>B: backward-word() Update() \n\
-- Ctrl<Key>F: forward-character() Update() \n\
-- Ctrl<Key>B: backward-character() Update() \n\
-- Meta<Key><: beginning-of-file() Update(warp) \n\
-- Meta<Key>>: end-of-file() Update(warp) \n\
-- <Key>L: redraw-display() Update() \n\
-- <Key>S: Search() Update() \n\
-- <Key>R: Search() Update() \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: Update() SelectEnd() PrintSelection() \n\
-- <Btn1Up>: Update() SelectEnd() \n\
-- ";
--
-- static String vTextTranslations = "#override \n\
-- Ctrl<Key>F: next-page() Update(warp) \n\
-- Ctrl<Key>B: previous-page() Update(warp) \n\
-- Ctrl<Key>D: next-page() Update() \n\
-- Ctrl<Key>U: previous-page() Update() \n\
-- <Key>Return: next-line() Update() \n\
-- <Key>-: previous-line() Update() \n\
-- <Key>j: next-line() Update() \n\
-- <Key>k: previous-line() Update() \n\
-- <Key>space: forward-character() Update() \n\
-- <Key>BackSpace: backward-character() Update() \n\
-- <Key>1: beginning-of-file() Update(warp) \n\
-- <Key>G: end-of-file() Update(warp) \n\
-- <Key>L: redraw-display() Update() \n\
-- <Key>/: Search() Update() \n\
-- <Key>?: Search() Update() \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: Update() SelectEnd() PrintSelection() \n\
-- <Btn1Up>: Update() SelectEnd() \n\
-- ";
--
--#endif /* EDIT_BUTTON */
--
-- /* fixes keybindings in source window */
-- static String sbarTranslations = "\
-- <Configure>: NotifyResize() \n\
-- <Btn2Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \
-- Update() \n\
-- <Btn2Motion>: MoveThumb() NotifyThumb() Update() \n\
-- <BtnUp>: NotifyScroll(Proportional) EndScroll() Update() \n\
-- ";
--
- n = 0;
- XtSetArg(args[n], XtNdefaultDistance, 0); n++;
- sourceForm = XtCreateManagedWidget("sourceForm", formWidgetClass,
-@@ -523,27 +376,6 @@ Widget parent;
- XtSetArg(args[n], XtNscrollVertical, (XtArgVal) XawtextScrollAlways);n++;
- sourceWindow = XtCreateManagedWidget("sourceWindow", asciiTextWidgetClass,
- sourceForm, args, n);
--
-- ctx = (TextWidget) sourceWindow;
-- if (ctx->text.vbar)
-- XtOverrideTranslations(ctx->text.vbar,
-- XtParseTranslationTable(sbarTranslations));
-- XtAppAddActions(app_context, sbar_actions, XtNumber(sbar_actions));
--
-- /* fixes keybindings in source window */
-- XtAppAddActions(app_context, text_actions, XtNumber(text_actions));
-- if (app_resources.bindings && strcmp(app_resources.bindings, "vi") == 0)
-- XtOverrideTranslations((Widget) ctx, XtParseTranslationTable(vTextTranslations));
-- else
-- XtOverrideTranslations((Widget) ctx, XtParseTranslationTable(eTextTranslations));
--
-- /* setup tabulation */
-- if (app_resources.tabstop >= 0) {
-- int tab, tabs[256];
-- for (n = 0, tab = 0; n < sizeof tabs / sizeof *tabs; n++)
-- tabs[n] = (tab += app_resources.tabstop);
-- XawTextSinkSetTabs(ctx->text.sink, sizeof tabs / sizeof *tabs, tabs);
-- }
- }
-
-
-@@ -553,8 +385,8 @@ Widget parent;
- * > Starting position of line #1 is 0, and is stored in linepos[1].
- * > Search for '\n' till end of buffer.
- */
--static void BuildLinePos(file)
--FileRec *file;
-+static void
-+BuildLinePos(FileRec *file)
- {
- char *p;
- int line, nlines;
-@@ -587,7 +419,8 @@ FileRec *file;
- * there might be another path to the same files.
- */
-
--static void CheckLookUpFileTable()
-+static void
-+CheckLookUpFileTable(void)
- {
- int i;
- char * newfullname;
-@@ -639,7 +472,8 @@ static void CheckLookUpFileTable()
- * display if necessary.
- *
- */
--void CleanUpFileTable ()
-+void
-+CleanUpFileTable(void)
- {
- CheckLookUpFileTable();
- if (displayedFile == NULL)
-@@ -651,9 +485,8 @@ void CleanUpFileTable ()
- * If not found, create an entry and initialize proper fields,
- * else, return pointer to entry found.
- */
--static int LookUpFileTable(pathname, filename, file)
--char *pathname, *filename;
--FileRec **file;
-+static int
-+LookUpFileTable(char *pathname, char *filename, FileRec **file)
- {
- struct stat fileinfo;
- int fd;
-@@ -754,7 +587,8 @@ FileRec **file;
- /*
- * Remember file position and current line before closing.
- */
--static void SaveDisplayedFileInfo()
-+static void
-+SaveDisplayedFileInfo(void)
- {
- XawTextPosition pos;
-
-@@ -771,8 +605,8 @@ static void SaveDisplayedFileInfo()
- * must recalculate bottomline because the window size might be
- * different.
- */
--static void DisplayFile(file)
--FileRec *file;
-+static void
-+DisplayFile(FileRec *file)
- {
- Arg args[MAXARGS];
- Cardinal n;
-@@ -792,8 +626,8 @@ FileRec *file;
- * the home directory of that user, or to the login home directory if user
- * is not specified.
- */
--static char *expand(filename)
--char *filename;
-+static char *
-+expand(char *filename)
- {
- struct passwd *pwd;
- char *string, *name, newfile[MAXNAME];
-@@ -821,8 +655,8 @@ char *filename;
- *
- * With fix from Dave Gagne (daveg@fs1.ee.ubc.ca) 7/30/90
- */
--void MakeDirList(output)
--char *output;
-+void
-+MakeDirList(char *output)
- {
- /* fix bug where if text of a directories command is > 1k, crashes. Now works to 4k */
- char *s, list[LINESIZ], command[LINESIZ];
-@@ -889,8 +723,8 @@ char *output;
- /* Returns the full pathname of a given file.
- * It searches for the file from a list of directories.
- */
--char *GetPathname(filename)
--char *filename;
-+char *
-+GetPathname(char *filename)
- {
- char pathname[LINESIZ];
- int i;
-@@ -949,8 +783,8 @@ char *filename;
- * 5. update the file label and the various signs on the source window.
- * LoadFile returns 0 upon successful completion, -1 otherwise.
- */
--int LoadFile(filename)
--char *filename;
-+int
-+LoadFile(char *filename)
- {
- FileRec *file;
- char *pathname;
-@@ -980,7 +814,8 @@ char *filename;
- }
- }
-
--int LoadCurrentFile()
-+int
-+LoadCurrentFile(void)
- {
- #ifdef GDB
- query_gdb ("info line\n", PARSE_ON | ECHO_OFF | FILTER_OFF);
-@@ -991,10 +826,11 @@ int LoadCurrentFile()
- }
-
- #ifdef EDIT_BUTTON
--/* simply add editor button that calls $XXGDBWINEDIT, $WINEDIT, xxgdbedit in that order */
-+/* simply add editor button that calls $EDITOR and xedit in that order */
- /* allow invocation of fav. editor from within interface */
- /* button and the EdAction action procedure for the source window */
--void StartEditor ()
-+void
-+StartEditor(void)
- {
- XawTextPosition pos;
- char* editor;
-@@ -1002,11 +838,9 @@ void StartEditor ()
- int result;
-
- if (displayedFile == NULL) return;
-- editor = (char *) getenv("XXGDBWINEDIT");
-- if (editor == NULL)
-- editor = (char *) getenv("WINEDIT");
-+ editor = (char *) getenv("EDITOR");
- if (editor == NULL)
-- editor = "xxgdbedit";
-+ editor = "xedit";
- pos = XawTextGetInsertionPoint(sourceWindow);
- displayedFile->currentline = TextPositionToLine(pos);
- sprintf(string, "nohup %s +%d %s&\n",
-@@ -1043,8 +877,7 @@ void StartEditor ()
- *
- */
- char *
--GetSourcePathname (filename)
--char *filename;
-+GetSourcePathname(char *filename)
- {
- char *srcpath;
- char curr_src [MAXPATHLEN];
-diff -p -up xxgdb-1.12/XDbx.ad.orig xxgdb-1.12/XDbx.ad
---- xxgdb-1.12/XDbx.ad.orig 2010-05-06 21:43:37.942032512 -0300
-+++ xxgdb-1.12/XDbx.ad 2010-05-06 21:43:56.626028358 -0300
-@@ -19,31 +19,41 @@
- *sourceForm.preferredPaneSize: 320
- *sourceWindow.leftMargin: 35
- *sourceWindow.scrollHorizontal: whenNeeded
--*sourceWindow.translations: #override \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: Update(warp) SelectEnd() PrintSelection() \n\
-- <Btn1Up>: Update(warp) SelectEnd() \n\
-- <Key>Down: next-line() Update()\n\
-- <Key>Up: previous-line() Update() \n\
-- Ctrl<Key>L: redraw-display() Update() \n\
-- Ctrl<Key>N: next-line() Update() \n\
-- Ctrl<Key>P: previous-line() Update() \n\
-- Ctrl<Key>V: next-page() Update() \n\
-- Ctrl<Key>Z: scroll-one-line-up() Update() \n\
-- Meta<Key>V: previous-page() Update() \n\
-- Meta<Key>Z: scroll-one-line-down() Update() \n\
-- :Meta<Key>\>: end-of-file() Update() \n\
-- :Meta<Key>]: forward-paragraph() Update() \n\
-- :Meta<Key>[: backward-paragraph() Update()
-+*sourceWindow.translations: #override \
-+ <Btn1Down>: set-keyboard-focus() SelectStart() SelectWord()\n\
-+ Shift<Btn1Up>: Update(warp) SelectEnd() PrintSelection()\n\
-+ <Btn1Up>: Update(warp) SelectEnd()\n\
-+ <Key>Down: next-line() Update()\n\
-+ <Key>Up: previous-line() Update()\n\
-+ Ctrl<Key>L: redraw-display() Update()\n\
-+ Ctrl<Key>N: next-line() Update()\n\
-+ Ctrl<Key>P: previous-line() Update()\n\
-+ Ctrl<Key>V: next-page() Update()\n\
-+ Ctrl<Key>Z: scroll-one-line-up() Update()\n\
-+ Meta<Key>V: previous-page() Update()\n\
-+ Meta<Key>Z: scroll-one-line-down() Update()\n\
-+ :Meta<Key>\>: end-of-file() Update()\n\
-+ :Meta<Key>]: forward-paragraph() Update()\n\
-+ :Meta<Key>[: backward-paragraph() Update()
- *messageWindow*font: variable
- *messageWindow.min: 30
- *messageWindow.max: 30
- *dialogWindow.preferredPaneSize: 200
- *dialogWindow.resizeToPreferred: True
--*dialogWindow.translations: #override \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: SelectEnd() PrintSelection() \n\
-- <Btn1Up>: SelectEnd() \n
-+*dialogWindow.translations: #override \
-+ <Btn1Down>: set-keyboard-focus() SelectStart() SelectWord()\n\
-+ Shift<Btn1Up>: SelectEnd() PrintSelection()\n\
-+ <Btn1Up>: SelectEnd()\n\
-+ Ctrl<Key>C: SigInt()\n\
-+ Ctrl<Key>D: SigEof()\n\
-+ Ctrl<Key>|: SigQuit()\n\
-+ <Key>Tab: no-op(r)\n\
-+ Ctrl<Key>W: DeleteWord()\n\
-+ Ctrl<Key>U: DeleteLine()\n\
-+ Ctrl<Key>H: DeleteChar()\n\
-+ <Key>Delete: DeleteChar()\n\
-+ <Key>BackSpace: DeleteChar()\n\
-+ <Key>Return: newline() Dispatch()
- *commandWindow.preferredPaneSize: 135
- *commandWindow.skipAdjust: True
- !*commandWindow.hSpace: 14
-@@ -55,8 +65,8 @@
- *displayWindow.skipAdjust: True
- *displayWindow.scrollVertical: whenNeeded
- *displayWindow.scrollHorizontal: whenNeeded
--*displayWindow.translations: #override \n\
-- <Btn1Down>: SelectStart() SelectWord() \n\
-- Shift<Btn1Up>: SelectEnd() PrintSelection() \n\
-- <Btn1Up>: SelectEnd() \n
-+*displayWindow.translations: #override \
-+ <Btn1Down>: set-keyboard-focus() SelectStart() SelectWord()\n\
-+ Shift<Btn1Up>: SelectEnd() PrintSelection()\n\
-+ <Btn1Up>: SelectEnd()
- *popup*showGrip: False
-diff -p -up xxgdb-1.12/xdbx.c.orig xxgdb-1.12/xdbx.c
---- xxgdb-1.12/xdbx.c.orig 2010-05-06 21:43:37.944031595 -0300
-+++ xxgdb-1.12/xdbx.c 2010-05-06 21:43:56.628036652 -0300
-@@ -191,19 +191,11 @@ String fallback_resources[] = {
- #endif
- "*sourceWindow.leftMargin: 35",
- "*sourceWindow.scrollHorizontal: whenNeeded",
-- "*sourceWindow.translations: #override \\n\
-- <Btn1Down>: SelectStart() SelectWord() \\n\
-- Shift<Btn1Up>: Update() SelectEnd() PrintSelection() \\n\
-- <Btn1Up>: Update() SelectEnd() \\n",
- "*messageWindow*font: variable",
- "*messageWindow.min: 30",
- "*messageWindow.max: 30",
- "*dialogWindow.preferredPaneSize: 240",
- "*dialogWindow.resizeToPreferred: True",
-- "*dialogWindow.translations: #override \\n\
-- <Btn1Down>: SelectStart() SelectWord() \\n\
-- Shift<Btn1Up>: SelectEnd() PrintSelection() \\n\
-- <Btn1Up>: SelectEnd() \\n",
- #ifdef NEW_INTERFACE
- "*commandShell.geometry: 190x370+590+0",
- #else
-@@ -229,10 +221,6 @@ String fallback_resources[] = {
- #endif
- "*displayWindow.scrollVertical: whenNeeded",
- "*displayWindow.scrollHorizontal: whenNeeded",
-- "*displayWindow.translations: #override \\n\
-- <Btn1Down>: SelectStart() SelectWord() \\n\
-- Shift<Btn1Up>: SelectEnd() PrintSelection() \\n\
-- <Btn1Up>: SelectEnd() \\n",
- "*popup*showGrip: False",
- "*bindings: emacs",
- NULL,
-@@ -271,14 +259,25 @@ static XrmOptionDescRec options[] = {
- };
-
- XtActionsRec xdbx_actions[] = {
-- {"SelectStart", (XtActionProc) SelectStart},
-- {"SelectEnd", (XtActionProc) SelectEnd},
-- {"SelectWord", (XtActionProc) SelectWord},
-- {"PrintSelection", (XtActionProc) PrintSelection},
-- {"Update", (XtActionProc) Update},
-- {"DeleteWord", (XtActionProc) DeleteWord},
-- {"DeleteLine", (XtActionProc) DeleteLine},
-- {NULL, NULL}
-+#ifdef EDIT_BUTTON
-+ {"Editor", EdAction},
-+#endif
-+ {"DeleteChar", DeleteChar},
-+ {"DeleteLine", DeleteLine},
-+ {"DeleteWord", DeleteWord},
-+ {"Dispatch", Dispatch},
-+ {"InsertSpace", InsertSpace},
-+ {"NotifyResize", NotifyResize},
-+ {"PrintSelection", PrintSelection},
-+ {"Search", Search},
-+ {"SelectEnd", SelectEnd},
-+ {"SelectStart", SelectStart},
-+ {"SelectWord", SelectWord},
-+ {"SigEof", SigEof},
-+ {"SigInt", SigInt},
-+ {"SigQuit", SigQuit},
-+ {"Update", Update},
-+ {NULL, NULL}
- };
-
- static void Syntax(call)
diff --git a/source/xap/xxgdb/xxgdb-1.12-sysv.patch b/source/xap/xxgdb/xxgdb-1.12-sysv.patch
deleted file mode 100644
index e8b14b78..00000000
--- a/source/xap/xxgdb/xxgdb-1.12-sysv.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- xxgdb-1.12/source.c~ Fri Apr 21 12:16:02 1995
-+++ xxgdb-1.12/source.c Mon Dec 2 17:42:39 1996
-@@ -79,7 +79,7 @@
- #endif
- #include <stdlib.h>
-
--#include <X11/Xos.h>
-+/* #include <X11/Xos.h> */
- #include <sys/stat.h>
- #include <pwd.h>
- #include "global.h"
---- xxgdb-1.12/global.h~ Thu Apr 6 12:23:42 1995
-+++ xxgdb-1.12/global.h Mon Dec 2 17:38:21 1996
-@@ -62,8 +62,9 @@
- *
- * Contain extern declarations of variables and functions.
- */
--
-+#undef SYSV
- #include "defs.h"
-+#define SYSV
-
-
- #if defined(__GNUC__) && !defined(alloca)
diff --git a/source/xap/xxgdb/xxgdb.SlackBuild b/source/xap/xxgdb/xxgdb.SlackBuild
deleted file mode 100755
index a1453e05..00000000
--- a/source/xap/xxgdb/xxgdb.SlackBuild
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/sh
-
-# Copyright 2008, 2009-2011 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-PKGNAM=xxgdb
-VERSION=${VERSION:-1.12}
-BUILD=${BUILD:-3}
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-# Set compile flags:
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-march=i486 -mtune=i686"
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
-fi
-
-# Extract source:
-cd $TMP
-rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1
-cd ${PKGNAM}-$VERSION || exit 1
-
-# Apply patches:
-# The patches were taken from Mandriva's SRPM and address build issues
-# and run-time issues on x86_64.
-for pf in $CWD/*patch.xz ; do
- { xz -dc $pf | patch -p1 ;} || exit 1
-done
-
-# Make sure ownerships and permissions are sane:
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
-xmkmf || exit 1
-make CCOPTIONS="$SLKCFLAGS" || exit 1
-make install DESTDIR="$PKG"
-make install.man DESTDIR="$PKG"
-
-# Strip binaries:
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Compress and link manpages, if any:
-if [ -d $PKG/usr/man ]; then
- ( cd $PKG/usr/man
- for manpagedir in $(find . -type d -name "man*") ; do
- ( cd $manpagedir
- for eachpage in $( find . -type l -maxdepth 1) ; do
- ln -s $( readlink $eachpage ).gz $eachpage.gz
- rm $eachpage
- done
- gzip -9 *.*
- )
- done
- )
-fi
-
-# Compress info files, if any:
-if [ -d $PKG/usr/info ]; then
- ( cd $PKG/usr/info
- rm -f dir
- gzip -9 *
- )
-fi
-
-# Add a documentation directory:
-mkdir -p ${PKG}/usr/doc/${PKGNAM}-$VERSION
-cp -a \
- *README* XDbx.NEW_INTERFACE \
- $PKG/usr/doc/${PKGNAM}-$VERSION
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Build the package:
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
-