From f0b98bd0114df1e1ebb82ff300f9532d86b3eb18 Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 24 May 2017 01:43:50 +0200 Subject: krebs/5pkgs: move simple pkgs to a subdir --- krebs/5pkgs/Reaktor/default.nix | 22 - krebs/5pkgs/Reaktor/plugins.nix | 131 -- krebs/5pkgs/Reaktor/scripts/random-emoji.sh | 6 - krebs/5pkgs/Reaktor/scripts/random-issue.sh | 20 - krebs/5pkgs/Reaktor/scripts/sed-plugin.py | 41 - krebs/5pkgs/Reaktor/scripts/shack-correct.sh | 6 - krebs/5pkgs/apt-cacher-ng/default.nix | 21 - krebs/5pkgs/bepasty-client-cli/default.nix | 23 - krebs/5pkgs/buildbot/default.nix | 82 - krebs/5pkgs/buildbot/worker.nix | 24 - krebs/5pkgs/cac-api/default.nix | 43 - krebs/5pkgs/cac-cert/cac.pem | 88 - krebs/5pkgs/cac-cert/default.nix | 2 - krebs/5pkgs/cac-panel/default.nix | 18 - krebs/5pkgs/collectd-connect-time/default.nix | 15 - krebs/5pkgs/default.nix | 11 +- krebs/5pkgs/dic/default.nix | 36 - krebs/5pkgs/drivedroid-gen-repo/default.nix | 22 - krebs/5pkgs/fortclientsslvpn/default.nix | 92 -- krebs/5pkgs/games-user-env/default.nix | 34 - krebs/5pkgs/get/default.nix | 37 - krebs/5pkgs/git-hooks/default.nix | 107 -- krebs/5pkgs/github-hosts-sync/default.nix | 37 - krebs/5pkgs/go-shortener/default.nix | 57 - krebs/5pkgs/go-shortener/packages.nix | 44 - krebs/5pkgs/goify/default.nix | 18 - krebs/5pkgs/hashPassword/default.nix | 15 - krebs/5pkgs/htgen/default.nix | 28 - krebs/5pkgs/irc-announce/default.nix | 66 - krebs/5pkgs/kpaste/default.nix | 5 - krebs/5pkgs/krebspaste/default.nix | 6 - krebs/5pkgs/krebszones/default.nix | 25 - krebs/5pkgs/logf/default.nix | 114 -- krebs/5pkgs/much/cabal.nix | 28 - krebs/5pkgs/much/default.nix | 3 - krebs/5pkgs/netcup/default.nix | 32 - krebs/5pkgs/newsbot-js/default.nix | 60 - krebs/5pkgs/newsbot-js/packages.nix | 1747 -------------------- krebs/5pkgs/noVNC/default.nix | 21 - krebs/5pkgs/painload/default.nix | 7 - krebs/5pkgs/passwdqc-utils/default.nix | 37 - krebs/5pkgs/populate/default.nix | 36 - krebs/5pkgs/posix-array/default.nix | 30 - krebs/5pkgs/pssh/default.nix | 36 - krebs/5pkgs/push/default.nix | 49 - krebs/5pkgs/realwallpaper/default.nix | 24 - krebs/5pkgs/repo-sync/default.nix | 21 - krebs/5pkgs/retiolum-bootstrap/default.nix | 29 - krebs/5pkgs/rutorrent/default.nix | 15 - krebs/5pkgs/simple/Reaktor/default.nix | 22 + krebs/5pkgs/simple/Reaktor/plugins.nix | 131 ++ krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh | 6 + krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh | 20 + krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py | 41 + .../5pkgs/simple/Reaktor/scripts/shack-correct.sh | 6 + krebs/5pkgs/simple/apt-cacher-ng/default.nix | 21 + krebs/5pkgs/simple/bepasty-client-cli/default.nix | 23 + krebs/5pkgs/simple/buildbot/default.nix | 82 + krebs/5pkgs/simple/buildbot/worker.nix | 24 + krebs/5pkgs/simple/cac-api/default.nix | 43 + krebs/5pkgs/simple/cac-cert/cac.pem | 88 + krebs/5pkgs/simple/cac-cert/default.nix | 2 + krebs/5pkgs/simple/cac-panel/default.nix | 18 + .../5pkgs/simple/collectd-connect-time/default.nix | 15 + krebs/5pkgs/simple/default.nix | 10 + krebs/5pkgs/simple/dic/default.nix | 36 + krebs/5pkgs/simple/drivedroid-gen-repo/default.nix | 22 + krebs/5pkgs/simple/fortclientsslvpn/default.nix | 92 ++ krebs/5pkgs/simple/games-user-env/default.nix | 34 + krebs/5pkgs/simple/get/default.nix | 37 + krebs/5pkgs/simple/git-hooks/default.nix | 107 ++ krebs/5pkgs/simple/github-hosts-sync/default.nix | 37 + krebs/5pkgs/simple/go-shortener/default.nix | 57 + krebs/5pkgs/simple/go-shortener/packages.nix | 44 + krebs/5pkgs/simple/goify/default.nix | 18 + krebs/5pkgs/simple/hashPassword/default.nix | 15 + krebs/5pkgs/simple/htgen/default.nix | 28 + krebs/5pkgs/simple/irc-announce/default.nix | 66 + krebs/5pkgs/simple/kpaste/default.nix | 5 + krebs/5pkgs/simple/krebspaste/default.nix | 6 + krebs/5pkgs/simple/krebszones/default.nix | 25 + krebs/5pkgs/simple/logf/default.nix | 114 ++ krebs/5pkgs/simple/much/cabal.nix | 28 + krebs/5pkgs/simple/much/default.nix | 3 + krebs/5pkgs/simple/netcup/default.nix | 32 + krebs/5pkgs/simple/newsbot-js/default.nix | 60 + krebs/5pkgs/simple/newsbot-js/packages.nix | 1747 ++++++++++++++++++++ krebs/5pkgs/simple/noVNC/default.nix | 21 + krebs/5pkgs/simple/painload/default.nix | 7 + krebs/5pkgs/simple/passwdqc-utils/default.nix | 37 + krebs/5pkgs/simple/populate/default.nix | 36 + krebs/5pkgs/simple/posix-array/default.nix | 30 + krebs/5pkgs/simple/pssh/default.nix | 36 + krebs/5pkgs/simple/push/default.nix | 49 + krebs/5pkgs/simple/realwallpaper/default.nix | 24 + krebs/5pkgs/simple/repo-sync/default.nix | 21 + krebs/5pkgs/simple/retiolum-bootstrap/default.nix | 29 + krebs/5pkgs/simple/rutorrent/default.nix | 15 + krebs/5pkgs/simple/tarantool/default.nix | 21 + krebs/5pkgs/simple/tinc_graphs/default.nix | 26 + krebs/5pkgs/simple/translate-shell/default.nix | 43 + krebs/5pkgs/simple/treq/default.nix | 17 + krebs/5pkgs/simple/untilport/default.nix | 18 + krebs/5pkgs/simple/urlwatch/default.nix | 24 + krebs/5pkgs/simple/weechat/default.nix | 80 + krebs/5pkgs/simple/whatsupnix/default.nix | 15 + krebs/5pkgs/simple/whatsupnix/whatsupnix.bash | 44 + krebs/5pkgs/simple/with-tmpdir/default.nix | 29 + krebs/5pkgs/simple/youtube-tools/default.nix | 21 + krebs/5pkgs/simple/zandronum-bin/default.nix | 83 + krebs/5pkgs/tarantool/default.nix | 21 - krebs/5pkgs/tinc_graphs/default.nix | 26 - krebs/5pkgs/translate-shell/default.nix | 43 - krebs/5pkgs/treq/default.nix | 17 - krebs/5pkgs/untilport/default.nix | 18 - krebs/5pkgs/urlwatch/default.nix | 24 - krebs/5pkgs/weechat/default.nix | 80 - krebs/5pkgs/whatsupnix/default.nix | 15 - krebs/5pkgs/whatsupnix/whatsupnix.bash | 44 - krebs/5pkgs/with-tmpdir/default.nix | 29 - krebs/5pkgs/youtube-tools/default.nix | 21 - krebs/5pkgs/zandronum-bin/default.nix | 83 - 122 files changed, 3895 insertions(+), 3888 deletions(-) delete mode 100644 krebs/5pkgs/Reaktor/default.nix delete mode 100644 krebs/5pkgs/Reaktor/plugins.nix delete mode 100644 krebs/5pkgs/Reaktor/scripts/random-emoji.sh delete mode 100644 krebs/5pkgs/Reaktor/scripts/random-issue.sh delete mode 100644 krebs/5pkgs/Reaktor/scripts/sed-plugin.py delete mode 100644 krebs/5pkgs/Reaktor/scripts/shack-correct.sh delete mode 100644 krebs/5pkgs/apt-cacher-ng/default.nix delete mode 100644 krebs/5pkgs/bepasty-client-cli/default.nix delete mode 100644 krebs/5pkgs/buildbot/default.nix delete mode 100644 krebs/5pkgs/buildbot/worker.nix delete mode 100644 krebs/5pkgs/cac-api/default.nix delete mode 100644 krebs/5pkgs/cac-cert/cac.pem delete mode 100644 krebs/5pkgs/cac-cert/default.nix delete mode 100644 krebs/5pkgs/cac-panel/default.nix delete mode 100644 krebs/5pkgs/collectd-connect-time/default.nix delete mode 100644 krebs/5pkgs/dic/default.nix delete mode 100644 krebs/5pkgs/drivedroid-gen-repo/default.nix delete mode 100644 krebs/5pkgs/fortclientsslvpn/default.nix delete mode 100644 krebs/5pkgs/games-user-env/default.nix delete mode 100644 krebs/5pkgs/get/default.nix delete mode 100644 krebs/5pkgs/git-hooks/default.nix delete mode 100644 krebs/5pkgs/github-hosts-sync/default.nix delete mode 100644 krebs/5pkgs/go-shortener/default.nix delete mode 100644 krebs/5pkgs/go-shortener/packages.nix delete mode 100644 krebs/5pkgs/goify/default.nix delete mode 100644 krebs/5pkgs/hashPassword/default.nix delete mode 100644 krebs/5pkgs/htgen/default.nix delete mode 100644 krebs/5pkgs/irc-announce/default.nix delete mode 100644 krebs/5pkgs/kpaste/default.nix delete mode 100644 krebs/5pkgs/krebspaste/default.nix delete mode 100644 krebs/5pkgs/krebszones/default.nix delete mode 100644 krebs/5pkgs/logf/default.nix delete mode 100644 krebs/5pkgs/much/cabal.nix delete mode 100644 krebs/5pkgs/much/default.nix delete mode 100644 krebs/5pkgs/netcup/default.nix delete mode 100644 krebs/5pkgs/newsbot-js/default.nix delete mode 100644 krebs/5pkgs/newsbot-js/packages.nix delete mode 100644 krebs/5pkgs/noVNC/default.nix delete mode 100644 krebs/5pkgs/painload/default.nix delete mode 100644 krebs/5pkgs/passwdqc-utils/default.nix delete mode 100644 krebs/5pkgs/populate/default.nix delete mode 100644 krebs/5pkgs/posix-array/default.nix delete mode 100644 krebs/5pkgs/pssh/default.nix delete mode 100644 krebs/5pkgs/push/default.nix delete mode 100644 krebs/5pkgs/realwallpaper/default.nix delete mode 100644 krebs/5pkgs/repo-sync/default.nix delete mode 100644 krebs/5pkgs/retiolum-bootstrap/default.nix delete mode 100644 krebs/5pkgs/rutorrent/default.nix create mode 100644 krebs/5pkgs/simple/Reaktor/default.nix create mode 100644 krebs/5pkgs/simple/Reaktor/plugins.nix create mode 100644 krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh create mode 100644 krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh create mode 100644 krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py create mode 100644 krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh create mode 100644 krebs/5pkgs/simple/apt-cacher-ng/default.nix create mode 100644 krebs/5pkgs/simple/bepasty-client-cli/default.nix create mode 100644 krebs/5pkgs/simple/buildbot/default.nix create mode 100644 krebs/5pkgs/simple/buildbot/worker.nix create mode 100644 krebs/5pkgs/simple/cac-api/default.nix create mode 100644 krebs/5pkgs/simple/cac-cert/cac.pem create mode 100644 krebs/5pkgs/simple/cac-cert/default.nix create mode 100644 krebs/5pkgs/simple/cac-panel/default.nix create mode 100644 krebs/5pkgs/simple/collectd-connect-time/default.nix create mode 100644 krebs/5pkgs/simple/default.nix create mode 100644 krebs/5pkgs/simple/dic/default.nix create mode 100644 krebs/5pkgs/simple/drivedroid-gen-repo/default.nix create mode 100644 krebs/5pkgs/simple/fortclientsslvpn/default.nix create mode 100644 krebs/5pkgs/simple/games-user-env/default.nix create mode 100644 krebs/5pkgs/simple/get/default.nix create mode 100644 krebs/5pkgs/simple/git-hooks/default.nix create mode 100644 krebs/5pkgs/simple/github-hosts-sync/default.nix create mode 100644 krebs/5pkgs/simple/go-shortener/default.nix create mode 100644 krebs/5pkgs/simple/go-shortener/packages.nix create mode 100644 krebs/5pkgs/simple/goify/default.nix create mode 100644 krebs/5pkgs/simple/hashPassword/default.nix create mode 100644 krebs/5pkgs/simple/htgen/default.nix create mode 100644 krebs/5pkgs/simple/irc-announce/default.nix create mode 100644 krebs/5pkgs/simple/kpaste/default.nix create mode 100644 krebs/5pkgs/simple/krebspaste/default.nix create mode 100644 krebs/5pkgs/simple/krebszones/default.nix create mode 100644 krebs/5pkgs/simple/logf/default.nix create mode 100644 krebs/5pkgs/simple/much/cabal.nix create mode 100644 krebs/5pkgs/simple/much/default.nix create mode 100644 krebs/5pkgs/simple/netcup/default.nix create mode 100644 krebs/5pkgs/simple/newsbot-js/default.nix create mode 100644 krebs/5pkgs/simple/newsbot-js/packages.nix create mode 100644 krebs/5pkgs/simple/noVNC/default.nix create mode 100644 krebs/5pkgs/simple/painload/default.nix create mode 100644 krebs/5pkgs/simple/passwdqc-utils/default.nix create mode 100644 krebs/5pkgs/simple/populate/default.nix create mode 100644 krebs/5pkgs/simple/posix-array/default.nix create mode 100644 krebs/5pkgs/simple/pssh/default.nix create mode 100644 krebs/5pkgs/simple/push/default.nix create mode 100644 krebs/5pkgs/simple/realwallpaper/default.nix create mode 100644 krebs/5pkgs/simple/repo-sync/default.nix create mode 100644 krebs/5pkgs/simple/retiolum-bootstrap/default.nix create mode 100644 krebs/5pkgs/simple/rutorrent/default.nix create mode 100644 krebs/5pkgs/simple/tarantool/default.nix create mode 100644 krebs/5pkgs/simple/tinc_graphs/default.nix create mode 100644 krebs/5pkgs/simple/translate-shell/default.nix create mode 100644 krebs/5pkgs/simple/treq/default.nix create mode 100644 krebs/5pkgs/simple/untilport/default.nix create mode 100644 krebs/5pkgs/simple/urlwatch/default.nix create mode 100644 krebs/5pkgs/simple/weechat/default.nix create mode 100644 krebs/5pkgs/simple/whatsupnix/default.nix create mode 100644 krebs/5pkgs/simple/whatsupnix/whatsupnix.bash create mode 100644 krebs/5pkgs/simple/with-tmpdir/default.nix create mode 100644 krebs/5pkgs/simple/youtube-tools/default.nix create mode 100644 krebs/5pkgs/simple/zandronum-bin/default.nix delete mode 100644 krebs/5pkgs/tarantool/default.nix delete mode 100644 krebs/5pkgs/tinc_graphs/default.nix delete mode 100644 krebs/5pkgs/translate-shell/default.nix delete mode 100644 krebs/5pkgs/treq/default.nix delete mode 100644 krebs/5pkgs/untilport/default.nix delete mode 100644 krebs/5pkgs/urlwatch/default.nix delete mode 100644 krebs/5pkgs/weechat/default.nix delete mode 100644 krebs/5pkgs/whatsupnix/default.nix delete mode 100644 krebs/5pkgs/whatsupnix/whatsupnix.bash delete mode 100644 krebs/5pkgs/with-tmpdir/default.nix delete mode 100644 krebs/5pkgs/youtube-tools/default.nix delete mode 100644 krebs/5pkgs/zandronum-bin/default.nix diff --git a/krebs/5pkgs/Reaktor/default.nix b/krebs/5pkgs/Reaktor/default.nix deleted file mode 100644 index fc3710820..000000000 --- a/krebs/5pkgs/Reaktor/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ lib, pkgs,python3Packages,fetchurl, ... }: - -python3Packages.buildPythonPackage rec { - name = "Reaktor-${version}"; - version = "0.5.1"; - - doCheck = false; - - propagatedBuildInputs = with pkgs;[ - python3Packages.docopt - python3Packages.requests2 - ]; - src = fetchurl { - url = "https://pypi.python.org/packages/source/R/Reaktor/Reaktor-${version}.tar.gz"; - sha256 = "0dn9r0cyxi1sji2pnybsrc4hhaaq7hmf235nlgkrxqlsdb7y6n6n"; - }; - meta = { - homepage = http://krebsco.de/; - description = "An IRC bot based on asynchat"; - license = lib.licenses.wtfpl; - }; -} diff --git a/krebs/5pkgs/Reaktor/plugins.nix b/krebs/5pkgs/Reaktor/plugins.nix deleted file mode 100644 index e85e41cfe..000000000 --- a/krebs/5pkgs/Reaktor/plugins.nix +++ /dev/null @@ -1,131 +0,0 @@ -{ stdenv, lib, pkgs, makeWrapper }: - -rec { - # Begin API - buildBaseReaktorPlugin = { name - , config # python extra configuration for plugin - , phases ? [] - , ... } @ attrs: - stdenv.mkDerivation (attrs // { - name = "Reaktor-plugin-" + name; - isReaktorPlugin = true; - }); - - buildSimpleReaktorPlugin = name: { script - , path ? [] - , env ? {} - , append_rule ? false # append the rule instead of insert - , pattern ? "" - , ... } @ attrs: - let - path_env = { "PATH" = lib.makeSearchPath "bin" (path ++ [ pkgs.coreutils ]); }; - src_dir = pkgs.substituteAll ( { - inherit name; - dir = "bin"; - isExecutable = true; - src = script; - }); - src_file = "${src_dir}/bin/${name}"; - config = '' - public_commands.${if append_rule then "append(" else "insert(0," }{ - 'capname' : "${name}", - 'pattern' : ${if pattern == "" then - ''indirect_pattern.format("${name}")'' else - ''"${pattern}"'' }, - 'argv' : ["${src_file}"], - 'env' : ${builtins.toJSON (path_env // env)} }) - ''; - config_file = pkgs.writeText "plugin.py" config; - in buildBaseReaktorPlugin (attrs // rec { - inherit name config; - - phases = [ "installPhase" ]; - buildInputs = [ makeWrapper ]; - installPhase = '' - mkdir -p $out/bin $out/etc/Reaktor - ln -s ${src_file} $out/bin - wrapProgram $out/bin/${name} \ - --prefix PATH : ${path_env.PATH} - ln -s ${config_file} $out/etc/Reaktor/plugin.py - ''; - - }); - # End API - - # Begin Plugins - random-emoji = buildSimpleReaktorPlugin "emoji" { - path = with pkgs; [ gnused gnugrep xmlstarlet curl ]; - script = ./scripts/random-emoji.sh; - }; - - sed-plugin = buildSimpleReaktorPlugin "sed-plugin" { - path = [ pkgs.gnused pkgs.python3 ]; - # only support s///gi the plugin needs to see every msg - # TODO: this will eat up the last regex, fix Reaktor to support fallthru - append_rule = true; - pattern = "^(?P.*)$$"; - script = ./scripts/sed-plugin.py; - }; - - shack-correct = buildSimpleReaktorPlugin "shack-correct" { - path = [ pkgs.gnused ]; - pattern = "^(?P.*Shack.*)$$"; - script = ./scripts/shack-correct.sh; - }; - - nixos-version = buildSimpleReaktorPlugin "nixos-version" { - script = pkgs.writeDash "nixos-version" '' - . /etc/os-release - echo "$PRETTY_NAME" - ''; - }; - stockholm-issue = buildSimpleReaktorPlugin "stockholm-issue" { - script = ./scripts/random-issue.sh; - path = with pkgs; [ git gnused haskellPackages.lentil ]; - env = { "origin" = "http://cgit.gum/stockholm"; }; - }; - - titlebot = - let - pypkgs = pkgs.python3Packages; - titlebot_cmds = pypkgs.buildPythonPackage { - name = "titlebot_cmds"; - propagatedBuildInputs = with pypkgs; [ setuptools ]; - src = pkgs.fetchurl { - url = "https://github.com/makefu/reaktor-titlebot/archive/2.1.0.tar.gz"; - sha256 = "0wvf09wmk8b52f9j65qrw81nwrhs9pfhijwrlkzp5l7l2q8cjkp6"; - }; - }; - in buildBaseReaktorPlugin rec { - name = "titlebot"; - phases = [ "installPhase" ]; - installPhase = '' - mkdir -p $out - ln -s ${titlebot_cmds}/* $out - ''; - config = '' - def titlebot_cmd(cmd): - from os import environ - return { 'capname': None, - 'env': { 'TITLEDB': - environ['state_dir']+'/suggestions.json' }, - 'pattern': '^\\.' + cmd + '\\s*(?:\\s+(?P.*))?$$', - 'argv': [ '${titlebot_cmds}/bin/' + cmd ] } - for i in ['up','help','list','top','new']: - public_commands.insert(0,titlebot_cmd(i)) - commands.insert(0,titlebot_cmd('clear')) - ''; - }; - - url-title = (buildSimpleReaktorPlugin "url-title" { - pattern = "^.*(?Phttp[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+).*$$"; - path = with pkgs; [ curl perl ]; - script = pkgs.writeDash "lambda-pl" '' - if [ "$#" -gt 0 ]; then - curl -SsL --max-time 5 "$1" | - perl -l -0777 -ne 'print $1 if /\s*(.*?)(?: - youtube)?\s*<\/title/si' - fi - ''; - }); - -} diff --git a/krebs/5pkgs/Reaktor/scripts/random-emoji.sh b/krebs/5pkgs/Reaktor/scripts/random-emoji.sh deleted file mode 100644 index 386aa68b9..000000000 --- a/krebs/5pkgs/Reaktor/scripts/random-emoji.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -curl http://emojicons.com/random -s | \ - grep data-text | \ - sed -n 's/.*>\(.*\)<\/textarea>/\1/p' | \ - head -n 1 | \ - xmlstarlet unesc diff --git a/krebs/5pkgs/Reaktor/scripts/random-issue.sh b/krebs/5pkgs/Reaktor/scripts/random-issue.sh deleted file mode 100644 index 5c47c6156..000000000 --- a/krebs/5pkgs/Reaktor/scripts/random-issue.sh +++ /dev/null @@ -1,20 +0,0 @@ -#! /bin/sh -set -eu -# requires env: -# $state_dir -# $origin - -# in PATH: git,lentil,coreutils -subdir=`echo "$1" | tr -dc "[:alnum:]"` -name=`echo "$origin" | tr -dc "[:alnum:]"` -track="$state_dir/$name-checkout" -(if test -e "$track" ;then - cd "$track" - git fetch origin master - git reset --hard origin/master -else - git clone "$origin" "$track" -fi) >&2 - -cd "$track" -lentil "${subdir:-.}" -f csv | sed 1d | shuf | head -1 diff --git a/krebs/5pkgs/Reaktor/scripts/sed-plugin.py b/krebs/5pkgs/Reaktor/scripts/sed-plugin.py deleted file mode 100644 index da8e2f726..000000000 --- a/krebs/5pkgs/Reaktor/scripts/sed-plugin.py +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env python3 - -# Usage: -# _from=krebs state_dir=. python sed-plugin.py 'dick butt' -# _from=krebs state_dir=. python sed-plugin.py 's/t/l/g' -# > dick bull -import shelve -from os import environ -from os.path import join -from sys import argv -import re - -d = shelve.open(join(environ['state_dir'], 'sed-plugin.shelve'), writeback=True) -usr = environ['_from'] - - -def is_regex(line): - myre = re.compile(r'^s/(?:\\/|[^/])+/(?:\\/|[^/])*/[ig]?$') - return myre.match(line) - -line = argv[1] - -if is_regex(line): - last = d.get(usr, None) - if last: - from subprocess import Popen, PIPE - p = Popen(['sed', line], stdin=PIPE, stdout=PIPE) - so, se = p.communicate(bytes("{}\n".format(last), "UTF-8")) - if p.returncode: - print("something went wrong when trying to process your regex: {}".format(se.decode())) - ret = so.decode() - print("\x1b[1m{}\x1b[0m meant: {}".format(usr, ret.strip())) - if ret: - d[usr] = ret - - else: - print("no last message") -else: - d[usr] = line - -d.close() diff --git a/krebs/5pkgs/Reaktor/scripts/shack-correct.sh b/krebs/5pkgs/Reaktor/scripts/shack-correct.sh deleted file mode 100644 index 3b4d04f80..000000000 --- a/krebs/5pkgs/Reaktor/scripts/shack-correct.sh +++ /dev/null @@ -1,6 +0,0 @@ -#! /bin/sh -set -eu -printf "Sie meinten wohl \"" -echo -n $@ | sed 's/Shack/shack/g' -echo "\"" -echo "${_from}--" diff --git a/krebs/5pkgs/apt-cacher-ng/default.nix b/krebs/5pkgs/apt-cacher-ng/default.nix deleted file mode 100644 index e3986713b..000000000 --- a/krebs/5pkgs/apt-cacher-ng/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ stdenv, fetchurl, cmake, doxygen, zlib, openssl, bzip2, pkgconfig, libpthreadstubs }: - -stdenv.mkDerivation rec { - name = "apt-cacher-ng-${version}"; - version = "2"; - - src = fetchurl { - url = "http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/apt-cacher-ng_${version}.orig.tar.xz"; - sha256 = "0bkc3012vinridl5ch46pwnxjalymx4wf6nxax64nm7bdkcj9azf"; - }; - - NIX_LDFLAGS = "-lpthread"; - buildInputs = [ doxygen cmake zlib openssl bzip2 pkgconfig libpthreadstubs ]; - - meta = { - description = "A caching proxy specialized for linux distribution files"; - homepage = http://www.unix-ag.uni-kl.de/~bloch/acng/; - license = stdenv.lib.licenses.gpl2; - maintainers = [ stdenv.lib.maintainers.makefu ]; - }; -} diff --git a/krebs/5pkgs/bepasty-client-cli/default.nix b/krebs/5pkgs/bepasty-client-cli/default.nix deleted file mode 100644 index c58e637b3..000000000 --- a/krebs/5pkgs/bepasty-client-cli/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ lib, pkgs, pythonPackages, fetchFromGitHub, ... }: - -with pythonPackages; buildPythonPackage rec { - name = "bepasty-client-cli"; - propagatedBuildInputs = [ - python_magic - click - requests2 - ]; - - src = fetchFromGitHub { - owner = "bepasty"; - repo = "bepasty-client-cli"; - rev = "4b7135ba8ba1e17501de08ad7b6aca73c0d949d2"; - sha256 = "1svchyk9zai1vip9ppm12jm7wfjbdr9ijhgcd2n10xh73jrn9cnc"; - }; - - meta = { - homepage = https://github.com/bepasty/bepasty-client-cli; - description = "CLI client for bepasty-server"; - license = lib.licenses.bsd2; - }; -} diff --git a/krebs/5pkgs/buildbot/default.nix b/krebs/5pkgs/buildbot/default.nix deleted file mode 100644 index 37eea5fd9..000000000 --- a/krebs/5pkgs/buildbot/default.nix +++ /dev/null @@ -1,82 +0,0 @@ -{ pkgs, stdenv, pythonPackages, fetchurl, coreutils, plugins ? [] }: - -pythonPackages.buildPythonApplication (rec { - name = "${pname}-${version}"; - pname = "buildbot"; - version = "0.9.4"; - src = fetchurl { - url = "mirror://pypi/b/${pname}/${name}.tar.gz"; - sha256 = "0wklrn4fszac9wi8zw3vbsznwyff6y57cz0i81zvh46skb6n3086"; - }; - doCheck = false; - buildInputs = with pythonPackages; [ - lz4 - txrequests - pyjade - boto3 - moto - txgithub - mock - setuptoolsTrial - isort - pylint - astroid - pyflakes - pyjwt - ]; - - propagatedBuildInputs = with pythonPackages; [ - - # core - twisted - jinja2 - zope_interface - future - sqlalchemy - sqlalchemy_migrate - future - dateutil - txaio - autobahn - - # tls - pyopenssl - service-identity - idna - pkgs.treq - - # docs - sphinx - sphinxcontrib-blockdiag - sphinxcontrib-spelling - pyenchant - docutils - ramlfications - sphinx-jinja - - ] ++ plugins; - - preInstall = '' - # writes out a file that can't be read properly - sed -i.bak -e '69,84d' buildbot/test/unit/test_www_config.py - - # re-hardcode path to tail - sed -i.bak 's|/usr/bin/tail|${coreutils}/bin/tail|' buildbot/scripts/logwatcher.py - ''; - - postFixup = '' - mv -v $out/bin/buildbot $out/bin/.wrapped-buildbot - echo "#!/bin/sh" > $out/bin/buildbot - echo "export PYTHONPATH=$PYTHONPATH" >> $out/bin/buildbot - echo "exec $out/bin/.wrapped-buildbot \"\$@\"" >> $out/bin/buildbot - chmod -c 555 $out/bin/buildbot - ''; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Continuous integration system that automates the build/test cycle"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - platforms = platforms.all; - license = licenses.gpl2; - }; -}) diff --git a/krebs/5pkgs/buildbot/worker.nix b/krebs/5pkgs/buildbot/worker.nix deleted file mode 100644 index 34e526858..000000000 --- a/krebs/5pkgs/buildbot/worker.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ pkgs, stdenv, fetchurl, pythonPackages }: -pythonPackages.buildPythonApplication (rec { - name = "${pname}-${version}"; - pname = "buildbot-worker"; - version = "0.9.4"; - - doCheck = false; - src = fetchurl { - url = "mirror://pypi/b/${pname}/${name}.tar.gz"; - sha256 = "0rdrr8x7sn2nxl51p6h9ad42s3c28lb6sys84zrg0d7fm4zhv7hj"; - }; - - buildInputs = with pythonPackages; [ setuptoolsTrial mock ]; - propagatedBuildInputs = with pythonPackages; [ twisted future pkgs.treq ]; - - meta = with stdenv.lib; { - homepage = http://buildbot.net/; - description = "Buildbot Worker Daemon"; - maintainers = with maintainers; [ nand0p ryansydnor ]; - platforms = platforms.all; - license = licenses.gpl2; - }; -}) - diff --git a/krebs/5pkgs/cac-api/default.nix b/krebs/5pkgs/cac-api/default.nix deleted file mode 100644 index e2bd8c148..000000000 --- a/krebs/5pkgs/cac-api/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ stdenv, fetchgit, bc, cac-cert, coreutils, curl, dash, gnugrep, gnused, inotifyTools, jq, ncurses, openssh, sshpass, ... }: - -stdenv.mkDerivation { - name = "cac-api-1.1.2"; - - src = fetchgit { - url = http://cgit.ni.krebsco.de/cac-api; - rev = "67e93510e7742acae44db30275abbfe671aa9b7b"; - sha256 = "1vxh57j7vrq5sg9j1sam0538kkkhqpgf230vvdz2ifzgkj01z27l"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - installPhase = '' - mkdir -p $out/bin - { cat <<\EOF - #! ${dash}/bin/dash - export PATH=${stdenv.lib.makeBinPath [ - bc - coreutils - curl - gnugrep - gnused - inotifyTools - jq - ncurses - openssh - sshpass - ]}:"$PATH" - EOF - # [1]: Disable fetching tasks; listtasks is currently broken: - # Unknown column 'iod.apitask.cid' in 'field list' - sed ' - /^\s*tasks \\$/d; # [1] - s|\<_cac_exec curl|<${cac-cert} & --cacert /dev/stdin| - ' cac-api - } > $out/bin/cac-api - chmod +x $out/bin/cac-api - ''; -} diff --git a/krebs/5pkgs/cac-cert/cac.pem b/krebs/5pkgs/cac-cert/cac.pem deleted file mode 100644 index 9d02b6bcf..000000000 --- a/krebs/5pkgs/cac-cert/cac.pem +++ /dev/null @@ -1,88 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFWzCCBEOgAwIBAgIQXWIKGWRZf838+wW1zLdK0DANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UE -BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG -A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlk -YXRpb24gU2VjdXJlIFNlcnZlciBDQTAeFw0xNTEwMjMwMDAwMDBaFw0xODEwMjIyMzU5NTlaMF8x -ITAfBgNVBAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRlZDEeMBwGA1UECxMVRXNzZW50aWFsU1NM -IFdpbGRjYXJkMRowGAYDVQQDDBEqLmNsb3VkYXRjb3N0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAM9CyL8uUPoE3zYbvnwtUW69h0f+rkND1/Jsi15EEBFPQqiYCmPiSaJLn6JB -Hri34t4lArGrPA6K01x18LJqFoYDy5ya37J8Bd4jF3cijWe/IQEWAw0r2ufhd4LTNMvEyJIECida -LMhBxpORRdijmvEXCf9D0OEGBV3qfizcCH7+VPordCY3y9fwgbk0wAB1lAk29aRosK3gZJceu57Q -YkEKjee6pZ473+xpCjaeTBUlPuGA95A2jPf8c+QSPegczOd9Hwo4JqAJSjTzzuHiSbEhd+8JIC/P -6GYVOvwnNqCPuuXsoBy8xBQ8lHuZcWd5sh4MDRvm5YxVFhYN6kOgf1ECAwEAAaOCAd8wggHbMB8G -A1UdIwQYMBaAFJCvajqUWgvYkOoSVnPfQ7Q6KNrnMB0GA1UdDgQWBBSC9dSGoIEPHBTUQJjOxxPg -lhRLPDAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYI -KwYBBQUHAwIwTwYDVR0gBEgwRjA6BgsrBgEEAbIxAQICBzArMCkGCCsGAQUFBwIBFh1odHRwczov -L3NlY3VyZS5jb21vZG8uY29tL0NQUzAIBgZngQwBAgEwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDov -L2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNB -LmNybDCBhQYIKwYBBQUHAQEEeTB3ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LmNvbW9kb2NhLmNv -bS9DT01PRE9SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0MCQGCCsGAQUFBzAB -hhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wLQYDVR0RBCYwJIIRKi5jbG91ZGF0Y29zdC5jb22C -D2Nsb3VkYXRjb3N0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAPfUXBGDYOQnJuykm8I9cB2rBFVvt -HgzKIM+SXRz/jRt4HN/fsQkq2mI8SUPigWbtrtL1yim0hHdTR4m6vn7eHqj8erjjEJy16OfyRwp8 -LfjjHvcPxAxiRcFdv+8Pu/o0umqtxmRn4enyAZWhqAp3TBjkJPkJgh/toJqGpE7dN1Jw1AF75rrA -DXS8J5fcJYZQydJce+kacMHLh4C0Q37NgZKPfM+9jsygqY3Fhqh5GIt/CXNx2vlDPQP87QEtK7y7 -dCGd/MwrdKkUvOpsmqWiO1+02DesZSdIow/YW+8cUhPvYMqpM9zKbqVdRj3FJK56+/xNfNX5tiU1 -1VE7rIcEbw== ------END CERTIFICATE----- - ------BEGIN CERTIFICATE----- -MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE -BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG -A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwHhcNMTQwMjEyMDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMC -R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE -ChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlkYXRp -b24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI7CAhnh -oFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28ShbXcDow+G+eMGnD4LgYqbSRutA776S9uM -IO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4Tg -llfQcBhglo/uLQeTnaG6ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh -7lgUq/51UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0nc13c -RTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQYMBaAFLuvfgI9+qbx -PISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz30O0Oija5zAOBgNVHQ8BAf8EBAMC -AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYD -VR0gBBQwEjAGBgRVHSAAMAgGBmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNv -bW9kb2NhLmNvbS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB -AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET1JTQUFkZFRy -dXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wDQYJKoZIhvcN -AQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2pmj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx -3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsI -tG8kO3KdY3RYPBpsP0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdo -ltMYdVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc2bXhc3js -9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxGV/Iz2tDIY+3GH5QFlkoa -kdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBm -GqW5prU5wfWYQ//u+aen/e7KJD2AFsQXj4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODc -QgPmlKidrv0PJFGUzpII0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje -3WYkN5AplBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf+AZx -AeKCINT+b72x ------END CERTIFICATE----- - ------BEGIN CERTIFICATE----- -MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE -BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG -A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC -R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE -ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn -dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ -FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+ -5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG -x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX -2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL -OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3 -sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C -GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5 -WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E -FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w -DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt -rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+ -nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg -tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW -sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp -pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA -zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq -ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52 -7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I -LaZRfyHBNVOFBkpdn627G190 ------END CERTIFICATE----- diff --git a/krebs/5pkgs/cac-cert/default.nix b/krebs/5pkgs/cac-cert/default.nix deleted file mode 100644 index d99019dca..000000000 --- a/krebs/5pkgs/cac-cert/default.nix +++ /dev/null @@ -1,2 +0,0 @@ -{ writeText, ... }: -writeText "cac.pem" (builtins.readFile ./cac.pem) diff --git a/krebs/5pkgs/cac-panel/default.nix b/krebs/5pkgs/cac-panel/default.nix deleted file mode 100644 index fd4799535..000000000 --- a/krebs/5pkgs/cac-panel/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{pkgs, python3Packages, ...}: - -python3Packages.buildPythonPackage rec { - name = "cac-panel-${version}"; - version = "0.4.4"; - - src = pkgs.fetchurl { - url = "https://pypi.python.org/packages/source/c/cac-panel/cac-panel-${version}.tar.gz"; - sha256 = "16bx67fsbgwxciik42jhdnfzxx1xp5b0rimzrif3r7h4fawlnld8"; - }; - - propagatedBuildInputs = with python3Packages; [ - docopt - requests2 - beautifulsoup4 - ]; -} - diff --git a/krebs/5pkgs/collectd-connect-time/default.nix b/krebs/5pkgs/collectd-connect-time/default.nix deleted file mode 100644 index 525388029..000000000 --- a/krebs/5pkgs/collectd-connect-time/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{lib, pkgs, pythonPackages, fetchurl, ... }: - -pythonPackages.buildPythonPackage rec { - name = "collectd-connect-time-${version}"; - version = "0.3.0"; - src = fetchurl { - url = "https://pypi.python.org/packages/source/c/collectd-connect-time/collectd-connect-time-${version}.tar.gz"; - sha256 = "0vvrf9py9bwc8hk3scxwg4x2j8jlp2qva0mv4q8d9m4b4mk99c95"; - }; - meta = { - homepage = https://pypi.python.org/pypi/collectd-connect-time/; - description = "TCP Connection time plugin for collectd"; - license = lib.licenses.wtfpl; - }; -} diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix index 81481e14b..5af541258 100644 --- a/krebs/5pkgs/default.nix +++ b/krebs/5pkgs/default.nix @@ -12,10 +12,8 @@ with import ; then trace "Upstream `${upstream.name}' gets overridden by `${override.name}'." override else override; in {} + // import ./simple pkgs oldpkgs // import ./writers.nix pkgs oldpkgs - // mapAttrs (_: flip callPackage {}) - (filterAttrs (_: dir: pathExists (dir + "/default.nix")) - (subdirsOf ./.)) // { empty = pkgs.runCommand "empty-1.0.0" {} "mkdir $out"; @@ -33,13 +31,12 @@ with import ; (builtins.readDir ./haskell-overrides)); }; - ReaktorPlugins = callPackage ./Reaktor/plugins.nix {}; + ReaktorPlugins = callPackage ./simple/Reaktor/plugins.nix {}; - buildbot = callPackage ./buildbot {}; - buildbot-full = callPackage ./buildbot { + buildbot-full = callPackage ./simple/buildbot { plugins = with pkgs.buildbot-plugins; [ www console-view waterfall-view ]; }; - buildbot-worker = callPackage ./buildbot/worker.nix {}; + buildbot-worker = callPackage ./simple/buildbot/worker.nix {}; # https://github.com/proot-me/PRoot/issues/106 proot = pkgs.writeDashBin "proot" '' diff --git a/krebs/5pkgs/dic/default.nix b/krebs/5pkgs/dic/default.nix deleted file mode 100644 index 963786f0c..000000000 --- a/krebs/5pkgs/dic/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv, fetchgit, coreutils, curl, gnused, gnugrep, ... }: - -stdenv.mkDerivation { - name = "dic"; - - src = fetchgit { - url = http://cgit.ni.krebsco.de/dic; - rev = "refs/tags/v1.0.1"; - sha256 = "1686mba1z4m7vq70w26qpl00z1cz286c9bya9ql36g6w2pbcs8d3"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - installPhase = - let - path = stdenv.lib.makeBinPath [ - coreutils - curl - gnused - gnugrep - ]; - in - '' - mkdir -p $out/bin - - sed \ - 's,^main() {$,&\n PATH=${path}; export PATH,' \ - < ./dic \ - > $out/bin/dic - - chmod +x $out/bin/dic - ''; -} diff --git a/krebs/5pkgs/drivedroid-gen-repo/default.nix b/krebs/5pkgs/drivedroid-gen-repo/default.nix deleted file mode 100644 index de8046c4a..000000000 --- a/krebs/5pkgs/drivedroid-gen-repo/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -{stdenv,fetchurl,pkgs,python3Packages, ... }: - -python3Packages.buildPythonPackage rec { - name = "drivedroid-gen-repo-${version}"; - version = "0.4.4"; - - propagatedBuildInputs = with pkgs;[ - python3Packages.docopt - ]; - - src = fetchurl { - url = "https://pypi.python.org/packages/source/d/drivedroid-gen-repo/drivedroid-gen-repo-${version}.tar.gz"; - sha256 = "09p58hzp61r5fp025lak9z52y0aakmaqpi59p9w5xq42dvy2hnvl"; - }; - - meta = { - homepage = http://krebsco.de/; - description = "Generate Drivedroid repos"; - license = stdenv.lib.licenses.wtfpl; - }; -} - diff --git a/krebs/5pkgs/fortclientsslvpn/default.nix b/krebs/5pkgs/fortclientsslvpn/default.nix deleted file mode 100644 index cbcfab05f..000000000 --- a/krebs/5pkgs/fortclientsslvpn/default.nix +++ /dev/null @@ -1,92 +0,0 @@ -{ stdenv, lib, fetchurl, gnome3, glib, libSM, gdk_pixbuf, libX11, libXinerama, iproute, - makeWrapper, libredirect, ppp, coreutils, gawk, pango }: -stdenv.mkDerivation rec { - name = "forticlientsslvpn"; - # forticlient will be copied into /tmp before execution. this is necessary as - # the software demands $base to be writeable - - # TODO: chroot and create the following files instead of copying files manually - # mkdir /etc/ppp ; touch /etc/ppp/options - # ln -s /run/current-system/sw/bin/tail /usr/bin/tail - # ln -s /run/current-system/sw/bin/pppd /usr/sbin/pppd - - src = fetchurl { - # archive.org mirror: - # https://archive.org/download/ForticlientsslvpnLinux4.4.23171.tar/forticlientsslvpn_linux_4.4.2317.tar.gz - url = http://www.zen.co.uk/userfiles/knowledgebase/FortigateSSLVPNClient/forticlientsslvpn_linux_4.4.2317.tar.gz; - sha256 = "19clnf9rgrnwazlpah8zz5kvz6kc8lxawrgmksx25k5ywflmbcrr"; - }; - phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; - - buildInputs = [ makeWrapper ]; - - binPath = lib.makeBinPath [ - coreutils - gawk - ]; - - - libPath = lib.makeLibraryPath [ - stdenv.cc.cc - ]; - - guiLibPath = lib.makeLibraryPath [ - gnome3.gtk - glib - libSM - gdk_pixbuf - libX11 - libXinerama - pango - ]; - - buildPhase = '' - # TODO: 32bit, use the 32bit folder - patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - --set-rpath "$libPath" \ - 64bit/forticlientsslvpn_cli - - patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - --set-rpath "$libPath:$guiLibPath" \ - 64bit/forticlientsslvpn - - patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ - --set-rpath "$libPath" \ - 64bit/helper/subproc - - sed -i 's#\(export PATH=\).*#\1"${binPath}"#' 64bit/helper/waitppp.sh - ''; - - installPhase = '' - mkdir -p "$out/opt/fortinet" - - cp -r 64bit/. "$out/opt/fortinet" - wrapProgram $out/opt/fortinet/forticlientsslvpn \ - --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ - --set NIX_REDIRECTS /usr/bin/tail=${coreutils}/bin/tail:/usr/sbin/ip=${iproute}/bin/ip:/usr/sbin/pppd=${ppp}/bin/pppd - - mkdir -p "$out/bin/" - - cat > $out/bin/forticlientsslvpn < {} }: - - (pkgs.buildFHSUserEnv { - name = "simple-x11-env"; - targetPkgs = pkgs: with pkgs; [ - coreutils - ]; - multiPkgs = pkgs: with pkgs; [ - alsaLib - zlib - xorg.libXxf86vm - curl - openal - openssl_1_0_2 - xorg.libXext - xorg.libX11 - xorg.libXrandr - xorg.libXcursor - xorg.libXinerama - xorg.libXi - mesa_glu - ]; - runScript = "bash"; - }).env -''; - - -in pkgs.writeDashBin "games-user-env" '' - nix-shell ${env_nix} -'' diff --git a/krebs/5pkgs/get/default.nix b/krebs/5pkgs/get/default.nix deleted file mode 100644 index 83f6b0228..000000000 --- a/krebs/5pkgs/get/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ coreutils, gnugrep, gnused, fetchgit, jq, nix, stdenv, ... }: - -stdenv.mkDerivation { - name = "get-1.4.1"; - - src = fetchgit { - url = http://cgit.ni.krebsco.de/get; - rev = "41c0c35805ec1708729f73d14650d8ebc94a405b"; - sha256 = "0rx1qsbb4py14795yhhqwlvaibj2569fqm7x2671l868xi59h9f9"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - installPhase = - let - path = stdenv.lib.makeBinPath [ - coreutils - gnugrep - gnused - jq - nix - ]; - in - '' - mkdir -p $out/bin - - sed \ - '1s,.*,&\nPATH=${path},' \ - < ./get \ - > $out/bin/get - - chmod +x $out/bin/get - ''; -} diff --git a/krebs/5pkgs/git-hooks/default.nix b/krebs/5pkgs/git-hooks/default.nix deleted file mode 100644 index 4017b873b..000000000 --- a/krebs/5pkgs/git-hooks/default.nix +++ /dev/null @@ -1,107 +0,0 @@ -{ pkgs, ... }: - -with import ; - -{ - # TODO irc-announce should return a derivation - # but it cannot because krebs.git.repos.*.hooks :: attrsOf str - irc-announce = { nick, channel, server, port ? 6667, verbose ? false, branches ? [] }: '' - #! /bin/sh - set -euf - - export PATH=${makeBinPath (with pkgs; [ - coreutils - git - gnugrep - gnused - ])} - - green() { printf '\x0303,99%s\x0F' "$1"; } - red() { printf '\x0304,99%s\x0F' "$1"; } - orange() { printf '\x0307,99%s\x0F' "$1"; } - pink() { printf '\x0313,99%s\x0F' "$1"; } - gray() { printf '\x0314,99%s\x0F' "$1"; } - - unset message - add_message() { - message="''${message+$message - }$*" - } - - nick=${escapeShellArg nick} - channel=${escapeShellArg channel} - server=${escapeShellArg server} - port=${toString port} - - host=$nick - cgit_endpoint=http://cgit.$host.r - - empty=0000000000000000000000000000000000000000 - - while read oldrev newrev ref; do - - if [ $oldrev = $empty ]; then - receive_mode=create - elif [ $newrev = $empty ]; then - receive_mode=delete - elif [ "$(git merge-base $oldrev $newrev)" = $oldrev ]; then - receive_mode=fast-forward - else - receive_mode=non-fast-forward - fi - - h=$(echo $ref | sed 's:^refs/heads/::') - - ${optionalString (branches != []) '' - if ! (echo "$h" | grep -qE "${concatStringsSep "|" branches}"); then - echo "we are not serving this branch: $h" - exit 0 - fi - ''} - # empty_tree=$(git hash-object -t tree /dev/null) - empty_tree=4b825dc6 - - id=$(echo $newrev | cut -b-7) - id2=$(echo $oldrev | cut -b-7) - if [ $newrev = $empty ]; then id=$empty_tree; fi - if [ $oldrev = $empty ]; then id2=$empty_tree; fi - - case $receive_mode in - create) - link="$cgit_endpoint/$GIT_SSH_REPO/?h=$h" - ;; - delete) - link="$cgit_endpoint/$GIT_SSH_REPO/ ($h)" - ;; - fast-forward|non-fast-forward) - link="$cgit_endpoint/$GIT_SSH_REPO/diff/?h=$h&id=$id&id2=$id2" - ;; - esac - - #$host $GIT_SSH_REPO $ref $link - add_message $(pink push) $link $(gray "($receive_mode)") - - ${optionalString verbose '' - add_message "$( - git log \ - --format="$(orange %h) %s $(gray '(%ar)')" \ - --reverse \ - $id2..$id - - git diff --stat $id2..$id \ - | sed '$!s/\(+*\)\(-*\)$/'$(green '\1')$(red '\2')'/' - )" - ''} - - done - - if test -n "''${message-}"; then - exec ${pkgs.irc-announce}/bin/irc-announce \ - "$server" \ - "$port" \ - "$nick" \ - "$channel" \ - "$message" - fi - ''; -} diff --git a/krebs/5pkgs/github-hosts-sync/default.nix b/krebs/5pkgs/github-hosts-sync/default.nix deleted file mode 100644 index cdfed468c..000000000 --- a/krebs/5pkgs/github-hosts-sync/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ pkgs, stdenv, ... }: - -stdenv.mkDerivation { - name = "github-hosts-sync"; - - src = pkgs.painload; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - installPhase = - let - ca-bundle = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; - path = stdenv.lib.makeBinPath (with pkgs; [ - coreutils - findutils - git - gnugrep - gnused - nettools - openssh - socat - ]); - in - '' - mkdir -p $out/bin - - sed \ - 's,^main() {$,&\n export PATH=${path} GIT_SSL_CAINFO=${ca-bundle},' \ - < ./retiolum/scripts/github_hosts_sync/hosts-sync \ - > $out/bin/github-hosts-sync - - chmod +x $out/bin/github-hosts-sync - ''; -} diff --git a/krebs/5pkgs/go-shortener/default.nix b/krebs/5pkgs/go-shortener/default.nix deleted file mode 100644 index 996f7072a..000000000 --- a/krebs/5pkgs/go-shortener/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ stdenv, makeWrapper, callPackage, lib, buildEnv, fetchgit, nodePackages, nodejs }: - -with lib; - -let - np = (callPackage ) { - generated = ./packages.nix; - self = np; - }; - - node_env = buildEnv { - name = "node_env"; - paths = [ - np.redis - np."formidable" - ]; - pathsToLink = [ "/lib" ]; - ignoreCollisions = true; - }; - -in np.buildNodePackage { - name = "go-shortener"; - - src = fetchgit { - url = "http://cgit.lassul.us/go/"; - rev = "05d02740e0adbb36cc461323647f0c1e7f493156"; - sha256 = "6015c9a93317375ae8099c7ab982df0aa93a59ec2b48972e253887bb6ca0004f"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - deps = (filter (v: nixType v == "derivation") (attrValues np)); - - buildInputs = [ - nodejs - makeWrapper - ]; - - installPhase = '' - mkdir -p $out/bin - - cp index.js $out/ - cat > $out/go << EOF - ${nodejs}/bin/node $out/index.js - EOF - chmod +x $out/go - - wrapProgram $out/go \ - --prefix NODE_PATH : ${node_env}/lib/node_modules - - ln -s $out/go /$out/bin/go - ''; - -} diff --git a/krebs/5pkgs/go-shortener/packages.nix b/krebs/5pkgs/go-shortener/packages.nix deleted file mode 100644 index 9acfd7658..000000000 --- a/krebs/5pkgs/go-shortener/packages.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ self, fetchurl, fetchgit ? null, lib }: - -{ - by-spec."formidable"."*" = - self.by-version."formidable"."1.0.17"; - by-version."formidable"."1.0.17" = self.buildNodePackage { - name = "formidable-1.0.17"; - version = "1.0.17"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz"; - name = "formidable-1.0.17.tgz"; - sha1 = "ef5491490f9433b705faa77249c99029ae348559"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "formidable" = self.by-version."formidable"."1.0.17"; - by-spec."redis"."*" = - self.by-version."redis"."2.1.0"; - by-version."redis"."2.1.0" = self.buildNodePackage { - name = "redis-2.1.0"; - version = "2.1.0"; - bin = false; - src = fetchurl { - url = "http://registry.npmjs.org/redis/-/redis-2.1.0.tgz"; - name = "redis-2.1.0.tgz"; - sha1 = "38acb208f90750250f9451219b73ff08ae907f94"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "redis" = self.by-version."redis"."2.1.0"; -} diff --git a/krebs/5pkgs/goify/default.nix b/krebs/5pkgs/goify/default.nix deleted file mode 100644 index 9c44aaeeb..000000000 --- a/krebs/5pkgs/goify/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeBashBin "goify" '' - set -euf - - GO_HOST=''${GO_HOST:-go} - - while read line; do - echo "$line" | sed 's|https\?://\S*|\n&\n|g' | while read word; do - if echo "$word" | grep -q '^https\?:'; then - ${pkgs.curl}/bin/curl -Ss -F uri="$word" http://"$GO_HOST" \ - | tr -d '\r' - else - echo "$word" - fi - done | grep . | tr '\n' ' '; echo - done -'' diff --git a/krebs/5pkgs/hashPassword/default.nix b/krebs/5pkgs/hashPassword/default.nix deleted file mode 100644 index 3da65ad79..000000000 --- a/krebs/5pkgs/hashPassword/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ lib, pkgs, ... }: - -pkgs.writeDashBin "hashPassword" '' - # usage: hashPassword - set -euf - - export PATH=${lib.makeBinPath (with pkgs; [ - coreutils - mkpasswd - openssl - ])} - - salt=$(openssl rand -base64 16 | tr -d '+=' | head -c 16) - exec mkpasswd -m sha-512 -S "$salt" -'' diff --git a/krebs/5pkgs/htgen/default.nix b/krebs/5pkgs/htgen/default.nix deleted file mode 100644 index 0fca8bdf2..000000000 --- a/krebs/5pkgs/htgen/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ coreutils, dash, fetchgit, gnused, stdenv, ucspi-tcp }: -with import ; -let - version = "1.2.2"; -in stdenv.mkDerivation { - name = "htgen-${version}"; - - src = fetchgit { - url = "http://cgit.krebsco.de/htgen"; - rev = "refs/tags/v${version}"; - sha256 = "0a8vn35vq6pxgk6d3d2cjp0vdxzq9nqf0zgkvnd6668v4cmdf91b"; - }; - - installPhase = '' - mkdir -p $out/bin - { - echo '#! ${dash}/bin/dash' - echo 'export PATH=${makeBinPath [ - coreutils - gnused - ucspi-tcp - ]}''${PATH+":$PATH"}' - sed 's:^Server=htgen$:&/${version}:' htgen - } > $out/bin/htgen - chmod +x $out/bin/htgen - cp -r examples $out - ''; -} diff --git a/krebs/5pkgs/irc-announce/default.nix b/krebs/5pkgs/irc-announce/default.nix deleted file mode 100644 index e1f4919d5..000000000 --- a/krebs/5pkgs/irc-announce/default.nix +++ /dev/null @@ -1,66 +0,0 @@ -{ pkgs, lib, ... }: - -with lib; - -pkgs.writeDashBin "irc-announce" '' - set -euf - - export PATH=${makeSearchPath "bin" (with pkgs; [ - coreutils - gawk - gnused - netcat - nettools - ])} - - IRC_SERVER=$1 - IRC_PORT=$2 - IRC_NICK=$3$$ - IRC_CHANNEL=$4 - message=$5 - - export IRC_CHANNEL # for privmsg_cat - - # echo2 and cat2 are used output to both, stdout and stderr - # This is used to see what we send to the irc server. (debug output) - echo2() { echo "$*"; echo "$*" >&2; } - cat2() { tee /dev/stderr; } - - # privmsg_cat transforms stdin to a privmsg - privmsg_cat() { awk '{ print "PRIVMSG "ENVIRON["IRC_CHANNEL"]" :"$0 }'; } - - # ircin is used to feed the output of netcat back to the "irc client" - # so we can implement expect-like behavior with sed^_^ - # XXX mkselfdestructingtmpfifo would be nice instead of this cruft - tmpdir=$(mktemp --tmpdir -d irc-announce_XXXXXXXX) - cd "$tmpdir" - mkfifo ircin - trap " - rm ircin - cd '$OLDPWD' - rmdir '$tmpdir' - trap - EXIT INT QUIT - " EXIT INT QUIT - - { - echo2 "USER $LOGNAME 0 * :$LOGNAME@$(hostname)" - echo2 "NICK $IRC_NICK" - - # wait for MODE message - sed -n '/^:[^ ]* MODE /q' - - echo2 "JOIN $IRC_CHANNEL" - - printf '%s' "$message" \ - | privmsg_cat \ - | cat2 - - echo2 "PART $IRC_CHANNEL" - - # wait for PART confirmation - sed -n '/:'"$IRC_NICK"'![^ ]* PART /q' - - echo2 'QUIT :Gone to have lunch' - } < ircin \ - | nc "$IRC_SERVER" "$IRC_PORT" | tee -a ircin -'' diff --git a/krebs/5pkgs/kpaste/default.nix b/krebs/5pkgs/kpaste/default.nix deleted file mode 100644 index d6823d584..000000000 --- a/krebs/5pkgs/kpaste/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ curl, writeDashBin }: - -writeDashBin "kpaste" '' - exec ${curl}/bin/curl -sS http://p.r --data-binary @- -'' diff --git a/krebs/5pkgs/krebspaste/default.nix b/krebs/5pkgs/krebspaste/default.nix deleted file mode 100644 index 31ad12780..000000000 --- a/krebs/5pkgs/krebspaste/default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ writeDashBin, bepasty-client-cli }: - -# TODO use `execve` instead? -writeDashBin "krebspaste" '' - exec ${bepasty-client-cli}/bin/bepasty-cli -L 1m --url http://paste.r "$@" | sed '$ s/$/\/+inline/g' -'' diff --git a/krebs/5pkgs/krebszones/default.nix b/krebs/5pkgs/krebszones/default.nix deleted file mode 100644 index 9230192bd..000000000 --- a/krebs/5pkgs/krebszones/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ lib, pkgs,python3Packages,fetchurl, ... }: - -# TODO: Prepare a diff of future and current -## ovh-zone export krebsco.de --config ~/secrets/krebs/cfg.json |sed 's/[ ]\+/ /g' | sort current -## sed 's/[ ]\+/ /g'/etc/zones/krebsco.de | sort > future -## diff future.sorted current.sorted - -python3Packages.buildPythonPackage rec { - name = "krebszones-${version}"; - version = "0.4.4"; - propagatedBuildInputs = with pkgs.python3Packages;[ - d2to1 # for setup to work - ovh - docopt - ]; - src = fetchurl { - url = "https://pypi.python.org/packages/source/k/krebszones/krebszones-${version}.tar.gz"; - sha256 = "1bzfc2b9468769j1yj93j12zdlccqbjiqfhql2larximh491sg4d"; - }; - meta = { - homepage = http://krebsco.de/; - description = "OVH Zone Upload"; - license = lib.licenses.wtfpl; - }; -} diff --git a/krebs/5pkgs/logf/default.nix b/krebs/5pkgs/logf/default.nix deleted file mode 100644 index ac95acb33..000000000 --- a/krebs/5pkgs/logf/default.nix +++ /dev/null @@ -1,114 +0,0 @@ -{ lib, pkgs, ... }: - -with import ; - -let - default-host-colors = pkgs.writeJSON "logf.default-host-colors.json" { - }; - default-prio-colors = pkgs.writeJSON "logf.default-prio-colors.json" { - "0" = 196; # emerg - "1" = 160; # alert - "2" = 124; # crit - "3" = 009; # err - "4" = 011; # warning - "5" = 255; # notice - "6" = 250; # info - "7" = 139; # debug - "-" = 005; # undefined priority - }; - default-urgent = pkgs.writeJSON "logf.default-urgent.json" [ - ]; -in - -pkgs.writeDashBin "logf" '' - export LOGF_HOST_COLORS LOGF_PRIO_COLORS LOGF_URGENT - LOGF_HOST_COLORS=$(cat "''${LOGF_HOST_COLORS-${default-host-colors}}") - LOGF_PRIO_COLORS=$(cat "''${LOGF_PRIO_COLORS-${default-prio-colors}}") - LOGF_URGENT=$(cat "''${LOGF_URGENT-${default-urgent}}") - printf '%s\0' "$@" \ - | ${pkgs.findutils}/bin/xargs -0 -P 0 -n 1 ${pkgs.writeDash "logf-remote" '' - target=$1 - target_host=$(echo "$1" | sed 's/^.*@//;s/\..*//') - exec 3>&1 - 2>&1 1>&3 ssh "$target" -T \ - -o PreferredAuthentications=publickey \ - -o StrictHostKeyChecking=yes \ - exec journalctl -af -n 0 -o json \ - | stdbuf -oL jq -Rcf ${pkgs.writeJq "logf-remote-error.jq" '' - { - PRIORITY: "4", - MESSAGE: ., - SYSLOG_IDENTIFIER: env.target_host, - } - ''} - sleep 10m - exec "$0" "$@" - ''} \ - | ${pkgs.jq}/bin/jq -Rrf ${pkgs.writeJq "logf-filter.jq" '' - (env.LOGF_HOST_COLORS | fromjson) as $host_colors | - (env.LOGF_PRIO_COLORS | fromjson) as $prio_colors | - (env.LOGF_URGENT | fromjson | map("(\(.))") | join("|")) - as $urgent_regex | - - def when(c; f): if c then f else . end; - - # anaphoric gsub - def agsub(re; f): - # Don't try empty regex: https://github.com/stedolan/jq/issues/1206 - when(re != ""; gsub("(?\(re))"; .it | f)); - - # :: [int] -> sgr - def sgr: "\u001b[\(map(tostring) | join(";"))m"; - - # :: sgr - def rst: [] | sgr; - - # :: int -> sgr - def fg(i): [38,5,i]|sgr; - # TODO def fg(r;g;b): [38,2,r,g,b]|sgr; - # http://cvs.schmorp.de/rxvt-unicode/src/command.C?revision=1.570&view=markup&sortby=log&sortdir=down - - # (sgr; sgr) | (null; any) :: str -> str - def col(a; b): when(a != null; a + . + b); - def col(a): col(a; rst); - - - def p_time: - ._SOURCE_REALTIME_TIMESTAMP - | if . != null then . | fromjson | . / 1000000 else now end - | gmtime - | todateiso8601 - | col(fg(237)); - - def p_host: - ._HOSTNAME - | if . != null then . else "-" end - | col($host_colors[.]|when(. != null; fg(.))); - - def p_ident: - if .SYSLOG_IDENTIFIER != null then .SYSLOG_IDENTIFIER - else ._COMM end - | col(fg(244)); - - def p_message: - fg($prio_colors[if has("PRIORITY") then .PRIORITY else "-" end]) - as $prio_c | - .MESSAGE - | sub("\r$"; "") - | agsub($urgent_regex; "\(.)\u0007" | col(fg(219); $prio_c)) - | col($prio_c); - - try fromjson catch { - _SOURCE_REALTIME_TIMESTAMP: now | tostring | sub("[.]"; ""), - SYSLOG_IDENTIFIER: "logf/journalctl", - MESSAGE: ., - } | - - [ p_time - , p_host - , p_ident - , p_message - ] - | join(" ") - ''} -'' diff --git a/krebs/5pkgs/much/cabal.nix b/krebs/5pkgs/much/cabal.nix deleted file mode 100644 index 09bc7b5df..000000000 --- a/krebs/5pkgs/much/cabal.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ mkDerivation, aeson, attoparsec, base, base64-bytestring -, blaze-builder, blessings, bytestring, case-insensitive -, containers, deepseq, directory, docopt, email-header, fetchgit -, filepath, friendly-time, hyphenation, linebreak, old-locale -, process, random, rosezipper, safe, scanner, split, stdenv -, terminal-size, text, time, transformers, transformers-compat -, unix, vector -}: -mkDerivation { - pname = "much"; - version = "1.1.0"; - src = fetchgit { - url = "http://cgit.ni.krebsco.de/much"; - sha256 = "1325554zymr1dd0clj8c5ygl70c791csvs0hz33jcfr6b8wysdrl"; - rev = "dfec37d848e11c00d9b7f03295af1fc7b0e83ef5"; - }; - isLibrary = false; - isExecutable = true; - executableHaskellDepends = [ - aeson attoparsec base base64-bytestring blaze-builder blessings - bytestring case-insensitive containers deepseq directory docopt - email-header filepath friendly-time hyphenation linebreak - old-locale process random rosezipper safe scanner split - terminal-size text time transformers transformers-compat unix - vector - ]; - license = stdenv.lib.licenses.mit; -} diff --git a/krebs/5pkgs/much/default.nix b/krebs/5pkgs/much/default.nix deleted file mode 100644 index cf55eb537..000000000 --- a/krebs/5pkgs/much/default.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ haskellPackages, ... }: - -haskellPackages.callPackage ./cabal.nix {} diff --git a/krebs/5pkgs/netcup/default.nix b/krebs/5pkgs/netcup/default.nix deleted file mode 100644 index d1f46299d..000000000 --- a/krebs/5pkgs/netcup/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ coreutils, curl, fetchgit, gawk, gnugrep, gnused, jq, stdenv, w3m, ... }: -with import ; -let - readJSON = path: fromJSON (readFile path); - sed.escape = replaceChars ["/"] ["\\/"]; # close enough - PATH = makeBinPath [ - coreutils - curl - gawk - gnugrep - gnused - jq - w3m - ]; -in -stdenv.mkDerivation { - name = "netcup-1.0.0"; - src = fetchgit { - url = "http://cgit.ni.krebsco.de/netcup"; - rev = "refs/tags/v1.0.0"; - sha256 = "1rn7bncfhjw0bqjbvj38m7lks4nyf5qcvkj9dg0zr99ba6dylzx5"; - }; - phases = [ "unpackPhase" "patchPhase" "installPhase" ]; - patchPhase = '' - path=${shell.escape (sed.escape PATH)} - sed -i "1s/.*/&\nPATH=$path/" vcp - ''; - installPhase = '' - mkdir -p $out/bin - cp vcp $out/bin - ''; -} diff --git a/krebs/5pkgs/newsbot-js/default.nix b/krebs/5pkgs/newsbot-js/default.nix deleted file mode 100644 index b52454ca4..000000000 --- a/krebs/5pkgs/newsbot-js/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ stdenv, makeWrapper, callPackage, lib, buildEnv, fetchgit, nodePackages, nodejs }: - -with lib; - -let - np = (callPackage ) { - generated = ./packages.nix; - self = np; - }; - - node_env = buildEnv { - name = "node_env"; - paths = [ - np.feedparser - np.form-data - np.irc - np.request - np.shell-quote - ]; - pathsToLink = [ "/lib" ]; - ignoreCollisions = true; - }; - -in np.buildNodePackage { - name = "newsbot-js"; - - src = fetchgit { - url = "http://cgit.prism/newsbot-js/"; - rev = "09e01639be4ea9691cf5b33f7d9057b68ac98079"; - sha256 = "28ffbed66c2efcd194c47823c7d5d5533c80852fc0cf9d9d4ee609c71d50c142"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - deps = (filter (v: nixType v == "derivation") (attrValues np)); - - buildInputs = [ - nodejs - makeWrapper - ]; - - installPhase = '' - mkdir -p $out/bin - - cp newsbot.js $out/ - cat > $out/newsbot << EOF - ${nodejs}/bin/node $out/newsbot.js - EOF - chmod +x $out/newsbot - - wrapProgram $out/newsbot \ - --prefix NODE_PATH : ${node_env}/lib/node_modules - - ln -s $out/newsbot /$out/bin/newsbot - ''; - -} diff --git a/krebs/5pkgs/newsbot-js/packages.nix b/krebs/5pkgs/newsbot-js/packages.nix deleted file mode 100644 index 62921cb8f..000000000 --- a/krebs/5pkgs/newsbot-js/packages.nix +++ /dev/null @@ -1,1747 +0,0 @@ -{ self, fetchurl, fetchgit ? null, lib }: - -{ - by-spec."addressparser"."^1.0.1" = - self.by-version."addressparser"."1.0.1"; - by-version."addressparser"."1.0.1" = self.buildNodePackage { - name = "addressparser-1.0.1"; - version = "1.0.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz"; - name = "addressparser-1.0.1.tgz"; - sha1 = "47afbe1a2a9262191db6838e4fd1d39b40821746"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."ansi-regex"."^2.0.0" = - self.by-version."ansi-regex"."2.1.1"; - by-version."ansi-regex"."2.1.1" = self.buildNodePackage { - name = "ansi-regex-2.1.1"; - version = "2.1.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"; - name = "ansi-regex-2.1.1.tgz"; - sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."ansi-styles"."^2.2.1" = - self.by-version."ansi-styles"."2.2.1"; - by-version."ansi-styles"."2.2.1" = self.buildNodePackage { - name = "ansi-styles-2.2.1"; - version = "2.2.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"; - name = "ansi-styles-2.2.1.tgz"; - sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."array-filter"."~0.0.0" = - self.by-version."array-filter"."0.0.1"; - by-version."array-filter"."0.0.1" = self.buildNodePackage { - name = "array-filter-0.0.1"; - version = "0.0.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz"; - name = "array-filter-0.0.1.tgz"; - sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."array-indexofobject"."~0.0.1" = - self.by-version."array-indexofobject"."0.0.1"; - by-version."array-indexofobject"."0.0.1" = self.buildNodePackage { - name = "array-indexofobject-0.0.1"; - version = "0.0.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz"; - name = "array-indexofobject-0.0.1.tgz"; - sha1 = "aaa128e62c9b3c358094568c219ff64fe489d42a"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."array-map"."~0.0.0" = - self.by-version."array-map"."0.0.0"; - by-version."array-map"."0.0.0" = self.buildNodePackage { - name = "array-map-0.0.0"; - version = "0.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz"; - name = "array-map-0.0.0.tgz"; - sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."array-reduce"."~0.0.0" = - self.by-version."array-reduce"."0.0.0"; - by-version."array-reduce"."0.0.0" = self.buildNodePackage { - name = "array-reduce-0.0.0"; - version = "0.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz"; - name = "array-reduce-0.0.0.tgz"; - sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."asn1"."~0.2.3" = - self.by-version."asn1"."0.2.3"; - by-version."asn1"."0.2.3" = self.buildNodePackage { - name = "asn1-0.2.3"; - version = "0.2.3"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz"; - name = "asn1-0.2.3.tgz"; - sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."assert-plus"."^0.2.0" = - self.by-version."assert-plus"."0.2.0"; - by-version."assert-plus"."0.2.0" = self.buildNodePackage { - name = "assert-plus-0.2.0"; - version = "0.2.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz"; - name = "assert-plus-0.2.0.tgz"; - sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."assert-plus"."^1.0.0" = - self.by-version."assert-plus"."1.0.0"; - by-version."assert-plus"."1.0.0" = self.buildNodePackage { - name = "assert-plus-1.0.0"; - version = "1.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"; - name = "assert-plus-1.0.0.tgz"; - sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."asynckit"."^0.4.0" = - self.by-version."asynckit"."0.4.0"; - by-version."asynckit"."0.4.0" = self.buildNodePackage { - name = "asynckit-0.4.0"; - version = "0.4.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"; - name = "asynckit-0.4.0.tgz"; - sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."aws-sign2"."~0.6.0" = - self.by-version."aws-sign2"."0.6.0"; - by-version."aws-sign2"."0.6.0" = self.buildNodePackage { - name = "aws-sign2-0.6.0"; - version = "0.6.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz"; - name = "aws-sign2-0.6.0.tgz"; - sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."aws4"."^1.2.1" = - self.by-version."aws4"."1.5.0"; - by-version."aws4"."1.5.0" = self.buildNodePackage { - name = "aws4-1.5.0"; - version = "1.5.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz"; - name = "aws4-1.5.0.tgz"; - sha1 = "0a29ffb79c31c9e712eeb087e8e7a64b4a56d755"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."bcrypt-pbkdf"."^1.0.0" = - self.by-version."bcrypt-pbkdf"."1.0.1"; - by-version."bcrypt-pbkdf"."1.0.1" = self.buildNodePackage { - name = "bcrypt-pbkdf-1.0.1"; - version = "1.0.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz"; - name = "bcrypt-pbkdf-1.0.1.tgz"; - sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d"; - }; - deps = { - "tweetnacl-0.14.5" = self.by-version."tweetnacl"."0.14.5"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."boom"."2.x.x" = - self.by-version."boom"."2.10.1"; - by-version."boom"."2.10.1" = self.buildNodePackage { - name = "boom-2.10.1"; - version = "2.10.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"; - name = "boom-2.10.1.tgz"; - sha1 = "39c8918ceff5799f83f9492a848f625add0c766f"; - }; - deps = { - "hoek-2.16.3" = self.by-version."hoek"."2.16.3"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."buffer-shims"."^1.0.0" = - self.by-version."buffer-shims"."1.0.0"; - by-version."buffer-shims"."1.0.0" = self.buildNodePackage { - name = "buffer-shims-1.0.0"; - version = "1.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"; - name = "buffer-shims-1.0.0.tgz"; - sha1 = "9978ce317388c649ad8793028c3477ef044a8b51"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."caseless"."~0.11.0" = - self.by-version."caseless"."0.11.0"; - by-version."caseless"."0.11.0" = self.buildNodePackage { - name = "caseless-0.11.0"; - version = "0.11.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"; - name = "caseless-0.11.0.tgz"; - sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."chalk"."^1.1.1" = - self.by-version."chalk"."1.1.3"; - by-version."chalk"."1.1.3" = self.buildNodePackage { - name = "chalk-1.1.3"; - version = "1.1.3"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"; - name = "chalk-1.1.3.tgz"; - sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; - }; - deps = { - "ansi-styles-2.2.1" = self.by-version."ansi-styles"."2.2.1"; - "escape-string-regexp-1.0.5" = self.by-version."escape-string-regexp"."1.0.5"; - "has-ansi-2.0.0" = self.by-version."has-ansi"."2.0.0"; - "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1"; - "supports-color-2.0.0" = self.by-version."supports-color"."2.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."combined-stream"."^1.0.5" = - self.by-version."combined-stream"."1.0.5"; - by-version."combined-stream"."1.0.5" = self.buildNodePackage { - name = "combined-stream-1.0.5"; - version = "1.0.5"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz"; - name = "combined-stream-1.0.5.tgz"; - sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009"; - }; - deps = { - "delayed-stream-1.0.0" = self.by-version."delayed-stream"."1.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."combined-stream"."~1.0.5" = - self.by-version."combined-stream"."1.0.5"; - by-spec."commander"."^2.9.0" = - self.by-version."commander"."2.9.0"; - by-version."commander"."2.9.0" = self.buildNodePackage { - name = "commander-2.9.0"; - version = "2.9.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"; - name = "commander-2.9.0.tgz"; - sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4"; - }; - deps = { - "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."core-util-is"."~1.0.0" = - self.by-version."core-util-is"."1.0.2"; - by-version."core-util-is"."1.0.2" = self.buildNodePackage { - name = "core-util-is-1.0.2"; - version = "1.0.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"; - name = "core-util-is-1.0.2.tgz"; - sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."cryptiles"."2.x.x" = - self.by-version."cryptiles"."2.0.5"; - by-version."cryptiles"."2.0.5" = self.buildNodePackage { - name = "cryptiles-2.0.5"; - version = "2.0.5"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz"; - name = "cryptiles-2.0.5.tgz"; - sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8"; - }; - deps = { - "boom-2.10.1" = self.by-version."boom"."2.10.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."dashdash"."^1.12.0" = - self.by-version."dashdash"."1.14.1"; - by-version."dashdash"."1.14.1" = self.buildNodePackage { - name = "dashdash-1.14.1"; - version = "1.14.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"; - name = "dashdash-1.14.1.tgz"; - sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; - }; - deps = { - "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."delayed-stream"."~1.0.0" = - self.by-version."delayed-stream"."1.0.0"; - by-version."delayed-stream"."1.0.0" = self.buildNodePackage { - name = "delayed-stream-1.0.0"; - version = "1.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"; - name = "delayed-stream-1.0.0.tgz"; - sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."ecc-jsbn"."~0.1.1" = - self.by-version."ecc-jsbn"."0.1.1"; - by-version."ecc-jsbn"."0.1.1" = self.buildNodePackage { - name = "ecc-jsbn-0.1.1"; - version = "0.1.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz"; - name = "ecc-jsbn-0.1.1.tgz"; - sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505"; - }; - deps = { - "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."escape-string-regexp"."^1.0.2" = - self.by-version."escape-string-regexp"."1.0.5"; - by-version."escape-string-regexp"."1.0.5" = self.buildNodePackage { - name = "escape-string-regexp-1.0.5"; - version = "1.0.5"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; - name = "escape-string-regexp-1.0.5.tgz"; - sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."extend"."~3.0.0" = - self.by-version."extend"."3.0.0"; - by-version."extend"."3.0.0" = self.buildNodePackage { - name = "extend-3.0.0"; - version = "3.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz"; - name = "extend-3.0.0.tgz"; - sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."extsprintf"."1.0.2" = - self.by-version."extsprintf"."1.0.2"; - by-version."extsprintf"."1.0.2" = self.buildNodePackage { - name = "extsprintf-1.0.2"; - version = "1.0.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"; - name = "extsprintf-1.0.2.tgz"; - sha1 = "e1080e0658e300b06294990cc70e1502235fd550"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."feedparser"."*" = - self.by-version."feedparser"."2.1.0"; - by-version."feedparser"."2.1.0" = self.buildNodePackage { - name = "feedparser-2.1.0"; - version = "2.1.0"; - bin = true; - src = fetchurl { - url = "https://registry.npmjs.org/feedparser/-/feedparser-2.1.0.tgz"; - name = "feedparser-2.1.0.tgz"; - sha1 = "4cd98bf04e18db5b8644f91e98da89dd179f1fe7"; - }; - deps = { - "addressparser-1.0.1" = self.by-version."addressparser"."1.0.1"; - "array-indexofobject-0.0.1" = self.by-version."array-indexofobject"."0.0.1"; - "lodash.assign-4.2.0" = self.by-version."lodash.assign"."4.2.0"; - "lodash.get-4.4.2" = self.by-version."lodash.get"."4.4.2"; - "lodash.has-4.5.2" = self.by-version."lodash.has"."4.5.2"; - "lodash.uniq-4.5.0" = self.by-version."lodash.uniq"."4.5.0"; - "readable-stream-2.2.2" = self.by-version."readable-stream"."2.2.2"; - "sax-1.2.1" = self.by-version."sax"."1.2.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "feedparser" = self.by-version."feedparser"."2.1.0"; - by-spec."forever-agent"."~0.6.1" = - self.by-version."forever-agent"."0.6.1"; - by-version."forever-agent"."0.6.1" = self.buildNodePackage { - name = "forever-agent-0.6.1"; - version = "0.6.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"; - name = "forever-agent-0.6.1.tgz"; - sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."form-data"."*" = - self.by-version."form-data"."2.1.2"; - by-version."form-data"."2.1.2" = self.buildNodePackage { - name = "form-data-2.1.2"; - version = "2.1.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz"; - name = "form-data-2.1.2.tgz"; - sha1 = "89c3534008b97eada4cbb157d58f6f5df025eae4"; - }; - deps = { - "asynckit-0.4.0" = self.by-version."asynckit"."0.4.0"; - "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5"; - "mime-types-2.1.14" = self.by-version."mime-types"."2.1.14"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "form-data" = self.by-version."form-data"."2.1.2"; - by-spec."form-data"."~2.1.1" = - self.by-version."form-data"."2.1.2"; - by-spec."generate-function"."^2.0.0" = - self.by-version."generate-function"."2.0.0"; - by-version."generate-function"."2.0.0" = self.buildNodePackage { - name = "generate-function-2.0.0"; - version = "2.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"; - name = "generate-function-2.0.0.tgz"; - sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."generate-object-property"."^1.1.0" = - self.by-version."generate-object-property"."1.2.0"; - by-version."generate-object-property"."1.2.0" = self.buildNodePackage { - name = "generate-object-property-1.2.0"; - version = "1.2.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"; - name = "generate-object-property-1.2.0.tgz"; - sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0"; - }; - deps = { - "is-property-1.0.2" = self.by-version."is-property"."1.0.2"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."getpass"."^0.1.1" = - self.by-version."getpass"."0.1.6"; - by-version."getpass"."0.1.6" = self.buildNodePackage { - name = "getpass-0.1.6"; - version = "0.1.6"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz"; - name = "getpass-0.1.6.tgz"; - sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6"; - }; - deps = { - "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."graceful-readlink".">= 1.0.0" = - self.by-version."graceful-readlink"."1.0.1"; - by-version."graceful-readlink"."1.0.1" = self.buildNodePackage { - name = "graceful-readlink-1.0.1"; - version = "1.0.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"; - name = "graceful-readlink-1.0.1.tgz"; - sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."har-validator"."~2.0.6" = - self.by-version."har-validator"."2.0.6"; - by-version."har-validator"."2.0.6" = self.buildNodePackage { - name = "har-validator-2.0.6"; - version = "2.0.6"; - bin = true; - src = fetchurl { - url = "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz"; - name = "har-validator-2.0.6.tgz"; - sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"; - }; - deps = { - "chalk-1.1.3" = self.by-version."chalk"."1.1.3"; - "commander-2.9.0" = self.by-version."commander"."2.9.0"; - "is-my-json-valid-2.15.0" = self.by-version."is-my-json-valid"."2.15.0"; - "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."has-ansi"."^2.0.0" = - self.by-version."has-ansi"."2.0.0"; - by-version."has-ansi"."2.0.0" = self.buildNodePackage { - name = "has-ansi-2.0.0"; - version = "2.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"; - name = "has-ansi-2.0.0.tgz"; - sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; - }; - deps = { - "ansi-regex-2.1.1" = self.by-version."ansi-regex"."2.1.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."hawk"."~3.1.3" = - self.by-version."hawk"."3.1.3"; - by-version."hawk"."3.1.3" = self.buildNodePackage { - name = "hawk-3.1.3"; - version = "3.1.3"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz"; - name = "hawk-3.1.3.tgz"; - sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4"; - }; - deps = { - "hoek-2.16.3" = self.by-version."hoek"."2.16.3"; - "boom-2.10.1" = self.by-version."boom"."2.10.1"; - "cryptiles-2.0.5" = self.by-version."cryptiles"."2.0.5"; - "sntp-1.0.9" = self.by-version."sntp"."1.0.9"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."hoek"."2.x.x" = - self.by-version."hoek"."2.16.3"; - by-version."hoek"."2.16.3" = self.buildNodePackage { - name = "hoek-2.16.3"; - version = "2.16.3"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"; - name = "hoek-2.16.3.tgz"; - sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."http-signature"."~1.1.0" = - self.by-version."http-signature"."1.1.1"; - by-version."http-signature"."1.1.1" = self.buildNodePackage { - name = "http-signature-1.1.1"; - version = "1.1.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz"; - name = "http-signature-1.1.1.tgz"; - sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf"; - }; - deps = { - "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0"; - "jsprim-1.3.1" = self.by-version."jsprim"."1.3.1"; - "sshpk-1.10.2" = self.by-version."sshpk"."1.10.2"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."iconv"."~2.2.1" = - self.by-version."iconv"."2.2.1"; - by-version."iconv"."2.2.1" = self.buildNodePackage { - name = "iconv-2.2.1"; - version = "2.2.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/iconv/-/iconv-2.2.1.tgz"; - name = "iconv-2.2.1.tgz"; - sha1 = "39b13fdd98987d26aef26c0a2f2a900911fa4584"; - }; - deps = { - "nan-2.5.1" = self.by-version."nan"."2.5.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."inherits"."~2.0.1" = - self.by-version."inherits"."2.0.3"; - by-version."inherits"."2.0.3" = self.buildNodePackage { - name = "inherits-2.0.3"; - version = "2.0.3"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"; - name = "inherits-2.0.3.tgz"; - sha1 = "633c2c83e3da42a502f52466022480f4208261de"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."irc"."*" = - self.by-version."irc"."0.5.2"; - by-version."irc"."0.5.2" = self.buildNodePackage { - name = "irc-0.5.2"; - version = "0.5.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/irc/-/irc-0.5.2.tgz"; - name = "irc-0.5.2.tgz"; - sha1 = "3714f4768365a96d0b2f776bc91166beb2464bbc"; - }; - deps = { - "irc-colors-1.3.1" = self.by-version."irc-colors"."1.3.1"; - }; - optionalDependencies = { - "iconv-2.2.1" = self.by-version."iconv"."2.2.1"; - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "irc" = self.by-version."irc"."0.5.2"; - by-spec."irc-colors"."^1.1.0" = - self.by-version."irc-colors"."1.3.1"; - by-version."irc-colors"."1.3.1" = self.buildNodePackage { - name = "irc-colors-1.3.1"; - version = "1.3.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/irc-colors/-/irc-colors-1.3.1.tgz"; - name = "irc-colors-1.3.1.tgz"; - sha1 = "a6fccee5d9ecdc010c2b1cde3fbdff1f7134aff6"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."is-my-json-valid"."^2.12.4" = - self.by-version."is-my-json-valid"."2.15.0"; - by-version."is-my-json-valid"."2.15.0" = self.buildNodePackage { - name = "is-my-json-valid-2.15.0"; - version = "2.15.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz"; - name = "is-my-json-valid-2.15.0.tgz"; - sha1 = "936edda3ca3c211fd98f3b2d3e08da43f7b2915b"; - }; - deps = { - "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0"; - "generate-object-property-1.2.0" = self.by-version."generate-object-property"."1.2.0"; - "jsonpointer-4.0.1" = self.by-version."jsonpointer"."4.0.1"; - "xtend-4.0.1" = self.by-version."xtend"."4.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."is-property"."^1.0.0" = - self.by-version."is-property"."1.0.2"; - by-version."is-property"."1.0.2" = self.buildNodePackage { - name = "is-property-1.0.2"; - version = "1.0.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"; - name = "is-property-1.0.2.tgz"; - sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."is-typedarray"."~1.0.0" = - self.by-version."is-typedarray"."1.0.0"; - by-version."is-typedarray"."1.0.0" = self.buildNodePackage { - name = "is-typedarray-1.0.0"; - version = "1.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"; - name = "is-typedarray-1.0.0.tgz"; - sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."isarray"."~1.0.0" = - self.by-version."isarray"."1.0.0"; - by-version."isarray"."1.0.0" = self.buildNodePackage { - name = "isarray-1.0.0"; - version = "1.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"; - name = "isarray-1.0.0.tgz"; - sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."isstream"."~0.1.2" = - self.by-version."isstream"."0.1.2"; - by-version."isstream"."0.1.2" = self.buildNodePackage { - name = "isstream-0.1.2"; - version = "0.1.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"; - name = "isstream-0.1.2.tgz"; - sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."jodid25519"."^1.0.0" = - self.by-version."jodid25519"."1.0.2"; - by-version."jodid25519"."1.0.2" = self.buildNodePackage { - name = "jodid25519-1.0.2"; - version = "1.0.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz"; - name = "jodid25519-1.0.2.tgz"; - sha1 = "06d4912255093419477d425633606e0e90782967"; - }; - deps = { - "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."jsbn"."~0.1.0" = - self.by-version."jsbn"."0.1.0"; - by-version."jsbn"."0.1.0" = self.buildNodePackage { - name = "jsbn-0.1.0"; - version = "0.1.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz"; - name = "jsbn-0.1.0.tgz"; - sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."json-schema"."0.2.3" = - self.by-version."json-schema"."0.2.3"; - by-version."json-schema"."0.2.3" = self.buildNodePackage { - name = "json-schema-0.2.3"; - version = "0.2.3"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"; - name = "json-schema-0.2.3.tgz"; - sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."json-stringify-safe"."~5.0.1" = - self.by-version."json-stringify-safe"."5.0.1"; - by-version."json-stringify-safe"."5.0.1" = self.buildNodePackage { - name = "json-stringify-safe-5.0.1"; - version = "5.0.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; - name = "json-stringify-safe-5.0.1.tgz"; - sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."jsonify"."~0.0.0" = - self.by-version."jsonify"."0.0.0"; - by-version."jsonify"."0.0.0" = self.buildNodePackage { - name = "jsonify-0.0.0"; - version = "0.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"; - name = "jsonify-0.0.0.tgz"; - sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."jsonpointer"."^4.0.0" = - self.by-version."jsonpointer"."4.0.1"; - by-version."jsonpointer"."4.0.1" = self.buildNodePackage { - name = "jsonpointer-4.0.1"; - version = "4.0.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz"; - name = "jsonpointer-4.0.1.tgz"; - sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."jsprim"."^1.2.2" = - self.by-version."jsprim"."1.3.1"; - by-version."jsprim"."1.3.1" = self.buildNodePackage { - name = "jsprim-1.3.1"; - version = "1.3.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz"; - name = "jsprim-1.3.1.tgz"; - sha1 = "2a7256f70412a29ee3670aaca625994c4dcff252"; - }; - deps = { - "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2"; - "json-schema-0.2.3" = self.by-version."json-schema"."0.2.3"; - "verror-1.3.6" = self.by-version."verror"."1.3.6"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."lodash.assign"."^4.2.0" = - self.by-version."lodash.assign"."4.2.0"; - by-version."lodash.assign"."4.2.0" = self.buildNodePackage { - name = "lodash.assign-4.2.0"; - version = "4.2.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz"; - name = "lodash.assign-4.2.0.tgz"; - sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."lodash.get"."^4.4.2" = - self.by-version."lodash.get"."4.4.2"; - by-version."lodash.get"."4.4.2" = self.buildNodePackage { - name = "lodash.get-4.4.2"; - version = "4.4.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz"; - name = "lodash.get-4.4.2.tgz"; - sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."lodash.has"."^4.5.2" = - self.by-version."lodash.has"."4.5.2"; - by-version."lodash.has"."4.5.2" = self.buildNodePackage { - name = "lodash.has-4.5.2"; - version = "4.5.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz"; - name = "lodash.has-4.5.2.tgz"; - sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."lodash.uniq"."^4.5.0" = - self.by-version."lodash.uniq"."4.5.0"; - by-version."lodash.uniq"."4.5.0" = self.buildNodePackage { - name = "lodash.uniq-4.5.0"; - version = "4.5.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"; - name = "lodash.uniq-4.5.0.tgz"; - sha1 = "d0225373aeb652adc1bc82e4945339a842754773"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."mime-db"."~1.26.0" = - self.by-version."mime-db"."1.26.0"; - by-version."mime-db"."1.26.0" = self.buildNodePackage { - name = "mime-db-1.26.0"; - version = "1.26.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz"; - name = "mime-db-1.26.0.tgz"; - sha1 = "eaffcd0e4fc6935cf8134da246e2e6c35305adff"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."mime-types"."^2.1.12" = - self.by-version."mime-types"."2.1.14"; - by-version."mime-types"."2.1.14" = self.buildNodePackage { - name = "mime-types-2.1.14"; - version = "2.1.14"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz"; - name = "mime-types-2.1.14.tgz"; - sha1 = "f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"; - }; - deps = { - "mime-db-1.26.0" = self.by-version."mime-db"."1.26.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."mime-types"."~2.1.7" = - self.by-version."mime-types"."2.1.14"; - by-spec."nan"."^2.3.3" = - self.by-version."nan"."2.5.1"; - by-version."nan"."2.5.1" = self.buildNodePackage { - name = "nan-2.5.1"; - version = "2.5.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz"; - name = "nan-2.5.1.tgz"; - sha1 = "d5b01691253326a97a2bbee9e61c55d8d60351e2"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."nan"."^2.3.5" = - self.by-version."nan"."2.5.1"; - by-spec."oauth-sign"."~0.8.1" = - self.by-version."oauth-sign"."0.8.2"; - by-version."oauth-sign"."0.8.2" = self.buildNodePackage { - name = "oauth-sign-0.8.2"; - version = "0.8.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz"; - name = "oauth-sign-0.8.2.tgz"; - sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."pinkie"."^2.0.0" = - self.by-version."pinkie"."2.0.4"; - by-version."pinkie"."2.0.4" = self.buildNodePackage { - name = "pinkie-2.0.4"; - version = "2.0.4"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"; - name = "pinkie-2.0.4.tgz"; - sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."pinkie-promise"."^2.0.0" = - self.by-version."pinkie-promise"."2.0.1"; - by-version."pinkie-promise"."2.0.1" = self.buildNodePackage { - name = "pinkie-promise-2.0.1"; - version = "2.0.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; - name = "pinkie-promise-2.0.1.tgz"; - sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; - }; - deps = { - "pinkie-2.0.4" = self.by-version."pinkie"."2.0.4"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."process-nextick-args"."~1.0.6" = - self.by-version."process-nextick-args"."1.0.7"; - by-version."process-nextick-args"."1.0.7" = self.buildNodePackage { - name = "process-nextick-args-1.0.7"; - version = "1.0.7"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"; - name = "process-nextick-args-1.0.7.tgz"; - sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."punycode"."^1.4.1" = - self.by-version."punycode"."1.4.1"; - by-version."punycode"."1.4.1" = self.buildNodePackage { - name = "punycode-1.4.1"; - version = "1.4.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"; - name = "punycode-1.4.1.tgz"; - sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."qs"."~6.3.0" = - self.by-version."qs"."6.3.0"; - by-version."qs"."6.3.0" = self.buildNodePackage { - name = "qs-6.3.0"; - version = "6.3.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz"; - name = "qs-6.3.0.tgz"; - sha1 = "f403b264f23bc01228c74131b407f18d5ea5d442"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."readable-stream"."^2.2.2" = - self.by-version."readable-stream"."2.2.2"; - by-version."readable-stream"."2.2.2" = self.buildNodePackage { - name = "readable-stream-2.2.2"; - version = "2.2.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"; - name = "readable-stream-2.2.2.tgz"; - sha1 = "a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"; - }; - deps = { - "buffer-shims-1.0.0" = self.by-version."buffer-shims"."1.0.0"; - "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2"; - "isarray-1.0.0" = self.by-version."isarray"."1.0.0"; - "inherits-2.0.3" = self.by-version."inherits"."2.0.3"; - "process-nextick-args-1.0.7" = self.by-version."process-nextick-args"."1.0.7"; - "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31"; - "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."request"."*" = - self.by-version."request"."2.79.0"; - by-version."request"."2.79.0" = self.buildNodePackage { - name = "request-2.79.0"; - version = "2.79.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/request/-/request-2.79.0.tgz"; - name = "request-2.79.0.tgz"; - sha1 = "4dfe5bf6be8b8cdc37fcf93e04b65577722710de"; - }; - deps = { - "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0"; - "aws4-1.5.0" = self.by-version."aws4"."1.5.0"; - "caseless-0.11.0" = self.by-version."caseless"."0.11.0"; - "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5"; - "extend-3.0.0" = self.by-version."extend"."3.0.0"; - "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1"; - "form-data-2.1.2" = self.by-version."form-data"."2.1.2"; - "har-validator-2.0.6" = self.by-version."har-validator"."2.0.6"; - "hawk-3.1.3" = self.by-version."hawk"."3.1.3"; - "http-signature-1.1.1" = self.by-version."http-signature"."1.1.1"; - "is-typedarray-1.0.0" = self.by-version."is-typedarray"."1.0.0"; - "isstream-0.1.2" = self.by-version."isstream"."0.1.2"; - "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1"; - "mime-types-2.1.14" = self.by-version."mime-types"."2.1.14"; - "oauth-sign-0.8.2" = self.by-version."oauth-sign"."0.8.2"; - "qs-6.3.0" = self.by-version."qs"."6.3.0"; - "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5"; - "tough-cookie-2.3.2" = self.by-version."tough-cookie"."2.3.2"; - "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3"; - "uuid-3.0.1" = self.by-version."uuid"."3.0.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "request" = self.by-version."request"."2.79.0"; - by-spec."sax"."^1.2.1" = - self.by-version."sax"."1.2.1"; - by-version."sax"."1.2.1" = self.buildNodePackage { - name = "sax-1.2.1"; - version = "1.2.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz"; - name = "sax-1.2.1.tgz"; - sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."shell-quote"."*" = - self.by-version."shell-quote"."1.6.1"; - by-version."shell-quote"."1.6.1" = self.buildNodePackage { - name = "shell-quote-1.6.1"; - version = "1.6.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz"; - name = "shell-quote-1.6.1.tgz"; - sha1 = "f4781949cce402697127430ea3b3c5476f481767"; - }; - deps = { - "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0"; - "array-filter-0.0.1" = self.by-version."array-filter"."0.0.1"; - "array-reduce-0.0.0" = self.by-version."array-reduce"."0.0.0"; - "array-map-0.0.0" = self.by-version."array-map"."0.0.0"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - "shell-quote" = self.by-version."shell-quote"."1.6.1"; - by-spec."sntp"."1.x.x" = - self.by-version."sntp"."1.0.9"; - by-version."sntp"."1.0.9" = self.buildNodePackage { - name = "sntp-1.0.9"; - version = "1.0.9"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"; - name = "sntp-1.0.9.tgz"; - sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198"; - }; - deps = { - "hoek-2.16.3" = self.by-version."hoek"."2.16.3"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."sshpk"."^1.7.0" = - self.by-version."sshpk"."1.10.2"; - by-version."sshpk"."1.10.2" = self.buildNodePackage { - name = "sshpk-1.10.2"; - version = "1.10.2"; - bin = true; - src = fetchurl { - url = "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz"; - name = "sshpk-1.10.2.tgz"; - sha1 = "d5a804ce22695515638e798dbe23273de070a5fa"; - }; - deps = { - "asn1-0.2.3" = self.by-version."asn1"."0.2.3"; - "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0"; - "dashdash-1.14.1" = self.by-version."dashdash"."1.14.1"; - "getpass-0.1.6" = self.by-version."getpass"."0.1.6"; - }; - optionalDependencies = { - "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0"; - "tweetnacl-0.14.5" = self.by-version."tweetnacl"."0.14.5"; - "jodid25519-1.0.2" = self.by-version."jodid25519"."1.0.2"; - "ecc-jsbn-0.1.1" = self.by-version."ecc-jsbn"."0.1.1"; - "bcrypt-pbkdf-1.0.1" = self.by-version."bcrypt-pbkdf"."1.0.1"; - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."string_decoder"."~0.10.x" = - self.by-version."string_decoder"."0.10.31"; - by-version."string_decoder"."0.10.31" = self.buildNodePackage { - name = "string_decoder-0.10.31"; - version = "0.10.31"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"; - name = "string_decoder-0.10.31.tgz"; - sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."stringstream"."~0.0.4" = - self.by-version."stringstream"."0.0.5"; - by-version."stringstream"."0.0.5" = self.buildNodePackage { - name = "stringstream-0.0.5"; - version = "0.0.5"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz"; - name = "stringstream-0.0.5.tgz"; - sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."strip-ansi"."^3.0.0" = - self.by-version."strip-ansi"."3.0.1"; - by-version."strip-ansi"."3.0.1" = self.buildNodePackage { - name = "strip-ansi-3.0.1"; - version = "3.0.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"; - name = "strip-ansi-3.0.1.tgz"; - sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; - }; - deps = { - "ansi-regex-2.1.1" = self.by-version."ansi-regex"."2.1.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."supports-color"."^2.0.0" = - self.by-version."supports-color"."2.0.0"; - by-version."supports-color"."2.0.0" = self.buildNodePackage { - name = "supports-color-2.0.0"; - version = "2.0.0"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"; - name = "supports-color-2.0.0.tgz"; - sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."tough-cookie"."~2.3.0" = - self.by-version."tough-cookie"."2.3.2"; - by-version."tough-cookie"."2.3.2" = self.buildNodePackage { - name = "tough-cookie-2.3.2"; - version = "2.3.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz"; - name = "tough-cookie-2.3.2.tgz"; - sha1 = "f081f76e4c85720e6c37a5faced737150d84072a"; - }; - deps = { - "punycode-1.4.1" = self.by-version."punycode"."1.4.1"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."tunnel-agent"."~0.4.1" = - self.by-version."tunnel-agent"."0.4.3"; - by-version."tunnel-agent"."0.4.3" = self.buildNodePackage { - name = "tunnel-agent-0.4.3"; - version = "0.4.3"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"; - name = "tunnel-agent-0.4.3.tgz"; - sha1 = "6373db76909fe570e08d73583365ed828a74eeeb"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."tweetnacl"."^0.14.3" = - self.by-version."tweetnacl"."0.14.5"; - by-version."tweetnacl"."0.14.5" = self.buildNodePackage { - name = "tweetnacl-0.14.5"; - version = "0.14.5"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"; - name = "tweetnacl-0.14.5.tgz"; - sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."tweetnacl"."~0.14.0" = - self.by-version."tweetnacl"."0.14.5"; - by-spec."util-deprecate"."~1.0.1" = - self.by-version."util-deprecate"."1.0.2"; - by-version."util-deprecate"."1.0.2" = self.buildNodePackage { - name = "util-deprecate-1.0.2"; - version = "1.0.2"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; - name = "util-deprecate-1.0.2.tgz"; - sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."uuid"."^3.0.0" = - self.by-version."uuid"."3.0.1"; - by-version."uuid"."3.0.1" = self.buildNodePackage { - name = "uuid-3.0.1"; - version = "3.0.1"; - bin = true; - src = fetchurl { - url = "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz"; - name = "uuid-3.0.1.tgz"; - sha1 = "6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."verror"."1.3.6" = - self.by-version."verror"."1.3.6"; - by-version."verror"."1.3.6" = self.buildNodePackage { - name = "verror-1.3.6"; - version = "1.3.6"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"; - name = "verror-1.3.6.tgz"; - sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c"; - }; - deps = { - "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2"; - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; - by-spec."xtend"."^4.0.0" = - self.by-version."xtend"."4.0.1"; - by-version."xtend"."4.0.1" = self.buildNodePackage { - name = "xtend-4.0.1"; - version = "4.0.1"; - bin = false; - src = fetchurl { - url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"; - name = "xtend-4.0.1.tgz"; - sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; - }; - deps = { - }; - optionalDependencies = { - }; - peerDependencies = []; - os = [ ]; - cpu = [ ]; - }; -} diff --git a/krebs/5pkgs/noVNC/default.nix b/krebs/5pkgs/noVNC/default.nix deleted file mode 100644 index 45c3afb3a..000000000 --- a/krebs/5pkgs/noVNC/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ fetchgit, lib, stdenv, ... }: -with builtins; -with lib; -stdenv.mkDerivation rec { - name = "${baseNameOf src.name}-${removePrefix "refs/tags/v" src.rev}"; - - src = fetchgit { - url = https://github.com/kanaka/noVNC; - rev = "refs/tags/v0.5.1"; - sha256 = "1vckvvfcawgfqmx415r5rnl6k2alx53jbqmsj49kxpbdvvxpb49d"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - installPhase = '' - cp -R . $out - ''; -} diff --git a/krebs/5pkgs/painload/default.nix b/krebs/5pkgs/painload/default.nix deleted file mode 100644 index 136ec4394..000000000 --- a/krebs/5pkgs/painload/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ fetchgit, ... }: - -fetchgit { - url = https://github.com/krebscode/painload; - rev = "c113487f73713a03b1a139b22bb34b86234d0495"; - sha256 = "1irxklnmvm8wsa70ypjahkr8rfqq7357vcy8r0x1sfncs1hy6gr6"; -} diff --git a/krebs/5pkgs/passwdqc-utils/default.nix b/krebs/5pkgs/passwdqc-utils/default.nix deleted file mode 100644 index 53e7f5482..000000000 --- a/krebs/5pkgs/passwdqc-utils/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ stdenv, pam, - fetchurl, lib, - wordset-file ? null, # set your own wordset-file - ... }: - -stdenv.mkDerivation rec { - name = "passwdqc-utils-${version}"; - version = "1.3.0"; - buildInputs = [ pam ]; - - src = fetchurl { - url = "http://www.openwall.com/passwdqc/passwdqc-${version}.tar.gz"; - sha256 = "0l3zbrp4pvah0dz33m48aqlz9nx663cc1fqhnlwr0p853b10la93"; - }; - - buildTargets = "utils"; - installFlags= [ "BINDIR=$(out)/bin" - "CONFDIR=$(out)/etc" - "SHARED_LIBDIR=$(out)/lib" - "DEVEL_LIBDIR=$(out)/lib" - "SECUREDIR=$(out)/lib/security" - "INCLUDEDIR=$(out)/include" - "MANDIR=$(out)/man" ]; - - patchPhase = lib.optionalString (wordset-file != null) '' - cp -f ${wordset-file} wordset_4k.c - ''; - - installTargets = "install_lib install_utils"; - - meta = { - description = "passwdqc utils (pwqgen,pwqcheck) and library"; - license = stdenv.lib.licenses.bsd3; - maintainers = [ stdenv.lib.maintainers.makefu ]; - patforms = stdenv.lib.platforms.linux; # more installFlags must be set for Darwin,Solaris - }; -} diff --git a/krebs/5pkgs/populate/default.nix b/krebs/5pkgs/populate/default.nix deleted file mode 100644 index 3ec432229..000000000 --- a/krebs/5pkgs/populate/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ coreutils, fetchgit, git, jq, openssh, proot, rsync, stdenv, ... }: - -let - PATH = stdenv.lib.makeBinPath [ - coreutils - git - jq - openssh - proot - rsync - ]; -in - -stdenv.mkDerivation rec { - name = "populate"; - version = "1.2.0"; - - src = fetchgit { - url = http://cgit.ni.krebsco.de/populate; - rev = "refs/tags/v${version}"; - sha256 = "0q3110hkkxn9bc3a63xbx1hyd1fpzz4wrck4lng3j5a9i1y1jm07"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - installPhase = '' - sed \ - '1s,.*,&\nPATH=${PATH},' \ - -i bin/populate - - cp -r . $out - ''; -} diff --git a/krebs/5pkgs/posix-array/default.nix b/krebs/5pkgs/posix-array/default.nix deleted file mode 100644 index cfcdb29a7..000000000 --- a/krebs/5pkgs/posix-array/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ fetchgit, lib, stdenv, ... }: - -stdenv.mkDerivation rec { - name = "posix-array-${version}"; - version = "1.0.0"; - - src = fetchgit { - url = https://github.com/makefu/array.git; - rev = "refs/tags/${version}"; - sha256 = "0yzwlhdg1rgc4p64ny7gj30l7z6vikhskhppsa2qj7s9gm2gz938"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - installPhase = '' - mkdir -p $out/bin - cp -a ./array $out/bin - ''; - - meta = { - description = "POSIX-compliant array implementation"; - url = https://github.com/makefu/array; - license = lib.licenses.wtfpl; - platforms = lib.platforms.unix; - maintainers = with lib.maintainers; [ makefu ]; - }; -} diff --git a/krebs/5pkgs/pssh/default.nix b/krebs/5pkgs/pssh/default.nix deleted file mode 100644 index 2676af0cf..000000000 --- a/krebs/5pkgs/pssh/default.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ writeDashBin }: - -writeDashBin "pssh" '' - set -efu - case ''${1-} in - - # TODO create plog with -o json | jq ... | map date - - # usage: pssh {-j,--journal} host... - # Follow journal at each host. - -j|--journal) - shift - "$0" journalctl -n0 -ocat --follow --all ::: "$@" \ - | while read line; do - printf '%s %s\n' "$(date --rfc-3339=s)" "$line" - done - ;; - - -*) - echo $0: unknown option: $1 >&2 - exit 1 - ;; - - # usage: pssh command [arg...] ::: host... - # Run command at each host. - *) - exec parallel \ - --line-buffer \ - -j0 \ - --no-notice \ - --tagstring {} \ - ssh -T {} "$@" - ;; - - esac -'' diff --git a/krebs/5pkgs/push/default.nix b/krebs/5pkgs/push/default.nix deleted file mode 100644 index 2e0291aac..000000000 --- a/krebs/5pkgs/push/default.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ fetchgit, lib, stdenv -, coreutils -, git -, gnumake -, gnused -, jq -, nix -, openssh -, parallel -, ... }: - -stdenv.mkDerivation { - name = "push-1.1.2"; - - src = fetchgit { - url = http://cgit.ni.krebsco.de/push; - rev = "da5b3a4b05ef822cc41d36b6cc2071a2e78506d4"; - sha256 = "0gfxz207lm11g77rw02jcqpvzhx07j9hzgjgscbmslzl5r8icd6g"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - installPhase = - let - path = lib.makeBinPath [ - coreutils - git - gnumake - gnused - jq - nix - openssh - parallel - ]; - in - '' - mkdir -p $out/bin - - sed \ - '1s,.*,&\nPATH=${path},' \ - < ./push \ - > $out/bin/push - - chmod +x $out/bin/push - ''; -} diff --git a/krebs/5pkgs/realwallpaper/default.nix b/krebs/5pkgs/realwallpaper/default.nix deleted file mode 100644 index 15cc277a5..000000000 --- a/krebs/5pkgs/realwallpaper/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ stdenv, fetchgit, xplanet, imagemagick, curl, file }: - -stdenv.mkDerivation { - name = "realwallpaper"; - - src = fetchgit { - url = https://github.com/Lassulus/realwallpaper; - rev = "e0563289c2ab592b669ce4549fc40130246e9d79"; - sha256 = "1zgk8ips2d686216h203w62wrw7zy9z0lrndx9f8z6f1vpvjcmqc"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - buildInputs = [ - ]; - - installPhase = '' - mkdir -p $out - cp realwallpaper.sh $out/realwallpaper.sh - ''; -} diff --git a/krebs/5pkgs/repo-sync/default.nix b/krebs/5pkgs/repo-sync/default.nix deleted file mode 100644 index 7cba87b09..000000000 --- a/krebs/5pkgs/repo-sync/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ lib, pkgs, python3Packages, fetchurl, ... }: - -with python3Packages; buildPythonPackage rec { - name = "repo-sync-${version}"; - version = "0.2.6"; - disabled = isPy26 || isPy27; - propagatedBuildInputs = [ - docopt - GitPython - pkgs.git - ]; - src = fetchurl { - url = "https://pypi.python.org/packages/source/r/repo-sync/repo-sync-${version}.tar.gz"; - sha256 = "1hqa9qw9qg7mxgniqzys9szycs05llg4yik8a9wz94a437zzarsk"; - }; - meta = { - homepage = http://github.com/makefu/repo-sync; - description = "Sync remotes to other remotes."; - license = lib.licenses.mit; - }; -} diff --git a/krebs/5pkgs/retiolum-bootstrap/default.nix b/krebs/5pkgs/retiolum-bootstrap/default.nix deleted file mode 100644 index 331b1cb7f..000000000 --- a/krebs/5pkgs/retiolum-bootstrap/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv,lib,fetchurl, ... }: -with lib; -stdenv.mkDerivation rec { - name = "retiolum-bootstrap"; - version = "4.2.3"; - - - src = fetchurl { - url = https://raw.githubusercontent.com/krebscode/painload/master/retiolum/scripts/tinc_setup/new_install.sh; - sha256 = "03kmil8q2xm3rdm2jxyah7vww84pw6w01d0c3siid9zpn2j7la9s"; - }; - - phases = [ - "installPhase" - ]; - - installPhase = '' - mkdir -p "$out" - cp -a ${src} $out/retiolum.sh - ''; - - meta = { - description = "Retiolum boostrap scripts"; - url = https://github.com/krebscode/painload; - license = licenses.wtfpl; - platforms = platforms.unix; - maintainers = with maintainers; [ makefu ]; - }; -} diff --git a/krebs/5pkgs/rutorrent/default.nix b/krebs/5pkgs/rutorrent/default.nix deleted file mode 100644 index 1084e7ce7..000000000 --- a/krebs/5pkgs/rutorrent/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: -pkgs.stdenv.mkDerivation { - name = "rutorrent-src_2016-12-09"; - src = pkgs.fetchFromGitHub { - owner = "Novik"; - repo = "rutorrent"; - rev = "580bba8c538b55c1f75f3ad65310ff4ff2a153f7"; - sha256 = "1d9lgrzipy58dnx88z393p152kx6lki0x4aw40k8w9awsci4cx7p"; - }; - - phases = [ "installPhase" ]; - installPhase = '' - cp -r $src $out - ''; -} diff --git a/krebs/5pkgs/simple/Reaktor/default.nix b/krebs/5pkgs/simple/Reaktor/default.nix new file mode 100644 index 000000000..fc3710820 --- /dev/null +++ b/krebs/5pkgs/simple/Reaktor/default.nix @@ -0,0 +1,22 @@ +{ lib, pkgs,python3Packages,fetchurl, ... }: + +python3Packages.buildPythonPackage rec { + name = "Reaktor-${version}"; + version = "0.5.1"; + + doCheck = false; + + propagatedBuildInputs = with pkgs;[ + python3Packages.docopt + python3Packages.requests2 + ]; + src = fetchurl { + url = "https://pypi.python.org/packages/source/R/Reaktor/Reaktor-${version}.tar.gz"; + sha256 = "0dn9r0cyxi1sji2pnybsrc4hhaaq7hmf235nlgkrxqlsdb7y6n6n"; + }; + meta = { + homepage = http://krebsco.de/; + description = "An IRC bot based on asynchat"; + license = lib.licenses.wtfpl; + }; +} diff --git a/krebs/5pkgs/simple/Reaktor/plugins.nix b/krebs/5pkgs/simple/Reaktor/plugins.nix new file mode 100644 index 000000000..e85e41cfe --- /dev/null +++ b/krebs/5pkgs/simple/Reaktor/plugins.nix @@ -0,0 +1,131 @@ +{ stdenv, lib, pkgs, makeWrapper }: + +rec { + # Begin API + buildBaseReaktorPlugin = { name + , config # python extra configuration for plugin + , phases ? [] + , ... } @ attrs: + stdenv.mkDerivation (attrs // { + name = "Reaktor-plugin-" + name; + isReaktorPlugin = true; + }); + + buildSimpleReaktorPlugin = name: { script + , path ? [] + , env ? {} + , append_rule ? false # append the rule instead of insert + , pattern ? "" + , ... } @ attrs: + let + path_env = { "PATH" = lib.makeSearchPath "bin" (path ++ [ pkgs.coreutils ]); }; + src_dir = pkgs.substituteAll ( { + inherit name; + dir = "bin"; + isExecutable = true; + src = script; + }); + src_file = "${src_dir}/bin/${name}"; + config = '' + public_commands.${if append_rule then "append(" else "insert(0," }{ + 'capname' : "${name}", + 'pattern' : ${if pattern == "" then + ''indirect_pattern.format("${name}")'' else + ''"${pattern}"'' }, + 'argv' : ["${src_file}"], + 'env' : ${builtins.toJSON (path_env // env)} }) + ''; + config_file = pkgs.writeText "plugin.py" config; + in buildBaseReaktorPlugin (attrs // rec { + inherit name config; + + phases = [ "installPhase" ]; + buildInputs = [ makeWrapper ]; + installPhase = '' + mkdir -p $out/bin $out/etc/Reaktor + ln -s ${src_file} $out/bin + wrapProgram $out/bin/${name} \ + --prefix PATH : ${path_env.PATH} + ln -s ${config_file} $out/etc/Reaktor/plugin.py + ''; + + }); + # End API + + # Begin Plugins + random-emoji = buildSimpleReaktorPlugin "emoji" { + path = with pkgs; [ gnused gnugrep xmlstarlet curl ]; + script = ./scripts/random-emoji.sh; + }; + + sed-plugin = buildSimpleReaktorPlugin "sed-plugin" { + path = [ pkgs.gnused pkgs.python3 ]; + # only support s///gi the plugin needs to see every msg + # TODO: this will eat up the last regex, fix Reaktor to support fallthru + append_rule = true; + pattern = "^(?P.*)$$"; + script = ./scripts/sed-plugin.py; + }; + + shack-correct = buildSimpleReaktorPlugin "shack-correct" { + path = [ pkgs.gnused ]; + pattern = "^(?P.*Shack.*)$$"; + script = ./scripts/shack-correct.sh; + }; + + nixos-version = buildSimpleReaktorPlugin "nixos-version" { + script = pkgs.writeDash "nixos-version" '' + . /etc/os-release + echo "$PRETTY_NAME" + ''; + }; + stockholm-issue = buildSimpleReaktorPlugin "stockholm-issue" { + script = ./scripts/random-issue.sh; + path = with pkgs; [ git gnused haskellPackages.lentil ]; + env = { "origin" = "http://cgit.gum/stockholm"; }; + }; + + titlebot = + let + pypkgs = pkgs.python3Packages; + titlebot_cmds = pypkgs.buildPythonPackage { + name = "titlebot_cmds"; + propagatedBuildInputs = with pypkgs; [ setuptools ]; + src = pkgs.fetchurl { + url = "https://github.com/makefu/reaktor-titlebot/archive/2.1.0.tar.gz"; + sha256 = "0wvf09wmk8b52f9j65qrw81nwrhs9pfhijwrlkzp5l7l2q8cjkp6"; + }; + }; + in buildBaseReaktorPlugin rec { + name = "titlebot"; + phases = [ "installPhase" ]; + installPhase = '' + mkdir -p $out + ln -s ${titlebot_cmds}/* $out + ''; + config = '' + def titlebot_cmd(cmd): + from os import environ + return { 'capname': None, + 'env': { 'TITLEDB': + environ['state_dir']+'/suggestions.json' }, + 'pattern': '^\\.' + cmd + '\\s*(?:\\s+(?P.*))?$$', + 'argv': [ '${titlebot_cmds}/bin/' + cmd ] } + for i in ['up','help','list','top','new']: + public_commands.insert(0,titlebot_cmd(i)) + commands.insert(0,titlebot_cmd('clear')) + ''; + }; + + url-title = (buildSimpleReaktorPlugin "url-title" { + pattern = "^.*(?Phttp[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+).*$$"; + path = with pkgs; [ curl perl ]; + script = pkgs.writeDash "lambda-pl" '' + if [ "$#" -gt 0 ]; then + curl -SsL --max-time 5 "$1" | + perl -l -0777 -ne 'print $1 if /\s*(.*?)(?: - youtube)?\s*<\/title/si' + fi + ''; + }); + +} diff --git a/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh b/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh new file mode 100644 index 000000000..386aa68b9 --- /dev/null +++ b/krebs/5pkgs/simple/Reaktor/scripts/random-emoji.sh @@ -0,0 +1,6 @@ +#!/bin/sh +curl http://emojicons.com/random -s | \ + grep data-text | \ + sed -n 's/.*>\(.*\)<\/textarea>/\1/p' | \ + head -n 1 | \ + xmlstarlet unesc diff --git a/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh b/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh new file mode 100644 index 000000000..5c47c6156 --- /dev/null +++ b/krebs/5pkgs/simple/Reaktor/scripts/random-issue.sh @@ -0,0 +1,20 @@ +#! /bin/sh +set -eu +# requires env: +# $state_dir +# $origin + +# in PATH: git,lentil,coreutils +subdir=`echo "$1" | tr -dc "[:alnum:]"` +name=`echo "$origin" | tr -dc "[:alnum:]"` +track="$state_dir/$name-checkout" +(if test -e "$track" ;then + cd "$track" + git fetch origin master + git reset --hard origin/master +else + git clone "$origin" "$track" +fi) >&2 + +cd "$track" +lentil "${subdir:-.}" -f csv | sed 1d | shuf | head -1 diff --git a/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py new file mode 100644 index 000000000..da8e2f726 --- /dev/null +++ b/krebs/5pkgs/simple/Reaktor/scripts/sed-plugin.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 + +# Usage: +# _from=krebs state_dir=. python sed-plugin.py 'dick butt' +# _from=krebs state_dir=. python sed-plugin.py 's/t/l/g' +# > dick bull +import shelve +from os import environ +from os.path import join +from sys import argv +import re + +d = shelve.open(join(environ['state_dir'], 'sed-plugin.shelve'), writeback=True) +usr = environ['_from'] + + +def is_regex(line): + myre = re.compile(r'^s/(?:\\/|[^/])+/(?:\\/|[^/])*/[ig]?$') + return myre.match(line) + +line = argv[1] + +if is_regex(line): + last = d.get(usr, None) + if last: + from subprocess import Popen, PIPE + p = Popen(['sed', line], stdin=PIPE, stdout=PIPE) + so, se = p.communicate(bytes("{}\n".format(last), "UTF-8")) + if p.returncode: + print("something went wrong when trying to process your regex: {}".format(se.decode())) + ret = so.decode() + print("\x1b[1m{}\x1b[0m meant: {}".format(usr, ret.strip())) + if ret: + d[usr] = ret + + else: + print("no last message") +else: + d[usr] = line + +d.close() diff --git a/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh b/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh new file mode 100644 index 000000000..3b4d04f80 --- /dev/null +++ b/krebs/5pkgs/simple/Reaktor/scripts/shack-correct.sh @@ -0,0 +1,6 @@ +#! /bin/sh +set -eu +printf "Sie meinten wohl \"" +echo -n $@ | sed 's/Shack/shack/g' +echo "\"" +echo "${_from}--" diff --git a/krebs/5pkgs/simple/apt-cacher-ng/default.nix b/krebs/5pkgs/simple/apt-cacher-ng/default.nix new file mode 100644 index 000000000..e3986713b --- /dev/null +++ b/krebs/5pkgs/simple/apt-cacher-ng/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, cmake, doxygen, zlib, openssl, bzip2, pkgconfig, libpthreadstubs }: + +stdenv.mkDerivation rec { + name = "apt-cacher-ng-${version}"; + version = "2"; + + src = fetchurl { + url = "http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/apt-cacher-ng_${version}.orig.tar.xz"; + sha256 = "0bkc3012vinridl5ch46pwnxjalymx4wf6nxax64nm7bdkcj9azf"; + }; + + NIX_LDFLAGS = "-lpthread"; + buildInputs = [ doxygen cmake zlib openssl bzip2 pkgconfig libpthreadstubs ]; + + meta = { + description = "A caching proxy specialized for linux distribution files"; + homepage = http://www.unix-ag.uni-kl.de/~bloch/acng/; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.makefu ]; + }; +} diff --git a/krebs/5pkgs/simple/bepasty-client-cli/default.nix b/krebs/5pkgs/simple/bepasty-client-cli/default.nix new file mode 100644 index 000000000..c58e637b3 --- /dev/null +++ b/krebs/5pkgs/simple/bepasty-client-cli/default.nix @@ -0,0 +1,23 @@ +{ lib, pkgs, pythonPackages, fetchFromGitHub, ... }: + +with pythonPackages; buildPythonPackage rec { + name = "bepasty-client-cli"; + propagatedBuildInputs = [ + python_magic + click + requests2 + ]; + + src = fetchFromGitHub { + owner = "bepasty"; + repo = "bepasty-client-cli"; + rev = "4b7135ba8ba1e17501de08ad7b6aca73c0d949d2"; + sha256 = "1svchyk9zai1vip9ppm12jm7wfjbdr9ijhgcd2n10xh73jrn9cnc"; + }; + + meta = { + homepage = https://github.com/bepasty/bepasty-client-cli; + description = "CLI client for bepasty-server"; + license = lib.licenses.bsd2; + }; +} diff --git a/krebs/5pkgs/simple/buildbot/default.nix b/krebs/5pkgs/simple/buildbot/default.nix new file mode 100644 index 000000000..37eea5fd9 --- /dev/null +++ b/krebs/5pkgs/simple/buildbot/default.nix @@ -0,0 +1,82 @@ +{ pkgs, stdenv, pythonPackages, fetchurl, coreutils, plugins ? [] }: + +pythonPackages.buildPythonApplication (rec { + name = "${pname}-${version}"; + pname = "buildbot"; + version = "0.9.4"; + src = fetchurl { + url = "mirror://pypi/b/${pname}/${name}.tar.gz"; + sha256 = "0wklrn4fszac9wi8zw3vbsznwyff6y57cz0i81zvh46skb6n3086"; + }; + doCheck = false; + buildInputs = with pythonPackages; [ + lz4 + txrequests + pyjade + boto3 + moto + txgithub + mock + setuptoolsTrial + isort + pylint + astroid + pyflakes + pyjwt + ]; + + propagatedBuildInputs = with pythonPackages; [ + + # core + twisted + jinja2 + zope_interface + future + sqlalchemy + sqlalchemy_migrate + future + dateutil + txaio + autobahn + + # tls + pyopenssl + service-identity + idna + pkgs.treq + + # docs + sphinx + sphinxcontrib-blockdiag + sphinxcontrib-spelling + pyenchant + docutils + ramlfications + sphinx-jinja + + ] ++ plugins; + + preInstall = '' + # writes out a file that can't be read properly + sed -i.bak -e '69,84d' buildbot/test/unit/test_www_config.py + + # re-hardcode path to tail + sed -i.bak 's|/usr/bin/tail|${coreutils}/bin/tail|' buildbot/scripts/logwatcher.py + ''; + + postFixup = '' + mv -v $out/bin/buildbot $out/bin/.wrapped-buildbot + echo "#!/bin/sh" > $out/bin/buildbot + echo "export PYTHONPATH=$PYTHONPATH" >> $out/bin/buildbot + echo "exec $out/bin/.wrapped-buildbot \"\$@\"" >> $out/bin/buildbot + chmod -c 555 $out/bin/buildbot + ''; + + meta = with stdenv.lib; { + homepage = http://buildbot.net/; + description = "Continuous integration system that automates the build/test cycle"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + platforms = platforms.all; + license = licenses.gpl2; + }; +}) diff --git a/krebs/5pkgs/simple/buildbot/worker.nix b/krebs/5pkgs/simple/buildbot/worker.nix new file mode 100644 index 000000000..34e526858 --- /dev/null +++ b/krebs/5pkgs/simple/buildbot/worker.nix @@ -0,0 +1,24 @@ +{ pkgs, stdenv, fetchurl, pythonPackages }: +pythonPackages.buildPythonApplication (rec { + name = "${pname}-${version}"; + pname = "buildbot-worker"; + version = "0.9.4"; + + doCheck = false; + src = fetchurl { + url = "mirror://pypi/b/${pname}/${name}.tar.gz"; + sha256 = "0rdrr8x7sn2nxl51p6h9ad42s3c28lb6sys84zrg0d7fm4zhv7hj"; + }; + + buildInputs = with pythonPackages; [ setuptoolsTrial mock ]; + propagatedBuildInputs = with pythonPackages; [ twisted future pkgs.treq ]; + + meta = with stdenv.lib; { + homepage = http://buildbot.net/; + description = "Buildbot Worker Daemon"; + maintainers = with maintainers; [ nand0p ryansydnor ]; + platforms = platforms.all; + license = licenses.gpl2; + }; +}) + diff --git a/krebs/5pkgs/simple/cac-api/default.nix b/krebs/5pkgs/simple/cac-api/default.nix new file mode 100644 index 000000000..e2bd8c148 --- /dev/null +++ b/krebs/5pkgs/simple/cac-api/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchgit, bc, cac-cert, coreutils, curl, dash, gnugrep, gnused, inotifyTools, jq, ncurses, openssh, sshpass, ... }: + +stdenv.mkDerivation { + name = "cac-api-1.1.2"; + + src = fetchgit { + url = http://cgit.ni.krebsco.de/cac-api; + rev = "67e93510e7742acae44db30275abbfe671aa9b7b"; + sha256 = "1vxh57j7vrq5sg9j1sam0538kkkhqpgf230vvdz2ifzgkj01z27l"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = '' + mkdir -p $out/bin + { cat <<\EOF + #! ${dash}/bin/dash + export PATH=${stdenv.lib.makeBinPath [ + bc + coreutils + curl + gnugrep + gnused + inotifyTools + jq + ncurses + openssh + sshpass + ]}:"$PATH" + EOF + # [1]: Disable fetching tasks; listtasks is currently broken: + # Unknown column 'iod.apitask.cid' in 'field list' + sed ' + /^\s*tasks \\$/d; # [1] + s|\<_cac_exec curl|<${cac-cert} & --cacert /dev/stdin| + ' cac-api + } > $out/bin/cac-api + chmod +x $out/bin/cac-api + ''; +} diff --git a/krebs/5pkgs/simple/cac-cert/cac.pem b/krebs/5pkgs/simple/cac-cert/cac.pem new file mode 100644 index 000000000..9d02b6bcf --- /dev/null +++ b/krebs/5pkgs/simple/cac-cert/cac.pem @@ -0,0 +1,88 @@ +-----BEGIN CERTIFICATE----- +MIIFWzCCBEOgAwIBAgIQXWIKGWRZf838+wW1zLdK0DANBgkqhkiG9w0BAQsFADCBkDELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlk +YXRpb24gU2VjdXJlIFNlcnZlciBDQTAeFw0xNTEwMjMwMDAwMDBaFw0xODEwMjIyMzU5NTlaMF8x +ITAfBgNVBAsTGERvbWFpbiBDb250cm9sIFZhbGlkYXRlZDEeMBwGA1UECxMVRXNzZW50aWFsU1NM +IFdpbGRjYXJkMRowGAYDVQQDDBEqLmNsb3VkYXRjb3N0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAM9CyL8uUPoE3zYbvnwtUW69h0f+rkND1/Jsi15EEBFPQqiYCmPiSaJLn6JB +Hri34t4lArGrPA6K01x18LJqFoYDy5ya37J8Bd4jF3cijWe/IQEWAw0r2ufhd4LTNMvEyJIECida +LMhBxpORRdijmvEXCf9D0OEGBV3qfizcCH7+VPordCY3y9fwgbk0wAB1lAk29aRosK3gZJceu57Q +YkEKjee6pZ473+xpCjaeTBUlPuGA95A2jPf8c+QSPegczOd9Hwo4JqAJSjTzzuHiSbEhd+8JIC/P +6GYVOvwnNqCPuuXsoBy8xBQ8lHuZcWd5sh4MDRvm5YxVFhYN6kOgf1ECAwEAAaOCAd8wggHbMB8G +A1UdIwQYMBaAFJCvajqUWgvYkOoSVnPfQ7Q6KNrnMB0GA1UdDgQWBBSC9dSGoIEPHBTUQJjOxxPg +lhRLPDAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAdBgNVHSUEFjAUBggrBgEFBQcDAQYI +KwYBBQUHAwIwTwYDVR0gBEgwRjA6BgsrBgEEAbIxAQICBzArMCkGCCsGAQUFBwIBFh1odHRwczov +L3NlY3VyZS5jb21vZG8uY29tL0NQUzAIBgZngQwBAgEwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDov +L2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNB +LmNybDCBhQYIKwYBBQUHAQEEeTB3ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LmNvbW9kb2NhLmNv +bS9DT01PRE9SU0FEb21haW5WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0MCQGCCsGAQUFBzAB +hhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wLQYDVR0RBCYwJIIRKi5jbG91ZGF0Y29zdC5jb22C +D2Nsb3VkYXRjb3N0LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAPfUXBGDYOQnJuykm8I9cB2rBFVvt +HgzKIM+SXRz/jRt4HN/fsQkq2mI8SUPigWbtrtL1yim0hHdTR4m6vn7eHqj8erjjEJy16OfyRwp8 +LfjjHvcPxAxiRcFdv+8Pu/o0umqtxmRn4enyAZWhqAp3TBjkJPkJgh/toJqGpE7dN1Jw1AF75rrA +DXS8J5fcJYZQydJce+kacMHLh4C0Q37NgZKPfM+9jsygqY3Fhqh5GIt/CXNx2vlDPQP87QEtK7y7 +dCGd/MwrdKkUvOpsmqWiO1+02DesZSdIow/YW+8cUhPvYMqpM9zKbqVdRj3FJK56+/xNfNX5tiU1 +1VE7rIcEbw== +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIGCDCCA/CgAwIBAgIQKy5u6tl1NmwUim7bo3yMBzANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTQwMjEyMDAwMDAwWhcNMjkwMjExMjM1OTU5WjCBkDELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNVBAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlkYXRp +b24gU2VjdXJlIFNlcnZlciBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI7CAhnh +oFmk6zg1jSz9AdDTScBkxwtiBUUWOqigwAwCfx3M28ShbXcDow+G+eMGnD4LgYqbSRutA776S9uM +IO3Vzl5ljj4Nr0zCsLdFXlIvNN5IJGS0Qa4Al/e+Z96e0HqnU4A7fK31llVvl0cKfIWLIpeNs4Tg +llfQcBhglo/uLQeTnaG6ytHNe+nEKpooIZFNb5JPJaXyejXdJtxGpdCsWTWM/06RQ1A/WZMebFEh +7lgUq/51UHg+TLAchhP6a5i84DuUHoVS3AOTJBhuyydRReZw3iVDpA3hSqXttn7IzW3uLh0nc13c +RTCAquOyQQuvvUSH2rnlG51/ruWFgqUCAwEAAaOCAWUwggFhMB8GA1UdIwQYMBaAFLuvfgI9+qbx +PISOre44mOzZMjLUMB0GA1UdDgQWBBSQr2o6lFoL2JDqElZz30O0Oija5zAOBgNVHQ8BAf8EBAMC +AYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwGwYD +VR0gBBQwEjAGBgRVHSAAMAgGBmeBDAECATBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vY3JsLmNv +bW9kb2NhLmNvbS9DT01PRE9SU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDBxBggrBgEFBQcB +AQRlMGMwOwYIKwYBBQUHMAKGL2h0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET1JTQUFkZFRy +dXN0Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20wDQYJKoZIhvcN +AQEMBQADggIBAE4rdk+SHGI2ibp3wScF9BzWRJ2pmj6q1WZmAT7qSeaiNbz69t2Vjpk1mA42GHWx +3d1Qcnyu3HeIzg/3kCDKo2cuH1Z/e+FE6kKVxF0NAVBGFfKBiVlsit2M8RKhjTpCipj4SzR7JzsI +tG8kO3KdY3RYPBpsP0/HEZrIqPW1N+8QRcZs2eBelSaz662jue5/DJpmNXMyYE7l3YphLG5SEXdo +ltMYdVEVABt0iN3hxzgEQyjpFv3ZBdRdRydg1vs4O2xyopT4Qhrf7W8GjEXCBgCq5Ojc2bXhc3js +9iPc0d1sjhqPpepUfJa3w/5Vjo1JXvxku88+vZbrac2/4EjxYoIQ5QxGV/Iz2tDIY+3GH5QFlkoa +kdH368+PUq4NCNk+qKBR6cGHdNXJ93SrLlP7u3r7l+L4HyaPs9Kg4DdbKDsx5Q5XLVq4rXmsXiBm +GqW5prU5wfWYQ//u+aen/e7KJD2AFsQXj4rBYKEMrltDR5FL1ZoXX/nUh8HCjLfn4g8wGTeGrODc +QgPmlKidrv0PJFGUzpII0fxQ8ANAe4hZ7Q7drNJ3gjTcBpUC2JD5Leo31Rpg0Gcg19hCC0Wvgmje +3WYkN5AplBlGGSW4gNfL1IYoakRwJiNiqZ+Gb7+6kHDSVneFeO/qJakXzlByjAA6quPbYzSf+AZx +AeKCINT+b72x +-----END CERTIFICATE----- + +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE +BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG +A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC +R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE +ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn +dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ +FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+ +5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG +x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX +2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL +OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3 +sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C +GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5 +WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w +DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt +rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+ +nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg +tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW +sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp +pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA +zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq +ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52 +7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I +LaZRfyHBNVOFBkpdn627G190 +-----END CERTIFICATE----- diff --git a/krebs/5pkgs/simple/cac-cert/default.nix b/krebs/5pkgs/simple/cac-cert/default.nix new file mode 100644 index 000000000..d99019dca --- /dev/null +++ b/krebs/5pkgs/simple/cac-cert/default.nix @@ -0,0 +1,2 @@ +{ writeText, ... }: +writeText "cac.pem" (builtins.readFile ./cac.pem) diff --git a/krebs/5pkgs/simple/cac-panel/default.nix b/krebs/5pkgs/simple/cac-panel/default.nix new file mode 100644 index 000000000..fd4799535 --- /dev/null +++ b/krebs/5pkgs/simple/cac-panel/default.nix @@ -0,0 +1,18 @@ +{pkgs, python3Packages, ...}: + +python3Packages.buildPythonPackage rec { + name = "cac-panel-${version}"; + version = "0.4.4"; + + src = pkgs.fetchurl { + url = "https://pypi.python.org/packages/source/c/cac-panel/cac-panel-${version}.tar.gz"; + sha256 = "16bx67fsbgwxciik42jhdnfzxx1xp5b0rimzrif3r7h4fawlnld8"; + }; + + propagatedBuildInputs = with python3Packages; [ + docopt + requests2 + beautifulsoup4 + ]; +} + diff --git a/krebs/5pkgs/simple/collectd-connect-time/default.nix b/krebs/5pkgs/simple/collectd-connect-time/default.nix new file mode 100644 index 000000000..525388029 --- /dev/null +++ b/krebs/5pkgs/simple/collectd-connect-time/default.nix @@ -0,0 +1,15 @@ +{lib, pkgs, pythonPackages, fetchurl, ... }: + +pythonPackages.buildPythonPackage rec { + name = "collectd-connect-time-${version}"; + version = "0.3.0"; + src = fetchurl { + url = "https://pypi.python.org/packages/source/c/collectd-connect-time/collectd-connect-time-${version}.tar.gz"; + sha256 = "0vvrf9py9bwc8hk3scxwg4x2j8jlp2qva0mv4q8d9m4b4mk99c95"; + }; + meta = { + homepage = https://pypi.python.org/pypi/collectd-connect-time/; + description = "TCP Connection time plugin for collectd"; + license = lib.licenses.wtfpl; + }; +} diff --git a/krebs/5pkgs/simple/default.nix b/krebs/5pkgs/simple/default.nix new file mode 100644 index 000000000..2f6799759 --- /dev/null +++ b/krebs/5pkgs/simple/default.nix @@ -0,0 +1,10 @@ +with import ; + +self: super: +listToAttrs + (map + (name: nameValuePair (removeSuffix ".nix" name) + (super.callPackage (./. + "/${name}") {})) + (filter + (name: name != "default.nix" && !hasPrefix "." name) + (attrNames (readDir ./.)))) diff --git a/krebs/5pkgs/simple/dic/default.nix b/krebs/5pkgs/simple/dic/default.nix new file mode 100644 index 000000000..963786f0c --- /dev/null +++ b/krebs/5pkgs/simple/dic/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchgit, coreutils, curl, gnused, gnugrep, ... }: + +stdenv.mkDerivation { + name = "dic"; + + src = fetchgit { + url = http://cgit.ni.krebsco.de/dic; + rev = "refs/tags/v1.0.1"; + sha256 = "1686mba1z4m7vq70w26qpl00z1cz286c9bya9ql36g6w2pbcs8d3"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = + let + path = stdenv.lib.makeBinPath [ + coreutils + curl + gnused + gnugrep + ]; + in + '' + mkdir -p $out/bin + + sed \ + 's,^main() {$,&\n PATH=${path}; export PATH,' \ + < ./dic \ + > $out/bin/dic + + chmod +x $out/bin/dic + ''; +} diff --git a/krebs/5pkgs/simple/drivedroid-gen-repo/default.nix b/krebs/5pkgs/simple/drivedroid-gen-repo/default.nix new file mode 100644 index 000000000..de8046c4a --- /dev/null +++ b/krebs/5pkgs/simple/drivedroid-gen-repo/default.nix @@ -0,0 +1,22 @@ +{stdenv,fetchurl,pkgs,python3Packages, ... }: + +python3Packages.buildPythonPackage rec { + name = "drivedroid-gen-repo-${version}"; + version = "0.4.4"; + + propagatedBuildInputs = with pkgs;[ + python3Packages.docopt + ]; + + src = fetchurl { + url = "https://pypi.python.org/packages/source/d/drivedroid-gen-repo/drivedroid-gen-repo-${version}.tar.gz"; + sha256 = "09p58hzp61r5fp025lak9z52y0aakmaqpi59p9w5xq42dvy2hnvl"; + }; + + meta = { + homepage = http://krebsco.de/; + description = "Generate Drivedroid repos"; + license = stdenv.lib.licenses.wtfpl; + }; +} + diff --git a/krebs/5pkgs/simple/fortclientsslvpn/default.nix b/krebs/5pkgs/simple/fortclientsslvpn/default.nix new file mode 100644 index 000000000..cbcfab05f --- /dev/null +++ b/krebs/5pkgs/simple/fortclientsslvpn/default.nix @@ -0,0 +1,92 @@ +{ stdenv, lib, fetchurl, gnome3, glib, libSM, gdk_pixbuf, libX11, libXinerama, iproute, + makeWrapper, libredirect, ppp, coreutils, gawk, pango }: +stdenv.mkDerivation rec { + name = "forticlientsslvpn"; + # forticlient will be copied into /tmp before execution. this is necessary as + # the software demands $base to be writeable + + # TODO: chroot and create the following files instead of copying files manually + # mkdir /etc/ppp ; touch /etc/ppp/options + # ln -s /run/current-system/sw/bin/tail /usr/bin/tail + # ln -s /run/current-system/sw/bin/pppd /usr/sbin/pppd + + src = fetchurl { + # archive.org mirror: + # https://archive.org/download/ForticlientsslvpnLinux4.4.23171.tar/forticlientsslvpn_linux_4.4.2317.tar.gz + url = http://www.zen.co.uk/userfiles/knowledgebase/FortigateSSLVPNClient/forticlientsslvpn_linux_4.4.2317.tar.gz; + sha256 = "19clnf9rgrnwazlpah8zz5kvz6kc8lxawrgmksx25k5ywflmbcrr"; + }; + phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; + + buildInputs = [ makeWrapper ]; + + binPath = lib.makeBinPath [ + coreutils + gawk + ]; + + + libPath = lib.makeLibraryPath [ + stdenv.cc.cc + ]; + + guiLibPath = lib.makeLibraryPath [ + gnome3.gtk + glib + libSM + gdk_pixbuf + libX11 + libXinerama + pango + ]; + + buildPhase = '' + # TODO: 32bit, use the 32bit folder + patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --set-rpath "$libPath" \ + 64bit/forticlientsslvpn_cli + + patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --set-rpath "$libPath:$guiLibPath" \ + 64bit/forticlientsslvpn + + patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --set-rpath "$libPath" \ + 64bit/helper/subproc + + sed -i 's#\(export PATH=\).*#\1"${binPath}"#' 64bit/helper/waitppp.sh + ''; + + installPhase = '' + mkdir -p "$out/opt/fortinet" + + cp -r 64bit/. "$out/opt/fortinet" + wrapProgram $out/opt/fortinet/forticlientsslvpn \ + --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ + --set NIX_REDIRECTS /usr/bin/tail=${coreutils}/bin/tail:/usr/sbin/ip=${iproute}/bin/ip:/usr/sbin/pppd=${ppp}/bin/pppd + + mkdir -p "$out/bin/" + + cat > $out/bin/forticlientsslvpn < {} }: + + (pkgs.buildFHSUserEnv { + name = "simple-x11-env"; + targetPkgs = pkgs: with pkgs; [ + coreutils + ]; + multiPkgs = pkgs: with pkgs; [ + alsaLib + zlib + xorg.libXxf86vm + curl + openal + openssl_1_0_2 + xorg.libXext + xorg.libX11 + xorg.libXrandr + xorg.libXcursor + xorg.libXinerama + xorg.libXi + mesa_glu + ]; + runScript = "bash"; + }).env +''; + + +in pkgs.writeDashBin "games-user-env" '' + nix-shell ${env_nix} +'' diff --git a/krebs/5pkgs/simple/get/default.nix b/krebs/5pkgs/simple/get/default.nix new file mode 100644 index 000000000..83f6b0228 --- /dev/null +++ b/krebs/5pkgs/simple/get/default.nix @@ -0,0 +1,37 @@ +{ coreutils, gnugrep, gnused, fetchgit, jq, nix, stdenv, ... }: + +stdenv.mkDerivation { + name = "get-1.4.1"; + + src = fetchgit { + url = http://cgit.ni.krebsco.de/get; + rev = "41c0c35805ec1708729f73d14650d8ebc94a405b"; + sha256 = "0rx1qsbb4py14795yhhqwlvaibj2569fqm7x2671l868xi59h9f9"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = + let + path = stdenv.lib.makeBinPath [ + coreutils + gnugrep + gnused + jq + nix + ]; + in + '' + mkdir -p $out/bin + + sed \ + '1s,.*,&\nPATH=${path},' \ + < ./get \ + > $out/bin/get + + chmod +x $out/bin/get + ''; +} diff --git a/krebs/5pkgs/simple/git-hooks/default.nix b/krebs/5pkgs/simple/git-hooks/default.nix new file mode 100644 index 000000000..4017b873b --- /dev/null +++ b/krebs/5pkgs/simple/git-hooks/default.nix @@ -0,0 +1,107 @@ +{ pkgs, ... }: + +with import ; + +{ + # TODO irc-announce should return a derivation + # but it cannot because krebs.git.repos.*.hooks :: attrsOf str + irc-announce = { nick, channel, server, port ? 6667, verbose ? false, branches ? [] }: '' + #! /bin/sh + set -euf + + export PATH=${makeBinPath (with pkgs; [ + coreutils + git + gnugrep + gnused + ])} + + green() { printf '\x0303,99%s\x0F' "$1"; } + red() { printf '\x0304,99%s\x0F' "$1"; } + orange() { printf '\x0307,99%s\x0F' "$1"; } + pink() { printf '\x0313,99%s\x0F' "$1"; } + gray() { printf '\x0314,99%s\x0F' "$1"; } + + unset message + add_message() { + message="''${message+$message + }$*" + } + + nick=${escapeShellArg nick} + channel=${escapeShellArg channel} + server=${escapeShellArg server} + port=${toString port} + + host=$nick + cgit_endpoint=http://cgit.$host.r + + empty=0000000000000000000000000000000000000000 + + while read oldrev newrev ref; do + + if [ $oldrev = $empty ]; then + receive_mode=create + elif [ $newrev = $empty ]; then + receive_mode=delete + elif [ "$(git merge-base $oldrev $newrev)" = $oldrev ]; then + receive_mode=fast-forward + else + receive_mode=non-fast-forward + fi + + h=$(echo $ref | sed 's:^refs/heads/::') + + ${optionalString (branches != []) '' + if ! (echo "$h" | grep -qE "${concatStringsSep "|" branches}"); then + echo "we are not serving this branch: $h" + exit 0 + fi + ''} + # empty_tree=$(git hash-object -t tree /dev/null) + empty_tree=4b825dc6 + + id=$(echo $newrev | cut -b-7) + id2=$(echo $oldrev | cut -b-7) + if [ $newrev = $empty ]; then id=$empty_tree; fi + if [ $oldrev = $empty ]; then id2=$empty_tree; fi + + case $receive_mode in + create) + link="$cgit_endpoint/$GIT_SSH_REPO/?h=$h" + ;; + delete) + link="$cgit_endpoint/$GIT_SSH_REPO/ ($h)" + ;; + fast-forward|non-fast-forward) + link="$cgit_endpoint/$GIT_SSH_REPO/diff/?h=$h&id=$id&id2=$id2" + ;; + esac + + #$host $GIT_SSH_REPO $ref $link + add_message $(pink push) $link $(gray "($receive_mode)") + + ${optionalString verbose '' + add_message "$( + git log \ + --format="$(orange %h) %s $(gray '(%ar)')" \ + --reverse \ + $id2..$id + + git diff --stat $id2..$id \ + | sed '$!s/\(+*\)\(-*\)$/'$(green '\1')$(red '\2')'/' + )" + ''} + + done + + if test -n "''${message-}"; then + exec ${pkgs.irc-announce}/bin/irc-announce \ + "$server" \ + "$port" \ + "$nick" \ + "$channel" \ + "$message" + fi + ''; +} diff --git a/krebs/5pkgs/simple/github-hosts-sync/default.nix b/krebs/5pkgs/simple/github-hosts-sync/default.nix new file mode 100644 index 000000000..cdfed468c --- /dev/null +++ b/krebs/5pkgs/simple/github-hosts-sync/default.nix @@ -0,0 +1,37 @@ +{ pkgs, stdenv, ... }: + +stdenv.mkDerivation { + name = "github-hosts-sync"; + + src = pkgs.painload; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = + let + ca-bundle = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; + path = stdenv.lib.makeBinPath (with pkgs; [ + coreutils + findutils + git + gnugrep + gnused + nettools + openssh + socat + ]); + in + '' + mkdir -p $out/bin + + sed \ + 's,^main() {$,&\n export PATH=${path} GIT_SSL_CAINFO=${ca-bundle},' \ + < ./retiolum/scripts/github_hosts_sync/hosts-sync \ + > $out/bin/github-hosts-sync + + chmod +x $out/bin/github-hosts-sync + ''; +} diff --git a/krebs/5pkgs/simple/go-shortener/default.nix b/krebs/5pkgs/simple/go-shortener/default.nix new file mode 100644 index 000000000..996f7072a --- /dev/null +++ b/krebs/5pkgs/simple/go-shortener/default.nix @@ -0,0 +1,57 @@ +{ stdenv, makeWrapper, callPackage, lib, buildEnv, fetchgit, nodePackages, nodejs }: + +with lib; + +let + np = (callPackage ) { + generated = ./packages.nix; + self = np; + }; + + node_env = buildEnv { + name = "node_env"; + paths = [ + np.redis + np."formidable" + ]; + pathsToLink = [ "/lib" ]; + ignoreCollisions = true; + }; + +in np.buildNodePackage { + name = "go-shortener"; + + src = fetchgit { + url = "http://cgit.lassul.us/go/"; + rev = "05d02740e0adbb36cc461323647f0c1e7f493156"; + sha256 = "6015c9a93317375ae8099c7ab982df0aa93a59ec2b48972e253887bb6ca0004f"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + deps = (filter (v: nixType v == "derivation") (attrValues np)); + + buildInputs = [ + nodejs + makeWrapper + ]; + + installPhase = '' + mkdir -p $out/bin + + cp index.js $out/ + cat > $out/go << EOF + ${nodejs}/bin/node $out/index.js + EOF + chmod +x $out/go + + wrapProgram $out/go \ + --prefix NODE_PATH : ${node_env}/lib/node_modules + + ln -s $out/go /$out/bin/go + ''; + +} diff --git a/krebs/5pkgs/simple/go-shortener/packages.nix b/krebs/5pkgs/simple/go-shortener/packages.nix new file mode 100644 index 000000000..9acfd7658 --- /dev/null +++ b/krebs/5pkgs/simple/go-shortener/packages.nix @@ -0,0 +1,44 @@ +{ self, fetchurl, fetchgit ? null, lib }: + +{ + by-spec."formidable"."*" = + self.by-version."formidable"."1.0.17"; + by-version."formidable"."1.0.17" = self.buildNodePackage { + name = "formidable-1.0.17"; + version = "1.0.17"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz"; + name = "formidable-1.0.17.tgz"; + sha1 = "ef5491490f9433b705faa77249c99029ae348559"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "formidable" = self.by-version."formidable"."1.0.17"; + by-spec."redis"."*" = + self.by-version."redis"."2.1.0"; + by-version."redis"."2.1.0" = self.buildNodePackage { + name = "redis-2.1.0"; + version = "2.1.0"; + bin = false; + src = fetchurl { + url = "http://registry.npmjs.org/redis/-/redis-2.1.0.tgz"; + name = "redis-2.1.0.tgz"; + sha1 = "38acb208f90750250f9451219b73ff08ae907f94"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "redis" = self.by-version."redis"."2.1.0"; +} diff --git a/krebs/5pkgs/simple/goify/default.nix b/krebs/5pkgs/simple/goify/default.nix new file mode 100644 index 000000000..9c44aaeeb --- /dev/null +++ b/krebs/5pkgs/simple/goify/default.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +pkgs.writeBashBin "goify" '' + set -euf + + GO_HOST=''${GO_HOST:-go} + + while read line; do + echo "$line" | sed 's|https\?://\S*|\n&\n|g' | while read word; do + if echo "$word" | grep -q '^https\?:'; then + ${pkgs.curl}/bin/curl -Ss -F uri="$word" http://"$GO_HOST" \ + | tr -d '\r' + else + echo "$word" + fi + done | grep . | tr '\n' ' '; echo + done +'' diff --git a/krebs/5pkgs/simple/hashPassword/default.nix b/krebs/5pkgs/simple/hashPassword/default.nix new file mode 100644 index 000000000..3da65ad79 --- /dev/null +++ b/krebs/5pkgs/simple/hashPassword/default.nix @@ -0,0 +1,15 @@ +{ lib, pkgs, ... }: + +pkgs.writeDashBin "hashPassword" '' + # usage: hashPassword + set -euf + + export PATH=${lib.makeBinPath (with pkgs; [ + coreutils + mkpasswd + openssl + ])} + + salt=$(openssl rand -base64 16 | tr -d '+=' | head -c 16) + exec mkpasswd -m sha-512 -S "$salt" +'' diff --git a/krebs/5pkgs/simple/htgen/default.nix b/krebs/5pkgs/simple/htgen/default.nix new file mode 100644 index 000000000..0fca8bdf2 --- /dev/null +++ b/krebs/5pkgs/simple/htgen/default.nix @@ -0,0 +1,28 @@ +{ coreutils, dash, fetchgit, gnused, stdenv, ucspi-tcp }: +with import ; +let + version = "1.2.2"; +in stdenv.mkDerivation { + name = "htgen-${version}"; + + src = fetchgit { + url = "http://cgit.krebsco.de/htgen"; + rev = "refs/tags/v${version}"; + sha256 = "0a8vn35vq6pxgk6d3d2cjp0vdxzq9nqf0zgkvnd6668v4cmdf91b"; + }; + + installPhase = '' + mkdir -p $out/bin + { + echo '#! ${dash}/bin/dash' + echo 'export PATH=${makeBinPath [ + coreutils + gnused + ucspi-tcp + ]}''${PATH+":$PATH"}' + sed 's:^Server=htgen$:&/${version}:' htgen + } > $out/bin/htgen + chmod +x $out/bin/htgen + cp -r examples $out + ''; +} diff --git a/krebs/5pkgs/simple/irc-announce/default.nix b/krebs/5pkgs/simple/irc-announce/default.nix new file mode 100644 index 000000000..e1f4919d5 --- /dev/null +++ b/krebs/5pkgs/simple/irc-announce/default.nix @@ -0,0 +1,66 @@ +{ pkgs, lib, ... }: + +with lib; + +pkgs.writeDashBin "irc-announce" '' + set -euf + + export PATH=${makeSearchPath "bin" (with pkgs; [ + coreutils + gawk + gnused + netcat + nettools + ])} + + IRC_SERVER=$1 + IRC_PORT=$2 + IRC_NICK=$3$$ + IRC_CHANNEL=$4 + message=$5 + + export IRC_CHANNEL # for privmsg_cat + + # echo2 and cat2 are used output to both, stdout and stderr + # This is used to see what we send to the irc server. (debug output) + echo2() { echo "$*"; echo "$*" >&2; } + cat2() { tee /dev/stderr; } + + # privmsg_cat transforms stdin to a privmsg + privmsg_cat() { awk '{ print "PRIVMSG "ENVIRON["IRC_CHANNEL"]" :"$0 }'; } + + # ircin is used to feed the output of netcat back to the "irc client" + # so we can implement expect-like behavior with sed^_^ + # XXX mkselfdestructingtmpfifo would be nice instead of this cruft + tmpdir=$(mktemp --tmpdir -d irc-announce_XXXXXXXX) + cd "$tmpdir" + mkfifo ircin + trap " + rm ircin + cd '$OLDPWD' + rmdir '$tmpdir' + trap - EXIT INT QUIT + " EXIT INT QUIT + + { + echo2 "USER $LOGNAME 0 * :$LOGNAME@$(hostname)" + echo2 "NICK $IRC_NICK" + + # wait for MODE message + sed -n '/^:[^ ]* MODE /q' + + echo2 "JOIN $IRC_CHANNEL" + + printf '%s' "$message" \ + | privmsg_cat \ + | cat2 + + echo2 "PART $IRC_CHANNEL" + + # wait for PART confirmation + sed -n '/:'"$IRC_NICK"'![^ ]* PART /q' + + echo2 'QUIT :Gone to have lunch' + } < ircin \ + | nc "$IRC_SERVER" "$IRC_PORT" | tee -a ircin +'' diff --git a/krebs/5pkgs/simple/kpaste/default.nix b/krebs/5pkgs/simple/kpaste/default.nix new file mode 100644 index 000000000..d6823d584 --- /dev/null +++ b/krebs/5pkgs/simple/kpaste/default.nix @@ -0,0 +1,5 @@ +{ curl, writeDashBin }: + +writeDashBin "kpaste" '' + exec ${curl}/bin/curl -sS http://p.r --data-binary @- +'' diff --git a/krebs/5pkgs/simple/krebspaste/default.nix b/krebs/5pkgs/simple/krebspaste/default.nix new file mode 100644 index 000000000..31ad12780 --- /dev/null +++ b/krebs/5pkgs/simple/krebspaste/default.nix @@ -0,0 +1,6 @@ +{ writeDashBin, bepasty-client-cli }: + +# TODO use `execve` instead? +writeDashBin "krebspaste" '' + exec ${bepasty-client-cli}/bin/bepasty-cli -L 1m --url http://paste.r "$@" | sed '$ s/$/\/+inline/g' +'' diff --git a/krebs/5pkgs/simple/krebszones/default.nix b/krebs/5pkgs/simple/krebszones/default.nix new file mode 100644 index 000000000..9230192bd --- /dev/null +++ b/krebs/5pkgs/simple/krebszones/default.nix @@ -0,0 +1,25 @@ +{ lib, pkgs,python3Packages,fetchurl, ... }: + +# TODO: Prepare a diff of future and current +## ovh-zone export krebsco.de --config ~/secrets/krebs/cfg.json |sed 's/[ ]\+/ /g' | sort current +## sed 's/[ ]\+/ /g'/etc/zones/krebsco.de | sort > future +## diff future.sorted current.sorted + +python3Packages.buildPythonPackage rec { + name = "krebszones-${version}"; + version = "0.4.4"; + propagatedBuildInputs = with pkgs.python3Packages;[ + d2to1 # for setup to work + ovh + docopt + ]; + src = fetchurl { + url = "https://pypi.python.org/packages/source/k/krebszones/krebszones-${version}.tar.gz"; + sha256 = "1bzfc2b9468769j1yj93j12zdlccqbjiqfhql2larximh491sg4d"; + }; + meta = { + homepage = http://krebsco.de/; + description = "OVH Zone Upload"; + license = lib.licenses.wtfpl; + }; +} diff --git a/krebs/5pkgs/simple/logf/default.nix b/krebs/5pkgs/simple/logf/default.nix new file mode 100644 index 000000000..ac95acb33 --- /dev/null +++ b/krebs/5pkgs/simple/logf/default.nix @@ -0,0 +1,114 @@ +{ lib, pkgs, ... }: + +with import ; + +let + default-host-colors = pkgs.writeJSON "logf.default-host-colors.json" { + }; + default-prio-colors = pkgs.writeJSON "logf.default-prio-colors.json" { + "0" = 196; # emerg + "1" = 160; # alert + "2" = 124; # crit + "3" = 009; # err + "4" = 011; # warning + "5" = 255; # notice + "6" = 250; # info + "7" = 139; # debug + "-" = 005; # undefined priority + }; + default-urgent = pkgs.writeJSON "logf.default-urgent.json" [ + ]; +in + +pkgs.writeDashBin "logf" '' + export LOGF_HOST_COLORS LOGF_PRIO_COLORS LOGF_URGENT + LOGF_HOST_COLORS=$(cat "''${LOGF_HOST_COLORS-${default-host-colors}}") + LOGF_PRIO_COLORS=$(cat "''${LOGF_PRIO_COLORS-${default-prio-colors}}") + LOGF_URGENT=$(cat "''${LOGF_URGENT-${default-urgent}}") + printf '%s\0' "$@" \ + | ${pkgs.findutils}/bin/xargs -0 -P 0 -n 1 ${pkgs.writeDash "logf-remote" '' + target=$1 + target_host=$(echo "$1" | sed 's/^.*@//;s/\..*//') + exec 3>&1 + 2>&1 1>&3 ssh "$target" -T \ + -o PreferredAuthentications=publickey \ + -o StrictHostKeyChecking=yes \ + exec journalctl -af -n 0 -o json \ + | stdbuf -oL jq -Rcf ${pkgs.writeJq "logf-remote-error.jq" '' + { + PRIORITY: "4", + MESSAGE: ., + SYSLOG_IDENTIFIER: env.target_host, + } + ''} + sleep 10m + exec "$0" "$@" + ''} \ + | ${pkgs.jq}/bin/jq -Rrf ${pkgs.writeJq "logf-filter.jq" '' + (env.LOGF_HOST_COLORS | fromjson) as $host_colors | + (env.LOGF_PRIO_COLORS | fromjson) as $prio_colors | + (env.LOGF_URGENT | fromjson | map("(\(.))") | join("|")) + as $urgent_regex | + + def when(c; f): if c then f else . end; + + # anaphoric gsub + def agsub(re; f): + # Don't try empty regex: https://github.com/stedolan/jq/issues/1206 + when(re != ""; gsub("(?\(re))"; .it | f)); + + # :: [int] -> sgr + def sgr: "\u001b[\(map(tostring) | join(";"))m"; + + # :: sgr + def rst: [] | sgr; + + # :: int -> sgr + def fg(i): [38,5,i]|sgr; + # TODO def fg(r;g;b): [38,2,r,g,b]|sgr; + # http://cvs.schmorp.de/rxvt-unicode/src/command.C?revision=1.570&view=markup&sortby=log&sortdir=down + + # (sgr; sgr) | (null; any) :: str -> str + def col(a; b): when(a != null; a + . + b); + def col(a): col(a; rst); + + + def p_time: + ._SOURCE_REALTIME_TIMESTAMP + | if . != null then . | fromjson | . / 1000000 else now end + | gmtime + | todateiso8601 + | col(fg(237)); + + def p_host: + ._HOSTNAME + | if . != null then . else "-" end + | col($host_colors[.]|when(. != null; fg(.))); + + def p_ident: + if .SYSLOG_IDENTIFIER != null then .SYSLOG_IDENTIFIER + else ._COMM end + | col(fg(244)); + + def p_message: + fg($prio_colors[if has("PRIORITY") then .PRIORITY else "-" end]) + as $prio_c | + .MESSAGE + | sub("\r$"; "") + | agsub($urgent_regex; "\(.)\u0007" | col(fg(219); $prio_c)) + | col($prio_c); + + try fromjson catch { + _SOURCE_REALTIME_TIMESTAMP: now | tostring | sub("[.]"; ""), + SYSLOG_IDENTIFIER: "logf/journalctl", + MESSAGE: ., + } | + + [ p_time + , p_host + , p_ident + , p_message + ] + | join(" ") + ''} +'' diff --git a/krebs/5pkgs/simple/much/cabal.nix b/krebs/5pkgs/simple/much/cabal.nix new file mode 100644 index 000000000..09bc7b5df --- /dev/null +++ b/krebs/5pkgs/simple/much/cabal.nix @@ -0,0 +1,28 @@ +{ mkDerivation, aeson, attoparsec, base, base64-bytestring +, blaze-builder, blessings, bytestring, case-insensitive +, containers, deepseq, directory, docopt, email-header, fetchgit +, filepath, friendly-time, hyphenation, linebreak, old-locale +, process, random, rosezipper, safe, scanner, split, stdenv +, terminal-size, text, time, transformers, transformers-compat +, unix, vector +}: +mkDerivation { + pname = "much"; + version = "1.1.0"; + src = fetchgit { + url = "http://cgit.ni.krebsco.de/much"; + sha256 = "1325554zymr1dd0clj8c5ygl70c791csvs0hz33jcfr6b8wysdrl"; + rev = "dfec37d848e11c00d9b7f03295af1fc7b0e83ef5"; + }; + isLibrary = false; + isExecutable = true; + executableHaskellDepends = [ + aeson attoparsec base base64-bytestring blaze-builder blessings + bytestring case-insensitive containers deepseq directory docopt + email-header filepath friendly-time hyphenation linebreak + old-locale process random rosezipper safe scanner split + terminal-size text time transformers transformers-compat unix + vector + ]; + license = stdenv.lib.licenses.mit; +} diff --git a/krebs/5pkgs/simple/much/default.nix b/krebs/5pkgs/simple/much/default.nix new file mode 100644 index 000000000..cf55eb537 --- /dev/null +++ b/krebs/5pkgs/simple/much/default.nix @@ -0,0 +1,3 @@ +{ haskellPackages, ... }: + +haskellPackages.callPackage ./cabal.nix {} diff --git a/krebs/5pkgs/simple/netcup/default.nix b/krebs/5pkgs/simple/netcup/default.nix new file mode 100644 index 000000000..d1f46299d --- /dev/null +++ b/krebs/5pkgs/simple/netcup/default.nix @@ -0,0 +1,32 @@ +{ coreutils, curl, fetchgit, gawk, gnugrep, gnused, jq, stdenv, w3m, ... }: +with import ; +let + readJSON = path: fromJSON (readFile path); + sed.escape = replaceChars ["/"] ["\\/"]; # close enough + PATH = makeBinPath [ + coreutils + curl + gawk + gnugrep + gnused + jq + w3m + ]; +in +stdenv.mkDerivation { + name = "netcup-1.0.0"; + src = fetchgit { + url = "http://cgit.ni.krebsco.de/netcup"; + rev = "refs/tags/v1.0.0"; + sha256 = "1rn7bncfhjw0bqjbvj38m7lks4nyf5qcvkj9dg0zr99ba6dylzx5"; + }; + phases = [ "unpackPhase" "patchPhase" "installPhase" ]; + patchPhase = '' + path=${shell.escape (sed.escape PATH)} + sed -i "1s/.*/&\nPATH=$path/" vcp + ''; + installPhase = '' + mkdir -p $out/bin + cp vcp $out/bin + ''; +} diff --git a/krebs/5pkgs/simple/newsbot-js/default.nix b/krebs/5pkgs/simple/newsbot-js/default.nix new file mode 100644 index 000000000..b52454ca4 --- /dev/null +++ b/krebs/5pkgs/simple/newsbot-js/default.nix @@ -0,0 +1,60 @@ +{ stdenv, makeWrapper, callPackage, lib, buildEnv, fetchgit, nodePackages, nodejs }: + +with lib; + +let + np = (callPackage ) { + generated = ./packages.nix; + self = np; + }; + + node_env = buildEnv { + name = "node_env"; + paths = [ + np.feedparser + np.form-data + np.irc + np.request + np.shell-quote + ]; + pathsToLink = [ "/lib" ]; + ignoreCollisions = true; + }; + +in np.buildNodePackage { + name = "newsbot-js"; + + src = fetchgit { + url = "http://cgit.prism/newsbot-js/"; + rev = "09e01639be4ea9691cf5b33f7d9057b68ac98079"; + sha256 = "28ffbed66c2efcd194c47823c7d5d5533c80852fc0cf9d9d4ee609c71d50c142"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + deps = (filter (v: nixType v == "derivation") (attrValues np)); + + buildInputs = [ + nodejs + makeWrapper + ]; + + installPhase = '' + mkdir -p $out/bin + + cp newsbot.js $out/ + cat > $out/newsbot << EOF + ${nodejs}/bin/node $out/newsbot.js + EOF + chmod +x $out/newsbot + + wrapProgram $out/newsbot \ + --prefix NODE_PATH : ${node_env}/lib/node_modules + + ln -s $out/newsbot /$out/bin/newsbot + ''; + +} diff --git a/krebs/5pkgs/simple/newsbot-js/packages.nix b/krebs/5pkgs/simple/newsbot-js/packages.nix new file mode 100644 index 000000000..62921cb8f --- /dev/null +++ b/krebs/5pkgs/simple/newsbot-js/packages.nix @@ -0,0 +1,1747 @@ +{ self, fetchurl, fetchgit ? null, lib }: + +{ + by-spec."addressparser"."^1.0.1" = + self.by-version."addressparser"."1.0.1"; + by-version."addressparser"."1.0.1" = self.buildNodePackage { + name = "addressparser-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz"; + name = "addressparser-1.0.1.tgz"; + sha1 = "47afbe1a2a9262191db6838e4fd1d39b40821746"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."ansi-regex"."^2.0.0" = + self.by-version."ansi-regex"."2.1.1"; + by-version."ansi-regex"."2.1.1" = self.buildNodePackage { + name = "ansi-regex-2.1.1"; + version = "2.1.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"; + name = "ansi-regex-2.1.1.tgz"; + sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."ansi-styles"."^2.2.1" = + self.by-version."ansi-styles"."2.2.1"; + by-version."ansi-styles"."2.2.1" = self.buildNodePackage { + name = "ansi-styles-2.2.1"; + version = "2.2.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"; + name = "ansi-styles-2.2.1.tgz"; + sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."array-filter"."~0.0.0" = + self.by-version."array-filter"."0.0.1"; + by-version."array-filter"."0.0.1" = self.buildNodePackage { + name = "array-filter-0.0.1"; + version = "0.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz"; + name = "array-filter-0.0.1.tgz"; + sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."array-indexofobject"."~0.0.1" = + self.by-version."array-indexofobject"."0.0.1"; + by-version."array-indexofobject"."0.0.1" = self.buildNodePackage { + name = "array-indexofobject-0.0.1"; + version = "0.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz"; + name = "array-indexofobject-0.0.1.tgz"; + sha1 = "aaa128e62c9b3c358094568c219ff64fe489d42a"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."array-map"."~0.0.0" = + self.by-version."array-map"."0.0.0"; + by-version."array-map"."0.0.0" = self.buildNodePackage { + name = "array-map-0.0.0"; + version = "0.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz"; + name = "array-map-0.0.0.tgz"; + sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."array-reduce"."~0.0.0" = + self.by-version."array-reduce"."0.0.0"; + by-version."array-reduce"."0.0.0" = self.buildNodePackage { + name = "array-reduce-0.0.0"; + version = "0.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz"; + name = "array-reduce-0.0.0.tgz"; + sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."asn1"."~0.2.3" = + self.by-version."asn1"."0.2.3"; + by-version."asn1"."0.2.3" = self.buildNodePackage { + name = "asn1-0.2.3"; + version = "0.2.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz"; + name = "asn1-0.2.3.tgz"; + sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."assert-plus"."^0.2.0" = + self.by-version."assert-plus"."0.2.0"; + by-version."assert-plus"."0.2.0" = self.buildNodePackage { + name = "assert-plus-0.2.0"; + version = "0.2.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz"; + name = "assert-plus-0.2.0.tgz"; + sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."assert-plus"."^1.0.0" = + self.by-version."assert-plus"."1.0.0"; + by-version."assert-plus"."1.0.0" = self.buildNodePackage { + name = "assert-plus-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"; + name = "assert-plus-1.0.0.tgz"; + sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."asynckit"."^0.4.0" = + self.by-version."asynckit"."0.4.0"; + by-version."asynckit"."0.4.0" = self.buildNodePackage { + name = "asynckit-0.4.0"; + version = "0.4.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"; + name = "asynckit-0.4.0.tgz"; + sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."aws-sign2"."~0.6.0" = + self.by-version."aws-sign2"."0.6.0"; + by-version."aws-sign2"."0.6.0" = self.buildNodePackage { + name = "aws-sign2-0.6.0"; + version = "0.6.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz"; + name = "aws-sign2-0.6.0.tgz"; + sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."aws4"."^1.2.1" = + self.by-version."aws4"."1.5.0"; + by-version."aws4"."1.5.0" = self.buildNodePackage { + name = "aws4-1.5.0"; + version = "1.5.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz"; + name = "aws4-1.5.0.tgz"; + sha1 = "0a29ffb79c31c9e712eeb087e8e7a64b4a56d755"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."bcrypt-pbkdf"."^1.0.0" = + self.by-version."bcrypt-pbkdf"."1.0.1"; + by-version."bcrypt-pbkdf"."1.0.1" = self.buildNodePackage { + name = "bcrypt-pbkdf-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz"; + name = "bcrypt-pbkdf-1.0.1.tgz"; + sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d"; + }; + deps = { + "tweetnacl-0.14.5" = self.by-version."tweetnacl"."0.14.5"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."boom"."2.x.x" = + self.by-version."boom"."2.10.1"; + by-version."boom"."2.10.1" = self.buildNodePackage { + name = "boom-2.10.1"; + version = "2.10.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"; + name = "boom-2.10.1.tgz"; + sha1 = "39c8918ceff5799f83f9492a848f625add0c766f"; + }; + deps = { + "hoek-2.16.3" = self.by-version."hoek"."2.16.3"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."buffer-shims"."^1.0.0" = + self.by-version."buffer-shims"."1.0.0"; + by-version."buffer-shims"."1.0.0" = self.buildNodePackage { + name = "buffer-shims-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"; + name = "buffer-shims-1.0.0.tgz"; + sha1 = "9978ce317388c649ad8793028c3477ef044a8b51"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."caseless"."~0.11.0" = + self.by-version."caseless"."0.11.0"; + by-version."caseless"."0.11.0" = self.buildNodePackage { + name = "caseless-0.11.0"; + version = "0.11.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"; + name = "caseless-0.11.0.tgz"; + sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."chalk"."^1.1.1" = + self.by-version."chalk"."1.1.3"; + by-version."chalk"."1.1.3" = self.buildNodePackage { + name = "chalk-1.1.3"; + version = "1.1.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"; + name = "chalk-1.1.3.tgz"; + sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; + }; + deps = { + "ansi-styles-2.2.1" = self.by-version."ansi-styles"."2.2.1"; + "escape-string-regexp-1.0.5" = self.by-version."escape-string-regexp"."1.0.5"; + "has-ansi-2.0.0" = self.by-version."has-ansi"."2.0.0"; + "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1"; + "supports-color-2.0.0" = self.by-version."supports-color"."2.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."combined-stream"."^1.0.5" = + self.by-version."combined-stream"."1.0.5"; + by-version."combined-stream"."1.0.5" = self.buildNodePackage { + name = "combined-stream-1.0.5"; + version = "1.0.5"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz"; + name = "combined-stream-1.0.5.tgz"; + sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009"; + }; + deps = { + "delayed-stream-1.0.0" = self.by-version."delayed-stream"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."combined-stream"."~1.0.5" = + self.by-version."combined-stream"."1.0.5"; + by-spec."commander"."^2.9.0" = + self.by-version."commander"."2.9.0"; + by-version."commander"."2.9.0" = self.buildNodePackage { + name = "commander-2.9.0"; + version = "2.9.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz"; + name = "commander-2.9.0.tgz"; + sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4"; + }; + deps = { + "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."core-util-is"."~1.0.0" = + self.by-version."core-util-is"."1.0.2"; + by-version."core-util-is"."1.0.2" = self.buildNodePackage { + name = "core-util-is-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"; + name = "core-util-is-1.0.2.tgz"; + sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."cryptiles"."2.x.x" = + self.by-version."cryptiles"."2.0.5"; + by-version."cryptiles"."2.0.5" = self.buildNodePackage { + name = "cryptiles-2.0.5"; + version = "2.0.5"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz"; + name = "cryptiles-2.0.5.tgz"; + sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8"; + }; + deps = { + "boom-2.10.1" = self.by-version."boom"."2.10.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."dashdash"."^1.12.0" = + self.by-version."dashdash"."1.14.1"; + by-version."dashdash"."1.14.1" = self.buildNodePackage { + name = "dashdash-1.14.1"; + version = "1.14.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"; + name = "dashdash-1.14.1.tgz"; + sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; + }; + deps = { + "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."delayed-stream"."~1.0.0" = + self.by-version."delayed-stream"."1.0.0"; + by-version."delayed-stream"."1.0.0" = self.buildNodePackage { + name = "delayed-stream-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"; + name = "delayed-stream-1.0.0.tgz"; + sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."ecc-jsbn"."~0.1.1" = + self.by-version."ecc-jsbn"."0.1.1"; + by-version."ecc-jsbn"."0.1.1" = self.buildNodePackage { + name = "ecc-jsbn-0.1.1"; + version = "0.1.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz"; + name = "ecc-jsbn-0.1.1.tgz"; + sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505"; + }; + deps = { + "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."escape-string-regexp"."^1.0.2" = + self.by-version."escape-string-regexp"."1.0.5"; + by-version."escape-string-regexp"."1.0.5" = self.buildNodePackage { + name = "escape-string-regexp-1.0.5"; + version = "1.0.5"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + name = "escape-string-regexp-1.0.5.tgz"; + sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."extend"."~3.0.0" = + self.by-version."extend"."3.0.0"; + by-version."extend"."3.0.0" = self.buildNodePackage { + name = "extend-3.0.0"; + version = "3.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz"; + name = "extend-3.0.0.tgz"; + sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."extsprintf"."1.0.2" = + self.by-version."extsprintf"."1.0.2"; + by-version."extsprintf"."1.0.2" = self.buildNodePackage { + name = "extsprintf-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz"; + name = "extsprintf-1.0.2.tgz"; + sha1 = "e1080e0658e300b06294990cc70e1502235fd550"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."feedparser"."*" = + self.by-version."feedparser"."2.1.0"; + by-version."feedparser"."2.1.0" = self.buildNodePackage { + name = "feedparser-2.1.0"; + version = "2.1.0"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/feedparser/-/feedparser-2.1.0.tgz"; + name = "feedparser-2.1.0.tgz"; + sha1 = "4cd98bf04e18db5b8644f91e98da89dd179f1fe7"; + }; + deps = { + "addressparser-1.0.1" = self.by-version."addressparser"."1.0.1"; + "array-indexofobject-0.0.1" = self.by-version."array-indexofobject"."0.0.1"; + "lodash.assign-4.2.0" = self.by-version."lodash.assign"."4.2.0"; + "lodash.get-4.4.2" = self.by-version."lodash.get"."4.4.2"; + "lodash.has-4.5.2" = self.by-version."lodash.has"."4.5.2"; + "lodash.uniq-4.5.0" = self.by-version."lodash.uniq"."4.5.0"; + "readable-stream-2.2.2" = self.by-version."readable-stream"."2.2.2"; + "sax-1.2.1" = self.by-version."sax"."1.2.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "feedparser" = self.by-version."feedparser"."2.1.0"; + by-spec."forever-agent"."~0.6.1" = + self.by-version."forever-agent"."0.6.1"; + by-version."forever-agent"."0.6.1" = self.buildNodePackage { + name = "forever-agent-0.6.1"; + version = "0.6.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"; + name = "forever-agent-0.6.1.tgz"; + sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."form-data"."*" = + self.by-version."form-data"."2.1.2"; + by-version."form-data"."2.1.2" = self.buildNodePackage { + name = "form-data-2.1.2"; + version = "2.1.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz"; + name = "form-data-2.1.2.tgz"; + sha1 = "89c3534008b97eada4cbb157d58f6f5df025eae4"; + }; + deps = { + "asynckit-0.4.0" = self.by-version."asynckit"."0.4.0"; + "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5"; + "mime-types-2.1.14" = self.by-version."mime-types"."2.1.14"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "form-data" = self.by-version."form-data"."2.1.2"; + by-spec."form-data"."~2.1.1" = + self.by-version."form-data"."2.1.2"; + by-spec."generate-function"."^2.0.0" = + self.by-version."generate-function"."2.0.0"; + by-version."generate-function"."2.0.0" = self.buildNodePackage { + name = "generate-function-2.0.0"; + version = "2.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"; + name = "generate-function-2.0.0.tgz"; + sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."generate-object-property"."^1.1.0" = + self.by-version."generate-object-property"."1.2.0"; + by-version."generate-object-property"."1.2.0" = self.buildNodePackage { + name = "generate-object-property-1.2.0"; + version = "1.2.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"; + name = "generate-object-property-1.2.0.tgz"; + sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0"; + }; + deps = { + "is-property-1.0.2" = self.by-version."is-property"."1.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."getpass"."^0.1.1" = + self.by-version."getpass"."0.1.6"; + by-version."getpass"."0.1.6" = self.buildNodePackage { + name = "getpass-0.1.6"; + version = "0.1.6"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz"; + name = "getpass-0.1.6.tgz"; + sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6"; + }; + deps = { + "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."graceful-readlink".">= 1.0.0" = + self.by-version."graceful-readlink"."1.0.1"; + by-version."graceful-readlink"."1.0.1" = self.buildNodePackage { + name = "graceful-readlink-1.0.1"; + version = "1.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"; + name = "graceful-readlink-1.0.1.tgz"; + sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."har-validator"."~2.0.6" = + self.by-version."har-validator"."2.0.6"; + by-version."har-validator"."2.0.6" = self.buildNodePackage { + name = "har-validator-2.0.6"; + version = "2.0.6"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz"; + name = "har-validator-2.0.6.tgz"; + sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"; + }; + deps = { + "chalk-1.1.3" = self.by-version."chalk"."1.1.3"; + "commander-2.9.0" = self.by-version."commander"."2.9.0"; + "is-my-json-valid-2.15.0" = self.by-version."is-my-json-valid"."2.15.0"; + "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."has-ansi"."^2.0.0" = + self.by-version."has-ansi"."2.0.0"; + by-version."has-ansi"."2.0.0" = self.buildNodePackage { + name = "has-ansi-2.0.0"; + version = "2.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"; + name = "has-ansi-2.0.0.tgz"; + sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; + }; + deps = { + "ansi-regex-2.1.1" = self.by-version."ansi-regex"."2.1.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."hawk"."~3.1.3" = + self.by-version."hawk"."3.1.3"; + by-version."hawk"."3.1.3" = self.buildNodePackage { + name = "hawk-3.1.3"; + version = "3.1.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz"; + name = "hawk-3.1.3.tgz"; + sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4"; + }; + deps = { + "hoek-2.16.3" = self.by-version."hoek"."2.16.3"; + "boom-2.10.1" = self.by-version."boom"."2.10.1"; + "cryptiles-2.0.5" = self.by-version."cryptiles"."2.0.5"; + "sntp-1.0.9" = self.by-version."sntp"."1.0.9"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."hoek"."2.x.x" = + self.by-version."hoek"."2.16.3"; + by-version."hoek"."2.16.3" = self.buildNodePackage { + name = "hoek-2.16.3"; + version = "2.16.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"; + name = "hoek-2.16.3.tgz"; + sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."http-signature"."~1.1.0" = + self.by-version."http-signature"."1.1.1"; + by-version."http-signature"."1.1.1" = self.buildNodePackage { + name = "http-signature-1.1.1"; + version = "1.1.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz"; + name = "http-signature-1.1.1.tgz"; + sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf"; + }; + deps = { + "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0"; + "jsprim-1.3.1" = self.by-version."jsprim"."1.3.1"; + "sshpk-1.10.2" = self.by-version."sshpk"."1.10.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."iconv"."~2.2.1" = + self.by-version."iconv"."2.2.1"; + by-version."iconv"."2.2.1" = self.buildNodePackage { + name = "iconv-2.2.1"; + version = "2.2.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/iconv/-/iconv-2.2.1.tgz"; + name = "iconv-2.2.1.tgz"; + sha1 = "39b13fdd98987d26aef26c0a2f2a900911fa4584"; + }; + deps = { + "nan-2.5.1" = self.by-version."nan"."2.5.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."inherits"."~2.0.1" = + self.by-version."inherits"."2.0.3"; + by-version."inherits"."2.0.3" = self.buildNodePackage { + name = "inherits-2.0.3"; + version = "2.0.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"; + name = "inherits-2.0.3.tgz"; + sha1 = "633c2c83e3da42a502f52466022480f4208261de"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."irc"."*" = + self.by-version."irc"."0.5.2"; + by-version."irc"."0.5.2" = self.buildNodePackage { + name = "irc-0.5.2"; + version = "0.5.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/irc/-/irc-0.5.2.tgz"; + name = "irc-0.5.2.tgz"; + sha1 = "3714f4768365a96d0b2f776bc91166beb2464bbc"; + }; + deps = { + "irc-colors-1.3.1" = self.by-version."irc-colors"."1.3.1"; + }; + optionalDependencies = { + "iconv-2.2.1" = self.by-version."iconv"."2.2.1"; + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "irc" = self.by-version."irc"."0.5.2"; + by-spec."irc-colors"."^1.1.0" = + self.by-version."irc-colors"."1.3.1"; + by-version."irc-colors"."1.3.1" = self.buildNodePackage { + name = "irc-colors-1.3.1"; + version = "1.3.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/irc-colors/-/irc-colors-1.3.1.tgz"; + name = "irc-colors-1.3.1.tgz"; + sha1 = "a6fccee5d9ecdc010c2b1cde3fbdff1f7134aff6"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."is-my-json-valid"."^2.12.4" = + self.by-version."is-my-json-valid"."2.15.0"; + by-version."is-my-json-valid"."2.15.0" = self.buildNodePackage { + name = "is-my-json-valid-2.15.0"; + version = "2.15.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz"; + name = "is-my-json-valid-2.15.0.tgz"; + sha1 = "936edda3ca3c211fd98f3b2d3e08da43f7b2915b"; + }; + deps = { + "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0"; + "generate-object-property-1.2.0" = self.by-version."generate-object-property"."1.2.0"; + "jsonpointer-4.0.1" = self.by-version."jsonpointer"."4.0.1"; + "xtend-4.0.1" = self.by-version."xtend"."4.0.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."is-property"."^1.0.0" = + self.by-version."is-property"."1.0.2"; + by-version."is-property"."1.0.2" = self.buildNodePackage { + name = "is-property-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"; + name = "is-property-1.0.2.tgz"; + sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."is-typedarray"."~1.0.0" = + self.by-version."is-typedarray"."1.0.0"; + by-version."is-typedarray"."1.0.0" = self.buildNodePackage { + name = "is-typedarray-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"; + name = "is-typedarray-1.0.0.tgz"; + sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."isarray"."~1.0.0" = + self.by-version."isarray"."1.0.0"; + by-version."isarray"."1.0.0" = self.buildNodePackage { + name = "isarray-1.0.0"; + version = "1.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"; + name = "isarray-1.0.0.tgz"; + sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."isstream"."~0.1.2" = + self.by-version."isstream"."0.1.2"; + by-version."isstream"."0.1.2" = self.buildNodePackage { + name = "isstream-0.1.2"; + version = "0.1.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"; + name = "isstream-0.1.2.tgz"; + sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."jodid25519"."^1.0.0" = + self.by-version."jodid25519"."1.0.2"; + by-version."jodid25519"."1.0.2" = self.buildNodePackage { + name = "jodid25519-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz"; + name = "jodid25519-1.0.2.tgz"; + sha1 = "06d4912255093419477d425633606e0e90782967"; + }; + deps = { + "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."jsbn"."~0.1.0" = + self.by-version."jsbn"."0.1.0"; + by-version."jsbn"."0.1.0" = self.buildNodePackage { + name = "jsbn-0.1.0"; + version = "0.1.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz"; + name = "jsbn-0.1.0.tgz"; + sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."json-schema"."0.2.3" = + self.by-version."json-schema"."0.2.3"; + by-version."json-schema"."0.2.3" = self.buildNodePackage { + name = "json-schema-0.2.3"; + version = "0.2.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"; + name = "json-schema-0.2.3.tgz"; + sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."json-stringify-safe"."~5.0.1" = + self.by-version."json-stringify-safe"."5.0.1"; + by-version."json-stringify-safe"."5.0.1" = self.buildNodePackage { + name = "json-stringify-safe-5.0.1"; + version = "5.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; + name = "json-stringify-safe-5.0.1.tgz"; + sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."jsonify"."~0.0.0" = + self.by-version."jsonify"."0.0.0"; + by-version."jsonify"."0.0.0" = self.buildNodePackage { + name = "jsonify-0.0.0"; + version = "0.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"; + name = "jsonify-0.0.0.tgz"; + sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."jsonpointer"."^4.0.0" = + self.by-version."jsonpointer"."4.0.1"; + by-version."jsonpointer"."4.0.1" = self.buildNodePackage { + name = "jsonpointer-4.0.1"; + version = "4.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz"; + name = "jsonpointer-4.0.1.tgz"; + sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."jsprim"."^1.2.2" = + self.by-version."jsprim"."1.3.1"; + by-version."jsprim"."1.3.1" = self.buildNodePackage { + name = "jsprim-1.3.1"; + version = "1.3.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz"; + name = "jsprim-1.3.1.tgz"; + sha1 = "2a7256f70412a29ee3670aaca625994c4dcff252"; + }; + deps = { + "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2"; + "json-schema-0.2.3" = self.by-version."json-schema"."0.2.3"; + "verror-1.3.6" = self.by-version."verror"."1.3.6"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."lodash.assign"."^4.2.0" = + self.by-version."lodash.assign"."4.2.0"; + by-version."lodash.assign"."4.2.0" = self.buildNodePackage { + name = "lodash.assign-4.2.0"; + version = "4.2.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz"; + name = "lodash.assign-4.2.0.tgz"; + sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."lodash.get"."^4.4.2" = + self.by-version."lodash.get"."4.4.2"; + by-version."lodash.get"."4.4.2" = self.buildNodePackage { + name = "lodash.get-4.4.2"; + version = "4.4.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz"; + name = "lodash.get-4.4.2.tgz"; + sha1 = "2d177f652fa31e939b4438d5341499dfa3825e99"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."lodash.has"."^4.5.2" = + self.by-version."lodash.has"."4.5.2"; + by-version."lodash.has"."4.5.2" = self.buildNodePackage { + name = "lodash.has-4.5.2"; + version = "4.5.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz"; + name = "lodash.has-4.5.2.tgz"; + sha1 = "d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."lodash.uniq"."^4.5.0" = + self.by-version."lodash.uniq"."4.5.0"; + by-version."lodash.uniq"."4.5.0" = self.buildNodePackage { + name = "lodash.uniq-4.5.0"; + version = "4.5.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"; + name = "lodash.uniq-4.5.0.tgz"; + sha1 = "d0225373aeb652adc1bc82e4945339a842754773"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mime-db"."~1.26.0" = + self.by-version."mime-db"."1.26.0"; + by-version."mime-db"."1.26.0" = self.buildNodePackage { + name = "mime-db-1.26.0"; + version = "1.26.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz"; + name = "mime-db-1.26.0.tgz"; + sha1 = "eaffcd0e4fc6935cf8134da246e2e6c35305adff"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mime-types"."^2.1.12" = + self.by-version."mime-types"."2.1.14"; + by-version."mime-types"."2.1.14" = self.buildNodePackage { + name = "mime-types-2.1.14"; + version = "2.1.14"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz"; + name = "mime-types-2.1.14.tgz"; + sha1 = "f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee"; + }; + deps = { + "mime-db-1.26.0" = self.by-version."mime-db"."1.26.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."mime-types"."~2.1.7" = + self.by-version."mime-types"."2.1.14"; + by-spec."nan"."^2.3.3" = + self.by-version."nan"."2.5.1"; + by-version."nan"."2.5.1" = self.buildNodePackage { + name = "nan-2.5.1"; + version = "2.5.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz"; + name = "nan-2.5.1.tgz"; + sha1 = "d5b01691253326a97a2bbee9e61c55d8d60351e2"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."nan"."^2.3.5" = + self.by-version."nan"."2.5.1"; + by-spec."oauth-sign"."~0.8.1" = + self.by-version."oauth-sign"."0.8.2"; + by-version."oauth-sign"."0.8.2" = self.buildNodePackage { + name = "oauth-sign-0.8.2"; + version = "0.8.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz"; + name = "oauth-sign-0.8.2.tgz"; + sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."pinkie"."^2.0.0" = + self.by-version."pinkie"."2.0.4"; + by-version."pinkie"."2.0.4" = self.buildNodePackage { + name = "pinkie-2.0.4"; + version = "2.0.4"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"; + name = "pinkie-2.0.4.tgz"; + sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."pinkie-promise"."^2.0.0" = + self.by-version."pinkie-promise"."2.0.1"; + by-version."pinkie-promise"."2.0.1" = self.buildNodePackage { + name = "pinkie-promise-2.0.1"; + version = "2.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; + name = "pinkie-promise-2.0.1.tgz"; + sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; + }; + deps = { + "pinkie-2.0.4" = self.by-version."pinkie"."2.0.4"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."process-nextick-args"."~1.0.6" = + self.by-version."process-nextick-args"."1.0.7"; + by-version."process-nextick-args"."1.0.7" = self.buildNodePackage { + name = "process-nextick-args-1.0.7"; + version = "1.0.7"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"; + name = "process-nextick-args-1.0.7.tgz"; + sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."punycode"."^1.4.1" = + self.by-version."punycode"."1.4.1"; + by-version."punycode"."1.4.1" = self.buildNodePackage { + name = "punycode-1.4.1"; + version = "1.4.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"; + name = "punycode-1.4.1.tgz"; + sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."qs"."~6.3.0" = + self.by-version."qs"."6.3.0"; + by-version."qs"."6.3.0" = self.buildNodePackage { + name = "qs-6.3.0"; + version = "6.3.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz"; + name = "qs-6.3.0.tgz"; + sha1 = "f403b264f23bc01228c74131b407f18d5ea5d442"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."readable-stream"."^2.2.2" = + self.by-version."readable-stream"."2.2.2"; + by-version."readable-stream"."2.2.2" = self.buildNodePackage { + name = "readable-stream-2.2.2"; + version = "2.2.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz"; + name = "readable-stream-2.2.2.tgz"; + sha1 = "a9e6fec3c7dda85f8bb1b3ba7028604556fc825e"; + }; + deps = { + "buffer-shims-1.0.0" = self.by-version."buffer-shims"."1.0.0"; + "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2"; + "isarray-1.0.0" = self.by-version."isarray"."1.0.0"; + "inherits-2.0.3" = self.by-version."inherits"."2.0.3"; + "process-nextick-args-1.0.7" = self.by-version."process-nextick-args"."1.0.7"; + "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31"; + "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."request"."*" = + self.by-version."request"."2.79.0"; + by-version."request"."2.79.0" = self.buildNodePackage { + name = "request-2.79.0"; + version = "2.79.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/request/-/request-2.79.0.tgz"; + name = "request-2.79.0.tgz"; + sha1 = "4dfe5bf6be8b8cdc37fcf93e04b65577722710de"; + }; + deps = { + "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0"; + "aws4-1.5.0" = self.by-version."aws4"."1.5.0"; + "caseless-0.11.0" = self.by-version."caseless"."0.11.0"; + "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5"; + "extend-3.0.0" = self.by-version."extend"."3.0.0"; + "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1"; + "form-data-2.1.2" = self.by-version."form-data"."2.1.2"; + "har-validator-2.0.6" = self.by-version."har-validator"."2.0.6"; + "hawk-3.1.3" = self.by-version."hawk"."3.1.3"; + "http-signature-1.1.1" = self.by-version."http-signature"."1.1.1"; + "is-typedarray-1.0.0" = self.by-version."is-typedarray"."1.0.0"; + "isstream-0.1.2" = self.by-version."isstream"."0.1.2"; + "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1"; + "mime-types-2.1.14" = self.by-version."mime-types"."2.1.14"; + "oauth-sign-0.8.2" = self.by-version."oauth-sign"."0.8.2"; + "qs-6.3.0" = self.by-version."qs"."6.3.0"; + "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5"; + "tough-cookie-2.3.2" = self.by-version."tough-cookie"."2.3.2"; + "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3"; + "uuid-3.0.1" = self.by-version."uuid"."3.0.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "request" = self.by-version."request"."2.79.0"; + by-spec."sax"."^1.2.1" = + self.by-version."sax"."1.2.1"; + by-version."sax"."1.2.1" = self.buildNodePackage { + name = "sax-1.2.1"; + version = "1.2.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz"; + name = "sax-1.2.1.tgz"; + sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."shell-quote"."*" = + self.by-version."shell-quote"."1.6.1"; + by-version."shell-quote"."1.6.1" = self.buildNodePackage { + name = "shell-quote-1.6.1"; + version = "1.6.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz"; + name = "shell-quote-1.6.1.tgz"; + sha1 = "f4781949cce402697127430ea3b3c5476f481767"; + }; + deps = { + "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0"; + "array-filter-0.0.1" = self.by-version."array-filter"."0.0.1"; + "array-reduce-0.0.0" = self.by-version."array-reduce"."0.0.0"; + "array-map-0.0.0" = self.by-version."array-map"."0.0.0"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + "shell-quote" = self.by-version."shell-quote"."1.6.1"; + by-spec."sntp"."1.x.x" = + self.by-version."sntp"."1.0.9"; + by-version."sntp"."1.0.9" = self.buildNodePackage { + name = "sntp-1.0.9"; + version = "1.0.9"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"; + name = "sntp-1.0.9.tgz"; + sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198"; + }; + deps = { + "hoek-2.16.3" = self.by-version."hoek"."2.16.3"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."sshpk"."^1.7.0" = + self.by-version."sshpk"."1.10.2"; + by-version."sshpk"."1.10.2" = self.buildNodePackage { + name = "sshpk-1.10.2"; + version = "1.10.2"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz"; + name = "sshpk-1.10.2.tgz"; + sha1 = "d5a804ce22695515638e798dbe23273de070a5fa"; + }; + deps = { + "asn1-0.2.3" = self.by-version."asn1"."0.2.3"; + "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0"; + "dashdash-1.14.1" = self.by-version."dashdash"."1.14.1"; + "getpass-0.1.6" = self.by-version."getpass"."0.1.6"; + }; + optionalDependencies = { + "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0"; + "tweetnacl-0.14.5" = self.by-version."tweetnacl"."0.14.5"; + "jodid25519-1.0.2" = self.by-version."jodid25519"."1.0.2"; + "ecc-jsbn-0.1.1" = self.by-version."ecc-jsbn"."0.1.1"; + "bcrypt-pbkdf-1.0.1" = self.by-version."bcrypt-pbkdf"."1.0.1"; + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."string_decoder"."~0.10.x" = + self.by-version."string_decoder"."0.10.31"; + by-version."string_decoder"."0.10.31" = self.buildNodePackage { + name = "string_decoder-0.10.31"; + version = "0.10.31"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"; + name = "string_decoder-0.10.31.tgz"; + sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."stringstream"."~0.0.4" = + self.by-version."stringstream"."0.0.5"; + by-version."stringstream"."0.0.5" = self.buildNodePackage { + name = "stringstream-0.0.5"; + version = "0.0.5"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz"; + name = "stringstream-0.0.5.tgz"; + sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."strip-ansi"."^3.0.0" = + self.by-version."strip-ansi"."3.0.1"; + by-version."strip-ansi"."3.0.1" = self.buildNodePackage { + name = "strip-ansi-3.0.1"; + version = "3.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"; + name = "strip-ansi-3.0.1.tgz"; + sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; + }; + deps = { + "ansi-regex-2.1.1" = self.by-version."ansi-regex"."2.1.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."supports-color"."^2.0.0" = + self.by-version."supports-color"."2.0.0"; + by-version."supports-color"."2.0.0" = self.buildNodePackage { + name = "supports-color-2.0.0"; + version = "2.0.0"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"; + name = "supports-color-2.0.0.tgz"; + sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."tough-cookie"."~2.3.0" = + self.by-version."tough-cookie"."2.3.2"; + by-version."tough-cookie"."2.3.2" = self.buildNodePackage { + name = "tough-cookie-2.3.2"; + version = "2.3.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz"; + name = "tough-cookie-2.3.2.tgz"; + sha1 = "f081f76e4c85720e6c37a5faced737150d84072a"; + }; + deps = { + "punycode-1.4.1" = self.by-version."punycode"."1.4.1"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."tunnel-agent"."~0.4.1" = + self.by-version."tunnel-agent"."0.4.3"; + by-version."tunnel-agent"."0.4.3" = self.buildNodePackage { + name = "tunnel-agent-0.4.3"; + version = "0.4.3"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz"; + name = "tunnel-agent-0.4.3.tgz"; + sha1 = "6373db76909fe570e08d73583365ed828a74eeeb"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."tweetnacl"."^0.14.3" = + self.by-version."tweetnacl"."0.14.5"; + by-version."tweetnacl"."0.14.5" = self.buildNodePackage { + name = "tweetnacl-0.14.5"; + version = "0.14.5"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"; + name = "tweetnacl-0.14.5.tgz"; + sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."tweetnacl"."~0.14.0" = + self.by-version."tweetnacl"."0.14.5"; + by-spec."util-deprecate"."~1.0.1" = + self.by-version."util-deprecate"."1.0.2"; + by-version."util-deprecate"."1.0.2" = self.buildNodePackage { + name = "util-deprecate-1.0.2"; + version = "1.0.2"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; + name = "util-deprecate-1.0.2.tgz"; + sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."uuid"."^3.0.0" = + self.by-version."uuid"."3.0.1"; + by-version."uuid"."3.0.1" = self.buildNodePackage { + name = "uuid-3.0.1"; + version = "3.0.1"; + bin = true; + src = fetchurl { + url = "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz"; + name = "uuid-3.0.1.tgz"; + sha1 = "6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."verror"."1.3.6" = + self.by-version."verror"."1.3.6"; + by-version."verror"."1.3.6" = self.buildNodePackage { + name = "verror-1.3.6"; + version = "1.3.6"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz"; + name = "verror-1.3.6.tgz"; + sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c"; + }; + deps = { + "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2"; + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; + by-spec."xtend"."^4.0.0" = + self.by-version."xtend"."4.0.1"; + by-version."xtend"."4.0.1" = self.buildNodePackage { + name = "xtend-4.0.1"; + version = "4.0.1"; + bin = false; + src = fetchurl { + url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz"; + name = "xtend-4.0.1.tgz"; + sha1 = "a5c6d532be656e23db820efb943a1f04998d63af"; + }; + deps = { + }; + optionalDependencies = { + }; + peerDependencies = []; + os = [ ]; + cpu = [ ]; + }; +} diff --git a/krebs/5pkgs/simple/noVNC/default.nix b/krebs/5pkgs/simple/noVNC/default.nix new file mode 100644 index 000000000..45c3afb3a --- /dev/null +++ b/krebs/5pkgs/simple/noVNC/default.nix @@ -0,0 +1,21 @@ +{ fetchgit, lib, stdenv, ... }: +with builtins; +with lib; +stdenv.mkDerivation rec { + name = "${baseNameOf src.name}-${removePrefix "refs/tags/v" src.rev}"; + + src = fetchgit { + url = https://github.com/kanaka/noVNC; + rev = "refs/tags/v0.5.1"; + sha256 = "1vckvvfcawgfqmx415r5rnl6k2alx53jbqmsj49kxpbdvvxpb49d"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = '' + cp -R . $out + ''; +} diff --git a/krebs/5pkgs/simple/painload/default.nix b/krebs/5pkgs/simple/painload/default.nix new file mode 100644 index 000000000..136ec4394 --- /dev/null +++ b/krebs/5pkgs/simple/painload/default.nix @@ -0,0 +1,7 @@ +{ fetchgit, ... }: + +fetchgit { + url = https://github.com/krebscode/painload; + rev = "c113487f73713a03b1a139b22bb34b86234d0495"; + sha256 = "1irxklnmvm8wsa70ypjahkr8rfqq7357vcy8r0x1sfncs1hy6gr6"; +} diff --git a/krebs/5pkgs/simple/passwdqc-utils/default.nix b/krebs/5pkgs/simple/passwdqc-utils/default.nix new file mode 100644 index 000000000..53e7f5482 --- /dev/null +++ b/krebs/5pkgs/simple/passwdqc-utils/default.nix @@ -0,0 +1,37 @@ +{ stdenv, pam, + fetchurl, lib, + wordset-file ? null, # set your own wordset-file + ... }: + +stdenv.mkDerivation rec { + name = "passwdqc-utils-${version}"; + version = "1.3.0"; + buildInputs = [ pam ]; + + src = fetchurl { + url = "http://www.openwall.com/passwdqc/passwdqc-${version}.tar.gz"; + sha256 = "0l3zbrp4pvah0dz33m48aqlz9nx663cc1fqhnlwr0p853b10la93"; + }; + + buildTargets = "utils"; + installFlags= [ "BINDIR=$(out)/bin" + "CONFDIR=$(out)/etc" + "SHARED_LIBDIR=$(out)/lib" + "DEVEL_LIBDIR=$(out)/lib" + "SECUREDIR=$(out)/lib/security" + "INCLUDEDIR=$(out)/include" + "MANDIR=$(out)/man" ]; + + patchPhase = lib.optionalString (wordset-file != null) '' + cp -f ${wordset-file} wordset_4k.c + ''; + + installTargets = "install_lib install_utils"; + + meta = { + description = "passwdqc utils (pwqgen,pwqcheck) and library"; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.makefu ]; + patforms = stdenv.lib.platforms.linux; # more installFlags must be set for Darwin,Solaris + }; +} diff --git a/krebs/5pkgs/simple/populate/default.nix b/krebs/5pkgs/simple/populate/default.nix new file mode 100644 index 000000000..3ec432229 --- /dev/null +++ b/krebs/5pkgs/simple/populate/default.nix @@ -0,0 +1,36 @@ +{ coreutils, fetchgit, git, jq, openssh, proot, rsync, stdenv, ... }: + +let + PATH = stdenv.lib.makeBinPath [ + coreutils + git + jq + openssh + proot + rsync + ]; +in + +stdenv.mkDerivation rec { + name = "populate"; + version = "1.2.0"; + + src = fetchgit { + url = http://cgit.ni.krebsco.de/populate; + rev = "refs/tags/v${version}"; + sha256 = "0q3110hkkxn9bc3a63xbx1hyd1fpzz4wrck4lng3j5a9i1y1jm07"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = '' + sed \ + '1s,.*,&\nPATH=${PATH},' \ + -i bin/populate + + cp -r . $out + ''; +} diff --git a/krebs/5pkgs/simple/posix-array/default.nix b/krebs/5pkgs/simple/posix-array/default.nix new file mode 100644 index 000000000..cfcdb29a7 --- /dev/null +++ b/krebs/5pkgs/simple/posix-array/default.nix @@ -0,0 +1,30 @@ +{ fetchgit, lib, stdenv, ... }: + +stdenv.mkDerivation rec { + name = "posix-array-${version}"; + version = "1.0.0"; + + src = fetchgit { + url = https://github.com/makefu/array.git; + rev = "refs/tags/${version}"; + sha256 = "0yzwlhdg1rgc4p64ny7gj30l7z6vikhskhppsa2qj7s9gm2gz938"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = '' + mkdir -p $out/bin + cp -a ./array $out/bin + ''; + + meta = { + description = "POSIX-compliant array implementation"; + url = https://github.com/makefu/array; + license = lib.licenses.wtfpl; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ makefu ]; + }; +} diff --git a/krebs/5pkgs/simple/pssh/default.nix b/krebs/5pkgs/simple/pssh/default.nix new file mode 100644 index 000000000..2676af0cf --- /dev/null +++ b/krebs/5pkgs/simple/pssh/default.nix @@ -0,0 +1,36 @@ +{ writeDashBin }: + +writeDashBin "pssh" '' + set -efu + case ''${1-} in + + # TODO create plog with -o json | jq ... | map date + + # usage: pssh {-j,--journal} host... + # Follow journal at each host. + -j|--journal) + shift + "$0" journalctl -n0 -ocat --follow --all ::: "$@" \ + | while read line; do + printf '%s %s\n' "$(date --rfc-3339=s)" "$line" + done + ;; + + -*) + echo $0: unknown option: $1 >&2 + exit 1 + ;; + + # usage: pssh command [arg...] ::: host... + # Run command at each host. + *) + exec parallel \ + --line-buffer \ + -j0 \ + --no-notice \ + --tagstring {} \ + ssh -T {} "$@" + ;; + + esac +'' diff --git a/krebs/5pkgs/simple/push/default.nix b/krebs/5pkgs/simple/push/default.nix new file mode 100644 index 000000000..2e0291aac --- /dev/null +++ b/krebs/5pkgs/simple/push/default.nix @@ -0,0 +1,49 @@ +{ fetchgit, lib, stdenv +, coreutils +, git +, gnumake +, gnused +, jq +, nix +, openssh +, parallel +, ... }: + +stdenv.mkDerivation { + name = "push-1.1.2"; + + src = fetchgit { + url = http://cgit.ni.krebsco.de/push; + rev = "da5b3a4b05ef822cc41d36b6cc2071a2e78506d4"; + sha256 = "0gfxz207lm11g77rw02jcqpvzhx07j9hzgjgscbmslzl5r8icd6g"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = + let + path = lib.makeBinPath [ + coreutils + git + gnumake + gnused + jq + nix + openssh + parallel + ]; + in + '' + mkdir -p $out/bin + + sed \ + '1s,.*,&\nPATH=${path},' \ + < ./push \ + > $out/bin/push + + chmod +x $out/bin/push + ''; +} diff --git a/krebs/5pkgs/simple/realwallpaper/default.nix b/krebs/5pkgs/simple/realwallpaper/default.nix new file mode 100644 index 000000000..15cc277a5 --- /dev/null +++ b/krebs/5pkgs/simple/realwallpaper/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchgit, xplanet, imagemagick, curl, file }: + +stdenv.mkDerivation { + name = "realwallpaper"; + + src = fetchgit { + url = https://github.com/Lassulus/realwallpaper; + rev = "e0563289c2ab592b669ce4549fc40130246e9d79"; + sha256 = "1zgk8ips2d686216h203w62wrw7zy9z0lrndx9f8z6f1vpvjcmqc"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + buildInputs = [ + ]; + + installPhase = '' + mkdir -p $out + cp realwallpaper.sh $out/realwallpaper.sh + ''; +} diff --git a/krebs/5pkgs/simple/repo-sync/default.nix b/krebs/5pkgs/simple/repo-sync/default.nix new file mode 100644 index 000000000..7cba87b09 --- /dev/null +++ b/krebs/5pkgs/simple/repo-sync/default.nix @@ -0,0 +1,21 @@ +{ lib, pkgs, python3Packages, fetchurl, ... }: + +with python3Packages; buildPythonPackage rec { + name = "repo-sync-${version}"; + version = "0.2.6"; + disabled = isPy26 || isPy27; + propagatedBuildInputs = [ + docopt + GitPython + pkgs.git + ]; + src = fetchurl { + url = "https://pypi.python.org/packages/source/r/repo-sync/repo-sync-${version}.tar.gz"; + sha256 = "1hqa9qw9qg7mxgniqzys9szycs05llg4yik8a9wz94a437zzarsk"; + }; + meta = { + homepage = http://github.com/makefu/repo-sync; + description = "Sync remotes to other remotes."; + license = lib.licenses.mit; + }; +} diff --git a/krebs/5pkgs/simple/retiolum-bootstrap/default.nix b/krebs/5pkgs/simple/retiolum-bootstrap/default.nix new file mode 100644 index 000000000..331b1cb7f --- /dev/null +++ b/krebs/5pkgs/simple/retiolum-bootstrap/default.nix @@ -0,0 +1,29 @@ +{ stdenv,lib,fetchurl, ... }: +with lib; +stdenv.mkDerivation rec { + name = "retiolum-bootstrap"; + version = "4.2.3"; + + + src = fetchurl { + url = https://raw.githubusercontent.com/krebscode/painload/master/retiolum/scripts/tinc_setup/new_install.sh; + sha256 = "03kmil8q2xm3rdm2jxyah7vww84pw6w01d0c3siid9zpn2j7la9s"; + }; + + phases = [ + "installPhase" + ]; + + installPhase = '' + mkdir -p "$out" + cp -a ${src} $out/retiolum.sh + ''; + + meta = { + description = "Retiolum boostrap scripts"; + url = https://github.com/krebscode/painload; + license = licenses.wtfpl; + platforms = platforms.unix; + maintainers = with maintainers; [ makefu ]; + }; +} diff --git a/krebs/5pkgs/simple/rutorrent/default.nix b/krebs/5pkgs/simple/rutorrent/default.nix new file mode 100644 index 000000000..1084e7ce7 --- /dev/null +++ b/krebs/5pkgs/simple/rutorrent/default.nix @@ -0,0 +1,15 @@ +{ pkgs, ... }: +pkgs.stdenv.mkDerivation { + name = "rutorrent-src_2016-12-09"; + src = pkgs.fetchFromGitHub { + owner = "Novik"; + repo = "rutorrent"; + rev = "580bba8c538b55c1f75f3ad65310ff4ff2a153f7"; + sha256 = "1d9lgrzipy58dnx88z393p152kx6lki0x4aw40k8w9awsci4cx7p"; + }; + + phases = [ "installPhase" ]; + installPhase = '' + cp -r $src $out + ''; +} diff --git a/krebs/5pkgs/simple/tarantool/default.nix b/krebs/5pkgs/simple/tarantool/default.nix new file mode 100644 index 000000000..9e22fd4f3 --- /dev/null +++ b/krebs/5pkgs/simple/tarantool/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchgit, cmake, ncurses, openssl, readline, ... }: + +stdenv.mkDerivation rec { + name = "tarantool-1.7.1-164-g0fd0239"; + src = fetchgit { + url = https://github.com/tarantool/tarantool; + rev = builtins.elemAt (builtins.match ".*-g([0-9a-f]+)" name) 0; + sha256 = "1jnaiizbl9j4a8vsihqx75iqa9bkh1kpwsyrgmim8ikiyzfw54dz"; + fetchSubmodules = true; + }; + buildInputs = [ + cmake + ncurses + openssl + readline + ]; + preConfigure = '' + echo ${(builtins.parseDrvName name).version} > VERSION + sed -i 's/NAMES termcap/NAMES ncurses/' cmake/FindTermcap.cmake + ''; +} diff --git a/krebs/5pkgs/simple/tinc_graphs/default.nix b/krebs/5pkgs/simple/tinc_graphs/default.nix new file mode 100644 index 000000000..20bbc53ba --- /dev/null +++ b/krebs/5pkgs/simple/tinc_graphs/default.nix @@ -0,0 +1,26 @@ +{stdenv,fetchurl,pkgs,python3Packages, ... }: + +python3Packages.buildPythonPackage rec { + name = "tinc_graphs-${version}"; + version = "0.3.10"; + propagatedBuildInputs = with pkgs;[ + python3Packages.pygeoip + ## ${geolite-legacy}/share/GeoIP/GeoIPCity.dat + ]; + src = fetchurl { + url = "mirror://pypi/t/tinc_graphs/${name}.tar.gz"; + sha256 = "0f4cvb9424fhfmc0hbzmynzh9528fyhx00ayq1nbpgd1p89yw7mc"; + }; + preFixup = with pkgs;'' + wrapProgram $out/bin/build-graphs --prefix PATH : "$out/bin" + wrapProgram $out/bin/all-the-graphs --prefix PATH : "${imagemagick}/bin:${graphviz}/bin:$out/bin" + wrapProgram $out/bin/tinc-stats2json --prefix PATH : "${tinc}/bin" + ''; + + meta = { + homepage = http://krebsco.de/; + description = "Create Graphs from Tinc Stats"; + license = stdenv.lib.licenses.wtfpl; + }; +} + diff --git a/krebs/5pkgs/simple/translate-shell/default.nix b/krebs/5pkgs/simple/translate-shell/default.nix new file mode 100644 index 000000000..00ab226e5 --- /dev/null +++ b/krebs/5pkgs/simple/translate-shell/default.nix @@ -0,0 +1,43 @@ +{stdenv, fetchurl,pkgs,... }: +let + s = + rec { + baseName="translate-shell"; + version="0.9.0.9"; + name="${baseName}-${version}"; + url=https://github.com/soimort/translate-shell/archive/v0.9.0.9.tar.gz; + sha256="1269j4yr9dr1d8c5kmysbzfplbgdg8apqnzs5w57d29sd7gz2i34"; + }; + searchpath = with pkgs; stdenv.lib.makeSearchPath "bin" [ + fribidi + gawk + bash + curl + less + ]; + buildInputs = [ + pkgs.makeWrapper + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + # TODO: maybe mplayer + installPhase = '' + mkdir -p $out/bin + make PREFIX=$out install + wrapProgram $out/bin/trans --suffix PATH : "${searchpath}" + ''; + + meta = { + inherit (s) version; + description = ''translate using google api''; + license = stdenv.lib.licenses.free; + maintainers = [stdenv.lib.maintainers.makefu]; + platforms = stdenv.lib.platforms.linux ; + }; +} + diff --git a/krebs/5pkgs/simple/treq/default.nix b/krebs/5pkgs/simple/treq/default.nix new file mode 100644 index 000000000..20387b9cb --- /dev/null +++ b/krebs/5pkgs/simple/treq/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, pythonPackages }: + +pythonPackages.buildPythonPackage rec { + name = "${pname}-${version}"; + pname = "treq"; + version = "15.1.0"; + src = fetchurl { + url = "mirror://pypi/t/${pname}/${name}.tar.gz"; + sha256= "425a47d5d52a993d51211028fb6ade252e5fbea094e878bb4b644096a7322de8"; + }; + propagatedBuildInputs = with pythonPackages; [ + twisted + pyopenssl + requests2 + service-identity + ]; +} diff --git a/krebs/5pkgs/simple/untilport/default.nix b/krebs/5pkgs/simple/untilport/default.nix new file mode 100644 index 000000000..61bcc2b89 --- /dev/null +++ b/krebs/5pkgs/simple/untilport/default.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +pkgs.writeDashBin "untilport" '' + set -euf + + usage() { + echo 'untiport $target $port' + echo 'Sleeps until the destinated port is reachable.' + echo 'ex: untilport google.de 80 && echo "google is now reachable"' + } + + + if [ $# -ne 2 ]; then + usage + else + until ${pkgs.netcat-openbsd}/bin/nc -z "$@"; do sleep 1; done + fi +'' diff --git a/krebs/5pkgs/simple/urlwatch/default.nix b/krebs/5pkgs/simple/urlwatch/default.nix new file mode 100644 index 000000000..7ffbd8870 --- /dev/null +++ b/krebs/5pkgs/simple/urlwatch/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, python3Packages }: + +python3Packages.buildPythonPackage rec { + name = "urlwatch-2.5"; + + src = fetchurl { + url = "https://thp.io/2008/urlwatch/${name}.tar.gz"; + sha256 = "0qirpymdmpsx0klmhbx3icmiwpm6fx4wjma646gl9m90pifs8430"; + }; + + propagatedBuildInputs = with python3Packages; [ + keyring + minidb + pyyaml + requests2 + ]; + + meta = { + description = "A tool for monitoring webpages for updates"; + homepage = https://thp.io/2008/urlwatch/; + license = stdenv.lib.licenses.bsd3; + maintainers = [ stdenv.lib.maintainers.tv ]; + }; +} diff --git a/krebs/5pkgs/simple/weechat/default.nix b/krebs/5pkgs/simple/weechat/default.nix new file mode 100644 index 000000000..c703ca8bf --- /dev/null +++ b/krebs/5pkgs/simple/weechat/default.nix @@ -0,0 +1,80 @@ +{ stdenv, fetchurl, ncurses, openssl, aspell, gnutls +, zlib, curl , pkgconfig, libgcrypt +, cmake, makeWrapper, libiconv +, asciidoctor # manpages +, guileSupport ? true, guile +, luaSupport ? true, lua5 +, perlSupport ? true, perl +, pythonPackages +, rubySupport ? true, ruby +, tclSupport ? true, tcl +, extraBuildInputs ? [] }: + +assert guileSupport -> guile != null; +assert luaSupport -> lua5 != null; +assert perlSupport -> perl != null; +assert rubySupport -> ruby != null; +assert tclSupport -> tcl != null; + +let + inherit (pythonPackages) python pycrypto pync; +in + +stdenv.mkDerivation rec { + version = "1.8"; + name = "weechat-${version}"; + + src = fetchurl { + url = "http://weechat.org/files/src/weechat-${version}.tar.bz2"; + sha256 = "10km0437lg9ms6f16h20s89l2w9f9g597rykybxb16s95ql48z08"; + }; + + outputs = [ "out" "doc" ]; + + enableParallelBuilding = true; + cmakeFlags = with stdenv.lib; [ + "-DENABLE_MAN=ON" + "-DENABLE_DOC=ON" + ] + ++ optionals stdenv.isDarwin ["-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib" "-DCMAKE_FIND_FRAMEWORK=LAST"] + ++ optional (!guileSupport) "-DENABLE_GUILE=OFF" + ++ optional (!luaSupport) "-DENABLE_LUA=OFF" + ++ optional (!perlSupport) "-DENABLE_PERL=OFF" + ++ optional (!rubySupport) "-DENABLE_RUBY=OFF" + ++ optional (!tclSupport) "-DENABLE_TCL=OFF" + ; + + buildInputs = with stdenv.lib; [ + ncurses python openssl aspell gnutls zlib curl pkgconfig + libgcrypt pycrypto makeWrapper + cmake + asciidoctor + ] + ++ optional guileSupport guile + ++ optional luaSupport lua5 + ++ optional perlSupport perl + ++ optional rubySupport ruby + ++ optional tclSupport tcl + ++ extraBuildInputs; + + NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}" + # Fix '_res_9_init: undefined symbol' error + + (stdenv.lib.optionalString stdenv.isDarwin "-DBIND_8_COMPAT=1 -lresolv"); + + postInstall = with stdenv.lib; '' + NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages" + wrapProgram "$out/bin/weechat" \ + ${optionalString perlSupport "--prefix PATH : ${perl}/bin"} \ + --prefix PATH : ${pythonPackages.python}/bin \ + --prefix PYTHONPATH : "$PYTHONPATH" \ + --prefix PYTHONPATH : "$NIX_PYTHONPATH" + ''; + + meta = { + homepage = http://www.weechat.org/; + description = "A fast, light and extensible chat client"; + license = stdenv.lib.licenses.gpl3; + maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny ]; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/krebs/5pkgs/simple/whatsupnix/default.nix b/krebs/5pkgs/simple/whatsupnix/default.nix new file mode 100644 index 000000000..1a108c5e9 --- /dev/null +++ b/krebs/5pkgs/simple/whatsupnix/default.nix @@ -0,0 +1,15 @@ +{ bash, coreutils, gawk, nix, makeWrapper, stdenv }: + +stdenv.mkDerivation { + name = "whatsupnix"; + phases = [ "installPhase" ]; + nativeBuildInputs = [ makeWrapper ]; + installPhase = '' + mkdir -p $out/bin + cat - ${./whatsupnix.bash} > $out/bin/whatsupnix <<\EOF + #! ${bash}/bin/bash + export PATH=${stdenv.lib.makeBinPath [ coreutils gawk nix ]} + EOF + chmod +x $out/bin/whatsupnix + ''; +} diff --git a/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash b/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash new file mode 100644 index 000000000..a19410055 --- /dev/null +++ b/krebs/5pkgs/simple/whatsupnix/whatsupnix.bash @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +# Prints build logs for failed derivations in quiet build mode (-Q). +# See https://github.com/NixOS/nix/issues/443 +# +# Usage: +# +# set -o pipefail +# nix-build ... -Q ... | whatsupnix +# + + +GAWK=${GAWK:-gawk} +NIX_STORE=${NIX_STORE:-nix-store} + +broken=$(mktemp) +trap 'rm -f -- "$broken"' EXIT + +exec >&2 + +$GAWK -v broken="$broken" -f <(cat - <<- 'AWK' + match($0, /builder for .*(\/nix\/store\/.+\.drv).* failed/, m) { + print m[1] >> broken + } + { print $0 } +AWK +) + +export NIX_PAGER='' # for nix-store +while read -r drv; do + title="** FAILED $drv LOG **" + frame=${title//?/*} + + echo "$frame" + echo "$title" + echo "$frame" + echo + + $NIX_STORE -l "$drv" + + echo +done < "$broken" + +exit 0 diff --git a/krebs/5pkgs/simple/with-tmpdir/default.nix b/krebs/5pkgs/simple/with-tmpdir/default.nix new file mode 100644 index 000000000..9862671f8 --- /dev/null +++ b/krebs/5pkgs/simple/with-tmpdir/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchgit, coreutils, dash, ... }: + +stdenv.mkDerivation { + name = "with-tmpdir-1"; + + src = fetchgit { + url = http://cgit.ni.krebsco.de/with-tmpdir; + rev = "3243c02ed8cd27a04c080bd39560204980f6c16a"; + sha256 = "80ee6cafb2c337999ddcd1e41747d6256b7cfcea605358c2046eb7e3729555c6"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = '' + mkdir -p $out/bin + + { echo '#! ${dash}/bin/dash' + echo 'OLDPATH=$PATH' + echo 'PATH=${coreutils}/bin' + sed '$s/^/#/' ./with-tmpdir + echo '(PATH=$OLDPATH; exec "$@")' + } > $out/bin/with-tmpdir + + chmod +x $out/bin/with-tmpdir + ''; +} diff --git a/krebs/5pkgs/simple/youtube-tools/default.nix b/krebs/5pkgs/simple/youtube-tools/default.nix new file mode 100644 index 000000000..d767728be --- /dev/null +++ b/krebs/5pkgs/simple/youtube-tools/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchgit, ... }: + +stdenv.mkDerivation { + name = "youtube-tools"; + + src = fetchgit { + url = https://github.com/Lassulus/the_playlist; + rev = "9218b163f2d8bc965b853ed9fc9e13d15a703456"; + sha256 = "ae5db4be652d015a518e57e4ed2de34b9127e77d9272af3049832bb134e96e4d"; + }; + + phases = [ + "unpackPhase" + "installPhase" + ]; + + installPhase = '' + mkdir -p $out/bin + cp bin/* $out/bin/ + ''; +} diff --git a/krebs/5pkgs/simple/zandronum-bin/default.nix b/krebs/5pkgs/simple/zandronum-bin/default.nix new file mode 100644 index 000000000..e97f46add --- /dev/null +++ b/krebs/5pkgs/simple/zandronum-bin/default.nix @@ -0,0 +1,83 @@ +{ stdenv +, atk +, bzip2 +, cairo +, fetchurl +, fluidsynth +, fontconfig +, freetype +, gdk_pixbuf +, glib +, gtk2 +, libjpeg_turbo +, mesa_glu +, mesa_noglu +, openssl +, pango +, SDL +, zlib +, makeWrapper +}: + +stdenv.mkDerivation rec { + name = "zandronum-3.0"; + + src = fetchurl { + url = "http://zandronum.com/downloads/testing/3.0/ZandroDev3.0-170205-2117linux-x86_64.tar.bz2"; + sha256 = "17vrzk0m5b17sp3sqcg57r7812ma97lp3qxn9hmd39fwl1z40fz3"; + }; + + libPath = stdenv.lib.makeLibraryPath [ + atk + bzip2 + cairo + fluidsynth + fontconfig + freetype + gdk_pixbuf + glib + gtk2 + libjpeg_turbo + mesa_glu + mesa_noglu + openssl + pango + SDL + stdenv.cc.cc + zlib + ]; + + nativeBuildInputs = [ makeWrapper ]; + + phases = [ "unpackPhase" "installPhase" ]; + + sourceRoot = "."; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/share/zandronum + cp *.so *.pk3 zandronum zandronum-server $out/share/zandronum + + patchelf \ + --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ + --set-rpath $libPath:$out/share/zandronum \ + $out/share/zandronum/zandronum + patchelf \ + --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ + --set-rpath $libPath \ + $out/share/zandronum/zandronum-server + + # If we don't set absolute argv0, zandronum.wad file is not found. + makeWrapper $out/share/zandronum/zandronum $out/bin/zandronum + makeWrapper $out/share/zandronum/zandronum-server $out/bin/zandronum-server + ''; + + meta = { + homepage = http://zandronum.com/; + description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software. Binary version for online play"; + maintainers = [ stdenv.lib.maintainers.lassulus ]; + # Binary version has different version string than source code version. + license = stdenv.lib.licenses.unfreeRedistributable; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/krebs/5pkgs/tarantool/default.nix b/krebs/5pkgs/tarantool/default.nix deleted file mode 100644 index 9e22fd4f3..000000000 --- a/krebs/5pkgs/tarantool/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ stdenv, fetchgit, cmake, ncurses, openssl, readline, ... }: - -stdenv.mkDerivation rec { - name = "tarantool-1.7.1-164-g0fd0239"; - src = fetchgit { - url = https://github.com/tarantool/tarantool; - rev = builtins.elemAt (builtins.match ".*-g([0-9a-f]+)" name) 0; - sha256 = "1jnaiizbl9j4a8vsihqx75iqa9bkh1kpwsyrgmim8ikiyzfw54dz"; - fetchSubmodules = true; - }; - buildInputs = [ - cmake - ncurses - openssl - readline - ]; - preConfigure = '' - echo ${(builtins.parseDrvName name).version} > VERSION - sed -i 's/NAMES termcap/NAMES ncurses/' cmake/FindTermcap.cmake - ''; -} diff --git a/krebs/5pkgs/tinc_graphs/default.nix b/krebs/5pkgs/tinc_graphs/default.nix deleted file mode 100644 index 20bbc53ba..000000000 --- a/krebs/5pkgs/tinc_graphs/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{stdenv,fetchurl,pkgs,python3Packages, ... }: - -python3Packages.buildPythonPackage rec { - name = "tinc_graphs-${version}"; - version = "0.3.10"; - propagatedBuildInputs = with pkgs;[ - python3Packages.pygeoip - ## ${geolite-legacy}/share/GeoIP/GeoIPCity.dat - ]; - src = fetchurl { - url = "mirror://pypi/t/tinc_graphs/${name}.tar.gz"; - sha256 = "0f4cvb9424fhfmc0hbzmynzh9528fyhx00ayq1nbpgd1p89yw7mc"; - }; - preFixup = with pkgs;'' - wrapProgram $out/bin/build-graphs --prefix PATH : "$out/bin" - wrapProgram $out/bin/all-the-graphs --prefix PATH : "${imagemagick}/bin:${graphviz}/bin:$out/bin" - wrapProgram $out/bin/tinc-stats2json --prefix PATH : "${tinc}/bin" - ''; - - meta = { - homepage = http://krebsco.de/; - description = "Create Graphs from Tinc Stats"; - license = stdenv.lib.licenses.wtfpl; - }; -} - diff --git a/krebs/5pkgs/translate-shell/default.nix b/krebs/5pkgs/translate-shell/default.nix deleted file mode 100644 index 00ab226e5..000000000 --- a/krebs/5pkgs/translate-shell/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{stdenv, fetchurl,pkgs,... }: -let - s = - rec { - baseName="translate-shell"; - version="0.9.0.9"; - name="${baseName}-${version}"; - url=https://github.com/soimort/translate-shell/archive/v0.9.0.9.tar.gz; - sha256="1269j4yr9dr1d8c5kmysbzfplbgdg8apqnzs5w57d29sd7gz2i34"; - }; - searchpath = with pkgs; stdenv.lib.makeSearchPath "bin" [ - fribidi - gawk - bash - curl - less - ]; - buildInputs = [ - pkgs.makeWrapper - ]; -in -stdenv.mkDerivation { - inherit (s) name version; - inherit buildInputs; - src = fetchurl { - inherit (s) url sha256; - }; - # TODO: maybe mplayer - installPhase = '' - mkdir -p $out/bin - make PREFIX=$out install - wrapProgram $out/bin/trans --suffix PATH : "${searchpath}" - ''; - - meta = { - inherit (s) version; - description = ''translate using google api''; - license = stdenv.lib.licenses.free; - maintainers = [stdenv.lib.maintainers.makefu]; - platforms = stdenv.lib.platforms.linux ; - }; -} - diff --git a/krebs/5pkgs/treq/default.nix b/krebs/5pkgs/treq/default.nix deleted file mode 100644 index 20387b9cb..000000000 --- a/krebs/5pkgs/treq/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenv, fetchurl, pythonPackages }: - -pythonPackages.buildPythonPackage rec { - name = "${pname}-${version}"; - pname = "treq"; - version = "15.1.0"; - src = fetchurl { - url = "mirror://pypi/t/${pname}/${name}.tar.gz"; - sha256= "425a47d5d52a993d51211028fb6ade252e5fbea094e878bb4b644096a7322de8"; - }; - propagatedBuildInputs = with pythonPackages; [ - twisted - pyopenssl - requests2 - service-identity - ]; -} diff --git a/krebs/5pkgs/untilport/default.nix b/krebs/5pkgs/untilport/default.nix deleted file mode 100644 index 61bcc2b89..000000000 --- a/krebs/5pkgs/untilport/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ pkgs, ... }: - -pkgs.writeDashBin "untilport" '' - set -euf - - usage() { - echo 'untiport $target $port' - echo 'Sleeps until the destinated port is reachable.' - echo 'ex: untilport google.de 80 && echo "google is now reachable"' - } - - - if [ $# -ne 2 ]; then - usage - else - until ${pkgs.netcat-openbsd}/bin/nc -z "$@"; do sleep 1; done - fi -'' diff --git a/krebs/5pkgs/urlwatch/default.nix b/krebs/5pkgs/urlwatch/default.nix deleted file mode 100644 index 7ffbd8870..000000000 --- a/krebs/5pkgs/urlwatch/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ stdenv, fetchurl, python3Packages }: - -python3Packages.buildPythonPackage rec { - name = "urlwatch-2.5"; - - src = fetchurl { - url = "https://thp.io/2008/urlwatch/${name}.tar.gz"; - sha256 = "0qirpymdmpsx0klmhbx3icmiwpm6fx4wjma646gl9m90pifs8430"; - }; - - propagatedBuildInputs = with python3Packages; [ - keyring - minidb - pyyaml - requests2 - ]; - - meta = { - description = "A tool for monitoring webpages for updates"; - homepage = https://thp.io/2008/urlwatch/; - license = stdenv.lib.licenses.bsd3; - maintainers = [ stdenv.lib.maintainers.tv ]; - }; -} diff --git a/krebs/5pkgs/weechat/default.nix b/krebs/5pkgs/weechat/default.nix deleted file mode 100644 index c703ca8bf..000000000 --- a/krebs/5pkgs/weechat/default.nix +++ /dev/null @@ -1,80 +0,0 @@ -{ stdenv, fetchurl, ncurses, openssl, aspell, gnutls -, zlib, curl , pkgconfig, libgcrypt -, cmake, makeWrapper, libiconv -, asciidoctor # manpages -, guileSupport ? true, guile -, luaSupport ? true, lua5 -, perlSupport ? true, perl -, pythonPackages -, rubySupport ? true, ruby -, tclSupport ? true, tcl -, extraBuildInputs ? [] }: - -assert guileSupport -> guile != null; -assert luaSupport -> lua5 != null; -assert perlSupport -> perl != null; -assert rubySupport -> ruby != null; -assert tclSupport -> tcl != null; - -let - inherit (pythonPackages) python pycrypto pync; -in - -stdenv.mkDerivation rec { - version = "1.8"; - name = "weechat-${version}"; - - src = fetchurl { - url = "http://weechat.org/files/src/weechat-${version}.tar.bz2"; - sha256 = "10km0437lg9ms6f16h20s89l2w9f9g597rykybxb16s95ql48z08"; - }; - - outputs = [ "out" "doc" ]; - - enableParallelBuilding = true; - cmakeFlags = with stdenv.lib; [ - "-DENABLE_MAN=ON" - "-DENABLE_DOC=ON" - ] - ++ optionals stdenv.isDarwin ["-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib" "-DCMAKE_FIND_FRAMEWORK=LAST"] - ++ optional (!guileSupport) "-DENABLE_GUILE=OFF" - ++ optional (!luaSupport) "-DENABLE_LUA=OFF" - ++ optional (!perlSupport) "-DENABLE_PERL=OFF" - ++ optional (!rubySupport) "-DENABLE_RUBY=OFF" - ++ optional (!tclSupport) "-DENABLE_TCL=OFF" - ; - - buildInputs = with stdenv.lib; [ - ncurses python openssl aspell gnutls zlib curl pkgconfig - libgcrypt pycrypto makeWrapper - cmake - asciidoctor - ] - ++ optional guileSupport guile - ++ optional luaSupport lua5 - ++ optional perlSupport perl - ++ optional rubySupport ruby - ++ optional tclSupport tcl - ++ extraBuildInputs; - - NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}" - # Fix '_res_9_init: undefined symbol' error - + (stdenv.lib.optionalString stdenv.isDarwin "-DBIND_8_COMPAT=1 -lresolv"); - - postInstall = with stdenv.lib; '' - NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages" - wrapProgram "$out/bin/weechat" \ - ${optionalString perlSupport "--prefix PATH : ${perl}/bin"} \ - --prefix PATH : ${pythonPackages.python}/bin \ - --prefix PYTHONPATH : "$PYTHONPATH" \ - --prefix PYTHONPATH : "$NIX_PYTHONPATH" - ''; - - meta = { - homepage = http://www.weechat.org/; - description = "A fast, light and extensible chat client"; - license = stdenv.lib.licenses.gpl3; - maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny ]; - platforms = stdenv.lib.platforms.unix; - }; -} diff --git a/krebs/5pkgs/whatsupnix/default.nix b/krebs/5pkgs/whatsupnix/default.nix deleted file mode 100644 index 1a108c5e9..000000000 --- a/krebs/5pkgs/whatsupnix/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ bash, coreutils, gawk, nix, makeWrapper, stdenv }: - -stdenv.mkDerivation { - name = "whatsupnix"; - phases = [ "installPhase" ]; - nativeBuildInputs = [ makeWrapper ]; - installPhase = '' - mkdir -p $out/bin - cat - ${./whatsupnix.bash} > $out/bin/whatsupnix <<\EOF - #! ${bash}/bin/bash - export PATH=${stdenv.lib.makeBinPath [ coreutils gawk nix ]} - EOF - chmod +x $out/bin/whatsupnix - ''; -} diff --git a/krebs/5pkgs/whatsupnix/whatsupnix.bash b/krebs/5pkgs/whatsupnix/whatsupnix.bash deleted file mode 100644 index a19410055..000000000 --- a/krebs/5pkgs/whatsupnix/whatsupnix.bash +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash - -# Prints build logs for failed derivations in quiet build mode (-Q). -# See https://github.com/NixOS/nix/issues/443 -# -# Usage: -# -# set -o pipefail -# nix-build ... -Q ... | whatsupnix -# - - -GAWK=${GAWK:-gawk} -NIX_STORE=${NIX_STORE:-nix-store} - -broken=$(mktemp) -trap 'rm -f -- "$broken"' EXIT - -exec >&2 - -$GAWK -v broken="$broken" -f <(cat - <<- 'AWK' - match($0, /builder for .*(\/nix\/store\/.+\.drv).* failed/, m) { - print m[1] >> broken - } - { print $0 } -AWK -) - -export NIX_PAGER='' # for nix-store -while read -r drv; do - title="** FAILED $drv LOG **" - frame=${title//?/*} - - echo "$frame" - echo "$title" - echo "$frame" - echo - - $NIX_STORE -l "$drv" - - echo -done < "$broken" - -exit 0 diff --git a/krebs/5pkgs/with-tmpdir/default.nix b/krebs/5pkgs/with-tmpdir/default.nix deleted file mode 100644 index 9862671f8..000000000 --- a/krebs/5pkgs/with-tmpdir/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchgit, coreutils, dash, ... }: - -stdenv.mkDerivation { - name = "with-tmpdir-1"; - - src = fetchgit { - url = http://cgit.ni.krebsco.de/with-tmpdir; - rev = "3243c02ed8cd27a04c080bd39560204980f6c16a"; - sha256 = "80ee6cafb2c337999ddcd1e41747d6256b7cfcea605358c2046eb7e3729555c6"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - installPhase = '' - mkdir -p $out/bin - - { echo '#! ${dash}/bin/dash' - echo 'OLDPATH=$PATH' - echo 'PATH=${coreutils}/bin' - sed '$s/^/#/' ./with-tmpdir - echo '(PATH=$OLDPATH; exec "$@")' - } > $out/bin/with-tmpdir - - chmod +x $out/bin/with-tmpdir - ''; -} diff --git a/krebs/5pkgs/youtube-tools/default.nix b/krebs/5pkgs/youtube-tools/default.nix deleted file mode 100644 index d767728be..000000000 --- a/krebs/5pkgs/youtube-tools/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ stdenv, fetchgit, ... }: - -stdenv.mkDerivation { - name = "youtube-tools"; - - src = fetchgit { - url = https://github.com/Lassulus/the_playlist; - rev = "9218b163f2d8bc965b853ed9fc9e13d15a703456"; - sha256 = "ae5db4be652d015a518e57e4ed2de34b9127e77d9272af3049832bb134e96e4d"; - }; - - phases = [ - "unpackPhase" - "installPhase" - ]; - - installPhase = '' - mkdir -p $out/bin - cp bin/* $out/bin/ - ''; -} diff --git a/krebs/5pkgs/zandronum-bin/default.nix b/krebs/5pkgs/zandronum-bin/default.nix deleted file mode 100644 index e97f46add..000000000 --- a/krebs/5pkgs/zandronum-bin/default.nix +++ /dev/null @@ -1,83 +0,0 @@ -{ stdenv -, atk -, bzip2 -, cairo -, fetchurl -, fluidsynth -, fontconfig -, freetype -, gdk_pixbuf -, glib -, gtk2 -, libjpeg_turbo -, mesa_glu -, mesa_noglu -, openssl -, pango -, SDL -, zlib -, makeWrapper -}: - -stdenv.mkDerivation rec { - name = "zandronum-3.0"; - - src = fetchurl { - url = "http://zandronum.com/downloads/testing/3.0/ZandroDev3.0-170205-2117linux-x86_64.tar.bz2"; - sha256 = "17vrzk0m5b17sp3sqcg57r7812ma97lp3qxn9hmd39fwl1z40fz3"; - }; - - libPath = stdenv.lib.makeLibraryPath [ - atk - bzip2 - cairo - fluidsynth - fontconfig - freetype - gdk_pixbuf - glib - gtk2 - libjpeg_turbo - mesa_glu - mesa_noglu - openssl - pango - SDL - stdenv.cc.cc - zlib - ]; - - nativeBuildInputs = [ makeWrapper ]; - - phases = [ "unpackPhase" "installPhase" ]; - - sourceRoot = "."; - - installPhase = '' - mkdir -p $out/bin - mkdir -p $out/share/zandronum - cp *.so *.pk3 zandronum zandronum-server $out/share/zandronum - - patchelf \ - --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ - --set-rpath $libPath:$out/share/zandronum \ - $out/share/zandronum/zandronum - patchelf \ - --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \ - --set-rpath $libPath \ - $out/share/zandronum/zandronum-server - - # If we don't set absolute argv0, zandronum.wad file is not found. - makeWrapper $out/share/zandronum/zandronum $out/bin/zandronum - makeWrapper $out/share/zandronum/zandronum-server $out/bin/zandronum-server - ''; - - meta = { - homepage = http://zandronum.com/; - description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software. Binary version for online play"; - maintainers = [ stdenv.lib.maintainers.lassulus ]; - # Binary version has different version string than source code version. - license = stdenv.lib.licenses.unfreeRedistributable; - platforms = [ "x86_64-linux" ]; - }; -} -- cgit v1.2.3 [cgit] Unable to lock slot /tmp/cgit/81000000.lock: No such file or directory (2)