summaryrefslogtreecommitdiffstats
path: root/qcad
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2008-03-06 23:53:46 +0000
committer Eric Hameleers <alien@slackware.com>2008-03-06 23:53:46 +0000
commite97149d6d0e19a6235da90083a3aef894c704c33 (patch)
tree8b988962761ef84a802dc16a1c230a629e40bdd0 /qcad
parentce6d825640f3aeef68ca9950bdfe6be982cb898b (diff)
downloadasb-e97149d6d0e19a6235da90083a3aef894c704c33.tar.gz
asb-e97149d6d0e19a6235da90083a3aef894c704c33.tar.xz
Split the partlibrary out to a separate package
Diffstat (limited to 'qcad')
-rwxr-xr-xqcad/build/qcad.SlackBuild91
1 files changed, 52 insertions, 39 deletions
diff --git a/qcad/build/qcad.SlackBuild b/qcad/build/qcad.SlackBuild
index d0bbe571..a1e39846 100755
--- a/qcad/build/qcad.SlackBuild
+++ b/qcad/build/qcad.SlackBuild
@@ -31,7 +31,8 @@
# Needs:
# Changelog:
# 2.0.5.0-1: 06/Mar/2008 by Eric Hameleers <alien@slackware.com>
-# * Initial build.
+# * Initial build. To be anything like useful, qcad needs a parts
+# library - we wrap that into a separate package.
#
# Run 'sh qcad.SlackBuild --cleanup' to build a Slackware package.
# The package (.tgz) plus descriptive .txt file are created in /tmp .
@@ -42,8 +43,11 @@
# Set initial variables:
PRGNAM=qcad
-VERSION=${VERSION:-2.0.5.0}
-MANVER=${MANVER:-2.1.0.0}
+SRCVER=${SRCVER:-2.0.5.0-1}
+VERSION=$(echo $SRCVER | tr '-' '_')
+MANVER=${MANVER:-2.1.0.0-1}
+PARTVER=${PARTVER:-2.1.2.8-1}
+VERSION2=$(echo $PARTVER | tr '-' '_')
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
@@ -57,13 +61,17 @@ SRCDIR=$(dirname $0)
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
TMP=${TMP:-/tmp/build}
PKG=$TMP/package-$PRGNAM
+PKG2=$TMP/package-${PRGNAM}-partlibrary
OUTPUT=${OUTPUT:-/tmp}
-SOURCE[0]="$SRCDIR/${PRGNAM}-${VERSION}-1-community.src.tar.gz"
-SRCURL[0]="ftp://ribbonsoft.com/archives/${PRGNAM}/${PRGNAM}-${VERSION}-1-community.src.tar.gz"
+SOURCE[0]="$SRCDIR/${PRGNAM}-${SRCVER}-community.src.tar.gz"
+SRCURL[0]="ftp://ribbonsoft.com/archives/${PRGNAM}/${PRGNAM}-${SRCVER}-community.src.tar.gz"
-SOURCE[1]="${PRGNAM}-manual-en-${MANVER}-1.html.zip"
-SRCURL[1]="ftp://ribbonsoft.com/archives/${PRGNAM}/${PRGNAM}-manual-en-${MANVER}-1.html.zip"
+SOURCE[1]="$SRCDIR/${PRGNAM}-manual-en-${MANVER}.html.zip"
+SRCURL[1]="ftp://ribbonsoft.com/archives/${PRGNAM}/${PRGNAM}-manual-en-${MANVER}.html.zip"
+
+SOURCE[2]="$SRCDIR/partlibrary-${PARTVER}.tar.gz"
+SRCURL[2]="ftp://ribbonsoft.com/archives/partlibrary/partlibrary-${PARTVER}.tar.gz"
##
## --- with a little luck, you won't have to edit below this point --- ##
@@ -107,8 +115,8 @@ esac
# Create working directories:
mkdir -p $OUTPUT # place for the package to be saved
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
-mkdir -p $PKG # place for the package to be built
-rm -rf $PKG/* # always erase old package's contents
+mkdir -p $PKG $PKG2 # place for the package to be built
+rm -rf $PKG/* $PKG2/* # always erase old package's contents
if [ "$P1" != "--oldbuild" ]; then
# Use the "--oldbuild" parameter to keep old build files and continue;
# By default we remove the remnants of previous build and continue.
@@ -154,48 +162,50 @@ for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
tar -xjvf ${SOURCE[$i]}
elif $(file ${SOURCE[$i]} | grep -q ": gzip"); then
tar -xzvf ${SOURCE[$i]}
+ elif $(file ${SOURCE[$i]} | grep -q ": Zip"); then
+ unzip ${SOURCE[$i]}
fi
done
-mv ${PRGNAM}-${VERSION}-1-community.src ${PRGNAM}-${VERSION}
+chown -R root:root *
+chmod -R u+w,go+r-w,a+X-s .
+mv ${PRGNAM}-${SRCVER}-community.src ${PRGNAM}-${VERSION}
cd ${PRGNAM}-${VERSION}
# Apply patches:
patch -p1 < $SRCDIR/${PRGNAM}_64bit.patch -b -z .64bit \
2>&1 | tee $OUTPUT/patch-${PRGNAM}.log
-patch -p1 < $SRCDIR/${PRGNAM}_pedantic.patch -b -z .pedantic \
- 2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-patch -p1 < $SRCDIR/${PRGNAM}_gcc43 -b -z .gcc43 \
+patch -p1 < $SRCDIR/${PRGNAM}_gcc43.patch -b -z .gcc43 \
2>&1 | tee -a $OUTPUT/patch-${PRGNAM}.log
-chown -R root:root .
-chmod -R u+w,go+r-w,a-s .
echo Building ...
export LDFLAGS="$SLKLDFLAGS"
export CXXFLAGS="$SLKCFLAGS"
export CFLAGS="$SLKCFLAGS"
-export QTDIR=/usr/lib/qt3
+export QTDIR="$(ls -1d /usr/lib/qt-3*)"
(
cd scripts
- ./build_qcad.sh
+ ./build_qcad.sh debug # scripting sources not available
)
find -name *.ts -exec lrelease {} \;
find -name *.qm -exec cp {} qcad/qm \;
# Install all the needed stuff to the package dir
-mkdir -p $PKG/usr/share/qcad/{library,doc}
-
-cp -fr qcad-manual-en-${MANVER}-1.html/* $PKG/usr/share/qcad/doc/
+mkdir -p $PKG/usr/share/qcad/{library,doc} $PKG/usr/bin
-cd qcad
-cp -fr fonts $PKG/usr/share/qcad/
-cp -fr patterns $PKG/usr/share/qcad/
-cp -fr qm $PKG/usr/share/qcad/
+(
+ cd qcad
+ cp -f qcad $PKG/usr/bin/
+ cp -fr fonts $PKG/usr/share/qcad/
+ cp -fr patterns $PKG/usr/share/qcad/
+ cp -fr qm $PKG/usr/share/qcad/
+)
-mkdir -p $PKG/usr/bin
-cp -f qcad $PKG/usr/bin/
+# Add the online manual:
+cp -fr ../qcad-manual-en-${MANVER}.html/* \
+ $PKG/usr/share/qcad/doc/
# Create a .desktop file with a suitable icon:
-mkdir -p $PKG/usr/share/pixmaps
-cp -f src/xpm/qcad.xpm $PKG/usr/share/pixmaps
+mkdir -p $PKG/usr/share/pixmaps
+cp -f qcad/src/xpm/qcad.xpm $PKG/usr/share/pixmaps
mkdir -p $PKG/usr/share/applications
cat <<-EOT > $PKG/usr/share/applications/cqad.desktop
[Desktop Entry]
@@ -223,15 +233,9 @@ cat <<-EOT > $PKG/install/doinst.sh
# Add documentation:
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
-ln -s ../../share/qcad/doc html
+( cd $PKG/usr/doc/$PRGNAM-$VERSION && ln -s ../../share/qcad/doc html )
find $PKG/usr/doc -type f -exec chmod 644 {} \;
-# Compress the man page(s):
-if [ -d $PKG/usr/man ]; then
- find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
- for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-fi
-
# Strip binaries:
cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -241,9 +245,6 @@ cd -
# Add a package description:
mkdir -p $PKG/install
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
-if [ -f $SRCDIR/doinst.sh ]; then
- cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
-fi
# Build the package:
cd $PKG
@@ -253,8 +254,20 @@ md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz > ${PRGNAM}-${VERSION}-${ARCH}-
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txt
+# The partlibrary split into a second package:
+cd $TMP/tmp-$PRGNAM
+mkdir -p $PKG2/install $PKG2/usr/share/qcad/library
+cp -fr partlibrary-${PARTVER}/* \
+ $PKG2/usr/share/qcad/library/
+cat $SRCDIR/slack-desc.partlibrary > $PKG2/install/slack-desc
+cd $PKG2
+makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-partlibrary-${VERSION2}-${ARCH}-${BUILD}.tgz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}-partlibrary.log
+cd $OUTPUT
+md5sum ${PRGNAM}-partlibrary-${VERSION2}-${ARCH}-${BUILD}.tgz > ${PRGNAM}-partlibrary-${VERSION2}-${ARCH}-${BUILD}.tgz.md5
+cat $PKG2/install/slack-desc | grep "^${PRGNAM}-partlibrary" > $OUTPUT/${PRGNAM}-partlibrary-${VERSION2}-${ARCH}-${BUILD}.txt
+
# Clean up the extra stuff:
if [ "$P1" = "--cleanup" ]; then
rm -rf $TMP/tmp-$PRGNAM
- rm -rf $PKG
+ rm -rf $PKG $PKG2
fi