gem, pip et al vs. pkg

Kurt Jaeger lists at opsec.eu
Wed Jun 8 00:53:16 UTC 2016


Hi!

> The ports tree has thousands of entries, which are simply thin wrappers 
> around Ruby's gem or Perl's and/or Python's pip.

Thanks again for asking the right questions. Please add go to that
list 8-}

> Why do we need them? Obviously, it is primarily 
> for other ports to be able to depend on them. But why can't we satisfy 
> this need without creating a port for each such little package?

Because right now the mechanism we use is the only one we have.

> If a port declares:
> 
>     RUN_DEPENDS= /foo/:gem//bar/[:/version/]
> 
> why can't the /bar/-gem (with the latest or specified version) be 
> automatically installed -- and/or registered as a dependency -- without 
> there being a dedicated port for it?

We would need to mirror the language-specific dependency tracking
in the ports system. While doable, it's definitly non-trivial.

> In the other direction, if someone were to install a Ruby gem using the 
> gem-utility (or pip-perl, or pip-python, or even rpm), why aren't the 
> installed files registered in the pkg's database? We have the sources 
> for all of these utilities -- we can modify them to register the package 
> and its files with the pkg.
> 
> The changes may even be welcomed upstream, if they are abstract enough 
> to allow registration with the Operating System's package-manager on 
> /all/ OSes, which would bother implementing a custom backend...

Sounds valid, now someone has to implement this -- and send
it upstream for each language.

-- 
pi at opsec.eu            +49 171 3101372                         4 years to go !


More information about the freebsd-ports mailing list