Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 209696

Summary: Application SweetHome 3d - ebuild request.
Product: Gentoo Linux Reporter: Mateusz <matiqing>
Component: New packagesAssignee: Java team <java>
Status: CONFIRMED ---    
Severity: enhancement CC: aklhfex, bfx81, bugzilla, cornicx, flyser42, ibormuth, jason, java, mva, openhs, orzel, rossi.f, theli.ua, tomas.linhart, vytautas
Priority: High Keywords: EBUILD, InOverlay
Version: unspecified   
Hardware: All   
OS: All   
URL: http://sweethome3d.sourceforge.net/
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 231331, 232466, 287267, 303039    
Bug Blocks:    
Attachments: sweethome3d-1.3.ebuild
sweethome3d-1.3.ebuild
sweethome3d-4.3-r1.ebuild
sweethome3d-4.3-docs.patch
sweethome3d-4.3-nomacosx.patch
sweethome3d-5.0.ebuild
sweethome3d-5.2.ebuild
sweethome3d-5.4.ebuild
sweethome3d-5.4-nomacosx.patch
sweethome3d-5.4-util.patch
sweethome3d-5.6.ebuild
sweethome3d-5.6-nomacosx.patch
sweethome3d-5.6.ebuild
sweethome3d-5.7.ebuild
sweethome3d-5.7.ebuild
sweethome3d.png

Description Mateusz 2008-02-11 19:49:57 UTC
I found interesting application SweetHome 3d, Home page: http://sweethome3d.sourceforge.net/
It is in java.
Working well on Linux.
I can't write ebuilds. I think this application can be useful for soeon groups of people. It is not complicated to install...

Reproducible: Always
Comment 1 Jiri Tyr 2008-07-20 12:52:12 UTC
Created attachment 160928 [details]
sweethome3d-1.3.ebuild

