-
Notifications
You must be signed in to change notification settings - Fork 52
Use newer gentyref dependency #279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@ghisvail wrote:
It seems like at least a fork of this project is here: |
@imagejan Thanks for the pointers. Just found the official version: |
Regarding GenTyRef, SciJava Common will stop depending on it soon; see the generic-types branch (6be1858 specifically). I'll close this issue when that branch merges to master. If it would help with packageability, we could do something similar with EventBus, since it is also a small library, and does not seem to be actively developed anymore. Please let us know if so, and I can investigate; otherwise, I'll assume you are able to package eventbus successfully. |
Ok, so I'd probably wait then. Right now, I have
If both the |
Great, I filed issue #282 to remind me to do that. It will likely be a few weeks, due to other priorities, but I think merging the eventbus code into SJC is a good move regardless. Regarding parsington, we are considering separating that dependency as well into a scijava-script component, so that SJC proper does not depend on it. Have not settled on doing that for sure, though. It wouldn't help you a lot, probably, because scijava-script would certainly then be a dependency of downstream things like imagej-scripting. I don't want to pull the rug out from under you while you're working through the components, so we can certainly wait on such changes for the time being. I'm excited that you are working on this. Did you make a forum post yet about what you are trying to achieve? If so, could you point me to it? If not, could you start a quick thread on http://forum.imagej.net/ describing your goals? It would be awesome for the community to be aware of which distros you are targeting, etc., and possibly even help, since there are quite a few people who are anxiously awaiting (presumably some flavor(s) of Linux) packages for the ImageJ2 components! |
One other thing: there are enough Java components that it would be really good to have an automated way of wrapping them as packages as new versions are released. Otherwise, the packages will quickly fall out of date, and you will be exhausted as a maintainer. Relatedly, have you seen imagej/ImageJ#162? That discussion is with respect to Gentoo, but there have also been major efforts at packaging Fiji for Debian in the past by @mhl, which I can point you at if desired. He put some effort into automation, but at the time, the licensing of individual Fiji components was too hairy in some cases. We have since made great strides in purging incompatibly licensed components from Fiji, so it should in theory be possible to fully package Fiji now. Just a lot of work to do manually, since there are hundreds of JAR files. |
But parsington would still exist and be needed for the ImageJ2 stack, right?
I have not, since my effort is still in its infancy. Right now, I am trying to get to know the stack, whilst engaging with leaf dependencies like parsington and imglib2.
What applies to Gentoo will generally apply to other distros, so their advice is worth taking into account.
The focus is on ImageJ2 for now, which will already be quite a task. |
Yes, that library is very stable and will remain a dependency. So efforts to package it are worthwhile. I just meant that it may not remain a dependency of scijava-common specifically. In general, we want scijava-common to have minimal dependencies.
Sounds good.
Which distros are you personally looking at / interested in?
Indeed. As part of that, we are willing/happy to discuss paring down the "core ImageJ2" dependencies to make this easier. For example, the imagej-scripting component exists to bring together all of the SciJava script language components under one roof for consumption by ImageJ2. But we do not necessarily need for it to be a required dependency of |
Debian
Which is a good thing as far as modularity is concerned too.
I have seen such pattern used in the Python stack too. This way, you can have support for both system-wide / packaged plugins and user specific ones.
Hence why Debian gave up on it. |
@ctrueden Could you let me know what other leaf packages could be dealt with now, besides parsington and imglib2? Cheers, |
Including third party packages? Or only SciJava ones? Some third party ones which will probably not disappear any time soon:
And it is likely we'll have a dependency on com.google.guava:guava in the future too. Other third party leaf components which are not likely to disappear, but could be made to disappear if absolutely necessary:
At a quick glance, I didn't see any other leaf dependencies in the ImageJ software stack specifically. And apologies if any of the above are not actually leaves; I just did a quick glance at |
That's quite a big one :S |
Yes Guava is big, but... no dependencies! 😛 |
Already packaged in Debian:
Packaged but not at its latest major version:
Version 2.x, latest is 3.x. Not packaged yet:
|
what about the |
Core SCIFIO:
The new stuff here is:
Unfortunately, it gets more complicated with the SCIFIO-Bio-Formats integration layer. Do you want to package Bio-Formats? Doing so would be more effort. Bio-Formats ships with Fiji, but is not considered part of "core ImageJ2." |
How is that different than
So, neither
Babysteps. First get solid packaging for the core, then additional features. |
Sorry for the delay in reply.
The SCIFIO version is a fork, with various bug-fixes, and a renamed package prefix to avoid version skew with the original.
Correct, at least at this level. The |
@ctrueden Do you know where the source for |
Any possibility to ever see you guys converge to The licensing of On the other hand |
I believe that @melissalinkert tried to get the changes merged upstream many years ago, and got no response from the upstream developers. However, looking at https://github.com/jai-imageio/jai-imageio-core now, I see that @rleigh-codelibre, another one of the OME developers, has now gotten some stuff merged upstream. Could the OME devs clarify the situation there? Will we continue to need a fork of ImageIO, or is the goal to merge everything upstream now?
Are you sure? I have always found the licensing of these old Sun libraries confusing. Check out the It may indeed be the case that even if everything merged upstream, packaging it is legally dubious. Like I said above, we can work around this in part by creating a |
@ctrueden @ghisvail We haven't made a concrete decision yet, but we would like to merge the changes in our fork to the new jai-imageio upstream and then adopt it if that works out. Currently the upstream have been friendly but infrequently responsive. I'm still hopeful we can get everything merged there, but it might take a little while. If anyone wanted to help out with review of the open PRs that would be very helpful; not all our fork's changes are necessarily the optimal way of doing things upstream, so some might well need some rework. One of the changes (switching the default lossy tables to lossless) can't be merged and needs acomplishing in a less invasive way. https://github.com/rleigh-codelibre/jai-tidy/commits/master is the set of patches we are submitting, for reference, after untangling them from the bioformats history and also https://trello.com/c/yyz0NwKo/459-jai-imageio-upstream-fork if you have access which is tracking which of those have been submitted and/or merged upstream. |
@ctrueden you are right, these terms would likely not pass the DFSG. Not to mention the confusion arising from the mismatch between the restrictive copyright and permissive licensing terms.
Looks to me that this is the only way forward. As things stand now, |
The code for
gentyref
was moved to GitHub and the organisation was changed accordingly, fromcom.googlecode.gentyref
tocom.coekie.gentyref
. Please consider updatingscijava-common
to use the newer version, which will improve its packageability by Linux distributions.Unfortunately, the
eventbus
dependency is a trickier one to deal with. Does anyone know where the source code repository is?Cheers,
The text was updated successfully, but these errors were encountered: