summary refs log tree commit diff
path: root/pkgs/tools/misc
diff options
context:
space:
mode:
authorBjørn Forsman <bjorn.forsman@gmail.com>2016-05-30 17:54:51 +0200
committerBjørn Forsman <bjorn.forsman@gmail.com>2016-06-02 12:44:35 +0200
commitfbde3a745259edf20dc8e275eee954875a2d50ab (patch)
tree706de8eef9b9f983ef38409f2cd28efd41f821b7 /pkgs/tools/misc
parent1f3b0391f4a6b3052a50bbf0f4536ce8f4dedcae (diff)
downloadnixlib-fbde3a745259edf20dc8e275eee954875a2d50ab.tar
nixlib-fbde3a745259edf20dc8e275eee954875a2d50ab.tar.gz
nixlib-fbde3a745259edf20dc8e275eee954875a2d50ab.tar.bz2
nixlib-fbde3a745259edf20dc8e275eee954875a2d50ab.tar.lz
nixlib-fbde3a745259edf20dc8e275eee954875a2d50ab.tar.xz
nixlib-fbde3a745259edf20dc8e275eee954875a2d50ab.tar.zst
nixlib-fbde3a745259edf20dc8e275eee954875a2d50ab.zip
sam-ba: init at 2.16
Programming tools for Atmel SAM3/7/9 ARM-based microcontrollers.

(I've only runtime tested the 64-bit binary, not the 32-bit one.)
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r--pkgs/tools/misc/sam-ba/default.nix51
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/tools/misc/sam-ba/default.nix b/pkgs/tools/misc/sam-ba/default.nix
new file mode 100644
index 000000000000..1b7315ebedf6
--- /dev/null
+++ b/pkgs/tools/misc/sam-ba/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchzip, libX11, libXScrnSaver, libXext, libXft, libXrender
+, freetype, zlib, fontconfig
+}:
+
+let
+  maybe64 = if stdenv.isx86_64 then "_64" else "";
+  libPath = stdenv.lib.makeLibraryPath
+    [ stdenv.cc.cc.lib libX11 libXScrnSaver libXext libXft libXrender freetype
+      zlib fontconfig
+    ];
+in
+stdenv.mkDerivation rec {
+  version = "2.16";
+  name = "sam-ba-${version}";
+
+  src = fetchzip {
+    url = "http://www.atmel.com/dyn/resources/prod_documents/sam-ba_${version}_linux.zip";
+    sha256 = "18lsi4747900cazq3bf0a87n3pc7751j5papj9sxarjymcz9vks4";
+  };
+
+  # Pre-built binary package. Install everything to /opt/sam-ba to not mess up
+  # the internal directory structure. Then create wrapper in /bin. Attemts to
+  # use "patchelf --set-rpath" instead of setting LD_PRELOAD_PATH failed.
+  installPhase = ''
+    mkdir -p "$out/bin/" \
+             "$out/opt/sam-ba/"
+    cp -a . "$out/opt/sam-ba/"
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/opt/sam-ba/sam-ba${maybe64}"
+    cat > "$out/bin/sam-ba" << EOF
+    export LD_LIBRARY_PATH="${libPath}"
+    exec "$out/opt/sam-ba/sam-ba${maybe64}"
+    EOF
+    chmod +x "$out/bin/sam-ba"
+  '';
+
+  # Do our own thing
+  dontPatchELF = true;
+
+  meta = with stdenv.lib; {
+    description = "Programming tools for Atmel SAM3/7/9 ARM-based microcontrollers";
+    longDescription = ''
+      Atmel SAM-BA software provides an open set of tools for programming the
+      Atmel SAM3, SAM7 and SAM9 ARM-based microcontrollers.
+    '';
+    homepage = "http://www.at91.com/linux4sam/bin/view/Linux4SAM/SoftwareTools";
+    # License in <source>/doc/readme.txt
+    license = "BSD-like (partly binary-only)";  # according to Buildroot
+    platforms = [ "i686-linux" "x86_64-linux" ];
+    maintainers = [ maintainers.bjornfor ];
+  };
+}