summaryrefslogtreecommitdiff
path: root/community/dia
diff options
context:
space:
mode:
Diffstat (limited to 'community/dia')
-rw-r--r--community/dia/PKGBUILD51
-rw-r--r--community/dia/dia-overflow-fix.patch28
-rw-r--r--community/dia/dia.install13
3 files changed, 92 insertions, 0 deletions
diff --git a/community/dia/PKGBUILD b/community/dia/PKGBUILD
new file mode 100644
index 000000000..609215664
--- /dev/null
+++ b/community/dia/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 90015 2013-05-06 19:36:39Z foutrelis $
+# Maintainer: Thorsten Töpper <atsutane-tu@freethoughts.de>
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Juergen Hoetzel <juergen@archlinux.org>
+# Contributor: Gregor Ibic <gregor.ibic@intelicom.si>
+
+pkgname=dia
+pkgver=0.97.2
+pkgrel=5
+pkgdesc="A GTK+ based diagram creation program"
+arch=('i686' 'x86_64')
+license=('GPL')
+url="http://live.gnome.org/Dia"
+install=dia.install
+depends=('libxslt' 'desktop-file-utils' 'libart-lgpl' 'gtk2' 'hicolor-icon-theme')
+makedepends=('intltool' 'python2' 'docbook-xsl')
+optdepends=('python2')
+options=('!libtool' 'docs' '!emptydirs')
+source=("ftp://ftp.gnome.org/pub/gnome/sources/${pkgname}/0.97/${pkgname}-${pkgver}.tar.xz"
+ "dia-crash.patch::https://git.gnome.org/browse/dia/patch/?id=213bdfe956bf8fe57c86316f68a09408fef1647e")
+md5sums=('1e1180a513fb567709b09bc19f12105e'
+ '2ad4fcfbfb561930a1d0335cc942a07b')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ export PYTHON=/usr/bin/python2
+ for file in `find -type f -name '*.py'`; do
+ sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' "$file"
+ done
+ sed -i 's#python2\.1#python2 python2.1#' configure
+ patch -p1 <$srcdir/dia-crash.patch
+
+ ./configure --prefix=/usr \
+ --with-cairo \
+ --with-python \
+ --disable-gnome \
+ --with-hardbooks
+ sed -i 's#SUBDIRS = lib objects plug-ins shapes app bindings samples po sheets data doc tests installer#SUBDIRS = lib objects plug-ins shapes app bindings samples po sheets data tests installer#' Makefile
+ make
+ cd doc
+ make html
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ cd doc
+ make DESTDIR="${pkgdir}" install-html
+ ln -sf ../doc/dia/html "${pkgdir}"/usr/share/dia/help
+}
diff --git a/community/dia/dia-overflow-fix.patch b/community/dia/dia-overflow-fix.patch
new file mode 100644
index 000000000..a6e64f3c6
--- /dev/null
+++ b/community/dia/dia-overflow-fix.patch
@@ -0,0 +1,28 @@
+diff -wbBur dia-0.97.1/plug-ins/xfig/xfig-export.c dia-0.97.1.my/plug-ins/xfig/xfig-export.c
+--- dia-0.97.1/plug-ins/xfig/xfig-export.c 2009-11-07 17:28:34.000000000 +0300
++++ dia-0.97.1.my/plug-ins/xfig/xfig-export.c 2010-11-15 17:44:05.640896280 +0300
+@@ -417,6 +417,9 @@
+ if (text[i] > 127) {
+ newlen += 3;
+ }
++ if (text[i] == '\\') {
++ newlen += 1;
++ }
+ }
+ returntext = g_malloc(sizeof(char)*(newlen+1));
+ j = 0;
+@@ -1085,10 +1088,10 @@
+ figtext = figText(renderer, (unsigned char *) text);
+ /* xfig texts are specials */
+ fprintf(renderer->file, "4 %d %d %d 0 %d %s 0.0 6 0.0 0.0 %d %d %s\\001\n",
+- figAlignment(renderer, alignment),
+- figColor(renderer, color),
+- figDepth(renderer),
+- figFont(renderer),
++ (int)figAlignment(renderer, alignment),
++ (int)figColor(renderer, color),
++ (int)figDepth(renderer),
++ (int)figFont(renderer),
+ xfig_dtostr(d_buf, figFontSize(renderer)),
+ (int)figCoord(renderer, pos->x),
+ (int)figCoord(renderer, pos->y),
diff --git a/community/dia/dia.install b/community/dia/dia.install
new file mode 100644
index 000000000..a49438e1f
--- /dev/null
+++ b/community/dia/dia.install
@@ -0,0 +1,13 @@
+post_install() {
+ update-desktop-database -q
+ update-mime-database usr/share/mime > /dev/null
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}