summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel "l0ner" Soltys <pwslts@gmail.com>2012-02-02 14:19:49 +0100
committerPawel "l0ner" Soltys <pwslts@gmail.com>2012-02-02 14:19:49 +0100
commit021036598a306d8cf7204d6d62ff090278f7ecf1 (patch)
tree7a0032138346140ff5b78ed2bfeebfcd17341ae5
parentead369ac94473139a2320a1c90cda64dd887b94a (diff)
downloadtde-packaging-021036598a306d8cf7204d6d62ff090278f7ecf1.tar.gz
tde-packaging-021036598a306d8cf7204d6d62ff090278f7ecf1.zip
qt3: removed no-rpath patch
- cleaned up and commented - removed default ./configure options - added documentation build - changed make to make sub-tools so we don't build examples and tutorials change it back to make to get them - added unset _p patch so we free the variables after we don't need them anymore - removed libtool slay - moved libmng from makedepends to depends. Since we are using it, it is more like runtime dependency, than build-only optdep. - fixed another typo in patches (001-qiconview-rebuildcontainer.patch) - added accidentaly removed qt-unixodbc.patch - added postgresql and mysql include and library location to ./configure options those should probably be detected automatically. fix needed. - added links to tools provided by qt3 with naming scheme qt3* so we can run them with qt4 installed. - changed optdepends from libs to full packages - added optdepens descriptions - changed builddepds from full packages to libraries - added post-install message about new naming scheme of the provided tools.
-rw-r--r--arch/3.5.13/trinity-base/trinity-qt3/PKGBUILD183
-rw-r--r--arch/3.5.13/trinity-base/trinity-qt3/qt3.install11
2 files changed, 112 insertions, 82 deletions
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<toolname> 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
}