jajuk-team / jajuk

Advanded jukebox for users with large or scattered music collections
49 stars 19 forks source link

jajuk depends on unmaintained substance library #1994

Closed apoleon closed 8 years ago

apoleon commented 9 years ago

Hi,

jajuk depends on substance which unfortunately has not been maintained for years. https://java.net/projects/substance

There is a fork of substance called insubstantial with some bug fixes. https://github.com/Insubstantial/insubstantial

This one is also unmaintained since 2013. Both versions still depend on asm2, which is incompatible with Java7 and above.

Please consider to move away from substance or to become the new maintainer of substance. The dependency on asm2 is mainly blocking the inclusion of newer Jajuk version into Debian and probably other distributions which build everything from source.

bflorat commented 9 years ago

Hi,

It's a bad news, Jajuk leverages Substance heavily (we even have a theme option based on substance themes built in the configuration panel). But if these library is no more maintained and if there is no alternative, I suppose we have no choice but abandoning them to a supported one (Nimbus ?).

BTW, do you know of any other decent Swing LaF library ?

Aside note : I plan to perform some library upgrades soon (httpclient ...) and I'd like to help Debian packaging (it would be nice to build a Debian package built upon latest jajuk versions).

apoleon commented 9 years ago

Am 09.10.2015 um 20:47 schrieb Bertrand Florat:

Hi,

It's a bad news, Jajuk leverages Substance heavily (we even have a theme option based on substance themes built in the configuration panel). But if these library is no more maintained and if there is no alternative, I suppose we have no choice but abandoning them to a supported one (Nimbus ?).

BTW, do you know of any other decent Swing LaF library ?

Hi,

thank you for your quick response. We are currently discussing the best way forward. Felix Natter is a Debian maintainer and also a developer of Freeplane [1] who would like to maintain the substance fork insubstantial [2] for Debian because freeplane heavily leverages substance too.

I have pointed out three possible options in [2].

  1. The best solution would be to port insubstantial to asm5, so that we can finally get rid of the ten year old asm2 version. All packages could still depend on the new substance fork insubstantial. Nothing needs to change. Perhaps you might be interested to help and perhaps it is even easier to achieve than moving to another theme.
  2. The second option is to make the dependency on substance (insubstantial) optional. triplea, another Java game, seems to offer this option. The current Debian package recommends substance but neither build-depends or depends on it.
  3. Do not depend on unmaintained software like substance and provide the Nimbus theme as the default. I personally think Nimbus is a good Java LAF theme and it comes without additional libraries and maintenance work.

[1] http://www.freeplane.org/wiki/index.php/Main_Page [2] https://bugs.debian.org/787953

Aside note : I plan to perform some library upgrades soon (httpclient ...) and I'd like to help Debian packaging (it would be nice to build a Debian package built upon latest jajuk versions).

I will gladly help you to package a newer version of Jajuk for Debian. Just contact me on debian-java@lists.debian.org or reply to one of Jajuk's Debian bug reports. (I'm subscribed to the bug report list as well)

Regards,

Markus

apoleon commented 9 years ago

Felix Natter already provides some patches for Jajuk to switch over to insubstantial:

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=787953#25

https://github.com/fnatter/insubstantial-debian/blob/rdeps/rdeps/jajuk/05_insubstantial_7.3.diff

https://github.com/fnatter/insubstantial-debian/blob/rdeps/rdeps/jajuk/MANIFEST.MF.diff

gkerdal commented 9 years ago

Hi Bertrand,

I read that JavaFX is the new library supported by Oracle after Swing. I don't know much about it, is it possible to move Jajuk to JavaFX if it's not a huge project ?

I can give you a help on sustance/insubstantial if you need. I would be glad to see a new release of Jajuk.

Regards,

Gwen.

2015-10-09 20:47 GMT+02:00 Bertrand Florat notifications@github.com:

Hi,

It's a bad news, Jajuk leverages Substance heavily (we even have a theme option based on substance themes built in the configuration panel). But if these library is no more maintained and if there is no alternative, I suppose we have no choice but abandoning them to a supported one (Nimbus ?).

BTW, do you know of any other decent Swing LaF library ?

Aside note : I plan to perform some library upgrades soon (httpclient ...) and I'd like to help Debian packaging (it would be nice to build a Debian package built upon latest jajuk versions).

— Reply to this email directly or view it on GitHub https://github.com/jajuk-team/jajuk/issues/1994#issuecomment-146958869.

bflorat commented 9 years ago

@gkerdal : migrating Jajuk from Swing to JavaFX is not an option according to me. Too much work and I have very little time to maintain jajuk. @apoleon : I would be nice to switch to insubstantial but I have no time to help on the asm5 port. I you think that insubstantial may be compatible with jajuk 1.7+, I may port it.

In the mean time, I'll check the look of Nimbus under Linux/Windows/OSX and make an idea. If it really looks good and if it's supported under every OS, I think we'll switch to it to avoid such issues in the future.

apoleon commented 9 years ago

Am 17.10.2015 um 22:24 schrieb Bertrand Florat: [...]

@apoleon https://github.com/apoleon : I would be nice to switch to insubstantial but I have no time to help on the asm5 port. I you think that insubstantial may be compatible with jajuk 1.7+, I may port it.

Hopefully insubstantial is just a drop-in-replacement for substance. I will ping you again as soon as we make some progress on this front.

In the mean time, I'll check the look of Nimbus under Linux/Windows/OSX and make an idea. If it really looks good and if it's supported under every OS, I think we'll switch to it to avoid such issues in the future.

Nimbus is a fine theme. It is surely worth considering.

gkerdal commented 9 years ago

Hi Bertrand,

i just pushed a request on GIT of Jajuk with substance 7.1.3-SNAPSHOT. It's just a preview version of Jajuk, the snapshot of substance has been done on my machine.

I also changed some packaging info so we can export this version (build) easily to test it outside Eclipse, plus changed some obsolete links of jajuk.info web site.

Tell me what you think about it ?

Regards,

Gwen.

2015-10-18 15:36 GMT+02:00 Markus Koschany notifications@github.com:

Am 17.10.2015 um 22:24 schrieb Bertrand Florat: [...]

@apoleon https://github.com/apoleon : I would be nice to switch to insubstantial but I have no time to help on the asm5 port. I you think that insubstantial may be compatible with jajuk 1.7+, I may port it.

Hopefully insubstantial is just a drop-in-replacement for substance. I will ping you again as soon as we make some progress on this front.

In the mean time, I'll check the look of Nimbus under Linux/Windows/OSX and make an idea. If it really looks good and if it's supported under every OS, I think we'll switch to it to avoid such issues in the future.

Nimbus is a fine theme. It is surely worth considering.

— Reply to this email directly or view it on GitHub https://github.com/jajuk-team/jajuk/issues/1994#issuecomment-149017262.

fnatter commented 9 years ago

hello Jajuk devs,

@apoleon : I would be nice to switch to insubstantial but I have no time to help on the asm5 port. I you think that insubstantial may be compatible with jajuk 1.7+, I may port it.

I am working on the insubstantial package for Debian, and I made progress with moving to ASM5. See this bug for more info: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=787953

@apoleon : I would be nice to switch to insubstantial but I have no time to help on the asm5 port. I you think that insubstantial may be compatible with jajuk 1.7+, I may port it.

Hopefully insubstantial is just a drop-in-replacement for substance. I will ping you again as soon as we make some progress on this front.

The patch for moving jajuk to insubstantial is not very complex (many package changes...): https://github.com/fnatter/insubstantial-debian/blob/rdeps/rdeps/jajuk/05_insubstantial_7.3.diff

i just pushed a request on GIT of Jajuk with substance 7.1.3-SNAPSHOT. It's just a preview version of Jajuk, the snapshot of substance has been done on my machine.

I estimate it will still take a few months until "insubstantial" is in Debian (testing).

Cheers and Best Regards, Felix

bflorat commented 9 years ago

@Gwen : thanks I'll have a look ASAP. What is this release of substance ? the insubstantial snapshot provided by Felix ? is it compatible with latest Debian packages ?

gkerdal commented 9 years ago

Hello,

@Bertrand, the snapshot is based on Github project : Insubstantial/insubstantial. I understood that it's not yet compatible, Felix is working on it (on fnatter/insubstantial-debian ?).

By the way, I realized that my changes are not equivalent to Felix's diff, I'll have a look very soon, don't hurry yet on my request.

Cheers,

Gwen.

2015-10-25 16:30 GMT+01:00 Bertrand Florat notifications@github.com:

@Gwen https://github.com/Gwen : thanks I'll have a look ASAP. What is this release of substance ? the insubstantial snapshot provided by Felix ? is it compatible with latest Debian packages ?

— Reply to this email directly or view it on GitHub https://github.com/jajuk-team/jajuk/issues/1994#issuecomment-150934888.

fnatter commented 9 years ago

hi,

to make it clear: I work on the Debian package of insubstantial (flamingo/substance/trident 7.3), and as a part of this, I am porting it from ASM2 to ASM5. Furthermore I provided a patch to make jajuk compile and run with the new insubstantial, see above (which may not be 100% correct but works for me). I am not involved in insubstantial upstream (although I will submit the ASM5 patch).

Cheers and Best Regards, Felix

gkerdal commented 9 years ago

Hi, @Bertrand, I pushed a new request including all Felix's work. I tested different screens, everything's seems fine. If it's possible to run the junit tests. (I didn't find a way to launch all of them in one shot).

Cheers,

Gwen.

2015-10-27 7:40 GMT+01:00 Felix Natter notifications@github.com:

hi,

to make it clear: I work on the Debian package of insubstantial (flamingo/substance/trident 7.3), and as a part of this, I am porting it from ASM2 to ASM5. Furthermore I provided a patch to make jajuk compile and run with the new insubstantial, see above (which may not be 100% correct but works for me). I am not involved in insubstantial upstream (although I will submit the ASM5 patch).

Cheers and Best Regards, Felix

— Reply to this email directly or view it on GitHub https://github.com/jajuk-team/jajuk/issues/1994#issuecomment-151393864.

bflorat commented 9 years ago

Thanks Gwen. Just run a mvn test if you have maven. If you are confident, you can also push your commits to githib, it will trigger the CI tests at http://integration.jajuk.info/jenkins/job/ . Note also that junit tests are unlikely to detect issues related with the look and feel, they are mainly functional test against low level features. LnF issues could probably only be detected by manual exploratory testing like you did.

fnatter commented 8 years ago

hello gkerdal,

can you please tell us what the status of the patch is? I couldn't find a new request (pull request or issue). We would like to update the jajuk Debian package (with new insubstantial), and we are wondering whether we should patch jajuk-1.9 in Debian or update to a new upstream release?

Cheers and Best Regards, Felix

bflorat commented 8 years ago

Hi Felix,

Your work has been integrated by Gwen in the maintenance-1.10.8 branch at commit 159c1139cf035a214569009958c5e1f119eb4221. We use SNAPSHOTs of your libraries. Should we upgrade to a more recent SNAPSHOT or a release ?

We are currently planning to release 1.10.8 (a fixpack release) in next days (I just want to fix a severe issue under OSX).

Ideally, you would go with 1.10.8 (hopping than there are no others unmaintened library). We plan this year to focus on simplify integration, removing painful features (like the systray) and removing useless or unmainted libraries (for instance, I plan to try again the JRE build in browser component to drop the Cobra libraries used for the Wikipedia view). We also would like to upgrade Gnu/Linux distros packages (at least Debian / Ubuntu and Archlinux).

Cheers -Bertrand

gkerdal commented 8 years ago

Hi Felix,

