about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/science/geometry/drgeo
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/science/geometry/drgeo')
-rw-r--r--nixpkgs/pkgs/applications/science/geometry/drgeo/default.nix29
-rw-r--r--nixpkgs/pkgs/applications/science/geometry/drgeo/struct.patch68
2 files changed, 97 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/science/geometry/drgeo/default.nix b/nixpkgs/pkgs/applications/science/geometry/drgeo/default.nix
new file mode 100644
index 000000000000..59d7315ef413
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/geometry/drgeo/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchurl, libglade, gtk2, guile, libxml2, perl
+, intltool, libtool, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "drgeo";
+  version = "1.1.0";
+
+  hardeningDisable = [ "format" ];
+
+  src = fetchurl {
+    url = "mirror://sourceforge/ofset/${pname}-${version}.tar.gz";
+    sha256 = "05i2czgzhpzi80xxghinvkyqx4ym0gm9f38fz53idjhigiivp4wc";
+  };
+  patches = [ ./struct.patch ];
+
+  buildInputs = [libglade gtk2 guile libxml2
+    perl intltool libtool pkg-config];
+
+  prebuild = ''
+    cp drgeo.desktop.in drgeo.desktop
+  '';
+
+  meta = with lib; {
+    description = "Interactive geometry program";
+    homepage = "https://sourceforge.net/projects/ofset";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/science/geometry/drgeo/struct.patch b/nixpkgs/pkgs/applications/science/geometry/drgeo/struct.patch
new file mode 100644
index 000000000000..7364cae5f58d
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/geometry/drgeo/struct.patch
@@ -0,0 +1,68 @@
+-- drgeo-1.1.0/debian/patches/00list
+++ drgeo-1.1.0/debian/patches/00list
+@ -7 +7 @@
+
+07-fix_ftbfs-gcc-4.5.dpatch
+nly in patch2:
+nchanged:
+-- drgeo-1.1.0.orig/debian/patches/07-fix_ftbfs-gcc-4.5.dpatch
+++ drgeo-1.1.0/debian/patches/07-fix_ftbfs-gcc-4.5.dpatch
+@ -0,0 +1,58 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 07-fix_ftbfs-gcc-4.5.dpatch by Fabrice Coutadeur <fabric...@ubuntu.com>
+##
+## Description: fix FTBFS with gcc 4.5 with undefined reference to
+## `drgeoDialogData'
+## Author: Petr Gajdos <pgaj...@suse.cz>
+## Origin: https://build.opensuse.org/package/files?package=drgeo&project=openSUSE%3A11.3%3AContrib
+
+...@dpatch@
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' drgeo-1.1.0~/geo/drgeo_dialog.cc drgeo-1.1.0/geo/drgeo_dialog.cc
+--- drgeo-1.1.0~/geo/drgeo_dialog.cc	2003-10-27 10:17:25.000000000 +0000
++++ drgeo-1.1.0/geo/drgeo_dialog.cc	2010-11-13 07:26:03.258908003 +0000
+@@ -38,12 +38,7 @@
+ // Used in the style dialod callback, I know it's ugly, but so easy
+ static drgeoFigure *selected_figure;
+ 
+-struct
+-{
+-  drgeoPoint mouse;
+-  drgeoFigure *figure;
+-}
+-drgeoDialogData;
++DialogData drgeoDialogData;
+ 
+ 
+ static void drgeo_edit_dialog_cb (GtkWidget * dialog,
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' drgeo-1.1.0~/geo/drgeo_dialog.h drgeo-1.1.0/geo/drgeo_dialog.h
+--- drgeo-1.1.0~/geo/drgeo_dialog.h	2003-06-12 22:30:23.000000000 +0000
++++ drgeo-1.1.0/geo/drgeo_dialog.h	2010-11-13 07:26:03.258908003 +0000
+@@ -34,4 +34,11 @@
+ }
+ 
+ #endif				/* __cplusplus */
++
++typedef struct
++{
++  drgeoPoint mouse;
++  drgeoFigure *figure;
++} DialogData;
++
+ #endif
+diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' drgeo-1.1.0~/geo/drgeo_figure.cc drgeo-1.1.0/geo/drgeo_figure.cc
+--- drgeo-1.1.0~/geo/drgeo_figure.cc	2005-07-14 07:30:01.000000000 +0000
++++ drgeo-1.1.0/geo/drgeo_figure.cc	2010-11-13 07:26:03.258908003 +0000
+@@ -48,12 +48,7 @@
+ #include "drgeo_dialog.h"
+ #include "traite.h"
+ 
+-extern struct
+-{
+-  drgeoPoint mouse;
+-  drgeoFigure *figure;
+-}
+-drgeoDialogData;
++extern DialogData drgeoDialogData;
+ 
+ typedef struct drgeoSearchValue
+ {