1{ lib
2, stdenv
3, fetchFromGitHub
4, argtable
5, cmake
6, libserialport
7, pkg-config
8, testers
9, IOKit
10}:
11
12stdenv.mkDerivation (finalAttrs: {
13 pname = "blisp";
14 version = "0.0.4";
15
16 src = fetchFromGitHub {
17 owner = "pine64";
18 repo = "blisp";
19 rev = "v${finalAttrs.version}";
20 hash = "sha256-cN35VLbdQFA3KTZ8PxgpbsLGXqfFhw5eh3nEBRZqAm4=";
21 };
22
23 nativeBuildInputs = [ cmake pkg-config ];
24
25 buildInputs = [
26 argtable
27 libserialport
28 ] ++ lib.optional stdenv.isDarwin IOKit;
29
30 cmakeFlags = [
31 "-DBLISP_BUILD_CLI=ON"
32 "-DBLISP_USE_SYSTEM_LIBRARIES=ON"
33 ];
34
35 env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-error=implicit-function-declaration";
36
37 passthru.tests.version = testers.testVersion {
38 package = finalAttrs.finalPackage;
39 version = "v${finalAttrs.version}";
40 };
41
42 meta = with lib; {
43 description = "An In-System-Programming (ISP) tool & library for Bouffalo Labs RISC-V Microcontrollers and SoCs";
44 license = licenses.mit;
45 mainProgram = "blisp";
46 homepage = "https://github.com/pine64/blisp";
47 platforms = platforms.unix;
48 maintainers = [ maintainers.bdd ];
49 };
50})