summaryrefslogtreecommitdiff
path: root/source/l/lesstif
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/lesstif')
-rw-r--r--source/l/lesstif/doinst.sh8
-rw-r--r--source/l/lesstif/lesstif.Makefile.in.patch27
-rw-r--r--source/l/lesstif/lesstif.PutPixel32.patch55
-rwxr-xr-xsource/l/lesstif/lesstif.SlackBuild136
-rw-r--r--source/l/lesstif/lesstif.gcc42.diff23
-rw-r--r--source/l/lesstif/lesstif.rendertable.check.diff11
-rw-r--r--source/l/lesstif/lesstif.x86_64.patch39
-rw-r--r--source/l/lesstif/slack-desc19
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: