| Cabal-1.6.0.3: A framework for packaging Haskell software | Source code | Contents | Index

Distribution.Simple.SrcDist

Portability | portable
Maintainer | cabal-devel@haskell.org

Contents

The top level action
  Parts of `sdist`
  Snaphots

Description

This handles the `sdist` command. The module exports an `sdist` action but also some of the phases that make it up so that other tools can use just the bits they need. In particular the preparation of the tree of files to go into the source tarball is separated from actually building the source tarball.

The `createArchive` action uses the external `tar` program and assumes that it accepts the `-z` flag. Neither of these assumptions are valid on Windows. The `sdist` action now also does some distribution QA checks.

Synopsis

sdist :: PackageDescription -> Maybe LocalBuildInfo -> SDistFlags -> (FilePath -> FilePath) -> [PPSuffixHandler] -> IO ()
printPackageProblems :: Verbosity -> PackageDescription -> IO ()
prepareTree :: Verbosity -> PackageDescription -> Maybe LocalBuildInfo -> FilePath -> FilePath -> [PPSuffixHandler] -> IO FilePath
createArchive :: Verbosity -> PackageDescription -> Maybe LocalBuildInfo -> FilePath -> FilePath -> IO FilePath
prepareSnapshotTree :: Verbosity -> PackageDescription -> Maybe LocalBuildInfo -> FilePath -> FilePath -> [PPSuffixHandler] -> IO FilePath
snapshotPackage :: CalendarTime -> PackageDescription -> PackageDescription
snapshotVersion :: CalendarTime -> Version -> Version
dateToSnapshotNumber :: CalendarTime -> Int

The top level action

sdist | Source

:: PackageDescription | information from the tarball
-> Maybe LocalBuildInfo | Information from configure
-> SDistFlags | verbosity & snapshot
-> FilePath -> FilePath | build prefix (temp dir)
-> [PPSuffixHandler] | extra preprocessors (includes suffixes)
-> IO () |
Create a source distribution.

Parts of `sdist`

printPackageProblems :: Verbosity -> PackageDescription -> IO () | Source

prepareTree | Source

:: Verbosity | verbosity
-> PackageDescription | info from the cabal file
-> Maybe LocalBuildInfo |
-> FilePath | dist dir
-> FilePath | source tree to populate
-> [PPSuffixHandler] | extra preprocessors (includes suffixes)
-> IO FilePath | the name of the dir created and populated
Prepare a directory tree of source files.

createArchive | Source

:: Verbosity | verbosity
-> PackageDescription | info from cabal file
-> Maybe LocalBuildInfo | info from configure
-> FilePath | source tree to archive
-> FilePath | name of archive to create
-> IO FilePath |
Create an archive from a tree of source files, and clean up the tree.

Snaphots

prepareSnapshotTree | Source

:: Verbosity | verbosity
-> PackageDescription | info from the cabal file
-> Maybe LocalBuildInfo |
-> FilePath | dist dir
-> FilePath | source tree to populate
-> [PPSuffixHandler] | extra preprocessors (includes suffixes)
-> IO FilePath | the resulting temp dir
Prepare a directory tree of source files for a snapshot version. It is expected that the appropriate snapshot version has already been set in the package description, eg using `snapshotPackage` or `snapshotVersion`.

snapshotPackage :: CalendarTime -> PackageDescription -> PackageDescription | Source

Modifies a `PackageDescription` by appending a snapshot number corresponding to the given date.

snapshotVersion :: CalendarTime -> Version -> Version | Source

Modifies a `Version` by appending a snapshot number corresponding to the given date.

dateToSnapshotNumber :: CalendarTime -> Int | Source

Given a date produce a corresponding integer representation. For example given a date `18032008` produce the number `20080318`.
Produced by Haddock version 2.4.2