All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/2] package/szip: replace with libaec
@ 2026-10-06 11:07 Yegor Yefremov via buildroot
  2026-10-06 11:07 ` [Buildroot] [PATCH 1/2] package/libaec: new package Yegor Yefremov via buildroot
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Yegor Yefremov via buildroot @ 2026-10-06 11:07 UTC (permalink / raw)
  To: buildroot; +Cc: Shubham Chakraborty, Ernesto L . Williams Jr

From: Yegor Yefremov <yegorslists@googlemail.com>

szip fails to build with GCC >= 15 on non-glibc toolchains, see
https://autobuild.buildroot.org/results/5e400d0e13480c58e8b1b0178bf7e5537dd31751

Instead of keeping it alive with compiler flags, this series replaces
it with libaec. szip has no public repository and its last release
is 2.1.1, while libaec is maintained, BSD licensed, recommended by the
HDF Group, and ships libsz, a drop-in replacement with the same API
(szlib.h) and soname (libsz.so.2). Debian, Fedora, Alpine and Arch
already provide libsz from libaec.

The legacy option for szip selects libaec, so existing configurations
keep a libsz.

This supersedes "[v2] package/szip: fix build with GCC 15":
https://patchwork.buildroot.org/project/buildroot/patch/20260810181422.10955-1-chakrabortyshubham66@gmail.com/

libaec was tested with utils/test-pkg on the default toolchain set
(6 builds, all OK, including noMMU and static).

Yegor Yefremov (2):
  package/libaec: new package
  package/szip: remove package

 Config.in.legacy           |  9 +++++++++
 DEVELOPERS                 |  4 +---
 package/Config.in          |  2 +-
 package/libaec/Config.in   | 10 ++++++++++
 package/libaec/libaec.hash |  3 +++
 package/libaec/libaec.mk   | 19 +++++++++++++++++++
 package/szip/Config.in     | 16 ----------------
 package/szip/szip.hash     |  3 ---
 package/szip/szip.mk       | 13 -------------
 9 files changed, 43 insertions(+), 36 deletions(-)
 create mode 100644 package/libaec/Config.in
 create mode 100644 package/libaec/libaec.hash
 create mode 100644 package/libaec/libaec.mk
 delete mode 100644 package/szip/Config.in
 delete mode 100644 package/szip/szip.hash
 delete mode 100644 package/szip/szip.mk

-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 1/2] package/libaec: new package
  2026-10-06 11:07 [Buildroot] [PATCH 0/2] package/szip: replace with libaec Yegor Yefremov via buildroot
@ 2026-10-06 11:07 ` Yegor Yefremov via buildroot
  2026-10-06 11:07 ` [Buildroot] [PATCH 2/2] package/szip: remove package Yegor Yefremov via buildroot
  2026-10-11  7:07 ` [Buildroot] [PATCH 0/2] package/szip: replace with libaec Thomas Petazzoni via buildroot
  2 siblings, 0 replies; 4+ messages in thread
From: Yegor Yefremov via buildroot @ 2026-10-06 11:07 UTC (permalink / raw)
  To: buildroot; +Cc: Shubham Chakraborty, Ernesto L . Williams Jr

From: Yegor Yefremov <yegorslists@googlemail.com>

libaec provides fast lossless compression of 1 up to 32 bit wide
signed or unsigned integers. It implements the Golomb-Rice compression
method under the BSD license and includes libsz, a drop-in replacement
for the SZIP library with the same API (szlib.h) and soname
(libsz.so.2).

https://github.com/Deutsches-Klimarechenzentrum/libaec

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Assisted-by: Claude:claude-opus-5-5
---
 DEVELOPERS                 |  1 +
 package/Config.in          |  1 +
 package/libaec/Config.in   | 10 ++++++++++
 package/libaec/libaec.hash |  3 +++
 package/libaec/libaec.mk   | 19 +++++++++++++++++++
 5 files changed, 34 insertions(+)
 create mode 100644 package/libaec/Config.in
 create mode 100644 package/libaec/libaec.hash
 create mode 100644 package/libaec/libaec.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index 32ac338dc8..bde955ec6a 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -3567,6 +3567,7 @@ F:	package/feh/
 F:	package/hostapd/
 F:	package/imlib2/
 F:	package/kmod/
+F:	package/libaec/
 F:	package/libftdi1/
 F:	package/libical/
 F:	package/libmbim/
diff --git a/package/Config.in b/package/Config.in
index a82e369aff..0585bacccf 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1617,6 +1617,7 @@ menu "Audio/Sound"
 endmenu
 
 menu "Compression and decompression"
+	source "package/libaec/Config.in"
 	source "package/libarchive/Config.in"
 	source "package/libdeflate/Config.in"
 	source "package/libjcat/Config.in"
