diff options
-rw-r--r-- | pkgs/development/arduino/arduino-core/default.nix | 25 | ||||
-rw-r--r-- | pkgs/development/arduino/ino/default.nix | 6 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 6 |
3 files changed, 26 insertions, 11 deletions
diff --git a/pkgs/development/arduino/arduino-core/default.nix b/pkgs/development/arduino/arduino-core/default.nix index a5b8980e32cf..7addf79a39c6 100644 --- a/pkgs/development/arduino/arduino-core/default.nix +++ b/pkgs/development/arduino/arduino-core/default.nix @@ -1,9 +1,13 @@ -{ stdenv, fetchFromGitHub, jdk, jre, ant, coreutils, gnugrep, file }: +{ stdenv, fetchFromGitHub, jdk, jre, ant, coreutils, gnugrep, file, libusb +, withGui ? false, gtk2 ? null +}: + +assert withGui -> gtk2 != null; stdenv.mkDerivation rec { version = "1.0.6"; - name = "arduino-core"; + name = "arduino${stdenv.lib.optionalString (withGui == false) "-core"}"; src = fetchFromGitHub { owner = "arduino"; @@ -22,12 +26,16 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out/share/arduino - cp -r ./build/linux/work/hardware/ $out/share/arduino - cp -r ./build/linux/work/libraries/ $out/share/arduino - cp -r ./build/linux/work/tools/ $out/share/arduino - cp -r ./build/linux/work/lib/ $out/share/arduino + cp -r ./build/linux/work/* "$out/share/arduino/" echo ${version} > $out/share/arduino/lib/version.txt + ${stdenv.lib.optionalString withGui '' + mkdir -p "$out/bin" + sed -i -e "s|^java|${jdk}/bin/java|" "$out/share/arduino/arduino" + sed -i -e "s|^LD_LIBRARY_PATH=|LD_LIBRARY_PATH=${gtk2}/lib:|" "$out/share/arduino/arduino" + ln -sr "$out/share/arduino/arduino" "$out/bin/arduino" + ''} + # Fixup "/lib64/ld-linux-x86-64.so.2" like references in ELF executables. echo "running patchelf on prebuilt binaries:" find "$out" | while read filepath; do @@ -41,10 +49,13 @@ stdenv.mkDerivation rec { test $? -eq 0 || { echo "patchelf failed to process $filepath"; exit 1; } fi done + + patchelf --set-rpath ${stdenv.lib.makeSearchPath "lib" [ stdenv.glibc libusb ]} \ + "$out/share/arduino/hardware/tools/avrdude" ''; meta = { - description = "Libraries for the open-source electronics prototyping platform"; + description = "Open-source electronics prototyping platform"; homepage = http://arduino.cc/; license = stdenv.lib.licenses.gpl2; maintainers = [ stdenv.lib.maintainers.antono stdenv.lib.maintainers.robberer ]; diff --git a/pkgs/development/arduino/ino/default.nix b/pkgs/development/arduino/ino/default.nix index be3799d01968..47c7c68c1ab2 100644 --- a/pkgs/development/arduino/ino/default.nix +++ b/pkgs/development/arduino/ino/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, buildPythonPackage, pythonPackages, picocom -, avrdude, arduino_core, avrgcclibc }: +, avrdude, arduino-core, avrgcclibc }: buildPythonPackage rec { name = "ino-0.3.6"; @@ -12,12 +12,12 @@ buildPythonPackage rec { # TODO: add avrgcclibc, it must be rebuild with C++ support propagatedBuildInputs = - [ arduino_core avrdude picocom pythonPackages.configobj + [ arduino-core avrdude picocom pythonPackages.configobj pythonPackages.jinja2 pythonPackages.pyserial pythonPackages.six ]; patchPhase = '' echo "Patching Arduino distribution path" - sed -i 's@/usr/local/share/arduino@${arduino_core}/share/arduino@g' \ + sed -i 's@/usr/local/share/arduino@${arduino-core}/share/arduino@g' \ ino/environment.py sed -i -e 's@argparse@@' -e 's@ordereddict@@' \ requirements.txt diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c6ae8dcb0bb1..734a5c873b2a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -499,9 +499,12 @@ let arcanist = callPackage ../development/tools/misc/arcanist {}; - arduino_core = callPackage ../development/arduino/arduino-core { + arduino = arduino-core.override { withGui = true; }; + + arduino-core = callPackage ../development/arduino/arduino-core { jdk = jdk; jre = jdk; + withGui = false; }; apitrace = callPackage ../applications/graphics/apitrace {}; @@ -13399,6 +13402,7 @@ let # Attributes for backward compatibility. adobeReader = adobe-reader; + arduino_core = arduino-core; # added 2015-02-04 asciidocFull = asciidoc-full; # added 2014-06-22 lttngTools = lttng-tools; # added 2014-07-31 lttngUst = lttng-ust; # added 2014-07-31 |