archivers/xz: update to 5.6.1 * Multithreaded mode is now the default. * New command line options to set filter chains using the liblzma filter string syntax. * Significant speed optimizations to the LZMA decoder.
I have added runtime detection code to check for CRC32 instructions to speed up CRC32 integrity checks on arm64. I intend to submit this upstream, so if anybody has comments on that, let me know. (xz defaults to CRC64 anyway, so this has little practical value, but it is supported on other operating systems.) Upstream has added pledge() support to xzdec, rendering our previous patch obsolete. ok? diff d65615b6802f8ddeb4536c340034d07be3df3483 41fabc9987fb853589f2dd0de774d8f5cdbd0b69 commit - d65615b6802f8ddeb4536c340034d07be3df3483 commit + 41fabc9987fb853589f2dd0de774d8f5cdbd0b69 blob - d1f7ac3fc25e3152944c4efae9a179e35ab504dc blob + 40addd5d055828107dd9fdb477184ffa605b5fd1 --- archivers/xz/Makefile +++ archivers/xz/Makefile @@ -1,18 +1,19 @@ COMMENT= library and tools for XZ and LZMA compressed files -DISTNAME= xz-5.4.5 -SHARED_LIBS= lzma 2.2 # 9.4 +VERSION= 5.6.1 +DISTNAME= xz-${VERSION} +SHARED_LIBS= lzma 2.3 # 11.1 CATEGORIES= archivers DPB_PROPERTIES= parallel -HOMEPAGE= https://tukaani.org/xz/ +HOMEPAGE= https://xz.tukaani.org/xz-utils/ MAINTAINER= Christian Weisgerber <na...@openbsd.org> # GPLv2+ PERMIT_PACKAGE= Yes -SITES= ${SITE_SOURCEFORGE:=lzmautils/} +SITES= https://github.com/tukaani-project/xz/releases/download/v${VERSION}/ # uses pledge() WANTLIB= c pthread blob - 98b88e2abbfec958489da8fba87fb00df54b8532 blob + 83ae5ae9b49b503f0bcb1672db69e161dbb814b0 --- archivers/xz/distinfo +++ archivers/xz/distinfo @@ -1,2 +1,2 @@ -SHA256 (xz-5.4.5.tar.gz) = E1yQuTSu6PvA1Gfeh6Bctw1ifaNqvlGMNXqHNwnlt9Y= -SIZE (xz-5.4.5.tar.gz) = 2884510 +SHA256 (xz-5.6.1.tar.gz) = I5j0qOUzRTJfRL3Z8Mx0Ab2QJdc2xtQ7Ny9N6ne/dbg= +SIZE (xz-5.6.1.tar.gz) = 3045434 blob - 6061c7f3c22f7e992a2b66ff5cd7082eb1ffd5c8 (mode 644) blob + /dev/null --- archivers/xz/patches/patch-config_h_in +++ /dev/null @@ -1,16 +0,0 @@ -Index: config.h.in ---- config.h.in.orig -+++ config.h.in -@@ -409,7 +409,11 @@ - - /* Define to 1 if the system supports fast unaligned access to 16-bit, 32-bit, - and 64-bit integers. */ --#undef TUKLIB_FAST_UNALIGNED_ACCESS -+#include <endian.h> -+#if !defined(__STRICT_ALIGNMENT) -+#define \ -+ TUKLIB_FAST_UNALIGNED_ACCESS 1 -+#endif - - /* Define to 1 if the amount of physical memory can be detected with - _system_configuration.physmem. */ blob - /dev/null blob + a4b473567a4e085aa4ae0b4af893e51eed1e2014 (mode 644) --- /dev/null +++ archivers/xz/patches/patch-src_liblzma_check_crc32_arm64_h @@ -0,0 +1,30 @@ +Index: src/liblzma/check/crc32_arm64.h +--- src/liblzma/check/crc32_arm64.h.orig ++++ src/liblzma/check/crc32_arm64.h +@@ -28,6 +28,11 @@ + # include <processthreadsapi.h> + # elif defined(__APPLE__) && defined(HAVE_SYSCTLBYNAME) + # include <sys/sysctl.h> ++# elif defined(__OpenBSD__) ++# include <sys/types.h> ++# include <sys/sysctl.h> ++# include <machine/cpu.h> ++# include <machine/armreg.h> + # endif + #endif + +@@ -103,6 +108,14 @@ is_arch_extension_supported(void) + &size, NULL, 0); + + return !err && has_crc32; ++ ++#elif defined(__OpenBSD__) ++ const int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 }; ++ uint64_t isar0; ++ size_t len = sizeof(isar0); ++ ++ return sysctl(isar0_mib, 2, &isar0, &len, NULL, 0) != -1 && ++ ID_AA64ISAR0_CRC32(isar0) >= ID_AA64ISAR0_CRC32_BASE; + + #else + // If a runtime detection method cannot be found, then this must blob - 399cb3be7c7e9134963d36b0858d09da5dc0e3ff (mode 644) blob + /dev/null --- archivers/xz/patches/patch-src_xzdec_xzdec_c +++ /dev/null @@ -1,21 +0,0 @@ -Index: src/xzdec/xzdec.c ---- src/xzdec/xzdec.c.orig -+++ src/xzdec/xzdec.c -@@ -295,9 +295,17 @@ main(int argc, char **argv) - - if (optind == argc) { - // No filenames given, decode from stdin. -+ if (pledge("stdio", NULL) == -1) { -+ my_errorf("pledge"); -+ exit(EXIT_FAILURE); -+ } - uncompress(&strm, stdin, "(stdin)"); - } else { - // Loop through the filenames given on the command line. -+ if (pledge("stdio rpath", NULL) == -1) { -+ my_errorf("pledge"); -+ exit(EXIT_FAILURE); -+ } - do { - // "-" indicates stdin. - if (strcmp(argv[optind], "-") == 0) { blob - /dev/null blob + c2a62aaeb707f0b281f921f3b2064334f94de22b (mode 644) --- /dev/null +++ archivers/xz/patches/patch-src_liblzma_check_crc_common_h @@ -0,0 +1,13 @@ +Index: src/liblzma/check/crc_common.h +--- src/liblzma/check/crc_common.h.orig ++++ src/liblzma/check/crc_common.h +@@ -50,7 +50,8 @@ + // Keep this in sync with changes to crc32_arm64.h + #if defined(_WIN32) || defined(HAVE_GETAUXVAL) \ + || defined(HAVE_ELF_AUX_INFO) \ +- || (defined(__APPLE__) && defined(HAVE_SYSCTLBYNAME)) ++ || (defined(__APPLE__) && defined(HAVE_SYSCTLBYNAME)) \ ++ || defined(__OpenBSD__) + # define ARM64_RUNTIME_DETECTION 1 + #endif + blob - 2b1d610561baf03509f7c96be0d71f934992279f blob + 59dbc56c918c42393b1d54ec43f3a2fe80c53a58 --- archivers/xz/pkg/PLIST +++ archivers/xz/pkg/PLIST @@ -69,12 +69,13 @@ lib/pkgconfig/liblzma.pc share/doc/xz/ share/doc/xz/AUTHORS share/doc/xz/COPYING +share/doc/xz/COPYING.0BSD share/doc/xz/COPYING.GPLv2 share/doc/xz/NEWS share/doc/xz/README share/doc/xz/THANKS -share/doc/xz/TODO share/doc/xz/api/ +share/doc/xz/api/COPYING.CC-BY-SA-4.0 share/doc/xz/api/annotated.html share/doc/xz/api/base_8h.html share/doc/xz/api/bc_s.png @@ -143,16 +144,15 @@ share/doc/xz/api/tab_sd.png share/doc/xz/api/tabs.css share/doc/xz/api/version_8h.html share/doc/xz/api/vli_8h.html +share/doc/xz/api/xz-logo.png share/doc/xz/examples/ share/doc/xz/examples/00_README.txt share/doc/xz/examples/01_compress_easy.c share/doc/xz/examples/02_decompress.c share/doc/xz/examples/03_compress_custom.c share/doc/xz/examples/04_compress_easy_mt.c +share/doc/xz/examples/11_file_info.c share/doc/xz/examples/Makefile -share/doc/xz/examples_old/ -share/doc/xz/examples_old/xz_pipe_comp.c -share/doc/xz/examples_old/xz_pipe_decomp.c share/doc/xz/faq.txt share/doc/xz/history.txt share/doc/xz/lzma-file-format.txt -- Christian "naddy" Weisgerber na...@mips.inka.de