Subject: [PATCH 01/38] gnu: Add clipper2.

From: Nicolas Graves <[email-masked]>
Date: Fri, 4 Apr 2025 21:06:57 +0200

* gnu/packages/cpp.scm (clipper2): New variable.
---
 gnu/packages/cpp.scm | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index a102a5d468..946484d325 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -44,7 +44,7 @@
 ;;; Copyright © 2024 Jakob Kirsch <[email-masked]>
 ;;; Copyright © 2025 Sharlatan Hellseher <[email-masked]>
 ;;; Copyright © 2025 Sergio Pastor Pérez <[email-masked]>
-;;;
+;;; Copyright © 2025 Nicolas Graves <[email-masked]>
 ;;; This file is part of GNU Guix.
 ;;;
 ;;; GNU Guix is free software; you can redistribute it and/or modify it
@@ -2620,6 +2620,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"))
-- 
2.49.0