summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'krebs/5pkgs')
-rw-r--r--krebs/5pkgs/cac/default.nix (renamed from krebs/5pkgs/cac.nix)0
-rw-r--r--krebs/5pkgs/charybdis/default.nix34
-rw-r--r--krebs/5pkgs/charybdis/remove-setenv.patch12
-rw-r--r--krebs/5pkgs/default.nix56
-rw-r--r--krebs/5pkgs/dic/default.nix (renamed from krebs/5pkgs/dic.nix)0
-rw-r--r--krebs/5pkgs/genid/default.nix (renamed from krebs/5pkgs/genid.nix)0
-rw-r--r--krebs/5pkgs/github-hosts-sync/default.nix (renamed from krebs/5pkgs/github-hosts-sync.nix)0
-rw-r--r--krebs/5pkgs/github-known_hosts/default.nix (renamed from krebs/5pkgs/github-known_hosts.nix)2
-rw-r--r--krebs/5pkgs/github-known_hosts/github.ssh.pub1
-rw-r--r--krebs/5pkgs/hashPassword/default.nix (renamed from krebs/5pkgs/hashPassword.nix)0
-rw-r--r--krebs/5pkgs/lentil/default.nix15
-rw-r--r--krebs/5pkgs/lentil/syntaxes.patch11
-rw-r--r--krebs/5pkgs/much/default.nix64
-rw-r--r--krebs/5pkgs/nq/default.nix16
-rw-r--r--krebs/5pkgs/posix-array/default.nix (renamed from krebs/5pkgs/posix-array.nix)0
-rw-r--r--krebs/5pkgs/pssh/default.nix37
-rw-r--r--krebs/5pkgs/youtube-tools/default.nix21
17 files changed, 258 insertions, 11 deletions
diff --git a/krebs/5pkgs/cac.nix b/krebs/5pkgs/cac/default.nix
index eff523048..eff523048 100644
--- a/krebs/5pkgs/cac.nix
+++ b/krebs/5pkgs/cac/default.nix
diff --git a/krebs/5pkgs/charybdis/default.nix b/krebs/5pkgs/charybdis/default.nix
new file mode 100644
index 000000000..f3e6be40e
--- /dev/null
+++ b/krebs/5pkgs/charybdis/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchgit, bison, flex, openssl }:
+
+stdenv.mkDerivation rec {
+ name = "charybdis-3.5.0-rc1";
+
+ src = fetchgit {
+ url = "https://github.com/atheme/charybdis.git";
+ rev = "61815bf9324e872f51255e09fe37a8c595f94a60";
+ sha256 = "0zsd6xk2cnspc1cvryy2296p3ix4hwjd9k24wmgbh5wzks0wahwy";
+ };
+
+ patches = [
+ ./remove-setenv.patch
+ ];
+
+ configureFlags = [
+ "--enable-epoll"
+ "--enable-ipv6"
+ "--enable-openssl=${openssl}"
+ "--enable-small-net"
+ "--with-program-prefix=charybdis-"
+ "--sysconfdir=/tmp"
+ ];
+
+ buildInputs = [ bison flex openssl ];
+
+ meta = {
+ description = "An extremely scalable ircd with some cooperation with the ratbox and ircu guys";
+ homepage = https://github.com/atheme/charybdis;
+ license = stdenv.lib.licenses.gpl2;
+ maintainers = [ stdenv.lib.maintainers.lassulus ];
+ platforms = stdenv.lib.platforms.linux;
+ };
+}
diff --git a/krebs/5pkgs/charybdis/remove-setenv.patch b/krebs/5pkgs/charybdis/remove-setenv.patch
new file mode 100644
index 000000000..bbaf95e19
--- /dev/null
+++ b/krebs/5pkgs/charybdis/remove-setenv.patch
@@ -0,0 +1,12 @@
+diff --git a/src/bandbi.c b/src/bandbi.c
+index 03dd907..3698e85 100644
+--- a/src/bandbi.c
++++ b/src/bandbi.c
+@@ -82,7 +82,6 @@ start_bandb(void)
+ const char *suffix = "";
+ #endif
+
+- rb_setenv("BANDB_DBPATH", PKGLOCALSTATEDIR "/ban.db", 1);
+ if(bandb_path == NULL)
+ {
+ rb_snprintf(fullpath, sizeof(fullpath), "%s/bandb%s", PKGLIBEXECDIR, suffix);
diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix
index 89872f1eb..500d5fe25 100644
--- a/krebs/5pkgs/default.nix
+++ b/krebs/5pkgs/default.nix
@@ -1,16 +1,52 @@
-{ pkgs, ... }:
+{ lib, pkgs, ... }:
+
+with import ../4lib { inherit lib; };
let
inherit (pkgs) callPackage;
in
-pkgs //
-{
- cac = callPackage ./cac.nix {};
- dic = callPackage ./dic.nix {};
- genid = callPackage ./genid.nix {};
- github-hosts-sync = callPackage ./github-hosts-sync.nix {};
- github-known_hosts = callPackage ./github-known_hosts.nix {};
- hashPassword = callPackage ./hashPassword.nix {};
- posix-array = callPackage ./posix-array.nix {};
+rec {
+ cac = callPackage ./cac {};
+ charybdis = callPackage ./charybdis {};
+ dic = callPackage ./dic {};
+ genid = callPackage ./genid {};
+ github-hosts-sync = callPackage ./github-hosts-sync {};
+ github-known_hosts = callPackage ./github-known_hosts {};
+ hashPassword = callPackage ./hashPassword {};
+ lentil = callPackage ./lentil {};
+ much = callPackage ./much {};
+ nq = callPackage ./nq {};
+ posix-array = callPackage ./posix-array {};
+ pssh = callPackage ./pssh {};
+ youtube-tools = callPackage ./youtube-tools {};
+
+ execve = name: { filename, argv, envp ? {}, destination ? "" }:
+ writeC name { inherit destination; } ''
+ #include <unistd.h>
+ int main () {
+ const char *filename = ${toC filename};
+ char *const argv[] = ${toC (argv ++ [null])};
+ char *const envp[] = ${toC (
+ mapAttrsToList (k: v: "${k}=${v}") envp ++ [null]
+ )};
+ execve(filename, argv, envp);
+ return -1;
+ }
+ '';
+
+ execveBin = name: cfg: execve name (cfg // { destination = "/bin/${name}"; });
+
+ writeC = name: { destination ? "" }: src: pkgs.runCommand name {} ''
+ PATH=${lib.makeSearchPath "bin" (with pkgs; [
+ binutils
+ coreutils
+ gcc
+ ])}
+ src=${pkgs.writeText "${name}.c" src}
+ exe=$out${destination}
+ mkdir -p "$(dirname "$exe")"
+ gcc -O -Wall -o "$exe" $src
+ strip --strip-unneeded "$exe"
+ '';
}
diff --git a/krebs/5pkgs/dic.nix b/krebs/5pkgs/dic/default.nix
index 571773d22..571773d22 100644
--- a/krebs/5pkgs/dic.nix
+++ b/krebs/5pkgs/dic/default.nix
diff --git a/krebs/5pkgs/genid.nix b/krebs/5pkgs/genid/default.nix
index c75bec317..c75bec317 100644
--- a/krebs/5pkgs/genid.nix
+++ b/krebs/5pkgs/genid/default.nix
diff --git a/krebs/5pkgs/github-hosts-sync.nix b/krebs/5pkgs/github-hosts-sync/default.nix
index d69b2b12b..d69b2b12b 100644
--- a/krebs/5pkgs/github-hosts-sync.nix
+++ b/krebs/5pkgs/github-hosts-sync/default.nix
diff --git a/krebs/5pkgs/github-known_hosts.nix b/krebs/5pkgs/github-known_hosts/default.nix
index 302fdd8d5..fe5efe413 100644
--- a/krebs/5pkgs/github-known_hosts.nix
+++ b/krebs/5pkgs/github-known_hosts/default.nix
@@ -4,7 +4,7 @@ with builtins;
with lib;
let
- github-pubkey = removeSuffix "\n" (readFile ../../Zpubkeys/github.ssh.pub);
+ github-pubkey = removeSuffix "\n" (readFile ./github.ssh.pub);
in
toFile "github-known_hosts"
diff --git a/krebs/5pkgs/github-known_hosts/github.ssh.pub b/krebs/5pkgs/github-known_hosts/github.ssh.pub
new file mode 100644
index 000000000..90f6e2b71
--- /dev/null
+++ b/krebs/5pkgs/github-known_hosts/github.ssh.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
diff --git a/krebs/5pkgs/hashPassword.nix b/krebs/5pkgs/hashPassword/default.nix
index a10340cc4..a10340cc4 100644
--- a/krebs/5pkgs/hashPassword.nix
+++ b/krebs/5pkgs/hashPassword/default.nix
diff --git a/krebs/5pkgs/lentil/default.nix b/krebs/5pkgs/lentil/default.nix
new file mode 100644
index 000000000..fc9b4fd31
--- /dev/null
+++ b/krebs/5pkgs/lentil/default.nix
@@ -0,0 +1,15 @@
+{ pkgs, ... }:
+
+(pkgs.haskellngPackages.override {
+ overrides = self: super: {
+ lentil = super.lentil.override {
+ mkDerivation = (attrs: self.mkDerivation (attrs // {
+ version = "0.1.3.0";
+ sha256 = "0xa59avh0bvfg69xh9p5b8dppfhx29mvfq8v41sk9j7qbcnzjivg";
+ patches = [
+ ./syntaxes.patch
+ ];
+ }));
+ };
+ };
+}).lentil
diff --git a/krebs/5pkgs/lentil/syntaxes.patch b/krebs/5pkgs/lentil/syntaxes.patch
new file mode 100644
index 000000000..a9390ae51
--- /dev/null
+++ b/krebs/5pkgs/lentil/syntaxes.patch
@@ -0,0 +1,11 @@
+diff -rN -u old-lentil/src/Lentil/Parse/Syntaxes.hs new-lentil/src/Lentil/Parse/Syntaxes.hs
+--- old-lentil/src/Lentil/Parse/Syntaxes.hs 2015-07-20 23:15:38.600539779 +0200
++++ new-lentil/src/Lentil/Parse/Syntaxes.hs 2015-07-20 23:15:38.600539779 +0200
+@@ -30,6 +30,7 @@
+ | ext `elem` [".pas", ".pp", ".inc"] = Just pascal
+ | ext `elem` [".py"] = Just python
+ | ext `elem` [".rb"] = Just ruby
++ | ext `elem` [".nix"] = Just perl -- Nix
+ | ext `elem` [".pl", ".pm", ".t"] = Just perl
+ | ext `elem` [".sh"] = Just perl -- shell
+ | ext `elem` [".txt"] = Just text
diff --git a/krebs/5pkgs/much/default.nix b/krebs/5pkgs/much/default.nix
new file mode 100644
index 000000000..82586b422
--- /dev/null
+++ b/krebs/5pkgs/much/default.nix
@@ -0,0 +1,64 @@
+{ pkgs, ... }:
+
+let
+ hspkgs = pkgs.haskellngPackages.override {
+ overrides = self: super: {
+ email-header = self.callPackage (
+{ mkDerivation, attoparsec, base, base64-bytestring, bytestring
+, case-insensitive, containers, exceptions, fetchgit, QuickCheck
+, stdenv, tasty, tasty-quickcheck, text, text-icu, time
+}:
+mkDerivation {
+ pname = "email-header";
+ version = "0.3.0";
+ src = fetchgit {
+ url = "https://github.com/4z3/email-header";
+ sha256 = "f33fba567a39b1f2448869b269c26c40d8007599c23ab83bde5b4dfd9fd76ebc";
+ rev = "7b179bd31192ead8afe7a0b6e34bcad4039deaa8";
+ };
+ buildDepends = [
+ attoparsec base base64-bytestring bytestring case-insensitive
+ containers exceptions text text-icu time
+ ];
+ testDepends = [
+ base bytestring case-insensitive containers QuickCheck tasty
+ tasty-quickcheck text time
+ ];
+ jailbreak = true;
+ homepage = "http://github.com/knrafto/email-header";
+ description = "Parsing and rendering of email and MIME headers";
+ license = stdenv.lib.licenses.bsd3;
+}
+) {};
+ };
+ };
+in
+
+hspkgs.callPackage (
+{ mkDerivation, aeson, attoparsec, base, base64-bytestring
+, blaze-builder, bytestring, case-insensitive, containers, deepseq
+, directory, docopt, email-header, fetchgit, filepath
+, friendly-time, hyphenation, linebreak, old-locale, process
+, random, rosezipper, safe, split, stdenv, terminal-size, text
+, time, transformers, transformers-compat, unix, vector
+}:
+mkDerivation {
+ pname = "much";
+ version = "0.0.0.0";
+ src = fetchgit {
+ url = "http://cgit.nomic/much";
+ sha256 = "f0bcc34456cb876d3439694d1e16db414a540e13f476fa3ff1ad70d1d3caccb2";
+ rev = "bfd854e05207a073eaa983c49f27c37555ccfce5";
+ };
+ isLibrary = false;
+ isExecutable = true;
+ buildDepends = [
+ aeson attoparsec base base64-bytestring blaze-builder bytestring
+ case-insensitive containers deepseq directory docopt email-header
+ filepath friendly-time hyphenation linebreak old-locale process
+ random rosezipper safe split terminal-size text time transformers
+ transformers-compat unix vector
+ ];
+ license = stdenv.lib.licenses.mit;
+}
+) {}
diff --git a/krebs/5pkgs/nq/default.nix b/krebs/5pkgs/nq/default.nix
new file mode 100644
index 000000000..0f397a43c
--- /dev/null
+++ b/krebs/5pkgs/nq/default.nix
@@ -0,0 +1,16 @@
+{ fetchgit, stdenv }:
+
+stdenv.mkDerivation rec {
+ name = "nq-${rev}";
+ rev = "0eae839cb1";
+
+ src = fetchgit {
+ url = https://github.com/chneukirchen/nq;
+ inherit rev;
+ sha256 = "1150274750cde934932d65bd6053d7a0ba2404a59eadfb87fc6bd8a4fb70febb";
+ };
+
+ configurePhase = ''
+ sed -i "s:^PREFIX=.*:PREFIX=$out:" Makefile
+ '';
+}
diff --git a/krebs/5pkgs/posix-array.nix b/krebs/5pkgs/posix-array/default.nix
index 456a3cc11..456a3cc11 100644
--- a/krebs/5pkgs/posix-array.nix
+++ b/krebs/5pkgs/posix-array/default.nix
diff --git a/krebs/5pkgs/pssh/default.nix b/krebs/5pkgs/pssh/default.nix
new file mode 100644
index 000000000..fd48d3e7c
--- /dev/null
+++ b/krebs/5pkgs/pssh/default.nix
@@ -0,0 +1,37 @@
+{ writeScriptBin }:
+
+writeScriptBin "pssh" ''
+ #! /bin/sh
+ 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/youtube-tools/default.nix b/krebs/5pkgs/youtube-tools/default.nix
new file mode 100644
index 000000000..d767728be
--- /dev/null
+++ b/krebs/5pkgs/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/
+ '';
+}