Archived
1
0
Fork 0

gnu: lbzip2: Update to 2.5-0.b6dc48a.

* gnu/packages/compression.scm (lbzip2): Update to 2.5-0.b6dc48a.
[source]: Use GIT-FETCH and GIT-FILE-NAME.  Remove snippet.
[arguments]: Add ‘unpack-gnulib’ and custom bootstrap phase.
[native-inputs]: Add autoconf, automake, gnulib, and perl.
[home-page]: Use source repository.
This commit is contained in:
Tobias Geerinckx-Rice 2020-07-17 00:06:20 +02:00
parent f5d88758be
commit 7bb7bb5c9d
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79

View file

@ -380,40 +380,63 @@ decompression.")
(home-page "https://web.archive.org/web/20180801004107/http://www.bzip.org/"))) (home-page "https://web.archive.org/web/20180801004107/http://www.bzip.org/")))
(define-public lbzip2 (define-public lbzip2
(package ;; The last 2.5 release is 4 years behind the newest commit (from 2018) and
(name "lbzip2") ;; may create files that can't even be decompressed by newer bzip2 versions.
(version "2.5") (let ((commit "b6dc48a7b9bfe6b340ed1f6d72133608ad57144b")
(source (origin (revision "0"))
(method url-fetch) (package
(uri (string-append "http://archive.lbzip2.org/lbzip2-" (name "lbzip2")
version ".tar.gz")) (version (git-version "2.5" revision commit))
(sha256 (source
(base32 (origin
"1sahaqc5bw4i0iyri05syfza4ncf5cml89an033fspn97klmxis6")) (method git-fetch)
(modules '((guix build utils))) (uri (git-reference
(snippet (url "https://github.com/kjn/lbzip2")
'(begin (commit commit)))
(substitute* (find-files "lib" "\\.c$") (sha256
(("#if defined _IO_ftrylockfile") (base32 "140xp00dmjsr6c3dwb4dwf0pzlgf159igri321inbinsjiclkngy"))
"#if defined _IO_EOF_SEEN")) (file-name (git-file-name name version))))
(substitute* "lib/stdio-impl.h" (build-system gnu-build-system)
(("^/\\* BSD stdio derived implementations") (arguments
(string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n" `(#:phases
"# define _IO_IN_BACKUP 0x100\n" (modify-phases %standard-phases
"#endif\n\n" (add-after 'unpack 'unpack-gnulib
"/* BSD stdio derived implementations"))) (lambda* (#:key inputs #:allow-other-keys)
#t)))) (let ((gnulib (assoc-ref inputs "gnulib")))
(build-system gnu-build-system) (copy-recursively gnulib "lib")
(synopsis "Parallel bzip2 compression utility") (setenv "PATH" (string-append "lib:" (getenv "PATH")))
(description #t)))
"lbzip2 is a multi-threaded compression utility with support for the (delete 'bootstrap) ; gnulib still has unpatched shebangs
(add-after 'patch-source-shebangs 'bootstrap
(lambda _
(invoke "sh" "build-aux/autogen.sh")
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gnulib"
,(let ((commit "2d431ac35c4943a3655c07ba91870d2323321b43"))
(origin
(method git-fetch)
(uri (git-reference
(url "git://git.savannah.gnu.org/gnulib.git")
(commit commit)))
(sha256
(base32 "1f0xr4w89bqvhzsfcflcagdixidrk41k00k7kpr91w9lazfis4kf"))
(file-name (git-file-name "gnulib" commit)))))
("perl" ,perl)))
(synopsis "Parallel bzip2 compression utility")
(description
"lbzip2 is a multi-threaded compression utility with support for the
bzip2 compressed file format. lbzip2 can process standard bz2 files in bzip2 compressed file format. lbzip2 can process standard bz2 files in
parallel. It uses POSIX threading model (pthreads), which allows it to take parallel. It uses POSIX threading model (pthreads), which allows it to take
full advantage of symmetric multiprocessing (SMP) systems. It has been proven full advantage of symmetric multiprocessing (SMP) systems. It has been proven
to scale linearly, even to over one hundred processor cores. lbzip2 is fully to scale linearly, even to over one hundred processor cores. lbzip2 is fully
compatible with bzip2 both at file format and command line level.") compatible with bzip2 both at file format and command line level.")
(home-page "http://www.lbzip2.org/") ;; lbzip2.org now looks fishy. There is no source code to be found.
(license license:gpl3+))) ;; Reported upstream: <https://github.com/kjn/lbzip2/issues/26>.
(home-page "https://github.com/kjn/lbzip2")
(license license:gpl3+))))
(define-public pbzip2 (define-public pbzip2
(package (package