#!/bin/sh
cat /dev/null > /tmp/SeTnewtag
dialog --title "Haskell(Haskell related packages)シリーズの選択" \
  --checklist "Haskell シリーズの中からインストールしたいパッケージを \
選んでください．カーソルの上下キーで \
対象を選択し，space キーでマーク(X)します． \
Enter キーでインストールを開始します．" 24 72 15 \
"Cabal" "Haskell ソフトウェアをパッケージングするためのフレームワーク" "on" \
"aeson" "高速な JSON 構文解析とエンコーディングライブラリ" "on" \
"base64_bytestring" "ByteString 用の高速な base64 符号化と復号化" "on" \
"base_unicode_symbols" "共通関数と演算子のためのユニコードの代替" "on" \
"blaze_builder" "効率的なバッファ出力のライブラリ" "on" \
"blaze_html" "超高速な HTML コンビネータライブラリ" "on" \
"blaze_markup" "超高速なマークアップコンビネータライブラリ" "on" \
"cabal_install" "Cabal と Hackage 用コマンドラインインタフェース" "on" \
"conduit" "ストリーミングデータ処理ライブラリ" "on" \
"data_default" "デフォルト値の型のためのクラス" "on" \
"data_default_class" "デフォルト値の型のためのクラス" "on" \
"data_default_instances_base" "ベースの型のためのデフォルトインスタンス" "on" \
"data_default_instances_containers" "コンテナの型のためのデフォルトインスタンス" "on" \
"data_default_instances_dlist" "dlist の型のためのデフォルトインスタンス" "on" \
"data_default_instances_old_locale" "old-locale の型のためのデフォルトインスタンス" "on" \
"digest" "バイト列のさまざまな暗号ハッシュ" "on" \
"dlist" "差分リストのための Hakell ライブラリ" "on" \
"extensible_exceptions" "拡張可能な例外ライブラリ" "on" \
"ghc" "グラスゴー Haskell コンパイルシステム" "on" \
"haskell_platform" "標準 Haskell ライブラリ・ツール" "on" \
"haskell_yaml" "YAML ドキュメントの構文解析とレンダリングをサポート" "on" \
"highlighting_kate" "文法を強調表示するライブラリ" "on" \
"hscolour" "Haskell コードをカラー化する Haskell プログラム" "on" \
"hslua" "Haskell に組み込む Lua 言語インタプリタ" "on" \
"lifted_base" "ベースライブラリからリフトされた IO 操作" "on" \
"mmorph" "モナド関数(射)" "on" \
"monad_control" "モナド変換子を通した例外キャッチ風のリフト制御操作" "on" \
"nats" "自然数(と整数)の型" "on" \
"pandoc" "マークアップ書式間の変換" "on" \
"pandoc_types" "構造化ドキュメントを表現する型" "on" \
"regex_pcre_builtin" "Text.Regex の置換/拡張" "on" \
"resourcet" "十分でないリソースの決定論的な割り当てと開放" "on" \
"semigroups" "関係づける何か" "on" \
"tagsoup" "(おそらくみにくい) HTML/XML ドキュメントからの構文解析と情報の抽出" "on" \
"temporary" "Windows と Unix 用の移植可能な一時ファイルとディレクトリのサポート" "on" \
"texmath" "LaTeX 数式を MathML または OMML に変換" "on" \
"transformers_base" "変換子スタックの底からリフト演算を行う" "on" \
"utf8_string" "UTF8 文字列の読み書きをサポート" "on" \
"void" "Haskell 98 の論理的に無抑制なデータタイプ" "on" \
"xml" "簡単な XML ライブラリ" "on" \
"zip_archive" "zip アーカイブを作成・変更するライブラリ" "on" \
2> /tmp/SeTpkgs
if [ $? = 1 -o $? = 255 ]; then
  rm -f /tmp/SeTpkgs
  > /tmp/SeTnewtag
  for pkg in Cabal aeson base64_bytestring base_unicode_symbols blaze_builder blaze_html blaze_markup cabal_install conduit data_default data_default_class data_default_instances_base data_default_instances_containers data_default_instances_dlist data_default_instances_old_locale digest dlist extensible_exceptions ghc haskell_platform haskell_yaml highlighting_kate hscolour hslua lifted_base mmorph monad_control nats pandoc pandoc_types regex_pcre_builtin resourcet semigroups tagsoup temporary texmath transformers_base utf8_string void xml zip_archive  ; do 
  echo "$pkg: SKP" >> /tmp/SeTnewtag
  done
  exit
fi
cat /dev/null > /tmp/SeTnewtag
for PACKAGE in Cabal aeson base64_bytestring base_unicode_symbols blaze_builder blaze_html blaze_markup cabal_install conduit data_default data_default_class data_default_instances_base data_default_instances_containers data_default_instances_dlist data_default_instances_old_locale digest dlist extensible_exceptions ghc haskell_platform haskell_yaml highlighting_kate hscolour hslua lifted_base mmorph monad_control nats pandoc pandoc_types regex_pcre_builtin resourcet semigroups tagsoup temporary texmath transformers_base utf8_string void xml zip_archive  ; do
    if grep "$PACKAGE" /tmp/SeTpkgs 1> /dev/null 2> /dev/null ; then
        echo "$PACKAGE: ADD" >> /tmp/SeTnewtag
    else echo "$PACKAGE: SKP" >> /tmp/SeTnewtag
    fi
done
rm -f /tmp/SeTpkgs
