diff options
author | Christoph Willing <chris.willing@linux.com> | 2018-09-18 08:28:44 +1000 |
---|---|---|
committer | David Spencer <idlemoor@slackbuilds.org> | 2018-09-21 23:31:44 +0100 |
commit | 2db89527c224480297002131d5f51c03f322b25c (patch) | |
tree | 3449f0d78d966906aa5cf048dcf4f193bd31d65a /libraries/qwt | |
parent | 2137e447fb0db0cd023dda555a8c920f3f06cc3a (diff) |
libraries/qwt: Add support for Qt5
Signed-off-by: Christoph Willing <chris.willing@linux.com>
Diffstat (limited to 'libraries/qwt')
-rw-r--r-- | libraries/qwt/README | 3 | ||||
-rw-r--r-- | libraries/qwt/patch-6.1.2-config.diff | 125 | ||||
-rw-r--r-- | libraries/qwt/qwt.SlackBuild | 51 |
3 files changed, 168 insertions, 11 deletions
diff --git a/libraries/qwt/README b/libraries/qwt/README index 918e77a205c5..ddd2be73070b 100644 --- a/libraries/qwt/README +++ b/libraries/qwt/README @@ -3,3 +3,6 @@ The Qwt library contains widgets and components which are primarily useful for technical and scientifical purposes. It includes a 2-D plotting widget, different kinds of sliders, and much more. + +Support for Qt5 will be included if the qt5 package is detected at build time. + diff --git a/libraries/qwt/patch-6.1.2-config.diff b/libraries/qwt/patch-6.1.2-config.diff new file mode 100644 index 000000000000..7da2db7d5af0 --- /dev/null +++ b/libraries/qwt/patch-6.1.2-config.diff @@ -0,0 +1,125 @@ +--- qwtconfig.pri.orig 2016-06-13 17:14:23.031601095 +1000 ++++ qwtconfig.pri 2018-09-14 14:50:18.247000000 +1000 +@@ -16,11 +16,8 @@ + # Install paths + ###################################################################### + +-QWT_INSTALL_PREFIX = $$[QT_INSTALL_PREFIX] +- + unix { +- QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION +- # QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION-qt-$$QT_VERSION ++ QWT_INSTALL_PREFIX = /usr + } + + win32 { +@@ -29,8 +26,10 @@ + } + + QWT_INSTALL_DOCS = $${QWT_INSTALL_PREFIX}/doc +-QWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/include +-QWT_INSTALL_LIBS = $${QWT_INSTALL_PREFIX}/lib ++QWT_INSTALL_HEADERS = $${QWT_INSTALL_PREFIX}/include/qwt ++QWT_INSTALL_LIBS = $${QWT_INSTALL_PREFIX}/lib$${LIBDIRSUFFIX} ++ ++ + + ###################################################################### + # Designer plugin +@@ -42,14 +41,12 @@ + # runtime environment of designer/creator. + ###################################################################### + +-QWT_INSTALL_PLUGINS = $${QWT_INSTALL_PREFIX}/plugins/designer +- + # linux distributors often organize the Qt installation + # their way and QT_INSTALL_PREFIX doesn't offer a good + # path. Also QT_INSTALL_PREFIX is only one of the default + # search paths of the designer - not the Qt creator + +-#QWT_INSTALL_PLUGINS = $$[QT_INSTALL_PREFIX]/plugins/designer ++QWT_INSTALL_PLUGINS = $$[QT_INSTALL_PLUGINS]/designer + + ###################################################################### + # Features +@@ -63,8 +60,7 @@ + # with every Qt upgrade. + ###################################################################### + +-QWT_INSTALL_FEATURES = $${QWT_INSTALL_PREFIX}/features +-# QWT_INSTALL_FEATURES = $$[QT_INSTALL_PREFIX]/features ++QWT_INSTALL_FEATURES = $$[QMAKE_MKSPECS]/features + + ###################################################################### + # Build the static/shared libraries. +@@ -141,7 +137,7 @@ + # Otherwise you have to build them from the examples directory. + ###################################################################### + +-#QWT_CONFIG += QwtExamples ++QWT_CONFIG += QwtExamples + + ###################################################################### + # The playground is primarily intended for the Qwt development +@@ -171,5 +167,5 @@ + + unix { + +- #QWT_CONFIG += QwtPkgConfig ++ QWT_CONFIG += QwtPkgConfig + } +--- src/src.pro.orig 2018-09-14 14:52:33.531000000 +1000 ++++ src/src.pro 2018-09-14 14:53:59.816000000 +1000 +@@ -17,7 +17,12 @@ + QWT_OUT_ROOT = $${OUT_PWD}/.. + + TEMPLATE = lib +-TARGET = $$qwtLibraryTarget(qwt) ++greaterThan(QT_MAJOR_VERSION, 4) { ++ TARGET = $$qwtLibraryTarget(qwt-qt5) ++} ++else { ++ TARGET = $$qwtLibraryTarget(qwt) ++} + + DESTDIR = $${QWT_OUT_ROOT}/lib + +--- designer/designer.pro.orig 2016-06-13 17:14:23.019600853 +1000 ++++ designer/designer.pro 2018-09-14 17:20:37.038000000 +1000 +@@ -83,8 +83,16 @@ + # compile the path for finding the Qwt library + # into the plugin. Not supported on Windows ! + +- QMAKE_RPATHDIR *= $${QWT_INSTALL_LIBS} +- qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt) ++ #QMAKE_RPATHDIR *= $${QWT_INSTALL_LIBS} ++ #qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt) ++ contains(QWT_CONFIG, QwtDll) { ++ greaterThan(QT_MAJOR_VERSION, 4) { ++ qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt-qt5) ++ } ++ else { ++ qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt) ++ } ++ } + + contains(QWT_CONFIG, QwtDll) { + +--- examples/examples.pri.orig 2016-06-13 17:14:23.023600934 +1000 ++++ examples/examples.pri 2018-09-14 17:44:03.727000000 +1000 +@@ -34,8 +34,13 @@ + } + } + +-QMAKE_RPATHDIR *= $${QWT_OUT_ROOT}/lib +-qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt) ++#QMAKE_RPATHDIR *= $${QWT_OUT_ROOT}/lib ++greaterThan(QT_MAJOR_VERSION, 4) { ++ qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt-qt5) ++} ++else { ++ qwtAddLibrary($${QWT_OUT_ROOT}/lib, qwt) ++} + + greaterThan(QT_MAJOR_VERSION, 4) { + diff --git a/libraries/qwt/qwt.SlackBuild b/libraries/qwt/qwt.SlackBuild index 167493e6732c..b949ca5bcc8c 100644 --- a/libraries/qwt/qwt.SlackBuild +++ b/libraries/qwt/qwt.SlackBuild @@ -6,11 +6,11 @@ # Nobbled from Slacky and sanitised for sanity :) # Modified by dunkyp <dunkyp@gmail.com> # Modified by the Slackbuilds.org project -# Maintained 2015-2016 by Christoph Willing <chris.willing@linux.com> +# Maintained 2015-2018 by Christoph Willing <chris.willing@linux.com> PRGNAM=qwt VERSION=${VERSION:-6.1.3} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -40,6 +40,9 @@ else LIBDIRSUFFIX="" fi +# If Qt5 is installed, assume we want to use it +QWT_QT5="no" ; pkg-config --exists Qt5 ; if [ "$?" = "0" ]; then QWT_QT5="yes" ; fi + set -e rm -rf $PKG @@ -48,8 +51,7 @@ cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 cd $PRGNAM-$VERSION -patch -p0 < $CWD/patch-6.1.2-qwtconfig.diff -patch -p0 < $CWD/patch-6.1.2-pkgconfig.diff +patch -p0 < $CWD/patch-6.1.2-config.diff chown -R root:root . find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -57,11 +59,30 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -qmake LIBDIRSUFFIX=$LIBDIRSUFFIX -make \ - CFLAGS+="$SLKCFLAGS" \ - CXXFLAGS+="$SLKCFLAGS" +mkdir -p build-qt4 +cd build-qt4 +qmake .. LIBDIRSUFFIX=$LIBDIRSUFFIX +make CFLAGS+="$SLKCFLAGS" CXXFLAGS+="$SLKCFLAGS" make install INSTALL_ROOT=$PKG +cd .. + +if [ "$QWT_QT5" = "yes" ]; then + echo "Supporting Qt5" + mkdir -p build-qt5 + cd build-qt5 + qmake-qt5 .. LIBDIRSUFFIX=$LIBDIRSUFFIX + make CFLAGS+="$SLKCFLAGS" CXXFLAGS+="$SLKCFLAGS -std=c++11 -fPIC" + make install INSTALL_ROOT=$PKG + cd .. +fi + +# Rationalise the pkgconfig default filenames +( cd $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig + ln -s qwt.pc Qwt6.pc + if [ -f Qt5Qwt6.pc ]; then + ln -s Qt5Qwt6.pc qwt-qt5.pc + fi +) find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true @@ -74,9 +95,17 @@ rm -f $PKG/usr/man/man3/_tmp* ) 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 + mv $PKG/usr/doc/html $PKG/usr/doc/$PRGNAM-$VERSION cp -a CHANGES* COPYING INSTALL README $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild |