Subject: bug#30006: bzip2 does not provide libbz2.so

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Sat, 24 Mar 2018 02:17:54 +0100

Marius, Mark,

On 2018-03-23 21:50, Mark H Weaver wrote:
> Hi,
> 
> Tobias Geerinckx-Rice <[email-masked]> writes:
> 
>> On 2018-03-23 13:02, Marius Bakke wrote:
>>> diff --git a/gnu/packages/compression.scm
>>> b/gnu/packages/compression.scm
>>> index b158feac4..fd111e579 100644
>>> --- a/gnu/packages/compression.scm
>>> +++ b/gnu/packages/compression.scm
>>> @@ -272,6 +272,9 @@ file; as a result, it is often used in
>>> conjunction with \"tar\", resulting in
>>>             (lambda* (#:key outputs #:allow-other-keys)
>>>               (let* ((out    (assoc-ref outputs "out"))
>>>                      (libdir (string-append out "/lib")))
>>> +               ;; The Make target above does not create "libbz2.so", 
>>> only
>>> +               ;; the versioned libs, so we have to create it 
>>> ourselves.
>>> +               (symlink "libbz2.so.1.0" "libbz2.so")
>> 
>> How about symlinking to (string-append ... version) directly?
>> Seems more robust & worked fine when I tried it, I think.™
> 
> In general, the version numbers at the end of shared library names like
> "libbz2.so.1.0" do not necessarily match the version number of the
> corresponding source release.  Therefore, I don't think we should write
> code that assumes that those two versions will coincide.

Do note that I'm not suggesting doing so in general; just in the case of 
bzip2 where that rule does historically hold. If that ever changes, so 
will the ‘1.0’ assumption.

(I did substitute ‘version’ for the ‘version-major+minor’ I actually 
used for... simplicity, I guess, which was probably ill advised.)

> However, I agree that it would be better not to hardcode the "1.0".  I
> would suggest using 'find-files' to find the versioned shared library,
> and to verify that there is exactly one match.  (ice-9 match) provides
> an elegant way to check for a singleton list while matching its 
> element.

I wasn't aware of such an elegant possibility. A perfect fit IMO :-)

Thanks,

T G-R

Sent from a Web browser. Excuse or enjoy my brevity.