From cf80bdaf425c9757cf15496c62048125b1a2c822 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 1 Oct 2015 20:04:56 +0200 Subject: [PATCH 1/3] tv git: announce only via cd --- tv/2configs/git.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tv/2configs/git.nix b/tv/2configs/git.nix index 5f5fae483..da9f70629 100644 --- a/tv/2configs/git.nix +++ b/tv/2configs/git.nix @@ -58,7 +58,7 @@ let make-public-repo = name: { desc ? null, ... }: { inherit name desc; public = true; - hooks = { + hooks = optionalAttrs (config.krebs.build.host.name == "cd") { post-receive = git.irc-announce { # TODO make nick = config.krebs.build.host.name the default nick = config.krebs.build.host.name; From 4d1aebc740ffc35f97060c60e43300b9d60b5229 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 1 Oct 2015 20:33:18 +0200 Subject: [PATCH 2/3] irc-announce: allow disabling just log and diff --- tv/2configs/git.nix | 3 ++- tv/4lib/git.nix | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/tv/2configs/git.nix b/tv/2configs/git.nix index da9f70629..401cf5f4d 100644 --- a/tv/2configs/git.nix +++ b/tv/2configs/git.nix @@ -58,12 +58,13 @@ let make-public-repo = name: { desc ? null, ... }: { inherit name desc; public = true; - hooks = optionalAttrs (config.krebs.build.host.name == "cd") { + hooks = { post-receive = git.irc-announce { # TODO make nick = config.krebs.build.host.name the default nick = config.krebs.build.host.name; channel = "#retiolum"; server = "cd.retiolum"; + verbose = config.krebs.build.host.name == "cd"; }; }; }; diff --git a/tv/4lib/git.nix b/tv/4lib/git.nix index 748b77269..d8827115a 100644 --- a/tv/4lib/git.nix +++ b/tv/4lib/git.nix @@ -1,7 +1,7 @@ { lib, pkgs, ... }: let - inherit (lib) addNames escapeShellArg makeSearchPath; + inherit (lib) addNames escapeShellArg makeSearchPath optionalString; commands = addNames { git-receive-pack = {}; @@ -104,7 +104,7 @@ let hooks = { # TODO make this a package? - irc-announce = { nick, channel, server, port ? 6667 }: '' + irc-announce = { nick, channel, server, port ? 6667, verbose ? false }: '' #! /bin/sh set -euf @@ -150,7 +150,7 @@ let h=$(echo $ref | sed 's:^refs/heads/::') - # empty_tree=$(git hash-object -t tree /dev/null + # empty_tree=$(git hash-object -t tree /dev/null) empty_tree=4b825dc6 id=$(echo $newrev | cut -b-7) @@ -160,11 +160,9 @@ let case $receive_mode in create) - #git log --oneline $id2 link="$cgit_endpoint/$GIT_SSH_REPO/?h=$h" ;; delete) - #git log --oneline $id2 link="$cgit_endpoint/$GIT_SSH_REPO/ ($h)" ;; fast-forward|non-fast-forward) @@ -175,15 +173,17 @@ let #$host $GIT_SSH_REPO $ref $link add_message $(pink push) $link $(gray "($receive_mode)") - add_message "$( - git log \ - --format="$(orange %h) %s $(gray '(%ar)')" \ - --reverse \ - $id2..$id + ${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')'/' - )" + git diff --stat $id2..$id \ + | sed '$!s/\(+*\)\(-*\)$/'$(green '\1')$(red '\2')'/' + )" + ''} done From c08290763cc9e8e6015fd1cacad73b639d52aa6d Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 1 Oct 2015 21:02:30 +0200 Subject: [PATCH 3/3] jq: init at 1.5 --- krebs/5pkgs/default.nix | 1 + krebs/5pkgs/jq/default.nix | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 krebs/5pkgs/jq/default.nix diff --git a/krebs/5pkgs/default.nix b/krebs/5pkgs/default.nix index 52b5dc78c..7e136d96f 100644 --- a/krebs/5pkgs/default.nix +++ b/krebs/5pkgs/default.nix @@ -15,6 +15,7 @@ rec { github-hosts-sync = callPackage ./github-hosts-sync {}; github-known_hosts = callPackage ./github-known_hosts {}; hashPassword = callPackage ./hashPassword {}; + jq = callPackage ./jq {}; krebszones = callPackage ./krebszones {}; lentil = callPackage ./lentil {}; much = callPackage ./much {}; diff --git a/krebs/5pkgs/jq/default.nix b/krebs/5pkgs/jq/default.nix new file mode 100644 index 000000000..41db0f284 --- /dev/null +++ b/krebs/5pkgs/jq/default.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl}: +let + s = # Generated upstream information + rec { + baseName="jq"; + version="1.5"; + name="${baseName}-${version}"; + url=https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz; + sha256="0g29kyz4ykasdcrb0zmbrp2jqs9kv1wz9swx849i2d1ncknbzln4"; + }; + buildInputs = [ + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; + + # jq is linked to libjq: + configureFlags = [ + "LDFLAGS=-Wl,-rpath,\\\${libdir}" + ]; + meta = { + inherit (s) version; + description = ''A lightweight and flexible command-line JSON processor''; + license = stdenv.lib.licenses.mit ; + maintainers = [stdenv.lib.maintainers.raskin]; + platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; + }; +} +