summaryrefslogtreecommitdiff
path: root/archivers
diff options
context:
space:
mode:
Diffstat (limited to 'archivers')
-rw-r--r--archivers/7-zip/Makefile2
-rw-r--r--archivers/7-zip/distinfo6
-rw-r--r--archivers/Makefile5
-rw-r--r--archivers/ark/distinfo6
-rw-r--r--archivers/kf6-karchive/distinfo6
-rw-r--r--archivers/lbzip2/Makefile8
-rw-r--r--archivers/lbzip2/pkg-descr14
-rw-r--r--archivers/nfpm/Makefile2
-rw-r--r--archivers/ouch/Makefile2
-rw-r--r--archivers/p5-Gzip-Faster/Makefile5
-rw-r--r--archivers/p5-Gzip-Faster/distinfo6
-rw-r--r--archivers/pecl-rar/Makefile11
-rw-r--r--archivers/pecl-rar/distinfo8
-rw-r--r--archivers/php85-bz2/Makefile7
-rw-r--r--archivers/php85-phar/Makefile7
-rw-r--r--archivers/php85-phar/files/patch-config.m411
-rw-r--r--archivers/php85-phar/files/patch-phar__path__check.c241
-rw-r--r--archivers/php85-zip/Makefile7
-rw-r--r--archivers/php85-zlib/Makefile7
-rw-r--r--archivers/php85-zlib/files/patch-zlib.c10
-rw-r--r--archivers/py-blosc2/Makefile2
-rw-r--r--archivers/py-blosc2/distinfo6
-rw-r--r--archivers/py-cramjam/Makefile2
-rw-r--r--archivers/py-extractcode/Makefile30
-rw-r--r--archivers/py-extractcode/distinfo3
-rw-r--r--archivers/py-extractcode/pkg-descr3
26 files changed, 380 insertions, 37 deletions
diff --git a/archivers/7-zip/Makefile b/archivers/7-zip/Makefile
index c29fc22842f1..0bdf1a5083dd 100644
--- a/archivers/7-zip/Makefile
+++ b/archivers/7-zip/Makefile
@@ -1,5 +1,5 @@
PORTNAME= 7-zip
-DISTVERSION= 24.09
+DISTVERSION= 25.00
CATEGORIES= archivers
MASTER_SITES= https://www.7-zip.org/a/
DISTNAME= 7z${DISTVERSION:S/.//}-src
diff --git a/archivers/7-zip/distinfo b/archivers/7-zip/distinfo
index cc0040382fc9..aafae274ec05 100644
--- a/archivers/7-zip/distinfo
+++ b/archivers/7-zip/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1733222561
-SHA256 (7z2409-src.7z) = a33569eed0ce628fb9ceb9f46ac257d3f36b3966471667e65ba01878673c9faa
-SIZE (7z2409-src.7z) = 1498342
+TIMESTAMP = 1752567217
+SHA256 (7z2500-src.7z) = 4ca381182186c7d0f6bfdbb2dc608adb9aedce908948013219875201d3e32a47
+SIZE (7z2500-src.7z) = 1518060
diff --git a/archivers/Makefile b/archivers/Makefile
index 0c7e80be0b2f..759464313a16 100644
--- a/archivers/Makefile
+++ b/archivers/Makefile
@@ -175,6 +175,10 @@
SUBDIR += php84-phar
SUBDIR += php84-zip
SUBDIR += php84-zlib
+ SUBDIR += php85-bz2
+ SUBDIR += php85-phar
+ SUBDIR += php85-zip
+ SUBDIR += php85-zlib
SUBDIR += pigz
SUBDIR += pixz
SUBDIR += plakar
@@ -195,6 +199,7 @@
SUBDIR += py-comicapi
SUBDIR += py-compressed-rtf
SUBDIR += py-cramjam
+ SUBDIR += py-extractcode
SUBDIR += py-inflate64
SUBDIR += py-laszip
SUBDIR += py-libarchive-c
diff --git a/archivers/ark/distinfo b/archivers/ark/distinfo
index 45ed4e364613..edbd3a13613e 100644
--- a/archivers/ark/distinfo
+++ b/archivers/ark/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749036233
-SHA256 (KDE/release-service/25.04.2/ark-25.04.2.tar.xz) = 54a374c2f06ff65abe577865a7fc2521de70f10f438b399f81bbe3c0dd4be68a
-SIZE (KDE/release-service/25.04.2/ark-25.04.2.tar.xz) = 3017300
+TIMESTAMP = 1751381190
+SHA256 (KDE/release-service/25.04.3/ark-25.04.3.tar.xz) = f93a428c88226d61e5a632e0660391189731f80adb574825108015a07bb1051c
+SIZE (KDE/release-service/25.04.3/ark-25.04.3.tar.xz) = 3017176
diff --git a/archivers/kf6-karchive/distinfo b/archivers/kf6-karchive/distinfo
index 8f2cc04239b3..9b04c54258c4 100644
--- a/archivers/kf6-karchive/distinfo
+++ b/archivers/kf6-karchive/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749832080
-SHA256 (KDE/frameworks/6.15/karchive-6.15.0.tar.xz) = ed74208722e08dd606f3d6d73007fafc1a00cc89c2e29e31975602fef45a0f18
-SIZE (KDE/frameworks/6.15/karchive-6.15.0.tar.xz) = 1089664
+TIMESTAMP = 1752529487
+SHA256 (KDE/frameworks/6.16/karchive-6.16.0.tar.xz) = dba18ff2be1d0b57a1812a33de660d4cf7623dcfaa8f9c0d64efde2152409cff
+SIZE (KDE/frameworks/6.16/karchive-6.16.0.tar.xz) = 1090004
diff --git a/archivers/lbzip2/Makefile b/archivers/lbzip2/Makefile
index e45894c35cc2..dbf659e13a49 100644
--- a/archivers/lbzip2/Makefile
+++ b/archivers/lbzip2/Makefile
@@ -1,17 +1,17 @@
PORTNAME= lbzip2
PORTVERSION= 2.5
CATEGORIES= archivers
-MASTER_SITES= http://archive.lbzip2.org/ LOCAL/danfe
+MASTER_SITES= ${WWW}/releases/download/v${PORTVERSION}/ \
+ LOCAL/danfe
-LICENSE= GPLv3
+LICENSE= GPLv3+
MAINTAINER= danfe@FreeBSD.org
COMMENT= Multi-threaded bzip2/bunzip2 filter
-WWW= https://lbzip2.org/
+WWW= https://github.com/kjn/lbzip2
USES= tar:bzip2
GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
PLIST_FILES= bin/lbunzip2 bin/lbzcat bin/lbzip2 \
share/man/man1/lbunzip2.1.gz \
diff --git a/archivers/lbzip2/pkg-descr b/archivers/lbzip2/pkg-descr
index 1c23761043a3..2db31d3f25a3 100644
--- a/archivers/lbzip2/pkg-descr
+++ b/archivers/lbzip2/pkg-descr
@@ -1,13 +1,11 @@
-bzip2 is a free, multi-threaded compression utility with support for bzip2
-compressed file format.
-
-lbzip2 can process standard bz2 files in parallel. It uses POSIX threading
+lbzip2 is an independent, multi-threaded implementation of bzip2 which
+can process standard bz2 files in parallel. It uses POSIX threading
model (pthreads), which allows it to take full advantage of the symmetric
multiprocessing (SMP) systems. It has been proven to scale linearly, even
-to over one hundred processor cores.
+to over one hundred processor cores, and commonly considered the fastest
+SMP (and uniprocessor) bzip2 compressor and decompressor.
lbzip2 is fully compatible with bzip2 -- both at file format and command
line level. Files created by lbzip2 can be decompressed by all versions
-of bzip2 and other software supporting bz2 format. lbzip2 can decompress
-any bz2 files in parallel. All bzip2 command-line options are also
-accepted by lbzip2. This makes lbzip2 a drop-in replacement for bzip2.
+of bzip2 and other software supporting bz2 format. This makes lbzip2 a
+drop-in replacement for bzip2.
diff --git a/archivers/nfpm/Makefile b/archivers/nfpm/Makefile
index 793057ea7d0c..22c62cc8753e 100644
--- a/archivers/nfpm/Makefile
+++ b/archivers/nfpm/Makefile
@@ -1,7 +1,7 @@
PORTNAME= nfpm
DISTVERSIONPREFIX= v
DISTVERSION= 2.41.3
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= archivers
MAINTAINER= yuri@FreeBSD.org
diff --git a/archivers/ouch/Makefile b/archivers/ouch/Makefile
index b9c576d551ef..138a18b4ae7c 100644
--- a/archivers/ouch/Makefile
+++ b/archivers/ouch/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ouch
DISTVERSION= 0.6.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= archivers
MAINTAINER= yuri@FreeBSD.org
diff --git a/archivers/p5-Gzip-Faster/Makefile b/archivers/p5-Gzip-Faster/Makefile
index d57acd0fee54..7d7ef7fc8fc6 100644
--- a/archivers/p5-Gzip-Faster/Makefile
+++ b/archivers/p5-Gzip-Faster/Makefile
@@ -1,5 +1,5 @@
PORTNAME= Gzip-Faster
-PORTVERSION= 0.21
+PORTVERSION= 0.22
CATEGORIES= archivers perl5
MASTER_SITES= CPAN
MASTER_SITE_SUBDIR= CPAN:BKB
@@ -12,6 +12,9 @@ WWW= https://metacpan.org/release/Gzip-Faster
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
+TEST_DEPENDS= p5-Digest-CRC>=0:security/p5-Digest-CRC \
+ p5-Image-PNG-Libpng>=0:graphics/p5-Image-PNG-Libpng
+
USES= perl5
USE_PERL5= configure
diff --git a/archivers/p5-Gzip-Faster/distinfo b/archivers/p5-Gzip-Faster/distinfo
index b9b8e3201975..d5c1fd294cc5 100644
--- a/archivers/p5-Gzip-Faster/distinfo
+++ b/archivers/p5-Gzip-Faster/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1529084652
-SHA256 (Gzip-Faster-0.21.tar.gz) = c65f41ca108e7e53ec34c30dbb1b5d614bf4b8100673646cf301d0caf82c7aa5
-SIZE (Gzip-Faster-0.21.tar.gz) = 77280
+TIMESTAMP = 1752932738
+SHA256 (Gzip-Faster-0.22.tar.gz) = 11470f1c6eb4305473393e871126d264e26e2db98a8c20505a72f2741d3bb15c
+SIZE (Gzip-Faster-0.22.tar.gz) = 150156
diff --git a/archivers/pecl-rar/Makefile b/archivers/pecl-rar/Makefile
index 728bb6003a4d..0a4adcaf0e27 100644
--- a/archivers/pecl-rar/Makefile
+++ b/archivers/pecl-rar/Makefile
@@ -1,10 +1,15 @@
PORTNAME= rar
PORTVERSION= 4.2.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= archivers pear
-PATCH_SITES= https://github.com/cataphract/php-rar/commit/
-PATCHFILES= ab26d285759e4c917879967b09976a44829ed570.diff:-p1
+# Temporary switch patches source to Remi Collet's repo
+#PATCH_SITES= https://github.com/cataphract/php-rar/commit/
+PATCH_SITES= https://github.com/remicollet/php-rar/commit/
+PATCHFILES= ab26d285759e4c917879967b09976a44829ed570.diff:-p1 \
+ 02331ca1cc1e8638c34e024566f4b391a6c863c5.diff:-p1 \
+ eefdef210536834617bc57d3d38e4ab092481c6b.diff:-p1 \
+ 048aa2b35bfd1ec5dfae30d2f9c8d52fb8842784.diff:-p1
MAINTAINER= fluffy@FreeBSD.org
COMMENT= PECL extension to create and read RAR files
diff --git a/archivers/pecl-rar/distinfo b/archivers/pecl-rar/distinfo
index 0cb0f32e9097..0471e364e37e 100644
--- a/archivers/pecl-rar/distinfo
+++ b/archivers/pecl-rar/distinfo
@@ -1,5 +1,11 @@
-TIMESTAMP = 1699432802
+TIMESTAMP = 1752864659
SHA256 (PECL/rar-4.2.0.tgz) = 660d7d6bc97cc45395e56621aa8803a9f9d4b3436c576d67afe712c8f964a4b9
SIZE (PECL/rar-4.2.0.tgz) = 428258
SHA256 (PECL/ab26d285759e4c917879967b09976a44829ed570.diff) = a150a78c652d80f8bf33e635b7183895b1147563d07cba4d90d276a787b26c0b
SIZE (PECL/ab26d285759e4c917879967b09976a44829ed570.diff) = 4622
+SHA256 (PECL/02331ca1cc1e8638c34e024566f4b391a6c863c5.diff) = eaa76f733b8ff1f54c9042478557c3f9d7e89c7d36ef7504c11a50bfca6aab4b
+SIZE (PECL/02331ca1cc1e8638c34e024566f4b391a6c863c5.diff) = 2284
+SHA256 (PECL/eefdef210536834617bc57d3d38e4ab092481c6b.diff) = 8346a363f15b945a560b2a1a070beb0c1ee197bac7dbd2773b8a70d22a24baa0
+SIZE (PECL/eefdef210536834617bc57d3d38e4ab092481c6b.diff) = 1289
+SHA256 (PECL/048aa2b35bfd1ec5dfae30d2f9c8d52fb8842784.diff) = 4e243345ddfe0bba1c155923922ae54579b5b5eb2b71fc7415108847192825c2
+SIZE (PECL/048aa2b35bfd1ec5dfae30d2f9c8d52fb8842784.diff) = 484
diff --git a/archivers/php85-bz2/Makefile b/archivers/php85-bz2/Makefile
new file mode 100644
index 000000000000..87562c741e29
--- /dev/null
+++ b/archivers/php85-bz2/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php85
+
+PKGNAMESUFFIX= -bz2
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php85-phar/Makefile b/archivers/php85-phar/Makefile
new file mode 100644
index 000000000000..a3fbf377f61c
--- /dev/null
+++ b/archivers/php85-phar/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php85
+
+PKGNAMESUFFIX= -phar
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php85-phar/files/patch-config.m4 b/archivers/php85-phar/files/patch-config.m4
new file mode 100644
index 000000000000..13ba9cf818b4
--- /dev/null
+++ b/archivers/php85-phar/files/patch-config.m4
@@ -0,0 +1,11 @@
+--- config.m4.orig 2025-07-01 21:58:05 UTC
++++ config.m4
+@@ -32,8 +32,4 @@ if test "$PHP_PHAR" != "no"; then
+ PHP_ADD_EXTENSION_DEP(phar, spl)
+ PHP_ADD_MAKEFILE_FRAGMENT
+
+- AC_CONFIG_FILES([
+- $ext_dir/phar.1
+- $ext_dir/phar.phar.1
+- ])
+ fi
diff --git a/archivers/php85-phar/files/patch-phar__path__check.c b/archivers/php85-phar/files/patch-phar__path__check.c
new file mode 100644
index 000000000000..8e599176ec86
--- /dev/null
+++ b/archivers/php85-phar/files/patch-phar__path__check.c
@@ -0,0 +1,241 @@
+--- phar_path_check.c.orig 2025-07-02 12:00:06 UTC
++++ phar_path_check.c
+@@ -0,0 +1,238 @@
++/* Generated by re2c 3.1 */
++/*
++ +----------------------------------------------------------------------+
++ | phar php single-file executable PHP extension |
++ +----------------------------------------------------------------------+
++ | Copyright (c) The PHP Group |
++ +----------------------------------------------------------------------+
++ | This source file is subject to version 3.01 of the PHP license, |
++ | that is bundled with this package in the file LICENSE, and is |
++ | available through the world-wide-web at the following url: |
++ | https://www.php.net/license/3_01.txt |
++ | If you did not receive a copy of the PHP license and are unable to |
++ | obtain it through the world-wide-web, please send a note to |
++ | license@php.net so we can mail you a copy immediately. |
++ +----------------------------------------------------------------------+
++ | Authors: Marcus Boerger <helly@php.net> |
++ +----------------------------------------------------------------------+
++*/
++
++#include "phar_internal.h"
++
++phar_path_check_result phar_path_check(char **s, size_t *len, const char **error)
++{
++ const unsigned char *p = (const unsigned char*)*s;
++ const unsigned char *m;
++
++ if (*len == 1 && *p == '.') {
++ *error = "current directory reference";
++ return pcr_err_curr_dir;
++ } else if (*len == 2 && p[0] == '.' && p[1] == '.') {
++ *error = "upper directory reference";
++ return pcr_err_up_dir;
++ }
++
++#define YYCTYPE unsigned char
++#define YYCURSOR p
++#define YYLIMIT p+*len
++#define YYMARKER m
++#define YYFILL(n) do {} while (0)
++
++loop:
++
++{
++ YYCTYPE yych;
++ unsigned int yyaccept = 0;
++ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
++ yych = *YYCURSOR;
++ if (yych <= '[') {
++ if (yych <= ')') {
++ if (yych <= '\f') {
++ if (yych >= 0x01) goto yy1;
++ } else {
++ if (yych <= '\r') goto yy3;
++ if (yych <= 0x19) goto yy1;
++ goto yy4;
++ }
++ } else {
++ if (yych <= '/') {
++ if (yych <= '*') goto yy6;
++ if (yych <= '.') goto yy4;
++ goto yy7;
++ } else {
++ if (yych == '?') goto yy8;
++ goto yy4;
++ }
++ }
++ } else {
++ if (yych <= 0xEC) {
++ if (yych <= 0xC1) {
++ if (yych <= '\\') goto yy9;
++ if (yych <= 0x7F) goto yy4;
++ goto yy1;
++ } else {
++ if (yych <= 0xDF) goto yy10;
++ if (yych <= 0xE0) goto yy11;
++ goto yy12;
++ }
++ } else {
++ if (yych <= 0xF0) {
++ if (yych <= 0xED) goto yy13;
++ if (yych <= 0xEF) goto yy12;
++ goto yy14;
++ } else {
++ if (yych <= 0xF3) goto yy15;
++ if (yych <= 0xF4) goto yy16;
++ goto yy1;
++ }
++ }
++ }
++ ++YYCURSOR;
++ {
++ if (**s == '/') {
++ (*s)++;
++ (*len)--;
++ }
++ if ((p - (const unsigned char*)*s) - 1 != *len)
++ {
++ *error ="illegal character";
++ return pcr_err_illegal_char;
++ }
++ *error = NULL;
++ return pcr_is_ok;
++ }
++yy1:
++ ++YYCURSOR;
++yy2:
++ {
++ *error ="illegal character";
++ return pcr_err_illegal_char;
++ }
++yy3:
++ yych = *++YYCURSOR;
++ if (yych == '\n') goto yy1;
++ goto yy2;
++yy4:
++ ++YYCURSOR;
++yy5:
++ {
++ goto loop;
++ }
++yy6:
++ ++YYCURSOR;
++ {
++ *error = "star";
++ return pcr_err_star;
++ }
++yy7:
++ yyaccept = 0;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= '-') goto yy5;
++ if (yych <= '.') goto yy17;
++ if (yych <= '/') goto yy19;
++ goto yy5;
++yy8:
++ ++YYCURSOR;
++ {
++ if (**s == '/') {
++ (*s)++;
++ }
++ *len = (p - (const unsigned char*)*s) -1;
++ *error = NULL;
++ return pcr_use_query;
++ }
++yy9:
++ ++YYCURSOR;
++ {
++ *error = "back-slash";
++ return pcr_err_back_slash;
++ }
++yy10:
++ yych = *++YYCURSOR;
++ if (yych <= 0x7F) goto yy2;
++ if (yych <= 0xBF) goto yy4;
++ goto yy2;
++yy11:
++ yyaccept = 1;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= 0x9F) goto yy2;
++ if (yych <= 0xBF) goto yy20;
++ goto yy2;
++yy12:
++ yyaccept = 1;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= 0x7F) goto yy2;
++ if (yych <= 0xBF) goto yy20;
++ goto yy2;
++yy13:
++ yyaccept = 1;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= 0x7F) goto yy2;
++ if (yych <= 0x9F) goto yy20;
++ goto yy2;
++yy14:
++ yyaccept = 1;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= 0x8F) goto yy2;
++ if (yych <= 0xBF) goto yy21;
++ goto yy2;
++yy15:
++ yyaccept = 1;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= 0x7F) goto yy2;
++ if (yych <= 0xBF) goto yy21;
++ goto yy2;
++yy16:
++ yyaccept = 1;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= 0x7F) goto yy2;
++ if (yych <= 0x8F) goto yy21;
++ goto yy2;
++yy17:
++ yych = *++YYCURSOR;
++ if (yych <= 0x00) goto yy22;
++ if (yych <= '-') goto yy18;
++ if (yych <= '.') goto yy23;
++ if (yych <= '/') goto yy22;
++yy18:
++ YYCURSOR = YYMARKER;
++ if (yyaccept == 0) {
++ goto yy5;
++ } else {
++ goto yy2;
++ }
++yy19:
++ ++YYCURSOR;
++ {
++ *error = "double slash";
++ return pcr_err_double_slash;
++ }
++yy20:
++ yych = *++YYCURSOR;
++ if (yych <= 0x7F) goto yy18;
++ if (yych <= 0xBF) goto yy4;
++ goto yy18;
++yy21:
++ yych = *++YYCURSOR;
++ if (yych <= 0x7F) goto yy18;
++ if (yych <= 0xBF) goto yy20;
++ goto yy18;
++yy22:
++ ++YYCURSOR;
++ {
++ *error = "current directory reference";
++ return pcr_err_curr_dir;
++ }
++yy23:
++ yych = *++YYCURSOR;
++ if (yych <= 0x00) goto yy24;
++ if (yych != '/') goto yy18;
++yy24:
++ ++YYCURSOR;
++ {
++ *error = "upper directory reference";
++ return pcr_err_up_dir;
++ }
++}
++
++}
diff --git a/archivers/php85-zip/Makefile b/archivers/php85-zip/Makefile
new file mode 100644
index 000000000000..d8a586997669
--- /dev/null
+++ b/archivers/php85-zip/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php85
+
+PKGNAMESUFFIX= -zip
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php85-zlib/Makefile b/archivers/php85-zlib/Makefile
new file mode 100644
index 000000000000..20f98d859d51
--- /dev/null
+++ b/archivers/php85-zlib/Makefile
@@ -0,0 +1,7 @@
+CATEGORIES= archivers
+
+MASTERDIR= ${.CURDIR}/../../lang/php85
+
+PKGNAMESUFFIX= -zlib
+
+.include "${MASTERDIR}/Makefile"
diff --git a/archivers/php85-zlib/files/patch-zlib.c b/archivers/php85-zlib/files/patch-zlib.c
new file mode 100644
index 000000000000..fb0e9e44311a
--- /dev/null
+++ b/archivers/php85-zlib/files/patch-zlib.c
@@ -0,0 +1,10 @@
+--- zlib.c.orig 2023-06-06 15:54:29 UTC
++++ zlib.c
+@@ -1380,6 +1380,7 @@ static PHP_MSHUTDOWN_FUNCTION(zlib)
+ /* {{{ PHP_RINIT_FUNCTION */
+ static PHP_RINIT_FUNCTION(zlib)
+ {
++ ZLIBG(output_compression) = 0;
+ ZLIBG(compression_coding) = 0;
+ if (!ZLIBG(handler_registered)) {
+ ZLIBG(output_compression) = ZLIBG(output_compression_default);
diff --git a/archivers/py-blosc2/Makefile b/archivers/py-blosc2/Makefile
index 43842dbda9a5..ab15c9ed89d3 100644
--- a/archivers/py-blosc2/Makefile
+++ b/archivers/py-blosc2/Makefile
@@ -1,5 +1,5 @@
PORTNAME= blosc2
-PORTVERSION= 3.5.0
+PORTVERSION= 3.5.1
CATEGORIES= archivers python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/archivers/py-blosc2/distinfo b/archivers/py-blosc2/distinfo
index 830caaea7666..b9604e7ea20a 100644
--- a/archivers/py-blosc2/distinfo
+++ b/archivers/py-blosc2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750954150
-SHA256 (blosc2-3.5.0.tar.gz) = 40d4d87d4cdf9f00997cd5cde21e6a8e99bf3120a153f791f5f5c0c7d2877950
-SIZE (blosc2-3.5.0.tar.gz) = 3651627
+TIMESTAMP = 1752266052
+SHA256 (blosc2-3.5.1.tar.gz) = 5d72f7a9a8b3b523c588be9d66e9e7f2463483716c4c01e5056c1f7e37167f85
+SIZE (blosc2-3.5.1.tar.gz) = 3653626
diff --git a/archivers/py-cramjam/Makefile b/archivers/py-cramjam/Makefile
index 127cbedc0116..2848e2e56c6e 100644
--- a/archivers/py-cramjam/Makefile
+++ b/archivers/py-cramjam/Makefile
@@ -1,6 +1,6 @@
PORTNAME= cramjam
PORTVERSION= 2.10.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= archivers python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/archivers/py-extractcode/Makefile b/archivers/py-extractcode/Makefile
new file mode 100644
index 000000000000..90109b60b07b
--- /dev/null
+++ b/archivers/py-extractcode/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= extractcode
+DISTVERSION= 31.0.0
+CATEGORIES= archivers python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= tuukka.pasanen@ilmi.fi
+COMMENT= Universal file extraction library and CLI tool to extract almost any archive
+WWW= https://github.com/aboutcode-org/extractcode
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/apache-2.0.LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=0:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} \
+ libarchive>13:archivers/libarchive
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}attrs>18:devel/py-attrs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}commoncode>=30.2.0:devel/py-commoncode@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}plugincode>=21.1.21:devel/py-plugincode@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typecode>=21.1.21:devel/py-typecode@${PY_FLAVOR} \
+ libarchive>13:archivers/libarchive
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517 pytest
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/archivers/py-extractcode/distinfo b/archivers/py-extractcode/distinfo
new file mode 100644
index 000000000000..77ba3f9cbfb9
--- /dev/null
+++ b/archivers/py-extractcode/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1747040872
+SHA256 (extractcode-31.0.0.tar.gz) = 80819392e9bcf8129f74d8904fe8a98c0dfed2782356842737282c0283113d88
+SIZE (extractcode-31.0.0.tar.gz) = 11305241
diff --git a/archivers/py-extractcode/pkg-descr b/archivers/py-extractcode/pkg-descr
new file mode 100644
index 000000000000..886501c3fe8b
--- /dev/null
+++ b/archivers/py-extractcode/pkg-descr
@@ -0,0 +1,3 @@
+A python library to parse Debian deb822-style control and copyright files and
+all related Debian, Ubuntu and Debian-derivative manifest and metadata files,
+an alternative approach to python-debian.