From a9962768fe0b12024a41876df8ef51db867caff7 Mon Sep 17 00:00:00 2001 From: kuflierl <41301536+kuflierl@users.noreply.github.com> Date: Fri, 8 May 2026 02:57:32 +0200 Subject: [PATCH 1/5] minizip-ng: fixup cmake options and make use of lib.cmakeBool --- pkgs/by-name/mi/minizip-ng/package.nix | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/pkgs/by-name/mi/minizip-ng/package.nix b/pkgs/by-name/mi/minizip-ng/package.nix index e58665f269d3..ceee5ea293a7 100644 --- a/pkgs/by-name/mi/minizip-ng/package.nix +++ b/pkgs/by-name/mi/minizip-ng/package.nix @@ -27,6 +27,7 @@ stdenv.mkDerivation (finalAttrs: { cmake pkg-config ]; + buildInputs = [ zlib bzip2 @@ -36,19 +37,16 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - "-DBUILD_SHARED_LIBS=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" - "-DMZ_OPENSSL=ON" - "-DMZ_BUILD_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" - "-DMZ_BUILD_UNIT_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" - "-DMZ_LIB_SUFFIX='-ng'" + (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) + (lib.cmakeBool "MZ_OPENSSL" true) + (lib.cmakeBool "MZ_LIBCOMP" false) # builds only on Darwin by default where it fails due to mising headers + (lib.cmakeBool "MZ_BUILD_TESTS" finalAttrs.doCheck) + (lib.cmakeBool "MZ_BUILD_UNIT_TESTS" finalAttrs.doCheck) + (lib.cmakeFeature "MZ_LIB_SUFFIX" "-ng") ] ++ lib.optionals stdenv.hostPlatform.isi686 [ # tests fail - "-DMZ_PKCRYPT=OFF" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # missing header file - "-DMZ_LIBCOMP=OFF" + (lib.cmakeBool "MZ_PKCRYPT" false) ]; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-register"; From b8e97ce15685cbfb57b4d11691d615ba1383a0c8 Mon Sep 17 00:00:00 2001 From: kuflierl <41301536+kuflierl@users.noreply.github.com> Date: Fri, 8 May 2026 02:41:17 +0200 Subject: [PATCH 2/5] minizip-ng: 4.1.0 -> 4.2.1 --- pkgs/by-name/mi/minizip-ng/package.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/mi/minizip-ng/package.nix b/pkgs/by-name/mi/minizip-ng/package.nix index ceee5ea293a7..811fa61093be 100644 --- a/pkgs/by-name/mi/minizip-ng/package.nix +++ b/pkgs/by-name/mi/minizip-ng/package.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "minizip-ng"; - version = "4.1.0"; + version = "4.2.1"; src = fetchFromGitHub { owner = "zlib-ng"; repo = "minizip-ng"; rev = finalAttrs.version; - hash = "sha256-H6ttsVBs437lWMBsq5baVDb9e5I6Fh+xggFre/hxGKU="; + hash = "sha256-gpjM8Cqoe4kafXgl2wXhhCRx39WC94qJ1DIDyd2n0G8="; }; nativeBuildInputs = [ @@ -39,6 +39,7 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic)) (lib.cmakeBool "MZ_OPENSSL" true) + (lib.cmakeBool "MZ_PPMD" false) # PPMD support requres internet access to make a git clone (lib.cmakeBool "MZ_LIBCOMP" false) # builds only on Darwin by default where it fails due to mising headers (lib.cmakeBool "MZ_BUILD_TESTS" finalAttrs.doCheck) (lib.cmakeBool "MZ_BUILD_UNIT_TESTS" finalAttrs.doCheck) From 5afb67bdacbdcd8cf32b366eea6c0c96e16ab492 Mon Sep 17 00:00:00 2001 From: kuflierl <41301536+kuflierl@users.noreply.github.com> Date: Sun, 31 May 2026 00:21:11 +0200 Subject: [PATCH 3/5] minizip-ng: add structuredAttrs and strictDeps --- pkgs/by-name/mi/minizip-ng/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/mi/minizip-ng/package.nix b/pkgs/by-name/mi/minizip-ng/package.nix index 811fa61093be..cb9dd6fa5943 100644 --- a/pkgs/by-name/mi/minizip-ng/package.nix +++ b/pkgs/by-name/mi/minizip-ng/package.nix @@ -65,9 +65,12 @@ stdenv.mkDerivation (finalAttrs: { ''; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; - nativeCheckInputs = [ gtest ]; + checkInputs = [ gtest ]; enableParallelChecking = false; + strictDeps = true; + __structuredAttrs = true; + meta = { description = "Fork of the popular zip manipulation library found in the zlib distribution"; homepage = "https://github.com/zlib-ng/minizip-ng"; From d3a32f77d5029939b709536c4be8ed82f5511d71 Mon Sep 17 00:00:00 2001 From: kuflierl <41301536+kuflierl@users.noreply.github.com> Date: Sun, 31 May 2026 00:22:21 +0200 Subject: [PATCH 4/5] minizip-ng{-compat}: split compat --- pkgs/by-name/mi/minizip-ng-compat/package.nix | 6 ++++++ pkgs/by-name/mi/minizip-ng/package.nix | 17 +++-------------- 2 files changed, 9 insertions(+), 14 deletions(-) create mode 100644 pkgs/by-name/mi/minizip-ng-compat/package.nix diff --git a/pkgs/by-name/mi/minizip-ng-compat/package.nix b/pkgs/by-name/mi/minizip-ng-compat/package.nix new file mode 100644 index 000000000000..22d06bcc1322 --- /dev/null +++ b/pkgs/by-name/mi/minizip-ng-compat/package.nix @@ -0,0 +1,6 @@ +{ + minizip-ng, +}: +minizip-ng.override { + enableCompat = true; +} diff --git a/pkgs/by-name/mi/minizip-ng/package.nix b/pkgs/by-name/mi/minizip-ng/package.nix index cb9dd6fa5943..a92beb320e15 100644 --- a/pkgs/by-name/mi/minizip-ng/package.nix +++ b/pkgs/by-name/mi/minizip-ng/package.nix @@ -10,10 +10,11 @@ xz, zstd, openssl, + enableCompat ? false, }: stdenv.mkDerivation (finalAttrs: { - pname = "minizip-ng"; + pname = "minizip-ng" + lib.optionalString enableCompat "-compat"; version = "4.2.1"; src = fetchFromGitHub { @@ -43,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "MZ_LIBCOMP" false) # builds only on Darwin by default where it fails due to mising headers (lib.cmakeBool "MZ_BUILD_TESTS" finalAttrs.doCheck) (lib.cmakeBool "MZ_BUILD_UNIT_TESTS" finalAttrs.doCheck) - (lib.cmakeFeature "MZ_LIB_SUFFIX" "-ng") + (lib.cmakeBool "MZ_COMPAT" enableCompat) ] ++ lib.optionals stdenv.hostPlatform.isi686 [ # tests fail @@ -52,18 +53,6 @@ stdenv.mkDerivation (finalAttrs: { env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-register"; - postInstall = '' - # make lib findable as libminizip-ng even if compat is enabled - for ext in so dylib a ; do - if [ -e $out/lib/libminizip.$ext ] && [ ! -e $out/lib/libminizip-ng.$ext ]; then - ln -s $out/lib/libminizip.$ext $out/lib/libminizip-ng.$ext - fi - done - if [ ! -e $out/include/minizip-ng ]; then - ln -s $out/include $out/include/minizip-ng - fi - ''; - doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; checkInputs = [ gtest ]; enableParallelChecking = false; From edcd4f4efbd69d035ccc1a7b58dc55135128242d Mon Sep 17 00:00:00 2001 From: kuflierl <41301536+kuflierl@users.noreply.github.com> Date: Sun, 31 May 2026 00:22:58 +0200 Subject: [PATCH 5/5] minizip-ng{-compat}: add kuflierl as maintainer --- pkgs/by-name/mi/minizip-ng/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/mi/minizip-ng/package.nix b/pkgs/by-name/mi/minizip-ng/package.nix index a92beb320e15..63a7a152f7bb 100644 --- a/pkgs/by-name/mi/minizip-ng/package.nix +++ b/pkgs/by-name/mi/minizip-ng/package.nix @@ -66,6 +66,7 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.zlib; maintainers = with lib.maintainers; [ ris + kuflierl ]; platforms = lib.platforms.unix; };