This project is mirrored from https://github.com/haskell/Cabal. Pull mirroring updated .
  1. 08 Jan, 2017 1 commit
  2. 07 Jan, 2017 1 commit
    • Robert Henderson's avatar
      Added qualifer to 'UserConstraint' data type. · 702a39d4
      Robert Henderson authored
      Amended parsing and pretty-printing code of UserConstraint to
      handle qualifiers.
      
      Qualified constraints are now accepted on the command line, but
      the solver and other subsystems currently just ignore the
      qualifiers and don't do anything differently from before.
      702a39d4
  3. 14 Nov, 2016 1 commit
  4. 31 Oct, 2016 1 commit
  5. 28 Oct, 2016 1 commit
    • Edsko de Vries's avatar
      Add support for foreign libraries. · 382143aa
      Edsko de Vries authored
      A stanza for a platform library looks something like
      
          platform-library test-package
            type:                native-shared
      
            if os(Windows)
              options: standalone
              mod-def-file: TestPackage.def
      
            other-modules:       MyPlatformLib.Hello
                                 MyPlatformLib.SomeBindings
            build-depends:       base >=4.7 && <4.9
            hs-source-dirs:      src
            c-sources:           csrc/MyPlatformLibWrapper.c
            default-language:    Haskell2010
      
      where native-shared means that we want to build a native shared library
      (.so on Linux, .dylib on OSX, .dll on Windows). The parser also
      recognizes native-static but this is not currently supported anywhere.
      The standalone option means that the we merge all library dependencies
      into the dynamic library (i.e., ghc options -shared -static), rather
      than make the created dynamic library just record its dependencies (ghc
      options -shared -dynamic); it is currently compulsory on Windows and
      unsupported anywhere else. The mod-def-file can be used to specify a
      module definition file, and is also Windows specific.
      
      There is a bit of refactoring in Build: gbuild is the old buildOrReplExe
      and now deals with both executables and platform libraries.
      382143aa
  6. 28 Sep, 2016 1 commit
    • Herbert Valerio Riedel's avatar
      Make `Version` type opaque (#3905) · bb2026c4
      Herbert Valerio Riedel authored
      Similiar to dabd9d98 which made
      `PackageName` opaque, this makes `Distribution.Version.Version` opaque.
      
      The most common version numbers occuring on Hackage are 3- and
      4-part versions. This results in significant Heap overhead due to
      `Data.Version`'s inefficient internal representation.
      
      So like the `PackageName` commit, this commit is a preparatory commit to
      pave the way for replacing `Version`'s internal representation by a
      representation with a memory footprint which can be an order of
      magnitude smaller.
      
      Finally, this also adds a new functor-like convenience function
      
          alterVersion :: ([Int] -> [Int]) -> Version -> Version
      
      for modifying the version number components.
      bb2026c4
  7. 24 Sep, 2016 1 commit
  8. 18 Sep, 2016 1 commit
    • Brendan Hay's avatar
      Track project configuration provenance · c2ebd714
      Brendan Hay authored
      - Excludes provenance from all roundtrip tests
      - Inserting explicit provenance when read from file
      - Special cases for bad package errors arising from
        implicit project configuration
      c2ebd714
  9. 07 Sep, 2016 1 commit
  10. 01 Aug, 2016 1 commit
  11. 23 Jul, 2016 1 commit
  12. 11 Jul, 2016 1 commit
  13. 02 Jul, 2016 1 commit
  14. 03 Jun, 2016 1 commit
  15. 06 May, 2016 1 commit
  16. 27 Apr, 2016 1 commit
  17. 26 Apr, 2016 1 commit
  18. 24 Apr, 2016 1 commit
  19. 10 Apr, 2016 3 commits
    • Duncan Coutts's avatar
      Make the $prog-options/location config fields per-package · bebbe9e6
      Duncan Coutts authored
      We need to be able to specify program options and locations on a
      per-pakage basis. Of course we can still specify them for all local
      packages.
      
      Note that these options are not actually used yet, which is why this
      patch can be so small. Using them is next.
      bebbe9e6
    • Duncan Coutts's avatar
      Make flag assignments per-package · ef04b699
      Duncan Coutts authored
      Move the FlagAssignment from the project-wide all-packages config to the
      per-package config.
      
      Initially it had been easier to do it globally since it gets used as a
      solver setting rather than as the other per-package config items, but
      obviously it is supposed to be per-package.
      
      So the flags field in the config top-level now applies to all local
      packages. And it can also be specified in package-specific sections.
      
      We don't yet check that any of the flags specified actually make sense
      for either the local packages or for the specific packages.
      ef04b699
    • Duncan Coutts's avatar
      Use MapMappend monoid for the package-specific config · 978aea20
      Duncan Coutts authored
      It's a Map PackageName PackageConfig (or LegacyPackageConfig) so the
      correct monoid instance is to merge the PackageConfig values.
      978aea20
  20. 27 Mar, 2016 1 commit
  21. 17 Mar, 2016 1 commit
    • Duncan Coutts's avatar
      Add project config round trip QC tests · 3d96d226
      Duncan Coutts authored and Mikhail Glushenkov's avatar Mikhail Glushenkov committed
      Two kinds of round-trip test:
       * type conversion ProjectConfig -> LegcyProjectConfig and back
       * ProjectConfig -> print -> parse
      The latter goes out to the config file format and back.
      
      These tests uncovered a number of issues in our general config code.
      
      (cherry picked from commit e36c0e7e)
      3d96d226