From e03b61025e59a83fc6e510a40d98af9b41872a80 Mon Sep 17 00:00:00 2001 From: Christoph Willing Date: Tue, 18 Sep 2018 09:03:56 +1000 Subject: libraries/qwtpolar: Add support for Qt5 Signed-off-by: Christoph Willing --- libraries/qwtpolar/README | 5 ++++ libraries/qwtpolar/qwtpolar-1.1.1-qt5.patch | 32 +++++++++++++++++++++++++ libraries/qwtpolar/qwtpolar.SlackBuild | 37 ++++++++++++++++++++++++----- 3 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 libraries/qwtpolar/qwtpolar-1.1.1-qt5.patch diff --git a/libraries/qwtpolar/README b/libraries/qwtpolar/README index 3cd2af81d92c..8104678f8665 100644 --- a/libraries/qwtpolar/README +++ b/libraries/qwtpolar/README @@ -1,2 +1,7 @@ QwtPolar - A Qwt/Qt Polar plot library with classes for displaying values on a polar coordinate system. + +Support for Qt5 will be included if, at build time, +the SlackBuild detects the presence of both: +1. qwt package built with Qt5 support +2. qt5 package diff --git a/libraries/qwtpolar/qwtpolar-1.1.1-qt5.patch b/libraries/qwtpolar/qwtpolar-1.1.1-qt5.patch new file mode 100644 index 000000000000..438bb44276f1 --- /dev/null +++ b/libraries/qwtpolar/qwtpolar-1.1.1-qt5.patch @@ -0,0 +1,32 @@ +--- ../src/src.pro.orig 2018-09-17 17:15:25.091000000 +1000 ++++ ../src/src.pro 2018-09-17 17:27:50.284000000 +1000 +@@ -14,7 +14,12 @@ + include( $${QWT_POLAR_ROOT}/qwtpolarfunctions.pri ) + + TEMPLATE = lib +-TARGET = $$qwtPolarLibraryTarget(qwtpolar) ++greaterThan(QT_MAJOR_VERSION, 4) { ++ TARGET = $$qwtPolarLibraryTarget(qwtpolar-qt5) ++} ++else { ++ TARGET = $$qwtPolarLibraryTarget(qwtpolar) ++} + + # pkgconfig support + CONFIG += create_pc create_prl no_install_prl +--- ../designer/designer.pro.orig 2014-09-19 20:28:24.313002267 +1000 ++++ ../designer/designer.pro 2018-09-17 17:32:26.175000000 +1000 +@@ -60,7 +60,12 @@ + LIBS += -L$${QWT_POLAR_ROOT}/lib + } + +- qwtPolarAddLibrary(qwtpolar) ++ greaterThan(QT_MAJOR_VERSION, 4) { ++ qwtPolarAddLibrary(qwtpolar-qt5) ++ } ++ else { ++ qwtPolarAddLibrary(qwtpolar) ++ } + + contains(CONFIG, QwtPolarDll) { + diff --git a/libraries/qwtpolar/qwtpolar.SlackBuild b/libraries/qwtpolar/qwtpolar.SlackBuild index e266dbcc4b4d..fd33416f7f86 100644 --- a/libraries/qwtpolar/qwtpolar.SlackBuild +++ b/libraries/qwtpolar/qwtpolar.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for qwtpolar -# Copyright 2015 Christoph Willing Brisbane, Australia +# Copyright 2015-2018 Christoph Willing Brisbane, Australia # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,7 +24,7 @@ PRGNAM=qwtpolar VERSION=${VERSION:-1.1.1} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -54,6 +54,11 @@ else LIBDIRSUFFIX="" fi +# If Qt5 is installed, assume we want to use it +QWTP_QT5="no" ; pkg-config --exists Qt5 ; if [ "$?" = "0" ]; then QWTP_QT5="yes" ; fi +# Also need qwt to have been built with Qt5 support +pkg-config --exists Qt5Qwt6 ; if [ "$?" != "0" ]; then QWTP_QT5="no" ; fi + set -e rm -rf $PKG @@ -65,6 +70,7 @@ cd $PRGNAM-$VERSION patch -p1 < $CWD/qwtpolar-1.1.1-qt_paths.patch patch -p1 < $CWD/qwtpolar-1.1.1-pkgconfig.patch +patch -p1 < $CWD/qwtpolar-1.1.1-qt5.patch chown -R root:root . find -L . \ @@ -73,9 +79,22 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -qmake qwtpolar.pro LIBDIRSUFFIX=$LIBDIRSUFFIX +mkdir build-qt4 +cd build-qt4 +qmake ../qwtpolar.pro LIBDIRSUFFIX=$LIBDIRSUFFIX make make install INSTALL_ROOT=$PKG +cd .. + +if [ "$QWTP_QT5" = "yes" ]; then + echo "Supporting Qt5" + mkdir build-qt5 + cd build-qt5 + qmake-qt5 ../qwtpolar.pro LIBDIRSUFFIX=$LIBDIRSUFFIX + make + make install INSTALL_ROOT=$PKG + cd .. +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 @@ -85,9 +104,15 @@ find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/examples -find ./examples/ -name moc -type d |xargs rm -rf -find ./examples/ -name obj -type d |xargs rm -rf -cp -a ./examples/* $PKG/usr/doc/$PRGNAM-$VERSION/examples/ +find ./build-qt4/examples/ -name moc -type d |xargs rm -rf +find ./build-qt4/examples/ -name obj -type d |xargs rm -rf +cp -a ./build-qt4/examples/* $PKG/usr/doc/$PRGNAM-$VERSION/examples/ +if [ -d build-qt5 ]; then + mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/examples-qt5 + find ./build-qt5/examples/ -name moc -type d |xargs rm -rf + find ./build-qt5/examples/ -name obj -type d |xargs rm -rf + cp -a ./build-qt5/examples/* $PKG/usr/doc/$PRGNAM-$VERSION/examples-qt5/ +fi cp -a CHANGES* COPYING INSTALL $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild -- cgit v1.2.3