summaryrefslogtreecommitdiffstats
path: root/krebs/5pkgs
diff options
context:
space:
mode:
authorlassulus <lass@aidsballs.de>2016-02-16 17:15:00 +0100
committerlassulus <lass@aidsballs.de>2016-02-16 17:15:00 +0100
commit0b0b0d65ee05583529df831985580e392713d29a (patch)
tree7eb6799a996924d8e895c54633a47ea3d7a92a4c /krebs/5pkgs
parent3d30e9cc9014ec6189410944015d3cd7d5ca95a6 (diff)
parentb7a92f63884af00eb0243ec9328be689a6c9b845 (diff)
Merge remote-tracking branch 'cd/master'
Diffstat (limited to 'krebs/5pkgs')
-rw-r--r--krebs/5pkgs/builders.nix62
-rw-r--r--krebs/5pkgs/cac-api/default.nix3
-rw-r--r--krebs/5pkgs/default.nix98
-rw-r--r--krebs/5pkgs/haskell-overrides/xmonad-stockholm.nix8
-rw-r--r--krebs/5pkgs/noVNC/default.nix21
-rw-r--r--krebs/5pkgs/posix-array/default.nix17
-rw-r--r--krebs/5pkgs/repo-sync/default.nix19
-rwxr-xr-xkrebs/5pkgs/test/infest-cac-centos7/notes1
-rw-r--r--krebs/5pkgs/vncdotool/default.nix20
9 files changed, 168 insertions, 81 deletions
diff --git a/krebs/5pkgs/builders.nix b/krebs/5pkgs/builders.nix
new file mode 100644
index 00000000..fa51857b
--- /dev/null
+++ b/krebs/5pkgs/builders.nix
@@ -0,0 +1,62 @@
+{ config, lib, pkgs, ... }:
+with config.krebs.lib;
+rec {
+ execve = name: { filename, argv ? null, envp ? {}, destination ? "" }: let
+ in writeC name { inherit destination; } ''
+ #include <unistd.h>
+
+ static char *const filename = ${toC filename};
+
+ ${if argv == null
+ then /* Propagate arguments */ ''
+ #define MAIN_ARGS int argc, char **argv
+ ''
+ else /* Provide fixed arguments */ ''
+ #define MAIN_ARGS void
+ static char *const argv[] = ${toC (argv ++ [null])};
+ ''}
+
+ static char *const envp[] = ${toC (
+ mapAttrsToList (k: v: "${k}=${v}") envp ++ [null]
+ )};
+
+ int main (MAIN_ARGS) {
+ execve(filename, argv, envp);
+ return -1;
+ }
+ '';
+
+ execveBin = name: cfg: execve name (cfg // { destination = "/bin/${name}"; });
+
+ writeC = name: { destination ? "" }: src: pkgs.runCommand name {} ''
+ PATH=${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"
+ '';
+
+ writeDash = name: text: pkgs.writeScript name ''
+ #! ${pkgs.dash}/bin/dash
+ ${text}
+ '';
+
+ writeDashBin = name: text: pkgs.writeTextFile {
+ executable = true;
+ destination = "/bin/${name}";
+ name = name;
+ text = ''
+ #! ${pkgs.dash}/bin/dash
+ ${text}
+ '';
+ };
+
+ writeNixFromCabal = name: path: pkgs.runCommand name {} ''
+ ${pkgs.cabal2nix}/bin/cabal2nix ${path} > $out
+ '';
+}
diff --git a/krebs/5pkgs/cac-api/default.nix b/krebs/5pkgs/cac-api/default.nix
index 9ab6ac8b..30c0168f 100644
--- a/krebs/5pkgs/cac-api/default.nix
+++ b/krebs/5pkgs/cac-api/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, bc, cac-cert, coreutils, curl, dash, gnused, inotifyTools, jq, ncurses, openssh, sshpass, ... }:
+{ stdenv, fetchgit, bc, cac-cert, coreutils, curl, dash, gnugrep, gnused, inotifyTools, jq, ncurses, openssh, sshpass, ... }:
stdenv.mkDerivation {
name = "cac-api-1.1.0";
@@ -22,6 +22,7 @@ stdenv.mkDerivation {
bc
coreutils
curl
+ gnugrep
gnused
inotifyTools
jq
diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix
index c4b1dafe..d395fe00 100644
--- a/krebs/5pkgs/default.nix
+++ b/krebs/5pkgs/default.nix
@@ -1,67 +1,33 @@
-{ lib, pkgs, ... }:
-
-with lib;
-let
- subdirs = mapAttrs (_: flip pkgs.callPackage {}) (subdirsOf ./.);
- pkgs' = pkgs // subdirs;
-in
-
-subdirs // rec {
-
- haskellPackages = pkgs.haskellPackages.override {
- overrides = self: super:
- mapAttrs (name: path: self.callPackage path {})
- (mapAttrs'
- (name: type:
- if hasSuffix ".nix" name
- then {
- name = removeSuffix ".nix" name;
- value = ./haskell-overrides + "/${name}";
- }
- else null)
- (builtins.readDir ./haskell-overrides));
- };
-
- push = pkgs'.callPackage ./push {
- inherit (subdirs) get jq;
- };
-
- ReaktorPlugins = pkgs.callPackage ./Reaktor/plugins.nix {};
-
- 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;
- }
- '';
-
- test = {
- infest-cac-centos7 = pkgs.callPackage ./test/infest-cac-centos7 {};
- };
-
- execveBin = name: cfg: execve name (cfg // { destination = "/bin/${name}"; });
-
- writeC = name: { destination ? "" }: src: pkgs.runCommand name {} ''
- PATH=${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"
- '';
-
- writeNixFromCabal = name: path: pkgs.runCommand name {} ''
- ${pkgs.cabal2nix}/bin/cabal2nix ${path} > $out
- '';
+{ config, lib, pkgs, ... }@args:
+with config.krebs.lib;
+{
+ nixpkgs.config.packageOverrides = pkgs: {
+ haskellPackages = pkgs.haskellPackages.override {
+ overrides = self: super:
+ mapAttrs (name: path: self.callPackage path {})
+ (mapAttrs'
+ (name: type:
+ if hasSuffix ".nix" name
+ then {
+ name = removeSuffix ".nix" name;
+ value = ./haskell-overrides + "/${name}";
+ }
+ else null)
+ (builtins.readDir ./haskell-overrides));
+ };
+
+ push = pkgs.callPackage ./push {
+ inherit (subdirs) get jq;
+ };
+
+ ReaktorPlugins = pkgs.callPackage ./Reaktor/plugins.nix {};
+
+ test = {
+ infest-cac-centos7 = pkgs.callPackage ./test/infest-cac-centos7 {};
+ };
+ }
+ // import ./builders.nix args
+ // mapAttrs (_: flip pkgs.callPackage {})
+ (filterAttrs (_: dir.has-default-nix)
+ (subdirsOf ./.));
}
diff --git a/krebs/5pkgs/haskell-overrides/xmonad-stockholm.nix b/krebs/5pkgs/haskell-overrides/xmonad-stockholm.nix
index 09659780..12eab943 100644
--- a/krebs/5pkgs/haskell-overrides/xmonad-stockholm.nix
+++ b/krebs/5pkgs/haskell-overrides/xmonad-stockholm.nix
@@ -3,11 +3,11 @@
}:
mkDerivation {
pname = "xmonad-stockholm";
- version = "1.0.0";
+ version = "1.1.0";
src = fetchgit {
- url = "http://cgit.cd.krebsco.de/xmonad-stockholm";
- sha256 = "35dda5d16acc90af94ae2fae10ab5cc2d5b450c3f1ff2e7f515ac53877269abf";
- rev = "2dbefe42fc5cfe9093465bf3e22ba8f82feeef6e";
+ url = http://cgit.cd.krebsco.de/xmonad-stockholm;
+ rev = "179d29fd4c765dee698058ef63295331ac603639";
+ sha256 = "0c6mj68xsxxr4j8adkzhjszi7bg6cpisrsmqn587a16sblpbrnkj";
};
libraryHaskellDepends = [
base containers X11 X11-xshape xmonad xmonad-contrib
diff --git a/krebs/5pkgs/noVNC/default.nix b/krebs/5pkgs/noVNC/default.nix
new file mode 100644
index 00000000..629d288a
--- /dev/null
+++ b/krebs/5pkgs/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 = "1azsnppwnrsv3axj0r5bw8lfarkibgz5vhgcyj8dzn4afn98f55w";
+ };
+
+ phases = [
+ "unpackPhase"
+ "installPhase"
+ ];
+
+ installPhase = ''
+ cp -R . $out
+ '';
+}
diff --git a/krebs/5pkgs/posix-array/default.nix b/krebs/5pkgs/posix-array/default.nix
index 456a3cc1..cfcdb29a 100644
--- a/krebs/5pkgs/posix-array/default.nix
+++ b/krebs/5pkgs/posix-array/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchgit, ... }:
+{ fetchgit, lib, stdenv, ... }:
-with stdenv; stdenv.mkDerivation rec {
- name = "posix-array";
+stdenv.mkDerivation rec {
+ name = "posix-array-${version}";
version = "1.0.0";
src = fetchgit {
@@ -16,16 +16,15 @@ with stdenv; stdenv.mkDerivation rec {
];
installPhase = ''
- mkdir -p "$out/bin"
+ mkdir -p $out/bin
cp -a ./array $out/bin
- rm *
'';
meta = {
- description = "Posix-compliant array implementation";
+ description = "POSIX-compliant array implementation";
url = https://github.com/makefu/array;
- license = licenses.wtfpl;
- platforms = platforms.unix;
- maintainers = with maintainers; [ makefu ];
+ license = lib.licenses.wtfpl;
+ platforms = lib.platforms.unix;
+ maintainers = with lib.maintainers; [ makefu ];
};
}
diff --git a/krebs/5pkgs/repo-sync/default.nix b/krebs/5pkgs/repo-sync/default.nix
new file mode 100644
index 00000000..90f838de
--- /dev/null
+++ b/krebs/5pkgs/repo-sync/default.nix
@@ -0,0 +1,19 @@
+{ lib, pkgs, python3Packages, fetchurl, ... }:
+with python3Packages; buildPythonPackage rec {
+ name = "repo-sync-${version}";
+ version = "0.1.1";
+ disabled = isPy26 || isPy27;
+ propagatedBuildInputs = [
+ docopt
+ GitPython
+ ];
+ src = fetchurl {
+ url = "https://pypi.python.org/packages/source/r/repo-sync/repo-sync-${version}.tar.gz";
+ sha256 = "01r30l2bbsld90ps13ip0zi2a41b53dv4q6fxrzvkfrprr64c0vv";
+ };
+ meta = {
+ homepage = http://github.com/makefu/repo-sync;
+ description = "Sync remotes to other remotes.";
+ license = lib.licenses.mit;
+ };
+}
diff --git a/krebs/5pkgs/test/infest-cac-centos7/notes b/krebs/5pkgs/test/infest-cac-centos7/notes
index b3beb392..db80c0c6 100755
--- a/krebs/5pkgs/test/infest-cac-centos7/notes
+++ b/krebs/5pkgs/test/infest-cac-centos7/notes
@@ -115,7 +115,6 @@ _: {
users.extraUsers.root.openssh.authorizedKeys.keys = [
"$(cat ${krebs_ssh}.pub)"
];
- krebs.build.target = "$ip";
}
EOF
diff --git a/krebs/5pkgs/vncdotool/default.nix b/krebs/5pkgs/vncdotool/default.nix
new file mode 100644
index 00000000..95e2ca70
--- /dev/null
+++ b/krebs/5pkgs/vncdotool/default.nix
@@ -0,0 +1,20 @@
+{ lib, pythonPackages, fetchurl, ... }:
+with pythonPackages; buildPythonPackage rec {
+ name = lib.removeSuffix ".tar.gz" (builtins.baseNameOf src.name);
+
+ src = fetchurl {
+ url = https://pypi.python.org/packages/source/v/vncdotool/vncdotool-0.9.0.tar.gz;
+ sha256 = "1hl44w4x9c8air0g6kp9h1af2vj4lmc50vnsxmca9g080740iyvi";
+ };
+
+ propagatedBuildInputs = [
+ twisted
+ pillow
+ ];
+
+ meta = {
+ homepage = https://github.com/sibson/vncdotool;
+ description = "A command line VNC client and python library";
+ license = lib.licenses.mit;
+ };
+}