buildroot.busybox.net archive mirror
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/minizip: add minizip-zlib support
@ 2022-01-08 22:43 Fabrice Fontaine
  2022-01-08 22:43 ` [Buildroot] [PATCH 2/2] package/domoticz: depends on minizip-zlib Fabrice Fontaine
  2022-07-27 10:02 ` [Buildroot] [PATCH 1/2] package/minizip: add minizip-zlib support Arnout Vandecappelle
  0 siblings, 2 replies; 7+ messages in thread
From: Fabrice Fontaine @ 2022-01-08 22:43 UTC (permalink / raw)
  To: buildroot
  Cc: Fabrice Fontaine, Samuel Martin, Fabrice Fontaine, Thomas Petazzoni

Add a virtual package to allow the user to select the minizip provider:
 - the current minizip (which has been renamed minizip-ng since
   https://github.com/zlib-ng/minizip-ng/commit/db95894646b87f6178ceaa389cbdb5b1ba8cd97a)
 - the 'legacy' minizip provided by zlib which is still widely supported
   by various opensource packages such as domoticz

There is no need to add entries in Config.legacy as the previous options
are kept and the default provider of minizip is minizip-ng.

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 DEVELOPERS                                    |  2 +
 .../minizip-ng.hash}                          |  2 +-
 package/minizip-ng/minizip-ng.mk              | 76 +++++++++++++++++++
 package/minizip-zlib/minizip-zlib.hash        |  4 +
 package/minizip-zlib/minizip-zlib.mk          | 24 ++++++
 package/minizip/Config.in                     | 40 +++++++++-
 package/minizip/minizip.mk                    | 69 +----------------
 7 files changed, 144 insertions(+), 73 deletions(-)
 rename package/{minizip/minizip.hash => minizip-ng/minizip-ng.hash} (82%)
 create mode 100644 package/minizip-ng/minizip-ng.mk
 create mode 100644 package/minizip-zlib/minizip-zlib.hash
 create mode 100644 package/minizip-zlib/minizip-zlib.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index bbbb47f6ac..47a3d4bfe0 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -922,6 +922,8 @@ F:	package/mbedtls/
 F:	package/mbedtls3/
 F:	package/minissdpd/
 F:	package/minizip/
+F:	package/minizip-ng/
+F:	package/minizip-zlib/
 F:	package/mongodb/
 F:	package/motion/
 F:	package/mutt/
diff --git a/package/minizip/minizip.hash b/package/minizip-ng/minizip-ng.hash
similarity index 82%
rename from package/minizip/minizip.hash
rename to package/minizip-ng/minizip-ng.hash
index 3e87e64dae..f866363c93 100644
--- a/package/minizip/minizip.hash
+++ b/package/minizip-ng/minizip-ng.hash
@@ -1,3 +1,3 @@
 # Locally computed
-sha256  2ab219f651901a337a7d3c268128711b80330a99ea36bdc528c76b591a624c3c  minizip-3.0.4.tar.gz
+sha256  2ab219f651901a337a7d3c268128711b80330a99ea36bdc528c76b591a624c3c  minizip-ng-3.0.4.tar.gz
 sha256  675181c03fc1302a1c8554c00f7be9bb420c5dbc9dcc2013433cec144413de03  LICENSE
