diff options
-rw-r--r-- | krebs/5pkgs/default.nix | 1 | ||||
-rw-r--r-- | krebs/5pkgs/jq/default.nix | 33 | ||||
-rw-r--r-- | tv/2configs/git.nix | 1 | ||||
-rw-r--r-- | tv/4lib/git.nix | 28 |
4 files changed, 49 insertions, 14 deletions
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; + }; +} + diff --git a/tv/2configs/git.nix b/tv/2configs/git.nix index 5f5fae483..401cf5f4d 100644 --- a/tv/2configs/git.nix +++ b/tv/2configs/git.nix @@ -64,6 +64,7 @@ let 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 - - git diff --stat $id2..$id \ - | sed '$!s/\(+*\)\(-*\)$/'$(green '\1')$(red '\2')'/' - )" + ${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 |