aboutsummaryrefslogtreecommitdiff
path: root/graphics/LDView
diff options
context:
space:
mode:
authorNiels Horn <niels.horn@gmail.com>2013-11-20 19:22:19 -0600
committerRobby Workman <rworkman@slackbuilds.org>2013-11-20 19:22:19 -0600
commit5ee5750d3b9945226a4c331980dcd2c5e8200227 (patch)
tree32a3a0e3e77d2ea3abaa3ecc8fbc81bf88ca18f5 /graphics/LDView
parentf93175a14253e4f29de140176894672d92a5e1da (diff)
graphics/LDView: Go back to version 4.1 and build correctly
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'graphics/LDView')
-rw-r--r--graphics/LDView/LDView.SlackBuild126
-rw-r--r--graphics/LDView/LDView.desktop11
-rw-r--r--graphics/LDView/LDView.info10
-rw-r--r--graphics/LDView/LDView_GL.patch11
-rw-r--r--graphics/LDView/LDView_boost15.patch33
-rw-r--r--graphics/LDView/LDView_gcc47.patch23
-rw-r--r--graphics/LDView/README2
-rw-r--r--graphics/LDView/doinst.sh9
-rw-r--r--graphics/LDView/opengl.patch10
9 files changed, 180 insertions, 55 deletions
diff --git a/graphics/LDView/LDView.SlackBuild b/graphics/LDView/LDView.SlackBuild
index 5d5b034c5b18..1ae08727fa28 100644
--- a/graphics/LDView/LDView.SlackBuild
+++ b/graphics/LDView/LDView.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for LDView:
# a program to visualize LDraw files
-# Copyright 2009-2010, 2012 Niels Horn, Rio de Janeiro, Brazil
+# Copyright 2009-2010, 2012-2013 Niels Horn, Rio de Janeiro, Brazil
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,16 +23,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# revision date 2012/09/13
+# revision date 2013/11/20
PRGNAM=LDView
-SRCNAM=ldview
-VERSION=${VERSION:-4.2_beta1}
-BUILD=${BUILD:-1}
+VERSION=4.1
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
-SRCVERSION=$(echo $VERSION | tr _ -)
-
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
@@ -43,50 +40,101 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
- DEBARCH="i386"
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+ LDVDEV64=""
elif [ "$ARCH" = "i686" ]; then
- DEBARCH="i386"
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ LDVDEV64=""
elif [ "$ARCH" = "x86_64" ]; then
- DEBARCH="x64"
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ LDVDEV64=YES
else
- DEBARCH="i386"
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ LDVDEV64=""
fi
set -e
-rm -rf $TMP/$PRGNAM/
-mkdir -p $TMP $OUTPUT
+rm -rf $TMP/$PRGNAM-$VERSION $PKG
+mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-mkdir -p $PRGNAM
-cd $PRGNAM
-ar p $CWD/$SRCNAM-${SRCVERSION}.${DEBARCH}.deb data.tar.gz | tar xzv
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+chmod -R u+w,go+r-w,a-s .
+
+# Patch for a bug in QT, solves problems on NVIDIA cards
+patch -p1 < $CWD/opengl.patch
+
+# Patch for gcc-4.7
+patch -p1 < $CWD/LDView_gcc47.patch
+
+# Patch for boost-1.50
+# see https://svn.boost.org/trac/boost/ticket/6940
+patch -p1 < $CWD/LDView_boost15.patch
+
+# Patch for GL problems
+patch -p1 < $CWD/LDView_GL.patch
+
+# the 'makeall' script is in the QT directory
+cd QT
+
+# Fix LDView.pro for gcc-4.7
+sed -e 's/-ljpeg/-ljpeg -lpng14 -lz -lboost_system -lGLU/' -i LDView.pro
+
+export LDVDEV64
+QTDIR=$QT4DIR TESTING="$SLKCFLAGS" ./makeall
+
+# Install manually
+mkdir -p $PKG/usr/bin
+cp -a $PRGNAM $PKG/usr/bin/${PRGNAM}_bin
+strip --strip-unneeded $PKG/usr/bin/${PRGNAM}_bin
+cat $CWD/$PRGNAM.sh > $PKG/usr/bin/$PRGNAM
+chmod 0755 $PKG/usr/bin/$PRGNAM
+cd ..
+
+# Sample files, font, translations
+mkdir -p $PKG/usr/share/$PRGNAM
+cp 8464.mpd m6459.ldr Textures/SansSerif.fnt \
+ $PKG/usr/share/$PRGNAM/
+cp Translations/Czech/LDViewMessages.ini \
+ $PKG/usr/share/$PRGNAM/LDViewMessages_cz.ini
+cp Translations/EnglishUS/LDViewMessages.ini \
+ $PKG/usr/share/$PRGNAM/LDViewMessages_en_US.ini
+cp Translations/German/LDViewMessages.ini \
+ $PKG/usr/share/$PRGNAM/LDViewMessages_de.ini
+cp Translations/Hungarian/LDViewMessages.ini \
+ $PKG/usr/share/$PRGNAM/LDViewMessages_hu.ini
+cp Translations/Italian/LDViewMessages.ini \
+ $PKG/usr/share/$PRGNAM/LDViewMessages_it.ini
+cat LDViewMessages.ini LDExporter/LDExportMessages.ini \
+ > $PKG/usr/share/$PRGNAM/LDViewMessages.ini
+
+# Copy icon & desktop file to package
+mkdir -p $PKG/usr/share/{applications,mime/packages,pixmaps}
+cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+convert Icons/LDViewIcon.gif $PKG/usr/share/pixmaps/$PRGNAM.png
+cat QT/desktop/ldraw.xml > $PKG/usr/share/mime/packages/ldraw.xml
# Documentation
-mkdir -p $TMP/$PRGNAM/usr/doc/$PRGNAM-$VERSION/
-mv $TMP/$PRGNAM/usr/share/doc/ldview/copyright $TMP/$PRGNAM/usr/doc/$PRGNAM-$VERSION/copyright
-mv $TMP/$PRGNAM/usr/share/doc/ldview/changelog.gz $TMP/$PRGNAM/usr/doc/$PRGNAM-$VERSION/changelog.gz
-mv $TMP/$PRGNAM/usr/share/ldview/ChangeHistory.html $TMP/$PRGNAM/usr/doc/$PRGNAM-$VERSION/ChangeHistory.html
-mv $TMP/$PRGNAM/usr/share/ldview/Help.html $TMP/$PRGNAM/usr/doc/$PRGNAM-$VERSION/Help.html
-mv $TMP/$PRGNAM/usr/share/ldview/Readme.txt $TMP/$PRGNAM/usr/doc/$PRGNAM-$VERSION/Readme.txt
-cat $CWD/$PRGNAM.SlackBuild > $TMP/$PRGNAM/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-rm -rf $TMP/$PRGNAM/usr/share/doc/
-
-mkdir -p $TMP/$PRGNAM/etc/gconf/schemas
-mv $TMP/$PRGNAM/usr/share/gconf/schemas/ldraw.schemas $TMP/$PRGNAM/etc/gconf/schemas/ldraw.schemas
-rm -rf $TMP/$PRGNAM/usr/share/gconf/
-
-mkdir -p $TMP/$PRGNAM/install
-cat $CWD/slack-desc > $TMP/$PRGNAM/install/slack-desc
-cat $CWD/doinst.sh > $TMP/$PRGNAM/install/doinst.sh
-
-cd $TMP/$PRGNAM
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/html
+cp -a license.txt install.txt Readme.txt QT/todo.txt \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a ChangeHistory.html Help.html $PKG/usr/doc/$PRGNAM-$VERSION/html/
+find $PKG/usr/doc/$PRGNAM-$VERSION/ -type f -exec chmod 644 {} \;
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/graphics/LDView/LDView.desktop b/graphics/LDView/LDView.desktop
new file mode 100644
index 000000000000..c215cde08832
--- /dev/null
+++ b/graphics/LDView/LDView.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=LDView
+GenericName=LDraw Model Viewer
+Categories=Graphics;
+Exec=/usr/bin/LDView %f
+Icon=LDView
+Terminal=false
+StartupNotify=false
+MimeType=application/x-ldraw;application/x-multipart-ldraw;
diff --git a/graphics/LDView/LDView.info b/graphics/LDView/LDView.info
index 1d7d1832ec96..e1506ef86e31 100644
--- a/graphics/LDView/LDView.info
+++ b/graphics/LDView/LDView.info
@@ -1,10 +1,10 @@
PRGNAM="LDView"
-VERSION="4.2_beta1"
+VERSION="4.1"
HOMEPAGE="http://ldview.sourceforge.net"
-DOWNLOAD="http://download.sourceforge.net/ldview/ldview-4.2-beta1.i386.deb"
-MD5SUM="28cec26e8435a56220e45cd4d37cdb71"
-DOWNLOAD_x86_64="http://download.sourceforge.net/ldview/ldview-4.2-beta1.x64.deb"
-MD5SUM_x86_64="8d9aea1c2b6ad1e971d258716cc387f1"
+DOWNLOAD="http://www.nielshorn.net/_download/slackware/source/LDView-4.1.tar.gz"
+MD5SUM="942fc33b061bffc5d3e9cdf06622a878"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
REQUIRES="LDraw_data tinyxml"
MAINTAINER="Niels Horn"
EMAIL="niels.horn@gmail.com"
diff --git a/graphics/LDView/LDView_GL.patch b/graphics/LDView/LDView_GL.patch
new file mode 100644
index 000000000000..355d5ef04c4a
--- /dev/null
+++ b/graphics/LDView/LDView_GL.patch
@@ -0,0 +1,11 @@
+--- LDView-4.1/TRE/TREGLExtensions.cpp 2008-10-25 23:33:34.000000000 -0200
++++ LDView-4.1_patched/TRE/TREGLExtensions.cpp 2013-11-20 22:34:37.069129226 -0200
+@@ -193,7 +193,7 @@
+ // the function pointers won't be loaded.
+ if (haveVARExtension(true))
+ {
+-#ifndef __APPLE__
++#ifdef WIN32
+ // NOTE: I should really change the __APPLE__ path to do their
+ // equivalent of wglGetProcAddress. However, since this extension won't
+ // work anyway without a bunch of glX stuff that I'm not going to do,
diff --git a/graphics/LDView/LDView_boost15.patch b/graphics/LDView/LDView_boost15.patch
new file mode 100644
index 000000000000..df60eb4615b2
--- /dev/null
+++ b/graphics/LDView/LDView_boost15.patch
@@ -0,0 +1,33 @@
+--- LDView-4.1/LDLib/LDLibraryUpdater.cpp 2009-12-01 16:42:55.000000000 -0200
++++ LDView-4.1_patched/LDLib/LDLibraryUpdater.cpp 2013-11-20 20:39:36.003276476 -0200
+@@ -1183,7 +1183,7 @@
+ // it to signal.
+ boost::xtime xt;
+
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ xt.nsec += 250 * 1000 * 1000;
+ m_threadFinish->timed_wait(lock, xt);
+ }
+--- LDView-4.1/TCFoundation/TCWebClient.cpp 2009-04-03 13:34:55.000000000 -0300
++++ LDView-4.1_patched/TCFoundation/TCWebClient.cpp 2013-11-20 20:39:13.900470975 -0200
+@@ -118,7 +118,7 @@
+ #else // _OSMESA
+ boost::xtime xt;
+
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ xt.sec += sec;
+ boost::thread::sleep(xt);
+ #endif // _OSMESA
+--- LDView-4.1/TRE/TREMainModel.cpp 2009-11-09 22:10:29.000000000 -0200
++++ LDView-4.1_patched/TRE/TREMainModel.cpp 2013-11-20 20:39:50.523148711 -0200
+@@ -779,7 +779,7 @@
+ #ifdef ANTI_DEADLOCK_HACK
+ boost::xtime xt;
+
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ // 100,000,000 nsec == 100 msec
+ xt.nsec += 100 * 1000000;
+ // HACK: If any deadlocks are encountered during testing,
diff --git a/graphics/LDView/LDView_gcc47.patch b/graphics/LDView/LDView_gcc47.patch
new file mode 100644
index 000000000000..ae1c7c2810db
--- /dev/null
+++ b/graphics/LDView/LDView_gcc47.patch
@@ -0,0 +1,23 @@
+--- LDView-4.1/TCFoundation/TCArray.h 2008-05-18 18:16:21.000000000 -0300
++++ LDView-4.1_patched/TCFoundation/TCArray.h 2012-09-13 14:32:40.000000000 -0300
+@@ -2,6 +2,7 @@
+ #define __TCARRAY_H__
+
+ #include <TCFoundation/TCObject.h>
++#include <TCFoundation/mystring.h>
+
+ typedef int (*TCArraySortFunction)(const void*, const void*);
+
+--- LDView-4.1/TCFoundation/mystring.h 2009-11-17 00:45:34.000000000 -0200
++++ LDView-4.1_patched/TCFoundation/mystring.h 2012-09-13 14:33:51.000000000 -0300
+@@ -13,6 +13,10 @@
+ #include <Qt/qstring.h>
+ #endif // _QT
+
++#ifndef WIN32
++#include <unistd.h>
++#endif
++
+ #ifdef _OSMESA
+ #include <stdarg.h>
+ #endif // _OSMESA
diff --git a/graphics/LDView/README b/graphics/LDView/README
index e639845b0555..a72176b7b579 100644
--- a/graphics/LDView/README
+++ b/graphics/LDView/README
@@ -1,5 +1,3 @@
LDView is a real-time 3D viewer for displaying LDraw models using hardware
accellerated 3D graphics. The program can read LDraw DAT, LDR and MPD files.
It then allows you to rotate the model around to any angle with the mouse.
-
-This script will repackage from Deb format, not building from source \ No newline at end of file
diff --git a/graphics/LDView/doinst.sh b/graphics/LDView/doinst.sh
index cb6df023c6c6..ba98b9dbd507 100644
--- a/graphics/LDView/doinst.sh
+++ b/graphics/LDView/doinst.sh
@@ -1,11 +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
-}
-
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q /usr/share/applications >/dev/null 2>&1
fi
@@ -13,4 +5,3 @@ if [ -x /usr/bin/update-mime-database ]; then
/usr/bin/update-mime-database /usr/share/mime >/dev/null 2>&1
fi
-schema_install ldraw.schemas
diff --git a/graphics/LDView/opengl.patch b/graphics/LDView/opengl.patch
new file mode 100644
index 000000000000..53f0364a1af5
--- /dev/null
+++ b/graphics/LDView/opengl.patch
@@ -0,0 +1,10 @@
+--- LDView-4.1/QT/ModelViewerWidget.cpp 2009-12-01 14:27:54.000000000 -0200
++++ LDView-4.1_patched/QT/ModelViewerWidget.cpp 2010-05-25 20:15:41.000000000 -0300
+@@ -403,6 +403,7 @@
+ if (!painting && (saving || !loading))
+ {
+ painting = true;
++ glEnable(GL_DEPTH_TEST);
+ if (saving)
+ {
+ if (!TREGLExtensions::haveFramebufferObjectExtension())