Date: Wednesday, July 14, 2010 @ 09:39:20 Author: jgc Revision: 85482
Add patch from Debian to build python-qscintilla and qscintilla from one PKGBUILD. Clean up build and use INSTALL_ROOT instead of copying and hacking things around. Changes qsci.path due to the removed sed operations, the old one was invalid Added: qscintilla/trunk/configure.py-objdir-support.diff Modified: qscintilla/trunk/PKGBUILD ----------------------------------+ PKGBUILD | 63 ++++++++++++++++++++----------------- configure.py-objdir-support.diff | 39 ++++++++++++++++++++++ 2 files changed, 74 insertions(+), 28 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-07-14 10:52:35 UTC (rev 85481) +++ PKGBUILD 2010-07-14 13:39:20 UTC (rev 85482) @@ -4,48 +4,55 @@ # Contributor: Michal Krenek <[email protected]> # Contributor: DaNiMoTh <[email protected]> -pkgname=qscintilla +pkgbase=qscintilla +pkgname=(qscintilla python-qscintilla) pkgver=2.4.4 -pkgrel=1 +pkgrel=2 license=('GPL') -pkgdesc="A port to Qt4 of Neil Hodgson's Scintilla C++ editor class" arch=('i686' 'x86_64') url="http://www.riverbankcomputing.co.uk/software/qscintilla/intro" -depends=('qt') -provides=('qscintilla2') -conflicts=('qscintilla2') -replaces=('qscintilla2') -source=("http://riverbankcomputing.com/static/Downloads/QScintilla2/QScintilla-gpl-${pkgver}.tar.gz") -md5sums=('db5f21723ea976ddd78c4c3662a21f9c') +makedepends=('qt' 'pyqt') +source=(http://riverbankcomputing.com/static/Downloads/QScintilla2/QScintilla-gpl-${pkgver}.tar.gz + configure.py-objdir-support.diff) +md5sums=('db5f21723ea976ddd78c4c3662a21f9c' + '8cf9c06252e2f11ab00e62848e322fd3') build() { - cd $srcdir/QScintilla-gpl-$pkgver/Qt4 - sed -i "s|header.path = .*|header.path = $pkgdir/usr/include|g" qscintilla.pro - sed -i "s|trans.path = .*|trans.path = $pkgdir/usr/share/qt/translations|g" qscintilla.pro - sed -i "s|qsci.path = .*|qsci.path = $pkgdir/usr/share/qt/translations|g" qscintilla.pro + cd $srcdir/QScintilla-gpl-$pkgver + patch -Np1 -i "${srcdir}/configure.py-objdir-support.diff" + cd Qt4 qmake qscintilla.pro - sed -i 's|$(MOVE) $(TARGET)|$(COPY) $(TARGET)|g' Makefile make - # Qt4 designer qscintilla2 plugin cd ../designer-Qt4 - install -d ${pkgdir}/usr/lib/qt/plugins/designer - echo "INCPATH += ../Qt4" >> designer.pro - sed -i "s|LIBS.*|LIBS += -L../Qt4 -lqscintilla2|g" designer.pro - qmake designer.pro + qmake designer.pro INCLUDEPATH+=../Qt4 QMAKE_LIBDIR+=../Qt4 make + + cd ../Python + python configure.py -n ../Qt4/ -o ../Qt4 -c -p 4 + make } -package() { - cd ${srcdir}/QScintilla-gpl-${pkgver}/Qt4 - make DESTDIR="${pkgdir}" install - cp libqscintilla2.so.5.4.0 ${pkgdir}/usr/lib/ - ln -s libqscintilla2.so.5.4.0 ${pkgdir}/usr/lib/libqscintilla2.so - ln -s libqscintilla2.so.5.4.0 ${pkgdir}/usr/lib/libqscintilla2.so.5 - ln -s libqscintilla2.so.5.4.0 ${pkgdir}/usr/lib/libqscintilla2.so.5.4 +package_qscintilla() { + pkgdesc="A port to Qt4 of Neil Hodgson's Scintilla C++ editor class" + provides=('qscintilla2') + conflicts=('qscintilla2') + replaces=('qscintilla2') + depends=('qt') - cd ${srcdir}/QScintilla-gpl-${pkgver}/designer-Qt4 - cp libqscintillaplugin.so ${pkgdir}/usr/lib/qt/plugins/designer/ + cd ${srcdir}/QScintilla-gpl-${pkgver}/Qt4 + make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install + + cd ${srcdir}/QScintilla-gpl-${pkgver}/designer-Qt4 + make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install } + +package_python-qscintilla() { + pkgdesc="Python bindings for QScintilla2" + depends=('qscintilla' 'pyqt') + + cd "${srcdir}/QScintilla-gpl-${pkgver}/Python" + make DESTDIR="${pkgdir}" INSTALL_ROOT="${pkgdir}" install +} Added: configure.py-objdir-support.diff =================================================================== --- configure.py-objdir-support.diff (rev 0) +++ configure.py-objdir-support.diff 2010-07-14 13:39:20 UTC (rev 85482) @@ -0,0 +1,39 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_configure.dpatch by Torsten Marek <[email protected]> +## +## DP: patch the configure script for the Python bindings to support object dir builds + +...@dpatch@ +Index: qscintilla2-2.4.2/Python/configure.py +=================================================================== +--- qscintilla2-2.4.2.orig/Python/configure.py 2010-01-20 20:56:09.000000000 +0100 ++++ qscintilla2-2.4.2/Python/configure.py 2010-01-27 22:54:35.603870417 +0100 +@@ -33,6 +33,7 @@ + import glob + import optparse + ++src_dir = os.path.dirname(os.path.abspath(__file__)) + + # Import SIP's configuration module so that we have access to the error + # reporting. Then try and import the configuration modules for both PyQt3 and +@@ -162,7 +163,7 @@ + if os.access(sciglobal, os.F_OK): + # Get the QScintilla version string. + _, sciversstr = sipconfig.read_version(sciglobal, "QScintilla", "QSCINTILLA_VERSION", "QSCINTILLA_VERSION_STR") +- ++ return # Debian: do not check for the installed version, we're good this way. + if glob.glob(os.path.join(opts.qscilibdir, "*qscintilla2*")): + # Because we include the Python bindings with the C++ code we can + # reasonably force the same version to be used and not bother about +@@ -232,9 +233,9 @@ + argv.append(buildfile) + + if pyqt.pyqt_version >= 0x040000: +- argv.append("sip/qscimod4.sip") ++ argv.append(os.path.join(src_dir, "sip/qscimod4.sip")) + else: +- argv.append("sip/qscimod3.sip") ++ argv.append(os.path.join(src_dir, "sip/qscimod3.sip")) + + os.system(" ".join(argv)) +
