diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2011-03-09 11:48:47 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2011-03-09 11:49:45 +0000 |
commit | c29e6f0766ff2bed9e21decfe1ead23817041aa2 (patch) | |
tree | 7d17ea28a71262434d1c78ed528819a11a4f8583 /testing/qt | |
parent | 7659c735a60af25d414e77ba0fb0e7d6a614254c (diff) | |
download | aports-c29e6f0766ff2bed9e21decfe1ead23817041aa2.tar.bz2 aports-c29e6f0766ff2bed9e21decfe1ead23817041aa2.tar.xz |
testing/qt: split the big monster up into smaller monsters
Diffstat (limited to 'testing/qt')
-rw-r--r-- | testing/qt/APKBUILD | 143 |
1 files changed, 128 insertions, 15 deletions
diff --git a/testing/qt/APKBUILD b/testing/qt/APKBUILD index 74e5ee2e4..6b6899aef 100644 --- a/testing/qt/APKBUILD +++ b/testing/qt/APKBUILD @@ -1,16 +1,19 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=qt pkgver=4.7.2 -pkgrel=0 +pkgrel=1 pkgdesc="A cross-platform application and UI framework" url="http://qt.nokia.com/" arch="all" license="GPL3 LGPL" -depends="hicolor-icon-theme ca-certificates" -subpackages="$pkgname-dev $pkgname-doc" +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" + 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 @@ -89,28 +92,138 @@ build() { package() { cd "$_builddir" - make INSTALL_ROOT=$pkgdir install + 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 + install -p -D -m644 ${icon} "${pkgdir}"/usr/share/icons/hicolor/${size}x${size}/apps/linguist.png done - install -p -D -m644 src/gui/dialogs/images/qtlogo-64.png ${pkgdir}/usr/share/icons/hicolor/64x64/apps/qtlogo.png - install -p -D -m644 tools/assistant/tools/assistant/images/assistant.png ${pkgdir}/usr/share/icons/hicolor/32x32/apps/assistant.png - install -p -D -m644 tools/designer/src/designer/images/designer.png ${pkgdir}/usr/share/icons/hicolor/128x128/apps/designer.png + 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 - install -m644 ${srcdir}/{linguist,designer,assistant,qtconfig}.desktop ${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 + 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" {} \; + 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/' {} \; + 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 |