source: trunk/dports/devel/hs-c2hs/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.2 KB
Line 
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 ryandesign@macports.org $
3
4PortSystem          1.0
5PortGroup           haskell 1.0
6
7haskell.setup       c2hs 0.16.5 ghc no
8revision            3
9checksums           rmd160  71d8809a6ed56cffd17bc2bb3f4d3ec95d13eec4 \
10                    sha256  1e55b42f1648fbbee290d9316fa7954b40e3b27e33707cdcb8c7e763effd04a6
11
12maintainers         nomaintainer
13platforms           darwin
14license             GPL-2+
15
16description         C->Haskell FFI tool that gives some cross-language type safety
17long_description    \
18    C->Haskell assists in the development of Haskell bindings to C libraries. \
19    It extracts interface information from C header files and generates Haskell \
20    code with foreign imports and marshaling. Unlike writing foreign imports by \
21    hand (or using hsch2s), this ensures that C functions are imported with the \
22    correct Haskell types.
23
24depends_lib-append  port:hs-language-c
25
26pre-activate {
27    # deactivate hack added 2013-06-09
28    if {![catch {set installed [lindex [registry_active c2hs] 0]}]} {
29        # this port used to be called c2hs
30        registry_deactivate_composite c2hs "" [list ports_nodepcheck 1]
31    }
32}
Note: See TracBrowser for help on using the repository browser.