diff --git a/package/libaec/Config.in b/package/libaec/Config.in
new file mode 100644
index 0000000000..86fd770f2a
--- /dev/null
+++ b/package/libaec/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBAEC
+	bool "libaec"
+	select BR2_HOST_CMAKE_AT_LEAST_3_26
+	help
+	  libaec provides fast lossless compression of 1 up to 32 bit
+	  wide signed or unsigned integers (samples). It implements
+	  Golomb-Rice compression method under the BSD license and
+	  includes a free drop-in replacement for the SZIP library.
+
+	  https://github.com/Deutsches-Klimarechenzentrum/libaec
diff --git a/package/libaec/libaec.hash b/package/libaec/libaec.hash
new file mode 100644
index 0000000000..cf4984447f
--- /dev/null
+++ b/package/libaec/libaec.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  cc7b93be9002e25a88b45d6b8d5f6120756cb5e1000613f91d803ce0beba24d9  libaec-1.1.7.tar.gz
+sha256  9fdabba96fbc46af0ca018f86329f1e06e873b25801732001128d5afca265e36  LICENSE.txt
diff --git a/package/libaec/libaec.mk b/package/libaec/libaec.mk
new file mode 100644
index 0000000000..d631230be6
--- /dev/null
+++ b/package/libaec/libaec.mk
@@ -0,0 +1,19 @@
+################################################################################
+#
+# libaec
+#
+################################################################################
+
+LIBAEC_VERSION = 1.1.7
+LIBAEC_SITE = https://github.com/Deutsches-Klimarechenzentrum/libaec/releases/download/v$(LIBAEC_VERSION)
+LIBAEC_LICENSE = BSD-2-Clause
+LIBAEC_LICENSE_FILES = LICENSE.txt
+LIBAEC_INSTALL_STAGING = YES
+
+ifeq ($(BR2_SHARED_LIBS),y)
+LIBAEC_CONF_OPTS += -DBUILD_STATIC_LIBS=OFF
+else
+LIBAEC_CONF_OPTS += -DBUILD_STATIC_LIBS=ON
+endif
+
+$(eval $(cmake-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH 2/2] package/szip: remove package
  2026-10-06 11:07 [Buildroot] [PATCH 0/2] package/szip: replace with libaec Yegor Yefremov via buildroot
  2026-10-06 11:07 ` [Buildroot] [PATCH 1/2] package/libaec: new package Yegor Yefremov via buildroot
@ 2026-10-06 11:07 ` Yegor Yefremov via buildroot
  2026-10-11  7:07 ` [Buildroot] [PATCH 0/2] package/szip: replace with libaec Thomas Petazzoni via buildroot
  2 siblings, 0 replies; 4+ messages in thread
From: Yegor Yefremov via buildroot @ 2026-10-06 11:07 UTC (permalink / raw)
  To: buildroot; +Cc: Shubham Chakraborty, Ernesto L . Williams Jr

From: Yegor Yefremov <yegorslists@googlemail.com>

szip is not maintained upstream anymore: 2.1.1 is the last release,
there is no public repository, and the source is only available from
the HDF Group archive. Its license is not a standard open source one,
and the HDF Group itself recommends libaec as a replacement.

The package also fails to build with GCC >= 15 on non-glibc
toolchains, as only linux-gnu hosts get -ansi from szip's configure
and the code relies on pre-C23 empty parameter lists:

  rice.c:1323:15: error: too many arguments to function 'winner_ref_function'; expected 0, have 2

libaec provides libsz, a drop-in replacement with the same API and
soname, so select it through the legacy option.

Fixes:
  https://autobuild.buildroot.org/results/5e400d0e13480c58e8b1b0178bf7e5537dd31751

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Assisted-by: Claude:claude-opus-5-5
---
 Config.in.legacy       |  9 +++++++++
 DEVELOPERS             |  3 ---
 package/Config.in      |  1 -
 package/szip/Config.in | 16 ----------------
 package/szip/szip.hash |  3 ---
 package/szip/szip.mk   | 13 -------------
 6 files changed, 9 insertions(+), 36 deletions(-)
 delete mode 100644 package/szip/Config.in
 delete mode 100644 package/szip/szip.hash
 delete mode 100644 package/szip/szip.mk

diff --git a/Config.in.legacy b/Config.in.legacy
index 9ba6ab243e..07d6a7b2f1 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,15 @@ endif
 
 comment "Legacy options removed in 2026.11"
 
+config BR2_PACKAGE_SZIP
+	bool "szip has been removed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_LIBAEC
+	help
+	  The szip package has been removed, as it is no longer
+	  maintained upstream. libaec, which provides a drop-in
+	  replacement libsz library, has been selected instead.
+
 config BR2_PACKAGE_PYTHON3_2TO3
 	bool "python module 2to3 has been removed"
 	select BR2_LEGACY
diff --git a/DEVELOPERS b/DEVELOPERS
index bde955ec6a..d96fb11051 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -974,9 +974,6 @@ F:	package/imx-mkimage/
 N:	Erik Stromdahl <erik.stromdahl@gmail.com>
 F:	package/mxsldr/
 
-N:	Ernesto L. Williams Jr <realcontrols@gmail.com>
-F:	package/szip/
-
 N:	Esben Haabendal <esben@haabendal.dk>
 F:	package/python-kiwisolver/
 
diff --git a/package/Config.in b/package/Config.in
index 0585bacccf..2a0c59b90f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1630,7 +1630,6 @@ menu "Compression and decompression"
 	source "package/minizip/Config.in"
 	source "package/minizip-zlib/Config.in"
 	source "package/snappy/Config.in"
-	source "package/szip/Config.in"
 	source "package/zchunk/Config.in"
 	source "package/zlib/Config.in"
 	source "package/zziplib/Config.in"
diff --git a/package/szip/Config.in b/package/szip/Config.in
deleted file mode 100644
index 5a24362f29..0000000000
--- a/package/szip/Config.in
+++ /dev/null
@@ -1,16 +0,0 @@
-config BR2_PACKAGE_SZIP
-	bool "szip"
-	help
-	  Szip is an implementation of the extended-Rice lossless
-	  compression algorithm.
-
-	  The Consultative Committee on Space Data Systems (CCSDS) has
-	  adopted the extended-Rice algorithm for international
-	  standards for space applications[1,6,7]. Szip is reported to
-	  provide fast and effective compression, specifically for the
-	  EOS data generated by the NASA Earth Observatory System
-	  (EOS)[1]. It was originally developed at University of New
-	  Mexico (UNM) and integrated with HDF4 by UNM researchers and
-	  developers.
-
-	  http://www.hdfgroup.org/doc_resource/SZIP
diff --git a/package/szip/szip.hash b/package/szip/szip.hash
deleted file mode 100644
index 5d3ee042f9..0000000000
--- a/package/szip/szip.hash
+++ /dev/null
@@ -1,3 +0,0 @@
-# Locally computed
-sha256  21ee958b4f2d4be2c9cabfa5e1a94877043609ce86fde5f286f105f7ff84d412  szip-2.1.1.tar.gz
-sha256  98cc66747133b26563fefc4630ad4c8c7848c722c7b8a60ecd4afbc4c7d7eb01  COPYING
diff --git a/package/szip/szip.mk b/package/szip/szip.mk
deleted file mode 100644
index 869fc9c358..0000000000
--- a/package/szip/szip.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-################################################################################
-#
-# szip
-#
-################################################################################
-
-SZIP_VERSION = 2.1.1
-SZIP_SITE = https://docs.hdfgroup.org/archive/support/ftp/lib-external/szip/$(SZIP_VERSION)/src
-SZIP_LICENSE = szip license
-SZIP_LICENSE_FILES = COPYING
-SZIP_INSTALL_STAGING = YES
-
-$(eval $(autotools-package))
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Buildroot] [PATCH 0/2] package/szip: replace with libaec
  2026-10-06 11:07 [Buildroot] [PATCH 0/2] package/szip: replace with libaec Yegor Yefremov via buildroot
  2026-10-06 11:07 ` [Buildroot] [PATCH 1/2] package/libaec: new package Yegor Yefremov via buildroot
  2026-10-06 11:07 ` [Buildroot] [PATCH 2/2] package/szip: remove package Yegor Yefremov via buildroot
@ 2026-10-11  7:07 ` Thomas Petazzoni via buildroot
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-11  7:07 UTC (permalink / raw)
  To: Yegor Yefremov; +Cc: buildroot, Shubham Chakraborty, Ernesto L . Williams Jr

On Tue, Oct 06, 2026 at 01:07:12PM +0200, Yegor Yefremov via buildroot wrote:

> Yegor Yefremov (2):
>   package/libaec: new package
>   package/szip: remove package

Thanks, series applied!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-10-11  7:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-06 11:07 [Buildroot] [PATCH 0/2] package/szip: replace with libaec Yegor Yefremov via buildroot
2026-10-06 11:07 ` [Buildroot] [PATCH 1/2] package/libaec: new package Yegor Yefremov via buildroot
2026-10-06 11:07 ` [Buildroot] [PATCH 2/2] package/szip: remove package Yegor Yefremov via buildroot
2026-10-11  7:07 ` [Buildroot] [PATCH 0/2] package/szip: replace with libaec Thomas Petazzoni via buildroot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.