From 3aa26e1071c37da3e9b17af8a798ccd7987c1c50 Mon Sep 17 00:00:00 2001 From: Anna Aurora Date: Thu, 7 Aug 2025 13:48:22 +0200 Subject: [PATCH 1/5] peazip: removed with lib syntax --- pkgs/by-name/pe/peazip/package.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/by-name/pe/peazip/package.nix b/pkgs/by-name/pe/peazip/package.nix index 07982d807d5f..003ddcc876a3 100644 --- a/pkgs/by-name/pe/peazip/package.nix +++ b/pkgs/by-name/pe/peazip/package.nix @@ -101,8 +101,8 @@ stdenv.mkDerivation rec { runHook postInstall ''; - meta = with lib; { description = "Cross-platform file and archive manager"; + meta = { longDescription = '' Free Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager. @@ -110,10 +110,10 @@ stdenv.mkDerivation rec { Supports 7Z, 7-Zip sfx, ACE, ARJ, Brotli, BZ2, CAB, CHM, CPIO, DEB, GZ, ISO, JAR, LHA/LZH, NSIS, OOo, PEA, RAR, RPM, split, TAR, Z, ZIP, ZIPX, Zstandard. ''; - license = licenses.gpl3Only; + license = lib.licenses.gpl3Only; homepage = "https://peazip.github.io"; - platforms = platforms.linux; - maintainers = with maintainers; [ annaaurora ]; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ annaaurora ]; mainProgram = "peazip"; }; } From ace3068d5c31acbc7b3b9256beb55248c543bbfe Mon Sep 17 00:00:00 2001 From: Anna Aurora Date: Thu, 7 Aug 2025 13:50:00 +0200 Subject: [PATCH 2/5] peazip: removed cross platform wording from meta attrs In nixpkgs, peazip is not cross-platform but if it was, it could be read from meta.platforms anyway. --- pkgs/by-name/pe/peazip/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pe/peazip/package.nix b/pkgs/by-name/pe/peazip/package.nix index 003ddcc876a3..6525e6d90264 100644 --- a/pkgs/by-name/pe/peazip/package.nix +++ b/pkgs/by-name/pe/peazip/package.nix @@ -101,10 +101,10 @@ stdenv.mkDerivation rec { runHook postInstall ''; - description = "Cross-platform file and archive manager"; meta = { + description = "File and archive manager"; longDescription = '' - Free Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager. + Free Zip / Unzip software and Rar file extractor. File and archive manager. Features volume spanning, compression, authenticated encryption. From 53697d24f0ceb1fa2caa92ec836e362138b9fa96 Mon Sep 17 00:00:00 2001 From: Anna Aurora Date: Thu, 7 Aug 2025 13:52:33 +0200 Subject: [PATCH 3/5] peazip: made use of writableTmpDirAsHomeHook --- pkgs/by-name/pe/peazip/package.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/pe/peazip/package.nix b/pkgs/by-name/pe/peazip/package.nix index 6525e6d90264..1812b8942c0f 100644 --- a/pkgs/by-name/pe/peazip/package.nix +++ b/pkgs/by-name/pe/peazip/package.nix @@ -12,6 +12,7 @@ upx, zpaq, zstd, + writableTmpDirAsHomeHook, }: stdenv.mkDerivation rec { @@ -35,6 +36,8 @@ stdenv.mkDerivation rec { qt6Packages.wrapQtAppsHook lazarus fpc + # lazarus tries to create files in $HOME/.lazarus + writableTmpDirAsHomeHook ]; buildInputs = [ @@ -48,8 +51,6 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}"; buildPhase = '' - # lazarus tries to create files in $HOME/.lazarus - export HOME=$(mktemp -d) pushd dev lazbuild --lazarusdir=${lazarus}/share/lazarus --add-package metadarkstyle/metadarkstyle.lpk lazbuild --lazarusdir=${lazarus}/share/lazarus --widgetset=qt6 --build-all project_pea.lpi From b5413d170746a264c3d54768897e3db5ff24bd62 Mon Sep 17 00:00:00 2001 From: Anna Aurora Date: Thu, 7 Aug 2025 13:54:11 +0200 Subject: [PATCH 4/5] peazip: refactored installPhase and fixed #429532 (localization) --- pkgs/by-name/pe/peazip/package.nix | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/pe/peazip/package.nix b/pkgs/by-name/pe/peazip/package.nix index 1812b8942c0f..02ae4276f8ad 100644 --- a/pkgs/by-name/pe/peazip/package.nix +++ b/pkgs/by-name/pe/peazip/package.nix @@ -68,19 +68,22 @@ stdenv.mkDerivation rec { runHook preInstall install -D dev/{pea,peazip} -t $out/lib/peazip - wrapProgram $out/lib/peazip/peazip --prefix PATH : ${ - lib.makeBinPath [ - _7z - brotli - upx - zpaq - zstd - ] - } mkdir -p $out/bin - ln -s $out/lib/peazip/{pea,peazip} $out/bin/ + makeWrapper $out/lib/peazip/peazip $out/bin/peazip \ + --prefix PATH : ${ + lib.makeBinPath [ + _7z + brotli + upx + zpaq + zstd + ] + } \ + ''${qtWrapperArgs[@]} # putting this here as to not have double wrapping + makeWrapper $out/lib/peazip/pea $out/bin/pea \ + ''${qtWrapperArgs[@]} # putting this here as to not have double wrapping - mkdir -p $out/share/peazip $out/lib/peazip/res/share + mkdir -p $out/share/peazip $out/lib/peazip/res ln -s $out/share/peazip $out/lib/peazip/res/share cp -r res/share/{icons,lang,themes,presets} $out/share/peazip/ # Install desktop entries @@ -102,6 +105,8 @@ stdenv.mkDerivation rec { runHook postInstall ''; + dontWrapQtApps = true; + meta = { description = "File and archive manager"; longDescription = '' From 5d86a990312b977dfc9ab2a950b26a995d08d952 Mon Sep 17 00:00:00 2001 From: Anna Aurora Date: Thu, 7 Aug 2025 14:03:03 +0200 Subject: [PATCH 5/5] peazip: refactored to use finalAttrs syntax --- pkgs/by-name/pe/peazip/package.nix | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/pe/peazip/package.nix b/pkgs/by-name/pe/peazip/package.nix index 02ae4276f8ad..186b9b245453 100644 --- a/pkgs/by-name/pe/peazip/package.nix +++ b/pkgs/by-name/pe/peazip/package.nix @@ -15,17 +15,24 @@ writableTmpDirAsHomeHook, }: -stdenv.mkDerivation rec { +let + # peazip looks for the "7z", not "7zz" + _7z = runCommand "7z" { } '' + mkdir -p $out/bin + ln -s ${_7zz}/bin/7zz $out/bin/7z + ''; +in +stdenv.mkDerivation (finalAttrs: { pname = "peazip"; version = "10.6.0"; src = fetchFromGitHub { owner = "peazip"; repo = "peazip"; - rev = version; + rev = finalAttrs.version; hash = "sha256-oRgsT2j5P6jbaBAgLMGArJ+pCVSgC/CJcHM45mRw6Bs="; }; - sourceRoot = "${src.name}/peazip-sources"; + sourceRoot = "${finalAttrs.src.name}/peazip-sources"; postPatch = '' # set it to use compression programs from $PATH @@ -48,7 +55,7 @@ stdenv.mkDerivation rec { libqtpas ]); - NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath buildInputs}"; + env.NIX_LDFLAGS = "--as-needed -rpath ${lib.makeLibraryPath finalAttrs.buildInputs}"; buildPhase = '' pushd dev @@ -58,12 +65,6 @@ stdenv.mkDerivation rec { popd ''; - # peazip looks for the "7z", not "7zz" - _7z = runCommand "7z" { } '' - mkdir -p $out/bin - ln -s ${_7zz}/bin/7zz $out/bin/7z - ''; - installPhase = '' runHook preInstall @@ -122,4 +123,4 @@ stdenv.mkDerivation rec { maintainers = with lib.maintainers; [ annaaurora ]; mainProgram = "peazip"; }; -} +})