Cabal-1.6.0.2: A framework for packaging Haskell softwareSource codeContentsIndex
Distribution.Simple.SrcDist
Portabilityportable
Maintainercabal-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
sdistSource
:: PackageDescriptioninformation from the tarball
-> Maybe LocalBuildInfoInformation from configure
-> SDistFlagsverbosity & snapshot
-> FilePath -> FilePathbuild prefix (temp dir)
-> [PPSuffixHandler]extra preprocessors (includes suffixes)
-> IO ()
Create a source distribution.
Parts of sdist
printPackageProblems :: Verbosity -> PackageDescription -> IO ()Source
prepareTreeSource
:: Verbosityverbosity
-> PackageDescriptioninfo from the cabal file
-> Maybe LocalBuildInfo
-> FilePathdist dir
-> FilePathsource tree to populate
-> [PPSuffixHandler]extra preprocessors (includes suffixes)
-> IO FilePaththe name of the dir created and populated
Prepare a directory tree of source files.
createArchiveSource
:: Verbosityverbosity
-> PackageDescriptioninfo from cabal file
-> Maybe LocalBuildInfoinfo from configure
-> FilePathsource tree to archive
-> FilePathname of archive to create
-> IO FilePath
Create an archive from a tree of source files, and clean up the tree.
Snaphots
prepareSnapshotTreeSource
:: Verbosityverbosity
-> PackageDescriptioninfo from the cabal file
-> Maybe LocalBuildInfo
-> FilePathdist dir
-> FilePathsource tree to populate
-> [PPSuffixHandler]extra preprocessors (includes suffixes)
-> IO FilePaththe 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 -> PackageDescriptionSource
Modifies a PackageDescription by appending a snapshot number corresponding to the given date.
snapshotVersion :: CalendarTime -> Version -> VersionSource
Modifies a Version by appending a snapshot number corresponding to the given date.
dateToSnapshotNumber :: CalendarTime -> IntSource
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