Skip to contentSkip to conversation

zlib-ng: new package

PATCH New Stefan Fröberg 2 participants 4 messages Nov 28, 2017 – Nov 29, 2017

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/3 zlib-ng: new package

Changes v2 -> v3:

- Add myself to DEVELOPERS files (by Thomas).
- Update github download url.
- Keep only sha256 of the locally computed hashes.
- Add few cmake switches and also check for ARM support.
- Convert to use virtual package infrastructure (by Thomas).

---
 DEVELOPERS                   |  1 +
 package/zlib-ng/zlib-ng.hash |  6 ++++++
 package/zlib-ng/zlib-ng.mk   | 22 ++++++++++++++++++++++
 3 files changed, 29 insertions(+)
 create mode 100644 package/zlib-ng/zlib-ng.hash
 create mode 100644 package/zlib-ng/zlib-ng.mk
DEVELOPERS +1 -0
index 20fe70253d..9438981de5 100644
@@ -1541,6 +1541,7 @@ F:	package/elfutils/
 F:	package/libtasn1/
 F:	package/proxychains-ng/
 F:	package/yasm/
+F:	package/zlib-ng/
 
 N:	Stefan S?rensen <[email protected]>
 F:	package/cracklib/
package/zlib-ng/zlib-ng.hash new file +6 -0
new file mode 100644
index 0000000000..b86bcd6a40
@@ -0,0 +1,6 @@
+# Locally calculated
+
+sha256	e76d90720373b0e06de10541dc5ae6b12f967239782da43840a9cadf4a08549c  zlib-ng-860d7a30f20f0c1e71bc0d8b0d84b88293326f6c.tar.gz
+
+sha256	d3c80be055d94d798eaa786116e84fa0b010bc11420b5d2060d978ea77845436 LICENSE.md
+
package/zlib-ng/zlib-ng.mk new file +22 -0
new file mode 100644
index 0000000000..a6f3df4774
@@ -0,0 +1,22 @@
+################################################################################
+#
+# zlib-ng
+#
+################################################################################
+
+ZLIB_NG_VERSION = 860d7a30f20f0c1e71bc0d8b0d84b88293326f6c
+ZLIB_NG_SITE = $(call github,Dead2,zlib-ng,$(ZLIB_NG_VERSION))
+ZLIB_NG_LICENSE = Zlib
+ZLIB_NG_LICENSE_FILES = LICENSE.md
+ZLIB_NG_INSTALL_STAGING = YES
+ZLIB_NG_PROVIDES = zlib
+
+# Build with zlib compatible API, gzFile support and optimizations on
+ZLIB_NG_CONF_OPTS += -DZLIB_COMPAT=1 -DWITH_GZFILEOP=1 -DWITH_OPTIM=1 -DCC=$(TARGET_CC)
+
+# Enable NEON and ACLE on ARM
+ifeq ($(BR2_arm),y)
+ZLIB_NG_CONF_OPTS += -DWITH_ACLE=1 -DWITH_NEON=1
+endif
+
+$(eval $(cmake-package))
Signature · 1 line
2.13.6
#1 lore raw

PATCH v3 2/3 rename zlib to libzlib

- Rename zlib to libzlib to prevent name clash with coming virtual zlib package
- Convert libzlib to use virtual package infrastructure

---
 package/{zlib/zlib.hash => libzlib/libzlib.hash} |  0
 package/{zlib/zlib.mk => libzlib/libzlib.mk}     | 43 ++++++++++++------------
 package/zlib/Config.in                           |  7 ----
 3 files changed, 22 insertions(+), 28 deletions(-)
 rename package/{zlib/zlib.hash => libzlib/libzlib.hash} (100%)
 rename package/{zlib/zlib.mk => libzlib/libzlib.mk} (66%)
 delete mode 100644 package/zlib/Config.in
package/libzlib/libzlib.hash renamed from package/zlib/zlib.hash +0 -0
similarity index 100%
rename from package/zlib/zlib.hash
rename to package/libzlib/libzlib.hash
package/libzlib/libzlib.mk renamed from package/zlib/zlib.mk +22 -21

90 lines not on this page · raw message

package/zlib/Config.in deleted +0 -7
deleted file mode 100644
index 6201aba142..0000000000
@@ -1,7 +0,0 @@
-config BR2_PACKAGE_ZLIB
-	bool "zlib"
-	help
-	  Standard (de)compression library. Used by things like
-	  gzip and libpng.
-
-	  http://www.zlib.net
Signature · 1 line
2.13.6
#2 lore raw

PATCH v3 3/3 zlib-ng: make zlib a virtual package

In reply to Stefan Fröberg

- Convert zlib to virtual package

---
 package/zlib/Config.in | 42 ++++++++++++++++++++++++++++++++++++++++++
 package/zlib/zlib.mk   |  7 +++++++
 2 files changed, 49 insertions(+)
 create mode 100644 package/zlib/Config.in
 create mode 100644 package/zlib/zlib.mk
package/zlib/Config.in new file +42 -0
new file mode 100644
index 0000000000..877916594a
@@ -0,0 +1,42 @@
+config BR2_PACKAGE_ZLIB
+	bool "zlib support"
+	help
+	  Select the desired Zlib library provider.
+
+if BR2_PACKAGE_ZLIB
+
+choice
+	prompt "zlib variant"
+	default BR2_PACKAGE_LIBZLIB
+	help
+	  Select the normal zlib or zlib-ng.
+
+config BR2_PACKAGE_LIBZLIB
+	bool "zlib"
+	select BR2_PACKAGE_HAS_ZLIB
+	help
+	  Standard (de)compression library. Used by things like
+	  gzip and libpng.
+
+	  http://www.zlib.net
+
+config BR2_PACKAGE_ZLIB_NG
+	bool "zlib-ng"
+	select BR2_PACKAGE_HAS_ZLIB
+	help
+	  zlib replacement with optimizations for
+	  "next generation" systems.
+
+	  https://github.com/Dead2/zlib-ng
+
+endchoice
+
+config BR2_PACKAGE_HAS_ZLIB
+	bool
+
+config BR2_PACKAGE_PROVIDES_ZLIB
+	string
+	default "libzlib" if BR2_PACKAGE_LIBZLIB
+	default "zlib-ng" if BR2_PACKAGE_ZLIB_NG
+
+endif
package/zlib/zlib.mk new file +7 -0
new file mode 100644
index 0000000000..48f6e20ecd
@@ -0,0 +1,7 @@
+################################################################################
+#
+# zlib
+#
+################################################################################
+
+$(eval $(virtual-package))
Signature · 1 line
2.13.6
#3 lore raw

PATCH v3 1/3 zlib-ng: new package

In reply to Stefan Fröberg

Hello,

Thanks for this new iteration!

Quoted 9 lines · Stefan Fr?berg

Changes v2 -> v3:

- Add myself to DEVELOPERS files (by Thomas).
- Update github download url.
- Keep only sha256 of the locally computed hashes.
- Add few cmake switches and also check for ARM support.
- Convert to use virtual package infrastructure (by Thomas).

Changes should go after the --- mark, i.e...

Quoted 2 lines

---

... here.

However, there's a bigger problem with your series: it's not bisectable.

If I apply just PATCH 1/3, then zlib-ng is available, but will conflict/overwrite files installs by zlib. Not good.

If I apply just PATCH 1/3 and PATCH 2/3, then all packages that use zlib are broken because it's now called libzlib.

So basically, you need to squash PATCH 2/3 and 3/3 into a single patch, and make that the first patch of the series (of course removing the zlib-ng support in it).

And then as a second patch, introduce the zlib-ng package, as a new provider for zlib.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com