diff options
Diffstat (limited to 'pkgs/development/misc/msp430/mspds/default.nix')
-rw-r--r-- | pkgs/development/misc/msp430/mspds/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/development/misc/msp430/mspds/default.nix b/pkgs/development/misc/msp430/mspds/default.nix new file mode 100644 index 00000000000..2481b50bfbe --- /dev/null +++ b/pkgs/development/misc/msp430/mspds/default.nix @@ -0,0 +1,56 @@ +{ stdenv +, lib +, fetchurl, unzip +, boost, pugixml +, hidapi +, libusb1 ? null +}: + +with lib; +assert stdenv.isLinux -> libusb1 != null; + +let + hidapiDriver = optionalString stdenv.isLinux "-libusb"; + +in stdenv.mkDerivation { + pname = "msp-debug-stack"; + version = "3.15.1.1"; + + src = fetchurl { + url = "http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPDS/3_15_1_001/export/MSPDebugStack_OS_Package_3_15_1_1.zip"; + sha256 = "1j5sljqwc20zrb50mrji4mnmw5i680qc7n0lb0pakrrxqjc9m9g3"; + }; + sourceRoot = "."; + + enableParallelBuilding = true; + libName = "libmsp430${stdenv.hostPlatform.extensions.sharedLibrary}"; + makeFlags = [ "OUTPUT=$(libName)" "HIDOBJ=" ]; + NIX_LDFLAGS = [ "-lpugixml" "-lhidapi${hidapiDriver}" ]; + NIX_CFLAGS_COMPILE = [ "-I${hidapi}/include/hidapi" ]; + + patches = [ ./bsl430.patch ]; + + preBuild = '' + rm ThirdParty/src/pugixml.cpp + rm ThirdParty/include/pugi{config,xml}.hpp + '' + optionalString stdenv.isDarwin '' + makeFlagsArray+=(OUTNAME="-install_name ") + ''; + + installPhase = '' + install -Dm0755 -t $out/lib $libName + install -Dm0644 -t $out/include DLL430_v3/include/*.h + ''; + + nativeBuildInputs = [ unzip ]; + buildInputs = [ boost hidapi pugixml ] + ++ optional stdenv.isLinux libusb1; + + meta = { + description = "TI MSP430 FET debug driver"; + homepage = https://www.ti.com/tool/MSPDS; + license = licenses.bsd3; + platforms = platforms.linux ++ platforms.darwin; + maintainers = with maintainers; [ aerialx ]; + }; +} |