graphics/LDView: Go back to version 4.1 and build correctly

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Niels Horn 2013-11-20 19:22:19 -06:00 committed by Robby Workman
parent f93175a142
commit 5ee5750d3b
9 changed files with 178 additions and 53 deletions

View File

@ -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 $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 $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 $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
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
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View File

@ -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;

View File

@ -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"

View File

@ -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,

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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())