Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
CabalInstall, what happens under the hood. FetchCmd: cabal-install stores packages in [config-dir]/packages/ by their package id. This can lead to clashes if there's two identical (same name, same version) packages from two servers with different functionality. CleanCmd: Removes all fetched packages. UpdateCmd: Queries all known servers for their packages and stores it in [cfg-dir]/pkg.list. InstallCmd: Installed packages are determined, and dependencies of the to-be-installed packages are resolved and fetched. The fetched tarballs are moved to a temporary directory (usually /tmp) and extracted. Then cabal-install finds any files with a ".cabal" extension and picks the shortest (eg. "myPkg/pkg.cabal" will be chosen over "myPkg/subdir/somefile.cabal"). Cabal-get looks for "Setup.lhs" and "Setup.hs" (in that order) in the directory where the .cabal file was found. Runhaskell is then called with user specified arguments. The user can only pass arguments to the 'configure' phase of the installation. '--user' is only passed to 'runhaskell install' when the '--user' flag is given to cabal-install. InfoCmd: To be written. Files used by cabal-install: [cfg-dir]/serv.list list of servers in the format of :: [String] [cfg-dir]/pkg.list list of packages available from the servers. Format: [(ServerURL,[(PackageIdentifier,[Dependency])])] where ServerURL = String [cfg-dir]/packages/ directory containing all fetched packages.