diff --git a/package/minizip-ng/minizip-ng.mk b/package/minizip-ng/minizip-ng.mk
new file mode 100644
index 0000000000..ec3903d226
--- /dev/null
+++ b/package/minizip-ng/minizip-ng.mk
@@ -0,0 +1,76 @@
+################################################################################
+#
+# minizip-ng
+#
+################################################################################
+
+MINIZIP_NG_VERSION = 3.0.4
+MINIZIP_NG_SITE = $(call github,zlib-ng,minizip-ng,$(MINIZIP_NG_VERSION))
+MINIZIP_NG_LICENSE = Zlib
+MINIZIP_NG_LICENSE_FILES = LICENSE
+MINIZIP_NG_CPE_ID_VENDOR = minizip_project
+MINIZIP_NG_CPE_ID_PRODUCT = minizip
+MINIZIP_NG_INSTALL_STAGING = YES
+MINIZIP_NG_PROVIDES = minizip
+MINIZIP_NG_DEPENDENCIES = host-pkgconf
+MINIZIP_NG_CONF_OPTS = \
+	$(if $(BR2_PACKAGE_MINIZIP_DEMOS),-DMZ_BUILD_TEST=ON) \
+	-DMZ_COMPAT=OFF \
+	-DMZ_FETCH_LIBS=OFF
+
+ifeq ($(BR2_PACKAGE_BZIP2),y)
+MINIZIP_NG_DEPENDENCIES += bzip2
+MINIZIP_NG_CONF_OPTS += -DMZ_BZIP2=ON
+else
+MINIZIP_NG_CONF_OPTS += -DMZ_BZIP2=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBICONV),y)
+MINIZIP_NG_DEPENDENCIES += libiconv
+MINIZIP_NG_CONF_OPTS += -DMZ_ICONV=ON
+else
+MINIZIP_NG_CONF_OPTS += -DMZ_ICONV=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBBSD),y)
+MINIZIP_NG_DEPENDENCIES += libbsd
+MINIZIP_NG_CONF_OPTS += -DMZ_LIBBSD=ON
+else
+MINIZIP_NG_CONF_OPTS += -DMZ_LIBBSD=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+MINIZIP_NG_DEPENDENCIES += openssl
+MINIZIP_NG_CONF_OPTS += \
+	-DMZ_OPENSSL=ON \
+	-DMZ_PKCRYPT=ON \
+	-DMZ_WZAES=ON
+else
+MINIZIP_NG_CONF_OPTS += \
+	-DMZ_OPENSSL=OFF \
+	-DMZ_PKCRYPT=OFF \
+	-DMZ_WZAES=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_XZ),y)
+MINIZIP_NG_DEPENDENCIES += xz
+MINIZIP_NG_CONF_OPTS += -DMZ_LZMA=ON
+else
+MINIZIP_NG_CONF_OPTS += -DMZ_LZMA=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+MINIZIP_NG_DEPENDENCIES += zlib
+MINIZIP_NG_CONF_OPTS += -DMZ_ZLIB=ON
+else
+MINIZIP_NG_CONF_OPTS += -DMZ_ZLIB=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_ZSTD),y)
+MINIZIP_NG_DEPENDENCIES += zstd
+MINIZIP_NG_CONF_OPTS += -DMZ_ZSTD=ON
+else
+MINIZIP_NG_CONF_OPTS += -DMZ_ZSTD=OFF
+endif
+
+$(eval $(cmake-package))
diff --git a/package/minizip-zlib/minizip-zlib.hash b/package/minizip-zlib/minizip-zlib.hash
new file mode 100644
index 0000000000..4d2c5c29d3
--- /dev/null
+++ b/package/minizip-zlib/minizip-zlib.hash
@@ -0,0 +1,4 @@
+# From http://www.zlib.net/
+sha256  4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066  zlib-1.2.11.tar.xz
+# License files, locally calculated
+sha256  7960b6b1cc63e619abb77acaea5427159605afee8c8b362664f4effc7d7f7d15  README
diff --git a/package/minizip-zlib/minizip-zlib.mk b/package/minizip-zlib/minizip-zlib.mk
new file mode 100644
index 0000000000..67d4e31f41
--- /dev/null
+++ b/package/minizip-zlib/minizip-zlib.mk
@@ -0,0 +1,24 @@
+################################################################################
+#
+# minizip-zlib
+#
+################################################################################
+
+MINIZIP_ZLIB_VERSION = 1.2.11
+MINIZIP_ZLIB_SOURCE = zlib-$(MINIZIP_ZLIB_VERSION).tar.xz
+MINIZIP_ZLIB_SITE = http://www.zlib.net
+MINIZIP_ZLIB_LICENSE = Zlib
+MINIZIP_ZLIB_LICENSE_FILES = README
+MINIZIP_ZLIB_INSTALL_STAGING = YES
+MINIZIP_ZLIB_PROVIDES = minizip
+MINIZIP_ZLIB_SUBDIR = contrib/minizip
+MINIZIP_ZLIB_AUTORECONF = YES
+MINIZIP_ZLIB_DEPENDENCIES = zlib
+
+ifeq ($(BR2_PACKAGE_MINIZIP_DEMOS),y)
+MINIZIP_ZLIB_CONF_OPTS += --enable-demos
+else
+MINIZIP_ZLIB_CONF_OPTS += --disable-demos
+endif
+
+$(eval $(autotools-package))
diff --git a/package/minizip/Config.in b/package/minizip/Config.in
index e4d185d9d7..b88091e809 100644
--- a/package/minizip/Config.in
+++ b/package/minizip/Config.in
@@ -1,13 +1,38 @@
 config BR2_PACKAGE_MINIZIP
-	bool "minizip"
+	bool "minizip support"
+	help
+	  Select the desired minizip provider.
+
+if BR2_PACKAGE_MINIZIP
+
+choice
+	prompt "minizip variant"
+	default BR2_PACKAGE_MINIZIP_NG
+	help
+	  Select the desired minizip provider.
+
+config BR2_PACKAGE_MINIZIP_NG
+	bool "minizip-ng"
 	depends on BR2_USE_WCHAR
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	select BR2_PACKAGE_HAS_MINIZIP
 	help
 	  Enables to extract files from a .zip archive file.
 	  It is compatible with PKZip 2.04g, WinZip, InfoZip,
 	  MimarSinan Codex Suite 2002 tools, and compatible sofware.
 
-	  https://github.com/nmoinvaz/minizip
+	  https://github.com/zlib-ng/minizip-ng
+
+config BR2_PACKAGE_MINIZIP_ZLIB
+	bool "minizip-zlib"
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_HAS_MINIZIP
+	help
+	  Legacy minizip provided in contrib/minizip of zlib.
+
+	  https://www.winimage.com/zLibDll/minizip.html
+
+endchoice
 
 config BR2_PACKAGE_MINIZIP_DEMOS
 	bool "minizip"
