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

From: Marius Bakke <[email-masked]>
Date: Fri, 23 Mar 2018 13:38:24 +0100

Tobias Geerinckx-Rice <[email-masked]> writes:

> Marius,
>
> 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.™

That makes sense.  I just wanted to stay close to the typical Autotools
way of creating these links, where libfoo.so points to libfoo.so.1 which
points to libfoo.so.1.2.  I'll change to (version-major+minor ...)
instead, in the off chance that bzip2 ever gets a new version.

Side note: "copy-file" (and thus "install-file") actually dereferences
symlinks, so in the end you get three copies of the same library.  Is
there an alternative to "copy-file" that preserves soft links?  Not that
it matters in practice due to deduplication, but still...