Subject: Re: [bug#36043] [PATCH] Add Geany

From: Arun Isaac <[email-masked]>
Date: Wed, 19 Jun 2019 01:15:07 +0530

> I have bad news: see 
>
>     https://sourceforge.net/p/scintilla/feature-requests/555/
>
> It may not be worth to unbundle Scintilla, then.

This isn't particularly bad news. In that thread, Scintilla has agreed
to allow an optional shared library build for people (like us) who
really want it. But, the issue has been closed because it has been many
years and no one has volunteered a patch.

I think we should go ahead with our unbundled shared library Scintilla
package. We could also contribute our work upstream to Scintilla and
they seem willing to accept it.

> Guix has no proper way to use inputs' static libraries in a package?

We could make the static library scintilla package a native-input of
geany and add a phase copying the static library to the appropriate path
before building. Normally, static libraries embedded by upstream in the
source make it harder to update. If Guix controls the embedding, this
problem would admittedly cease to exist. But, I think we should still
prefer the shared library approach because shared libraries are more
efficient on disk and memory usage.

>> The scintilla license is the ISC license. See
>> https://directory.fsf.org/wiki/License:ISC
>
> This doesn't look right. See https://www.scintilla.org/License.txt
> This is not ISC.

The wording of both these licenses are so similar that I would consider
them to be effectively the same. But, I am not a lawyer, and I can't
claim to know too much about copyright. Should we raise this question
with guix-devel?

>> The headers should be installed in /include, not in
>> /include/scintilla. The libraries should be installed in /lib, not in
>> /lib/scintilla.
>
> Hmm I think I made the same mistake in nauty… because I saw another
> packages doing it too. So there are at least 2 other packages in the
> code base doing the same.

Note that some packages like gsl put the headers in /include/gsl because
they are meant to be included, say as

#include <gsl/gsl_vector.h>

and not as

#include <gsl_vector.h>

So, the include headers install location is dependent on the package's
conventions.

As for nauty, their documentation specifies including as

#include <nauty.h>

So, the headers should be installed to /include.

> Since then, Scintilla team released 4.1.7.

Ok. Let's update our Scintilla package to 4.1.7. Shouldn't be a problem.