diff options
Diffstat (limited to 'source/l/lesstif')
-rw-r--r-- | source/l/lesstif/doinst.sh | 8 | ||||
-rw-r--r-- | source/l/lesstif/lesstif.Makefile.in.patch | 27 | ||||
-rw-r--r-- | source/l/lesstif/lesstif.PutPixel32.patch | 55 | ||||
-rwxr-xr-x | source/l/lesstif/lesstif.SlackBuild | 136 | ||||
-rw-r--r-- | source/l/lesstif/lesstif.gcc42.diff | 23 | ||||
-rw-r--r-- | source/l/lesstif/lesstif.rendertable.check.diff | 11 | ||||
-rw-r--r-- | source/l/lesstif/lesstif.x86_64.patch | 39 | ||||
-rw-r--r-- | source/l/lesstif/slack-desc | 19 |
8 files changed, 318 insertions, 0 deletions
diff --git a/source/l/lesstif/doinst.sh b/source/l/lesstif/doinst.sh new file mode 100644 index 00000000..5eba7c29 --- /dev/null +++ b/source/l/lesstif/doinst.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# Add the LessTif stuff to host.def if it isn't already there: +mkdir -p usr/lib/X11/config +touch usr/lib/X11/config/host.def +if ! grep LessTif usr/lib/X11/config/host.def 1> /dev/null 2> /dev/null ; then + cat usr/lib/LessTif/config/host.def >> usr/lib/X11/config/host.def +fi +# Standard symlink creation section begins: diff --git a/source/l/lesstif/lesstif.Makefile.in.patch b/source/l/lesstif/lesstif.Makefile.in.patch new file mode 100644 index 00000000..19cd54bb --- /dev/null +++ b/source/l/lesstif/lesstif.Makefile.in.patch @@ -0,0 +1,27 @@ +# Fix for installing Dt on x86_64 + +diff -u --recursive lesstif-0.95.0-orig/clients/Motif-2.1/mwm/Makefile.in lesstif-0.95.0/clients/Motif-2.1/mwm/Makefile.in +--- lesstif-0.95.0-orig/clients/Motif-2.1/mwm/Makefile.in 2006-06-10 11:35:34.000000000 +0200 ++++ lesstif-0.95.0/clients/Motif-2.1/mwm/Makefile.in 2006-08-23 00:27:05.000000000 +0200 +@@ -301,7 +301,7 @@ + $(X_LIBS) $(XPLIB) -lXt $(X_PRE_LIBS) -lXext -lX11 $(X_EXTRA_LIBS) + + appdir = $(libdir)/X11/app-defaults +-mwmddir = $(libdir)/X11/mwm ++mwmddir = $(sysconfdir)/mwm + mwmd_DATA = system.mwmrc alt.map README + AM_YFLAGS = -d + all: all-am +diff -u --recursive lesstif-0.95.0-orig/lib/Dt/Makefile.in lesstif-0.95.0/lib/Dt/Makefile.in +--- lesstif-0.95.0-orig/lib/Dt/Makefile.in 2006-06-10 11:35:38.000000000 +0200 ++++ lesstif-0.95.0/lib/Dt/Makefile.in 2006-08-23 00:28:39.000000000 +0200 +@@ -248,7 +248,8 @@ + infodir = @infodir@ + install_sh = @install_sh@ + lib_version_suffix = @lib_version_suffix@ +-libdir = $(exec_prefix)/lib ++#libdir = $(exec_prefix)/lib ++libdir = @libdir@ + libexecdir = @libexecdir@ + localstatedir = @localstatedir@ + man2html_cmd = @man2html_cmd@ diff --git a/source/l/lesstif/lesstif.PutPixel32.patch b/source/l/lesstif/lesstif.PutPixel32.patch new file mode 100644 index 00000000..4098dc58 --- /dev/null +++ b/source/l/lesstif/lesstif.PutPixel32.patch @@ -0,0 +1,55 @@ +* Mon Jun 16 2008 Hans de Goede <j.w.r.degoede@hhs.nl> 0.95.0-25 +- Fix PutPixel32 crashing on 64 bit (bz 437133) + +diff -up lesstif-0.95.0/lib/Xm-2.1/Xpmcreate.c~ lesstif-0.95.0/lib/Xm-2.1/Xpmcreate.c +--- lesstif-0.95.0/lib/Xm-2.1/Xpmcreate.c~ 2008-06-16 22:22:43.000000000 +0200 ++++ lesstif-0.95.0/lib/Xm-2.1/Xpmcreate.c 2008-06-16 22:22:43.000000000 +0200 +@@ -179,9 +179,7 @@ LFUNC(PutImagePixels1, void, (XImage *im + + LFUNC(PutPixel1, int, (XImage *ximage, int x, int y, unsigned long pixel)); + LFUNC(PutPixel, int, (XImage *ximage, int x, int y, unsigned long pixel)); +-#if !defined(WORD64) && !defined(LONG64) + LFUNC(PutPixel32, int, (XImage *ximage, int x, int y, unsigned long pixel)); +-#endif + LFUNC(PutPixel32MSB, int, (XImage *ximage, int x, int y, unsigned long pixel)); + LFUNC(PutPixel32LSB, int, (XImage *ximage, int x, int y, unsigned long pixel)); + LFUNC(PutPixel16MSB, int, (XImage *ximage, int x, int y, unsigned long pixel)); +@@ -1879,7 +1877,6 @@ PutPixel(ximage, x, y, pixel) + return 1; + } + +-#if !defined(WORD64) && !defined(LONG64) + static int + PutPixel32(ximage, x, y, pixel) + register XImage *ximage; +@@ -1893,10 +1890,9 @@ PutPixel32(ximage, x, y, pixel) + return 0; + + addr = &((unsigned char *)ximage->data) [ZINDEX32(x, y, ximage)]; +- *((unsigned long *)addr) = pixel; ++ *((unsigned int *)addr) = pixel; + return 1; + } +-#endif + + static int + PutPixel32MSB(ximage, x, y, pixel) +@@ -2211,15 +2207,12 @@ xpmParseDataAndCreate(display, data, ima + else + ximage->f.put_pixel = PutPixel16LSB; + else if (ximage->bits_per_pixel == 32) +-#if !defined(WORD64) && !defined(LONG64) + if (*((char *)&byteorderpixel) == ximage->byte_order) + ximage->f.put_pixel = PutPixel32; ++ else if (ximage->bitmap_bit_order == MSBFirst) ++ ximage->f.put_pixel = PutPixel32MSB; + else +-#endif +- if (ximage->bitmap_bit_order == MSBFirst) +- ximage->f.put_pixel = PutPixel32MSB; +- else +- ximage->f.put_pixel = PutPixel32LSB; ++ ximage->f.put_pixel = PutPixel32LSB; + else if ((ximage->bits_per_pixel | ximage->depth) == 1) + ximage->f.put_pixel = PutPixel1; + else diff --git a/source/l/lesstif/lesstif.SlackBuild b/source/l/lesstif/lesstif.SlackBuild new file mode 100755 index 00000000..cb169ad7 --- /dev/null +++ b/source/l/lesstif/lesstif.SlackBuild @@ -0,0 +1,136 @@ +#!/bin/sh + +# Copyright 2006-2009 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=lesstif +VERSION=${VERSION:-0.95.0} +ARCH=${ARCH:-x86_64} +BUILD=${BUILD:-5} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-${PKGNAM} +rm -rf $PKG +mkdir -p $TMP $PKG + +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" +fi + +cd $TMP +rm -rf ${PKGNAM}-${VERSION} +tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1 +cd ${PKGNAM}-$VERSION || exit 1 + +if [ "$ARCH" = "x86_64" ]; then + zcat $CWD/lesstif.Makefile.in.patch.gz | patch -p1 --verbose || exit 1 + zcat $CWD/lesstif.PutPixel32.patch.gz | patch -p1 --verbose || exit 1 + zcat $CWD/lesstif.x86_64.patch.gz | patch -p1 --verbose || exit 1 +fi + +zcat $CWD/lesstif.gcc42.diff.gz | patch -p1 --verbose || exit 1 + +# Check for NULL w in RenderTable.c to prevent possible crashes in +# "experimental" code path: +zcat $CWD/lesstif.rendertable.check.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 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc/X11 \ + --enable-shared \ + --enable-static \ + --enable-build-21 \ + --enable-build-Xlt \ + --enable-build-Xbae \ + --enable-xbae-24bit \ + --enable-xbae-row-heights \ + --disable-debug \ + --build=$ARCH-slackware-linux + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# 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 + +# Move LessTif's Imake files into place: +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/X11 +mv $PKG/usr/lib${LIBDIRSUFFIX}/LessTif/config $PKG/usr/lib${LIBDIRSUFFIX}/X11 +rmdir $PKG/usr/lib${LIBDIRSUFFIX}/LessTif + +# Fix misplaced items: +( cd $PKG/usr/LessTif + mv * doc + mkdir $PKG/usr/doc + mv doc $PKG/usr/doc/lesstif-${VERSION} +) +rmdir $PKG/usr/LessTif +mkdir -p $PKG/etc/X11 +mv $PKG/usr/lib${LIBDIRSUFFIX}/X11/app-defaults $PKG/etc/X11 +mv $PKG/usr/lib${LIBDIRSUFFIX}/X11/mwm $PKG/etc/X11 +( cd $PKG/usr/lib${LIBDIRSUFFIX}/X11 ; ln -sf ../../../etc/X11/mwm . ) + +# 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 + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz | sed -e "s#lib/#lib${LIBDIRSUFFIX}/#g" \ + > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz + diff --git a/source/l/lesstif/lesstif.gcc42.diff b/source/l/lesstif/lesstif.gcc42.diff new file mode 100644 index 00000000..5c3bf12a --- /dev/null +++ b/source/l/lesstif/lesstif.gcc42.diff @@ -0,0 +1,23 @@ +--- ./include/Motif-2.1/Xm/VendorSP.h.orig 2004-08-28 14:23:27.000000000 -0500 ++++ ./include/Motif-2.1/Xm/VendorSP.h 2009-03-16 15:29:38.000000000 -0500 +@@ -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, +@@ -57,9 +53,4 @@ + + XMLIBEXPORT extern VendorShellClassRec vendorShellClassRec; + +- +-#ifdef __cplusplus +-} +-#endif +- + #endif /* _XM_VENDORSP_H */ diff --git a/source/l/lesstif/lesstif.rendertable.check.diff b/source/l/lesstif/lesstif.rendertable.check.diff new file mode 100644 index 00000000..49f877e9 --- /dev/null +++ b/source/l/lesstif/lesstif.rendertable.check.diff @@ -0,0 +1,11 @@ +--- ./lib/Xm-2.1/RenderTable.c.orig 2005-06-24 06:36:03.000000000 -0500 ++++ ./lib/Xm-2.1/RenderTable.c 2009-03-23 16:34:48.000000000 -0500 +@@ -465,7 +465,7 @@ + DEBUGOUT(_LtDebug(__FILE__, w, "_XmRenderTableFinaliseTag(%s)\n", tag)); + #if 1 + /* Experimental start */ +- if (r->dpy == 0) ++ if (r->dpy == 0 && w) + r->dpy = XtDisplay(w); + /* Experimental end */ + #endif diff --git a/source/l/lesstif/lesstif.x86_64.patch b/source/l/lesstif/lesstif.x86_64.patch new file mode 100644 index 00000000..774a9df0 --- /dev/null +++ b/source/l/lesstif/lesstif.x86_64.patch @@ -0,0 +1,39 @@ +diff -up lesstif-0.95.0/scripts/motif-config.in.multilib lesstif-0.95.0/scripts/motif-config.in +--- lesstif-0.95.0/scripts/motif-config.in.multilib 2005-01-14 20:36:00.000000000 +0100 ++++ lesstif-0.95.0/scripts/motif-config.in 2007-10-21 13:52:43.000000000 +0200 +@@ -2,14 +2,16 @@ + # + # $Header: /stuff/slackware/non-public/alien/slackware64/source/l/lesstif/RCS/lesstif-0.95.0-x86_64.patch,v 1.1 2008/10/17 20:29:26 eha Exp eha $ + # +-L="@prefix@" + XC="@X_CFLAGS@" +-XL="@X_LIBS@" +-XR="@XRENDER_LIBS@" ++X_PRE_LIBS="@X_PRE_LIBS@" ++X_LIBS="@X_LIBS@" ++X_EXTRA_LIBS="@X_EXTRA_LIBS@" + V="@PACKAGE_NAME@ @PACKAGE_VERSION@" + +-prefix=$L +-exec_prefix=$L ++prefix="@prefix@" ++exec_prefix="@exec_prefix@" ++libdir="@libdir@" ++includedir="@includedir@" + exec_prefix_set=no + + usage() +@@ -80,10 +82,10 @@ if test "$echo_exec_prefix" = "yes"; the + fi + + if test "$echo_cflags" = "yes"; then +- echo "-I$L/include $XC" ++ echo "-I$includedir $XC" + fi + + if test "$echo_libs" = "yes"; then +- echo "-L$L/lib -L/usr/X11R6/lib -lXm -lXt $my_glib_libs $XR -lXext -lX11" ++ echo "-L$libdir ${X_LIBS} -lXm -lXt ${X_PRE_LIBS} -lX11 ${X_EXTRA_LIBS}" + fi + + diff --git a/source/l/lesstif/slack-desc b/source/l/lesstif/slack-desc new file mode 100644 index 00000000..0736326a --- /dev/null +++ b/source/l/lesstif/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------------------------------------------------------| +lesstif: lesstif (a free replacement for OSF/Motif(R)) +lesstif: +lesstif: LessTif is the Hungry Programmers' (www.hungry.com) free clone of +lesstif: Motif(R). It aims to be source compatible with OSF/Motif(R) meaning +lesstif: that the same source code should compile with both and work exactly +lesstif: the same. This package contains the libraries and header files to +lesstif: be able to run and compile Motif applications, along with the lesstif +lesstif: version of mwm, the Motif window manager. +lesstif: +lesstif: +lesstif: |