diff --git a/arch/3.5.13/trinity-base/trinity-qt3/PKGBUILD b/arch/3.5.13/trinity-base/trinity-qt3/PKGBUILD index c5e79d43b..291fedd33 100644 --- a/arch/3.5.13/trinity-base/trinity-qt3/PKGBUILD +++ b/arch/3.5.13/trinity-base/trinity-qt3/PKGBUILD @@ -9,11 +9,19 @@ arch=('i686' 'x86_64') url="http://trinitydesktop.org" license=('GPL') groups=('trinity-base') -depends=('libpng' 'libjpeg' 'libxmu' 'libxcursor' 'libxinerama' 'mesa' - 'libxft' 'libxrandr') -makedepends=('mysql' 'postgresql' 'sqlite3' 'unixodbc' 'libmng' 'libxi') - # cups [add for cups support, add -cups to ./configure opts] -optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc') +depends=('libpng' 'libjpeg' 'libxmu' 'libmng' + 'libxcursor' 'libxinerama' 'mesa' 'libxft' 'libxrandr') +makedepends=('libxi' + 'libmysqlclient' 'postgresql-libs' 'unixodbc' 'libcups') + #'mysql' 'postgresql' 'sqlite3' 'unixodbc' 'libxi' 'cups') + # cups - add for cups support + # cups is enabled by default in ./configure + # remove -no-cups if you want cups support in qt3 +optdepends=('cups: The CUPS Printing System - for printing support' + 'postgresql: A sophisticated object-relational DBMS - databse support' + 'unixodbc: ODBC API for linux - databse support' + 'mysql: A fast SQL database server - databse support' + #'libmysqlclient' 'postgresql-libs' 'unixodbc' 'cups') provides=('qt3' 'qt3-enhanced') replaces=('qt3-enhanced' 'qt3') options=('libtool' '!emptydirs') @@ -21,21 +29,40 @@ install='qt3.install' source=('http://mirror.ets.kth.se/trinity/releases/3.5.13/dependencies/qt3-3.3.8.d.tar.gz' 'qt-patches.tar.bz2') md5sums=('78dc675e84aed595375449818cbb589a' - 'de4d95f8d236ecc85bad4876efd8fdf0') + '4091a624930738779f76764f4cb6ac5f') _prefix="/opt/qt3" build() { - msg "Patching source code..." - cd $srcdir/qt3 - # apply other qt patches from debian/gentoo and kde + msg "Patching source code..." + # apply qt patches from debian/gentoo and kde for patch in $srcdir/qt-patches/*.patch; do _p=`basename $patch` msg "Applying patch $_p.." patch -Np0 -i $patch done + unset _p patch + + # Originally this was done in a patch but probably it's a bad idea + # Besides we need the rpath, since we don't install qt in the default + # system dirs. If we would install into default /usr hierarchy + # we would uncomment this. See Beyond Linux From Scratch book + # for more info. + # sed -i '/QMAKE_RPATH/d' mkspecs/linux*/qmake.conf + + # These are probably arch-specific. They were present in old qt3 + # PKGBULD, they were present in kdemod3 PKGBUILD, they are present + # here. + sed -i 's|-cp -P -f|-cp -L -f|' qmake/Makefile.unix + sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++/qmake.conf + sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++-32/qmake.conf + sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++-64/qmake.conf + sed -i "s|-I. |$CXXFLAGS -I. |" qmake/Makefile.unix + + # auto license acceptance + sed -i "s|read acceptance|acceptance=yes|" configure msg "Setting enviroment variables..." export QTDIR="${srcdir}/qt3/" @@ -44,50 +71,42 @@ build() { export QMAKESPEC=$QTDIR/mkspecs/linux-g++ if [ "$CARCH" = "x86_64" ]; then - export ARCH="-64" + export ARCH="-64" else unset ARCH fi - - cd "${srcdir}/qt3" - + + # Remove useless to us mkspecs rm -rf mkspecs/{*aix*,*bsd*,cygwin*,dgux*,darwin*,hpux*,hurd*,irix*,lynxos*,macx*,qnx*,reliant*,sco*,solaris*,tru64*,unixware*,win32*} - sed -i 's|-cp -P -f|-cp -L -f|' qmake/Makefile.unix - rm -rf doc/html examples tutorial - sed -i "s|sub-tutorial sub-examples||" Makefile - sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++/qmake.conf - sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++-32/qmake.conf - sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++-64/qmake.conf - sed -i "s|-I. |$CXXFLAGS -I. |" qmake/Makefile.unix - - # auto license acceptance - sed -i "s|read acceptance|acceptance=yes|" configure - msg "Starting configure..." - #make -C qmake || return 1 ./configure \ -prefix ${_prefix} \ - -platform linux-g++${ARCH} \ -sysconfdir /etc/qt \ - -release \ - -sm \ - -nis \ - -stl \ - -no-g++-exceptions \ + -I/usr/include/mysql \ + -I/usr/include/postgresql/server \ + -lpq \ + -lmysqlclient \ + -L/usr/lib/mysql \ + -qt-gif \ + -system-zlib \ + -system-libpng \ + -system-libjpeg \ + -system-libmng \ + -plugin-imgfmt-png \ + -plugin-imgfmt-jpeg \ + -plugin-imgfmt-mng \ + -plugin-sql-mysql \ + -plugin-sql-psql \ + -plugin-sql-sqlite \ + -plugin-sql-odbc \ + -platform linux-g++${ARCH} \ + -no-exceptions \ -thread \ - -shared \ -dlopen-opengl \ - -no-ipv6 \ - -system-zlib \ - -{system-lib,plugin-imgfmt-}{png,jpeg,mng} \ - -qt-gif \ - -xinerama \ - -xcursor \ - -xrender \ - -xft \ - -plugin-sql-{mysql,psql,sqlite,odbc} + -no-ipv6 # 64bit fixes pulled from extras/qt3 PKGBUILD + # this is Arch-specific # fix /opt/qt/lib path [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt3/src/Makefile [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt3/tools/designer/designer/Makefile @@ -98,20 +117,19 @@ build() { msg "Building - $pkgname..." # build sql plugins - cd "${srcdir}"/qt3 - make -C qmake - cd "${srcdir}"/qt3/plugins/src/sqldrivers/mysql - "${srcdir}"/qt3/bin/qmake -o Makefile "INCPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro - cd "${srcdir}"/qt3/plugins/src/sqldrivers/psql - "${srcdir}"/qt3/bin/qmake -o Makefile "INCPATH+=/usr/src/include /usr/include/postgresql/server" "LIBS+=-L/usr/lib -lpq" psql.pro + # do we need this, I don't think so. + #cd "${srcdir}"/qt3 + #make -C qmake + #cd "${srcdir}"/qt3/plugins/src/sqldrivers/mysql + #"${srcdir}"/qt3/bin/qmake -o Makefile "INCPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro + #cd "${srcdir}"/qt3/plugins/src/sqldrivers/psql + #"${srcdir}"/qt3/bin/qmake -o Makefile "INCPATH+=/usr/src/include /usr/include/postgresql/server" "LIBS+=-L/usr/lib -lpq" psql.pro cd "${srcdir}"/qt3 - # fix the broken makefiles - # sed -i 's|[[:space:]]*strip.*doc/html.*$|#|g' src/Makefile - - # build rest - make + # build rest, but without tutorials and examples + # of you want them, remove sub-tools + make sub-tools } @@ -121,24 +139,24 @@ package() { make INSTALL_ROOT="$pkgdir" install - msg "Cleaning package..." - - rm -rf "${pkgdir}"$_prefix/{phrasebooks,templates,translations} - sed -i "s|-L${srcdir}/qt3/lib ||g" "${pkgdir}"$_prefix/lib/*.prl - rm -f "${pkgdir}"${_prefix}/mkspecs/linux-g++$ARCH/linux-g++$ARCH - - # Fix issues with GCC4 - sed -i 's/\(char\*\)/const char*/g' $pkgdir$_prefix/include/*.h - # Fix the mess we did fixing issues with GCC4 - sed -i 's/const u char/const uchar/g' $pkgdir$_prefix/include/*.h - sed -i 's/u const char/const uchar/g' $pkgdir$_prefix/include/*.h - sed -i 's/const const/const/g' $pkgdir$_prefix/include/*.h - sed -i 's/uconst/ unsigned /g' $pkgdir$_prefix/include/*.h - - sed -ie 's/define QTIMER_H/&\n#include "qglobal.h"/g' $pkgdir$_prefix/include/qtimer.h - + # install qmake install -D -m755 qmake/qmake "${pkgdir}"$_prefix/bin/qmake + # install doc pages which are missed by make install + install -d -m755 "${pkgdir}"$_prefix/doc/ + cp -r "${srcdir}"/qt3/doc "${pkgdir}"$_prefix/doc + + # install link the apps provided by qt3 so we don't collide with + # qt4 and can run them. + ln -sf $_prefix/bin/assistant "${pkgdir}"$_prefix/bin/qt3assistant + ln -sf $_prefix/bin/designer "${pkgdir}"$_prefix/bin/qt3designer + ln -sf $_prefix/bin/linguist "${pkgdir}"$_prefix/bin/qt3linguist + ln -sf $_prefix/bin/lrelease "${pkgdir}"$_prefix/bin/qt3lrelease + ln -sf $_prefix/bin/lupdate "${pkgdir}"$_prefix/bin/qt3lupdate + ln -sf $_prefix/bin/moc "${pkgdir}"$_prefix/bin/qt3moc + ln -sf $_prefix/bin/qmake "${pkgdir}"$_prefix/bin/qt3qmake + ln -sf $_prefix/bin/qtconfig "${pkgdir}"$_prefix/bin/qt3config + # Build ld.so.conf file install -d -m755 ${pkgdir}/etc/ld.so.conf.d/ echo "${_prefix}/lib" >> ${pkgdir}/etc/ld.so.conf.d/qt3.conf @@ -150,20 +168,25 @@ package() { echo "export PATH+=:${_prefix}/bin" >> ${pkgdir}/etc/profile.d/qt3.sh echo "export PKG_CONFIG_PATH+=:${_prefix}/pkgconfig" >> ${pkgdir}/etc/profile.d/qt3.sh - # ln -sf $_prefix/bin/qtconfig "${pkgdir}"$_prefix/bin/qt3config + msg "Cleaning package..." - # install man pages - install -d -m755 "${pkgdir}"$_prefix/man - cp -r "${srcdir}"/qt3/doc/man/{man1,man3} "${pkgdir}"$_prefix/man/ + #rm -rf "${pkgdir}"$_prefix/{phrasebooks,templates,translations} + + # remove any link to the compiled libraries present in + # $srcdir, which won't be present in non-building system. + sed -i "s|-L${srcdir}/qt3/lib ||g" "${pkgdir}"$_prefix/lib/*.prl + + #rm -f "${pkgdir}"${_prefix}/mkspecs/linux-g++$ARCH/linux-g++$ARCH - # libtoolslay - find $startdir/pkg -name '*.la' -exec rm {} \; + # Fix issues with GCC4 + sed -i 's/\(char\*\)/const char*/g' $pkgdir$_prefix/include/*.h + # Fix the mess we did fixing issues with GCC4 + sed -i 's/const u char/const uchar/g' $pkgdir$_prefix/include/*.h + sed -i 's/u const char/const uchar/g' $pkgdir$_prefix/include/*.h + sed -i 's/const const/const/g' $pkgdir$_prefix/include/*.h + sed -i 's/uconst/ unsigned /g' $pkgdir$_prefix/include/*.h - # Arch64 fix - #if [ "$CARCH" = "x86_64" ]; then - # [ -d $pkgdir$_prefix/mkspecs/linux-g++ ] || mkdir $pkgdir$_prefix/mkspecs/linux-g++ - # cd $pkgdir$_prefix/mkspecs/linux-g++ - # ln -s -v ../linux-g++-64/* . - #fi + # missing include "qglobal.h" in include/qtimer.h fix + sed -ie 's/define QTIMER_H/&\n#include "qglobal.h"/g' $pkgdir$_prefix/include/qtimer.h } diff --git a/arch/3.5.13/trinity-base/trinity-qt3/qt3.install b/arch/3.5.13/trinity-base/trinity-qt3/qt3.install index 2a8dc4c98..3d7119d05 100644 --- a/arch/3.5.13/trinity-base/trinity-qt3/qt3.install +++ b/arch/3.5.13/trinity-base/trinity-qt3/qt3.install @@ -1,12 +1,19 @@ post_install() { ldconfig &> /dev/null + echo "Note that the tools provided by this package (assistant, designer," + echo "linguist, lrelease, lupdate, moc, qmake and qtconfig) have been" + echo "renamet to qt3 to ensure compatibility with Qt4 and should" + echo "be run through new command scheme." + echo "\nIn order to update PATH to include Qt3 binaries location, You should" + echo "reboot your system. Before you do that you can access Qt3 bin path by" + echo "sourcing /etc/profile.d/qt3.sh" } post_upgrade() { - post_install + ldconfig &> /dev/null } post_remove() { - post_install + ldconfig &> /dev/null }