haskell-te: f6041d9a407dd4747d9bf1b23b4f4640bd5b2fca

     1: { bash, fail, gnugrep, gnused, jq, mkBin }:
     2: 
     3: mkBin {
     4:   name   = "haskellPkgNameVersion";
     5:   paths  = [ bash fail gnugrep gnused jq ];
     6:   script = ''
     7:     #!${bash}/bin/bash
     8:     set   -e
     9:     shopt -s nullglob
    10: 
    11:     [[ -n "$1" ]] || fail "haskellPkgNameVersion needs a dir as arg"
    12:     [[ -e "$1" ]] || fail "haskellPkgNameVersion arg '$1' doesn't exist"
    13: 
    14:        NAME=""
    15:     VERSION=""
    16:       COUNT=0
    17: 
    18:     for CBL in "$1"/*.cabal
    19:     do
    20:       COUNT=$(( COUNT + 1 ))
    21: 
    22:          NAME=$(grep -i '^\s*name\s*:'    < "$CBL" | cut -d ':' -f 2 |
    23:                                                      sed -e 's/\s//g')
    24:       VERSION=$(grep -i '^\s*version\s*:' < "$CBL" | cut -d ':' -f 2 |
    25:                                                      sed -e 's/\s//g')
    26:     done
    27: 
    28:     [[ "$COUNT" -eq 1 ]] || fail "Found $COUNT .cabal files in '$1'"
    29:     [[ -n "$NAME"     ]] || fail "Couldn't get project name from '$1'"
    30:     [[ -n "$VERSION"  ]] || fail "Couldn't get project version from '$1'"
    31: 
    32:     jq -n --arg name "$NAME" --arg version "$VERSION" \
    33:        '{"package": $name, "version": $version}'
    34:   '';
    35: }

Generated by git2html.