You are not logged in.
http://guitone.thomaskeller.biz/
Guitone is a Qt-based, cross-platform graphical user interface for the distributed version control system monotone.
I usually don't have too much trouble with PKGBUILDs, but this one is giving me a hard time. The big issue is its dependency on Qt4 (package in community repo), and the refusal of the build to not somehow look in /opt/qt/ instead of /opt/qt4/.
Here is what I've tried, to little success:
# Contributor: Dan McGee <dpmcgee>
pkgname=guitone
pkgver=0.5
pkgrel=1
pkgdesc="Qt-based GUI for the Monotone version control system"
url="http://guitone.thomaskeller.biz/"
license="GPL"
arch=(i686 x86_64)
depends=('monotone' 'qt4')
source=(http://guitone.thomaskeller.biz/count.php?file=$pkgver/$pkgname-$pkgver.tgz
qt4build.patch guitone.desktop)
build() {
cd $startdir/src/$pkgname-$pkgver
#build.sh is a pain, so do what it does here
QTDIR=/opt/qt4
QMAKESPEC=/opt/qt4/mkspecs/linux-g++
qmake guitone.pro
cd guitone
lupdate guitone.pro
lrelease guitone.pro
cd ..
#last ditch effort to fix qt/qt4 compile problems
#find -exec sed -i 's#/opt/qt/#/opt/qt4/#g'
make
#install freedesktop file
mkdir -p $startdir/pkg/usr/share/applications
install -m644 $startdir/src/guitone.desktop $startdir/pkg/usr/share/applications/guitone.desktop
}
#!/bin/sh
I've tried it with and without setting the QTDIR and QMAKESPEC variables, I tried throwing that sed in there which did nothing. I've tried qt-config, a script in the qt4 package that switches your environment variables to point at qt4 instead of qt3, and that didn't seem to make a difference.
This is where the build always fails:
g++ -c -pipe -g -D_REENTRANT -Wall -W -Wno-unused-parameter -I/opt/qt/mkspecs/linux-g++ -I. -I/opt/qt4/include -Itmp -Isrc/view/dialogs -o tmp/Guitone.o src/view/Guitone.cpp
g++ -c -pipe -g -D_REENTRANT -Wall -W -Wno-unused-parameter -I/opt/qt/mkspecs/linux-g++ -I. -I/opt/qt4/include -Itmp -Isrc/view/dialogs -o tmp/TreeView.o src/view/TreeView.cpp
In file included from src/view/TreeView.cpp:21:
src/view/TreeView.h:24:21: error: QTreeView: No such file or directory
You'll see that no matter what, the compiler seems to want to include that mkspec file from the /opt/qt/ directory, which I think is the problem.
If anyone could shed some light on this I'd much appreciate it. If you want to try out the PKGBUILD, you can build the package without monotone, but you won't be able to run it. Qt4 should be the only dependency for building.
EDIT:
Fixed. Maybe I should delete the src/ directory after I start changing environment variables to get rid of stale Makefiles.
Offline
qtreeview.h is in /opt/qt4/include/Qt - does TreeView.cpp include <Qt> or <qtreeview> ?
Offline
#include <QTreeView>
is in TreeView.h, where the compile fails. The first file contains no references to Qt files that are exclusive to Qt4 (although it does have includes to two Qt3 files), so I would guess that is why it doesn't fail.
Offline