gnu: bzip2: Simplify phase.

* gnu/packages/compression.scm (bzip2)[arguments]: Use SCANDIR instead of
FIND-FILES when locating the shared library.
master
Marius Bakke 2018-07-14 22:11:45 +02:00
parent 49b92a2414
commit 5212c52ce5
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
1 changed files with 10 additions and 10 deletions

View File

@ -246,6 +246,7 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 ftw)
(srfi srfi-1))
#:phases
(modify-phases %standard-phases
@ -274,19 +275,18 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in
;; it create all the (un)versioned symlinks, so we handle it here.
(let* ((out (assoc-ref outputs "out"))
(libdir (string-append out "/lib"))
;; Find the actual library (e.g. "libbz2.so.1.0.6").
(lib (string-drop
(car (find-files
"."
(lambda (file stat)
(and (string-prefix? "./libbz2.so" file)
(eq? 'regular (stat:type stat))))))
2))
(soversion (string-drop lib (string-length "libbz2.so."))))
(soname "libbz2.so")
;; Locate the built library (e.g. "libbz2.so.1.0.6").
(lib (car (scandir "."
(lambda (file)
(and (string-prefix? soname file)
(eq? 'regular
(stat:type (lstat file))))))))
(soversion (string-drop lib (+ 1 (string-length soname)))))
(install-file lib libdir)
(with-directory-excursion libdir
;; Create symlinks libbz2.so.1 -> libbz2.so.1.0, etc.
(let loop ((base "libbz2.so")
(let loop ((base soname)
(numbers (string-split soversion #\.)))
(unless (null? numbers)
(let ((so-file (string-append base "." (car numbers))))