GNU bug report logs - #77788
[PATCH] gnu: Add clipper2.

Previous Next

Package: guix-patches;

Reported by: nomike <nomike <at> nomike.com>

Date: Mon, 14 Apr 2025 01:08:01 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 77788 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Mon, 14 Apr 2025 01:08:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to nomike <nomike <at> nomike.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Mon, 14 Apr 2025 01:08:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: nomike <nomike <at> nomike.com>
To: guix-patches <at> gnu.org
Cc: nomike <nomike <at> nomike.com>
Subject: [PATCH] gnu: Add clipper2.
Date: Mon, 14 Apr 2025 03:07:06 +0200
* a/gnu/packages/engineering.scm (clipper2): New variable.

Change-Id: Ie2ab2d8aa8aa1ef359320a1ad8be97194391974f
---
 gnu/packages/engineering.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f37b0e3844..65224f3a0a 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3149,6 +3149,38 @@ (define-public python-lcapy
 ontinuous-time and discret-time expressions.")
     (license license:lgpl2.1+)))
 
+(define-public clipper2
+  (package
+    (name "clipper2")
+    (version "1.5.2") ;Update this to match the version you need
+    (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"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags (list "-DCLIPPER2_UTILS=no" "-DCLIPPER2_EXAMPLES=no"
+                               "-DCLIPPER2_USINGZ=no"
+                               "-DUSE_EXTERNAL_GTEST=yes")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'chdir-to-cpp
+                    (lambda _
+                      (chdir "CPP"))))))
+    (native-inputs (list googletest)) ;Only needed for tests
+    (synopsis "Polygon Clipping and Offsetting")
+    (description
+     "Clipper2 is a major update of my original Clipper library that was first
+released over 10 years ago.  It's a multi-purpose polygon clipping library that
+performs intersection, union, difference and XOR boolean operations on both
+simple and complex polygons.")
+    (home-page "https://www.angusj.com/clipper2/Docs/Overview.htm")
+    (license license:boost1.0)))
+
 (define-public openscad
   (package
     (name "openscad")
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Mon, 14 Apr 2025 01:26:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gabriel Santos <gabrielsantosdesouza <at> disroot.org>
To: guix-patches <at> gnu.org, nomike <nomike <at> nomike.com>, 77788 <at> debbugs.gnu.org
Subject: Re: [bug#77788] [PATCH] gnu: Add clipper2.
Date: Sun, 13 Apr 2025 22:25:00 -0300
>+     "Clipper2 is a major update of my original Clipper library that was first
>+released over 10 years ago.  It's a multi-purpose polygon clipping library that
>+performs intersection, union, difference and XOR boolean operations on both
>+simple and complex polygons.")

I think you have to remove the use of the first person here. Maybe:

"Clipper2 is a multi-purpose polygon clipping library that
performs intersection, union, difference and XOR boolean
operations on both simple and complex polygons.  It's a
major update of the Clipper C++/C# library."

And inverting the order of the sentences here makes for a
cleaner summary.

-- 
Gabriel Santos




Information forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Mon, 14 Apr 2025 01:26:02 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Wed, 16 Apr 2025 23:45:01 GMT) Full text and rfc822 format available.

Message #14 received at 77788 <at> debbugs.gnu.org (full text, mbox):

From: nomike <nomike <at> nomike.com>
To: 77788 <at> debbugs.gnu.org
Cc: nomike <nomike <at> nomike.com>
Subject: [PATCH v2] gnu: Add clipper2
Date: Thu, 17 Apr 2025 01:42:35 +0200
* gnu/packages/engineering.scm (clipper2): New variable.

Change-Id: Ie09c5bb37e82db31c390eb7c6fb8bafcdf750e9a
---
Thanks for the hint. I missed that when copying the synopsis from the
original project.
I also removed some leftover comments I overlooked.
Here's a revised patch.

 gnu/packages/engineering.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index f37b0e3844..6d5d10d71f 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3149,6 +3149,37 @@ (define-public python-lcapy
 ontinuous-time and discret-time expressions.")
     (license license:lgpl2.1+)))
 
+(define-public clipper2
+  (package
+    (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"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags (list "-DCLIPPER2_UTILS=no" "-DCLIPPER2_EXAMPLES=no"
+                               "-DCLIPPER2_USINGZ=no"
+                               "-DUSE_EXTERNAL_GTEST=yes")
+       #:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'chdir-to-cpp
+                    (lambda _
+                      (chdir "CPP"))))))
+    (native-inputs (list googletest))
+    (synopsis "Polygon Clipping and Offsetting")
+    (description "Clipper2 is a multi-purpose polygon clipping library that
+performs intersection, union, difference and XOR boolean
+operations on both simple and complex polygons.  It's a
+major update of the Clipper C++/C# library.")
+    (home-page "https://www.angusj.com/clipper2/Docs/Overview.htm")
+    (license license:boost1.0)))
+
 (define-public openscad
   (package
     (name "openscad")
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Thu, 17 Apr 2025 02:05:02 GMT) Full text and rfc822 format available.

Message #17 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Gabriel Santos <gabrielsantosdesouza <at> disroot.org>
To: guix-patches <at> gnu.org, nomike <nomike <at> nomike.com>, 77788 <at> debbugs.gnu.org
Subject: Re: [bug#77788] [PATCH v2] gnu: Add clipper2
Date: Wed, 16 Apr 2025 23:03:53 -0300
Em 16 de abril de 2025 20:42:35 BRT, nomike <nomike <at> nomike.com> escreveu:
>Thanks for the hint. I missed that when copying the synopsis from the
>original project.
>I also removed some leftover comments I overlooked.
>Here's a revised patch.

The synopsis and description LGTM. I'll try looking into the patch
with more detail and mark it as reviewed[1] tomorrow.

(I'm not a committer by the way, I'm just a guix-patches subscriber
in case you weren't aware)

[1] <https://guix.gnu.org/manual/devel/en/guix.html#Reviewing-the-Work-of-Others>

-- 
Gabriel Santos




Information forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Thu, 17 Apr 2025 02:05:03 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Thu, 17 Apr 2025 14:48:01 GMT) Full text and rfc822 format available.

Message #23 received at 77788 <at> debbugs.gnu.org (full text, mbox):

From: Gabriel Santos <gabriel.santos.smtp <at> gmail.com>
To: 77788 <at> debbugs.gnu.org
Cc: nomike <nomike <at> nomike.com>
Subject: Re: [PATCH v2] gnu: Add clipper2
Date: Thu, 17 Apr 2025 11:47:32 -0300
user guix
usertag 77788 reviewed looks-good
quit




Information forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Fri, 25 Apr 2025 18:40:01 GMT) Full text and rfc822 format available.

Message #26 received at 77788 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: nomike <nomike <at> nomike.com>
Cc: Gabriel Santos <gabrielsantosdesouza <at> disroot.org>, 77788 <at> debbugs.gnu.org
Subject: Re: bug#77788: [PATCH] gnu: Add clipper2.
Date: Fri, 25 Apr 2025 20:00:27 +0200
Hi,

nomike <nomike <at> nomike.com> writes:

> * gnu/packages/engineering.scm (clipper2): New variable.
>
> Change-Id: Ie09c5bb37e82db31c390eb7c6fb8bafcdf750e9a

This package already exists in cpp.scm.  Could you check if you’d like
to modify it in any way?

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Sat, 26 Apr 2025 05:59:02 GMT) Full text and rfc822 format available.

Message #29 received at 77788 <at> debbugs.gnu.org (full text, mbox):

From: Andrew Wong <wongandj <at> icloud.com>
To: 77788 <at> debbugs.gnu.org
Cc: Andrew Wong <wongandj <at> icloud.com>
Subject: [PATCH v2 0/2] gnu: beets: Update to 2.2.0
Date: Sat, 26 Apr 2025 01:57:04 -0400
Split discogs-client update to separate patch.

Andrew Wong (2):
  gnu: python-discogs-client: Update to 2.8.
  gnu: beets: Update to 2.2.0.

 gnu/packages/music.scm                        | 15 ++++---
 .../beets-future-proof-bucket-test.patch      | 39 +++++++++++++++++++
 2 files changed, 49 insertions(+), 5 deletions(-)
 create mode 100644 gnu/packages/patches/beets-future-proof-bucket-test.patch


base-commit: 7ff20b9e94c429f1160bd8f0db86b153a03e4683
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Sat, 26 Apr 2025 05:59:03 GMT) Full text and rfc822 format available.

Message #32 received at 77788 <at> debbugs.gnu.org (full text, mbox):

From: Andrew Wong <wongandj <at> icloud.com>
To: 77788 <at> debbugs.gnu.org
Cc: Andrew Wong <wongandj <at> icloud.com>
Subject: [PATCH v2 1/2] gnu: python-discogs-client: Update to 2.8.
Date: Sat, 26 Apr 2025 01:57:05 -0400
* gnu/packages/music.scm (python-discogs-client): Update to 2.8.

Change-Id: I6fed062abd623bb3eb6ffc4dccf170fd58544d2e
---
 gnu/packages/music.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 8a6783005e..0991755cd4 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -5127,13 +5127,13 @@ (define-public seq24
 (define-public python-discogs-client
   (package
     (name "python-discogs-client")
-    (version "2.3.12")
+    (version "2.8")
     (source (origin
               (method url-fetch)
-              (uri (pypi-uri "python3-discogs-client" version))
+              (uri (pypi-uri "python3_discogs_client" version))
               (sha256
                (base32
-                "1zmib0i9jicv9fyphgkcrk418qmpv3l4p38ibl31sh237ki5xqw9"))))
+                "0fxk8q8z5v5l961d9z2ywq49i2fz50h074p81zv6w6j9zzs7fb0g"))))
     (build-system python-build-system)
     (propagated-inputs
      (list python-dateutil python-oauthlib python-requests))
