summaryrefslogtreecommitdiffstats
path: root/development/qbs/qbs.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'development/qbs/qbs.SlackBuild')
-rw-r--r--development/qbs/qbs.SlackBuild60
1 files changed, 39 insertions, 21 deletions
diff --git a/development/qbs/qbs.SlackBuild b/development/qbs/qbs.SlackBuild
index 727b5d2a42..798905e10f 100644
--- a/development/qbs/qbs.SlackBuild
+++ b/development/qbs/qbs.SlackBuild
@@ -1,9 +1,9 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for Qbs
# Copyright 2014-2017 Nikos Giotis <nikos.giotis@mail.com>
-# Copyright 2019 Andrzej Telszewski, Szczecin
+# Copyright 2020 Andrzej Telszewski, Szczecin
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,10 +23,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=qbs
-VERSION=${VERSION:-1.13.1}
+VERSION=${VERSION:-1.16.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -36,7 +39,14 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
@@ -55,42 +65,50 @@ else
LIBDIRSUFFIX=""
fi
-if [ -x /usr/bin/qbs ]; then
+set -e
+
+if which qbs &>/dev/null; then
+ echo "Found \"qbs\" in PATH."
echo "Please remove any previous Qbs installations before continuing."
+
exit 1
fi
-set -e
-
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
+
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-src-$VERSION.tar.gz
mv $PRGNAM-src-$VERSION $PRGNAM-$VERSION
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 a-st,u+rwX,go-w+rX .
+
+# Fix for missing *projectgeneratormanager.h*.
patch -p0 < $CWD/corelib-tools.pri.patch
# Adjust docs location.
+
sed -i "s|share/doc/qbs|doc/qbs-$VERSION|g" doc/doc.pri
-qmake-qt5 qbs.pro \
- QMAKE_CXXFLAGS="$SLKCFLAGS" \
- QBS_INSTALL_PREFIX=/usr \
- QBS_LIBRARY_DIRNAME=lib$LIBDIRSUFFIX \
+qmake-qt5 qbs.pro \
+ QMAKE_CXXFLAGS="$SLKCFLAGS" \
+ QBS_INSTALL_PREFIX=/usr \
+ QBS_LIBRARY_DIRNAME=lib$LIBDIRSUFFIX \
CONFIG+=qbs_enable_project_file_updates
make
make install INSTALL_ROOT=$PKG
-make docs
-make install_docs INSTALL_ROOT=$PKG
+
+if which qdoc-qt5 &>/dev/null; then
+ make docs
+ make install_docs INSTALL_ROOT=$PKG
+else
+ echo "qdoc-qt5 not found in PATH. Docs won't be built nor installed."
+fi
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -101,8 +119,8 @@ gzip -9 $PKG/usr/man/man1/qbs.1
rm -r $PKG/usr/share/man
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LGPL_EXCEPTION.txt LICENSE.GPL3-EXCEPT LICENSE.{LGPLv21,LGPLv3} README \
- $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CONTRIBUTING.md LGPL_EXCEPTION.txt LICENSE.GPL3-EXCEPT \
+ LICENSE.{LGPLv21,LGPLv3} README.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/usr/share/applications
@@ -113,4 +131,4 @@ 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}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE