summaryrefslogtreecommitdiffstats
path: root/source/xap
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2013-11-04 17:08:47 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:57:36 +0200
commit76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (patch)
tree9b98e6e193c7870cb27ac861394c1c4592850922 /source/xap
parent9664bee729d487bcc0a0bc35859f8e13d5421c75 (diff)
downloadcurrent-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.gz
current-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.xz
Slackware 14.1slackware-14.1
Mon Nov 4 17:08:47 UTC 2013 Slackware 14.1 x86_64 stable is released! It's been another interesting release cycle here at Slackware bringing new features like support for UEFI machines, updated compilers and development tools, the switch from MySQL to MariaDB, and many more improvements throughout the system. Thanks to the team, the upstream developers, the dedicated Slackware community, and everyone else who pitched in to help make this release a reality. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Have fun! :-)
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 663fe2f8b..f76652074 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 000000000..84f2de4d9
--- /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 66bb0f907..83662aec6 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 f47aabb6b..5559f0db3 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 000000000..fda06cc5e
--- /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 000000000..eec9b8cb5
--- /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 000000000..4e8ba7071
--- /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 000000000..913884c82
--- /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 000000000..6f5bbee7a
--- /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 52864abbc..25eedf3eb 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 000000000..cf0722d29
--- /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 000000000..45ef58da3
--- /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 b27193dc9..46bc29e0d 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 000000000..488813800
--- /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 c1b2a2d3e..000000000
--- 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 f6a667688..5146862f5 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 4ceef2337..56fe66c67 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 67353af10..751cefd8a 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 b64cef007..000000000
--- 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 cf17f5f34..aca05857d 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 76204b5d2..000000000
--- 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 a6f6c65c5..78f826750 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 23be26f3a..e099dcade 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 f0e910c40..24f58d6bf 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 6da6f0c0b..96ae4b325 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 702215967..5eb17a861 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 b3bbe857a..ab8915918 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 000000000..2858ac994
--- /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 5fa20495f..cf28811be 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 000000000..efad2f335
--- /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 ba6c67728..e1687e782 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 4e240e0cf..000000000
--- 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 be9dd725d..39b0dfa25 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 31433be28..000000000
--- 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 afc1bc963..fa0921e42 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 7c988a769..eaf81ddff 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 da5ac6792..e1e8b2bb8 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 c02a71e5f..bef11065a 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 000000000..143d3448d
--- /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 97391f39a..510b83513 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 000000000..448c9d3e4
--- /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 65a18c183..228936c0b 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 63e577174..000000000
--- 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 c7ced75b1..4da13fe66 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 042d8310e..e66739532 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 000000000..22f378577
--- /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 a6dfcf1f5..006e836ac 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 adb125a49..bec5e25b1 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 71d35ee5d..24857f469 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 ec841961e..c453271ab 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 fe47d4434..2e846160f 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 e7d091d00..2c27bb6fd 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 5c1878fe8..ff0c6e981 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 632fc2145..531ad6292 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 88ce2444e..cf88fa023 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 75b9b1a28..30c480efb 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 ec7fe79f0..81a79cff7 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 208c765ad..000000000
--- 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 cd42fb962..000000000
--- 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 ab9e3c671..000000000
--- 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 b5988805f..000000000
--- 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 082d11750..000000000
--- 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 558eac554..000000000
--- 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 b36491020..000000000
--- 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 000000000..891c41fd3
--- /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 4be7feb0a..000000000
--- 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 000000000..0aa4455d5
--- /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 6a769e5c9..000000000
--- 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 f005414e0..c136f9970 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 6093f21d8..6aa5e1b45 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 b301d081e..991cea302 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 000000000..fc3c5f461
--- /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 85e2b909c..ea0efe024 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 830c4dd9d..b7ca3799b 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 4905df862..000000000
--- 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 6ec7032cd..000000000
--- 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 c8595731e..000000000
--- 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 7a56971f4..000000000
--- 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 3d384f32c..000000000
--- 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 e8b14b78d..000000000
--- 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 a1453e05f..000000000
--- 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
-