source: trunk/dports/devel/hs-cpphs/Portfile

Last change on this file was 131981, checked in by cal@…, 3 years ago

haskell world: revbump everything (including ghc)

  • Clean up remnants left in GHC's package directory that may be left over from previous installations. See for example #46611, which has a log of all the superfluous files left on the buildbots, which should be cleaned up by this.
  • Modify portgroups to register configuration files in $prefix/lib/ghc-7.8.3/package.conf.d/ directly before calling ghc-pkg recache rather than using activation and deactivation scripts that indirectly create these files to avoid the same mess in the future. This way, the state in the package cache directory will always represent the same state MacPorts expects.
  • Simplify and clean up some of the portgroups, especially related to variable substitution in pre-/post-activation hooks.
  • Avoid duplicating most of the code in the haskellplatform 2.0 portgroup and just refer back to the haskell 1.0 portgroup instead.
  • Apply the hook variable substitution cleanup to the local helper functions in the haskell-platform Portfile.

This change

  • should finally fix #46611 and #42082 and all the weird little misconfigurations that would occasionally occur on users' machines
  • adds helpful debugging information (ghc-pkg list, ghc-pkg check) to the main.log in the configure phase.
  • breaks manual installation of haskell packages (e.g. using cabal) in the system directory, because the ghc Portfile will clean out everything that isn't owned by a port in the package cache directory. If this affects you, be advised that you should not be putting stuff MacPorts doesn't know about in MacPorts' prefix. Instead, please use user installations of these packages.
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.0 KB
1# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
2# $Id: Portfile 131981 2015-01-22 19:34:32Z $
4PortSystem          1.0
5PortGroup           haskell 1.0
7haskell.setup       cpphs 1.17
8revision            3
9checksums           rmd160  03298c36f135d7bff36d9ff3c3090fc566d4d1cf \
10                    sha256  fd4bfa35592db6456d0b59218df49e24efb60fc87d7a919f9a6d9a50e10fa706
12license             LGPL
13platforms           darwin
14maintainers         nomaintainer
16description         A liberalised re-implementation of cpp, the C pre-processor.
17long_description    \
18    Cpphs is a re-implementation of the C pre-processor that is both more \
19    compatible with Haskell, and itself written in Haskell so that it can be \
20    distributed with compilers.
22pre-activate {
23    # deactivate hack added 2013-06-09
24    if {![catch {set installed [lindex [registry_active cpphs] 0]}]} {
25        # this port used to be named cpphs
26        registry_deactivate_composite cpphs "" [list ports_nodepcheck 1]
27    }
Note: See TracBrowser for help on using the repository browser.