forked from NixOS/nixpkgs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Co-authored-by: Brandon Black <[email protected]> Co-authored-by: Sandro <[email protected]>
- Loading branch information
1 parent
e6e2cd2
commit c8db82b
Showing
2 changed files
with
122 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
{ lib | ||
, stdenv | ||
, fetchurl | ||
, autoPatchelfHook | ||
, qt4 | ||
, udev | ||
, config | ||
, acceptLicense ? config.segger-jlink.acceptLicense or false | ||
}: | ||
|
||
let | ||
supported = { | ||
x86_64-linux = { | ||
name = "x86_64"; | ||
sha256 = "90aa7e4f5eae6e60fd41978111b3ff124ba0269562d0d0ec3110d3cb4bb51fe2"; | ||
}; | ||
i686-linux = { | ||
name = "i386"; | ||
sha256 = "18aea42cd17591cada78af7cba0f94a9d851e9d29995b6c8e1e7033d0af35d1c"; | ||
}; | ||
aarch64-linux = { | ||
name = "arm64"; | ||
sha256 = "db410c1df80748827b4e25ff3abceee29e28305a0a7e30e4e39bb5c7e32f1aa2"; | ||
}; | ||
armv7l-linux = { | ||
name = "arm"; | ||
sha256 = "abcdaf44aeb2ad4e769709ec4fe971e259b23d297a98f58199c7bdf26db82e84"; | ||
}; | ||
}; | ||
|
||
platform = supported.${stdenv.system} or (throw "unsupported platform ${stdenv.system}"); | ||
|
||
version = "766"; | ||
|
||
url = "https://www.segger.com/downloads/jlink/JLink_Linux_V${version}_${platform.name}.tgz"; | ||
|
||
in stdenv.mkDerivation { | ||
pname = "segger-jlink"; | ||
inherit version; | ||
|
||
src = | ||
assert !acceptLicense -> throw '' | ||
Use of the "SEGGER JLink Software and Documentation pack" requires the | ||
acceptance of the following licenses: | ||
- SEGGER Downloads Terms of Use [1] | ||
- SEGGER Software Licensing [2] | ||
You can express acceptance by setting acceptLicense to true in your | ||
configuration. Note that this is not a free license so it requires allowing | ||
unfree licenses as well. | ||
configuration.nix: | ||
nixpkgs.config.allowUnfree = true; | ||
nixpkgs.config.segger-jlink.acceptLicense = true; | ||
config.nix: | ||
allowUnfree = true; | ||
segger-jlink.acceptLicense = true; | ||
[1]: ${url} | ||
[2]: https://www.segger.com/purchase/licensing/ | ||
''; | ||
fetchurl { | ||
inherit url; | ||
inherit (platform) sha256; | ||
curlOpts = "--data accept_license_agreement=accepted"; | ||
}; | ||
|
||
# Currently blocked by patchelf bug | ||
# https://github.com/NixOS/patchelf/pull/275 | ||
#runtimeDependencies = [ udev ]; | ||
|
||
nativeBuildInputs = [ autoPatchelfHook ]; | ||
buildInputs = [ qt4 udev ]; | ||
|
||
dontConfigure = true; | ||
dontBuild = true; | ||
|
||
installPhase = '' | ||
runHook preInstall | ||
# Install binaries | ||
mkdir -p $out/bin | ||
mv J* $out/bin | ||
# Install libraries | ||
mkdir -p $out/lib | ||
mv libjlinkarm.so* $out/lib | ||
# This library is opened via dlopen at runtime | ||
for libr in $out/lib/*; do | ||
ln -s $libr $out/bin | ||
done | ||
# Install docs and examples | ||
mkdir -p $out/share/docs | ||
mv Doc/* $out/share/docs | ||
mkdir -p $out/share/examples | ||
mv Samples/* $out/share/examples | ||
# Install udev rule | ||
mkdir -p $out/lib/udev/rules.d | ||
mv 99-jlink.rules $out/lib/udev/rules.d/ | ||
runHook postInstall | ||
''; | ||
|
||
preFixup = '' | ||
# Workaround to setting runtime dependecy | ||
patchelf --add-needed libudev.so.1 $out/lib/libjlinkarm.so | ||
''; | ||
|
||
meta = with lib; { | ||
description = "J-Link Software and Documentation pack"; | ||
homepage = "https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack"; | ||
license = licenses.unfree; | ||
platforms = attrNames supported; | ||
maintainers = with maintainers; [ FlorianFranzen stargate01 ]; | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters