diff --git a/pkgs/applications/misc/gcfflasher/default.nix b/pkgs/applications/misc/gcfflasher/default.nix new file mode 100644 index 00000000000..14bc6ad012e --- /dev/null +++ b/pkgs/applications/misc/gcfflasher/default.nix @@ -0,0 +1,46 @@ +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, libgpiod +, cmake +}: + +stdenv.mkDerivation rec { + pname = "gcfflasher"; + version = "4.0.3-beta"; + + src = fetchFromGitHub { + owner = "dresden-elektronik"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-m+iDBfsHo+PLYd3K8JaKwhIXcnj+Q8w7gIgmHp+0plk="; + }; + + nativeBuildInputs = [ + pkg-config + cmake + ]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace 'main_windows.c' 'main_posix.c' + ''; + + buildInputs = lib.optionals stdenv.isLinux [ + libgpiod + ]; + + installPhase = '' + runHook preInstall + install -Dm0755 GCFFlasher $out/bin/GCFFlasher + runHook postInstall + ''; + + meta = with lib; { + description = "CFFlasher is the tool to program the firmware of dresden elektronik's Zigbee products"; + license = licenses.bsd3; + homepage = "https://github.com/dresden-elektronik/gcfflasher"; + maintainers = with maintainers; [ fleaz ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e35f80aa819..cafd2c68c3a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7353,6 +7353,8 @@ with pkgs; gtk = gtk2-x11; }; + gcfflasher = callPackage ../applications/misc/gcfflasher { }; + gdmap = callPackage ../tools/system/gdmap { }; gef = callPackage ../development/tools/misc/gef { };