Hi, Tobias Geerinckx-Rice <m...@tobias.gr> 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. 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. What do you think? Thanks for working on it. Mark