summaryrefslogtreecommitdiffstats
path: root/main/qt/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/qt/APKBUILD')
-rw-r--r--main/qt/APKBUILD233
1 files changed, 233 insertions, 0 deletions
diff --git a/main/qt/APKBUILD b/main/qt/APKBUILD
new file mode 100644
index 000000000..6b6899aef
--- /dev/null
+++ b/main/qt/APKBUILD
@@ -0,0 +1,233 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=qt
+pkgver=4.7.2
+pkgrel=1
+pkgdesc="A cross-platform application and UI framework"
+url="http://qt.nokia.com/"
+arch="all"
+license="GPL3 LGPL"
+depends="ca-certificates"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-assistant $pkgname-config
+ $pkgname-sqlite $pkgname-odbc $pkgname-postgresql $pkgname-mysql
+ $pkgname-webkit $pkgname-x11"
+makedepends="mesa-dev postgresql-dev mysql-dev unixodbc-dev cups-dev gtk+-dev
+ tiff-dev libpng-dev libmng-dev sqlite-dev glib-dev dbus-dev libiconv-dev
+ fontconfig-dev libsm-dev libxrandr-dev libxv-dev libxi-dev alsa-lib-dev
+ perl"
+install=
+source="ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-$pkgver.tar.gz
+ assistant.desktop
+ designer.desktop
+ linguist.desktop
+ qtconfig.desktop
+ "
+
+_builddir="$srcdir"/qt-everywhere-opensource-src-$pkgver
+prepare() {
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch)
+ msg "Applying $i"
+ patch -p1 -i "$srcdir"/$i || return 1
+ ;;
+ esac
+ done
+ sed -i "s|-O2|$CXXFLAGS|" mkspecs/common/g++.conf
+ sed -i "/^QMAKE_RPATH/s| -Wl,-rpath,||g" mkspecs/common/g++.conf
+ sed -i "/^QMAKE_LFLAGS\s/s|+=|+= $LDFLAGS|g" mkspecs/common/g++.conf
+}
+
+build() {
+ cd "$_builddir"
+ unset QMAKESPEC
+ export QT4DIR="$_builddir"
+ export PATH="${QT4DIR}/bin:${PATH}"
+ export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
+ ./configure -confirm-license -opensource \
+ -prefix /usr \
+ -docdir /usr/share/doc/qt \
+ -plugindir /usr/lib/qt/plugins \
+ -importdir /usr/lib/qt/imports \
+ -datadir /usr/share/qt \
+ -translationdir /usr/share/qt/translations \
+ -sysconfdir /etc \
+ -examplesdir /usr/share/doc/qt/examples \
+ -demosdir /usr/share/doc/qt/demos \
+ -largefile \
+ -plugin-sql-psql \
+ -plugin-sql-mysql \
+ -plugin-sql-sqlite \
+ -plugin-sql-odbc \
+ -system-sqlite \
+ -xmlpatterns \
+ -no-phonon \
+ -no-phonon-backend \
+ -svg \
+ -webkit \
+ -script \
+ -scripttools \
+ -system-zlib \
+ -system-libtiff \
+ -system-libpng \
+ -system-libmng \
+ -system-libjpeg \
+ -nomake demos \
+ -nomake examples \
+ -nomake docs \
+ -no-rpath \
+ -openssl-linked \
+ -silent \
+ -optimized-qmake \
+ -dbus \
+ -reduce-relocations \
+ -no-separate-debug-info \
+ -gtkstyle \
+ -opengl \
+ -no-openvg \
+ -glib \
+ || return 1
+ make
+}
+
+package() {
+ cd "$_builddir"
+ make INSTALL_ROOT="$pkgdir" install
+
+ # install missing icons and desktop files
+ for icon in tools/linguist/linguist/images/icons/linguist-*-32.png ; do
+ size=$(echo $(basename ${icon}) | cut -d- -f2)
+ install -p -D -m644 ${icon} "${pkgdir}"/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png
+ done
+ install -p -Dm644 src/gui/dialogs/images/qtlogo-64.png \
+ "${pkgdir}"/usr/share/icons/hicolor/64x64/apps/qtlogo.png
+ install -p -Dm644 tools/assistant/tools/assistant/images/assistant.png \
+ "${pkgdir}"/usr/share/icons/hicolor/32x32/apps/assistant.png
+ install -p -Dm644 tools/designer/src/designer/images/designer.png \
+ "${pkgdir}"/usr/share/icons/hicolor/128x128/apps/designer.png
+ install -d ${pkgdir}/usr/share/applications
+ for i in linguist designer assistant qtconfig; do
+ install -m644 "${srcdir}"/$i.desktop \
+ "${pkgdir}"/usr/share/applications/ || return 1
+ done
+
+ # install license addition
+ install -D -m644 LGPL_EXCEPTION.txt \
+ "${pkgdir}"/usr/share/licenses/qt/LGPL_EXCEPTION.txt
+
+ # Fix wrong path in pkgconfig files
+ find "${pkgdir}"/usr/lib/pkgconfig -type f -name '*.pc' \
+ -exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \; \
+ || return 1
+ # Fix wrong path in prl files
+ find "${pkgdir}"/usr/lib -type f -name '*.prl' -exec sed -i \
+ -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;\
+ || return 1
+}
+
+_mv_files() {
+ local i
+ for i in "$@"; do
+ mkdir -p "$subpkgdir"/${i%/*}
+ mv "$pkgdir"/$i "$subpkgdir"/$i || return 1
+ done
+}
+
+dev() {
+ mkdir -p "$subpkgdir"/usr/share/qt \
+ "$subpkgdir"/usr/bin \
+ "$subpkgdir"/usr/lib \
+
+ mv "$pkgdir"/usr/share/qt/mkspecs \
+ "$pkgdir"/usr/share/qt/q3porting.xml \
+ "$subpkgdir"/usr/share/qt/ \
+ || return 1
+ default_dev
+
+ mv "$pkgdir"/usr/lib/*.prl "$subpkgdir"/usr/lib/ || return 1
+
+ cd "$pkgdir"/usr/bin
+ mv designer lconvert linguist lrelease lupdate moc pixeltool \
+ qcollectiongenerator qdbuscpp2xml qdbusxml2cpp qdoc3 \
+ qhelpconverter qhelpgenerator qmake qt3to4 qttracereplay \
+ rcc uic uic3 xmlpatterns xmlpatternsvalidator \
+ "$subpkgdir"/usr/bin/ || return 1
+
+ cd "$pkgdir"
+ _mv_files $(find * -name 'designer*') \
+ $(find * -name 'linguist*')
+}
+
+assistant() {
+ pkgdesc="Documentation browser for Qt"
+ cd "$pkgdir"
+ _mv_files $(find * -name 'assistant*') || return 1
+}
+
+config() {
+ pkgdesc="Graphical configuration tool for programs using Qt"
+ cd "$pkgdir"
+ _mv_files $(find * -name 'qt*config*') || return 1
+}
+
+sqlite() {
+ pkgdesc="SQLite driver for Qt's SQL classes"
+ cd "$pkgdir"
+ _mv_files usr/lib/qt/plugins/sqldrivers/libqsqlite*
+}
+
+odbc() {
+ pkgdesc="ODBC driver for Qt's SQL classes"
+ cd "$pkgdir"
+ _mv_files usr/lib/qt/plugins/sqldrivers/libqsqlodbc*
+}
+
+postgresql() {
+ pkgdesc="PostgreSQL driver for Qt's SQL classes"
+ cd "$pkgdir"
+ _mv_files usr/lib/qt/plugins/sqldrivers/libqsqlpsql*
+}
+
+mysql() {
+ pkgdesc="MySQL driver for Qt's SQL classes"
+ cd "$pkgdir"
+ _mv_files usr/lib/qt/plugins/sqldrivers/libqsqlmysql*
+}
+
+
+webkit() {
+ mkdir -p "$subpkgdir"/usr/lib/qt/imports
+ mv "$pkgdir"/usr/lib/libQtWebKit.so.* \
+ "$subpkgdir"/usr/lib/ || return 1
+ mv "$pkgdir"/usr/lib/qt/imports/QtWebKit \
+ "$subpkgdir"/usr/lib/qt/imports/ || return 1
+}
+
+x11() {
+ pkgdesc="Qt GUI-related libraries"
+ depends="hicolor-icon-theme"
+ cd "$pkgdir"
+ _mv_files \
+ usr/bin/qdbusviewer \
+ usr/bin/qmlviewer \
+ usr/lib/libQt3Support.so.* \
+ usr/lib/libQtCLucene.so.* \
+ usr/lib/libQtDesigner.so.* \
+ usr/lib/libQtDeclarative.so.* \
+ usr/lib/libQtDesignerComponents.so.* \
+ usr/lib/libQtGui.so.* \
+ usr/lib/libQtHelp.so.* \
+ usr/lib/libQtMultimedia.so.* \
+ usr/lib/libQtOpenGL.so.* \
+ usr/lib/libQtScriptTools.so.* \
+ usr/lib/libQtSvg.so.* \
+ usr/share/icons \
+ usr/lib/qt/imports \
+ usr/lib/qt/plugins
+}
+
+md5sums="66b992f5c21145df08c99d21847f4fdb qt-everywhere-opensource-src-4.7.2.tar.gz
+a445c6917086d80f1cfc1e40cb6b0132 assistant.desktop
+d457f0a0ad68a3861c3cadefe3b42ded designer.desktop
+668331d9798a0e2b94381efb7be4c513 linguist.desktop
+c29f2993d6a0f73d756d2fa36e130e1c qtconfig.desktop"