1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/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 <<EOF
- name: ${LIBNAME}
- version: 0.1.0.0
- ${SYN_FIELD}
- ${DESCR_FIELD}
- license: BSD3
- license-file: LICENSE
- author: ${USER}
- maintainer: ${USER}
- copyright: ©${YEAR} ${NAME}
- ${CAT_FIELD}
- build-type: Simple
- cabal-version: >= 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
|