slackbuilds_ponce/graphics/LDraw_data/LDraw_data.SlackBuild

110 lines
3.2 KiB
Text
Raw Normal View History

#!/bin/sh
# Slackware build script for LDRAW datafiles, needed by
# several LDraw utilities
# Copyright 2009-2013 Niels Horn, Rio de Janeiro, RJ, Brazil
# Copyright 2015 Philip van der Hoeven, Almere, The Netherlands
# 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=LDraw_data
VERSION=${VERSION:-201402}
ARCH=noarch
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PRGSRC=complete.zip
PRGUNZIPPED=ldraw
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGUNZIPPED
unzip $CWD/$PRGSRC
cd $PRGUNZIPPED
# Check if we have the right version of the "source"
srcver=$(echo "20$(basename $(ls -1 models/Note*.txt | tail -n1) .txt | cut -b5-8)")
if [ "$srcver" -ne "$VERSION" ] ; then
echo "Version of source ($srcver) does not match VERSION variable ($VERSION)"
exit 1
fi
chown -R root:root .
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;
# Copy the 'read-only' data to the package
mkdir -p $PKG/usr/share/LDRAW
cp -a \
*.ldr p parts \
$PKG/usr/share/LDRAW/
# Create / Copy the 'writable' sub-directories to /var/lib/ldraw/ and correct permissions
mkdir -p $PKG/var/lib/ldraw/{models,bitmap}
cp -a \
models \
$PKG/var/lib/ldraw/
chgrp -R users $PKG/var/lib/ldraw/{models,bitmap}
chmod 0775 $PKG/var/lib/ldraw/{models,bitmap}
chmod 0664 $PKG/var/lib/ldraw/models/*
# Create symlinks
cd $PKG/usr/share/LDRAW
ln -s ../../../var/lib/ldraw/bitmap BITMAP ; ln -s BITMAP bitmap
ln -s ../../../var/lib/ldraw/models MODELS ; ln -s MODELS models
ln -s parts PARTS
ln -s s PARTS/S
ln -s p P
cd -
# Move documentation
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/
cp -a \
*.txt \
$PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
# unzip & make 'mklist'
# (this is a one-time executable, that won't be installed,
# so we don't worry about CFLAGS)
unzip -o mklist1_6.zip
sed -i 's/_MAX_PATH/MAX_PATH/' mklist.c
sed -i 's/shortpath)/shortpath))/' mklist.c
make
# Run 'mklist' to generate "parts.lst"
cd $PKG/usr/share/LDRAW
$TMP/$PRGUNZIPPED/mklist -d -f
cd -
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}