From da1be5a21ba06235b67a999f696ec66e35dc17a1 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Fri, 9 Jan 2015 00:06:49 +0100 Subject: Prepare for new KDE 5: Frameworks 5.6.0, Plasma 5.1.2, Applications 14.12.0. KDE 5_1501 ========== This is going to be KDE 5 for Slackware-current, composed of Frameworks 5.6.0, Plasma 5.1.2 and Applications 14.12.0. Note that there is still a lot of KDE 4 stuff in here, which is necessary to support all the Applications that have not yet been ported to KDE Frameworks 5. The Applications 15.04 (march 2015) release should offer a lot more KF5 ports. Preliminary build procedure (not verified 100% yet): ---------------------------------------------------- - (crude) get rid of Slackware's KDE: removepkg /var/log/packages/*-4.10.5-* - build all the deps using "updates.SlackBuild" script in the "deps/" directory - note that extra-cmake-modules is required here as well as when building the frameworks, so I just copied it from frameworks to deps. - logoff/login to activate Qt5 profile script. - removepkg akonadi-qt5 or else kdepimlibs-4.14.3 picks up Qt5 dependencies and its compilation will fail as a result - build all the KDE 4 stuff in the "kde/" directory, using "./KDE.SlackBuild kde libs kdebase:nepomuk-core kdepimlibs kdebase kdebindings kdebase:kde-workspace k depim extragear" - installpkg akonadi-qt5 - build the remaining KDE 5 stuff in the "kde/" directory, using "./KDE.SlackBui ld frameworks plasma plasma-extra polkit-kde applications" - build kdei ============================================================================== Eric Hameleers / alien at slackware dot com / 09-jan-2015 --- deps/soprano/slack-desc | 19 +++ deps/soprano/soprano.SlackBuild | 110 +++++++++++++++++ deps/soprano/soprano_tcpclient_stub.diff | 196 +++++++++++++++++++++++++++++++ 3 files changed, 325 insertions(+) create mode 100644 deps/soprano/slack-desc create mode 100755 deps/soprano/soprano.SlackBuild create mode 100644 deps/soprano/soprano_tcpclient_stub.diff (limited to 'deps/soprano') diff --git a/deps/soprano/slack-desc b/deps/soprano/slack-desc new file mode 100644 index 0000000..44327e0 --- /dev/null +++ b/deps/soprano/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-----------------------------------------------------| +soprano: soprano (C++/Qt4 framework for RDF data) +soprano: +soprano: Soprano (formally known as QRDF) is a library which provides +soprano: a nice Qt interface to RDF storage solutions. It has a modular +soprano: structure which allows to replace the actual RDF storage +soprano: implementation used. +soprano: +soprano: Homepage: http://soprano.sourceforge.net/ +soprano: +soprano: +soprano: diff --git a/deps/soprano/soprano.SlackBuild b/deps/soprano/soprano.SlackBuild new file mode 100755 index 0000000..cf96b7b --- /dev/null +++ b/deps/soprano/soprano.SlackBuild @@ -0,0 +1,110 @@ +#!/bin/sh + +# Copyright 2007-2008 Robby Workman, Northport, Alabama, USA +# Copyright 2008, 2009, 2010, 2011, 2012 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 2012, 2015 by Eric Hameleers for ARM port. + + +PKGNAM=soprano +VERSION=${VERSION:-2.9.4} +BUILD=${BUILD:-2} + +NUMJOBS=${NUMJOBS:--j7} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i486 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + 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 + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-soprano + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf soprano-$VERSION +tar xvf $CWD/soprano-$VERSION.tar.bz2 || exit 1 +cd soprano-${VERSION}* || exit 1 + +# Restore SC/BC with a stub implementation of tcpclient (fixes smokekde): +# (fixed in soprano-2.7.57) +#cat $CWD/soprano_tcpclient_stub.diff | patch -p1 --verbose || 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 {} \; + +mkdir -p build +cd build + QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \ + PATH=$QTDIR/bin:$PATH \ + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + .. + make $NUMJOBS || make || exit 1 + make install DESTDIR=$PKG || exit 1 +cd .. + +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/soprano-$VERSION +cp -a \ + AUTHORS COPYING* ChangeLog INSTALL README TODO \ + $PKG/usr/doc/soprano-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/soprano-$VERSION-$ARCH-$BUILD.txz + diff --git a/deps/soprano/soprano_tcpclient_stub.diff b/deps/soprano/soprano_tcpclient_stub.diff new file mode 100644 index 0000000..2b04f66 --- /dev/null +++ b/deps/soprano/soprano_tcpclient_stub.diff @@ -0,0 +1,196 @@ +commit ed17a950a9c6f83590fa62cb97e7278ba7f3e234 +Author: Aaron Seigo +Date: Wed May 30 10:18:52 2012 +0200 + + restore SC / BC with a stub impl of tcpclient + +diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt +index 2689568..4e73e3c 100644 +--- a/client/CMakeLists.txt ++++ b/client/CMakeLists.txt +@@ -14,6 +14,8 @@ include_directories( + ) + + set(soprano_client_SRC ++ ${soprano_server_SOURCE_DIR}/datastream.cpp ++ tcpclient.cpp + socket.cpp + socketstream.cpp + localsocketclient.cpp +@@ -94,6 +96,7 @@ INSTALL(TARGETS sopranoclient + + install( + FILES ++ tcpclient.h + localsocketclient.h + DESTINATION include/soprano + ) +diff --git a/client/tcpclient.cpp b/client/tcpclient.cpp +index 796ca59..01dce0e 100644 +--- a/client/tcpclient.cpp ++++ b/client/tcpclient.cpp +@@ -33,151 +33,58 @@ Q_DECLARE_METATYPE( QAbstractSocket::SocketError ) + const quint16 Soprano::Client::TcpClient::DEFAULT_PORT = 5000; + + +-namespace Soprano { +- namespace Client { +- class TcpClientConnection : public ClientConnection +- { +- public: +- TcpClientConnection( const QHostAddress& address, int port, QObject* parent ); +- ~TcpClientConnection(); +- +- protected: +- QIODevice* newConnection(); +- bool isConnected( QIODevice* ); +- +- private: +- QHostAddress m_address; +- int m_port; +- }; +- +- TcpClientConnection::TcpClientConnection( const QHostAddress& address, int port, QObject* parent ) +- : ClientConnection( parent ), +- m_address( address ), +- m_port( port ) +- { +- } +- +- TcpClientConnection::~TcpClientConnection() +- { +- } +- +- QIODevice* TcpClientConnection::newConnection() +- { +- clearError(); +- +- QTcpSocket* socket = new QTcpSocket; +- socket->connectToHost( m_address, m_port ); +- if ( socket->waitForConnected() ) { +- QObject::connect( socket, SIGNAL(error(QAbstractSocket::SocketError)), +- parent(), SLOT(slotError(QAbstractSocket::SocketError)) ); +- return socket; +- } +- else { +- setError( socket->errorString() ); +- delete socket; +- return 0; +- } +- } +- +- bool TcpClientConnection::isConnected( QIODevice* device ) { +- return device ? ( static_cast( device )->state() == QAbstractSocket::ConnectedState ) : false; +- } +- } +-} +- +- +-class Soprano::Client::TcpClient::Private +-{ +-public: +- Private() +- : connection( 0 ) { +- } +- +- TcpClientConnection* connection; +-}; +- +- + Soprano::Client::TcpClient::TcpClient( QObject* parent ) + : QObject( parent ), +- d( new Private() ) ++ d( 0 ) + { +- qRegisterMetaType(); ++ qWarning() << "This class is deprecated, and the implementation is only a stub now. DO NOT USE IT IN YOUR APPLICATION."; + } + + + Soprano::Client::TcpClient::~TcpClient() + { +- disconnect(); +- delete d; ++ //delete d; + } + + + bool Soprano::Client::TcpClient::connect( const QHostAddress& address, int port ) + { +- if ( !isConnected() ) { +- if ( !d->connection ) +- d->connection = new TcpClientConnection( address, port, this ); +- if ( d->connection->connect() && +- d->connection->checkProtocolVersion() ) { +- return true; +- } +- else { +- disconnect(); +- return false; +- } +- } +- else { +- setError( "Already connected" ); +- return false; +- } ++ Q_UNUSED(address) ++ Q_UNUSED(port) ++ return false; + } + + + bool Soprano::Client::TcpClient::isConnected() + { +- return d->connection ? d->connection->isConnected() : false; ++ return false; + } + + + void Soprano::Client::TcpClient::disconnect() + { +- delete d->connection; +- d->connection = 0; + } + + + Soprano::Model* Soprano::Client::TcpClient::createModel( const QString& name, const QList& settings ) + { +- if ( d->connection ) { +- int modelId = d->connection->createModel( name, settings ); +- setError( d->connection->lastError() ); +- if ( modelId > 0 ) { +- StorageModel* model = new ClientModel( 0, modelId, d->connection ); +- return model; +- } +- } +- else { +- setError( "Not connected" ); +- } +- ++ Q_UNUSED(name) ++ Q_UNUSED(settings) ++ setError( "Not connected" ); + return 0; + } + + + void Soprano::Client::TcpClient::removeModel( const QString& name ) + { +- if ( d->connection ) { +- d->connection->removeModel( name ); +- setError( d->connection->lastError() ); +- } +- else { +- setError( "Not connected" ); +- } ++ Q_UNUSED(name) ++ setError( "Not connected" ); + } + + + void Soprano::Client::TcpClient::slotError( QAbstractSocket::SocketError error ) + { ++ Q_UNUSED(error) + qDebug() << "Error: " << error; + } + -- cgit v1.2.3