Unofficial user repositories/ArchHaskell
- 1 Resources
- 2 Membership
- 3 Available repositories
- 4 Improving ArchHaskell
- 5 Troubleshooting
The main resources for the ArchHaskell community to interact and discuss are:
- #archlinux-haskell IRC channel @ freenode.org
- email@example.com mailing list and archives
- ArchHaskell group on GitHub
Membership is not required at all in order to contribute. Just fork the relevant repository, make some changes, and file a pull request.
There are currently two people with commit rights to the ArchHaskell repository at GitHub:
- Leif Warner
Magnus Therning(in the process of leaving the group)
The haskell-core repository is the base repository of packages maintained by the ArchHaskell team.
haskell-core can be accessed by adding the following entry to
/etc/pacman.conf (above [community], to ensure the correct ghc package is picked):
[haskell-core] Server = http://xsounds.org/~haskell/core/$arch
The set of packages in the haskell-core repository is derived from the habs tree officially located here. A tool called cblrepo is used to keep the habs tree synchronized with the official Haskell packages from Hackage.
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) <firstname.lastname@example.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
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
[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.
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
See the #Resources and get in touch via the mailing list or the IRC channel.
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 repository is special, the haskell-core repository, which provides packages that are dependencies of all the other satellites.
- haskell-core is an Arch repository hosted at kiwilight and xsounds.
- haskell-core is in sync with the habs cblrepo database.
Other repository maintenance
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.
Creating another repository
List of satellite repositories
Switching to ArchHaskell repository
There can be some problems switching to ArchHaskell repository when some Haskell packages are already installed from official repositories. The surest way is to remove all Haskell related packages, synchronize the pacman packages database, and reinstall all the needed packages. Also for Xmonad users, be sure to install
haskell-xmonad package instead of .