Skip to content

Commit

Permalink
czkawka-full: "init"
Browse files Browse the repository at this point in the history
This meta-package is a convenient wrapper for czkawka, useful to include extra
auxiliary packages - like ffmpeg.

Many thanks for `parallel` package keepers! The idea is nice!
  • Loading branch information
AndersonTorres committed Sep 3, 2024
1 parent dbeb076 commit 9cc5c5e
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 3 deletions.
12 changes: 9 additions & 3 deletions pkgs/by-name/cz/czkawka/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
lib,
atk,
cairo,
callPackage,
darwin,
fetchFromGitHub,
gdk-pixbuf,
Expand Down Expand Up @@ -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 = {
Expand Down
33 changes: 33 additions & 0 deletions pkgs/by-name/cz/czkawka/wrapper.nix
Original file line number Diff line number Diff line change
@@ -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;
}
4 changes: 4 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 9cc5c5e

Please sign in to comment.