From c87ef760276b630a2467ef489c4ce00a738d4c57 Mon Sep 17 00:00:00 2001 From: Matthew O'Gorman Date: Wed, 6 Jan 2016 03:50:49 -0500 Subject: [PATCH 1/3] build-fhs-userenv: added the option meta to be passed down to the final derivation. --- pkgs/build-support/build-fhs-userenv/default.nix | 3 ++- pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/build-support/build-fhs-userenv/default.nix b/pkgs/build-support/build-fhs-userenv/default.nix index 54ce3e76897..5db0d98b79a 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/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 99271970460..b6f85d1adf7 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 {}; From ecac5e9f671db3d6677f1349ad1b4354e12b6c15 Mon Sep 17 00:00:00 2001 From: Matthew O'Gorman Date: Wed, 6 Jan 2016 03:56:01 -0500 Subject: [PATCH 2/3] click_5: init at 5.1 --- pkgs/top-level/python-packages.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 71980a33e2d..8d8935a6354 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2629,6 +2629,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}"; From 119a9458fbe45c6a1928eb48396b8045067a90f0 Mon Sep 17 00:00:00 2001 From: Matthew O'Gorman Date: Wed, 6 Jan 2016 04:05:19 -0500 Subject: [PATCH 3/3] platformio: init at 2.7.0 --- .../arduino/platformio/chrootenv.nix | 33 +++++++++++++++++++ .../arduino/platformio/default.nix | 11 +++++++ pkgs/top-level/all-packages.nix | 3 ++ pkgs/top-level/python-packages.nix | 21 ++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 pkgs/development/arduino/platformio/chrootenv.nix create mode 100644 pkgs/development/arduino/platformio/default.nix diff --git a/pkgs/development/arduino/platformio/chrootenv.nix b/pkgs/development/arduino/platformio/chrootenv.nix new file mode 100644 index 00000000000..4aad955ec24 --- /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 00000000000..dfdd8141aaa --- /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 b6f85d1adf7..baf60ddbd92 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2747,6 +2747,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 8d8935a6354..3a8dca6c33b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13780,6 +13780,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";