comp.lang.ada
 help / color / mirror / Atom feed
From: Tero Koskinen <tero.koskinen@iki.fi>
Subject: Re: Ada package registry?
Date: Fri, 5 Feb 2016 21:52:44 +0200
Date: 2016-02-05T21:52:44+02:00	[thread overview]
Message-ID: <n92uia$do6$1@loke.gir.dk> (raw)
In-Reply-To: <n8opbk$rv8$1@loke.gir.dk>

2.2.2016, 1.22, Randy Brukardt wrote:
> "Tero Koskinen" <tero.koskinen@iki.fi> wrote in message
> news:n8jcj4$uus$1@loke.gir.dk... ...
>> People using other programming languages have managed to create
>> these package repositories, so it is a shame if Ada programmers
>> cannot manage to do the same.
>
> Not really. People using other programming language *implementations*
> have managed it. I see no evidence that it is possible to build such
> a thing that works with multiple implementations, running on multiple
> host and target systems, with different policies for installation,
> different project management facilities, and so on.

NetBSD's pkgsrc should run on multiple platforms (all *BSDs, most Linux
distributions, not sure about OS X or Windows) and support multiple
programming languages/build systems. And if you want to support
multiple host *and target systems* you could always check how
OpenEmbedded/Yocto/bitbake combo is doing things.

Of course, pkgsrc and OpenEmbedded are little different from
the language (implementation) specific build systems, but they
are still pieces of software which install a library (with dependencies)
for you (under your $HOME dir) when you type
"$my_package_manager install".

> That wouldn't be an *Ada* repository. It would be a *GNAT*
> repository! There might be use to such a thing, but call a spade a
> spade here: don't insult those who use Ada, but don't exclusively use
> GNAT, by calling such a thing an *Ada* tool.

I think you are forgetting who you are replying right now. :)

Most of my Ada software compiles nicely with other Ada compilers
(Janus/Ada, ICCAda) and I don't think it would be impossible to
add Janus/Ada or ICCAda support to the package repository tool.
You just need to make sure you don't try to compile Ada 2005/2012
code with Janus/Ada, which supports only Ada 95.

>> On the other hand, one could think that the package management
>> systems provides by Linux distributions and BSD operating systems
>> are enough. But generally, these are not that flexible. For
>> example, the language specific package managers allow one to
>> install multiple versions of the packages at the same time and the
>>  code can be even taken from the version control directly.
>
> Which was my previous point: in order for that to work, you have to
> insist on package authors in using a specific version control system,
> specific installation tools, and most likely a single Ada
> implementation. A lot of authors are not likely to change their
> methods of working to use such a system (or have the time to develop
>  complex installation schemes), so you're going to end up with a
> (smallish) subtest of available libraries. Which would be actively
> harmful for the future of Ada (or GNAT, if you prefer) - it would
> appear that there is a lot less available than there really is.

The package repository/tool which I am thinking about, would be only
for open source projects/libraries/applications. Open source developers
usually use only open source version control systems (cvs, subversion,
mercurial, git, darcs, monotone, and fossil) and there are existing
practices how to interface with them. Also, old-fashioned zip/tgz
release package (fetched over http/https) is easy to support.

What comes to installation methods, the $language community usually
provides enough pressure and shaming to make the rogue project to
follow the rules or to provide an installation method which is easy
enough to integrate into the package management system.

> For more complex systems that need other libraries, I doubt there is
>  any sensible solution. Unless you're planning to abandon Ada's
> portability between implementations -- not of much value, IMHO.

Not sure what sort of complexity you are thinking about. Just iterate
through the dependency chain and build one dependency at time using
the selected Ada compiler. When building one package, link the
dependencies, and be happy.

If there are C language libraries involved, call gcc or Visual C,
and continue as usual.

...
Building the package repository and related tool might take a lot
of wall clock time, since the amount of volunteer Ada programmers with
free time is limited, but I don't really see any blocking technical
problems. And if there are any, I think then it is time to start
making adjustments to the next Ada (or Ada compiler implementation)
version!