-- 
2.49.0





Information forwarded to guix-patches <at> gnu.org:
bug#77788; Package guix-patches. (Sat, 26 Apr 2025 06:00:02 GMT) Full text and rfc822 format available.

Message #35 received at 77788 <at> debbugs.gnu.org (full text, mbox):

From: Andrew Wong <wongandj <at> icloud.com>
To: 77788 <at> debbugs.gnu.org
Cc: Andrew Wong <wongandj <at> icloud.com>
Subject: [PATCH v2 2/2] gnu: beets: Update to 2.2.0.
Date: Sat, 26 Apr 2025 01:57:06 -0400
* gnu/packages/music.scm (beets): Update to 2.2.0.
[source]: Add `beets-future-proof-bucket-test.patch` patch.
[native-inputs]: Add `python-poetry-core`, `python-pytest-flask`.
[inputs]: Add `python-platformdirs`.
* gnu/packages/patches/beets-future-proof-bucket-test.patch: New file.

Change-Id: I417af8761d801e76fa85ca53b6def556d50440d8
---
 gnu/packages/music.scm                        |  9 ++++-
 .../beets-future-proof-bucket-test.patch      | 39 +++++++++++++++++++
 2 files changed, 46 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/beets-future-proof-bucket-test.patch

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 0991755cd4..db62e6d73f 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4290,13 +4290,15 @@ (define-public instantmusic
 (define-public beets
   (package
     (name "beets")
-    (version "2.0.0")
+    (version "2.2.0")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "beets" version))
               (sha256
                (base32
-                "1kzqn6f3iw30lav9cwf653w2ns1n09yrys54dqxf6a9ppjsp449v"))))
+                "05f7sjl6hwarn4d3r5hlsn7gfsx1dlqiy0kl6dg5fi08adzjf2nc"))
+              ;; Fix myopic test. See <https://github.com/beetbox/beets/pull/5566>
+              (patches (search-patches "beets-future-proof-bucket-test.patch"))))
     (build-system pyproject-build-system)
     (arguments
      (list
@@ -4319,9 +4321,11 @@ (define-public beets
      (list gobject-introspection
            python-flask
            python-mock
+           python-poetry-core
            python-py7zr
            python-pytest
            python-pytest-cov
+           python-pytest-flask
            python-setuptools
            python-responses
            python-wheel))
@@ -4335,6 +4339,7 @@ (define-public beets
            python-mediafile
            python-munkres
            python-musicbrainzngs
+           python-platformdirs
            python-pyyaml
            python-typing-extensions
            python-unidecode
diff --git a/gnu/packages/patches/beets-future-proof-bucket-test.patch b/gnu/packages/patches/beets-future-proof-bucket-test.patch
new file mode 100644
index 0000000000..48a640d802
--- /dev/null
+++ b/gnu/packages/patches/beets-future-proof-bucket-test.patch
@@ -0,0 +1,39 @@
+From bcc79a5b09225050ce7c88f63dfa56f49f8782a8 Mon Sep 17 00:00:00 2001
+From: Stefano Rivera <stefano <at> rivera.za.net>
+Date: Fri, 27 Dec 2024 16:27:30 -0400
+Subject: [PATCH] Future proof
+ BucketPluginTest.test_year_single_year_last_folder
+
+2025 won't be in the future, forever.
+
+Fixes: https://bugs.debian.org/1091495
+---
+ test/plugins/test_bucket.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/test/plugins/test_bucket.py b/test/plugins/test_bucket.py
+index b075bc4f2..e3611912a 100644
+--- a/test/plugins/test_bucket.py
++++ b/test/plugins/test_bucket.py
+@@ -14,6 +14,8 @@
+ 
+ """Tests for the 'bucket' plugin."""
+ 
++from datetime import datetime
++
+ import pytest
+ 
+ from beets import config, ui
+@@ -51,7 +53,8 @@ class BucketPluginTest(BeetsTestCase):
+         year."""
+         self._setup_config(bucket_year=["1950", "1970"])
+         assert self.plugin._tmpl_bucket("2014") == "1970"
+-        assert self.plugin._tmpl_bucket("2025") == "2025"
++        next_year = datetime.now().year + 1
++        assert self.plugin._tmpl_bucket(str(next_year)) == str(next_year)
+ 
+     def test_year_two_years(self):
+         """Buckets can be named with the 'from-to' syntax."""
+-- 
+2.49.0
+
-- 
2.49.0





This bug report was last modified 11 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.