1. 25 May, 2011 6 commits
    • Duncan Coutts's avatar
    • Duncan Coutts's avatar
      Provide the pkgroot value in ghc-pkg dump & describe when necessary · f35a3d24
      Duncan Coutts authored
      Tools handling installed packages need to be able to interpret the
      paths which are relative to the ${pkgroot} which means they need to
      know the value of ${pkgroot}. With ghc-pkg this is not always obvious
      since ghc-pkg does not currently have any way machine interface for
      reporting the location of its package dbs (global, user). The solution
      we have arrived at is simply to emit the pkgroot as an extra field
      when it is needed.
      
      There are two cases:
       * --no-expand-pkgroot: ghc-pkg dump/describe will not expand the
         ${pkgroot} var, so it will appear literally in the output and the
         pkgroot field will be generated so that tools know what value to
         use for the ${pkgroot}.
       * --expand-pkgroot: ghc-pkg dump/describe will expand the ${pkgroot}
         and ${pkgrooturl} vars and will not generate the pkgroot field.
      
      The defaults are:
       * ghc-pkg dump/describe --no-expand-pkgroot
       * ghc-pkg field --expand-pkgroot
      f35a3d24
    • Duncan Coutts's avatar
      Add stricter ghc-pkg checks on package file/dir/url fields · f61d53d3
      Duncan Coutts authored
      The haddock-html and haddock-interface fields are now checked
      as well. Had to fix up ghc-cabal as it used relative paths for
      the inplace package's haddock-html. It turns out that these
      were never used so it could simply be omitted.
      f61d53d3
    • Duncan Coutts's avatar
      Implement ${pkgroot} spec, allows relocatable registered packages · 40b6bd47
      Duncan Coutts authored
      Historically ghc implemented relocatable packages by allowing
      "$topdir" in the package registration info and having ghc expand
      this with its notion of $topdir. The topdir refers to where ghc
      itself is installed (specifically the libdir).
      
      The ${pkgroot} spec takes this idea and makes it portable.
      (http://www.haskell.org/pipermail/libraries/2009-May/011772.html)
      Instead of paths relative to where ghc is installed, they can be
      relative to the package database itself. Thus it is no longer a
      ghc-specific idea and can work for package collections other than
      the global package db.
      40b6bd47
    • Duncan Coutts's avatar
      Deprecate the ghc-pkg --auto-ghci-libs flag · 78185538
      Duncan Coutts authored
      It was never a universal solution. It only worked with the GNU linker.
      It has not been used by Cabal for ages. GHCi can now load .a files so
      it will not be needed in future.
      78185538
    • Duncan Coutts's avatar
      ghc-pkg: don't expand ${name}-style env vars by default · 6ef41c26
      Duncan Coutts authored
      For shell-based build systems the feature is still available as:
        ghc-pkg register --expand-env-vars
      
      Historically, ghc-pkg allowed environment variables to appear in the
      input files for ghc-pkg register. They are not stored in the package
      database but are expanded upon registration. This feature helped for
      build systems based on makefiles and shell scripts. These days the
      vast majority of such files are generated by Cabal and we don't want
      any ${name} strings (e.g. perhaps in a package description) getting
      accidentally interpreted as an environment variable.
      6ef41c26
  2. 14 May, 2011 1 commit
  3. 18 Dec, 2010 2 commits
  4. 15 Dec, 2010 1 commit
  5. 27 Nov, 2010 1 commit
  6. 13 Oct, 2010 1 commit
  7. 12 Oct, 2010 1 commit
  8. 06 Oct, 2010 1 commit
  9. 01 Aug, 2010 1 commit
  10. 25 Jul, 2010 1 commit
  11. 15 Jul, 2010 4 commits
  12. 15 Jun, 2010 2 commits
  13. 06 Jun, 2010 1 commit
  14. 04 Mar, 2010 1 commit
  15. 02 Mar, 2010 1 commit
  16. 26 Feb, 2010 1 commit
  17. 24 Feb, 2010 1 commit
  18. 16 Feb, 2010 1 commit
  19. 30 Nov, 2009 1 commit
  20. 25 Nov, 2009 1 commit
  21. 06 Oct, 2009 1 commit
  22. 30 Sep, 2009 1 commit
  23. 14 Sep, 2009 2 commits
  24. 11 Sep, 2009 1 commit
  25. 10 Sep, 2009 1 commit
    • Simon Marlow's avatar
      Change the representation of the package database · 930421d4
      Simon Marlow authored
       - the package DB is a directory containing one file per package
         instance (#723)
      
       - there is a binary cache of the database (#593, #2089)
      
       - the binary package is now a boot package
      
       - there is a new package, bin-package-db, containing the Binary
         instance of InstalledPackageInfo for the binary cache.
      
      Also included in this patch
      
       - Use colour in 'ghc-pkg list' to indicate broken or hidden packages
        
         Broken packages are red, hidden packages are 
        
         Colour support comes from the terminfo package, and is only used when
          - not --simple-output
          - stdout is a TTY
          - the terminal type has colour capability
      
       - Fix the bug that 'ghc-pkg list --user' shows everything as broken
      930421d4
  26. 24 Aug, 2009 1 commit
  27. 20 Aug, 2009 1 commit
  28. 07 Jul, 2009 1 commit
  29. 01 Jul, 2009 1 commit