aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Marakasov <amdmi3@FreeBSD.org>2021-04-08 23:35:52 +0000
committerDmitry Marakasov <amdmi3@FreeBSD.org>2021-04-22 12:08:19 +0000
commit96b5f3c1c98b69a9991d7e00909a7eccd1ff7961 (patch)
treee118ab19f8ca51ff73a8fa12a3a1cb15d0c64eb2
parent3304bfbb07525b9e38da01bfedd4497e147a443e (diff)
downloadports-96b5f3c1c98b69a9991d7e00909a7eccd1ff7961.tar.gz
ports-96b5f3c1c98b69a9991d7e00909a7eccd1ff7961.zip
devel/ode: fix and optionize building demos, other minor improvements
- Optionize building demos - Fix depends (only depend on GL for demos, fix configure dependency detection by using USES=localbase and pkgconfig) - Fix build of demo code (use older compatible C++ standard and patch some bits) - Use native OPTIONS feature to make options mutually exclusive PR: 254898 Approved by: acm (maintainer)
-rw-r--r--devel/ode/Makefile21
-rw-r--r--devel/ode/files/patch-ode_demo_demo__jointPR.cpp11
-rw-r--r--devel/ode/files/patch-ode_demo_demo__jointPU.cpp11
-rw-r--r--devel/ode/files/patch-ode_demo_demo__piston.cpp11
4 files changed, 43 insertions, 11 deletions
diff --git a/devel/ode/Makefile b/devel/ode/Makefile
index d3ddd1ccf2e3..53481dfc5291 100644
--- a/devel/ode/Makefile
+++ b/devel/ode/Makefile
@@ -13,28 +13,27 @@ COMMENT= Articulated rigid body dynamics library
LICENSE= LGPL21 BSD3CLAUSE
LICENSE_COMB= dual
-USES= gl tar:bzip2 libtool pathfix
-USE_GL= yes
+USES= tar:bzip2 libtool pathfix
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-shared
TEST_TARGET= check
+USE_CXXSTD= c++03
-OPTIONS_DEFINE= GIMPACT DOUBLE OU
+OPTIONS_DEFINE= GIMPACT DOUBLE OU DEMOS
GIMPACT_DESC= Enable gimpact instead of opcode support
DOUBLE_DESC= Enable double precision (BROKEN with GIMPACT)
OU_DESC= Enable Thread-local storage (Experimental)
+DEMOS_DESC= Build demos (not installed)
+GIMPACT_PREVENTS= DOUBLE
GIMPACT_CONFIGURE_ON= --with-trimesh=gimpact
GIMPACT_CONFIGURE_OFF= --with-trimesh=opcode
-DOUBLE_CONFIGURE_ENABLE= double-precision
-OU_CONFIGURE_ENABLE= ou
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MGIMPACT} && ${PORT_OPTIONS:MDOUBLE}
-IGNORE= currently double precision is not supported by gimpact
-.endif
+DOUBLE_CONFIGURE_ENABLE=double-precision
+OU_CONFIGURE_ENABLE= ou
+DEMOS_CONFIGURE_ENABLE= demos
+DEMOS_USES= gl localbase pkgconfig
+DEMOS_USE= GL=gl,glu
post-patch:
@${REINPLACE_CMD} -e '/if test/ s|==|=|' -e 's|^\( *CFLAGS=\)|#\1|;' \
diff --git a/devel/ode/files/patch-ode_demo_demo__jointPR.cpp b/devel/ode/files/patch-ode_demo_demo__jointPR.cpp
new file mode 100644
index 000000000000..189a7ef9e500
--- /dev/null
+++ b/devel/ode/files/patch-ode_demo_demo__jointPR.cpp
@@ -0,0 +1,11 @@
+--- ode/demo/demo_jointPR.cpp.orig 2013-08-19 17:48:05 UTC
++++ ode/demo/demo_jointPR.cpp
+@@ -329,7 +329,7 @@ int main (int argc, char **argv)
+ {
+ int j = i+1;
+ if ( j+1 > argc || // Check if we have enough arguments
+- argv[j] == '\0' || // We should have a path here
++ argv[j][0] == '\0' || // We should have a path here
+ argv[j][0] == '-' ) // We should have a path not a command line
+ Help(argv);
+ else
diff --git a/devel/ode/files/patch-ode_demo_demo__jointPU.cpp b/devel/ode/files/patch-ode_demo_demo__jointPU.cpp
new file mode 100644
index 000000000000..588366a601a4
--- /dev/null
+++ b/devel/ode/files/patch-ode_demo_demo__jointPU.cpp
@@ -0,0 +1,11 @@
+--- ode/demo/demo_jointPU.cpp.orig 2013-12-06 21:52:14 UTC
++++ ode/demo/demo_jointPU.cpp
+@@ -579,7 +579,7 @@ int main (int argc, char **argv)
+ if (0 == strcmp ("-t", argv[i]) || 0 == strcmp ("--texture-path", argv[i]) ) {
+ int j = i+1;
+ if ( j+1 > argc || // Check if we have enough arguments
+- argv[j] == '\0' || // We should have a path here
++ argv[j][0] == '\0' || // We should have a path here
+ argv[j][0] == '-' ) // We should have a path not a command line
+ Help (argv);
+ else
diff --git a/devel/ode/files/patch-ode_demo_demo__piston.cpp b/devel/ode/files/patch-ode_demo_demo__piston.cpp
new file mode 100644
index 000000000000..3fdbb3327816
--- /dev/null
+++ b/devel/ode/files/patch-ode_demo_demo__piston.cpp
@@ -0,0 +1,11 @@
+--- ode/demo/demo_piston.cpp.orig 2013-08-19 17:48:05 UTC
++++ ode/demo/demo_piston.cpp
+@@ -659,7 +659,7 @@ int main (int argc, char **argv)
+ {
+ int j = i+1;
+ if ( j+1 > argc || // Check if we have enough arguments
+- argv[j] == '\0' || // We should have a path here
++ argv[j][0] == '\0' || // We should have a path here
+ argv[j][0] == '-' ) // We should have a path not a command line
+ Help (argv);
+ else