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

提供: ArchWiki
2015年11月9日 (月) 00:19時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

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

リソース

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

メンバーシップ

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

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

  • Magnus Therning
  • Leif Warner

利用可能なリポジトリ

[haskell-core]

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

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

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

[haskell-core]
Server = http://orbitalfox.com/haskell/core/$arch

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

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

The repositories provide both file listings (by using repo-add --files), package deltas (repo-add --delta), and both packages and the database are signed. The fingerprint of the key used for signing is:

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

If you use SigLevel = Required TrustedOnly in /etc/pacman.conf for [haskell-core], then you need to do the following to add Magnus Therning's key:

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

Force a refresh of all package lists:

# pacman -Syu

[haskell-happstack]

The [haskell-happstack] repository contains packages for web development based on the Happstack framework. It requires [haskell-core], and includes most of the Happstack packages in HackageDB, plus Gitit (package name haskell-gitit) and clckwrks, all their dependencies not in [haskell-core] and some other not web related packages. To enable the repository, add the following entry to /etc/pacman.conf:

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

Add and sign the maintainer's key:

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

Bug reports and feature requests in 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 パッケージをインストールするようにしてください。