Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / gcfflasher / default.nix
blob14bc6ad012e060812ec44450bc50797420cbd9ac
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , pkg-config
5 , libgpiod
6 , cmake
7 }:
9 stdenv.mkDerivation rec {
10   pname = "gcfflasher";
11   version = "4.0.3-beta";
13   src = fetchFromGitHub {
14     owner = "dresden-elektronik";
15     repo = pname;
16     rev = "refs/tags/v${version}";
17     hash = "sha256-m+iDBfsHo+PLYd3K8JaKwhIXcnj+Q8w7gIgmHp+0plk=";
18   };
20   nativeBuildInputs = [
21     pkg-config
22     cmake
23   ];
25   postPatch = ''
26     substituteInPlace CMakeLists.txt \
27       --replace 'main_windows.c' 'main_posix.c'
28     '';
30   buildInputs = lib.optionals stdenv.isLinux [
31     libgpiod
32   ];
34   installPhase = ''
35     runHook preInstall
36     install -Dm0755 GCFFlasher $out/bin/GCFFlasher
37     runHook postInstall
38   '';
40   meta = with lib; {
41     description = "CFFlasher is the tool to program the firmware of dresden elektronik's Zigbee products";
42     license = licenses.bsd3;
43     homepage = "https://github.com/dresden-elektronik/gcfflasher";
44     maintainers = with maintainers; [ fleaz ];
45   };