@@ -15,5 +40,12 @@ config BR2_PACKAGE_MINIZIP_DEMOS
 	help
 	  Enable minizip binary tool.
 
-comment "minizip needs a toolchain w/ wchar"
-	depends on !BR2_USE_WCHAR
+config BR2_PACKAGE_HAS_MINIZIP
+	bool
+
+config BR2_PACKAGE_PROVIDES_MINIZIP
+	string
+	default "minizip-zlib" if BR2_PACKAGE_MINIZIP_ZLIB
+	default "minizip-ng" if BR2_PACKAGE_MINIZIP_NG
+
+endif
diff --git a/package/minizip/minizip.mk b/package/minizip/minizip.mk
index 07f67c1354..95f1a17156 100644
--- a/package/minizip/minizip.mk
+++ b/package/minizip/minizip.mk
@@ -4,71 +4,4 @@
 #
 ################################################################################
 
-MINIZIP_VERSION = 3.0.4
-MINIZIP_SITE = $(call github,nmoinvaz,minizip,$(MINIZIP_VERSION))
-MINIZIP_DEPENDENCIES = host-pkgconf
-MINIZIP_INSTALL_STAGING = YES
-MINIZIP_CONF_OPTS = \
-	$(if $(BR2_PACKAGE_MINIZIP_DEMOS),-DMZ_BUILD_TEST=ON) \
-	-DMZ_COMPAT=OFF \
-	-DMZ_FETCH_LIBS=OFF
-MINIZIP_LICENSE = Zlib
-MINIZIP_LICENSE_FILES = LICENSE
-MINIZIP_CPE_ID_VENDOR = minizip_project
-
-ifeq ($(BR2_PACKAGE_BZIP2),y)
-MINIZIP_DEPENDENCIES += bzip2
-MINIZIP_CONF_OPTS += -DMZ_BZIP2=ON
-else
-MINIZIP_CONF_OPTS += -DMZ_BZIP2=OFF
-endif
-
-ifeq ($(BR2_PACKAGE_LIBICONV),y)
-MINIZIP_DEPENDENCIES += libiconv
-MINIZIP_CONF_OPTS += -DMZ_ICONV=ON
-else
-MINIZIP_CONF_OPTS += -DMZ_ICONV=OFF
-endif
-
-ifeq ($(BR2_PACKAGE_LIBBSD),y)
-MINIZIP_DEPENDENCIES += libbsd
-MINIZIP_CONF_OPTS += -DMZ_LIBBSD=ON
-else
-MINIZIP_CONF_OPTS += -DMZ_LIBBSD=OFF
-endif
-
-ifeq ($(BR2_PACKAGE_OPENSSL),y)
-MINIZIP_DEPENDENCIES += openssl
-MINIZIP_CONF_OPTS += \
-	-DMZ_OPENSSL=ON \
-	-DMZ_PKCRYPT=ON \
-	-DMZ_WZAES=ON
-else
-MINIZIP_CONF_OPTS += \
-	-DMZ_OPENSSL=OFF \
-	-DMZ_PKCRYPT=OFF \
-	-DMZ_WZAES=OFF
-endif
-
-ifeq ($(BR2_PACKAGE_XZ),y)
-MINIZIP_DEPENDENCIES += xz
-MINIZIP_CONF_OPTS += -DMZ_LZMA=ON
-else
-MINIZIP_CONF_OPTS += -DMZ_LZMA=OFF
-endif
-
-ifeq ($(BR2_PACKAGE_ZLIB),y)
-MINIZIP_DEPENDENCIES += zlib
-MINIZIP_CONF_OPTS += -DMZ_ZLIB=ON
-else
-MINIZIP_CONF_OPTS += -DMZ_ZLIB=OFF
-endif
-
-ifeq ($(BR2_PACKAGE_ZSTD),y)
-MINIZIP_DEPENDENCIES += zstd
-MINIZIP_CONF_OPTS += -DMZ_ZSTD=ON
-else
-MINIZIP_CONF_OPTS += -DMZ_ZSTD=OFF
-endif
-
-$(eval $(cmake-package))
+$(eval $(virtual-package))
-- 
2.34.1

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

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

end of thread, other threads:[~2022-07-27 13:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-08 22:43 [Buildroot] [PATCH 1/2] package/minizip: add minizip-zlib support Fabrice Fontaine
2022-01-08 22:43 ` [Buildroot] [PATCH 2/2] package/domoticz: depends on minizip-zlib Fabrice Fontaine
2022-07-27 10:02 ` [Buildroot] [PATCH 1/2] package/minizip: add minizip-zlib support Arnout Vandecappelle
2022-07-27 12:05   ` Fabrice Fontaine
2022-07-27 12:49     ` Arnout Vandecappelle
2022-07-27 13:12       ` Fabrice Fontaine
2022-07-27 13:31         ` Arnout Vandecappelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).