r-quantities / units

Measurement units for R
https://r-quantities.github.io/units
175 stars 28 forks source link

About the udunits2 R package dependency #237

Closed pat-s closed 4 years ago

pat-s commented 4 years ago

Based on the recent linking issues in {udunits2}: https://github.com/pacificclimate/Rudunits2/issues/25

I was wondering if dropping the dependency on the {udunits2} R package might something to consider? The package was not updated since 2016 and the maintainer does not seem to be responsive in the repo.

I don't know how deeply units uses udunits and how much work that would be - just wanted to drop the thought and get your thoughts on this.

edzer commented 4 years ago

Not being responsive or not updating are both not measures of software quality, only of activity. Is there anything wrong or any complication with the R package udunits2?

pat-s commented 4 years ago

Not being responsive or not updating are both not measures of software quality, only of activity.

If there are valid issues sitting around unanswered for months/years, I'd say this relates to software quality. But this is a different topic - I think I see your point here though.

There are recent linking issues with the system udunits install on macOS that are somewhat painful to workaround. {units} its handling it better and I was just wondering if it could be an option to include the udunits dep/linking in some other way, i.e. not having to depend on the the udunits R package. This populates through up to {sf} in the end and is also somewhat of a pain to workaround on CI systems when the R package is being pulled in as a recursive dep (which applies to quite some spatial packages).

Being dependent on an API package that does not seem to get small fixes even and causes troubles for rev deps might not be desired for maintainers in the long term?

edzer commented 4 years ago

It is on purpose in Suggests:, which is a soft dependency: not required to run units, not required to run sf.

Enchufa2 commented 4 years ago

Direct soft dependencies, as in this case, are only needed usually to rebuild some vignette. And CI systems should not pull soft dependencies of direct strong dependencies.

pat-s commented 4 years ago

Direct soft dependencies, as in this case, are only needed usually to rebuild some vignette. And CI systems should not pull soft dependencies of direct strong dependencies.

Yeah you're both right - I'll have to take a closer look why it is being pulled in in my builds. Suggests are not pulled and there are not many packages that reverse import udunits2.

And {units} seems to be all fine and has no relation to the udunits2 R package. I think my brain needs a break and I should have thought in more detail before opening this issue here :)