Created
November 4, 2020 01:52
-
-
Save aaronjanse/a5d4fd22c56c248e1142d481d5a18d64 to your computer and use it in GitHub Desktop.
Works with nixos-unstable as of October 2020
This file contains hidden or 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
{ stdenv, autoPatchelfHook, ffmpeg_3, fetchurl, bash, jdk, kmod, pkgs }: | |
stdenv.mkDerivation { | |
name = "energia"; | |
version = "1.8.10E23"; | |
src = fetchurl { | |
url = "http://energia.nu/downloads/downloadv4.php?file=energia-1.8.10E23-linux64.tar.xz"; | |
sha256 = "065vii9x9b7x4bj1b97grz2vwd4xam1lprsbgsfagry3adf3bshv"; | |
}; | |
nativeBuildInputs = [ autoPatchelfHook ]; | |
buildInputs = with pkgs; [ | |
libav xorg.libX11 xorg.libXtst ncurses5.dev zlib (pkgs.libusb-compat-0_1 or pkgs.libusb) python27 | |
ffmpeg libGL pango glib gobject-introspection gtk3 gtk2 gdk-pixbuf atk kmod bash | |
]; | |
buildPhase = '' | |
sed -i "s#{runtime.tools.dslite-9.2.0.1793-e1.path}#$out/hardware/tools/DSLite#g" hardware/energia/msp430/platform.txt | |
rm java/jre/lib/amd64/*.so | |
rm hardware/tools/msp430/bin/msp430-size | |
mkdir -p $out | |
cp -r ./* $out | |
''; | |
installPhase = '' | |
mkdir $out/bin | |
cat << EOF > $out/bin/energia | |
#!${bash}/bin/bash | |
for LIB in \ | |
$out/java/jre/lib/rt.jar \ | |
$out/java/jre/lib/tools.jar \ | |
$out/lib/*.jar \ | |
; | |
do | |
CLASSPATH="\$CLASSPATH:\$LIB" | |
done | |
export CLASSPATH | |
export LD_LIBRARY_PATH=$out/lib:\$LD_LIBRARY_PATH | |
${jdk}/bin/java "-DAPP_DIR=$out" processing.app.Base "\$@" | |
EOF | |
chmod +x $out/bin/energia | |
mkdir -p "$out/etc/udev/rules.d" | |
cat << EOF > $out/etc/udev/rules.d/71-ti-permissions.rules | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="a6d0",MODE:="0666" | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="a6d1",MODE:="0666" | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0403",ATTRS{idProduct}=="6010",MODE:="0666" | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1cbe",ATTRS{idProduct}=="00fd",MODE:="0666" | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1cbe",ATTRS{idProduct}=="00ff",MODE:="0666" | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="bef1",MODE:="0666" | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="bef2",MODE:="0666" | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="bef3",MODE:="0666" | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="bef4",MODE:="0666" | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0451",ATTRS{idProduct}=="f432",MODE:="0666" | |
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="0d28",ATTRS{idProduct}=="0204",MODE:="0666" | |
KERNEL=="hidraw*",ATTRS{busnum}=="*",ATTRS{idVendor}=="0d28",ATTRS{idProduct}=="0204",MODE:="0666" | |
ATTRS{idVendor}=="0451",ATTRS{idProduct}=="bef0",ENV{ID_MM_DEVICE_IGNORE}="1" | |
ATTRS{idVendor}=="0c55",ATTRS{idProduct}=="0220",ENV{ID_MM_DEVICE_IGNORE}="1" | |
KERNEL=="ttyACM[0-9]*",MODE:="0666" | |
SUBSYSTEM=="usb", ATTRS{idVendor}=="0451", ATTRS{idProduct}=="c32a", MODE="0660", GROUP="dialout", RUN+="${kmod}/bin/modprobe ftdi-sio" RUN+="${bash}/bin/sh -c 'echo 0451 c32a > /sys/bus/usb-serial/drivers/ftdi_sio/new_id'" | |
EOF | |
''; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment