git: 57a5d2c86043 - main - graphics/R-cran-ggforce: New port

From: Zsolt Udvari <uzsolt_at_FreeBSD.org>
Date: Mon, 13 Oct 2025 13:10:14 UTC
The branch main has been updated by uzsolt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=57a5d2c860433903695b64e7c936f9c99c01b31f

commit 57a5d2c860433903695b64e7c936f9c99c01b31f
Author:     Zsolt Udvari <uzsolt@FreeBSD.org>
AuthorDate: 2025-10-13 13:08:08 +0000
Commit:     Zsolt Udvari <uzsolt@FreeBSD.org>
CommitDate: 2025-10-13 13:09:02 +0000

    graphics/R-cran-ggforce: New port
    
    The aim of 'ggplot2' is to aid in visual data investigations. This focus has led
    to a lack of facilities for composing specialised plots. 'ggforce' aims to be a
    collection of mainly new stats and geoms that fills this gap. All additional
    functionality is aimed to come through the official extension system so using
    'ggforce' should be a stable experience.
---
 graphics/Makefile                                  |  1 +
 graphics/R-cran-ggforce/Makefile                   | 36 ++++++++++++++++++++++
 graphics/R-cran-ggforce/distinfo                   |  3 ++
 ...h-src_robust__predicate_expansion_mp__basic.hpp | 14 +++++++++
 graphics/R-cran-ggforce/pkg-descr                  |  5 +++
 5 files changed, 59 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index f47942ee1b54..5a67ce23bd68 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -17,6 +17,7 @@
     SUBDIR += R-cran-dichromat
     SUBDIR += R-cran-dygraphs
     SUBDIR += R-cran-farver
+    SUBDIR += R-cran-ggforce
     SUBDIR += R-cran-ggplot2
     SUBDIR += R-cran-ggrepel
     SUBDIR += R-cran-gridBase
diff --git a/graphics/R-cran-ggforce/Makefile b/graphics/R-cran-ggforce/Makefile
new file mode 100644
index 000000000000..b6a7ce8fbd1f
--- /dev/null
+++ b/graphics/R-cran-ggforce/Makefile
@@ -0,0 +1,36 @@
+PORTNAME=	ggforce
+DISTVERSION=	0.5.0
+CATEGORIES=	graphics
+DISTNAME=	${PORTNAME}_${DISTVERSION}
+
+MAINTAINER=	uzsolt@FreeBSD.org
+COMMENT=	Accelerating ggplot2
+WWW=		https://cran.r-project.org/package=${PORTNAME}
+
+LICENSE=	GPLv3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+CRAN_DEPENDS=	R-cran-cli>0:devel/R-cran-cli \
+		R-cran-ggplot2>=3.5.0:graphics/R-cran-ggplot2 \
+		R-cran-gtable>0:math/R-cran-gtable \
+		R-cran-lifecycle>0:devel/R-cran-lifecycle \
+		R-cran-polyclip>0:math/R-cran-polyclip \
+		R-cran-rlang>0:devel/R-cran-rlang \
+		R-cran-scales>0:graphics/R-cran-scales \
+		R-cran-systemfonts>0:devel/R-cran-systemfonts \
+		R-cran-tidyselect>0:devel/R-cran-tidyselect \
+		R-cran-tweenr>=0.1.5:graphics/R-cran-tweenr \
+		R-cran-vctrs>0:devel/R-cran-vctrs \
+		R-cran-withr>0:devel/R-cran-withr
+BUILD_DEPENDS=	${CRAN_DEPENDS}
+RUN_DEPENDS=	${CRAN_DEPENDS}
+TEST_DEPENDS=	R-cran-covr>0:devel/R-cran-covr \
+		R-cran-deldir>0:math/R-cran-deldir \
+		R-cran-reshape2>0:devel/R-cran-reshape2 \
+		R-cran-sessioninfo>0:devel/R-cran-sessioninfo \
+		R-cran-units>=0.8.0:math/R-cran-units
+
+USES=		compiler:c++17-lang cran:auto-plist,compiles
+USE_GCC=	yes
+
+.include <bsd.port.mk>
diff --git a/graphics/R-cran-ggforce/distinfo b/graphics/R-cran-ggforce/distinfo
new file mode 100644
index 000000000000..1a2b33eabe81
--- /dev/null
+++ b/graphics/R-cran-ggforce/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760349622
+SHA256 (ggforce_0.5.0.tar.gz) = 41b3ea33dc4da774a0047a446676e7c4d6c41592ad9cdb21db8d4efebcfb5d53
+SIZE (ggforce_0.5.0.tar.gz) = 906529
diff --git a/graphics/R-cran-ggforce/files/patch-src_robust__predicate_expansion_mp__basic.hpp b/graphics/R-cran-ggforce/files/patch-src_robust__predicate_expansion_mp__basic.hpp
new file mode 100644
index 000000000000..7e9e0ec67447
--- /dev/null
+++ b/graphics/R-cran-ggforce/files/patch-src_robust__predicate_expansion_mp__basic.hpp
@@ -0,0 +1,14 @@
+--- src/robust_predicate/expansion/mp_basic.hpp.orig	2025-10-13 12:47:59 UTC
++++ src/robust_predicate/expansion/mp_basic.hpp
+@@ -69,6 +69,11 @@
+     --------------------------------------------------------
+      */
+ 
++#ifndef SINGLE_DEFINED
++using single = float;
++#define SINGLE_DEFINED
++#endif
++
+ #   pragma once
+ 
+ #   ifndef __MP_BASIC__
diff --git a/graphics/R-cran-ggforce/pkg-descr b/graphics/R-cran-ggforce/pkg-descr
new file mode 100644
index 000000000000..90a648aec6df
--- /dev/null
+++ b/graphics/R-cran-ggforce/pkg-descr
@@ -0,0 +1,5 @@
+The aim of 'ggplot2' is to aid in visual data investigations. This focus has led
+to a lack of facilities for composing specialised plots. 'ggforce' aims to be a
+collection of mainly new stats and geoms that fills this gap. All additional
+functionality is aimed to come through the official extension system so using
+'ggforce' should be a stable experience.