#!/bin/bash -e if [ $# -eq 0 ]; then LIBNAME="$(basename $(pwd))" TGT="-" elif [ $# -eq 1 ]; then LIBNAME="$1" TGT='-' elif [ $# -eq 2 ]; then LIBNAME="$1" TGT="$2" else echo "USAGE: $0 [library name]" >&2 exit 99 fi NAME=$(git config user.name) EMAIL=$(git config user.email) USER="${NAME} <${EMAIL}>" YEAR=$(date '+%Y') if [ -z "${CATEGORY}" ]; then CAT_FIELD="-- category:" else CAT_FIELD="category: ${CATEGORY}" fi if [ -z "${SYNOPSIS}" ]; then SYN_FIELD="-- synopsis:" else SYN_FIELD="synopsis: ${SYNOPSIS}" fi if [ -z "${DESCRIPTION}" ]; then DESCR_FIELD="-- description:" else DESCR_FIELD="description: ${DESCRIPTION}" fi function cabal_file { cat <= 1.14 library -- exposed-modules: ghc-options: -Wall build-depends: base >=4.7 && <4.10 default-language: Haskell2010 default-extensions: OverloadedStrings, ScopedTypeVariables EOF } if [ "x${TGT}" = "x-" ]; then cabal_file else cabal_file >${TGT} fi