sorry for the delay, I was away last week. To be clear, I did the snapshot from insubstantial/insubstantial repository not from fnatter/insbustantial. Which one would you suggest to use ?

Cheers,

Gwen.

2016-01-21 13:24 GMT+01:00 Felix Natter notifications@github.com:

hello gkerdal,

can you please tell us what the status of the patch is? I couldn't find a new request (pull request or issue). We would like to update the jajuk Debian package (with new insubstantial), and we are wondering whether we should patch jajuk-1.9 in Debian or update to a new upstream release?

Cheers and Best Regards, Felix

— Reply to this email directly or view it on GitHub https://github.com/jajuk-team/jajuk/issues/1994#issuecomment-173555513.

fnatter commented 8 years ago

hello Bertrand, hello Gwen,

@Bertrand: Great! 7.3.1-SNAPSHOT is (in this case) the same as 7.3 (release), so that is fine :-) Upgrading the Debian package (currently @ 1.9.6) is exactly what we need to do, as 1.9 does not compile with the new insubstantial libraries. Would you help us in doing that?

@Gwen: Yes, https://github.com/fnatter/insubstantial-debian is (an old version of) the Debian package for insubstantial, so https://github.com/Insubstantial/insubstantial is fine.

Cheers and Best Regards, Felix

fnatter commented 8 years ago

hi, it would also be important to briefly test (or review) my (UI-) changes. I don't know much about jajuk, so I tested only briefly. Thanks, Felix

bflorat commented 8 years ago

Fine, I'll switch to the final release of insubstancial (7.3) instead of using a SNAPSHOT (I don't like much to release jajuk with SNAPSHOT dependencies).

@Felix : we can help on building jajuk 1.9 with the last insubstancial release but Jajuk 1.9 is no more supported since several years and we would prefer instead to help packaging directly the 1.10.8 into Debian, is it possible ?

fnatter commented 8 years ago

hello Bertrand,

7.3.1-SNAPSHOT is the 7.3 release, they built the release tarball too late (after opening for 7.3.1), so you are using the release right now. Concerning jajuk-1.10: This is exactly what we are planning to do :-) Cheers and Best Regards, Felix

bflorat commented 8 years ago

Done, we now use the final releases of required librairies in maintenance branch.

bflorat commented 8 years ago

@Felix : Note that we plan to continue dependencies cleanup in upcoming 1.11 (will be available in few mouths). This will include an atempt to drop Cobra and JS libs, drop all pure java format players and some libs upgrades.

bflorat commented 8 years ago

Note that this lib requires JRE 1.7+ as it depends on JRE 1.7 AWT classes. This is not a problem and it is even IMO a good thing to force people to upgrade to a supported java version.

fnatter commented 8 years ago

@Bertrand: Thanks for the info. Where shall we coordinate jajuk 1.10 for Debian? Cheers and Best Regards, Felix

bflorat commented 8 years ago

@Felix We can begin to work on the Debian release as soon as you want, 1.10.8 has been released yesterday. Tell me if you need anything. In the mean time, we'll work on others lib cleanup for 1.11.

fnatter commented 8 years ago

@bflorat I have created a temporary repository for the jajuk-1.10 Debian package: https://github.com/fnatter/jajuk-debian (I have given you commit access) I will move the changes to Debian's pkg-java once we are stable.

I have fixed get-orig-source and imported the 1.10.8 source. Now we need to adapt the patches, fix some dirs (e.g. src/scripts/build.xml->build.xml) and make the package build.

Cheers and Best Regards, Felix

fnatter commented 8 years ago

hi Bertrand,

I am currently struggling with this: [mkdir] Created dir: /home/felix/build

--> in debian/ant.properties there is this line: rootdir=./build so this seems strange to me. Could you please check as you are more knowledgeable of the build system?

Cheers and Best Regards, Felix

bflorat commented 8 years ago

Hi Felix,

Please see my response at https://github.com/fnatter/jajuk-debian/issues/1