1. Introduction
2. Installing MacPorts
2.1. Install Xcode
2.2. Install MacPorts
2.3. Upgrade MacPorts
2.4. Uninstall MacPorts
2.5. MacPorts and the Shell
3. Using MacPorts
3.1. The port Command
3.2. Port Variants
3.3. Common Tasks
3.4. Port Binaries
4. Portfile Development
4.1. Portfile Introduction
4.2. Creating a Portfile
4.3. Example Portfiles
4.4. Port Variants
4.5. Patch Files
4.6. Local Portfile Repositories
4.7. Portfile Best Practices
4.8. MacPorts' buildbot
5. Portfile Reference
5.1. Global Keywords
5.2. Global Variables
5.3. Port Phases
5.4. Dependencies
5.5. Variants
5.6. Tcl Extensions & Useful Tcl Commands
5.7. StartupItems
5.8. Livecheck / Distcheck
5.9. PortGroups
5.10. PortGroup Introduction
5.11. PortGroup github
5.12. PortGroup gnustep
5.13. PortGroup golang
5.14. PortGroup haskell
5.15. PortGroup java
5.16. PortGroup perl5
5.17. PortGroup python
5.18. PortGroup ruby
5.19. PortGroup xcode
6. MacPorts Internals
6.1. File Hierarchy
6.2. Configuration Files
6.3. Port Images
6.4. APIs and Libs
6.5. The MacPorts Registry
6.6. Tests
7. MacPorts Project
7.1. Using Trac for Tickets
7.2. Using Git and GitHub
7.3. Contributing to MacPorts
7.4. Port Update Policies
7.5. Updating Documentation
7.6. MacPorts Membership
7.7. The PortMgr Team
8. MacPorts Guide Glossary
Glossary

5.14. PortGroup haskell

PortGroup haskell simplifies the addition of Haskell packages.

5.14.1. haskell PortGroup Specific Keywords

Portfiles using the haskell PortGroup allow for port authors to set the following keywords in addition to the general Portfile keywords.

haskell.setup

This keyword sets a number of port variables.

  • Type: required
  • Synopsis: the first argument is the package name, as called by hackageDB; the second is the version number
  • Example:

    haskell.setup   digest 0.0.0.2

5.14.2. haskell PortGroup Sugar

Portfiles using PortGroup haskell do not need to define the following variables:

name
Default: hs-[string tolower ${package}]
version
Default: ${version} (from haskell.setup)
categories
Default: devel haskell
homepage
Default: https://hackage.haskell.org
master_sites
Default: ${homepage}/packages/archive/${package}/${version}
distname
Default: ${package}-${version}
depends_build
Default: ghc
configure, build, and destroot phases
Default: proper setup to run these phases
post-destroot
Default: creates and installs (into destroot) the register.sh and unregister.sh scripts
post-activate
Default: runs the register.sh scripts
livecheck
Default: runs livecheck against the package’s information page