summary refs log tree commit diff
diff options
context:
space:
mode:
authorRaghav Gururajan <raghavgururajan@disroot.org>2020-07-20 08:45:05 -0400
committerDanny Milosavljevic <dannym@scratchpost.org>2020-08-18 23:11:15 +0200
commit64976b9b4cfdc2b4a4555de70be075c3b14d15b0 (patch)
treefd73b653ed2c64c65c059068aa10eec34352f0d8
parent70f33d3c6a0c1fdf85985d2dbf99ef066d7e42ed (diff)
downloadguix-64976b9b4cfdc2b4a4555de70be075c3b14d15b0.tar.gz
gnu: Add poly2tri-c.
* gnu/packages/gimp.scm (poly2tri-c): New variable.

Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
-rw-r--r--gnu/packages/gimp.scm77
1 files changed, 77 insertions, 0 deletions
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm
index c2fca073e3..425fe6f3b1 100644
--- a/gnu/packages/gimp.scm
+++ b/gnu/packages/gimp.scm
@@ -34,6 +34,8 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages documentation)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
@@ -48,6 +50,81 @@
   #:use-module (gnu packages web)
   #:use-module (gnu packages xorg))
 
+(define-public poly2tri-c
+  (package
+    (name "poly2tri-c")
+    (version "0.1.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri
+        (string-append "https://storage.googleapis.com/"
+                       "google-code-archive-source/v2/code.google.com/"
+                       "poly2tri-c/source-archive.zip"))
+       (file-name
+        (string-append name "-" version ".zip"))
+       (sha256
+        (base32 "17cw0zhbnf2gb59jm26z0wcarqgdwir9jr1fpi3v9lcvyb2s3mqj"))))
+    (build-system glib-or-gtk-build-system)
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:configure-flags
+       (list
+        "--disable-static")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'disable-strict-rules
+           (lambda _
+             (substitute* "configure.ac"
+               (("\\$CFLAGS -Wall -ansi -pedantic")
+                "$CFLAGS")
+               (("\\$CFLAGS -Werror")
+                "$CFLAGS"))
+             #t))
+         (add-after 'disable-strict-rules 'fix-build-errors
+           (lambda _
+             (substitute* "poly2tri-c/refine/Makefile.am"
+               (("cdt.c")
+                "rcdt.c")
+               (("cdt.h")
+                "rcdt.h")
+               (("utils.c")
+                "rutils.c")
+               (("utils.h")
+                "rutils.h"))
+             #t))
+         (add-before 'bootstrap 'configure-later
+           (lambda _
+             (setenv "NOCONFIGURE" "set")
+             #t))
+         (add-after 'build 'generate-doc
+           (lambda _
+             (invoke "doxygen")
+             #t))
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc (assoc-ref outputs "doc")))
+               (copy-recursively
+                "doc"
+                (string-append doc "/share/doc/poly2tri-c"))
+               #t))))))
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("doxygen" ,doxygen)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)
+       ("unzip" ,unzip)
+       ("which" ,which)))
+    (propagated-inputs
+     `(("glib" ,glib)))
+    (synopsis "2D constrained Delaunay triangulation library")
+    (description "Poly2Tri-C is a library for generating, refining and rendering
+2-Dimensional Constrained Delaunay Triangulations.")
+    (home-page "https://code.google.com/archive/p/poly2tri-c/")
+    (license license:bsd-3)))
+
 (define-public babl
   (package
     (name "babl")