diff --git a/pkgs/by-name/cz/czkawka/package.nix b/pkgs/by-name/cz/czkawka/package.nix index 32477d9b60cd..6e8cf21d298a 100644 --- a/pkgs/by-name/cz/czkawka/package.nix +++ b/pkgs/by-name/cz/czkawka/package.nix @@ -2,6 +2,7 @@ lib, atk, cairo, + callPackage, darwin, fetchFromGitHub, gdk-pixbuf, @@ -84,9 +85,14 @@ let install -Dm444 -t $out/share/metainfo data/com.github.qarmin.czkawka.metainfo.xml ''; - passthru.tests.version = testers.testVersion { - package = self; - command = "czkawka_cli --version"; + passthru = { + tests.version = testers.testVersion { + package = self; + command = "czkawka_cli --version"; + }; + wrapper = callPackage ./wrapper.nix { + czkawka = self; + }; }; meta = { diff --git a/pkgs/by-name/cz/czkawka/wrapper.nix b/pkgs/by-name/cz/czkawka/wrapper.nix new file mode 100644 index 000000000000..0b2e7bf0ed0e --- /dev/null +++ b/pkgs/by-name/cz/czkawka/wrapper.nix @@ -0,0 +1,33 @@ +{ + lib, + czkawka, + makeWrapper, + symlinkJoin, + # configurable options + extraPackages ? [ ], +}: + +symlinkJoin { + name = "czkawka-wrapped-${czkawka.version}"; + inherit (czkawka) pname version outputs; + + nativeBuildInputs = [ makeWrapper ]; + + paths = [ czkawka ]; + + postBuild = '' + ${lib.concatMapStringsSep "\n" ( + output: "ln --symbolic --no-target-directory ${czkawka.${output}} \$${output}" + ) (lib.remove "out" czkawka.outputs)} + + pushd $out/bin + for f in *; do + rm -v $f + makeWrapper ${lib.getBin czkawka}/bin/$f $out/bin/$f \ + --prefix PATH ":" "${lib.makeBinPath extraPackages}" + done + popd + ''; + + meta = czkawka.meta; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c734ccfa5358..5ebe37f8e83e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4471,6 +4471,10 @@ with pkgs; cz-cli = callPackage ../applications/version-management/cz-cli { }; + czkawka-full = czkawka.wrapper.override { + extraPackages = [ ffmpeg ]; + }; + comma = callPackage ../tools/package-management/comma { }; commitizen = with python3Packages; toPythonApplication commitizen;