gnu-linux-libre
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [GNU-linux-libre] Should the use of C#, Mono, and .NET still be disc


From: Denis 'GNUtoo' Carikli
Subject: Re: [GNU-linux-libre] Should the use of C#, Mono, and .NET still be discouraged?
Date: Fri, 9 Feb 2024 02:21:26 +0100

On Tue, 16 Jan 2024 22:29:05 -0500
Richard Stallman <rms@gnu.org> wrote:
>   > Often it is also because it requires a lot of work. A good
>   > example of that is most Java packages that require to workaround
>   > very distro unfriendly java build systems.  
> 
> As a long term thing, it would be nice to do something to fix those
> build systems.  When I designed the GNU specs for build systems, the
> idea was that every package should be buildable using `./configure'
> and `make all'.  They could work differently inside, but that
> interface should be universal.
Here I didn't look into it yet so maybe there are better workarounds
than modifying the build system (here Maven), like finding ways to make
it find its dependencies somehow, or configuring it to find its
dependencies.

If that turns out not to be possible, it should be relatively easy to
get funding from NLnet to do that kind of work, especially when it is
related to Guix as Guix provides lots of guarantees (it has
reproducible builds, its compilers are more or less bootstrapped from
source, etc).

> Could you tell me the nams of 4 or 5 Java packages it would be good
> to make buildable in a reasonable way?  Those suggestions would make
> it easier to recroit people to work on this.
In Parabola we only have issues with the Maven build system so far (I
don't think we have packages using even more problematic build systems
like Gradle etc).

My original plan was just to upgrade log4j but I ended up in a
dependency hell.

For instance log4j depends at some point on junit which depends on other
java packages, etc.

The work is pretty simple to do though. With the current system,
opentest4j is a good example on how to avoid using the Maven build
system in Parabola.

The problem is that it's time consuming because packagers often have to
find the dependencies of packages and make packages for that.

Beside extra dependencies to find, some packages (like junit) have
multiple directories in their source code so to build it the packager
needs to find the right order for building all that (which directory to
build first). This is usually done by running builds and looking at
errors and improving the order step by step.

I've some work in progress in the GNUtoo/java/* branch inside abslibre
(the Parabola packages definition repository).

But at the end if someone finds a better way to build something like
junit in Parabola without having to figure the build order of its
directories, the work could become way faster to do and make Java
maintainable again in Parabola.

Denis.

Attachment: pgpmkDUFksDED.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]