Yours,
  Tero

  reply	other threads:[~2016-02-05 19:52 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-29  1:13 Ada package registry? olivier.henley
2016-01-29  3:43 ` gautier_niouzes
2016-01-29 22:06   ` Randy Brukardt
2016-01-30 17:21     ` Dirk Heinrichs
2016-01-29 14:20 ` David Botton
2016-01-29 22:27 ` Randy Brukardt
2016-01-30  7:35   ` Dmitry A. Kazakov
2016-01-30 22:14     ` Tero Koskinen
2016-01-31  7:51       ` Dmitry A. Kazakov
2016-01-31 15:52         ` Mart van de Wege
2016-01-31 16:21           ` Dmitry A. Kazakov
2016-01-31 19:16             ` olivier.henley
2016-02-01 23:22       ` Randy Brukardt
2016-02-05 19:52         ` Tero Koskinen [this message]
2016-02-05 20:42           ` Dmitry A. Kazakov
2016-02-06  1:25           ` Randy Brukardt
2016-02-06  6:09             ` Jeffrey R. Carter
2016-02-08 22:54               ` Randy Brukardt
2016-02-06 23:08             ` AdaMagica
2016-02-07  7:08             ` gautier_niouzes
2016-02-07  8:50             ` gautier_niouzes
2016-02-08 22:58               ` Randy Brukardt
2016-02-07 10:24             ` gautier_niouzes
2016-01-31 19:10 ` olivier.henley
2016-02-02  0:44   ` Randy Brukardt
2016-02-02 18:45     ` Shark8
2016-02-02 20:14       ` gautier_niouzes
2016-02-02 20:46         ` Shark8
2016-02-02 21:32           ` gautier_niouzes
2016-02-03  4:21             ` Shark8
2016-02-03  9:39               ` Georg Bauhaus
2016-02-02 22:51       ` Randy Brukardt
2016-02-03  4:16         ` Shark8
2016-02-01  8:30 ` Thomas Løcke
2016-02-01  9:32   ` Georg Bauhaus
2016-02-02  8:54     ` Thomas Løcke
2016-02-02 14:51       ` jsquirek
2016-02-02 18:25         ` Dmitry A. Kazakov
2016-02-02 20:05         ` gautier_niouzes
2016-02-02 20:58         ` Björn Lundin
2016-02-02 23:06       ` Randy Brukardt
2016-02-03  7:15         ` Pascal Obry
2016-02-03 22:11           ` Randy Brukardt
2016-02-04  6:51             ` Pascal Obry
2016-02-04 20:52               ` Randy Brukardt
2016-02-05  7:11                 ` Pascal Obry
2016-02-06  1:11                   ` Randy Brukardt
2016-02-04  9:05             ` Dmitry A. Kazakov
2016-02-04  9:20               ` Mark Carroll
2016-02-04 12:58               ` Nasser M. Abbasi
2016-02-04 21:03               ` Randy Brukardt
2016-02-05  8:31                 ` Dmitry A. Kazakov
2016-02-04 16:52             ` Björn Lundin
2016-02-04 16:59               ` Dmitry A. Kazakov
2016-02-04 17:29                 ` Björn Lundin
2016-02-04 21:21                   ` Randy Brukardt
2016-02-04 22:04                     ` Björn Lundin
2016-02-05  8:51                       ` Dmitry A. Kazakov
2016-02-05 22:06                         ` Björn Lundin
2016-02-06  0:30                       ` Randy Brukardt
2016-02-06 23:26                         ` Björn Lundin
2016-02-07  0:16                           ` Jeffrey R. Carter
2016-02-07  8:02                             ` Dmitry A. Kazakov
2016-02-07  8:36                               ` gautier_niouzes
2016-02-07  8:52                                 ` Dmitry A. Kazakov
2016-02-07 10:06                                   ` gautier_niouzes
2016-02-07 10:23                                     ` Dmitry A. Kazakov
2016-02-07 20:02                                       ` Björn Lundin
2016-02-08  8:19                                         ` Dmitry A. Kazakov
2016-02-07 10:00                               ` Georg Bauhaus
2016-02-07 10:18                                 ` Dmitry A. Kazakov
2016-02-07 19:27                                   ` Georg Bauhaus
2016-02-07 19:47                                     ` Georg Bauhaus
2016-02-07 19:54                                     ` Dmitry A. Kazakov
2016-02-07 22:56                                       ` Georg Bauhaus
2016-02-08  8:22                                         ` Dmitry A. Kazakov
2016-02-07 20:11                                 ` Björn Lundin
2016-02-07 22:11                                   ` Georg Bauhaus
2016-02-08  8:16                                     ` Björn Lundin
2016-02-07 19:57                               ` Björn Lundin
2016-02-08  8:25                                 ` Dmitry A. Kazakov
2016-02-08 22:42                               ` Randy Brukardt
2016-02-07 20:07                             ` Björn Lundin
2016-02-08  8:38                               ` Dmitry A. Kazakov
2016-02-08 18:24                                 ` Björn Lundin
2016-02-08 22:38                           ` Randy Brukardt
2016-02-09 20:56                             ` Björn Lundin
2016-02-05 12:54                     ` G.B.
2016-02-05 13:27                       ` Dmitry A. Kazakov
2016-02-05 15:53                         ` G.B.
2016-02-05 16:45                           ` Dmitry A. Kazakov
2016-02-05 17:58                             ` G.B.
2016-02-05 18:47                               ` Dmitry A. Kazakov
2016-02-07  9:40                                 ` Georg Bauhaus
2016-02-07 10:13                                   ` Dmitry A. Kazakov
2016-02-07 19:21                                     ` Georg Bauhaus
2016-02-07 19:57                                       ` Dmitry A. Kazakov
2016-02-07 22:16                                         ` Georg Bauhaus
2016-02-08  8:20                                           ` Björn Lundin
2016-02-08  9:03                                           ` Dmitry A. Kazakov
2016-02-08 10:08                                             ` G.B.
2016-02-08 13:42                                               ` Dmitry A. Kazakov
2016-02-06  0:49                       ` Randy Brukardt
2016-02-07  8:42                         ` Georg Bauhaus
2016-02-04 21:09               ` Randy Brukardt
2016-02-05  8:59                 ` Dmitry A. Kazakov
2016-02-06  0:04                   ` Randy Brukardt
2016-02-06  8:54                     ` Dmitry A. Kazakov
2016-02-08 23:02                       ` Randy Brukardt
2016-02-09  8:50                         ` Dmitry A. Kazakov
2016-02-11  1:37                           ` Randy Brukardt
2016-02-11  8:25                             ` Dmitry A. Kazakov
2016-02-11 22:00                               ` Randy Brukardt
2016-02-06 18:48 ` olivier.henley
2016-02-09  0:05   ` Randy Brukardt
2016-02-09  3:50     ` Shark8
2016-02-11  1:40       ` Randy Brukardt
2016-02-09  8:04     ` Thomas Løcke
2016-02-09 13:33       ` Alejandro R. Mosteo
2016-02-09 14:58         ` Shark8
2016-02-11  1:46         ` Randy Brukardt
2016-02-11  5:19           ` Shark8
2016-02-09 18:08       ` Jeffrey R. Carter
2016-02-09 21:00         ` Shark8
2016-02-09 21:07     ` Björn Lundin
2016-02-09 21:31       ` Shark8
2016-02-09 23:47         ` Jeffrey R. Carter
2016-02-10  5:10         ` J-P. Rosen
2016-02-11  1:51       ` Randy Brukardt
2016-02-12 16:05 ` Alejandro R. Mosteo
2016-02-13  5:42   ` olivier.henley
2016-02-13 12:20     ` Alejandro R. Mosteo
replies disabled

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