Ebuild for media-gfx/sweethome3d-1.3.
Comment 2 Serkan Kaba (RETIRED) gentoo-dev 2008-07-20 13:36:32 UTC
(In reply to comment #1)
> Created an attachment (id=160928) [edit]
> sweethome3d-1.3.ebuild
> 
> Ebuild for media-gfx/sweethome3d-1.3.
> 

Comment about the ebuild.
* Examine if you can use openjnlp or jnlp-bin in overlay. And is it mandatory to run the application (You don't to use it in src_compile)
* Calls to rm and cd must die in error. rm should be called with -v.
* eant dies on error by itself
Comment 3 Jiri Tyr 2008-07-20 15:14:21 UTC
(In reply to comment #2)
> Comment about the ebuild.
> * Examine if you can use openjnlp or jnlp-bin in overlay. And is it mandatory
> to run the application (You don't to use it in src_compile)

I tested it with jnlp-bin and it doesn't work because it doesn't contain all the necessary classes (SingleInstanceListener.class and SingleInstanceService.class) which are part of the javaws.jar from JRE (x86 only! - this is why I have to use app-emulation/emul-linux-x86-java on amd64).

> * Calls to rm and cd must die in error. rm should be called with -v.

Corrected.

> * eant dies on error by itself

Corrected.

PS: Could you add dependence on bug #133721 because there doesn't exist =dev-java/sun-java3d-bin-1.5.x in the Portage Tree.
Comment 4 Jiri Tyr 2008-07-20 15:15:22 UTC
Created attachment 160940 [details]
sweethome3d-1.3.ebuild

Corrected ebuild for sweethome3d-1.3.
Comment 5 Miroslav Šulc gentoo-dev 2008-07-21 09:01:52 UTC
I think you should rather use j3d-core and vecmath from java-overlay instead of sun-java3d-bin (these are from-source packages). Also please fix the LICENCE, remove empty RESTRICT and quote ${S}.

We also need to find a way how to solve the javaws.jar usage. Maybe Betelgeuse will know.
Comment 6 Miroslav Šulc gentoo-dev 2008-11-15 21:59:47 UTC
I bumped that to version 1.4. I also cleaned up the ebuild but there is still the problem with javaws.jar which I do not know how to solve. Up to that, I am not able to start it because this exception:

$ SweetHome3D 
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name com.eteks.sweethome3d.io.DefaultFurnitureCatalog, locale cs_CZ
	at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1521)
	at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1260)
	at java.util.ResourceBundle.getBundle(ResourceBundle.java:715)
	at com.eteks.sweethome3d.io.DefaultFurnitureCatalog.<init>(Unknown Source)
	at com.eteks.sweethome3d.io.DefaultUserPreferences.<init>(Unknown Source)
	at com.eteks.sweethome3d.io.FileUserPreferences.<init>(Unknown Source)
	at com.eteks.sweethome3d.SweetHome3D.<init>(Unknown Source)
	at com.eteks.sweethome3d.SweetHome3D.createApplication(Unknown Source)
	at com.eteks.sweethome3d.SweetHome3D.main(Unknown Source)
Caused by: java.lang.ClassCastException: com.eteks.sweethome3d.io.DefaultFurnitureCatalog cannot be cast to ResourceBundle
	at java.util.ResourceBundle$Control.newBundle(ResourceBundle.java:2391)
	at java.util.ResourceBundle.loadBundle(ResourceBundle.java:1406)
	at java.util.ResourceBundle.findBundle(ResourceBundle.java:1365)
	at java.util.ResourceBundle.findBundle(ResourceBundle.java:1292)
	at java.util.ResourceBundle.findBundle(ResourceBundle.java:1292)
	at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1234)
	... 7 more

Because of these problems, I put it in java-experimental overlay for now till the problems are solved. Any suggestions are welcome.
Comment 7 Miroslav Šulc gentoo-dev 2008-11-20 00:15:15 UTC
I solved the problem with application startup so the app works now. Before we move it to the main tree, we need to solve the javaws.jar problem.

As the application works, I moved it from java-experimental to java-overlay.
Comment 8 Miroslav Šulc gentoo-dev 2008-11-20 00:15:55 UTC
Comment on attachment 160940 [details]
sweethome3d-1.3.ebuild

obsoleted by overlay sweethome3d-1.4.ebuild in java-overlay
Comment 9 Miroslav Šulc gentoo-dev 2009-03-02 08:21:03 UTC
Version 1.6 is now in java-overlay.
Comment 10 Anton Romanov 2009-05-13 08:11:14 UTC
04/05/2009 - New version 1.8
Comment 11 Anton Romanov 2009-05-13 09:03:25 UTC
also, 1.6 in java-overlay fails to build

and 1.8 needs FreeHEP libraries which are missing
Comment 12 Paul V 2009-07-06 18:32:41 UTC
Version 2.0 is available.
Comment 13 Michal Bryxí 2009-12-02 18:47:35 UTC
Version 2.1 is available.
Comment 14 Róbert Čerňanský 2010-02-28 10:26:13 UTC
Upstream released version 2.2 on Dec 26, 2009 with added support for 64 bit linux.
Comment 15 tman 2010-04-15 13:40:02 UTC
could someone bump this to an currently version plz. thanks
Comment 16 Sebastian Pipping gentoo-dev 2011-03-10 09:05:25 UTC
Latest version in java-overlay is media-gfx/sweethome3d-3.0-r2 as of today.

Just mentioning so this bug doens't look worse than necessary...
Comment 17 Miroslav Šulc gentoo-dev 2011-03-10 14:51:27 UTC
bumped to 3.1 in java-overlay. you can also find some useful info in bug 290994.
Comment 18 Miroslav Šulc gentoo-dev 2011-03-10 14:52:11 UTC
*** Bug 290994 has been marked as a duplicate of this bug. ***
Comment 19 Jason Lamb 2012-07-24 19:34:34 UTC
If possible, would be greatly appreciated if ebuild could be updated to current release of 3.5.

Thanks..
Comment 20 Fabio Rossi 2014-03-23 22:02:39 UTC
Here is attached the ebuild for the latest version.

The major changes are:
- now batik-1.7 is needed
- sunflow needs a particular version of janino, 2.5.15
- sunflow is grabbed from SVN and patched on the fly autogenerating a diff from the embedded version
- sunflow is still embedded because that version is patched while the external version (available in the java overlay) doesn't work - moreover I don't see packages depending on sunflow
- added support for USE=doc

The following packages are still needed in portage:
- dev-java/janino-2.5.15
- dev-java/java3dsloader-1.2
- dev-java/j3d-core-1.5.2
- dev-java/vecmath-1.5.2
Comment 21 Fabio Rossi 2014-03-23 22:07:09 UTC
Created attachment 373362 [details]
sweethome3d-4.3-r1.ebuild
Comment 22 Fabio Rossi 2014-03-23 22:09:36 UTC
Created attachment 373364 [details, diff]
sweethome3d-4.3-docs.patch
Comment 23 Fabio Rossi 2014-03-23 22:09:45 UTC
*** Bug 461218 has been marked as a duplicate of this bug. ***
Comment 24 Fabio Rossi 2014-03-23 22:10:06 UTC
Created attachment 373366 [details, diff]
sweethome3d-4.3-nomacosx.patch
Comment 25 Vadim A. Misbakh-Soloviov (mva) gentoo-dev 2014-03-24 19:03:30 UTC
(In reply to Fabio Rossi from comment #20)
> - sunflow is still embedded because that version is patched while the
> external version (available in the java overlay) doesn't work - moreover I
> don't see packages depending on sunflow

So, maybe patch in-overlay version with Sweethome bundled patches (exptractthem from bundle and putin filesdir) then?
Comment 26 Fabio Rossi 2014-03-24 19:33:29 UTC
(In reply to Vadim A. Misbakh-Soloviov (mva) from comment #25)

> So, maybe patch in-overlay version with Sweethome bundled patches
> (exptractthem from bundle and putin filesdir) then?

I have already a version (-r0) of SweetHome3D which builds against an external patched sunflow but I made -r1 because I don't see the reason in having sunflow as a separate package. Two reasons:

* there are no other packages requiring sunflow
* each time a new version of SweetHome3D is released the changes inside the embedded sunflow might be different, so there should be two packages to be updated, this effort is worthless (see previous point)

Ideally the best solution would be asking SweetHome3D in pushing upstream their patches but last change in sunflow is dated back to 2007 ...
Comment 27 Karsten Merkle 2015-08-24 11:14:31 UTC
Created attachment 410048 [details]
sweethome3d-5.0.ebuild

version bump 5.0

- only keeps binary to AppleJavaExtensions.jar (fix needed)
- still needs fix to remove dependency to eclass java-pkg-simple
Comment 28 Fabio Rossi 2016-04-23 13:15:11 UTC
Created attachment 431682 [details]
sweethome3d-5.2.ebuild

Latest version, unfortunately it will never go into portage because a few deps (dev-java/freehep*) are just being removed from portage (see bug #580094) :-(
Comment 29 James Le Cuirot gentoo-dev 2016-04-23 13:34:17 UTC
(In reply to Fabio Rossi from comment #28)
> Latest version, unfortunately it will never go into portage because a few
> deps (dev-java/freehep*) are just being removed from portage (see bug
> #580094) :-(

Heh and there I was saying it wasn't used by anything. The versions in the tree were super ancient anyway so it needs bumping at the least. I know there has always been interest in Sweet Home 3D and I even considered using it myself once or twice. Perhaps we could strike the few that are needed (graphics2d, graphicsio, graphicsio-svg, util) off the much longer removal list.
Comment 30 Fabio Rossi 2016-04-30 15:53:39 UTC
(In reply to James Le Cuirot from comment #29)
> (In reply to Fabio Rossi from comment #28)
> > Latest version, unfortunately it will never go into portage because a few
> > deps (dev-java/freehep*) are just being removed from portage (see bug
> > #580094) :-(
> 
> Heh and there I was saying it wasn't used by anything. The versions in the
> tree were super ancient anyway so it needs bumping at the least. I know
> there has always been interest in Sweet Home 3D and I even considered using
> it myself once or twice. Perhaps we could strike the few that are needed
> (graphics2d, graphicsio, graphicsio-svg, util) off the much longer removal
> list.

These are the packaged needed by sweethome3d:

dev-java/freehep-export
dev-java/freehep-graphics2d
dev-java/freehep-graphicsio
dev-java/freehep-graphicsio-svg
dev-java/freehep-graphicsio-tests
dev-java/freehep-io
dev-java/freehep-misc-deps
dev-java/freehep-swing
dev-java/freehep-util
dev-java/freehep-xml
Comment 31 James Le Cuirot gentoo-dev 2016-05-24 21:51:14 UTC
Good news. I've been bumping FreeHEP but things have changed a bit so now only 6 packages are needed instead of 10. With a little persuasion (like using the bundled Java3D for now), I was able to successfully build Sweet Home 3D 5.2. I still need to do some cleanup before I can push FreeHEP but shouldn't be long.
Comment 32 Fabio Rossi 2016-05-25 20:57:11 UTC
(In reply to James Le Cuirot from comment #31)
> Good news. I've been bumping FreeHEP but things have changed a bit so now
> only 6 packages are needed instead of 10. With a little persuasion (like
> using the bundled Java3D for now), I was able to successfully build Sweet
> Home 3D 5.2. I still need to do some cleanup before I can push FreeHEP but
> shouldn't be long.

nice, thanks :-)
Comment 33 Fabio Rossi 2017-02-10 23:37:33 UTC
(In reply to James Le Cuirot from comment #31)
> I was able to successfully build Sweet Home 3D 5.2. I still need to do some 
> cleanup before I can push FreeHEP but shouldn't be long.

I have tried migrating the ebuild for the latest 5.4 version, org.freehep.util package is used from org.freehep.graphicsbase.util. Please have a test
Comment 34 Fabio Rossi 2017-02-10 23:38:28 UTC
Created attachment 463176 [details]
sweethome3d-5.4.ebuild
Comment 35 Fabio Rossi 2017-02-10 23:39:25 UTC
Created attachment 463178 [details, diff]
sweethome3d-5.4-nomacosx.patch
Comment 36 Fabio Rossi 2017-02-10 23:40:20 UTC
Created attachment 463180 [details, diff]
sweethome3d-5.4-util.patch
Comment 37 Fabio Rossi 2018-01-07 22:30:31 UTC
Created attachment 513724 [details]
sweethome3d-5.6.ebuild
Comment 38 Fabio Rossi 2018-01-07 22:31:35 UTC
Created attachment 513726 [details, diff]
sweethome3d-5.6-nomacosx.patch
Comment 39 Fabio Rossi 2018-01-07 22:38:17 UTC
Minor changes in the ebuild fixing the creation of the launcher script. Now I get the following error related to opengl:

$ SweetHome3D
com.jogamp.opengl.GLException: J3D-Renderer-1: createImpl ARB n/a but required, profile > GL2 requested (OpenGL >= 3.1). Requested: GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO, hardware) - 3.0 Mesa 17.2.7
        at jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:440)
        at jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:765)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:648)
        at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:586)
        at javax.media.j3d.JoglPipeline.createNewContext(JoglPipeline.java:6411)
        at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:4602)
        at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:2376)
        at javax.media.j3d.Renderer.doWork(Renderer.java:881)
        at javax.media.j3d.J3dThread.run(J3dThread.java:271)
Error in Java 3D : 3 Renderer: Error creating Canvas3D graphics contextX11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 2/2, reusable (open, marked uncloseable): 0, pending (open in creation order): 2)
X11Util: Open X11 Display Connections: 2
X11Util: Open[0]: NamedX11Display[:0, 0x7f1a680087b0, refCount 1, unCloseable false]
X11Util: Open[1]: NamedX11Display[:0, 0x7f1a68122710, refCount 1, unCloseable false]

I have a r600g based graphics card which has a 3.3 core profile but the compat profile seems to be only 3.0. In the past it was working without problems, the error doesn't depend on sweethome3d version but on the (I guess) jogl-2.3.2 + mesa-17.2.7 combination.
Comment 40 Fabio Rossi 2018-01-23 23:06:02 UTC
(In reply to Fabio Rossi from comment #39)
> Minor changes in the ebuild fixing the creation of the launcher script. Now
> I get the following error related to opengl:
> 
> $ SweetHome3D
> com.jogamp.opengl.GLException: J3D-Renderer-1: createImpl ARB n/a but
> required, profile > GL2 requested (OpenGL >= 3.1). Requested:
> GLProfile[GL3bc/GL3bc.hw], current: 3.0 (Compat profile, compat[ES2], FBO,
> hardware) - 3.0 Mesa 17.2.7
>         at
> jogamp.opengl.x11.glx.X11GLXContext.createImpl(X11GLXContext.java:440)
>         at
> jogamp.opengl.GLContextImpl.makeCurrentWithinLock(GLContextImpl.java:765)
>         at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:648)
>         at jogamp.opengl.GLContextImpl.makeCurrent(GLContextImpl.java:586)
>         at
> javax.media.j3d.JoglPipeline.createNewContext(JoglPipeline.java:6411)
>         at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:4602)
>         at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:2376)
>         at javax.media.j3d.Renderer.doWork(Renderer.java:881)
>         at javax.media.j3d.J3dThread.run(J3dThread.java:271)
> Error in Java 3D : 3 Renderer: Error creating Canvas3D graphics
> contextX11Util.Display: Shutdown (JVM shutdown: true, open (no close
> attempt): 2/2, reusable (open, marked uncloseable): 0, pending (open in
> creation order): 2)
> X11Util: Open X11 Display Connections: 2
> X11Util: Open[0]: NamedX11Display[:0, 0x7f1a680087b0, refCount 1,
> unCloseable false]
> X11Util: Open[1]: NamedX11Display[:0, 0x7f1a68122710, refCount 1,
> unCloseable false]
> 
> I have a r600g based graphics card which has a 3.3 core profile but the
> compat profile seems to be only 3.0. In the past it was working without
> problems, the error doesn't depend on sweethome3d version but on the (I
> guess) jogl-2.3.2 + mesa-17.2.7 combination.

Issue solved in the future jogl-2.3.3, all the details can be read starting from http://www.sweethome3d.com/support/forum/viewthread_thread,8253
Comment 41 Fabio Rossi 2018-01-23 23:07:51 UTC
Created attachment 516276 [details]
sweethome3d-5.6.ebuild

enforcing version for j3d-core dependency because of specific java.library.path used in the launcher script
Comment 42 Fabio Rossi 2018-01-30 22:49:32 UTC
Created attachment 517200 [details]
sweethome3d-5.7.ebuild
Comment 43 Fabio Rossi 2018-01-30 22:51:28 UTC
Created attachment 517202 [details]
sweethome3d-5.7.ebuild
Comment 44 Fabio Rossi 2018-01-30 22:53:26 UTC
Created attachment 517204 [details]
sweethome3d.png

the png image is not available anymore in the dev.gentoo.org user folder, let's put it in ${FILESDIR}