summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--math/octave-forge-geometry/Makefile5
-rw-r--r--math/octave-forge-geometry/files/patch-martinez.h20
-rw-r--r--math/octave-forge-geometry/files/patch-polygon.cpp20
3 files changed, 41 insertions, 4 deletions
diff --git a/math/octave-forge-geometry/Makefile b/math/octave-forge-geometry/Makefile
index 37d33b5429ec..9933cf303500 100644
--- a/math/octave-forge-geometry/Makefile
+++ b/math/octave-forge-geometry/Makefile
@@ -1,6 +1,6 @@
PORTNAME= octave-forge-geometry
PORTVERSION= 4.1.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= math
MASTER_SITES= SF/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases
DISTNAME= ${OCTAVE_PKGNAME}-${DISTVERSIONFULL}
@@ -12,12 +12,9 @@ WWW= https://packages.octave.org/
LICENSE= GPLv3
LICENSE_FILE= ${WRKDIR}/${OCTAVE_SRC}/COPYING
-BROKEN= does not build with octave version >= 10.1.0
-
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \
${OCTAVE_TARBALLS_DIR}/matgeom.tar.gz:math/octave-forge-matgeom
USES= octave python:env
-USE_CXXSTD= c++14
.include <bsd.port.mk>
diff --git a/math/octave-forge-geometry/files/patch-martinez.h b/math/octave-forge-geometry/files/patch-martinez.h
new file mode 100644
index 000000000000..aca82d7312ff
--- /dev/null
+++ b/math/octave-forge-geometry/files/patch-martinez.h
@@ -0,0 +1,20 @@
+--- martinez.h.orig 2024-03-16 22:56:04 UTC
++++ martinez.h
+@@ -37,7 +37,7 @@ class Martinez { (private)
+ enum PolygonType { SUBJECT, CLIPPING };
+
+ struct SweepEvent;
+- struct SegmentComp : public binary_function<SweepEvent*, SweepEvent*, bool> { // for sorting edges in the sweep line
++ struct SegmentComp : public __binary_function<SweepEvent*, SweepEvent*, bool> { // for sorting edges in the sweep line
+ bool operator() (SweepEvent* e1, SweepEvent* e2) const;
+ };
+
+@@ -64,7 +64,7 @@ class Martinez { (private)
+
+ static void print (SweepEvent& e); // This function is intended for debugging purposes
+
+- struct SweepEventComp : public binary_function<SweepEvent*, SweepEvent*, bool> { // for sortening events
++ struct SweepEventComp : public __binary_function<SweepEvent*, SweepEvent*, bool> { // for sortening events
+ bool operator() (SweepEvent* e1, SweepEvent* e2) const;
+ };
+
diff --git a/math/octave-forge-geometry/files/patch-polygon.cpp b/math/octave-forge-geometry/files/patch-polygon.cpp
new file mode 100644
index 000000000000..ceb023dc6029
--- /dev/null
+++ b/math/octave-forge-geometry/files/patch-polygon.cpp
@@ -0,0 +1,20 @@
+--- polygon.cpp.orig 2024-03-16 22:56:04 UTC
++++ polygon.cpp
+@@ -93,7 +93,7 @@ namespace { // start of anonymous namespace
+
+ namespace { // start of anonymous namespace
+ struct SweepEvent;
+- struct SegmentComp : public binary_function<SweepEvent*, SweepEvent*, bool> {
++ struct SegmentComp : public __binary_function<SweepEvent*, SweepEvent*, bool> {
+ bool operator() (SweepEvent* e1, SweepEvent* e2) const;
+ };
+
+@@ -116,7 +116,7 @@ namespace { // start of anonymous namespace
+ bool above (const Point& x) const { return !below (x); }
+ };
+
+- struct SweepEventComp : public binary_function<SweepEvent*, SweepEvent*, bool> {
++ struct SweepEventComp : public __binary_function<SweepEvent*, SweepEvent*, bool> {
+ bool operator() (SweepEvent* e1, SweepEvent* e2) const {
+ if (e1->p.x < e2->p.x) // Different x coordinate
+ return true;