diff options
Diffstat (limited to '')
235 files changed, 2138 insertions, 10573 deletions
diff --git a/source/xap/xxgdb/xxgdb.SlackBuild b/source/ap/terminus-font/terminus-font.SlackBuild index a1453e05f..10498b59a 100755 --- a/source/xap/xxgdb/xxgdb.SlackBuild +++ b/source/ap/terminus-font/terminus-font.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009-2011 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -19,17 +19,11 @@ # 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 +PKGNAM=terminus-font +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 @@ -41,29 +35,33 @@ if [ -z "$ARCH" ]; then esac fi -# Set compile flags: +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-march=i486 -mtune=i686" + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" + LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi -# Extract source: +rm -rf $PKG +mkdir -p $PKG cd $TMP -rm -rf ${PKGNAM}-${VERSION} -tar xvf $CWD/${PKGNAM}-$VERSION.tar.xz || exit 1 -cd ${PKGNAM}-$VERSION || exit 1 +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION -# 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 +zcat $CWD/terminus-font.Makefile.paths.diff.gz | patch -p1 --verbose || exit 1 -# 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 \) \ @@ -71,48 +69,18 @@ find . \ \( -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 +make || exit 1 +make install install-uni install-ref DESTDIR=$PKG || exit 1 -# Add a documentation directory: -mkdir -p ${PKG}/usr/doc/${PKGNAM}-$VERSION +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION cp -a \ - *README* XDbx.NEW_INTERFACE \ - $PKG/usr/doc/${PKGNAM}-$VERSION + AUTHORS CHANGES COPYING* INSTALL NEWS OFL.TXT README* \ + $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 -# Build the package: cd $PKG -/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-noarch-$BUILD.txz diff --git a/source/xfce/Terminal/slack-desc b/source/d/help2man/slack-desc index 23121078f..421736399 100644 --- a/source/xfce/Terminal/slack-desc +++ b/source/d/help2man/slack-desc @@ -6,14 +6,14 @@ # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| -Terminal: Terminal (Xfce's Terminal Emulator) -Terminal: -Terminal: This is the Terminal emulator application. Terminal is a lightweight -Terminal: and easy to use terminal emulator for the X windowing system, with -Terminal: some new ideas and features that makes it unique among X terminal -Terminal: emulators. -Terminal: -Terminal: -Terminal: -Terminal: -Terminal: +help2man: help2man (automatic man page generator) +help2man: +help2man: help2man is a tool for automatically generating simple manual pages +help2man: from program output. +help2man: +help2man: Homepage: http://www.gnu.org/software/help2man +help2man: +help2man: +help2man: +help2man: +help2man: diff --git a/source/x/fontconfig/doinst.sh b/source/x/fontconfig/doinst.sh index 6a4802323..ae60a1b15 100644 --- a/source/x/fontconfig/doinst.sh +++ b/source/x/fontconfig/doinst.sh @@ -3,5 +3,4 @@ if [ -x /usr/bin/fc-cache ]; then /usr/bin/fc-cache -f fi # else we'll catch it later with setup.fontconfig :-) -# make links: diff --git a/source/x/fontconfig/fontconfig.SlackBuild b/source/x/fontconfig/fontconfig.SlackBuild index bb3b192f5..2fd360ae4 100755 --- a/source/x/fontconfig/fontconfig.SlackBuild +++ b/source/x/fontconfig/fontconfig.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -86,6 +86,10 @@ CFLAGS=$SLKCFLAGS \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --mandir=/usr/man \ --sysconfdir=/etc \ + --with-templatedir=/etc/fonts/conf.avail \ + --with-baseconfigdir=/etc/fonts \ + --with-configdir=/etc/fonts/conf.d \ + --with-xmldir=/etc/fonts \ --localstatedir=/var \ --enable-static=no \ --build=$ARCH-slackware-linux @@ -94,6 +98,15 @@ CFLAGS=$SLKCFLAGS \ make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 +# Upstream has changed the default templatedir to /usr/share/fontconfig/conf.avail. +# This change, if accepted, would break any existing font package containing a +# conf.avail directory. The safest thing to do is to keep things in the +# traditional location, but put a link in the new place so that font packages +# following the new standard location will work. Let's hear it for being +# "more correct" at the expense of having things "just work"! +mkdir -p $PKG/usr/share/fontconfig +( cd $PKG/usr/share/fontconfig ; ln -sf /etc/fonts/conf.avail . ) + mkdir -p $PKG/usr/doc/fontconfig-$VERSION cp -a \ AUTHORS COPYING* INSTALL NEWS README \ @@ -120,7 +133,6 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ # Set up the default options in /etc/fonts/conf.d: ( cd $PKG/etc/fonts/conf.d for fontconf in \ - 20-fix-globaladvance.conf \ 20-unhint-small-vera.conf \ 30-urw-aliases.conf \ 30-metric-aliases.conf \ @@ -135,7 +147,12 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ 69-unifont.conf \ 80-delicious.conf \ 90-synthetic.conf ; do - ln -sf ../conf.avail/$fontconf . || exit 1 + if [ -r ../conf.avail/$fontconf ]; then + ln -sf ../conf.avail/$fontconf . + else + echo "ERROR: unable to symlink ../conf.avail/$fontconf, file does not exist." + exit 1 + fi done if [ ! $? = 0 ]; then exit 1 @@ -166,5 +183,5 @@ 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/fontconfig-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n --prepend $TMP/fontconfig-$VERSION-$ARCH-$BUILD.txz diff --git a/source/x/fontconfig/fontconfig.font.dir.list.diff b/source/x/fontconfig/fontconfig.font.dir.list.diff index 1e68b0d12..63be22f51 100644 --- a/source/x/fontconfig/fontconfig.font.dir.list.diff +++ b/source/x/fontconfig/fontconfig.font.dir.list.diff @@ -1,25 +1,33 @@ -diff -Nur fontconfig-2.8.0.orig/fonts.conf.in fontconfig-2.8.0/fonts.conf.in ---- fontconfig-2.8.0.orig/fonts.conf.in 2009-06-28 12:48:47.000000000 -0500 -+++ fontconfig-2.8.0/fonts.conf.in 2009-12-01 21:48:48.134935536 -0600 -@@ -23,10 +23,21 @@ +--- ./fonts.conf.in.orig 2012-07-23 21:01:32.000000000 -0500 ++++ ./fonts.conf.in 2013-02-28 22:32:44.758585955 -0600 +@@ -22,13 +22,29 @@ + --> <!-- Font directory list --> - +- - <dir>@FC_DEFAULT_FONTS@</dir> - @FC_FONTPATH@ -+ <dir>/usr/share/fonts/OTF</dir> -+ <dir>/usr/share/fonts/TTF</dir> -+ <dir>/usr/share/fonts/Type1</dir> -+ <dir>/usr/share/fonts/Speedo</dir> -+ <dir>/usr/share/fonts/cyrillic</dir> -+ <dir>/usr/share/fonts/misc</dir> ++ <dir>/usr/share/fonts/OTF</dir> ++ <dir>/usr/share/fonts/TTF</dir> ++ <dir>/usr/share/fonts/Type1</dir> ++ <dir>/usr/share/fonts/Speedo</dir> ++ <dir>/usr/share/fonts/cyrillic</dir> ++ <dir>/usr/share/fonts/misc</dir> + <dir prefix="xdg">fonts</dir> + <!-- the following element will be removed in the future --> <dir>~/.fonts</dir> -+<!-- Commented out font directories: -+These are not indexed by default, as fontconfig then seems -+to prefer bitmapped fonts in some cases... -+ <dir>/usr/share/fonts/100dpi</dir> -+ <dir>/usr/share/fonts/75dpi</dir> ++<!-- Commented out font directories: ++ These are not indexed by default, as fontconfig then seems ++ to prefer bitmapped fonts in some cases... ++ <dir>/usr/share/fonts/100dpi</dir> ++ <dir>/usr/share/fonts/75dpi</dir> ++ The top-level font directory should also not be indexed, as that ++ will include the directories of bitmapped fonts: ++ <dir>@FC_DEFAULT_FONTS@</dir> ++ The empty line below is produced by the FC_FONTPATH macro. ++ Moving it here so it doesn't become a problem in the future: ++ @FC_FONTPATH@ +--> + <!-- diff --git a/source/x/glew/glew.SlackBuild b/source/x/glew/glew.SlackBuild index d210557fb..5187bb76c 100755 --- a/source/x/glew/glew.SlackBuild +++ b/source/x/glew/glew.SlackBuild @@ -22,7 +22,8 @@ # Slackware build script for glew -VERSION=1.5.7 +PKGNAM=glew +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: @@ -39,7 +40,7 @@ NUMJOBS=${NUMJOBS:--j8} CWD=$(pwd) TMP=${TMP:-/tmp} -PKG=$TMP/package-glew +PKG=$TMP/package-$PKGNAM if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" @@ -58,9 +59,9 @@ fi rm -rf $PKG mkdir -p $TMP $PKG cd $TMP || exit 1 -rm -rf glew-$VERSION -tar xvf $CWD/glew-${VERSION}.tar.?z* || exit 1 -cd glew-${VERSION} || exit 1 +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-${VERSION}.tar.?z* || exit 1 +cd $PKGNAM-${VERSION} || exit 1 chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -83,13 +84,13 @@ make install GLEW_DEST=$PKG/usr || exit 1 xargs strip --strip-unneeded 2> /dev/null ) -mkdir -p $PKG/usr/doc/glew-$VERSION +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION cp -a \ LICENSE* README* doc/* \ - $PKG/usr/doc/glew-$VERSION + $PKG/usr/doc/$PKGNAM-$VERSION mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG -/sbin/makepkg -l y -c n $TMP/glew-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/x/glu/glu.SlackBuild b/source/x/glu/glu.SlackBuild new file mode 100755 index 000000000..e5f76982c --- /dev/null +++ b/source/x/glu/glu.SlackBuild @@ -0,0 +1,92 @@ +#!/bin/sh + +# Slackware build script for glu + +# Copyright 2012 Robby Workman, Northport, Alabama, 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. + +PRGNAM=glu +VERSION=${VERSION:-9.0.0} +BUILD=${BUILD:-1} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PRGNAM + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.xz || exit 1 +cd $PRGNAM-$VERSION +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 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --disable-static \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \ + grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# No docs at all + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/x/glu/glu.url b/source/x/glu/glu.url new file mode 100644 index 000000000..4b79b6503 --- /dev/null +++ b/source/x/glu/glu.url @@ -0,0 +1,2 @@ +ftp://ftp.freedesktop.org/pub/mesa/glu/ +http://cgit.freedesktop.org/mesa/glu/ diff --git a/source/x/glu/slack-desc b/source/x/glu/slack-desc new file mode 100644 index 000000000..7ede5e95e --- /dev/null +++ b/source/x/glu/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 ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +glu: glu (Mesa OpenGL utility library) +glu: +glu: glu is the Mesa OpenGL utility library (libGLU). +glu: +glu: +glu: +glu: +glu: +glu: +glu: +glu: diff --git a/source/x/libdrm/libdrm.SlackBuild b/source/x/libdrm/libdrm.SlackBuild index 31181fb5c..d6899ca51 100755 --- a/source/x/libdrm/libdrm.SlackBuild +++ b/source/x/libdrm/libdrm.SlackBuild @@ -73,10 +73,10 @@ CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ --enable-udev \ - --enable-nouveau-experimental-api \ - --enable-vmwgfx-experimental-api \ --enable-omap-experimental-api \ + --enable-exynos-experimental-api \ --build=$ARCH-slackware-linux # Build and install: diff --git a/source/x/mesa/mesa.SlackBuild b/source/x/mesa/mesa.SlackBuild index ca6701886..8d04e7fe0 100755 --- a/source/x/mesa/mesa.SlackBuild +++ b/source/x/mesa/mesa.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 @@ -21,14 +21,14 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PKGNAM=mesa -VERSION=8.0.4 -DEMOVERS=8.0.1 +VERSION=9.1.7 +DEMOVERS=8.1.0 BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:--j8} # Be sure this list is up-to-date: -DRI_DRIVERS="i915,i965,nouveau,r200,radeon,swrast" +DRI_DRIVERS="i915,i965,intel,nouveau,r200,radeon,swrast" if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -61,6 +61,9 @@ rm -rf Mesa-${VERSION} tar xvf $CWD/MesaLib-${VERSION}.tar.?z* || exit 1 cd Mesa-$VERSION +# Let's kill the warning about operating on a dangling symlink: +rm -f src/gallium/state_trackers/d3d1x/w32api + # Make sure ownerships and permissions are sane: chown -R root:root . find . \ @@ -83,6 +86,9 @@ if [ ! -r configure ]; then autoreconf || exit 1 fi +# Running autogen to avoid problems if our autotools don't match upstream's: +./autogen.sh + CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ @@ -92,8 +98,11 @@ CFLAGS="$SLKCFLAGS" \ --docdir=/usr/doc/mesa-$VERSION \ --with-dri-driverdir=/usr/lib${LIBDIRSUFFIX}/xorg/modules/dri \ --with-dri-drivers="$DRI_DRIVERS" \ - --with-gallium-drivers=nouveau,swrast,r300,r600 \ + --with-gallium-drivers=nouveau,r300,r600,svga \ --enable-gallium-llvm \ + --enable-shared-glapi \ + --enable-xa \ + --enable-osmesa \ --build=$ARCH-slackware-linux # r300 requires llvm diff --git a/source/x/mtdev/mtdev.SlackBuild b/source/x/mtdev/mtdev.SlackBuild index e973ed342..d3e518cfd 100755 --- a/source/x/mtdev/mtdev.SlackBuild +++ b/source/x/mtdev/mtdev.SlackBuild @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=mtdev -VERSION=${VERSION:-1.1.2} +VERSION=${VERSION:-1.1.3} BUILD=${BUILD:-1} if [ -z "$ARCH" ]; then diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch deleted file mode 100644 index f925507a7..000000000 --- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- scim-bridge-0.4.16/agent/scim-bridge-agent-application.cpp.bak 2009-01-18 01:04:20.000000000 +0800 -+++ scim-bridge-0.4.16/agent/scim-bridge-agent-application.cpp 2010-09-11 22:38:27.196979199 +0800 -@@ -65,7 +65,7 @@ - unsigned int tmp_uint; - - int option = 0; -- while (option != EOF) { -+ while (option != -1) { - option = getopt_long (argc, argv, short_options, long_options, NULL); - switch (option) { - case 'v': diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch deleted file mode 100644 index 85732013d..000000000 --- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch +++ /dev/null @@ -1,48 +0,0 @@ ---- scim-bridge-0.4.16/agent/scim-bridge-agent-imcontext.cpp.bak 2009-02-03 22:36:14.000000000 +0800 -+++ scim-bridge-0.4.16/agent/scim-bridge-agent-imcontext.cpp 2010-09-11 23:25:00.636978519 +0800 -@@ -60,6 +60,8 @@ - - static bool on_the_spot_enabled = true; - -+static String help_hotkeys = ""; -+ - /* Class definition */ - class ScimBridgeAgentIMContextImpl: public ScimBridgeAgentIMContext - { -@@ -274,6 +276,12 @@ - } - - -+void ScimBridgeAgentIMContext::set_help_hotkeys (const String &hotkey_str) -+{ -+ help_hotkeys = hotkey_str; -+} -+ -+ - ScimBridgeAgentIMContextImpl::ScimBridgeAgentIMContextImpl (ScimBridgeAgentClientListener *new_client_listener): - client_listener (new_client_listener), imengine (NULL), enabled (false), focused(false) ,preedit_mode (PREEDIT_ANY), - preedit_shown (false), preedit_cursor_position (0) -@@ -654,6 +662,8 @@ - - void ScimBridgeAgentIMContextImpl::focus_out () - { -+ if (!imengine_shared && imengine == NULL) alloc_imengine (); -+ - ScimBridgeAgentIMContext *focused_imcontext = static_cast<ScimBridgeAgentIMContext*> (get_imengine ()->get_frontend_data ()); - - if ( !focused ) -@@ -923,9 +933,11 @@ - - void ScimBridgeAgentIMContextImpl::panel_request_help () - { -- String help = String ("Smart Common Input Method platform ") + -- String (SCIM_VERSION) + -- String ("\n(C) 2002-2005 James Su <suzhe@tsinghua.org.cn>\n\n"); -+ String help = String ("SCIM Bridge") + -+ String (VERSION) + -+ String ("\n(C) 2006-2008 Ryo Dairiki <ryo-dairiki@users.sourceforge.net>\n") + -+ help_hotkeys + -+ String ("\n\n"); - - IMEngineFactoryPointer factory = scim_backend->get_factory (get_imengine ()->get_factory_uuid ()); - if (factory.null ()) factory = fallback_imengine_factory; diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch deleted file mode 100644 index f16b34c14..000000000 --- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- scim-bridge-0.4.16/agent/scim-bridge-agent-imcontext.h.bak 2008-11-02 14:44:49.000000000 +0800 -+++ scim-bridge-0.4.16/agent/scim-bridge-agent-imcontext.h 2010-09-11 23:12:18.085979961 +0800 -@@ -130,6 +130,21 @@ - static void set_enabled_by_default (bool enabled); - - /** -+ * Get the hotkey help messages. -+ * -+ * @return help messages about hotkeys. -+ */ -+ static scim::String get_help_hotkeys (); -+ -+ /** -+ * Set the hotkey help messages. -+ * -+ * @param hotkey_str Help message about hotkeys. -+ * -+ */ -+ static void set_help_hotkeys (const scim::String &hotkey_str); -+ -+ /** - * Destructor. - */ - virtual ~ScimBridgeAgentIMContext () {} diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch deleted file mode 100644 index 27c5cb73b..000000000 --- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch +++ /dev/null @@ -1,30 +0,0 @@ ---- scim-bridge-0.4.16/agent/scim-bridge-agent.cpp.bak 2009-03-08 21:07:29.000000000 +0800 -+++ scim-bridge-0.4.16/agent/scim-bridge-agent.cpp 2010-09-11 22:59:34.476979479 +0800 -@@ -542,6 +542,27 @@ - scim_global_config_flush (); - - scim_keyboard_layout = scim_get_default_keyboard_layout (); -+ -+ // Hot key name, hot key config key. -+ // ! Update hotkey_list_length according to updated list length. -+ int hotkey_list_length = 6; -+ String hotkey_list[][2] = { -+ { "Toggle on/off - ", "/Hotkeys/FrontEnd/Trigger" }, -+ { "Turn on - ", "/Hotkeys/FrontEnd/On" }, -+ { "Turn off - ", "/Hotkeys/FrontEnd/Off" }, -+ { "Next input method - ", "/Hotkeys/FrontEnd/NextFactory" }, -+ { "Previous input method - ", "/Hotkeys/FrontEnd/PreviousFactory" }, -+ { "Show input method menu - ", "/Hotkeys/FrontEnd/ShowFactoryMenu" } -+ }; -+ -+ // Undefined hot keys are hidden from help window. -+ String help_hotkeys = "\nGlobal Hotkeys:"; -+ for ( int i = 0; i < hotkey_list_length; i++ ) { -+ String tmp_hotkeys = scim_config->read (String (hotkey_list[i][1]), String ("")); -+ if ( tmp_hotkeys != "" ) -+ help_hotkeys += "\n" + hotkey_list[i][0] + "<" + tmp_hotkeys + ">"; -+ } -+ ScimBridgeAgentIMContext::set_help_hotkeys (help_hotkeys); - } - - diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch deleted file mode 100644 index 21f1f824e..000000000 --- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- scim-bridge-0.4.16/client-gtk/scim-bridge-client-imcontext-gtk.c.bak 2008-11-02 14:44:23.000000000 +0800 -+++ scim-bridge-0.4.16/client-gtk/scim-bridge-client-imcontext-gtk.c 2010-09-11 23:19:10.556978680 +0800 -@@ -35,6 +35,8 @@ - #include "scim-bridge-output.h" - #include "scim-bridge-string.h" - -+#define SEND_EVENT_MASK 0x02 -+ - /* Typedef */ - struct _ScimBridgeClientIMContext - { -@@ -200,7 +202,7 @@ - { - scim_bridge_pdebugln (7, "key_snooper ()"); - -- if (!event->send_event && scim_bridge_client_is_messenger_opened () && focused_imcontext != NULL) { -+ if (!(event->send_event & SEND_EVENT_MASK) && scim_bridge_client_is_messenger_opened () && focused_imcontext != NULL) { - if (focused_imcontext->client_window != NULL) { - int new_window_x; - int new_window_y; -@@ -556,7 +558,7 @@ - { - GdkEventKey gdk_event; - scim_bridge_key_event_bridge_to_gdk (&gdk_event, imcontext->client_window, key_event); -- gdk_event.send_event = TRUE; -+ gdk_event.send_event |= SEND_EVENT_MASK; - if (imcontext == focused_imcontext && focused_widget != NULL) { - const char *signal_name = NULL; - if (scim_bridge_key_event_is_pressed (key_event)) { -@@ -762,7 +764,7 @@ - - ScimBridgeClientIMContext *imcontext = SCIM_BRIDGE_CLIENT_IMCONTEXT (context); - -- if (!event->send_event && scim_bridge_client_is_messenger_opened () && imcontext != NULL && !key_snooper_used) { -+ if (!(event->send_event & SEND_EVENT_MASK) && scim_bridge_client_is_messenger_opened () && imcontext != NULL && !key_snooper_used) { - - if (imcontext->client_window != NULL) { - int new_window_x; -@@ -875,7 +877,7 @@ - scim_bridge_client_open_messenger (); - } - -- if (is_key_snooper_enabled ()) { -+ if (!key_snooper_used && is_key_snooper_enabled ()) { - key_snooper_id = gtk_key_snooper_install ((GtkKeySnoopFunc) &key_snooper, NULL); - key_snooper_used = TRUE; - } diff --git a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch b/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch deleted file mode 100644 index 74a3252ef..000000000 --- a/source/x/scim-bridge/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- scim-bridge-0.4.16/client-qt/scim-bridge-client-imcontext-qt.cpp.bak 2008-11-02 14:44:46.000000000 +0800 -+++ scim-bridge-0.4.16/client-qt/scim-bridge-client-imcontext-qt.cpp 2010-09-11 22:46:10.396979441 +0800 -@@ -220,7 +220,12 @@ - { - scim_bridge_pdebugln (4, "ScimBridgeClientIMContextImpl::setFocusWidget ()"); - QInputContext::setFocusWidget (widget); -- focus_in (); -+ if (widget == NULL) { -+ focus_out (); -+ } -+ else { -+ focus_in (); -+ } - update (); - } - -@@ -442,9 +447,11 @@ - } - } - -- set_preedit_shown (false); -- update_preedit (); -- -+ if (preedit_shown) { -+ set_preedit_shown (false); -+ update_preedit (); -+ } -+ - focused_imcontext = NULL; - } - diff --git a/source/x/scim-bridge/scim-bridge.SlackBuild b/source/x/scim-bridge/scim-bridge.SlackBuild deleted file mode 100755 index 8501d9c4b..000000000 --- a/source/x/scim-bridge/scim-bridge.SlackBuild +++ /dev/null @@ -1,156 +0,0 @@ -#!/bin/sh - -# Copyright 2008, 2009 Eric Hameleers, Eindhoven, NL -# Copyright 2008, 2009, 2011, 2012 Patrick J. Volkerding, Sebeka, MN USA -# All rights reserved. -# -# Permission to use, copy, modify, and distribute this software for -# any purpose with or without fee is hereby granted, provided that -# the above copyright notice and this permission notice appear in all -# copies. -# -# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR -# CONTRIBUTORS 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 SlackBuild script -# =========================== -# By: Eric Hameleers <alien@slackware.com> -# For: scim-bridge -# Descr: yet another gtk-immodule for SCIM -# URL: http://scim-im.org/ -# -# ----------------------------------------------------------------------------- - - -PKGNAM=scim-bridge -VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-5} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$(uname -m)" in - i?86) ARCH=i486 ;; - arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) ARCH=$(uname -m) ;; - esac - export ARCH -fi - -NUMJOBS=${NUMJOBS:-" -j7 "} - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -elif [ "$ARCH" = "arm" ]; then - SLKCFLAGS="-O2 -march=armv4 -mtune=xscale" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "armel" ]; then - SLKCFLAGS="-O2 -march=armv4t" - LIBDIRSUFFIX="" -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp} -PKG=$TMP/package-$PKGNAM - -rm -rf $PKG -mkdir -p $TMP $PKG -cd $TMP -rm -rf ${PKGNAM}-${VERSION} -tar -xvf $CWD/${PKGNAM}-${VERSION}.tar.gz || exit 1 -cd ${PKGNAM}-${VERSION} || exit 1 -#sed -i -e "s/ -doxygen / doxygen /" $( grep -lr ' -doxygen ' * ) - -zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-agent-application.cpp.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.cpp.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-agent-imcontext.h.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-agent.cpp.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-gtk.c.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patches/scim-bridge-0.4.16-scim-bridge-client-imcontext-qt.cpp.patch.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 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -echo Building ... -CXXFLAGS="$SLKCFLAGS" \ -CFLAGS="$SLKCFLAGS" \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --localstatedir=/var \ - --sysconfdir=/etc \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PKGNAM-$VERSION \ - --enable-agent \ - --enable-ltdl-install \ - --enable-gtk2-immodule \ - --enable-qt4-immodule \ - --disable-qt3-immodule \ - --disable-documents \ - --disable-static \ - --program-prefix= \ - --program-suffix= \ - --build=$ARCH-slackware-linux - # We disable the qt3-immodule because that one will not build. - # The qt4-immodule will build however. - -make $NUMJOBS || make || exit 1 -make DESTDIR=$PKG install || exit 1 - -# Add this to the doinst.sh -mkdir -p $PKG/install -cat <<EOINS >> $PKG/install/doinst.sh -# Run gtk-query-immodules so that "scim" will appear under Imput Method -# when you right- click your mouse in a text box. -if [ -x /usr/bin/update-gtk-immodules ]; then - /usr/bin/update-gtk-immodules -fi -EOINS - -# Add documentation: -mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION -cp -a \ - AUTHORS COPYING* ChangeLog INSTALL NEWS README* doc/LICENSE.* \ - $PKG/usr/doc/$PKGNAM-$VERSION -find $PKG/usr/doc -type f -exec chmod 644 {} \; - -# Compress the man page(s): -if [ -d $PKG/usr/man ]; then - find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \; - for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -fi - -# 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 - -# Add a package description: -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 - diff --git a/source/x/scim-bridge/slack-desc b/source/x/scim-bridge/slack-desc deleted file mode 100644 index cd58299a7..000000000 --- a/source/x/scim-bridge/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------------------------------------------------------| -scim-bridge: scim-bridge (yet another gtk-immodule for SCIM) -scim-bridge: -scim-bridge: Scim-bridge is yet another gtk-immodule for SCIM. Scim-bridge -scim-bridge: consists of two parts, that is, client and agent (server). The client -scim-bridge: is a GTK immodule which communicates with the agent over sockets. -scim-bridge: The agent communicates with SCIM, and brings back the data -scim-bridge: for each client. -scim-bridge: -scim-bridge: scim-bridge home: http://scim-im.org/ -scim-bridge: -scim-bridge: diff --git a/source/x/scim/scim.SlackBuild b/source/x/scim/scim.SlackBuild index d03adc6e6..816a50018 100755 --- a/source/x/scim/scim.SlackBuild +++ b/source/x/scim/scim.SlackBuild @@ -1,7 +1,7 @@ #!/bin/sh # Copyright 2006, 2007, 2008 Eric Hameleers, Eindhoven, NL -# 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. # # Permission to use, copy, modify, and distribute this software for @@ -35,7 +35,7 @@ PKGNAM=scim VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-4} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -90,14 +90,15 @@ echo Building ... CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --localstatedir=/var \ - --sysconfdir=/etc \ - --disable-static \ - --with-gtk-version=2 \ - --program-prefix= \ - --program-suffix= \ - --build=$ARCH-slackware-linux + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --disable-static \ + --with-gtk-version=2 \ + --with-qt4-im-module-dir=/usr/lib${LIBDIRSUFFIX}/qt/plugins/inputmethods \ + --program-prefix= \ + --program-suffix= \ + --build=$ARCH-slackware-linux || exit 1 make $NUMJOBS || make || exit 1 make DESTDIR=$PKG install || exit 1 @@ -120,20 +121,15 @@ cat <<EOT > $PKG/etc/profile.d/scim.sh.new if [ -x /usr/bin/scim ]; then # Enable legacy X applications to use scim: export XMODIFIERS="@im=SCIM" - ## Enable Qt/KDE applications to use scim (not working with kde4): - #export QT_IM_MODULE="scim" + # Let GTK applications like Firefox/Thunderbird use scim as + # default immodule: + export GTK_IM_MODULE="scim" + # Enable Qt/KDE applications to use scim: + export QT_IM_MODULE="scim" # Make scim start automatically if the "magic key" Ctrl-Space is pressed: export XIM_PROGRAM="/usr/bin/scim -d" fi -if [ -x /usr/bin/scim-bridge ]; then - # Let GTK applications like Firefox/Thunderbird use scim-bridge as - # default immodule: - export GTK_IM_MODULE="scim-bridge" - # Enable Qt4/KDE4 applications to use scim: - export QT_IM_MODULE="scim-bridge" -fi - # This ensures scim starts when you logon. # This will only work if you login through runlevel 4 (graphical login)!!! # Better is to have it start through Ctrl-Space like configured higher up ^^. @@ -141,21 +137,6 @@ fi # /usr/bin/scim -d #fi -# GTK+ environments such as XFce should support SCIM automatically, BUT -# if the first app you run is a Qt one, you'll run into problems. This -# can be avoided by going into Menu -> Settings -> Autostarted Applications -# and adding SCIM: /usr/bin/scim -d - -# KDE will not start SCIM automatically, so you will need a script such as -# this one in your $HOME/.kde/Autostart: - -#!/bin/bash -#if [ -x /usr/bin/scim ]; then -# /usr/bin/scim -d & -#fi - -# Obviously, uncomment all but the first line. :-) - EOT cat <<EOT > $PKG/etc/profile.d/scim.csh.new @@ -174,21 +155,15 @@ cat <<EOT > $PKG/etc/profile.d/scim.csh.new if (\$status == 0) then # Enable legacy X applications to use scim: setenv XMODIFIERS "@im=SCIM" - ## Enable Qt/KDE applications to use scim (does not work for kde4): - #setenv QT_IM_MODULE "scim" + # Let GTK applications like Firefox/Thunderbird use scim as + # default immodule: + setenv GTK_IM_MODULE "scim" + # Enable Qt/KDE applications to use scim (does not work for kde4): + setenv QT_IM_MODULE "scim" # Make scim start automatically if the "magic key" Ctrl-Space is pressed: setenv XIM_PROGRAM "/usr/bin/scim -d" endif -[ -x /usr/bin/scim-bridge ] -if (\$status == 0) then - # Let GTK applications like Firefox/Thunderbird use scim-bridge as - # default immodule: - setenv GTK_IM_MODULE "scim-bridge" - # Enable Qt4/KDE4 applications to use scim: - setenv QT_IM_MODULE "scim-bridge" -endif - # This ensures scim starts when you logon. # This will only work if you login through runlevel 4 (graphical login)!!! # Better is to have it start through Ctrl-Space like configured higher up ^^. @@ -197,22 +172,6 @@ endif # /usr/bin/scim -d #endif -# GTK+ environments such as XFce should support SCIM automatically, BUT -# if the first app you run is a Qt one, you'll run into problems. This -# can be avoided by going into Menu -> Settings -> Autostarted Applications -# and adding SCIM: /usr/bin/scim -d - -# KDE will not start SCIM automatically, so you will need a script such as -# this one in your $HOME/.kde/Autostart: - -#!/bin/csh -#[ -x /usr/bin/scim ] -#if (\$status == 0) then -# /usr/bin/scim -d & -#endif - -# Obviously, uncomment all but the first line. :-) - EOT chmod 755 $PKG/etc/profile.d/scim.sh.new diff --git a/source/x/ttf-indic-fonts/COPYING b/source/x/ttf-indic-fonts/COPYING deleted file mode 100644 index 3912109b5..000000000 --- a/source/x/ttf-indic-fonts/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/source/x/ttf-indic-fonts/Samyak_Malayalam.ttf b/source/x/ttf-indic-fonts/Samyak_Malayalam.ttf Binary files differdeleted file mode 100644 index 5d06d2ed2..000000000 --- a/source/x/ttf-indic-fonts/Samyak_Malayalam.ttf +++ /dev/null diff --git a/source/x/ttf-indic-fonts/Samyak_Malayalam.url b/source/x/ttf-indic-fonts/Samyak_Malayalam.url deleted file mode 100644 index 993d05123..000000000 --- a/source/x/ttf-indic-fonts/Samyak_Malayalam.url +++ /dev/null @@ -1,4 +0,0 @@ -http://www.gnowledge.org/Gnoware/localization/Samyak_Font/new/Samyak_Malayalam.ttf - -This font is licensed under the GPL. - diff --git a/source/x/ttf-indic-fonts/doinst.sh b/source/x/ttf-indic-fonts/doinst.sh index f6ebdc7c3..2566f24ff 100644 --- a/source/x/ttf-indic-fonts/doinst.sh +++ b/source/x/ttf-indic-fonts/doinst.sh @@ -10,4 +10,3 @@ fi if [ -x /usr/bin/fc-cache ]; then /usr/bin/fc-cache -f fi -# make links: diff --git a/source/x/ttf-indic-fonts/ttf-indic-fonts.SlackBuild b/source/x/ttf-indic-fonts/ttf-indic-fonts.SlackBuild index 2353121ff..338b5edd7 100755 --- a/source/x/ttf-indic-fonts/ttf-indic-fonts.SlackBuild +++ b/source/x/ttf-indic-fonts/ttf-indic-fonts.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2013 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,7 +20,7 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=0.4.7.4 +VERSION=0.5.14 ARCH=noarch BUILD=1 @@ -32,11 +32,8 @@ rm -rf $PKG mkdir -p $PKG cd $TMP rm -rf ttf-indic-fonts-$VERSION -tar xvf $CWD/ttf-indic-fonts-$VERSION.tar.bz2 || exit 1 +tar xvf $CWD/ttf-indic-fonts_$VERSION.tar.xz || exit 1 cd ttf-indic-fonts-$VERSION || exit 1 -# Patch copyright notices so that they do not give inaccurate -# information about where to find the GPL: -zcat $CWD/ttf-indic-fonts.copyright.diff.gz | patch -p1 --verbose || exit 1 # I'm very interested in making this a better package, but have a # long way to go in understanding how all of this works. I know @@ -64,27 +61,24 @@ find . \ mkdir -p $PKG/usr/share/fonts/TTF/ cp -a */*.ttf $PKG/usr/share/fonts/TTF -# This is a better Malayalam font: -cp -a $CWD/Samyak_Malayalam.ttf.bz2 $PKG/usr/share/fonts/TTF -( cd $PKG/usr/share/fonts/TTF - bzip2 -d Samyak_Malayalam.ttf.bz2 - chmod 644 Samyak_Malayalam.ttf - chown root:root Samyak_Malayalam.ttf +mkdir -p $PKG/etc/fonts/conf.avail +find . -name "*.conf" -exec cp -a {} $PKG/etc/fonts/conf.avail \; + +mkdir -p $PKG/etc/fonts/conf.d +( cd $PKG/etc/fonts/conf.d + for file in ../conf.avail/*.conf ; do + ln -sf $file . + done ) -# Remove the old Malayalam font: -rm -f $PKG/usr/share/fonts/TTF/malayalam.ttf # Put copyright notices in the docs directory: mkdir -p $PKG/usr/doc/ttf-indic-fonts-$VERSION find . -name "*.copyright" -exec cp -a {} $PKG/usr/doc/ttf-indic-fonts-$VERSION \; -cp -a $CWD/COPYING.bz2 $PKG/usr/doc/ttf-indic-fonts-$VERSION -cp -a $CWD/Samyak_Malayalam.url $PKG/usr/doc/ttf-indic-fonts-$VERSION -( cd $PKG/usr/doc/ttf-indic-fonts-$VERSION ; bzip2 -d COPYING.bz2 ) 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/ttf-indic-fonts-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n --prepend $TMP/ttf-indic-fonts-$VERSION-$ARCH-$BUILD.txz diff --git a/source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff b/source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff deleted file mode 100644 index d4ba218b5..000000000 --- a/source/x/ttf-indic-fonts/ttf-indic-fonts.copyright.diff +++ /dev/null @@ -1,65 +0,0 @@ ---- ./debian/ttf-punjabi-fonts.copyright.orig 2005-09-11 00:04:08.000000000 -0500 -+++ ./debian/ttf-punjabi-fonts.copyright 2006-09-21 02:19:02.000000000 -0500 -@@ -17,5 +17,3 @@ - Copyright (c) 2003, Automatic Control Equipments, Pune, INDIA. - Released under GPL - --On a Debian system the text of the GPL can be found in --/usr/share/common-licenses. ---- ./debian/ttf-tamil-fonts.copyright.orig 2005-09-11 00:04:08.000000000 -0500 -+++ ./debian/ttf-tamil-fonts.copyright 2006-09-21 02:19:05.000000000 -0500 -@@ -25,5 +25,3 @@ - - Opentype tables were added by T. Vaseeharan <t_vasee@yahoo.com>. - --On Debian GNU/Linux systems you can find a copy of the GPL in --/usr/share/common-licenses/GPL. ---- ./debian/ttf-gujarati-fonts.copyright.orig 2005-09-11 00:04:08.000000000 -0500 -+++ ./debian/ttf-gujarati-fonts.copyright 2006-09-21 02:18:40.000000000 -0500 -@@ -28,5 +28,3 @@ - Copyright (c) 2003, Automatic Control Equipments, Pune, INDIA. - Released under GPL - --On a Debian system the text of the GPL can be found in --/usr/share/common-licenses. ---- ./debian/ttf-malayalam-fonts.copyright.orig 2006-01-15 18:03:55.000000000 -0600 -+++ ./debian/ttf-malayalam-fonts.copyright 2006-09-21 02:18:56.000000000 -0500 -@@ -18,6 +18,3 @@ - - Copyright (c) 2005 K.H.Hussain <hussain@kfri.org> - --A copy of the GNU GPL can be found at -- -- /usr/share/common-licenses/GPL ---- ./debian/ttf-telugu-fonts.copyright.orig 2005-09-11 00:04:08.000000000 -0500 -+++ ./debian/ttf-telugu-fonts.copyright 2006-09-21 02:19:09.000000000 -0500 -@@ -14,5 +14,3 @@ - ----------- - GPLed Telugu font from http://www.kavya-nandanam.com - --On a Debian system the text of the GPL can be found in --/usr/share/common-licenses. ---- ./debian/ttf-kannada-fonts.copyright.orig 2006-01-15 17:51:13.000000000 -0600 -+++ ./debian/ttf-kannada-fonts.copyright 2006-09-21 02:18:47.000000000 -0500 -@@ -7,5 +7,3 @@ - (C) Indian Institute of Science,Bangalore 2005 - Released under the GPL. - --On a Debian system the text of the GPL can be found in --/usr/share/common-licenses. ---- ./debian/ttf-devanagari-fonts.copyright.orig 2006-01-15 17:51:13.000000000 -0600 -+++ ./debian/ttf-devanagari-fonts.copyright 2006-09-21 02:18:37.000000000 -0500 -@@ -30,5 +30,3 @@ - ------------------ - Copyright (c) Sanir Karmacharya <sanir@email.com>, Suyash Shrestha - --On a Debian system the text of the GPL can be found in --/usr/share/common-licenses. ---- ./debian/ttf-oriya-fonts.copyright.orig 2005-09-11 00:04:08.000000000 -0500 -+++ ./debian/ttf-oriya-fonts.copyright 2006-09-21 02:18:59.000000000 -0500 -@@ -11,5 +11,3 @@ - (C) Andy White 2003 - Released under GPL (http://oriya.sarovar.org/) - --On a Debian system the text of the GPL can be found in --/usr/share/common-licenses. diff --git a/source/x/wqy-zenhei-font-ttf/fixup-fontconfig-file.diff b/source/x/wqy-zenhei-font-ttf/fixup-fontconfig-file.diff new file mode 100644 index 000000000..6d8fa176f --- /dev/null +++ b/source/x/wqy-zenhei-font-ttf/fixup-fontconfig-file.diff @@ -0,0 +1,21 @@ +Since this fontconfig change [1], we get warnings in 44-wqy-zenhei.conf +like this: "Having multiple values in <test> isn't supported and may +not work as expected" - let's fix that... + +[1] http://cgit.freedesktop.org/fontconfig/commit/?id=2837c63876b9b + +diff -Nur wqy-zenhei.orig/44-wqy-zenhei.conf wqy-zenhei/44-wqy-zenhei.conf +--- wqy-zenhei.orig/44-wqy-zenhei.conf 2009-05-17 15:25:41.000000000 -0500 ++++ wqy-zenhei/44-wqy-zenhei.conf 2013-02-25 19:00:36.870491434 -0600 +@@ -6,7 +6,11 @@ + <match target="font"> + <test qual="any" name="family"> + <string>WenQuanYi Zen Hei</string> ++ </test> ++ <test qual="any" name="family"> + <string>文泉驿正黑</string> ++ </test> ++ <test qual="any" name="family"> + <string>文泉驛正黑</string> + </test> + <edit name="globaladvance"><bool>false</bool></edit> diff --git a/source/x/wqy-zenhei-font-ttf/wqy-zenhei-font-ttf.SlackBuild b/source/x/wqy-zenhei-font-ttf/wqy-zenhei-font-ttf.SlackBuild index b9fb149da..ee34726bb 100755 --- a/source/x/wqy-zenhei-font-ttf/wqy-zenhei-font-ttf.SlackBuild +++ b/source/x/wqy-zenhei-font-ttf/wqy-zenhei-font-ttf.SlackBuild @@ -38,7 +38,7 @@ SRCNAM=wqy-zenhei VERSION=${VERSION:-0.8.38} SUB=${SUB:-1} ARCH=noarch -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} CWD=$(pwd) TMP=${TMP:-/tmp} @@ -66,6 +66,9 @@ rm -rf ${PRGNAM}-${VERSION} tar -xvf ${SOURCE} || exit 1 mv ${SRCNAM} ${PRGNAM}-${VERSION} || exit 1 cd ${PRGNAM}-${VERSION} + +zcat $CWD/fixup-fontconfig-file.diff.gz | patch -p1 || exit 1 + chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -73,6 +76,9 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# The following causes an error since the package no longer contains any ttf +# fonts, but it is harmless. It's probably safer to leave the cp command the +# way it is in case future versions include any ttf fonts. # Install font: cp *.ttf *.ttc $PKG$FONTDIR/ diff --git a/source/x/x11/build/increment.sh b/source/x/x11/build/increment.sh new file mode 100755 index 000000000..6de5d0da6 --- /dev/null +++ b/source/x/x11/build/increment.sh @@ -0,0 +1,17 @@ +#!/bin/sh +# A script to increment build numbers. +# Call it with the list of the build numbers to increase by one: +# +# ./increment.sh xf86-input-acecad xf86-input-aiptek xf86-input-joystick +# +# If a build file does not exist, it will be created with a value of 2. + +for build in $* ; do + if [ ! -r $build ]; then + echo "Creating $build with value 2" + echo 2 > $build + else + echo "Incrementing $build $(cat $build) -> $(expr $(cat $build) + 1)" + echo $(expr $(cat $build) + 1) > $build + fi +done diff --git a/source/x/x11/build/xcb-util-image b/source/x/x11/build/xcb-util-image new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/source/x/x11/build/xcb-util-image @@ -0,0 +1 @@ +2 diff --git a/source/x/x11/build/xcompmgr b/source/x/x11/build/xcompmgr new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/source/x/x11/build/xcompmgr @@ -0,0 +1 @@ +2 diff --git a/source/x/x11/build/xdm b/source/x/x11/build/xdm index 0cfbf0888..b8626c4cf 100644 --- a/source/x/x11/build/xdm +++ b/source/x/x11/build/xdm @@ -1 +1 @@ -2 +4 diff --git a/source/x/x11/build/xf86-input-acecad b/source/x/x11/build/xf86-input-acecad new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/source/x/x11/build/xf86-input-acecad @@ -0,0 +1 @@ +5 diff --git a/source/x/x11/build/xf86-input-aiptek b/source/x/x11/build/xf86-input-aiptek new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/source/x/x11/build/xf86-input-aiptek @@ -0,0 +1 @@ +5 diff --git a/source/x/x11/build/xf86-input-joystick b/source/x/x11/build/xf86-input-joystick new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/source/x/x11/build/xf86-input-joystick @@ -0,0 +1 @@ +5 diff --git a/source/x/x11/build/xcb-proto b/source/x/x11/build/xf86-input-keyboard index 00750edc0..00750edc0 100644 --- a/source/x/x11/build/xcb-proto +++ b/source/x/x11/build/xf86-input-keyboard diff --git a/source/x/x11/build/xf86-input-mouse b/source/x/x11/build/xf86-input-mouse new file mode 100644 index 000000000..00750edc0 --- /dev/null +++ b/source/x/x11/build/xf86-input-mouse @@ -0,0 +1 @@ +3 diff --git a/source/x/x11/build/xf86-input-penmount b/source/x/x11/build/xf86-input-penmount new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/source/x/x11/build/xf86-input-penmount @@ -0,0 +1 @@ +5 diff --git a/source/x/x11/build/xf86-input-synaptics b/source/x/x11/build/xf86-input-synaptics new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/source/x/x11/build/xf86-input-synaptics @@ -0,0 +1 @@ +2 diff --git a/source/kde/build/calligra b/source/x/x11/build/xf86-input-vmmouse index b8626c4cf..b8626c4cf 100644 --- a/source/kde/build/calligra +++ b/source/x/x11/build/xf86-input-vmmouse diff --git a/source/x/x11/build/xf86-input-void b/source/x/x11/build/xf86-input-void new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/source/x/x11/build/xf86-input-void @@ -0,0 +1 @@ +5 diff --git a/source/x/x11/build/xf86-input-wacom b/source/x/x11/build/xf86-input-wacom index 0cfbf0888..b8626c4cf 100644 --- a/source/x/x11/build/xf86-input-wacom +++ b/source/x/x11/build/xf86-input-wacom @@ -1 +1 @@ -2 +4 diff --git a/source/x/x11/build/xf86-video-apm b/source/x/x11/build/xf86-video-apm index 0cfbf0888..b8626c4cf 100644 --- a/source/x/x11/build/xf86-video-apm +++ b/source/x/x11/build/xf86-video-apm @@ -1 +1 @@ -2 +4 diff --git a/source/x/x11/build/xf86-video-ark b/source/x/x11/build/xf86-video-ark new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-ark @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-ast b/source/x/x11/build/xf86-video-ast new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/source/x/x11/build/xf86-video-ast @@ -0,0 +1 @@ +2 diff --git a/source/x/x11/build/xf86-video-ati b/source/x/x11/build/xf86-video-ati new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/source/x/x11/build/xf86-video-ati @@ -0,0 +1 @@ +2 diff --git a/source/x/x11/build/xf86-video-chips b/source/x/x11/build/xf86-video-chips index 0cfbf0888..b8626c4cf 100644 --- a/source/x/x11/build/xf86-video-chips +++ b/source/x/x11/build/xf86-video-chips @@ -1 +1 @@ -2 +4 diff --git a/source/x/x11/build/xf86-video-cirrus b/source/x/x11/build/xf86-video-cirrus new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-cirrus @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-glint b/source/x/x11/build/xf86-video-glint new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-glint @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-i128 b/source/x/x11/build/xf86-video-i128 new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-i128 @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-mach64 b/source/x/x11/build/xf86-video-mach64 new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-mach64 @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-mga b/source/x/x11/build/xf86-video-mga new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-mga @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-modesetting b/source/x/x11/build/xf86-video-modesetting new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/source/x/x11/build/xf86-video-modesetting @@ -0,0 +1 @@ +2 diff --git a/source/x/x11/build/xf86-video-neomagic b/source/x/x11/build/xf86-video-neomagic new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/source/x/x11/build/xf86-video-neomagic @@ -0,0 +1 @@ +2 diff --git a/source/x/x11/build/xf86-video-nouveau b/source/x/x11/build/xf86-video-nouveau new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/source/x/x11/build/xf86-video-nouveau @@ -0,0 +1 @@ +2 diff --git a/source/x/x11/build/xf86-video-nv b/source/x/x11/build/xf86-video-nv new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/source/x/x11/build/xf86-video-nv @@ -0,0 +1 @@ +5 diff --git a/source/x/x11/build/xf86-video-omap b/source/x/x11/build/xf86-video-omap new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-omap @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-openchrome b/source/x/x11/build/xf86-video-openchrome new file mode 100644 index 000000000..0cfbf0888 --- /dev/null +++ b/source/x/x11/build/xf86-video-openchrome @@ -0,0 +1 @@ +2 diff --git a/source/x/x11/build/xf86-video-rendition b/source/x/x11/build/xf86-video-rendition new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-rendition @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-s3virge b/source/x/x11/build/xf86-video-s3virge new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/source/x/x11/build/xf86-video-s3virge @@ -0,0 +1 @@ +5 diff --git a/source/x/x11/build/xf86-video-siliconmotion b/source/x/x11/build/xf86-video-siliconmotion new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/source/x/x11/build/xf86-video-siliconmotion @@ -0,0 +1 @@ +5 diff --git a/source/x/x11/build/xf86-video-sis b/source/x/x11/build/xf86-video-sis new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-sis @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-sisusb b/source/x/x11/build/xf86-video-sisusb index 0cfbf0888..b8626c4cf 100644 --- a/source/x/x11/build/xf86-video-sisusb +++ b/source/x/x11/build/xf86-video-sisusb @@ -1 +1 @@ -2 +4 diff --git a/source/x/x11/build/xf86-video-tdfx b/source/x/x11/build/xf86-video-tdfx new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-tdfx @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-trident b/source/x/x11/build/xf86-video-trident new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-trident @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-tseng b/source/x/x11/build/xf86-video-tseng index 0cfbf0888..b8626c4cf 100644 --- a/source/x/x11/build/xf86-video-tseng +++ b/source/x/x11/build/xf86-video-tseng @@ -1 +1 @@ -2 +4 diff --git a/source/x/x11/build/xf86-video-v4l b/source/x/x11/build/xf86-video-v4l index 7ed6ff82d..ec635144f 100644 --- a/source/x/x11/build/xf86-video-v4l +++ b/source/x/x11/build/xf86-video-v4l @@ -1 +1 @@ -5 +9 diff --git a/source/x/x11/build/xf86-video-vmware b/source/x/x11/build/xf86-video-vmware new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-vmware @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/build/xf86-video-voodoo b/source/x/x11/build/xf86-video-voodoo index 0cfbf0888..7ed6ff82d 100644 --- a/source/x/x11/build/xf86-video-voodoo +++ b/source/x/x11/build/xf86-video-voodoo @@ -1 +1 @@ -2 +5 diff --git a/source/x/x11/build/xf86-video-xgi b/source/x/x11/build/xf86-video-xgi index 0cfbf0888..b8626c4cf 100644 --- a/source/x/x11/build/xf86-video-xgi +++ b/source/x/x11/build/xf86-video-xgi @@ -1 +1 @@ -2 +4 diff --git a/source/x/x11/build/xf86-video-xgixp b/source/x/x11/build/xf86-video-xgixp new file mode 100644 index 000000000..b8626c4cf --- /dev/null +++ b/source/x/x11/build/xf86-video-xgixp @@ -0,0 +1 @@ +4 diff --git a/source/x/x11/configure/xf86-input-vmmouse b/source/x/x11/configure/xf86-input-vmmouse index 1b99250b6..1ac863519 100644 --- a/source/x/x11/configure/xf86-input-vmmouse +++ b/source/x/x11/configure/xf86-input-vmmouse @@ -8,8 +8,7 @@ CXXFLAGS=$SLKCFLAGS \ --infodir=/usr/info \ --mandir=/usr/man \ --disable-static \ - --with-hal-bin-dir=/usr/bin \ - --with-hal-callouts-dir=/usr/libexec \ - --with-hal-fdi-dir=/usr/share/hal/fdi/policy/10osvendor \ - --with-udev-rules-dir=none \ + --with-hal-bin-dir=none \ + --with-hal-callouts-dir=none \ + --with-hal-fdi-dir=none \ --build=$ARCH-slackware-linux diff --git a/source/x/x11/configure/xf86-video-nouveau b/source/x/x11/configure/xf86-video-nouveau deleted file mode 100644 index e050771b3..000000000 --- a/source/x/x11/configure/xf86-video-nouveau +++ /dev/null @@ -1,11 +0,0 @@ -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -./autogen.sh \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --infodir=/usr/info \ - --mandir=/usr/man \ - --disable-static \ - --build=$ARCH-slackware-linux diff --git a/source/x/x11/configure/xorg-server b/source/x/x11/configure/xorg-server index 778d7668a..b62befbae 100644 --- a/source/x/x11/configure/xorg-server +++ b/source/x/x11/configure/xorg-server @@ -27,7 +27,7 @@ CFLAGS="$SLKCFLAGS" \ --with-int10=x86emu \ --with-default-font-path="${DEF_FONTPATH}" \ --with-module-dir=/usr/lib${LIBDIRSUFFIX}/xorg/modules \ - --with-os-name="Slackware 14.0" \ + --with-os-name="Slackware 14.1" \ --with-os-vendor="Slackware Linux Project" \ --with-xkb-path=/etc/X11/xkb \ --with-xkb-output=/var/lib/xkb \ diff --git a/source/x/x11/doinst.sh/xdm b/source/x/x11/doinst.sh/xdm index e1d72520d..871a3897f 100644 --- a/source/x/x11/doinst.sh/xdm +++ b/source/x/x11/doinst.sh/xdm @@ -11,7 +11,7 @@ config() { } for conffile in \ Xaccess Xreset Xresources Xservers Xsession Xsetup_0 Xstartup Xwilling \ - GiveConsole TakeConsole chooser xdm-config ../app-defaults/Chooser ; + GiveConsole TakeConsole xdm-config ../app-defaults/Chooser ; do config etc/X11/xdm/${conffile}.new done diff --git a/source/x/x11/makepkg/xorg-server b/source/x/x11/makepkg/xorg-server index 67b93c971..4f47738e1 100644 --- a/source/x/x11/makepkg/xorg-server +++ b/source/x/x11/makepkg/xorg-server @@ -33,3 +33,10 @@ cd ${SLACK_X_BUILD_DIR}/package-xorg-server-xephyr cd $PKG /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/xorg-server-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz +if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-xnest-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-xvfb-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-xephyr-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/xorg-server-${MODULAR_PACKAGE_VERSION}-$ARCH-$BUILD.txz +fi + diff --git a/source/x/x11/modularize b/source/x/x11/modularize index d6eb2f68a..38762ffda 100644 --- a/source/x/x11/modularize +++ b/source/x/x11/modularize @@ -126,6 +126,7 @@ sessreg setxkbmap showfont smproxy +transset twm util-macros videoproto @@ -138,12 +139,14 @@ xbitmaps xcalc xcb-proto xcb-util +xcb-util-cursor xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm xclipboard xclock +xcm xcmiscproto xcmsdb xcompmgr @@ -163,6 +166,8 @@ xf86-input-acecad xf86-input-aiptek xf86-input-evdev xf86-input-joystick +xf86-input-keyboard +xf86-input-mouse xf86-input-penmount xf86-input-synaptics xf86-input-vmmouse @@ -186,6 +191,7 @@ xf86-video-modesetting xf86-video-neomagic xf86-video-nouveau xf86-video-nv +xf86-video-omap xf86-video-openchrome xf86-video-qxl xf86-video-r128 @@ -205,6 +211,7 @@ xf86-video-vesa xf86-video-vmware xf86-video-voodoo xf86-video-xgi +xf86-video-xgixp xf86bigfontproto xf86dga xf86dgaproto diff --git a/source/x/x11/package-blacklist b/source/x/x11/package-blacklist index 377624999..8e2f3eb5c 100644 --- a/source/x/x11/package-blacklist +++ b/source/x/x11/package-blacklist @@ -2,6 +2,10 @@ # this platform) below. Just the package name -- no version # number is needed. +# ARM only packages: +# They also say in the README for this one that it is not yet ready: +xf86-video-omap + # MacOS related packages: applewmproto windowswmproto diff --git a/source/x/x11/patch/xcompmgr.patch b/source/x/x11/patch/xcompmgr.patch index 6097b12a3..33c43a524 100644 --- a/source/x/x11/patch/xcompmgr.patch +++ b/source/x/x11/patch/xcompmgr.patch @@ -1,2 +1,4 @@ zcat $CWD/patch/xcompmgr/xcompmgr-follow-icccm-spec.diff.gz | patch -p1 --verbose \ || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff.gz | patch -p0 --verbose \ + || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff b/source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff new file mode 100644 index 000000000..39b8ac725 --- /dev/null +++ b/source/x/x11/patch/xcompmgr/patch-XFixesSetPictureClipRegion-shadow-fix-xcompmgr.c.diff @@ -0,0 +1,28 @@ +--- xcompmgr.c 2011-11-19 01:49:52.000000000 -0600 ++++ xcompmgr.c 2012-08-11 21:58:58.000000000 -0500 +@@ -1028,7 +1028,6 @@ + { + w->borderClip = XFixesCreateRegion (dpy, NULL, 0); + XFixesCopyRegion (dpy, w->borderClip, region); +- XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize); + } + w->prev_trans = t; + t = w; +@@ -1080,6 +1079,8 @@ + if (w->mode == WINDOW_TRANS) + { + int x, y, wid, hei; ++ XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize); ++ XFixesSetPictureClipRegion(dpy, rootBuffer, 0, 0, w->borderClip); + #if HAS_NAME_WINDOW_PIXMAP + x = w->a.x; + y = w->a.y; +@@ -1099,6 +1100,8 @@ + else if (w->mode == WINDOW_ARGB) + { + int x, y, wid, hei; ++ XFixesIntersectRegion(dpy, w->borderClip, w->borderClip, w->borderSize); ++ XFixesSetPictureClipRegion(dpy, rootBuffer, 0, 0, w->borderClip); + #if HAS_NAME_WINDOW_PIXMAP + x = w->a.x; + y = w->a.y; diff --git a/source/x/x11/patch/xdm.patch b/source/x/x11/patch/xdm.patch new file mode 100644 index 000000000..75e0dcb92 --- /dev/null +++ b/source/x/x11/patch/xdm.patch @@ -0,0 +1 @@ +zcat $CWD/patch/xdm/xdm.glibc.crypt.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/x/x11/patch/xdm/xdm.glibc.crypt.diff b/source/x/x11/patch/xdm/xdm.glibc.crypt.diff new file mode 100644 index 000000000..076df37dc --- /dev/null +++ b/source/x/x11/patch/xdm/xdm.glibc.crypt.diff @@ -0,0 +1,42 @@ +From 8d1eb5c74413e4c9a21f689fc106949b121c0117 Mon Sep 17 00:00:00 2001 +From: mancha <mancha1@hush.com> +Date: Wed, 22 May 2013 14:20:26 +0000 +Subject: Handle NULL returns from glibc 2.17+ crypt(). + +Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL +(w/ NULL return) if the salt violates specifications. Additionally, +on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords +passed to crypt() fail with EPERM (w/ NULL return). + +If using glibc's crypt(), check return value to avoid a possible +NULL pointer dereference. + +Reviewed-by: Matthieu Herrb <matthieu@herrb.eu> +Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> +--- +diff --git a/greeter/verify.c b/greeter/verify.c +index db3cb7d..b009e2b 100644 +--- a/greeter/verify.c ++++ b/greeter/verify.c +@@ -329,6 +329,7 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify) + struct spwd *sp; + # endif + char *user_pass = NULL; ++ char *crypted_pass = NULL; + # endif + # ifdef __OpenBSD__ + char *s; +@@ -464,7 +465,9 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify) + # if defined(ultrix) || defined(__ultrix__) + if (authenticate_user(p, greet->password, NULL) < 0) + # else +- if (strcmp (crypt (greet->password, user_pass), user_pass)) ++ crypted_pass = crypt (greet->password, user_pass); ++ if ((crypted_pass == NULL) ++ || (strcmp (crypted_pass, user_pass))) + # endif + { + if(!greet->allow_null_passwd || strlen(p->pw_passwd) > 0) { +-- +cgit v0.9.0.2-2-gbebe + diff --git a/source/x/x11/patch/xf86-video-apm.patch b/source/x/x11/patch/xf86-video-apm.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-apm.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-ark.patch b/source/x/x11/patch/xf86-video-ark.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-ark.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-ast.patch b/source/x/x11/patch/xf86-video-ast.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-ast.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-chips.patch b/source/x/x11/patch/xf86-video-chips.patch index a5a54ac0e..a9ddcaa4d 100644 --- a/source/x/x11/patch/xf86-video-chips.patch +++ b/source/x/x11/patch/xf86-video-chips.patch @@ -1,4 +1,25 @@ -for patchfile in $CWD/patch/xf86-video-chips/*.patch ; do - cat $patchfile | patch -p1 --verbose \ - || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } ; +# Rationale for this is here: + +# commit bde65934fe8b40a5fdc8a469d0355caca59e81b5 +# Author: Alan Coopersmith <alan.coopersmith@oracle.com> +# Date: Sat Jul 21 09:27:10 2012 -0700 +# +# Add iopl.h to source lists in util/Makefile.am so it gets packaged +# +# Was missed when it was created in commit c421f2477c9999, since +# "make distcheck" passes due to configure determining it can't +# build the utils without the header and moving on. +# +# Reported-by: Andreas Radke <a.radke@arcor.de> +# Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +# iopl.h obtained from git repo +cp $CWD/patch/xf86-video-chips/iopl.h util/ \ + || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file done diff --git a/source/x/x11/patch/xf86-video-chips/0001-chips-gut-the-overlay-8-16-support-from-driver.patch b/source/x/x11/patch/xf86-video-chips/0001-chips-gut-the-overlay-8-16-support-from-driver.patch deleted file mode 100644 index a52e41037..000000000 --- a/source/x/x11/patch/xf86-video-chips/0001-chips-gut-the-overlay-8-16-support-from-driver.patch +++ /dev/null @@ -1,588 +0,0 @@ -From e4bd864898fd276a62dac05cdfff394e98434f02 Mon Sep 17 00:00:00 2001 -From: Dave Airlie <airlied@redhat.com> -Date: Tue, 29 Mar 2011 13:53:31 +1000 -Subject: [PATCH 1/9] chips: gut the overlay 8/16 support from driver. - -This driver is for chips that were bought by Intel in 1997, -this feature means maintaining a lot of code in the X server -for little gain. - -Drop it like its hot. - -Signed-off-by: Dave Airlie <airlied@redhat.com> -Reviewed-by: Adam Jackson <ajax@redhat.com> ---- - man/chips.man | 3 - - src/ct_accel.c | 46 ++--------- - src/ct_driver.c | 234 ++++++------------------------------------------------- - src/ct_driver.h | 1 - - src/ct_video.c | 3 +- - 5 files changed, 28 insertions(+), 259 deletions(-) - -diff --git a/man/chips.man b/man/chips.man -index 740af38..0c022ee 100644 ---- a/man/chips.man -+++ b/man/chips.man -@@ -165,9 +165,6 @@ Force the use of memory mapped IO where it can be used. Default: off - Force driver to leave centering and stretching registers alone. This - can fix some laptop suspend/resume problems. Default: off - .TP --.BI "Option \*qOverlay\*q" --Enable 8+24 overlay mode. Only appropriate for depth 24. Default: off. --.TP - .BI "Option \*qColorKey\*q \*q" integer \*q - Set the colormap index used for the transparency key for the depth 8 plane - when operating in 8+16 overlay mode. The value must be in the range -diff --git a/src/ct_accel.c b/src/ct_accel.c -index 3920b0a..4b5776a 100644 ---- a/src/ct_accel.c -+++ b/src/ct_accel.c -@@ -428,19 +428,7 @@ chips_imagewrite: - infoPtr->ImageWriteFlags |= NO_PLANEMASK; - #endif - -- --#ifdef CHIPS_HIQV -- if (XAAInit(pScreen, infoPtr)) { -- if (cPtr->Flags & ChipsOverlay8plus16) -- return(XAAInitDualFramebufferOverlay(pScreen, -- CTNAME(DepthChange))); -- else -- return TRUE; -- } else -- return FALSE; --#else - return(XAAInit(pScreen, infoPtr)); --#endif - } - - #ifdef CHIPS_HIQV -@@ -1243,11 +1231,6 @@ CTNAME(SubsequentScreenToScreenColorExpandFill)(ScrnInfoPtr pScrn, - #endif - w *= cAcl->BytesPerPixel; - ctBLTWAIT; --#ifdef CHIPS_HIQV -- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16) && -- (pScrn->depth == 8)) -- ctSETPITCH(cAcl->PitchInBytes << 1, cAcl->PitchInBytes); --#endif - ctSETSRCADDR(srcaddr); - ctSETDSTADDR(destaddr); - #ifdef CHIPS_HIQV -@@ -1271,10 +1254,6 @@ CTNAME(SetupForColor8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty, - patternaddr = (paty * pScrn->displayWidth + - (patx & ~0x3F)) * cAcl->BytesPerPixel; - cAcl->patternyrot = (patx & 0x3F) >> 3; --#ifdef CHIPS_HIQV -- if (cPtr->Flags & ChipsOverlay8plus16) -- patternaddr += cPtr->FbOffset16; --#endif - - ctBLTWAIT; - ctSETPATSRCADDR(patternaddr); -@@ -1338,10 +1317,7 @@ CTNAME(SetupForMono8x8PatternFill)(ScrnInfoPtr pScrn, int patx, int paty, - - #ifdef CHIPS_HIQV - patternaddr = paty * pScrn->displayWidth + patx; -- if (cPtr->Flags & ChipsOverlay8plus16) -- patternaddr = patternaddr * 2 + cPtr->FbOffset16; -- else -- patternaddr *= cAcl->BytesPerPixel; -+ patternaddr *= cAcl->BytesPerPixel; - #else - patternaddr = (paty * pScrn->displayWidth + patx) * cAcl->BytesPerPixel; - #endif -@@ -1593,10 +1569,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, - dwords = (((skipleft + bytesPerLine + 0x7) & ~0x7)) >> 2; - destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); - destpitch = pScrn->displayWidth * (bpp >> 3); -- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) -- destaddr += cPtr->FbOffset16; -- else -- destaddr += cAcl->FbOffset; -+ destaddr += cAcl->FbOffset; - - ctBLTWAIT; - -@@ -1681,10 +1654,7 @@ CTNAME(WritePixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, - y++; - - destaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); -- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) -- destaddr += cPtr->FbOffset16; -- else -- destaddr += cAcl->FbOffset; -+ destaddr += cAcl->FbOffset; - - ctBLTWAIT; - ctSETDSTADDR(destaddr); -@@ -1717,10 +1687,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, - dwords = (((bytesPerLine + 0x7) & ~0x7)) >> 2; - srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); - srcpitch = pScrn->displayWidth * (bpp >> 3); -- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) -- srcaddr += cPtr->FbOffset16; -- else -- srcaddr += cAcl->FbOffset; -+ srcaddr += cAcl->FbOffset; - - ctBLTWAIT; - ctSETROP( ctDSTSYSTEM | ctLEFT2RIGHT | ctTOP2BOTTOM | -@@ -1755,10 +1722,7 @@ CTNAME(ReadPixmap)(ScrnInfoPtr pScrn, int x, int y, int w, int h, - dst += dstwidth; - y++; - srcaddr = (y * pScrn->displayWidth + x) * (bpp >> 3); -- if ((y >= pScrn->virtualY) && (cPtr->Flags & ChipsOverlay8plus16)) -- srcaddr += cPtr->FbOffset16; -- else -- srcaddr += cAcl->FbOffset; -+ srcaddr += cAcl->FbOffset; - ctBLTWAIT; - ctSETSRCADDR(srcaddr); - ctSETHEIGHTWIDTHGO(h, bytesPerLine); -diff --git a/src/ct_driver.c b/src/ct_driver.c -index 6624b79..08df050 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -1639,55 +1639,15 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) - } - } - -- if ((s = xf86GetOptValString(cPtr->Options, OPTION_OVERLAY))) { -- if (!*s || !xf86NameCmp(s, "8,16") || !xf86NameCmp(s, "16,8")) { -- if (pScrn->bitsPerPixel == 16) { -- if (cPtr->Flags & ChipsLinearSupport) { -- cPtr->Flags |= ChipsOverlay8plus16; -- if(!xf86GetOptValInteger( -- cPtr->Options, OPTION_COLOR_KEY, &(pScrn->colorKey))) -- pScrn->colorKey = TRANSPARENCY_KEY; -- pScrn->overlayFlags = OVERLAY_8_16_DUALFB; -- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, -- "PseudoColor overlay enabled.\n"); -- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_STRETCH)) -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- " - Forcing option \"Stretch\" \"ON\".\n"); -- if (!xf86IsOptionSet(cPtr->Options, OPTION_LCD_CENTER)) -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- " - Forcing option \"LcdCenter\" \"OFF\".\n"); -- if (cPtr->Flags & ChipsShadowFB) { -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- " - Disabling \"Shadow Framebuffer\".\n"); -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- " Not support with option \"8Plus16\".\n"); -- cPtr->Flags &= ~ChipsShadowFB; -- cPtr->Rotate = 0; -- } -- } else { -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Option \"Overlay\" ignored. Not supported without linear addressing\n"); -- } -- } else { -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- "Option \"Overlay\" is not supported in this configuration\n"); -- } -- } else { -- xf86DrvMsg(pScrn->scrnIndex, X_WARNING, -- "\"%s\" is not a valid value for Option \"Overlay\"\n", s); -- } -- } -- -- if (!(cPtr->Flags & ChipsOverlay8plus16)) { -- if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY, -- &(cPtr->videoKey))) { -- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n", -+ if(xf86GetOptValInteger(cPtr->Options, OPTION_VIDEO_KEY, -+ &(cPtr->videoKey))) { -+ xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "video key set to 0x%x\n", - cPtr->videoKey); -- } else { -- cPtr->videoKey = (1 << pScrn->offset.red) | -+ } else { -+ cPtr->videoKey = (1 << pScrn->offset.red) | - (1 << pScrn->offset.green) | - (((pScrn->mask.blue >> pScrn->offset.blue) - 1) - << pScrn->offset.blue); -- } - } - - if (cPtr->Flags & ChipsShadowFB) { -@@ -2335,28 +2295,16 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) - /* and 32bits on the others. Thus multiply by a suitable factor */ - if (cPtr->Flags & Chips64BitMemory) { - if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD)) -- if (cPtr->Flags & ChipsOverlay8plus16 ) -- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 4); -- else - cPtr->MaxClock = min(cPtr->MaxClock, - MemClk->Clk * 8 * 0.7 / (bytesPerPixel + 1)); - else -- if (cPtr->Flags & ChipsOverlay8plus16) -- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 8 * 0.7 / 3); -- else - cPtr->MaxClock = min(cPtr->MaxClock, - MemClk->Clk * 8 * 0.7 / bytesPerPixel); - } else { - if (cPtr->FrameBufferSize && (cPtr->PanelType & ChipsLCD)) -- if (cPtr->Flags & ChipsOverlay8plus16 ) -- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 4); -- else - cPtr->MaxClock = min(cPtr->MaxClock, - MemClk->Clk * 4 * 0.7 / (bytesPerPixel + 1)); - else -- if (cPtr->Flags & ChipsOverlay8plus16) -- cPtr->MaxClock = min(cPtr->MaxClock, MemClk->Clk * 4 * 0.7 / 3); -- else - cPtr->MaxClock = min(cPtr->MaxClock, - MemClk->Clk * 4 * 0.7 / bytesPerPixel); - } -@@ -3736,8 +3684,7 @@ CHIPSEnterVT(int scrnIndex, int flags) - /* Should we re-save the text mode on each VT enter? */ - if(!chipsModeInit(pScrn, pScrn->currentMode)) - return FALSE; -- if ((!(cPtr->Flags & ChipsOverlay8plus16)) -- && (cPtr->Flags & ChipsVideoSupport) -+ if ((cPtr->Flags & ChipsVideoSupport) - && (cPtr->Flags & ChipsLinearSupport)) - CHIPSResetVideo(pScrn); - -@@ -3788,8 +3735,7 @@ chipsLoadPalette(ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, - int i, index, shift ; - CHIPSEntPtr cPtrEnt; - -- shift = ((pScrn->depth == 15) && -- (!(cPtr->Flags & ChipsOverlay8plus16))) ? 3 : 0; -+ shift = (pScrn->depth == 15) ? 3 : 0; - - if (cPtr->UseDualChannel) { - cPtrEnt = xf86GetEntityPrivate(pScrn->entityList[0], -@@ -3895,18 +3841,6 @@ chipsLoadPalette16(ScrnInfoPtr pScrn, int numColors, int *indices, - hwp->disablePalette(hwp); - } - --static Bool --cfb8_16ScreenInit(ScreenPtr pScreen, pointer pbits16, pointer pbits8, -- int xsize, int ysize, int dpix, int dpiy, -- int width16, int width8) --{ -- return -- (fbOverlaySetupScreen(pScreen, pbits16, pbits8, xsize, ysize, -- dpix, dpiy, width16, width8, 16, 8) && -- fbOverlayFinishScreenInit(pScreen, pbits16, pbits8, xsize, ysize, -- dpix, dpiy, width16, width8, 16, 8, 16, 8)); --} -- - /* Mandatory */ - static Bool - CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) -@@ -3947,22 +3881,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - if (!chipsMapMem(pScrn)) - return FALSE; - -- /* Setup a pointer to the overlay if needed */ -- if (cPtr->Flags & ChipsOverlay8plus16) { -- cPtr->FbOffset16 = pScrn->displayWidth * pScrn->virtualY; -- cPtr->FbSize16 = (pScrn->displayWidth << 1) * pScrn->virtualY; -- if (cPtr->FbSize16 > (cPtr->FbMapSize - cPtr->FrameBufferSize)) { -- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, -- "Too little memory for overlay. Disabling.\n"); -- cPtr->Flags &= ~ChipsOverlay8plus16; -- } -- if ((pScrn->displayWidth > 1024) || (pScrn->virtualY > 1024)) { -- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, -- "Max overlay Width/Height 1024 pixels. Disabling.\n"); -- cPtr->Flags &= ~ChipsOverlay8plus16; -- } -- } -- - /* Setup the MMIO register access functions if need */ - if (cPtr->UseFullMMIO && cPtr->MMIOBaseVGA) { - CHIPSSetMmioExtFuncs(cPtr); -@@ -4035,18 +3953,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - miClearVisualTypes(); - - /* Setup the visuals we support. */ -- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)){ -- if (!miSetVisualTypes(8, PseudoColorMask | GrayScaleMask, -- pScrn->rgbBits, PseudoColor)) -- return FALSE; -- if (!miSetVisualTypes(16, TrueColorMask, pScrn->rgbBits, TrueColor)) -- return FALSE; -- } else { -- if (!miSetVisualTypes(pScrn->depth, -+ if (!miSetVisualTypes(pScrn->depth, - miGetDefaultVisualMask(pScrn->depth), - pScrn->rgbBits, pScrn->defaultVisual)) -- return FALSE; -- } -+ return FALSE; - miSetPixmapDepths (); - - /* -@@ -4090,13 +4000,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - break; - #endif - case 16: -- if (cPtr->Flags & ChipsOverlay8plus16) { -- ret = cfb8_16ScreenInit(pScreen, (unsigned char *)FBStart + -- cPtr->FbOffset16, FBStart, width, -- height, pScrn->xDpi, pScrn->yDpi, -- displayWidth, displayWidth); -- break; -- } - default: - ret = fbScreenInit(pScreen, FBStart, - width,height, -@@ -4244,9 +4147,6 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - if (pScrn->bitsPerPixel < 8) - freespace = allocatebase - pScrn->displayWidth * - pScrn->virtualY / 2; -- else if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) -- freespace = allocatebase - pScrn->displayWidth * -- pScrn->virtualY - cPtr->FbSize16; - else - freespace = allocatebase - pScrn->displayWidth * - pScrn->virtualY * (pScrn->bitsPerPixel >> 3); -@@ -4369,9 +4269,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - AvailFBArea.y2 = cAcl->CacheEnd / - (pScrn->displayWidth * (pScrn->bitsPerPixel >> 3)); - -- if (!(cPtr->Flags & ChipsOverlay8plus16)) { -- xf86InitFBManager(pScreen, &AvailFBArea); -- } -+ xf86InitFBManager(pScreen, &AvailFBArea); - } - if (cPtr->Flags & ChipsAccelSupport) { - if (IS_HiQV(cPtr)) { -@@ -4425,16 +4323,10 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - if (!miCreateDefColormap(pScreen)) - return FALSE; - -- if ((cPtr->Flags & ChipsOverlay8plus16) && (pScrn->bitsPerPixel == 16)) { -- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, chipsLoadPalette, -- NULL, CMAP_RELOAD_ON_MODE_SWITCH)) -- return FALSE; -- } else { -- if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, -+ if(!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, - (pScrn->depth == 16 ? chipsLoadPalette16 : chipsLoadPalette), - NULL, CMAP_RELOAD_ON_MODE_SWITCH | CMAP_PALETTED_TRUECOLOR)) -- return FALSE; -- } -+ return FALSE; - - #ifndef XSERVER_LIBPCIACCESS - racflag = RAC_COLORMAP; -@@ -4448,8 +4340,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - xf86SetSilkenMouse(pScreen); - #endif - -- if ((!(cPtr->Flags & ChipsOverlay8plus16)) -- && (cPtr->Flags & ChipsVideoSupport) -+ if ((cPtr->Flags & ChipsVideoSupport) - && (cPtr->Flags & ChipsLinearSupport)) { - CHIPSInitVideo(pScreen); - } -@@ -4522,10 +4413,7 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags) - Base >>= 3; - break; - case 16: -- if (!(cPtr->Flags & ChipsOverlay8plus16)) -- Base >>= 1; -- else -- Base >>= 2; -+ Base >>= 1; - break; - case 24: - if (!IS_HiQV(cPtr)) -@@ -4581,14 +4469,6 @@ CHIPSAdjustFrame(int scrnIndex, int x, int y, int flags) - cPtr->writeMSS(cPtr, hwp, MSS); - } - -- if (cPtr->Flags & ChipsOverlay8plus16) { -- Base = (Base << 3) & ~(unsigned long)0xF; -- -- cPtr->writeMR(cPtr, 0x22, (cPtr->FbOffset16 + Base) & 0xF8); -- cPtr->writeMR(cPtr, 0x23, ((cPtr->FbOffset16 + Base) >> 8) & 0xFF); -- cPtr->writeMR(cPtr, 0x24, ((cPtr->FbOffset16 + Base) >> 16) & 0xFF); -- } -- - } - - /* Mandatory */ -@@ -4652,13 +4532,6 @@ CHIPSValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags) - ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; - CHIPSPtr cPtr = CHIPSPTR(pScrn); - -- if (flags & MODECHECK_FINAL) { -- /* Don't subtract FrambufferSize here as it should be subtracted already */ -- if ((cPtr->Flags & ChipsOverlay8plus16) -- && ((pScrn->videoRam<<10) - pScrn->displayWidth * 3 * pScrn->virtualY -- < 0)) -- return MODE_MEM; -- } - /* The tests here need to be expanded */ - if ((mode->Flags & V_INTERLACE) && (cPtr->PanelType & ChipsLCD)) - return MODE_NO_INTERLACE; -@@ -5544,12 +5417,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - } else { - ChipsStd->Attribute[0x10] = 0x01; /* mode */ - } -- if ((pScrn->bitsPerPixel == 16) && (cPtr->Flags & ChipsOverlay8plus16)) { -- /* Make sure that the overlay isn't visible in the overscan region */ -- if (ChipsStd->Attribute[0x11] == pScrn->colorKey) -- ChipsStd->Attribute[0x11] = pScrn->colorKey - 1; -- } else -- ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */ -+ ChipsStd->Attribute[0x11] = 0x00; /* overscan (border) color */ - ChipsStd->Attribute[0x12] = 0x0F; /* enable all color planes */ - ChipsStd->Attribute[0x13] = 0x00; /* horiz pixel panning 0 */ - -@@ -5558,8 +5426,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - /* set virtual screen width */ - tmp = pScrn->displayWidth >> 3; - if (pScrn->bitsPerPixel == 16) { -- if (!(cPtr->Flags & ChipsOverlay8plus16)) -- tmp <<= 1; /* double the width of the buffer */ -+ tmp <<= 1; /* double the width of the buffer */ - } else if (pScrn->bitsPerPixel == 24) { - tmp += tmp << 1; - } else if (pScrn->bitsPerPixel == 32) { -@@ -5688,8 +5555,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - - /* centering/stretching */ - if (!xf86ReturnOptValBool(cPtr->Options, OPTION_SUSPEND_HACK, FALSE)) { -- if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE) || -- (cPtr->Flags & ChipsOverlay8plus16)) { -+ if (!xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_STRETCH, FALSE)) { - ChipsNew->FR[0x40] &= 0xDF; /* Disable Horizontal stretching */ - ChipsNew->FR[0x48] &= 0xFB; /* Disable vertical stretching */ - ChipsNew->XR[0xA0] = 0x10; /* Disable cursor stretching */ -@@ -5709,8 +5575,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - } - } - -- if ((xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) -- || (cPtr->Flags & ChipsOverlay8plus16)) { -+ if (xf86ReturnOptValBool(cPtr->Options, OPTION_LCD_CENTER, TRUE)) { - ChipsNew->FR[0x40] |= 0x3; /* Enable Horizontal centering */ - ChipsNew->FR[0x48] |= 0x3; /* Enable Vertical centering */ - } else { -@@ -5723,8 +5588,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - ChipsNew->XR[0x82] |=0x02; - - /* software mode flag */ -- ChipsNew->XR[0xE2] = chipsVideoMode(((cPtr->Flags & ChipsOverlay8plus16) ? -- 8 : pScrn->depth), (cPtr->PanelType & ChipsLCD) ? -+ ChipsNew->XR[0xE2] = chipsVideoMode((pScrn->depth), (cPtr->PanelType & ChipsLCD) ? - min(mode->CrtcHDisplay, cPtr->PanelSize.HDisplay) : - mode->CrtcHDisplay, mode->CrtcVDisplay); - #ifdef DEBUG -@@ -5762,7 +5626,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - } - } - /* bpp depend */ -- if ((pScrn->bitsPerPixel == 16) && (!(cPtr->Flags & ChipsOverlay8plus16))) { -+ if (pScrn->bitsPerPixel == 16) { - ChipsNew->XR[0x81] = (ChipsNew->XR[0x81] & 0xF0) | 0x4; - if (cPtr->Flags & ChipsGammaSupport) - ChipsNew->XR[0x82] |= 0x0C; -@@ -5915,60 +5779,7 @@ chipsModeInitHiQV(ScrnInfoPtr pScrn, DisplayModePtr mode) - /* Turn off multimedia by default as it degrades performance */ - ChipsNew->XR[0xD0] &= 0x0f; - -- /* Setup the video/overlay */ -- if (cPtr->Flags & ChipsOverlay8plus16) { -- ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */ --#ifdef SAR04 -- ChipsNew->XR[0x4F] = 0x2A; /* SAR04 >352 pixel overlay width */ --#endif -- ChipsNew->MR[0x1E] &= 0xE0; /* Set Zoom and Direction */ -- if ((!(cPtr->PanelType & ChipsLCD)) && (mode->Flags & V_INTERLACE)) -- ChipsNew->MR[0x1E] |= 0x10; /* Interlace */ -- ChipsNew->MR[0x1F] &= 0x14; /* Mask reserved bits */ -- ChipsNew->MR[0x1F] |= 0x08; /* RGB 16bpp */ -- if (pScrn->weight.green == 5) -- ChipsNew->MR[0x1F] |= 0x01; /* RGB 15bpp */ -- -- ChipsNew->MR[0x20] &= 0x03; /* Mask reserved bits */ -- ChipsNew->MR[0x20] |= 0x80; /* Auto Centre, Use mem ptr1 */ -- ChipsNew->MR[0x22] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 1 */ -- ChipsNew->MR[0x23] = (cPtr->FbOffset16 >> 8) & 0xFF; -- ChipsNew->MR[0x24] = (cPtr->FbOffset16 >> 16) & 0xFF; -- ChipsNew->MR[0x25] = cPtr->FbOffset16 & 0xF8; /* Setup Pointer 2 */ -- ChipsNew->MR[0x26] = (cPtr->FbOffset16 >> 8) & 0xFF; -- ChipsNew->MR[0x27] = (cPtr->FbOffset16 >> 16) & 0xFF; -- ChipsNew->MR[0x28] = (pScrn->displayWidth >> 2) - 1; /* Width */ -- ChipsNew->MR[0x34] = (pScrn->displayWidth >> 2) - 1; -- -- /* Left Edge of Overlay */ -- ChipsNew->MR[0x2A] = cPtr->OverlaySkewX; -- ChipsNew->MR[0x2B] &= 0xF8; /* Mask reserved bits */ -- ChipsNew->MR[0x2B] |= ((cPtr->OverlaySkewX >> 8) & 0x7); -- /* Right Edge of Overlay */ -- ChipsNew->MR[0x2C] = (cPtr->OverlaySkewX + pScrn->displayWidth - -- 1) & 0xFF; -- ChipsNew->MR[0x2D] &= 0xF8; /* Mask reserved bits */ -- ChipsNew->MR[0x2D] |= ((cPtr->OverlaySkewX + pScrn->displayWidth - -- 1) >> 8) & 0x07; -- /* Top Edge of Overlay */ -- ChipsNew->MR[0x2E] = cPtr->OverlaySkewY; -- ChipsNew->MR[0x2F] &= 0xF8; -- ChipsNew->MR[0x2F] |= ((cPtr->OverlaySkewY >> 8) & 0x7); -- /* Bottom Edge of Overlay*/ -- ChipsNew->MR[0x30] = (cPtr->OverlaySkewY + pScrn->virtualY - 1 )& 0xFF; -- ChipsNew->MR[0x31] &= 0xF8; /* Mask reserved bits */ -- ChipsNew->MR[0x31] |= ((cPtr->OverlaySkewY + pScrn->virtualY - -- 1 ) >> 8) & 0x07; -- -- ChipsNew->MR[0x3C] &= 0x18; /* Mask reserved bits */ -- ChipsNew->MR[0x3C] |= 0x07; /* Enable keyed overlay window */ -- ChipsNew->MR[0x3D] = 0x00; -- ChipsNew->MR[0x3E] = 0x00; -- ChipsNew->MR[0x3F] = pScrn->colorKey; /* 8bpp transparency key */ -- ChipsNew->MR[0x40] = 0xFF; -- ChipsNew->MR[0x41] = 0xFF; -- ChipsNew->MR[0x42] = 0x00; -- } else if (cPtr->Flags & ChipsVideoSupport) { -+ if (cPtr->Flags & ChipsVideoSupport) { - #if 0 /* if we do this even though video isn't playing we kill performance */ - ChipsNew->XR[0xD0] |= 0x10; /* Force the Multimedia engine on */ - #endif -@@ -6877,8 +6688,7 @@ chipsRestoreExtendedRegs(ScrnInfoPtr pScrn, CHIPSRegPtr Regs) - } - - /* Set SAR04 multimedia register correctly */ -- if ((cPtr->Flags & ChipsOverlay8plus16) -- || (cPtr->Flags & ChipsVideoSupport)) { -+ if ((cPtr->Flags & ChipsVideoSupport)) { - #ifdef SAR04 - cPtr->writeXR(cPtr, 0x4E, 0x04); - if (cPtr->readXR(cPtr, 0x4F) != Regs->XR[0x4F]) -diff --git a/src/ct_driver.h b/src/ct_driver.h -index d8ce228..10a24d4 100644 ---- a/src/ct_driver.h -+++ b/src/ct_driver.h -@@ -114,7 +114,6 @@ typedef struct { - /* Options flags for the C&T chipsets */ - #define ChipsHWCursor 0x00001000 - #define ChipsShadowFB 0x00002000 --#define ChipsOverlay8plus16 0x00004000 - #define ChipsUseNewFB 0x00008000 - - /* Architecture type flags */ -diff --git a/src/ct_video.c b/src/ct_video.c -index a68acb9..c9e5bb4 100644 ---- a/src/ct_video.c -+++ b/src/ct_video.c -@@ -56,8 +56,7 @@ CHIPSInitVideo(ScreenPtr pScreen) - CHIPSPtr cPtr = CHIPSPTR(pScrn); - int num_adaptors; - -- if (!(cPtr->Flags & ChipsOverlay8plus16) && -- (cPtr->Flags & ChipsVideoSupport)) { -+ if ((cPtr->Flags & ChipsVideoSupport)) { - newAdaptor = CHIPSSetupImageVideo(pScreen); - CHIPSInitOffscreenImages(pScreen); - } --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0002-PciTag-is-unused-when-using-libpciaccess.patch b/source/x/x11/patch/xf86-video-chips/0002-PciTag-is-unused-when-using-libpciaccess.patch deleted file mode 100644 index 6caaa210d..000000000 --- a/source/x/x11/patch/xf86-video-chips/0002-PciTag-is-unused-when-using-libpciaccess.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 5f8a7320123255408b393eab9ecfae783920622a Mon Sep 17 00:00:00 2001 -From: Mark Kettenis <kettenis@openbsd.org> -Date: Mon, 26 Sep 2011 21:26:26 +0200 -Subject: [PATCH 2/9] PciTag is unused when using libpciaccess - -Signed-off-by: Mark Kettenis <kettenis@openbsd.org> -Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com> -Reviewed-by: Julien Cristau <jcristau@debian.org> ---- - src/ct_driver.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/ct_driver.h b/src/ct_driver.h -index 10a24d4..39eeb6e 100644 ---- a/src/ct_driver.h -+++ b/src/ct_driver.h -@@ -271,7 +271,9 @@ typedef struct { - - typedef struct _CHIPSRec { - pciVideoPtr PciInfo; -+#ifndef XSERVER_LIBPCIACCESS - PCITAG PciTag; -+#endif - int Chipset; - EntityInfoPtr pEnt; - IOADDRESS PIOBase; --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0003-Use-malloc-calloc-realloc-free-directly.patch b/source/x/x11/patch/xf86-video-chips/0003-Use-malloc-calloc-realloc-free-directly.patch deleted file mode 100644 index de379e4dd..000000000 --- a/source/x/x11/patch/xf86-video-chips/0003-Use-malloc-calloc-realloc-free-directly.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7ca1840f39d0216e44fe1ca938cfc3ced048da1d Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Tue, 18 Oct 2011 22:24:54 -0700 -Subject: [PATCH 3/9] Use malloc/calloc/realloc/free directly - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- - src/ct_driver.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/ct_driver.c b/src/ct_driver.c -index 08df050..e6538c6 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -949,7 +949,7 @@ CHIPSProbe(DriverPtr drv, int flags) - } - - } -- xfree(usedChips); -+ free(usedChips); - } - } - -@@ -981,12 +981,12 @@ CHIPSProbe(DriverPtr drv, int flags) - pScrn->ValidMode = CHIPSValidMode; - foundScreen = TRUE; - } -- xfree(usedChips); -+ free(usedChips); - } - } - #endif - -- xfree(devSections); -+ free(devSections); - return foundScreen; - } - #endif -@@ -4126,7 +4126,7 @@ CHIPSScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv) - } - if (!miInitializeBanking(pScreen, pScrn->virtualX, pScrn->virtualY, - pScrn->displayWidth, pBankInfo)) { -- xfree(pBankInfo); -+ free(pBankInfo); - pBankInfo = NULL; - return FALSE; - } --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0004-configure.ac-Remove-AM_PROG_CC_C_O.patch b/source/x/x11/patch/xf86-video-chips/0004-configure.ac-Remove-AM_PROG_CC_C_O.patch deleted file mode 100644 index bcf6355a1..000000000 --- a/source/x/x11/patch/xf86-video-chips/0004-configure.ac-Remove-AM_PROG_CC_C_O.patch +++ /dev/null @@ -1,27 +0,0 @@ -From f5191838b70d67e991bef3491d2a60915988079c Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Tue, 18 Oct 2011 22:37:00 -0700 -Subject: [PATCH 4/9] configure.ac: Remove AM_PROG_CC_C_O - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- - configure.ac | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 225e516..c0ed508 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -44,9 +44,6 @@ XORG_DEFAULT_OPTIONS - AC_DISABLE_STATIC - AC_PROG_LIBTOOL - --# Checks for programs. --AM_PROG_CC_C_O -- - AH_TOP([#include "xorg-server.h"]) - - # Define a configure option for an alternate module directory --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0005-util-Consolidate-common-macros.patch b/source/x/x11/patch/xf86-video-chips/0005-util-Consolidate-common-macros.patch deleted file mode 100644 index 77d0d5bc0..000000000 --- a/source/x/x11/patch/xf86-video-chips/0005-util-Consolidate-common-macros.patch +++ /dev/null @@ -1,283 +0,0 @@ -From 94a8b34528b42a4fe6f81c8b8bd1ddb6bebaeea9 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Tue, 18 Oct 2011 23:04:32 -0700 -Subject: [PATCH 5/9] util: Consolidate common macros - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- - util/dRegs.c | 57 +------------------------------------------------------ - util/iopl.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - util/mRegs.c | 57 +------------------------------------------------------ - util/modClock.c | 53 ++------------------------------------------------- - 4 files changed, 58 insertions(+), 163 deletions(-) - create mode 100644 util/iopl.h - -diff --git a/util/dRegs.c b/util/dRegs.c -index b7edc8f..0d2f0cb 100644 ---- a/util/dRegs.c -+++ b/util/dRegs.c -@@ -1,63 +1,8 @@ -- -- -- -- -- -- --#ifdef __NetBSD__ --# include <sys/types.h> --# include <machine/pio.h> --# include <machine/sysarch.h> --#else --# if defined(SVR4) && defined(i386) --# include <sys/types.h> --# ifdef NCR -- /* broken NCR <sys/sysi86.h> */ --# define __STDC --# include <sys/sysi86.h> --# undef __STDC --# else --# include <sys/sysi86.h> --# endif --# ifdef SVR4 --# if !defined(sun) --# include <sys/seg.h> --# endif --# endif --# include <sys/v86.h> --# if defined(sun) --# include <sys/psw.h> --# endif --# endif --# include "AsmMacros.h" --#endif /* NetBSD */ -- - #include <unistd.h> - #include <stdio.h> - #include <stdlib.h> - --#ifdef __NetBSD__ --# define SET_IOPL() i386_iopl(3) --# define RESET_IOPL() i386_iopl(0) --#else --# if defined(SVR4) && defined(i386) --# ifndef SI86IOPL --# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) --# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) --# else --# define SET_IOPL() sysi86(SI86IOPL,3) --# define RESET_IOPL() sysi86(SI86IOPL,0) --# endif --# else --# ifdef linux --# define SET_IOPL() iopl(3) --# define RESET_IOPL() iopl(0) --# else --# define SET_IOPL() (void)0 --# define RESET_IOPL() (void)0 --# endif --# endif --#endif -+#include "iopl.h" - - int main(void) - { -diff --git a/util/iopl.h b/util/iopl.h -new file mode 100644 -index 0000000..d7890b3 ---- /dev/null -+++ b/util/iopl.h -@@ -0,0 +1,54 @@ -+#ifdef __NetBSD__ -+# include <sys/types.h> -+# include <machine/pio.h> -+# include <machine/sysarch.h> -+#else -+# if defined(SVR4) && defined(i386) -+# include <sys/types.h> -+# ifdef NCR -+ /* broken NCR <sys/sysi86.h> */ -+# define __STDC -+# include <sys/sysi86.h> -+# undef __STDC -+# else -+# include <sys/sysi86.h> -+# endif -+# ifdef SVR4 -+# if !defined(sun) -+# include <sys/seg.h> -+# endif -+# endif -+# include <sys/v86.h> -+# if defined(sun) -+# include <sys/psw.h> -+# endif -+# endif -+# include "AsmMacros.h" -+#endif /* NetBSD */ -+ -+#include <unistd.h> -+#include <stdio.h> -+#include <stdlib.h> -+ -+#ifdef __NetBSD__ -+# define SET_IOPL() i386_iopl(3) -+# define RESET_IOPL() i386_iopl(0) -+#else -+# if defined(SVR4) && defined(i386) -+# ifndef SI86IOPL -+# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) -+# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) -+# else -+# define SET_IOPL() sysi86(SI86IOPL,3) -+# define RESET_IOPL() sysi86(SI86IOPL,0) -+# endif -+# else -+# ifdef linux -+# define SET_IOPL() iopl(3) -+# define RESET_IOPL() iopl(0) -+# else -+# define SET_IOPL() (void)0 -+# define RESET_IOPL() (void)0 -+# endif -+# endif -+#endif -diff --git a/util/mRegs.c b/util/mRegs.c -index f359738..843d01d 100644 ---- a/util/mRegs.c -+++ b/util/mRegs.c -@@ -1,63 +1,8 @@ -- -- -- -- -- -- --#ifdef __NetBSD__ --# include <sys/types.h> --# include <machine/pio.h> --# include <machine/sysarch.h> --#else --# if defined(SVR4) && defined(i386) --# include <sys/types.h> --# ifdef NCR -- /* broken NCR <sys/sysi86.h> */ --# define __STDC --# include <sys/sysi86.h> --# undef __STDC --# else --# include <sys/sysi86.h> --# endif --# ifdef SVR4 --# if !defined(sun) --# include <sys/seg.h> --# endif --# endif --# include <sys/v86.h> --# if defined(sun) --# include <sys/psw.h> --# endif --# endif --# include "AsmMacros.h" --#endif /* NetBSD */ -- - #include <unistd.h> - #include <stdio.h> - #include <stdlib.h> - --#ifdef __NetBSD__ --# define SET_IOPL() i386_iopl(3) --# define RESET_IOPL() i386_iopl(0) --#else --# if defined(SVR4) && defined(i386) --# ifndef SI86IOPL --# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) --# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) --# else --# define SET_IOPL() sysi86(SI86IOPL,3) --# define RESET_IOPL() sysi86(SI86IOPL,0) --# endif --# else --# ifdef linux --# define SET_IOPL() iopl(3) --# define RESET_IOPL() iopl(0) --# else --# define SET_IOPL() (void)0 --# define RESET_IOPL() (void)0 --# endif --# endif --#endif -+#include "iopl.h" - - int hex2int(char* str); - -diff --git a/util/modClock.c b/util/modClock.c -index 89a291a..45af19b 100644 ---- a/util/modClock.c -+++ b/util/modClock.c -@@ -1,61 +1,12 @@ -- --#ifdef __NetBSD__ --# include <sys/types.h> --# include <machine/pio.h> --# include <machine/sysarch.h> --#else --# if defined(SVR4) && defined(i386) --# include <sys/types.h> --# ifdef NCR -- /* broken NCR <sys/sysi86.h> */ --# define __STDC --# include <sys/sysi86.h> --# undef __STDC --# else --# include <sys/sysi86.h> --# endif --# ifdef SVR4 --# if !defined(sun) --# include <sys/seg.h> --# endif --# endif --# include <sys/v86.h> --# if defined(sun) --# include <sys/psw.h> --# endif --# endif --# include "AsmMacros.h" --#endif /* NetBSD */ -- - #include <unistd.h> - #include <stdio.h> - #include <stdlib.h> -+ - #ifndef Lynx - #include <fnmatch.h> - #endif - --#ifdef __NetBSD__ --# define SET_IOPL() i386_iopl(3) --# define RESET_IOPL() i386_iopl(0) --#else --# if defined(SVR4) && defined(i386) --# ifndef SI86IOPL --# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) --# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) --# else --# define SET_IOPL() sysi86(SI86IOPL,3) --# define RESET_IOPL() sysi86(SI86IOPL,0) --# endif --# else --# ifdef linux --# define SET_IOPL() iopl(3) --# define RESET_IOPL() iopl(0) --# else --# define SET_IOPL() (void)0 --# define RESET_IOPL() (void)0 --# endif --# endif --#endif -+#include "iopl.h" - - #define tolerance 0.01 /* +/- 1% */ - --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0006-Fix-implicit-declaration-of-iopl.patch b/source/x/x11/patch/xf86-video-chips/0006-Fix-implicit-declaration-of-iopl.patch deleted file mode 100644 index a0b4bb4b9..000000000 --- a/source/x/x11/patch/xf86-video-chips/0006-Fix-implicit-declaration-of-iopl.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c421f2477c99990d0dc712d6aece981fa6c961e5 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Tue, 18 Oct 2011 23:09:09 -0700 -Subject: [PATCH 6/9] Fix implicit declaration of iopl -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -warning: implicit declaration of function ‘iopl’ [-Wimplicit-function-declaration] - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- - util/iopl.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/util/iopl.h b/util/iopl.h -index d7890b3..e08207c 100644 ---- a/util/iopl.h -+++ b/util/iopl.h -@@ -3,6 +3,12 @@ - # include <machine/pio.h> - # include <machine/sysarch.h> - #else -+# if defined(__linux__) -+/* Can't because <sys/iopl.h> provides conflicting inb, outb, etc -+ * # include <sys/io.h> -+ */ -+int iopl(int level); -+# endif - # if defined(SVR4) && defined(i386) - # include <sys/types.h> - # ifdef NCR --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0007-Build-fix-for-ABI-Version-12.patch b/source/x/x11/patch/xf86-video-chips/0007-Build-fix-for-ABI-Version-12.patch deleted file mode 100644 index 12dc51316..000000000 --- a/source/x/x11/patch/xf86-video-chips/0007-Build-fix-for-ABI-Version-12.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 8a5ea07f30cc71ecc413fad0713facff72f77472 Mon Sep 17 00:00:00 2001 -From: Jeremy Huddleston <jeremyhu@apple.com> -Date: Tue, 18 Oct 2011 23:21:33 -0700 -Subject: [PATCH 7/9] Build fix for ABI Version 12 - -ABI Version 12 removes support for multiple PCI domains. If you need to -use this driver on a system with more than one PCI domain, you should -either port this driver to using libpciaccess directly or stick with an -older server. - -Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> ---- - src/ct_driver.c | 5 +++++ - src/ct_driver.h | 4 ++-- - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/ct_driver.c b/src/ct_driver.c -index e6538c6..a2e5c94 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -1446,7 +1446,12 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) - - hwp = VGAHWPTR(pScrn); - vgaHWGetIOBase(hwp); -+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 - cPtr->PIOBase = hwp->PIOOffset; -+#else -+ cPtr->PIOBase = 0; -+#endif -+ - /* - * Must allow ensure that storage for the 2nd set of vga registers is - * allocated for dual channel cards -diff --git a/src/ct_driver.h b/src/ct_driver.h -index 39eeb6e..9033867 100644 ---- a/src/ct_driver.h -+++ b/src/ct_driver.h -@@ -276,8 +276,8 @@ typedef struct _CHIPSRec { - #endif - int Chipset; - EntityInfoPtr pEnt; -- IOADDRESS PIOBase; -- CARD32 IOAddress; -+ unsigned long PIOBase; -+ unsigned long IOAddress; - unsigned long FbAddress; - unsigned int IOBase; - unsigned char * FbBase; --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch b/source/x/x11/patch/xf86-video-chips/0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch deleted file mode 100644 index 3478fa34b..000000000 --- a/source/x/x11/patch/xf86-video-chips/0008-Fall-back-to-shadowfb-if-XAA-is-unavailable.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5d5753551609f1483801e5edd8d42b11713c981e Mon Sep 17 00:00:00 2001 -From: Adam Jackson <ajax@redhat.com> -Date: Mon, 19 Dec 2011 16:18:34 -0500 -Subject: [PATCH 8/9] Fall back to shadowfb if XAA is unavailable - -Signed-off-by: Adam Jackson <ajax@redhat.com> ---- - src/ct_driver.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/src/ct_driver.c b/src/ct_driver.c -index a2e5c94..95092a2 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -1345,10 +1345,9 @@ CHIPSPreInit(ScrnInfoPtr pScrn, int flags) - - if (cPtr->Flags & ChipsAccelSupport) { - if (!xf86LoadSubModule(pScrn, "xaa")) { -- vbeFree(cPtr->pVbe); -- cPtr->pVbe = NULL; -- CHIPSFreeRec(pScrn); -- return FALSE; -+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadowfb\n"); -+ cPtr->Flags &= ~(ChipsAccelSupport); -+ cPtr->Flags |= ChipsShadowFB; - } - } - --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/0009-Fix-for-new-vgaHW-ABI.patch b/source/x/x11/patch/xf86-video-chips/0009-Fix-for-new-vgaHW-ABI.patch deleted file mode 100644 index 74ec37225..000000000 --- a/source/x/x11/patch/xf86-video-chips/0009-Fix-for-new-vgaHW-ABI.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 989cf4f1fb2ac57f38d363734b71a5cf749db146 Mon Sep 17 00:00:00 2001 -From: Adam Jackson <ajax@redhat.com> -Date: Mon, 19 Dec 2011 17:45:41 -0500 -Subject: [PATCH 9/9] Fix for new vgaHW ABI - -Signed-off-by: Adam Jackson <ajax@redhat.com> ---- - src/ct_driver.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/ct_driver.c b/src/ct_driver.c -index 95092a2..08ccd72 100644 ---- a/src/ct_driver.c -+++ b/src/ct_driver.c -@@ -1444,6 +1444,7 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int flags) - return FALSE; - - hwp = VGAHWPTR(pScrn); -+ vgaHWSetStdFuncs(hwp); - vgaHWGetIOBase(hwp); - #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12 - cPtr->PIOBase = hwp->PIOOffset; --- -1.7.9.4 - diff --git a/source/x/x11/patch/xf86-video-chips/iopl.h b/source/x/x11/patch/xf86-video-chips/iopl.h new file mode 100644 index 000000000..e08207c7f --- /dev/null +++ b/source/x/x11/patch/xf86-video-chips/iopl.h @@ -0,0 +1,60 @@ +#ifdef __NetBSD__ +# include <sys/types.h> +# include <machine/pio.h> +# include <machine/sysarch.h> +#else +# if defined(__linux__) +/* Can't because <sys/iopl.h> provides conflicting inb, outb, etc + * # include <sys/io.h> + */ +int iopl(int level); +# endif +# if defined(SVR4) && defined(i386) +# include <sys/types.h> +# ifdef NCR + /* broken NCR <sys/sysi86.h> */ +# define __STDC +# include <sys/sysi86.h> +# undef __STDC +# else +# include <sys/sysi86.h> +# endif +# ifdef SVR4 +# if !defined(sun) +# include <sys/seg.h> +# endif +# endif +# include <sys/v86.h> +# if defined(sun) +# include <sys/psw.h> +# endif +# endif +# include "AsmMacros.h" +#endif /* NetBSD */ + +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> + +#ifdef __NetBSD__ +# define SET_IOPL() i386_iopl(3) +# define RESET_IOPL() i386_iopl(0) +#else +# if defined(SVR4) && defined(i386) +# ifndef SI86IOPL +# define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) +# define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) +# else +# define SET_IOPL() sysi86(SI86IOPL,3) +# define RESET_IOPL() sysi86(SI86IOPL,0) +# endif +# else +# ifdef linux +# define SET_IOPL() iopl(3) +# define RESET_IOPL() iopl(0) +# else +# define SET_IOPL() (void)0 +# define RESET_IOPL() (void)0 +# endif +# endif +#endif diff --git a/source/x/x11/patch/xf86-video-dummy.patch b/source/x/x11/patch/xf86-video-dummy.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-dummy.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-geode.patch b/source/x/x11/patch/xf86-video-geode.patch new file mode 100644 index 000000000..6bbc3b34a --- /dev/null +++ b/source/x/x11/patch/xf86-video-geode.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScrn);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScrn);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-glint.patch b/source/x/x11/patch/xf86-video-glint.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-glint.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-i128.patch b/source/x/x11/patch/xf86-video-i128.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-i128.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-i740.patch b/source/x/x11/patch/xf86-video-i740.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-i740.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-neomagic.patch b/source/x/x11/patch/xf86-video-neomagic.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-neomagic.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-nv.patch b/source/x/x11/patch/xf86-video-nv.patch new file mode 100644 index 000000000..5e71368fe --- /dev/null +++ b/source/x/x11/patch/xf86-video-nv.patch @@ -0,0 +1,10 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l '#include <mibstore.h>' * | while read file ; do + sed -i "s/#include <mibstore.h>//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-r128.patch b/source/x/x11/patch/xf86-video-r128.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-r128.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-rendition.patch b/source/x/x11/patch/xf86-video-rendition.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-rendition.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-s3.patch b/source/x/x11/patch/xf86-video-s3.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-s3.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-s3virge.patch b/source/x/x11/patch/xf86-video-s3virge.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-s3virge.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-savage.patch b/source/x/x11/patch/xf86-video-savage.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-savage.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-siliconmotion.patch b/source/x/x11/patch/xf86-video-siliconmotion.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-siliconmotion.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-sis.patch b/source/x/x11/patch/xf86-video-sis.patch new file mode 100644 index 000000000..45276b4c8 --- /dev/null +++ b/source/x/x11/patch/xf86-video-sis.patch @@ -0,0 +1,2 @@ +zcat $CWD/patch/xf86-video-sis/sis-0.10.7-git.patch.gz | patch -p1 --verbose \ + || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/x/x11/patch/xf86-video-sis/sis-0.10.7-git.patch b/source/x/x11/patch/xf86-video-sis/sis-0.10.7-git.patch new file mode 100644 index 000000000..865237552 --- /dev/null +++ b/source/x/x11/patch/xf86-video-sis/sis-0.10.7-git.patch @@ -0,0 +1,121 @@ +diff --git a/src/sis.h b/src/sis.h +index 46fca2a..20e6134 100644 +--- a/src/sis.h ++++ b/src/sis.h +@@ -75,7 +75,6 @@ + + #include "compiler.h" + #include "xf86Pci.h" +-#include "xf86Priv.h" + #include "xf86_OSproc.h" + #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 + #include "xf86Resources.h" +diff --git a/src/sis_driver.c b/src/sis_driver.c +index 61e8075..0fd83d7 100644 +--- a/src/sis_driver.c ++++ b/src/sis_driver.c +@@ -57,7 +57,6 @@ + #include "fb.h" + #include "micmap.h" + #include "mipointer.h" +-#include "mibstore.h" + #include "edid.h" + + #define SIS_NEED_inSISREG +@@ -94,6 +93,10 @@ + #include "dri.h" + #endif + ++#ifndef DEFAULT_DPI ++#define DEFAULT_DPI 96 ++#endif ++ + /* + * LookupWindow was removed with video abi 11. + */ +@@ -7344,7 +7347,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) + if(pSiSEnt->MapCountIOBase) { + pSiSEnt->MapCountIOBase--; + if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) { ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024)); ++#endif + pSiSEnt->IOBase = NULL; + pSiSEnt->MapCountIOBase = 0; + pSiSEnt->forceUnmapIOBase = FALSE; +@@ -7355,7 +7362,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) + if(pSiSEnt->MapCountIOBaseDense) { + pSiSEnt->MapCountIOBaseDense--; + if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) { ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024)); ++#endif + pSiSEnt->IOBaseDense = NULL; + pSiSEnt->MapCountIOBaseDense = 0; + pSiSEnt->forceUnmapIOBaseDense = FALSE; +@@ -7366,7 +7377,11 @@ SISUnmapMem(ScrnInfoPtr pScrn) + if(pSiSEnt->MapCountFbBase) { + pSiSEnt->MapCountFbBase--; + if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) { ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize); ++#endif + pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL; + pSiSEnt->MapCountFbBase = 0; + pSiSEnt->forceUnmapFbBase = FALSE; +@@ -7376,13 +7391,25 @@ SISUnmapMem(ScrnInfoPtr pScrn) + } + } else { + #endif ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024)); ++#endif + pSiS->IOBase = NULL; + #ifdef __alpha__ ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024)); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024)); ++#endif + pSiS->IOBaseDense = NULL; + #endif ++#ifndef XSERVER_LIBPCIACCESS + xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize); ++#else ++ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize); ++#endif + pSiS->FbBase = pSiS->RealFbBase = NULL; + #ifdef SISDUALHEAD + } +@@ -8859,7 +8886,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL) + } + pSiS->SiSFastVidCopyDone = TRUE; + +- miInitializeBackingStore(pScreen); + xf86SetBackingStore(pScreen); + xf86SetSilkenMouse(pScreen); + +@@ -9352,7 +9378,14 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y) + } + if(doit) { + sigstate = xf86BlockSIGIO(); +-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15 ++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18 ++ { ++ double dx = x, dy = y; ++ miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, NULL, NULL); ++ x = (int)dx; ++ y = (int)dy; ++ } ++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15 + { + double dx = x, dy = y; + miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy); diff --git a/source/x/x11/patch/xf86-video-sisusb.patch b/source/x/x11/patch/xf86-video-sisusb.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-sisusb.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-tdfx.patch b/source/x/x11/patch/xf86-video-tdfx.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-tdfx.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-tga.patch b/source/x/x11/patch/xf86-video-tga.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-tga.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-trident.patch b/source/x/x11/patch/xf86-video-trident.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-trident.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-tseng.patch b/source/x/x11/patch/xf86-video-tseng.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-tseng.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-vesa.patch b/source/x/x11/patch/xf86-video-vesa.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-vesa.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-vmware.patch b/source/x/x11/patch/xf86-video-vmware.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-vmware.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-voodoo.patch b/source/x/x11/patch/xf86-video-voodoo.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-voodoo.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-xgi.patch b/source/x/x11/patch/xf86-video-xgi.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-xgi.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xf86-video-xgixp.patch b/source/x/x11/patch/xf86-video-xgixp.patch new file mode 100644 index 000000000..17d7e8297 --- /dev/null +++ b/source/x/x11/patch/xf86-video-xgixp.patch @@ -0,0 +1,7 @@ +# Remove obsolete references to mibstore.h and miInitializeBackingStore(): +grep -r -l '#include "mibstore.h"' * | while read file ; do + sed -i "s/#include \"mibstore.h\"//g" $file +done +grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do + sed -i "s/miInitializeBackingStore(pScreen);//g" $file +done diff --git a/source/x/x11/patch/xorg-server.patch b/source/x/x11/patch/xorg-server.patch index 01be43a3b..c0c4810fd 100644 --- a/source/x/x11/patch/xorg-server.patch +++ b/source/x/x11/patch/xorg-server.patch @@ -1 +1,2 @@ zcat $CWD/patch/xorg-server/x11.startwithblackscreen.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } +zcat $CWD/patch/xorg-server/xorg-server.CVE-2013-4396.diff.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/x/x11/patch/xorg-server/xorg-server.CVE-2013-4396.diff b/source/x/x11/patch/xorg-server/xorg-server.CVE-2013-4396.diff new file mode 100644 index 000000000..14c31782f --- /dev/null +++ b/source/x/x11/patch/xorg-server/xorg-server.CVE-2013-4396.diff @@ -0,0 +1,73 @@ +From 7bddc2ba16a2a15773c2ea8947059afa27727764 Mon Sep 17 00:00:00 2001 +From: Alan Coopersmith <alan.coopersmith at oracle.com> +Date: Mon, 16 Sep 2013 21:47:16 -0700 +Subject: [PATCH] Avoid use-after-free in dix/dixfonts.c: doImageText() + [CVE-2013-4396] + +Save a pointer to the passed in closure structure before copying it +and overwriting the *c pointer to point to our copy instead of the +original. If we hit an error, once we free(c), reset c to point to +the original structure before jumping to the cleanup code that +references *c. + +Since one of the errors being checked for is whether the server was +able to malloc(c->nChars * itemSize), the client can potentially pass +a number of characters chosen to cause the malloc to fail and the +error path to be taken, resulting in the read from freed memory. + +Since the memory is accessed almost immediately afterwards, and the +X server is mostly single threaded, the odds of the free memory having +invalid contents are low with most malloc implementations when not using +memory debugging features, but some allocators will definitely overwrite +the memory there, leading to a likely crash. + +Reported-by: Pedro Ribeiro <pedrib at gmail.com> +Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com> +Reviewed-by: Julien Cristau <jcristau at debian.org> +--- + dix/dixfonts.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/dix/dixfonts.c b/dix/dixfonts.c +index feb765d..2e34d37 100644 +--- a/dix/dixfonts.c ++++ b/dix/dixfonts.c +@@ -1425,6 +1425,7 @@ doImageText(ClientPtr client, ITclosurePtr c) + GC *pGC; + unsigned char *data; + ITclosurePtr new_closure; ++ ITclosurePtr old_closure; + + /* We're putting the client to sleep. We need to + save some state. Similar problem to that handled +@@ -1436,12 +1437,14 @@ doImageText(ClientPtr client, ITclosurePtr c) + err = BadAlloc; + goto bail; + } ++ old_closure = c; + *new_closure = *c; + c = new_closure; + + data = malloc(c->nChars * itemSize); + if (!data) { + free(c); ++ c = old_closure; + err = BadAlloc; + goto bail; + } +@@ -1452,6 +1455,7 @@ doImageText(ClientPtr client, ITclosurePtr c) + if (!pGC) { + free(c->data); + free(c); ++ c = old_closure; + err = BadAlloc; + goto bail; + } +@@ -1464,6 +1468,7 @@ doImageText(ClientPtr client, ITclosurePtr c) + FreeScratchGC(pGC); + free(c->data); + free(c); ++ c = old_closure; + err = BadAlloc; + goto bail; + } diff --git a/source/x/x11/post-install/xdm.post-install b/source/x/x11/post-install/xdm.post-install index 73611b47e..a88899705 100644 --- a/source/x/x11/post-install/xdm.post-install +++ b/source/x/x11/post-install/xdm.post-install @@ -19,9 +19,14 @@ chmod 0755 $PKG/etc/X11/xdm/Xsession $PKG/etc/X11/xdm/Xsetup_0 for conffile in \ Xaccess Xreset Xresources Xservers Xsession Xsetup_0 Xstartup Xwilling \ - GiveConsole TakeConsole chooser xdm-config ../app-defaults/Chooser ; + GiveConsole TakeConsole xdm-config ../app-defaults/Chooser ; do - mv $PKG/etc/X11/xdm/${conffile} $PKG/etc/X11/xdm/${conffile}.new ; + # Use awk to strip leading blank lines... weird bug that cropped up in the + # pre Slackware-14.1 development cycle. + awk "/[^ ]/ { copy=1 }; copy { print }" $PKG/etc/X11/xdm/${conffile} > $PKG/etc/X11/xdm/${conffile}.new + touch -r $PKG/etc/X11/xdm/${conffile} $PKG/etc/X11/xdm/${conffile}.new + rm -f $PKG/etc/X11/xdm/${conffile} + #mv $PKG/etc/X11/xdm/${conffile} $PKG/etc/X11/xdm/${conffile}.new ; done mkdir -p $PKG/var/lib/xdm diff --git a/source/x/x11/post-install/xsm.post-install b/source/x/x11/post-install/xsm.post-install deleted file mode 100644 index 509b84477..000000000 --- a/source/x/x11/post-install/xsm.post-install +++ /dev/null @@ -1,5 +0,0 @@ -mkdir -p $PKG/etc/X11 -( cd $PKG/usr/lib/X11 - mv xsm $PKG/etc/X11 - ln -sf ../../../etc/X11/xsm . -) diff --git a/source/x/x11/slack-desc/xcb-util-cursor b/source/x/x11/slack-desc/xcb-util-cursor new file mode 100644 index 000000000..003917741 --- /dev/null +++ b/source/x/x11/slack-desc/xcb-util-cursor @@ -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------------------------------------------------------| +xcb-util-cursor: xcb-util-cursor (XCB cursor management library) +xcb-util-cursor: +xcb-util-cursor: The xcb-util-cursor module implements the XCB cursor library, which +xcb-util-cursor: is the XCB replacement for libXcursor. +xcb-util-cursor: +xcb-util-cursor: +xcb-util-cursor: +xcb-util-cursor: +xcb-util-cursor: +xcb-util-cursor: +xcb-util-cursor: diff --git a/extra/source/pam/slack-desc b/source/x/x11/slack-desc/xcm index 8b57bc0d6..d7ba58362 100644 --- a/extra/source/pam/slack-desc +++ b/source/x/x11/slack-desc/xcm @@ -6,14 +6,14 @@ # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| -pam: pam (Pluggable Authentication Modules) -pam: -pam: PAM = Pluggable Authentication Modules. Basically, it is a flexible -pam: mechanism for authenticating users. PAM provides a way to develop -pam: programs that are independent of authentication scheme. However, -pam: these programs will need "authentication modules" (and libpam) at -pam: run-time in order to work. -pam: -pam: -pam: Homepage: http://www.kernel.org/pub/linux/libs/pam/ -pam: +xcm: xcm (X color management tools) +xcm: +xcm: Tools based on libXcm, a library for colour management on X. +xcm: xcmddc requests EDID from a monitor over the i2c bus. +xcm: xcmedid is for parsing EDID data blocks. +xcm: xcmevents observes X11 colour management events. +xcm: +xcm: +xcm: +xcm: +xcm: diff --git a/testing/source/xf86-video-intel/slack-desc b/source/x/x11/slack-desc/xf86-video-xgixp index c51417a7c..6ba3359e7 100644 --- a/testing/source/xf86-video-intel/slack-desc +++ b/source/x/x11/slack-desc/xf86-video-xgixp @@ -6,14 +6,14 @@ # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| -xf86-video-intel: xf86-video-intel (X.org graphics driver for Intel graphics) -xf86-video-intel: -xf86-video-intel: xf86-video-intel is part of X11. -xf86-video-intel: -xf86-video-intel: For more information about the X.Org Foundation (the providers of the -xf86-video-intel: X.Org implementation of the X Window System), see their website: -xf86-video-intel: -xf86-video-intel: http://www.x.org -xf86-video-intel: -xf86-video-intel: -xf86-video-intel: +xf86-video-xgixp: xf86-video-xgixp (XGI XGI Volari 8300 video driver) +xf86-video-xgixp: +xf86-video-xgixp: xf86-video-xgixp is part of X11. +xf86-video-xgixp: +xf86-video-xgixp: For more information about the X.Org Foundation (the providers of the +xf86-video-xgixp: X.Org implementation of the X Window System), see their website: +xf86-video-xgixp: +xf86-video-xgixp: http://www.x.org +xf86-video-xgixp: +xf86-video-xgixp: +xf86-video-xgixp: diff --git a/source/x/x11/slack-desc/xfwp b/source/x/x11/slack-desc/xfwp new file mode 100644 index 000000000..6ff16980c --- /dev/null +++ b/source/x/x11/slack-desc/xfwp @@ -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------------------------------------------------------| +xfwp: xfwp (X Firewall Proxy) +xfwp: +xfwp: xfwp is part of X11. +xfwp: +xfwp: For more information about the X.Org Foundation (the providers of the +xfwp: X.Org implementation of the X Window System), see their website: +xfwp: +xfwp: http://www.x.org +xfwp: +xfwp: +xfwp: diff --git a/source/x/x11/slack-desc/xproxymanagementprotocol b/source/x/x11/slack-desc/xproxymanagementprotocol new file mode 100644 index 000000000..fa0b25501 --- /dev/null +++ b/source/x/x11/slack-desc/xproxymanagementprotocol @@ -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------------------------------------------------------| +xproxymanagementprotocol: xproxymanagementprotocol (X Proxy Management protocol) +xproxymanagementprotocol: +xproxymanagementprotocol: xproxymanagementprotocol is part of X11. +xproxymanagementprotocol: +xproxymanagementprotocol: For more information about the X.Org Foundation (the providers of the +xproxymanagementprotocol: X.Org implementation of the X Window System), see their website: +xproxymanagementprotocol: +xproxymanagementprotocol: http://www.x.org +xproxymanagementprotocol: +xproxymanagementprotocol: +xproxymanagementprotocol: diff --git a/source/x/x11/x11.SlackBuild b/source/x/x11/x11.SlackBuild index ca7297082..6da53346f 100755 --- a/source/x/x11/x11.SlackBuild +++ b/source/x/x11/x11.SlackBuild @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2007-2010 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2007-2013 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -25,6 +25,10 @@ # and the name of the package, like: # ./x11.SlackBuild lib libX11 +# Upgrade packages as they are built. +# This is default. To not upgrade, pass UPGRADE_PACKAGES=no (or anything else). +UPGRADE_PACKAGES=${UPGRADE_PACKAGES:-yes} + pkgbase() { PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) case $PKGEXT in @@ -130,7 +134,7 @@ mkdir -p $SLACK_X_BUILD_DIR # in the "magic order". I built mine by hand through trial-and-error # before getting this script to work. It wasn't that hard... I think. ;-) ( cd src - for x_source_dir in proto data util xcb lib app doc driver font xserver ; do + for x_source_dir in proto data util xcb lib app doc xserver driver font ; do # See if $1 is a source directory like "lib": if [ ! -z "$1" ]; then if [ ! "$1" = "${x_source_dir}" ]; then @@ -269,6 +273,9 @@ mkdir -p $SLACK_X_BUILD_DIR BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} else /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/${PKGNAME}-${MODULAR_PACKAGE_VERSION}-${PKGARCH}-${MODBUILD}.txz + fi fi fi @@ -320,6 +327,9 @@ mkdir -p $SLACK_X_BUILD_DIR BUILD=$MODBUILD . $CWD/makepkg/${PKGNAME} else /sbin/makepkg -l y -c n ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + if [ "$UPGRADE_PACKAGES" = "yes" ]; then + /sbin/upgradepkg --install-new ${SLACK_X_BUILD_DIR}/x11-${x_source_dir}-${VERSION}-${PKGARCH}-${SRCDIRBUILD}.txz + fi fi ) done diff --git a/source/x/xdg-utils/xdg-utils.SlackBuild b/source/x/xdg-utils/xdg-utils.SlackBuild index ad05d7044..eabc72605 100755 --- a/source/x/xdg-utils/xdg-utils.SlackBuild +++ b/source/x/xdg-utils/xdg-utils.SlackBuild @@ -4,7 +4,7 @@ # Written by Erik Hanson erik@slackbuilds.org # Modified for VERSION version by Patrick Volkerding <volkerdi@slackware.com> -# 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 @@ -28,7 +28,7 @@ PKGNAM=xdg-utils VERSION=1.1.0-rc1 ARCH=noarch -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} PKG_VERSION=${VERSION/-/_} @@ -47,6 +47,8 @@ rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1 cd $PKGNAM-$VERSION || exit 1 +zcat $CWD/xdg-utils.mate.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/x/xdg-utils/xdg-utils.mate.diff b/source/x/xdg-utils/xdg-utils.mate.diff new file mode 100644 index 000000000..c2480e322 --- /dev/null +++ b/source/x/xdg-utils/xdg-utils.mate.diff @@ -0,0 +1,43 @@ +--- ./scripts/xdg-open.orig 2011-01-01 04:03:14.000000000 -0600 ++++ ./scripts/xdg-open 2013-06-09 21:15:55.612892954 -0500 +@@ -308,6 +308,7 @@ + elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome; + elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; + elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde; ++ elif [ x"$DESKTOP_SESSION" == x"mate" ]; then DE=mate; + else DE="" + fi + } +@@ -371,6 +372,21 @@ + fi + } + ++open_mate() ++{ ++ if gvfs-open --help 2>/dev/null 1>&2; then ++ gvfs-open "$1" ++ else ++ mate-open "$1" ++ fi ++ ++ if [ $? -eq 0 ]; then ++ exit_success ++ else ++ exit_failure_operation_failed ++ fi ++} ++ + open_xfce() + { + exo-open "$1" +@@ -539,6 +555,10 @@ + open_gnome "$url" + ;; + ++ mate) ++ open_mate "$url" ++ ;; ++ + xfce) + open_xfce "$url" + ;; 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 Binary files differnew file mode 100644 index 000000000..eec9b8cb5 --- /dev/null +++ b/source/xap/ddd/ddd.png 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 Binary files differdeleted file mode 100644 index 76204b5d2..000000000 --- a/source/xap/mozilla-firefox/firefox.png +++ /dev/null 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/xfce/Thunar/Thunar.SlackBuild b/source/xfce/Thunar/Thunar.SlackBuild index 54f72b77f..9a49b089d 100755 --- a/source/xfce/Thunar/Thunar.SlackBuild +++ b/source/xfce/Thunar/Thunar.SlackBuild @@ -22,7 +22,7 @@ PKGNAM=Thunar VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: MARCH=$( uname -m ) @@ -64,6 +64,8 @@ rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 cd $PKGNAM-$VERSION || exit 1 +find . -exec touch {} \; + chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ diff --git a/source/xfce/exo/exo.SlackBuild b/source/xfce/exo/exo.SlackBuild index a3189a584..efb86758a 100755 --- a/source/xfce/exo/exo.SlackBuild +++ b/source/xfce/exo/exo.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 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 @@ PKGNAM=exo VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: MARCH=$( uname -m ) @@ -64,6 +64,10 @@ rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 cd $PKGNAM-$VERSION || exit 1 +zcat $CWD/exo.magnet.uri.diff.gz | patch -p1 --verbose || exit 1 + +find . -exec touch {} \; + chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ diff --git a/source/xfce/exo/exo.magnet.uri.diff b/source/xfce/exo/exo.magnet.uri.diff new file mode 100644 index 000000000..336ca2121 --- /dev/null +++ b/source/xfce/exo/exo.magnet.uri.diff @@ -0,0 +1,49 @@ +From 05848bb3cb10ea19ef8cba607bdabcd25560063c Mon Sep 17 00:00:00 2001 +From: Felipe Contreras <felipe.contreras@gmail.com> +Date: Sun, 19 May 2013 03:50:01 +0000 +Subject: Fix exo_str_looks_like_an_uri() (bug #10098). + +Commit d11199b (Check if uris also contain a slash (bug #9244)) tried to +fix a hang in thunar by properly recognizing that 'http:' is not an URI, +however, while doing so, it broke proper URIs like 'magnet:foo'. + +As the RFC clearly states: + + The following are two example URIs and their component parts: + + foo://example.com:8042/over/there?name=ferret#nose + \_/ \______________/\_________/ \_________/ \__/ + | | | | | + scheme authority path query fragment + | _____________________|__ + / \ / \ + urn:example:animal:ferret:nose + +But even with this succinct example exo_str_looks_like_an_uri() fails. + +There is an easy solution; fail only when component part is missing +('urn:'), but succeed otherwise. + +This solution fixes 'magnet:foo', and doesn't break the current +expectation from thunar that 'http:' should fail, having the best of +both worlds. + +[1] http://www.ietf.org/rfc/rfc3986.txt + +Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> +--- +diff --git a/exo/exo-string.c b/exo/exo-string.c +index 33f86f9..056b36a 100644 +--- a/exo/exo-string.c ++++ b/exo/exo-string.c +@@ -429,7 +429,7 @@ exo_str_looks_like_an_uri (const gchar *str) + for (++s; g_ascii_isalnum (*s) || *s == '+' || *s == '-' || *s == '.'; ++s); + + /* <scheme> must be followed by ":" */ +- return (*s == ':' && *(s+1) == '/'); ++ return (*s == ':' && *(s+1) != '\0'); + } + + return FALSE; +-- +cgit v0.9.2 diff --git a/source/xfce/libxfce4ui/libxfce4ui.SlackBuild b/source/xfce/libxfce4ui/libxfce4ui.SlackBuild index 3762c747d..e1e02e9d0 100755 --- a/source/xfce/libxfce4ui/libxfce4ui.SlackBuild +++ b/source/xfce/libxfce4ui/libxfce4ui.SlackBuild @@ -22,7 +22,7 @@ PKGNAM=libxfce4ui VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: MARCH=$( uname -m ) diff --git a/source/xfce/libxfcegui4/libxfcegui4.SlackBuild b/source/xfce/libxfcegui4/libxfcegui4.SlackBuild index d4af97ff8..8616491d3 100755 --- a/source/xfce/libxfcegui4/libxfcegui4.SlackBuild +++ b/source/xfce/libxfcegui4/libxfcegui4.SlackBuild @@ -22,7 +22,7 @@ PKGNAM=libxfcegui4 VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: MARCH=$( uname -m ) diff --git a/source/xfce/orage/orage.SlackBuild b/source/xfce/orage/orage.SlackBuild index 9342007ce..ffa62aeb2 100755 --- a/source/xfce/orage/orage.SlackBuild +++ b/source/xfce/orage/orage.SlackBuild @@ -24,7 +24,7 @@ PKGNAM=orage VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} if [ -z "$ARCH" ]; then case "$( uname -m )" in diff --git a/source/xfce/tumbler/set-gststate-on-error.diff b/source/xfce/tumbler/set-gststate-on-error.diff new file mode 100644 index 000000000..042c03ecd --- /dev/null +++ b/source/xfce/tumbler/set-gststate-on-error.diff @@ -0,0 +1,23 @@ +Description: Close file on error +Origin: other, https://bugzilla.xfce.org/attachment.cgi?id=4447 +Bug: https://bugzilla.xfce.org/show_bug.cgi?id=8303 +Bug-Ubuntu: https://launchpad.net/bugs/995918 + +--- tumbler-0.1.25.orig/plugins/gst-thumbnailer/gst-thumbnailer.c ++++ tumbler-0.1.25/plugins/gst-thumbnailer/gst-thumbnailer.c +@@ -233,6 +233,7 @@ make_pipeline (TumblerFileInfo *info, + if (state == GST_STATE_CHANGE_FAILURE || state == GST_STATE_CHANGE_ASYNC) + { + LOG ("failed to or still changing state, aborting (state change %d)", state); ++ gst_element_set_state (playbin, GST_STATE_NULL); + g_object_unref (playbin); + return NULL; + } +@@ -241,6 +242,7 @@ make_pipeline (TumblerFileInfo *info, + if (n_video == 0) + { + LOG ("no video stream, aborting"); ++ gst_element_set_state (playbin, GST_STATE_NULL); + g_object_unref (playbin); + return NULL; + } diff --git a/source/xfce/tumbler/tumbler.SlackBuild b/source/xfce/tumbler/tumbler.SlackBuild index 2b1649132..97c3ff5aa 100755 --- a/source/xfce/tumbler/tumbler.SlackBuild +++ b/source/xfce/tumbler/tumbler.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 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 @@ PKGNAM=tumbler VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-4} # Automatically determine the architecture we're building on: MARCH=$( uname -m ) @@ -64,6 +64,8 @@ rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 cd $PKGNAM-$VERSION || exit 1 +zcat $CWD/set-gststate-on-error.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/xfce/xfce-build-all.sh b/source/xfce/xfce-build-all.sh index 0ad32cc74..bf249216e 100755 --- a/source/xfce/xfce-build-all.sh +++ b/source/xfce/xfce-build-all.sh @@ -44,7 +44,7 @@ for package in \ xfce4-appfinder \ gtk-xfce-engine \ xfwm4-themes \ - Terminal \ + xfce4-terminal \ orage \ xfce4-mixer \ thunar-volman \ diff --git a/source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild b/source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild index 813c32d9c..01329094c 100755 --- a/source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild +++ b/source/xfce/xfce4-clipman-plugin/xfce4-clipman-plugin.SlackBuild @@ -24,7 +24,7 @@ PKGNAM=xfce4-clipman-plugin VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild b/source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild index 1a793217f..af500ff2b 100755 --- a/source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild +++ b/source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild @@ -26,7 +26,7 @@ PKGNAM=xfce4-notifyd 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 diff --git a/source/xfce/xfce4-panel/xfce4-panel.SlackBuild b/source/xfce/xfce4-panel/xfce4-panel.SlackBuild index 425cc3d33..37620b8c1 100755 --- a/source/xfce/xfce4-panel/xfce4-panel.SlackBuild +++ b/source/xfce/xfce4-panel/xfce4-panel.SlackBuild @@ -22,7 +22,7 @@ PKGNAM=xfce4-panel VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: MARCH=$( uname -m ) diff --git a/source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild b/source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild index 37229cd81..f378984fb 100755 --- a/source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild +++ b/source/xfce/xfce4-power-manager/xfce4-power-manager.SlackBuild @@ -26,7 +26,7 @@ PKGNAM=xfce4-power-manager VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} if [ -z "$ARCH" ]; then case "$( uname -m )" in diff --git a/source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild b/source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild index 791a78f00..91bcba5fd 100755 --- a/source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild +++ b/source/xfce/xfce4-screenshooter/xfce4-screenshooter.SlackBuild @@ -24,7 +24,7 @@ PKGNAM=xfce4-screenshooter VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/xfce/xfce4-session/xfce4-session.SlackBuild b/source/xfce/xfce4-session/xfce4-session.SlackBuild index 081a13786..27385bb0b 100755 --- a/source/xfce/xfce4-session/xfce4-session.SlackBuild +++ b/source/xfce/xfce4-session/xfce4-session.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 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 @@ PKGNAM=xfce4-session VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-3} # Automatically determine the architecture we're building on: MARCH=$( uname -m ) @@ -64,8 +64,6 @@ rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 cd $PKGNAM-$VERSION || exit 1 -zcat $CWD/patches/load_systemwide_Xmodmap_file.diff.gz | patch -p1 || exit 1 - chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -81,7 +79,7 @@ CFLAGS="$SLKCFLAGS" \ --sysconfdir=/etc \ --mandir=/usr/man \ --docdir=/usr/doc/$PKGNAM-$VERSION \ - --enable-libgnome-keyring \ + --disable-systemd \ --disable-static \ --disable-debug \ --build=$ARCH-slackware-linux || exit 1 diff --git a/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild b/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild index dbe0343ed..35501f90a 100755 --- a/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild +++ b/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.SlackBuild @@ -26,7 +26,7 @@ PKGNAM=xfce4-systemload-plugin VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} if [ -z "$ARCH" ]; then case "$( uname -m )" in diff --git a/source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild b/source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild index df702f0f6..7deedb8bc 100755 --- a/source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild +++ b/source/xfce/xfce4-taskmanager/xfce4-taskmanager.SlackBuild @@ -24,7 +24,7 @@ PKGNAM=xfce4-taskmanager VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} if [ -z "$ARCH" ]; then case "$( uname -m )" in diff --git a/testing/source/xf86-video-ati/slack-desc b/source/xfce/xfce4-terminal/slack-desc index 7387c43c1..a76b06b85 100644 --- a/testing/source/xf86-video-ati/slack-desc +++ b/source/xfce/xfce4-terminal/slack-desc @@ -6,14 +6,14 @@ # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| -xf86-video-ati: xf86-video-ati (ATI Radeon video driver for the Xorg X server) -xf86-video-ati: -xf86-video-ati: xf86-video-ati is part of X11. -xf86-video-ati: -xf86-video-ati: For more information about the X.Org Foundation (the providers of the -xf86-video-ati: X.Org implementation of the X Window System), see their website: -xf86-video-ati: -xf86-video-ati: http://www.x.org -xf86-video-ati: -xf86-video-ati: -xf86-video-ati: +xfce4-terminal: xfce4-terminal (Xfce's Terminal Emulator) +xfce4-terminal: +xfce4-terminal: This is the Xfce terminal emulator application. xfce4-terminal is +xfce4-terminal: a lightweight and easy to use terminal emulator for the X windowing +xfce4-terminal: system, with some new ideas and features that make it unique among +xfce4-terminal: X terminal emulators. +xfce4-terminal: +xfce4-terminal: +xfce4-terminal: +xfce4-terminal: +xfce4-terminal: diff --git a/source/xfce/Terminal/Terminal.SlackBuild b/source/xfce/xfce4-terminal/xfce4-terminal.SlackBuild index f5335b2e8..2be3045a7 100755 --- a/source/xfce/Terminal/Terminal.SlackBuild +++ b/source/xfce/xfce4-terminal/xfce4-terminal.SlackBuild @@ -1,8 +1,8 @@ #!/bin/sh -# Slackware build script for Xfce Terminal +# Slackware build script for xfce4-terminal -# Copyright 2010,2011 Robby Workman, Northport, Alabama, USA +# Copyright 2010,2011,2012 Robby Workman, Northport, Alabama, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,7 +22,7 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -PKGNAM=Terminal +PKGNAM=xfce4-terminal VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} BUILD=${BUILD:-1} diff --git a/source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild b/source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild index d2d290b52..6a1d0cf26 100755 --- a/source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild +++ b/source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild @@ -24,7 +24,7 @@ PKGNAM=xfce4-weather-plugin VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -69,6 +69,7 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +GEONAMES_USERNAME="slackware" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/xfce/xfwm4/xfwm4.SlackBuild b/source/xfce/xfwm4/xfwm4.SlackBuild index 7855b84e5..e9ad40dc2 100755 --- a/source/xfce/xfwm4/xfwm4.SlackBuild +++ b/source/xfce/xfwm4/xfwm4.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is |