summaryrefslogtreecommitdiff
path: root/staging/kdebindings-smokegen
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-12-05 23:15:23 +0000
committerroot <root@rshg054.dnsready.net>2011-12-05 23:15:23 +0000
commit55d1e19e71b453a0f47c599f281a2ad2644247d2 (patch)
treee4988a18e52a5f283c69611807002a1a20c918ed /staging/kdebindings-smokegen
parent392d2d86b3657d90c3954a44dd6e3e5a4d12d455 (diff)
Mon Dec 5 23:15:23 UTC 2011
Diffstat (limited to 'staging/kdebindings-smokegen')
-rw-r--r--staging/kdebindings-smokegen/PKGBUILD35
-rw-r--r--staging/kdebindings-smokegen/fix-crash.patch13
2 files changed, 48 insertions, 0 deletions
diff --git a/staging/kdebindings-smokegen/PKGBUILD b/staging/kdebindings-smokegen/PKGBUILD
new file mode 100644
index 000000000..c853bee64
--- /dev/null
+++ b/staging/kdebindings-smokegen/PKGBUILD
@@ -0,0 +1,35 @@
+# $Id: PKGBUILD 144217 2011-12-04 09:37:41Z andrea $
+# Maintainer: Andrea Scarpino <andrea@archlinux.org>
+
+pkgname=kdebindings-smokegen
+pkgver=4.7.4
+pkgrel=1
+pkgdesc="A general purpose C++ parser with a plugin infrastructure"
+url="http://kde.org/"
+arch=('i686' 'x86_64')
+license=('GPL' 'LGPL' 'FDL')
+depends=('kdebase-runtime')
+makedepends=('cmake' 'automoc4')
+conflicts=('kdebindings-smoke')
+source=("http://download.kde.org/stable/${pkgver}/src/smokegen-${pkgver}.tar.bz2"
+ 'fix-crash.patch')
+sha1sums=('068d37e2404311b9caa23d78ee7fa262188a8622'
+ 'b209b2b7017622fea3406c5a9636e2334566af01')
+
+build() {
+ cd "${srcdir}"/smokegen-${pkgver}
+ patch -p1 -i "${srcdir}"/fix-crash.patch
+
+ cd "${srcdir}"
+ mkdir build
+ cd build
+ cmake ../smokegen-${pkgver} \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "${srcdir}"/build
+ make DESTDIR="${pkgdir}" install
+}
diff --git a/staging/kdebindings-smokegen/fix-crash.patch b/staging/kdebindings-smokegen/fix-crash.patch
new file mode 100644
index 000000000..5864da3f3
--- /dev/null
+++ b/staging/kdebindings-smokegen/fix-crash.patch
@@ -0,0 +1,13 @@
+diff -up smokegen-4.7.0/parser/type_compiler.cpp.orig smokegen-4.7.0/parser/type_compiler.cpp
+diff -up smokegen-4.7.0/type_compiler.cpp.orig smokegen-4.7.0/type_compiler.cpp
+--- smokegen-4.7.0/type_compiler.cpp.orig 2011-08-02 14:34:08.000000000 +0200
++++ smokegen-4.7.0/type_compiler.cpp 2011-08-02 14:34:34.000000000 +0200
+@@ -191,6 +191,8 @@ void TypeCompiler::visitParameterDeclara
+
+ void TypeCompiler::visitPtrOperator(PtrOperatorAST* node)
+ {
++ if ( ! m_session->token_stream ) return;
++ if ( ! token_text(m_session->token_stream->kind(node->op)) ) return;
+ if (token_text(m_session->token_stream->kind(node->op))[0] == '*') {
+ QPair<bool, bool> cv = m_visitor->parseCv(node->cv);
+ pointerDepth.append(cv.first);