Bug 171760 - New port: cad/sweethome3d
Summary: New port: cad/sweethome3d
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-19 00:50 UTC by Matthias Petermann
Modified: 2013-03-21 20:20 UTC (History)
0 users

See Also:


Attachments
sweethome3d.txt (6.05 KB, text/plain)
2012-09-19 01:44 UTC, Matthias Petermann
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Petermann 2012-09-19 00:50:07 UTC
"Sweet Home 3D is a free interior design application that helps you place your furniture on a house 2D plan, with a 3D preview."

It is implemented in Java and makes use of the Java3D extension. Therefore it depends on platform dependend native libraries. The included patches do:

- Modify the Java code to not try to load the native Java3D libs for Windows, Linux and MacOSX which are provided within the source code ZIP. Instead, load FreeBSD amd64 or i386 libs externally from openjdk6/lib/[amd64|i386]/libj3dcore-ogl.so
Comment 1 Matthias Petermann 2012-09-19 01:44:50 UTC
Looks like something went wrong during the web based submission of my PR. Here is the full description, again:

"Sweet Home 3D is a free interior design application that helps you place your furniture on a house 2D plan, with a 3D preview."

It is implemented in Java and makes use of the Java3D extension. Therefore it depends on platform dependend native libraries. The included patches do:

- Modify the Java code to not try to load the native Java3D libs for Windows, Linux and MacOSX which are provided within the source code ZIP. Instead, load FreeBSD amd64 or i386 libs externally from openjdk6/lib/[amd64|i386]/libj3dcore-ogl.so

- Modify the build.xml to not include native Java3D libs in the jar file.

The port also provides a shell script to launch the app an a desktop entry and icon.
Comment 2 dfilter service freebsd_committer freebsd_triage 2013-03-21 20:17:02 UTC
Author: pawel
Date: Thu Mar 21 20:16:53 2013
New Revision: 314867
URL: http://svnweb.freebsd.org/changeset/ports/314867

Log:
  Sweet Home 3D is a free interior design application that helps you place your
  furniture on a house 2D plan, with a 3D preview.
  
  WWW: http://www.sweethome3d.com
  
  PR:		ports/171760
  Submitted by:	Matthias Petermann <matthias@petermann.it>

Added:
  head/cad/sweethome3d/
  head/cad/sweethome3d/Makefile   (contents, props changed)
  head/cad/sweethome3d/distinfo   (contents, props changed)
  head/cad/sweethome3d/files/
  head/cad/sweethome3d/files/patch-build.xml   (contents, props changed)
  head/cad/sweethome3d/files/patch-src__com__eteks__sweethome3d__SweetHome3DBootstrap.java   (contents, props changed)
  head/cad/sweethome3d/files/sweethome3d.sh.in   (contents, props changed)
  head/cad/sweethome3d/pkg-descr   (contents, props changed)
Modified:
  head/cad/Makefile

Modified: head/cad/Makefile
==============================================================================
--- head/cad/Makefile	Thu Mar 21 19:53:15 2013	(r314866)
+++ head/cad/Makefile	Thu Mar 21 20:16:53 2013	(r314867)
@@ -99,6 +99,7 @@
     SUBDIR += scv
     SUBDIR += slffea
     SUBDIR += spice
+    SUBDIR += sweethome3d
     SUBDIR += systemc
     SUBDIR += tkgate
     SUBDIR += tochnog

Added: head/cad/sweethome3d/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/sweethome3d/Makefile	Thu Mar 21 20:16:53 2013	(r314867)
@@ -0,0 +1,41 @@
+# Created by: Matthias Petermann <matthias@petermann.it>
+# $FreeBSD$
+
+PORTNAME=	sweethome3d
+PORTVERSION=	3.6
+CATEGORIES=	cad java
+MASTER_SITES=	SF/${PORTNAME}/SweetHome3D-source/${DISTNAME}/
+DISTNAME=	SweetHome3D-${PORTVERSION}-src
+
+MAINTAINER=	matthias@petermann.it
+COMMENT=	Free interior design application
+
+LICENSE=	GPLv2
+
+BUILD_DEPENDS=	java3d>=0:${PORTSDIR}/java/java3d
+RUN_DEPENDS=	java3d>=0:${PORTSDIR}/java/java3d
+
+USE_ZIP=	yes
+USE_ANT=	yes
+USE_JAVA=	yes
+JAVA_VERSION=	1.6+
+
+ALL_TARGET=	jarExecutable
+JARNAME=	SweetHome3D-${PORTVERSION}.jar
+
+SUB_FILES=	sweethome3d.sh
+SUB_LIST=	JARNAME=${JARNAME}
+
+PLIST_FILES=	bin/sweethome3d \
+		%%JAVAJARDIR%%/${JARNAME} \
+		share/pixmaps/sweethome3d-icon.png
+
+DESKTOP_ENTRIES="Sweet Home 3D" "" "${PORTNAME}-icon" "${PORTNAME}" "" false
+
+do-install:
+	${INSTALL_DATA} ${WRKSRC}/install/${JARNAME} ${JAVAJARDIR}/${JARNAME}
+	${INSTALL_SCRIPT} ${WRKDIR}/sweethome3d.sh ${PREFIX}/bin/sweethome3d
+	${INSTALL_DATA} ${WRKSRC}/deploy/SweetHome3DIcon32x32.png \
+		${PREFIX}/share/pixmaps/sweethome3d-icon.png
+
+.include <bsd.port.mk>

Added: head/cad/sweethome3d/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/sweethome3d/distinfo	Thu Mar 21 20:16:53 2013	(r314867)
@@ -0,0 +1,2 @@
+SHA256 (SweetHome3D-3.6-src.zip) = 944d7c5b3b145504ad28fcc0da831e7b03855cd20770f18f6cb86b75feaecb04
+SIZE (SweetHome3D-3.6-src.zip) = 18303801

Added: head/cad/sweethome3d/files/patch-build.xml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/sweethome3d/files/patch-build.xml	Thu Mar 21 20:16:53 2013	(r314867)
@@ -0,0 +1,15 @@
+--- ./build.xml.orig	2012-09-18 23:53:21.000000000 +0200
++++ ./build.xml	2012-09-18 23:53:37.000000000 +0200
+@@ -388,12 +388,6 @@
+       <zipfileset src="build/Textures.jar"/>
+       <zipfileset src="build/Help.jar"/>
+       <fileset dir="lib">
+-        <include name="windows/**/*.dll"/>
+-        <include name="linux/**/*.so"/>
+-        <include name="macosx/*.jnilib"/>
+-        <include name="macosx/*.jar"/>
+-      </fileset>
+-      <fileset dir="lib">
+         <include name="*.jar"/>
+       </fileset>
+       <fileset dir="libtest">

Added: head/cad/sweethome3d/files/patch-src__com__eteks__sweethome3d__SweetHome3DBootstrap.java
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/sweethome3d/files/patch-src__com__eteks__sweethome3d__SweetHome3DBootstrap.java	Thu Mar 21 20:16:53 2013	(r314867)
@@ -0,0 +1,37 @@
+--- ./src/com/eteks/sweethome3d/SweetHome3DBootstrap.java.orig	2012-09-18 23:50:39.000000000 +0200
++++ ./src/com/eteks/sweethome3d/SweetHome3DBootstrap.java	2012-09-18 23:52:55.000000000 +0200
+@@ -48,23 +48,12 @@
+         "jnlp.jar",
+         "j3dcore.jar", // Main Java 3D jars
+         "vecmath.jar",
+-        "j3dutils.jar",
+-        "macosx/gluegen-rt.jar", // Mac OS X jars and DLLs
+-        "macosx/jogl.jar",
+-        "macosx/libgluegen-rt.jnilib",
+-        "macosx/libjogl.jnilib",
+-        "macosx/libjogl_awt.jnilib",
+-        "macosx/libjogl_cg.jnilib"}));
++        "j3dutils.jar"
++    }));
+     if ("64".equals(System.getProperty("sun.arch.data.model"))) {
+-      extensionJarsAndDlls.add("linux/x64/libj3dcore-ogl.so"); // Linux 64 bits DLLs
+-      extensionJarsAndDlls.add("windows/x64/j3dcore-ogl.dll"); // Windows 64 bits DLLs
++      extensionJarsAndDlls.add("/usr/local/openjdk6/jre/lib/amd64/libj3dcore-ogl.so");
+     } else {
+-      extensionJarsAndDlls.add("linux/i386/libj3dcore-ogl.so"); // Linux 32 bits DLLs
+-      extensionJarsAndDlls.add("linux/i386/libj3dcore-ogl-cg.so"); // Windows 32 bits DLLs
+-      extensionJarsAndDlls.add("windows/i386/j3dcore-d3d.dll");
+-      extensionJarsAndDlls.add("windows/i386/j3dcore-ogl.dll");
+-      extensionJarsAndDlls.add("windows/i386/j3dcore-ogl-cg.dll");
+-      extensionJarsAndDlls.add("windows/i386/j3dcore-ogl-chk.dll");
++      extensionJarsAndDlls.add("/usr/local/openjdk6/jre/lib/i386/libj3dcore-ogl.so");
+     }
+     
+     String [] applicationPackages = {
+@@ -93,4 +82,4 @@
+     // Call application class main method with reflection
+     applicationClassMain.invoke(null, new Object [] {args});
+   }
+-}
+\ No newline at end of file
++}

Added: head/cad/sweethome3d/files/sweethome3d.sh.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/sweethome3d/files/sweethome3d.sh.in	Thu Mar 21 20:16:53 2013	(r314867)
@@ -0,0 +1,9 @@
+#!/bin/sh
+#
+# $FreeBSD$
+
+JAVA="%%LOCALBASE%%/bin/java"
+JARPATH="%%JAVALIBDIR%%"
+export JAVA_VERSION="%%JAVA_VERSION%%"
+
+exec "${JAVA}" -Xmx1024m -jar "${JARPATH}/%%JARNAME%%" "$@"

Added: head/cad/sweethome3d/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/cad/sweethome3d/pkg-descr	Thu Mar 21 20:16:53 2013	(r314867)
@@ -0,0 +1,4 @@
+Sweet Home 3D is a free interior design application that helps you place your
+furniture on a house 2D plan, with a 3D preview.
+
+WWW: http://www.sweethome3d.com
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 3 Pawel Pekala freebsd_committer freebsd_triage 2013-03-21 20:18:35 UTC
State Changed
From-To: open->closed

New port added, with minor changes. Thanks!