comp.lang.ada
 help / color / mirror / Atom feed
* Per-project third party library management
@ 2018-10-09  7:03 Henrik Härkönen
  2018-10-09  7:56 ` Dmitry A. Kazakov
  0 siblings, 1 reply; 3+ messages in thread
From: Henrik Härkönen @ 2018-10-09  7:03 UTC (permalink / raw)


What would be the most convenient way to manage ( mostly install & upgrade) a third party library for one's project?

With python projects I'd probably fire up an virtualenv per project and install stuff there with pip etc. With scala I'd use SBT to handle the libraries. In my C development days, we had a proprietary RTOS with all of it's dependencies managed by someone else, so I didn't have to (or get to learn) worry about those personally... :(

As I've understood, Ada doesn't have such a package distribution system, so one would typically download sources, compile and install the library through it's make system. Or install readily packaged version of the library, for example with apt-get etc.

So far, I've installed AWS from source and Ahven from a DEB package, and as such they are just fine methods. But both were using root access and system wide install.

What I'm aiming for with my question, is to learn a way to install a library so that it would not require root access and it would be more tied to the project. 

Different projects might need to use different versions etc.

Should I use GNU Stow, or configure --prefix to point somewhere under my project tree and have gprbuild include it from there, or...?

My apologies if this has been asked a lot, but at least I didn't find that many directly related discussions about this.

-Henrik

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Per-project third party library management
  2018-10-09  7:03 Per-project third party library management Henrik Härkönen
@ 2018-10-09  7:56 ` Dmitry A. Kazakov
  2018-10-09 11:57   ` Henrik Härkönen
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry A. Kazakov @ 2018-10-09  7:56 UTC (permalink / raw)


On 2018-10-09 09:03, Henrik Härkönen wrote:

> What I'm aiming for with my question, is to learn a way to install a library so that it would not require root access and it would be more tied to the project.

If you don't want to follow the rules imposed by the OS, there is no 
such thing as "install" anymore. Simply copy the library file where you 
want it to be.

Specifically for GNAT Ada there is a ready-to-use tool gprinstall which 
does installation of Ada projects. A third-party library can be 
described as a separate (externally built) library project. I didn't try 
it, but I suppose it must work as expected.

But again, for anything beyond simplest stuff you have no choice but to 
use the corresponding packaging tool of the corresponding OS, however 
painful, like in the case of DEB and RPM, it might be.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Per-project third party library management
  2018-10-09  7:56 ` Dmitry A. Kazakov
@ 2018-10-09 11:57   ` Henrik Härkönen
  0 siblings, 0 replies; 3+ messages in thread
From: Henrik Härkönen @ 2018-10-09 11:57 UTC (permalink / raw)


> If you don't want to follow the rules imposed by the OS, there is no 
> such thing as "install" anymore. Simply copy the library file where you 
> want it to be.
> 
> Specifically for GNAT Ada there is a ready-to-use tool gprinstall which 
> does installation of Ada projects. A third-party library can be 
> described as a separate (externally built) library project. I didn't try 
> it, but I suppose it must work as expected.
> 
> But again, for anything beyond simplest stuff you have no choice but to 
> use the corresponding packaging tool of the corresponding OS, however 
> painful, like in the case of DEB and RPM, it might be.

Ok, I have to tinker with these options and see what seems like the best option.
The gprinstall at least seems nice in that way that it would reduce some manual and error prone steps on the way, perhaps. 

-Henrik


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-10-09 11:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-09  7:03 Per-project third party library management Henrik Härkönen
2018-10-09  7:56 ` Dmitry A. Kazakov
2018-10-09 11:57   ` Henrik Härkönen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox