[bug#77541,01/38] gnu: Add clipper2.

Message ID 20250404191717.32747-1-ngraves@ngraves.fr
State New
Headers
Series [bug#77541,01/38] gnu: Add clipper2. |

Commit Message

Nicolas Graves April 4, 2025, 7:16 p.m. UTC
  * gnu/packages/cpp.scm (clipper2): New variable.
---
 gnu/packages/cpp.scm | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
  

Patch

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index a102a5d468..4c645f0f9d 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -44,6 +44,7 @@ 
 ;;; Copyright © 2024 Jakob Kirsch <jakob.kirsch@web.de>
 ;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
 ;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
+;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2620,6 +2621,40 @@  (define-public clipper
 The library is based on Vatti's clipping algorithm.")
     (license license:boost1.0)))
 
+(define-public clipper2
+  (package
+    (inherit clipper)
+    (name "clipper2")
+    (version "1.5.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/AngusJohnson/Clipper2")
+             (commit (string-append "Clipper2_" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1w8cmx712k45cb8gh9dakmbmybiwdx8c0b45mwpcldywx2lwxi2j"))
+       (modules '((guix build utils)))
+       (snippet #~(for-each
+                   delete-file-recursively
+                   '("CSharp" "DLL" "Delphi")))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags
+      #~(list "-DUSE_EXTERNAL_GTEST=ON"
+              "-DCLIPPER2_EXAMPLES=OFF")
+      #:phases #~(modify-phases %standard-phases
+                   (add-after 'unpack 'chdir
+                     (lambda _
+                       (chdir "CPP"))))))
+    (native-inputs (list googletest))
+    (home-page "https://github.com/AngusJohnson/Clipper2")
+    (description
+     (string-append (package-description clipper) "\
+Note: This package is a major update of the original clipper library."))))
+
 (define-public pcg-cpp
   (let ((commit "ffd522e7188bef30a00c74dc7eb9de5faff90092")
         (revision "2"))