diff options
-rw-r--r-- | pkgs/build-support/build-fhs-userenv/default.nix | 3 | ||||
-rw-r--r-- | pkgs/development/arduino/platformio/chrootenv.nix | 33 | ||||
-rw-r--r-- | pkgs/development/arduino/platformio/default.nix | 11 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 6 | ||||
-rw-r--r-- | pkgs/top-level/python-packages.nix | 41 |
5 files changed, 92 insertions, 2 deletions
diff --git a/pkgs/build-support/build-fhs-userenv/default.nix b/pkgs/build-support/build-fhs-userenv/default.nix index 54ce3e768975..5db0d98b79a8 100644 --- a/pkgs/build-support/build-fhs-userenv/default.nix +++ b/pkgs/build-support/build-fhs-userenv/default.nix @@ -1,5 +1,5 @@ { runCommand, lib, writeText, writeScriptBin, stdenv, bash, ruby } : -{ env, runScript ? "${bash}/bin/bash", extraBindMounts ? [], extraInstallCommands ? "" } : +{ env, runScript ? "${bash}/bin/bash", extraBindMounts ? [], extraInstallCommands ? "", importMeta ? {} } : let name = env.pname; @@ -26,6 +26,7 @@ let ''; in runCommand name { + meta = importMeta; passthru.env = runCommand "${name}-shell-env" { shellHook = '' diff --git a/pkgs/development/arduino/platformio/chrootenv.nix b/pkgs/development/arduino/platformio/chrootenv.nix new file mode 100644 index 000000000000..4aad955ec24e --- /dev/null +++ b/pkgs/development/arduino/platformio/chrootenv.nix @@ -0,0 +1,33 @@ +{ lib, buildFHSUserEnv, platformio, stdenv }: + +buildFHSUserEnv { + name = "platformio"; + + targetPkgs = pkgs: (with pkgs; + [ + python27Packages.python + python27Packages.setuptools + python27Packages.pip + python27Packages.bottle + python27Packages.platformio + zlib + ]); + multiPkgs = pkgs: (with pkgs; + [ + python27Packages.python + python27Packages.setuptools + python27Packages.pip + python27Packages.bottle + zlib + python27Packages.platformio + ]); + + meta = with stdenv.lib; { + description = "An open source ecosystem for IoT development"; + homepage = http://platformio.org; + maintainers = with maintainers; [ mog ]; + license = licenses.asl20; + }; + + runScript = "platformio"; +} diff --git a/pkgs/development/arduino/platformio/default.nix b/pkgs/development/arduino/platformio/default.nix new file mode 100644 index 000000000000..dfdd8141aaaa --- /dev/null +++ b/pkgs/development/arduino/platformio/default.nix @@ -0,0 +1,11 @@ + +{ pkgs, newScope }: + +let + callPackage = newScope self; + + self = rec { + platformio-chrootenv = callPackage ./chrootenv.nix { }; + }; + +in self diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0aea21afdcdd..3c9fda23a30e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -279,10 +279,11 @@ let }; buildFHSUserEnv = args: userFHSEnv { - env = buildFHSEnv (removeAttrs args [ "runScript" "extraBindMounts" "extraInstallCommands" ]); + env = buildFHSEnv (removeAttrs args [ "runScript" "extraBindMounts" "extraInstallCommands" "meta" ]); runScript = args.runScript or "bash"; extraBindMounts = args.extraBindMounts or []; extraInstallCommands = args.extraInstallCommands or ""; + importMeta = args.meta or {}; }; buildMaven = callPackage ../build-support/build-maven.nix {}; @@ -2759,6 +2760,9 @@ let plan9port = callPackage ../tools/system/plan9port { }; + platformioPackages = callPackage ../development/arduino/platformio { }; + platformio = platformioPackages.platformio-chrootenv.override {}; + plex = callPackage ../servers/plex { }; ploticus = callPackage ../tools/graphics/ploticus { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 474ea6a8a05f..0494c97b7e39 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2800,6 +2800,26 @@ in modules // { }; }; + click_5 = buildPythonPackage rec { + name = "click-5.1"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/click/${name}.tar.gz"; + sha256 = "0njsm0wn31l21bi118g5825ma5sa3rwn7v2x4wjd7yiiahkri337"; + }; + + meta = { + homepage = http://click.pocoo.org/; + description = "Create beautiful command line interfaces in Python"; + longDescription = '' + A Python package for creating beautiful command line interfaces in a + composable way, with as little code as necessary. + ''; + license = licenses.bsd3; + maintainers = with maintainers; [ mog ]; + }; + }; + click-log = buildPythonPackage rec { version = "0.1.1"; name = "click-log-${version}"; @@ -14037,6 +14057,27 @@ in modules // { propagatedBuildInputs = with self; [ unittest2 ]; }; + platformio = buildPythonPackage rec { + name = "platformio-${version}"; + version="2.7.0"; + + disabled = isPy3k || isPyPy; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/p/platformio/platformio-${version}.tar.gz"; + sha256 = "0bjp8gapd8v5az0xvsgh44zyma5kazhhbq266fk092i2q348zbv6"; + }; + + propagatedBuildInputs = with self; [ click_5 requests2 bottle pyserial lockfile colorama]; + + meta = with stdenv.lib; { + description = "An open source ecosystem for IoT development"; + homepage = http://platformio.org; + maintainers = with maintainers; [ mog ]; + license = licenses.asl20; + }; + }; + pylibconfig2 = buildPythonPackage rec { name = "pylibconfig2-${version}"; version = "0.2.4"; |