summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2026-06-04 13:15:19 +0300
committerEfraim Flashner <efraim@flashner.co.il>2026-06-04 13:15:43 +0300
commita6a8410e9fac197eba12a6c7638b8cc9aa7f1eee (patch)
tree01b4ba7ca2d2cc38b7b70162fd5526c807a837bd /gnu
parent58595b7dec1307da0107bdc17011d7c8ef19aefd (diff)
gnu: Add bzip3-1.4.
* gnu/packages/compression.scm (bzip3-1.4): New variable. Change-Id: I92463a8797d8a692702ec5f3b642eb30c5a2cd9a
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/compression.scm57
1 files changed, 57 insertions, 0 deletions
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 7281d5cb7fa..6f03094ee27 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -626,6 +626,63 @@ Like its ancestor, BZip3 excels at compressing text or code.")
626 (properties '((tunable? . #t))) 626 (properties '((tunable? . #t)))
627 (license license:lgpl3))) 627 (license license:lgpl3)))
628 628
629(define-public bzip3-1.4
630 (package
631 (inherit bzip3)
632 (name "bzip3")
633 (version "1.4.0")
634 (source
635 (origin
636 (method git-fetch)
637 (uri (git-reference
638 (url "https://github.com/iczelia/bzip3")
639 (commit version)))
640 (file-name (git-file-name name version))
641 (sha256
642 (base32 "1jg2mcymk0i77g4gwnp45bzbp6174ax9p7ca369f5fg5r1crjl2i"))
643 (modules '((guix build utils)))
644 (snippet
645 #~(begin
646 ;; unbundle libsais
647 (delete-file "include/libsais.h")
648 (substitute* "src/libbz3.c"
649 (("^#include \"libsais.h\".*$" include-libsais)
650 (string-append "#include \"common.h\"\n" include-libsais)))
651 (substitute* "CMakeLists.txt"
652 (("^set\\(PACKAGE_VERSION.*$" line)
653 (string-append line "find_package(libsais REQUIRED)\n"
654 "find_package(OpenMP REQUIRED)\n"))
655 (("^target_sources\\(bz3.*$" line)
656 (string-append line
657 "target_link_libraries(bz3 PRIVATE OpenMP::OpenMP_C libsais)
658"))
659 (("(target_link_libraries\\(bz3) (Threads::Threads\\))" _ prefix
660 suffix)
661 (string-append prefix " PRIVATE " suffix)))
662 ;; set MAN_DATE
663 (let ((release-date "06 December 2023"))
664 (substitute* "CMakeLists.txt"
665 (("set\\(MAN_DATE.*\\)")
666 (string-append "set(MAN_DATE \"" release-date "\")"))))
667 ;; fix out-of-source build
668 ;; see https://github.com/iczelia/bzip3/commit/2b9b3b504bdfe16e8cc08addd8f7931f66c9cd59
669 (substitute* "CMakeLists.txt"
670 (("(if\\(EXISTS\\s)\\$\\{BZIP3_MAN\\}" _ prefix)
671 (string-append prefix
672 "${CMAKE_CURRENT_SOURCE_DIR}/${BZIP3_MAN}"))
673 (("(configure_file\\()\\$\\{BZIP3_MAN\\}" _ prefix)
674 (string-append prefix
675 "${CMAKE_CURRENT_SOURCE_DIR}/${BZIP3_MAN}")))
676 ;; fix shared-object version
677 ;; see https://github.com/iczelia/bzip3/commit/3ac85a6c4ee44573f6d8932d9d5d1bc3351f81db
678 (substitute* "CMakeLists.txt"
679 (("(SOVERSION\\s\").*(\")" _ prefix suffix)
680 (string-append prefix "1" suffix))
681 (("(VERSION\\s\").*(\"\\))" _ prefix suffix)
682 (string-append prefix "1.0.0" suffix)))))))
683 (properties '((tunable? . #t)
684 (hidden? . #t)))))
685
629(define-public xz 686(define-public xz
630 (package 687 (package
631 (name "xz") 688 (name "xz")