git: 2dd141966bb5 - main - cad/sweethome3d: update the port to version 7.0 with many improvements
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 16 Jul 2022 05:07:49 UTC
The branch main has been updated by danfe:
URL: https://cgit.FreeBSD.org/ports/commit/?id=2dd141966bb51e13f8b0ba9601dba4283d7f25c3
commit 2dd141966bb51e13f8b0ba9601dba4283d7f25c3
Author: Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2022-07-16 05:05:00 +0000
Commit: Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2022-07-16 05:05:00 +0000
cad/sweethome3d: update the port to version 7.0 with many improvements
Read the blog article* to learn about most prominent changes. As for
the port itself, addition of YafaRay rendering engine complicates the
build process because it's not part of the upstream build system (they
ship precompiled *.so files for MacOS, GNU/Linux, and Windows) and we
cannot make use of `graphics/yafaray' port because they use some fork
with a slightly different API. Drop NO_ARCH because the package now
contains CPU-specific binary code.
Reported by: portscout
*) http://www.sweethome3d.com/blog/2022/07/13/sweet_home_3d_7_0.html
---
cad/sweethome3d/Makefile | 34 +++++++++++++++++++---
cad/sweethome3d/distinfo | 8 +++--
cad/sweethome3d/files/patch-build.xml | 29 +++++++++++++-----
...com_eteks_sweethome3d_SweetHome3DBootstrap.java | 14 +++++----
4 files changed, 64 insertions(+), 21 deletions(-)
diff --git a/cad/sweethome3d/Makefile b/cad/sweethome3d/Makefile
index d5ed12cfbc8f..3d4a81a77534 100644
--- a/cad/sweethome3d/Makefile
+++ b/cad/sweethome3d/Makefile
@@ -1,10 +1,11 @@
# Created by: Matthias Petermann <matthias@petermann-it.de>
PORTNAME= sweethome3d
-PORTVERSION= 6.6.4
+PORTVERSION= 7.0
CATEGORIES= cad java
MASTER_SITES= SF/${PORTNAME}/SweetHome3D-source/${DISTNAME}/
DISTNAME= SweetHome3D-${PORTVERSION}-src
+DISTFILES= ${DISTNAME}.zip
MAINTAINER= danfe@FreeBSD.org
COMMENT= Free interior 3D design application
@@ -12,14 +13,17 @@ COMMENT= Free interior 3D design application
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING.TXT
-BUILD_DEPENDS= java3d>=0:java/java3d
+BUILD_DEPENDS= cmake:devel/cmake java3d>=0:java/java3d
RUN_DEPENDS= java3d>=0:java/java3d
-USES= zip
-NO_ARCH= yes
USE_ANT= yes
USE_JAVA= 8
+USE_GITHUB= nodefault
+GH_ACCOUNT= puybaret:yr
+GH_PROJECT= libYafaRay:yr
+GH_TAGNAME= ef20db1:yr
+
ALL_TARGET= jarExecutable
JARNAME= SweetHome3D-${PORTVERSION}.jar
@@ -32,6 +36,28 @@ PLIST_FILES= bin/sweethome3d \
DESKTOP_ENTRIES="Sweet Home 3D" "" "${PORTNAME}-icon" "${PORTNAME}" "" false
+build-yafaray:
+ @${SED} -e '/^set(WITH_/s,ON),OFF),' \
+ ${WRKSRC_yr}/CMakeConfig/UserConfig.template \
+ > ${WRKSRC_yr}/CMakeConfig/UserConfig.txt
+ cd ${WRKSRC_yr} && cmake \
+ -DUSER_INSTALL_PREFIX:PATH=${BUILD_WRKSRC}/build/yafaray \
+ . && ${MAKE_CMD} VERBOSE=1 install
+ ${MV} ${BUILD_WRKSRC}/build/yafaray/lib/* ${BUILD_WRKSRC}/lib/yafaray
+
+pre-build: build-yafaray
+ cd ${BUILD_WRKSRC} && ${SETENV} ${MAKE_ENV} ${ANT} ${MAKE_ARGS} build
+ cd ${BUILD_WRKSRC} && ${JAVAH} -jni -o \
+ src/com/eteks/sweethome3d/j3d/YafarayRenderer.h -cp \
+ classes:lib/j3dcore.jar:lib/vecmath.jar:build/SweetHome3D.jar \
+ com.eteks.sweethome3d.j3d.YafarayRenderer
+ cd ${BUILD_WRKSRC} && ${CXX} ${CXXFLAGS} -fPIC -std=c++11 \
+ -I${JAVA_HOME}/include -I${JAVA_HOME}/include/${OPSYS:tl} \
+ -I${WRKSRC_yr}/include \
+ src/com/eteks/sweethome3d/j3d/YafarayRenderer.cpp -shared \
+ -o lib/yafaray/libyafarayjni.so \
+ -Llib/yafaray -lyafaray_v3_core
+
do-install:
${INSTALL_DATA} ${WRKSRC}/install/${JARNAME} \
${STAGEDIR}${JAVAJARDIR}/${JARNAME}
diff --git a/cad/sweethome3d/distinfo b/cad/sweethome3d/distinfo
index c7e59d94fd22..3cd28fa719fd 100644
--- a/cad/sweethome3d/distinfo
+++ b/cad/sweethome3d/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1639064376
-SHA256 (SweetHome3D-6.6.4-src.zip) = a0e7dfbe2ea3727fa4a6f0f41250b5be628ab68f8bde4dd833d4f6fd4e026477
-SIZE (SweetHome3D-6.6.4-src.zip) = 28771644
+TIMESTAMP = 1657726302
+SHA256 (SweetHome3D-7.0-src.zip) = af0d2c89605f53056a199685dba221dc13fcff008be79bf3a0463e74266b8403
+SIZE (SweetHome3D-7.0-src.zip) = 45275622
+SHA256 (puybaret-libYafaRay-ef20db1_GH0.tar.gz) = cbb9266cdc102395763abe02918097504d0f7c057883c0d9cb6aaf0af6a83d6f
+SIZE (puybaret-libYafaRay-ef20db1_GH0.tar.gz) = 1137154
diff --git a/cad/sweethome3d/files/patch-build.xml b/cad/sweethome3d/files/patch-build.xml
index 887430040876..88ab2adcf8d1 100644
--- a/cad/sweethome3d/files/patch-build.xml
+++ b/cad/sweethome3d/files/patch-build.xml
@@ -1,15 +1,28 @@
---- build.xml.orig 2017-02-01 12:42:14 UTC
+--- build.xml.orig 2022-07-13 08:03:06 UTC
+++ build.xml
-@@ -271,12 +271,6 @@
- <fileset dir="build">
+@@ -512,7 +512,6 @@ -->
+ <zipfileset src="build/Help.jar"/>
+ <fileset dir="lib">
+ <include name="*.jar"/>
+- <include name="macosx/*.jar"/>
+ <include name="java3d-1.6/*.jar"/>
+ <exclude name="java3d-1.6/jogl-all.jar"/>
+ </fileset>
+@@ -520,15 +519,8 @@ -->
<include name="java3d-1.6/jogl-java3d.jar"/>
</fileset>
-- <fileset dir="lib">
+ <fileset dir="lib">
+- <include name="windows/**/*.dll"/>
- <include name="java3d-1.6/windows/**/*.dll"/>
+- <include name="yafaray/windows/**/*.dll"/>
+- <include name="linux/**/*.so"/>
- <include name="java3d-1.6/linux/**/*.so"/>
+- <include name="yafaray/linux/**/*.so"/>
- <include name="macosx/*.jnilib"/>
- <include name="java3d-1.6/macosx/*.dylib"/>
-- </fileset>
- </jar>
- </target>
-
+- <include name="yafaray/macosx/**/*.dylib"/>
++ <include name="yafaray/*.so"/>
++ <include name="yafaray/yafaray-plugins/*.so"/>
+ </fileset>
+ <fileset dir="libtest">
+ <include name="jnlp.jar"/>
diff --git a/cad/sweethome3d/files/patch-src_com_eteks_sweethome3d_SweetHome3DBootstrap.java b/cad/sweethome3d/files/patch-src_com_eteks_sweethome3d_SweetHome3DBootstrap.java
index ec57412c2e9d..253b9758373a 100644
--- a/cad/sweethome3d/files/patch-src_com_eteks_sweethome3d_SweetHome3DBootstrap.java
+++ b/cad/sweethome3d/files/patch-src_com_eteks_sweethome3d_SweetHome3DBootstrap.java
@@ -1,12 +1,14 @@
---- src/com/eteks/sweethome3d/SweetHome3DBootstrap.java.orig 2020-04-15 10:23:38 UTC
+--- src/com/eteks/sweethome3d/SweetHome3DBootstrap.java.orig 2022-07-13 08:03:06 UTC
+++ src/com/eteks/sweethome3d/SweetHome3DBootstrap.java
-@@ -116,6 +116,9 @@ public class SweetHome3DBootstrap {
- // Disable JOGL library loader
- System.setProperty("jogamp.gluegen.UseTempJarCache", "false");
+@@ -135,6 +135,11 @@ public class SweetHome3DBootstrap {
+ "yafaray/macosx/libyafarayjni.dylib"}));
+ yafarayPluginsFolder = "yafaray/macosx/yafaray-plugins";
}
+ } else if ("FreeBSD".equals(operatingSystemName)) {
-+ extensionJarsAndDlls.add(System.getProperty("sun.boot.library.path")
-+ + "/libj3dcore-ogl.so");
++ extensionJarsAndDlls.addAll(Arrays.asList(new String[] {
++ System.getProperty("sun.boot.library.path") + "/libj3dcore-ogl.so",
++ "yafaray/libyafaray_v3_core.so", "yafaray/libyafarayjni.so" }));
++ yafarayPluginsFolder = "yafaray/yafaray-plugins";
} else { // Other OS
if ("1.5.2".equals(System.getProperty("com.eteks.sweethome3d.j3d.version", "1.6"))
|| "d3d".equals(System.getProperty("j3d.rend", "jogl"))