hackport: Hackage and Portage integration tool

[ distribution, gpl, library, program ] [ Propose Tags ]

A command line tool to manage an overlay of Gentoo ebuilds that are generated from a hackage repo of Cabal packages.


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
split-baseEnabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.2.1, 0.2.6, 0.2.7, 0.2.8, 0.2.9, 0.2.10, 0.2.12, 0.2.13, 0.2.14, 0.2.15, 0.2.16, 0.2.17, 0.2.18, 0.2.19, 0.3, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.4, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6, 0.4.7, 0.5, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.7, 0.7.1.1, 0.7.1.2, 0.7.2.1, 0.7.2.2, 0.7.3.0, 0.7.3.1, 0.8.0.0, 0.8.1.0, 0.8.2.0, 0.8.2.1, 0.8.2.2, 0.8.3.0, 0.8.4.0, 0.8.5.0, 0.8.5.1 (info)
Dependencies array, base (>=2.0 && <5), bytestring, Cabal (>=1.10 && <1.11), containers, directory, extensible-exceptions, filepath, HTTP (>=4000.0.3), mtl, network, old-time, parsec, pretty, process, regex-compat, tar, xml (>1.3.5), zlib [details]
License LicenseRef-GPL
Author Henning Günther, Duncan Coutts, Lennart Kolmodin
Maintainer Gentoo Haskell team <haskell@gentoo.org>
Category Distribution
Source repo head: darcs get http://code.haskell.org/gentoo/hackport/
Uploaded by LennartKolmodin at 2011-01-16T09:18:55Z
Distributions NixOS:0.8.5.0
Reverse Dependencies 1 direct, 0 indirect [details]
Executables hackport-guess-ghc-version, hackport
Downloads 34139 total (166 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-28 [all 6 reports]

Readme for hackport-0.2.12

[back to package description]
Hackport
========

About
-----

Hackport is a utility application for Gentoo Linux to ease the tasks for the
Haskell Project.

The main purpose for Hackport is to interact with Hackage and create
Ebuilds from Cabal packages. It also does handy functions to compare
hackage, the overlay and the portage tree.

Features
--------

    'hackport update'
        Update the local copy of hackage's package list. You should run this
        every once in a while to get a more recent copy.
    
    'hackport list [FILTER]'
        Print packages from hackage, with an optional substring matching.

    'hackport merge <package>'
        Create a Gentoo Linux Ebuild for hackage package named <package>.
        The category defaults to dev-haskell, but is overridden if an older
        version has been merged previously to another category. The category
        can also be overridden with the syntax category/package. Example:

            $ hackport merge x11-wm/xmonad

        Hackport will make an ebuild that uses the haskell-cabal eclass, and
        set the following properties:

        PN (package name)
            Package name converted into lower case
        PV (package version)
            Package version with tags dropped.
        KEYWORDS
            Defaults to ~amd64 ~x86
        CABAL_FEATURES
            Set to "bin" for executables, and "lib haddock profile" for
            libraries. Packages that contains both a binary and library will
            get the union.
        DEPEND
            GHC dependency defaults to >=dev-lang/ghc-6.6.1.
            Cabal dependency is fetched from Cabal field 'Cabal-Version'.
            All other package dependencies are converted into gentoo syntax.
            Range dependencies are flattened and usually needs manual
            tweaking.
        DESCRIPTION
            From Synopsis if it is non-empty, otherwise Description.
        HOMEPAGE
            From Homepage
        SRC_URI
            From package url
        LICENSE 
            From cabal license converted into gentoo licenses
        SLOT
            Defaults to "0"

    'hackport diff [missing|additions|newer|common]'
        Prints a list showing a diff between hackage and the overlay.
        For each package it shows the latest version in both hackage and the
        overlay.


        Optional parameters:
            'all', the default action
                List all packages.
            'missing'
                List packages that exist in hackage but not in the overlay,
                or where the hackage version is more recent.
            'additions'
                List packages only in the overlay, or where the overlay has
                a more recent version.
            'newer'
                List packages where hackage has a more recent version.
            'common'
                List packages where hackage and the overlay has the same
                version.

    'hackport status [toportage]'
        Provides an overview comparing the overlay to the portage tree.
        It will teel you, for each package and version, if the package exist

            - only in the portage tree
            - only in the overlay
            - both in the portage tree and the overlay
            - both in the portage tree and the overlay,
                but the ebuilds are not identical

        Optional parameters:
            '--to-portage'
                Only print packages that are likely to be interesting to
                move to the portage tree.
                It will print packages when they exist in both portage and
                the overlay, and:
                    - the ebuilds differ, or
                    - the overlay has a more recent version

    'hackport make-ebuild <path/to/package.ebuild>'
        Generates standalone .ebuild file from .cabal spec and stores result in same
        directory.
        Option is useful for packages not-on-hackage and for debug purposes.

-------

    Henning Günther
    Duncan Coutts
    Lennart Kolmodin