{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, libusb1 }: # IMPORTANT: You need permissions to access the stlink usb devices. Here are # example udev rules for stlink v1 and v2 so you don't need to have root # permissions (copied from /49-stlink*.rules): # # SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", MODE:="0666", SYMLINK+="stlinkv1_%n" # SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE:="0666", SYMLINK+="stlinkv2_%n" let version = "1.1.0"; in stdenv.mkDerivation { name = "stlink-${version}"; src = fetchurl { url = "https://github.com/texane/stlink/archive/${version}.tar.gz"; sha256 = "0b38a32ids9dpnz5h892l279fz8y1zzqk1qsnyhl1nm03p7xzi1s"; }; buildInputs = [ autoconf automake libtool pkgconfig libusb1 ]; preConfigure = "./autogen.sh"; meta = with stdenv.lib; { description = "In-circuit debug and programming for ST-Link devices"; license = licenses.bsd3; platforms = platforms.linux; maintainers = [ maintainers.bjornfor ]; }; }