From 9c9ca6beadc976dadb4f8407dc6397d49a446f6c Mon Sep 17 00:00:00 2001 From: Branko Grubic Date: Fri, 2 Jul 2010 10:04:04 -0500 Subject: [PATCH] system/qstardict: Added (stardict clone in qt) Signed-off-by: Robby Workman --- system/qstardict/README | 4 ++ system/qstardict/gcc4.4.patch | 12 ++++ system/qstardict/qstardict.SlackBuild | 92 +++++++++++++++++++++++++++ system/qstardict/qstardict.info | 10 +++ system/qstardict/slack-desc | 19 ++++++ 5 files changed, 137 insertions(+) create mode 100644 system/qstardict/README create mode 100644 system/qstardict/gcc4.4.patch create mode 100644 system/qstardict/qstardict.SlackBuild create mode 100644 system/qstardict/qstardict.info create mode 100644 system/qstardict/slack-desc diff --git a/system/qstardict/README b/system/qstardict/README new file mode 100644 index 0000000000..2d25325638 --- /dev/null +++ b/system/qstardict/README @@ -0,0 +1,4 @@ +QStarDict is a StarDict clone written using Qt4. + +The user interface is similar to StarDict. It features full support +of StarDict dictionaries, system tray functionality, and many others. diff --git a/system/qstardict/gcc4.4.patch b/system/qstardict/gcc4.4.patch new file mode 100644 index 0000000000..db4b3157a7 --- /dev/null +++ b/system/qstardict/gcc4.4.patch @@ -0,0 +1,12 @@ +--- trunk/plugins/stardict/dictziplib.cpp 2009/07/10 15:01:40 446 ++++ trunk/plugins/stardict/dictziplib.cpp 2009/08/06 07:32:12 447 +@@ -305,7 +305,7 @@ + + #ifdef Q_OS_UNIX + if (stat(fname.c_str(), &sb) || !S_ISREG(sb.st_mode)) +-#elif def Q_OS_WIN32 ++#elif defined(Q_OS_WIN32) + if (_stat(fname.c_str(), &sb) || !(sb.stMode & _S_IFREG)) + #endif + { + diff --git a/system/qstardict/qstardict.SlackBuild b/system/qstardict/qstardict.SlackBuild new file mode 100644 index 0000000000..afbf663c4a --- /dev/null +++ b/system/qstardict/qstardict.SlackBuild @@ -0,0 +1,92 @@ +#!/bin/sh + +# Slackware build script for qstardict + +# Written by grissiom chaos.proton@gmail.com +# Modified by Branko Grubic + +PRGNAM=qstardict +VERSION=${VERSION:-0.13.1} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i486 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +BUILD_PLASMOID=${BUILD_PLASMOID:-"yes"} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 +cd $PRGNAM-$VERSION +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 {} \; + +# qstardict only have "stardict" and "web" plugins enabled by default. +# Actually there are swac and multitran plugins in addition. +# Uncomment the following line to get full plugins. +# enabled_plugins="stardict web swac multitran" + +patch -p1 <$CWD/gcc4.4.patch + +qmake QMAKE_CXXFLAGS="$SLKCFLAGS" \ + PLUGINS_DIR=/usr/lib${LIBDIRSUFFIX}/qstardict/plugins \ + DOCS_DIR=/usr/doc/$PRGNAM-$VERSION \ + ENABLED_PLUGINS=$enabled_plugins + +make +make install INSTALL_ROOT=$PKG + +if [ "$BUILD_PLASMOID" = "yes" ]; then + mkdir kdeplasma/build + cd kdeplasma/build + # Fix the plugin path or LIB_INSTALL_DIR will have no effect... + ( cd ../dataengine ; sed -i -e '4d' -e 's.//..' config.h.cmake ) + cmake -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DLIB_INSTALL_DIR=/usr/lib${LIBDIRSUFFIX} \ + -DCMAKE_INSTALL_PREFIX=/usr .. + make + make install DESTDIR=$PKG + cd - +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 + +cp -a README $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/qstardict/qstardict.info b/system/qstardict/qstardict.info new file mode 100644 index 0000000000..b279345e6f --- /dev/null +++ b/system/qstardict/qstardict.info @@ -0,0 +1,10 @@ +PRGNAM="qstardict" +VERSION="0.13.1" +HOMEPAGE="http://qstardict.ylsoftware.com/index.php" +DOWNLOAD="http://qstardict.ylsoftware.com/files/qstardict-0.13.1.tar.bz2" +MD5SUM="0828c3fa01c5237db8a67d356a9d1a8c" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="Branko Grubic" +EMAIL="branko.grubic@gmail.com" +APPROVED="rworkman" diff --git a/system/qstardict/slack-desc b/system/qstardict/slack-desc new file mode 100644 index 0000000000..c4bfb9da12 --- /dev/null +++ b/system/qstardict/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------------------------------------------------------| +qstardict: QStarDict (StarDict clone written using Qt4) +qstardict: +qstardict: The user interface is similar to StarDict. +qstardict: Main features: +qstardict: * Full support of StarDict dictionaries +qstardict: * Working in system tray +qstardict: * Scanning mouse selection and showing +qstardict: popup window with translation of selected word +qstardict: * Translations reformatting +qstardict: * Pronouncing translated word +qstardict: * Support for plugins