非公式ユーザーリポジトリ/ArchHaskell

提供: ArchWiki
移動先: 案内検索

ArchHaskell は Arch Linux コミュニティに Haskell パッケージを提供するグループです。目標は Hackage の全てをバイナリパッケージとして簡単にインストールできるようにすることです。

リソース

ArchHaskell コミュニティは主に以下の場所で交流したり議論をしています:

メンバーシップ

参加するのにメンバーの地位は全く必要ありません。関連するリポジトリをフォークして、修正を加えて、プルリクエストを送って下さい。

現在 GitHub の ArchHaskell リポジトリにコミットする権限があるのは以下の2人です:

  • Magnus Therning
  • Leif Warner

利用可能なリポジトリ

[haskell-core]

[haskell-core] リポジトリは ArchHaskell チームによってメンテナンスされているパッケージのベースリポジトリです。以下のエントリを /etc/pacman.conf に追加することで [haskell-core] を使うことができます (ghc パッケージが正しくインストールされるように [community] の上に追加してください):

[haskell-core]
Server = http://xsounds.org/~haskell/core/$arch

もしくはミラーを使う場合 (毎日更新されています):

警告: [community] の上に [haskell-core] を記述すると [haskell-core] のパッケージが優先されるようになるため、重複するパッケージがある場合は依存関係の衝突に気をつけて下さい。ただし公式リポジトリの上書きはサポートされていません。
[haskell-core]
Server = http://xsounds.org/~haskell/core/$arch

[haskell-core] リポジトリのパッケージセットは こちら の公式の habs ツリーから来ています。cblrepo というツールを使って Hackage の Haskell 公式パッケージと habs ツリーを同期しています。

リポジトリはファイルの一覧 (repo-add --files を使用) とパッケージの差分 (repo-add --delta) を提供しており、パッケージとデータベースの両方が署名されています。署名に使用している鍵のフィンガープリントは:

pub   2048D/4209170B 2012-12-26
      Key fingerprint = F310 4992 EBF2 4EB8 72B9  7B9C 32B0 B453 4209 170B
uid                  ArchHaskell (Magnus Therning) <magnus@therning.org>
sub   2048D/A418C0FE 2012-12-26

/etc/pacman.conf で [haskell-core] に SigLevel = Required TrustedOnly を使用する場合、以下のように Magnus Therning の鍵を追加する必要があります:

# pacman-key -r 4209170B
# pacman-key --lsign-key 4209170B

パッケージリストを全て更新してください:

# pacman -Syu

[haskell-happstack]

[haskell-happstack] リポジトリには Happstack フレームワークによるウェブ開発のためのパッケージが含まれています。使用するには [haskell-core] が必要で、HackageDB のほとんどの Happstack パッケージに加えて Gitit (package name haskell-gitit) や clckwrks、[haskell-core] に含まれていない依存パッケージやウェブ関連以外のパッケージが含まれています。リポジトリを有効にするには、以下のエントリを /etc/pacman.conf に追加してください:

[haskell-happstack]
Server = http://noaxiom.org/$repo/$arch

そしてメンテナの鍵に署名してください:

# pacman-key -r B0544167
# pacman-key --lsign-key B0544167

バグレポートや機能リクエストは GitHub で送ってください。

[haskell-web]

ノート: The [haskell-web] repository is not maintained anymore. If you wish to help, please send a mail to the list or use the IRC channel.

The repository was built on [haskell-core], providing several more packages, especially those useful for web applications.

[haskell-web]
Server = http://archhaskell.mynerdside.com/$repo/$arch

ArchHaskell への貢献

コミュニティ

ArchHaskell のコミュニティページを見てメーリングリストや IRC チャンネルで接触してください。

概要

The plan is to have one user-facing repository, [haskell], which merges the packages available in various satellite repositories (like [haskell-web]), thereby distributing the maintenance load. One satellite repo is special, the [haskell-core] repository, which provides packages that are dependencies of all the other satellites.

[haskell-core] のメンテナンス

Ensure:

  • [haskell-core] is an Arch repo hosted at kiwilight and xsounds.
  • [haskell-core] is in sync with the habs cblrepo database.

他のリポジトリのメンテナンス

For example, for haskell-foo, ensure:

  • haskell-foo is a cblrepo database, possibly using packages from [haskell-core] as DistroPkgs.
  • Whenever [haskell-core] is updated, haskell-foo's database is updated to match within a reasonable time.

トラブルシューティング

ArchHaskell リポジトリに切り替える

公式リポジトリから既に Haskell のパッケージをインストールしている場合、ArchHaskell リポジトリに切り替えると問題が発生することがあります。Haskell 関連のパッケージを完全に削除する方法は、pacman パッケージのデータベースを同期して、必要なパッケージを全て再インストールすることです。また、Xmonad を使っている場合は xmonad の代わりに haskell-xmonad パッケージをインストールするようにしてください。