uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
31
pkgs/development/misc/msp430/gcc-support.nix
Normal file
31
pkgs/development/misc/msp430/gcc-support.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{ lib, stdenvNoCC, fetchzip }:
|
||||
|
||||
let
|
||||
mspgccVersion = "6_1_1_0";
|
||||
in stdenvNoCC.mkDerivation rec {
|
||||
pname = "msp430-gcc-support-files";
|
||||
version = "1.207";
|
||||
src = fetchzip {
|
||||
url = "http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/${mspgccVersion}/exports/msp430-gcc-support-files-${version}.zip";
|
||||
sha256 = "1gyi9zc5vh9c1lxd22dwvk6b17dcd17hah2rayr062p4l51kzam1";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
find $src/include -name '*.ld' | xargs install -Dm0644 -t $out/lib
|
||||
find $src/include -name '*.h' | xargs install -Dm0644 -t $out/include
|
||||
install -Dm0644 -t $out/include $src/include/devices.csv
|
||||
|
||||
# appease bintoolsWrapper_addLDVars, search path needed for ld scripts
|
||||
touch $out/lib/lib
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = ''
|
||||
Development headers and linker scripts for TI MSP430 microcontrollers
|
||||
'';
|
||||
homepage = "https://www.ti.com/tool/msp430-gcc-opensource";
|
||||
license = licenses.bsd3;
|
||||
platforms = [ "msp430-none" ];
|
||||
maintainers = with maintainers; [ aerialx ];
|
||||
};
|
||||
}
|
||||
63
pkgs/development/misc/msp430/mspdebug.nix
Normal file
63
pkgs/development/misc/msp430/mspdebug.nix
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, autoPatchelfHook
|
||||
, libusb-compat-0_1
|
||||
, readline ? null
|
||||
, enableReadline ? true
|
||||
, hidapi ? null
|
||||
, pkg-config ? null
|
||||
, mspds ? null
|
||||
, enableMspds ? false
|
||||
}:
|
||||
|
||||
assert stdenv.isDarwin -> hidapi != null && pkg-config != null;
|
||||
assert enableReadline -> readline != null;
|
||||
assert enableMspds -> mspds != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.25";
|
||||
pname = "mspdebug";
|
||||
src = fetchFromGitHub {
|
||||
owner = "dlbeer";
|
||||
repo = "mspdebug";
|
||||
rev = "v${version}";
|
||||
sha256 = "0prgwb5vx6fd4bj12ss1bbb6axj2kjyriyjxqrzd58s5jyyy8d3c";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = lib.optional stdenv.isDarwin pkg-config
|
||||
++ lib.optional (enableMspds && stdenv.isLinux) autoPatchelfHook;
|
||||
buildInputs = [ libusb-compat-0_1 ]
|
||||
++ lib.optional stdenv.isDarwin hidapi
|
||||
++ lib.optional enableReadline readline;
|
||||
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
# TODO: remove once a new 0.26+ release is made
|
||||
substituteInPlace drivers/tilib_api.c --replace .so ${stdenv.hostPlatform.extensions.sharedLibrary}
|
||||
|
||||
# Makefile only uses pkg-config if it detects homebrew
|
||||
substituteInPlace Makefile --replace brew true
|
||||
'';
|
||||
|
||||
# TODO: wrap with MSPDEBUG_TILIB_PATH env var instead of these rpath fixups in 0.26+
|
||||
runtimeDependencies = lib.optional enableMspds mspds;
|
||||
postFixup = lib.optionalString (enableMspds && stdenv.isDarwin) ''
|
||||
# autoPatchelfHook only works on linux so...
|
||||
for dep in $runtimeDependencies; do
|
||||
install_name_tool -add_rpath $dep/lib $out/bin/$pname
|
||||
done
|
||||
'';
|
||||
|
||||
installFlags = [ "PREFIX=$(out)" "INSTALL=install" ];
|
||||
makeFlags = [ "UNAME_S=$(unameS)" ] ++
|
||||
lib.optional (!enableReadline) "WITHOUT_READLINE=1";
|
||||
unameS = lib.optionalString stdenv.isDarwin "Darwin";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A free programmer, debugger, and gdb proxy for MSP430 MCUs";
|
||||
homepage = "https://dlbeer.co.nz/mspdebug/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ aerialx ];
|
||||
};
|
||||
}
|
||||
36
pkgs/development/misc/msp430/mspds/binary.nix
Normal file
36
pkgs/development/misc/msp430/mspds/binary.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
{ stdenv, lib, fetchurl, unzip, autoPatchelfHook }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
archPostfix = optionalString (stdenv.is64bit && !stdenv.isDarwin) "_64";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "msp-debug-stack-bin";
|
||||
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/MSP430_DLL_Developer_Package_Rev_3_15_1_1.zip";
|
||||
sha256 = "1m1ssrwbhqvqwbp3m4hnjyxnz3f9d4acz9vl1av3fbnhvxr0d2hb";
|
||||
};
|
||||
sourceRoot = ".";
|
||||
|
||||
libname =
|
||||
if stdenv.hostPlatform.isWindows then "MSP430${archPostfix}.dll"
|
||||
else "libmsp430${archPostfix}${stdenv.hostPlatform.extensions.sharedLibrary}";
|
||||
|
||||
nativeBuildInputs = [ unzip ]
|
||||
++ lib.optional stdenv.isLinux autoPatchelfHook;
|
||||
buildInputs = [ stdenv.cc.cc ];
|
||||
|
||||
installPhase = ''
|
||||
install -Dm0755 $libname $out/lib/''${libname//_64/}
|
||||
install -Dm0644 -t $out/include Inc/*.h
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Unfree binary release of the TI MSP430 FET debug driver";
|
||||
homepage = "https://www.ti.com/tool/MSPDS";
|
||||
license = licenses.unfree;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ aerialx ];
|
||||
};
|
||||
}
|
||||
51
pkgs/development/misc/msp430/mspds/bsl430.patch
Normal file
51
pkgs/development/misc/msp430/mspds/bsl430.patch
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
diff -ruN a/Makefile b/Makefile
|
||||
--- a/Makefile 2020-06-03 16:10:18.000000000 -0700
|
||||
+++ b/Makefile 2020-07-21 18:03:12.464121056 -0700
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
PLATFORM := $(shell uname -s)
|
||||
ifeq ($(PLATFORM),Linux)
|
||||
- CXX:= g++
|
||||
+ CXX?= g++
|
||||
|
||||
STATICOUTPUT := linux64
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
HIDOBJ := $(LIBTHIRD)/hid-libusb.o
|
||||
else
|
||||
- CXX:= clang++
|
||||
+ CXX?= clang++
|
||||
|
||||
OUTPUT := libmsp430.dylib
|
||||
STATICOUTPUT := mac64
|
||||
@@ -134,7 +134,7 @@
|
||||
$(CXX) -c -o $@ $< $(USE_PCH) $(CXXFLAGS) $(INCLUDES) $(DEFINES)
|
||||
|
||||
$(BSLLIB):
|
||||
- $(MAKE) -C ./ThirdParty/BSL430_DLL
|
||||
+ $(MAKE) -C ./ThirdParty/BSL430_DLL OUTPUT=../../$(BSLLIB)
|
||||
|
||||
install:
|
||||
cp $(OUTPUT) /usr/local/lib/
|
||||
diff -ruN a/ThirdParty/BSL430_DLL/Makefile b/ThirdParty/BSL430_DLL/Makefile
|
||||
--- a/ThirdParty/BSL430_DLL/Makefile 2019-11-18 13:16:00.000000000 -0800
|
||||
+++ b/ThirdParty/BSL430_DLL/Makefile 2020-07-21 18:02:55.987782494 -0700
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
PLATFORM := $(shell uname -s)
|
||||
ifeq ($(PLATFORM),Linux)
|
||||
- CXX:= g++
|
||||
+ CXX?= g++
|
||||
|
||||
ifdef BIT32
|
||||
CXXFLAGS += -m32
|
||||
@@ -47,7 +47,7 @@
|
||||
INCLUDES += -I$(BOOST_DIR)
|
||||
endif
|
||||
else
|
||||
- CXX:= clang++
|
||||
+ CXX?= clang++
|
||||
|
||||
ifdef BOOST_DIR
|
||||
INCLUDES += -I$(BOOST_DIR)/include
|
||||
56
pkgs/development/misc/msp430/mspds/default.nix
Normal file
56
pkgs/development/misc/msp430/mspds/default.nix
Normal file
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
25
pkgs/development/misc/msp430/newlib.nix
Normal file
25
pkgs/development/misc/msp430/newlib.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ stdenvNoCC, lndir, newlib, msp430GccSupport }:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
name = "msp430-${newlib.name}";
|
||||
inherit newlib;
|
||||
inherit msp430GccSupport;
|
||||
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
|
||||
buildCommand = ''
|
||||
mkdir $out
|
||||
${lndir}/bin/lndir -silent $newlib $out
|
||||
${lndir}/bin/lndir -silent $msp430GccSupport/include $out/${newlib.incdir}
|
||||
${lndir}/bin/lndir -silent $msp430GccSupport/lib $out/${newlib.libdir}
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit (newlib) incdir libdir;
|
||||
};
|
||||
|
||||
meta = {
|
||||
platforms = [ "msp430-none" ];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue