From 4dc1bb588524cecf89705755c52dc3c788121ab2 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Sun, 15 Apr 2018 23:24:38 +0200 Subject: New dependency QScintilla This is an expanded version of the Slackware original package which it replaces. Support for Qt5 has been added. --- deps/QScintilla/.url | 1 + deps/QScintilla/QScintilla.SlackBuild | 203 ++++++++++++++++++++++++++++++++++ deps/QScintilla/slack-desc | 19 ++++ 3 files changed, 223 insertions(+) create mode 100644 deps/QScintilla/.url create mode 100755 deps/QScintilla/QScintilla.SlackBuild create mode 100644 deps/QScintilla/slack-desc diff --git a/deps/QScintilla/.url b/deps/QScintilla/.url new file mode 100644 index 0000000..7cf6290 --- /dev/null +++ b/deps/QScintilla/.url @@ -0,0 +1 @@ +http://downloads.sourceforge.net/pyqt/QScintilla_gpl-2.10.4.tar.gz diff --git a/deps/QScintilla/QScintilla.SlackBuild b/deps/QScintilla/QScintilla.SlackBuild new file mode 100755 index 0000000..cff3954 --- /dev/null +++ b/deps/QScintilla/QScintilla.SlackBuild @@ -0,0 +1,203 @@ +#!/bin/sh + +# Slackware build script for QScintilla + +# Copyright 2008 Robby Workman Northport, AL, USA +# Copyright 2008, 2009, 2010, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# 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. + +# Modified 2018 by Eric Hameleers (add Qt5 support) + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=QScintilla +VERSION=${VERSION:-2.10.4} +BUILD=${BUILD:-1} + +NUMJOBS=${NUMJOBS:--j7} + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +# 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 "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf ${PKGNAM}_gpl-$VERSION +tar xvf $CWD/${PKGNAM}_gpl-$VERSION.tar.?z || exit 1 +cd ${PKGNAM}_gpl-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Define QMAKEFEATURES to that we can re-use already built libs +# without spamming the harddisk: +export QMAKEFEATURES=${PWD}/Qt4Qt5/features/ + +# Conditional build of Qt5 support: +if qtpaths-qt5 --qt-version 1>/dev/null 2>/dev/null ; then + # QT5 support first: + cd Qt4Qt5 + qmake-qt5 \ + -o Makefile \ + QMAKE_CFLAGS+="$SLKCFLAGS" \ + QMAKE_CXXFLAGS+="$SLKCFLAGS -std=c++11" \ + qscintilla.pro || exit 1 + make $NUMJOBS || exit 1 + make install INSTALL_ROOT=$PKG || exit 1 + cd - + + cd designer-Qt4Qt5 + qmake-qt5 \ + -o Makefile \ + INCLUDEPATH+=../Qt4Qt5 QMAKE_LIBDIR+=../Qt4Qt5 \ + QMAKE_CFLAGS+="$SLKCFLAGS" \ + QMAKE_CXXFLAGS+="$SLKCFLAGS -std=c++11" \ + designer.pro || exit 1 + make $NUMJOBS || exit 1 + make install INSTALL_ROOT=$PKG || exit 1 + cd - + + cd Python + python3 configure.py \ + --qmake /usr/bin/qmake-qt5 \ + --pyqt=PyQt5 \ + -n ../Qt4Qt5/ -o ../Qt4Qt5/ -c \ + || exit 1 + make $NUMJOBS || exit 1 + make install INSTALL_ROOT=$PKG || exit 1 + + make clean || exit 1 + + python configure.py \ + --qmake /usr/bin/qmake-qt5 \ + --pyqt=PyQt5 \ + -n ../Qt4Qt5/ -o ../Qt4Qt5/ -c \ + || exit 1 + make $NUMJOBS || exit 1 + make install INSTALL_ROOT=$PKG || exit 1 + cd - + + # In order to compile Qt4 support next, clean up first: + make clean -C Qt4Qt5 || exit 1 + make clean -C designer-Qt4Qt5 || exit 1 + make clean -C Python || exit 1 +fi + +# QT4 support: +cd Qt4Qt5 + qmake \ + -o Makefile \ + QMAKE_CFLAGS+="$SLKCFLAGS" \ + QMAKE_CXXFLAGS+="$SLKCFLAGS -std=c++11" \ + qscintilla.pro || exit 1 + make $NUMJOBS || exit 1 + make install INSTALL_ROOT=$PKG || exit 1 +cd - + +cd designer-Qt4Qt5 + qmake \ + -o Makefile \ + INCLUDEPATH+=../Qt4Qt5 QMAKE_LIBDIR+=../Qt4Qt5 \ + QMAKE_CFLAGS+="$SLKCFLAGS" \ + QMAKE_CXXFLAGS+="$SLKCFLAGS -std=c++11" \ + designer.pro || exit 1 + make $NUMJOBS || exit 1 + make install INSTALL_ROOT=$PKG || exit 1 +cd - + +cd Python + python3 configure.py \ + --qmake /usr/bin/qmake \ + -n ../Qt4Qt5/ -o ../Qt4Qt5/ -c \ + || exit 1 + make $NUMJOBS || exit 1 + make install INSTALL_ROOT=$PKG || exit 1 + + make clean || exit 1 + + python configure.py \ + --qmake /usr/bin/qmake \ + -n ../Qt4Qt5/ -o ../Qt4Qt5/ -c \ + || exit 1 + make $NUMJOBS || exit 1 + make install INSTALL_ROOT=$PKG || exit 1 +cd - + +# Link the shared libraries into /usr/lib${LIBDIRSUFFIX}: +( cd $PKG/usr/lib${LIBDIRSUFFIX} + for file in qt/lib/*.so* ; do + ln -sf $file . + done +) + +find $PKG | xargs file | grep -e "executable" -e "shared object" \ + | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + LICENSE NEWS README* \ + doc/html-Qt4Qt5 doc/Scintilla \ + $PKG/usr/doc/$PKGNAM-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/deps/QScintilla/slack-desc b/deps/QScintilla/slack-desc new file mode 100644 index 0000000..cb3fdd3 --- /dev/null +++ b/deps/QScintilla/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler--------------------------------------------------| +QScintilla: QScintilla (Qt port of the Scintilla C++ editor control) +QScintilla: +QScintilla: QScintilla includes features especially useful when editing and +QScintilla: debugging source code. These include support for syntax styling, +QScintilla: error indicators, code completion, and call tips. The selection +QScintilla: margin can contain markers like those used in debuggers to +QScintilla: indicate breakpoints and the current line. Styling choices are +QScintilla: more open than with many editors, allowing the use of +QScintilla: proportional fonts, bold and italics, multiple foreground and +QScintilla: background colours, and multiple fonts. +QScintilla: -- cgit v1.2.3