biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / audio / clerk / default.nix
blobfa306d44c0a693ef4dd5b6163a7cd59731da7f0a
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , makeWrapper
5 , rofi
6 , tmux
7 , fzf
8 , mpc-cli
9 , perl
10 , util-linux
11 , libnotify
12 , perlPackages
15 stdenv.mkDerivation {
16   pname = "clerk";
17   version = "unstable-2023-10-07";
19   src = fetchFromGitHub {
20     owner = "carnager";
21     repo = "clerk";
22     rev = "907138d8fc2b1709fb49d062d0b663a48eb210bd";
23     hash = "sha256-V2nDLq2ViC5Twve0EILBEYOdEavqgYB/TQq/T+ftfmk=";
24   };
26   postPatch = ''
27     substituteInPlace clerk_rating_client.service \
28       --replace "/usr" "$out"
29   '';
31   nativeBuildInputs = [ makeWrapper ];
33   buildInputs = with perlPackages; [
34     perl
35     DataMessagePack
36     DataSectionSimple
37     ConfigSimple
38     TryTiny
39     IPCRun
40     HTTPDate
41     FileSlurper
42     ArrayUtils
43     NetMPD
44   ];
46   dontBuild = true;
48   strictDeps = true;
50   installPhase = ''
51     runHook preInstall
53     install -D clerk.pl $out/bin/clerk
54     install -D clerk_rating_client $out/bin/clerk_rating_client
55     install -D clerk_rating_client.service $out/lib/systemd/user/clerk_rating_client.service
56     runHook postInstall
57   '';
59   postFixup = let
60     binPath = lib.makeBinPath [
61       libnotify
62       mpc-cli
63       rofi
64       tmux
65       fzf
66       util-linux
67     ];
68   in
69   ''
70     wrapProgram $out/bin/clerk --set PERL5LIB $PERL5LIB --prefix PATH : "${binPath}"
71     wrapProgram $out/bin/clerk_rating_client --set PERL5LIB $PERL5LIB --prefix PATH : "${binPath}"
72   '';
74   meta = with lib; {
75     description = "An MPD client based on rofi/fzf";
76     homepage = "https://github.com/carnager/clerk";
77     license = licenses.mit;
78     maintainers = with maintainers; [ anderspapitto rewine ];
79     mainProgram = "clerk";
80     platforms = platforms.linux;
81   };