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.