Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an explicit way of specifying dependencies on the command line #1470

Closed
wants to merge 15 commits into from

Commits on Oct 25, 2013

  1. Add an explicit way of specifying dependencies on the command line

    e.g.,
    
    --dependency="MyOtherLib=MyOtherLib-1.0-073259a42bbf95f818c899c57ba5bf30"
    
    If the package names do not match
    
    --dependency="foo=MyOtherLib-1.0-073259a42bbf95f818c899c57ba5bf30"
    
    then this gives an error
    
    Setup.hs: The following names do match their hash name:
    (foo, MyOtherLib)
    
    If the hash is incorrect e.g.
    
    --dependency="foo=MyOtherLib-1.0-073259a42bbf95f818c899c57ba5bf31"
    
    then this gives an error
    
    Setup.hs: The following dependencies do not exist:
    MyOtherLib-1.0-073259a42bbf95f818c899c57ba5bf31
    idontgetoutmuch committed Oct 25, 2013
    Configuration menu
    Copy the full SHA
    1a37a47 View commit details
    Browse the repository at this point in the history
  2. Capture installed package information.

    The goal is to learn the installed package id of the package we just
    installed, as necessary for haskell#1860. We achieve this by inserting an
    additional call to "setup register" that produces the installed package
    information in a file. We read and parse that file and could now return
    the installed package id, but it is not clear what interface would be
    appropriate.
    Toxaris authored and idontgetoutmuch committed Oct 25, 2013
    Configuration menu
    Copy the full SHA
    46f8885 View commit details
    Browse the repository at this point in the history
  3. Create hashes from the solver install plan and pass these to cabal so

    that the exact packages are installed rather than letting cabal choose
    for itself (potentially choosing the package with the incorrect
    hash). Closes: haskell#1460.
    idontgetoutmuch committed Oct 25, 2013
    Configuration menu
    Copy the full SHA
    6b6912c View commit details
    Browse the repository at this point in the history
  4. Refactor the patch to add an explicit way of specifying dependencies

    on the command line so that the logic is in a separate function.
    idontgetoutmuch committed Oct 25, 2013
    Configuration menu
    Copy the full SHA
    9f4ee3a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    522cd36 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1401b52 View commit details
    Browse the repository at this point in the history
  7. Add an explicit way of specifying dependencies on the command line

    e.g.,
    
    --dependency="MyOtherLib=MyOtherLib-1.0-073259a42bbf95f818c899c57ba5bf30"
    
    If the package names do not match
    
    --dependency="foo=MyOtherLib-1.0-073259a42bbf95f818c899c57ba5bf30"
    
    then this gives an error
    
    Setup.hs: The following names do match their hash name:
    (foo, MyOtherLib)
    
    If the hash is incorrect e.g.
    
    --dependency="foo=MyOtherLib-1.0-073259a42bbf95f818c899c57ba5bf31"
    
    then this gives an error
    
    Setup.hs: The following dependencies do not exist:
    MyOtherLib-1.0-073259a42bbf95f818c899c57ba5bf31
    idontgetoutmuch authored and dcoutts committed Oct 25, 2013
    1 Configuration menu
    Copy the full SHA
    caba878 View commit details
    Browse the repository at this point in the history
  8. Rearange and simplify the --dependency configure code a bit

    Use a map from package name rather than from constraint, for the
    info on the specific packages to use.
    dcoutts committed Oct 25, 2013
    3 Configuration menu
    Copy the full SHA
    6002f62 View commit details
    Browse the repository at this point in the history
  9. Capture installed package information.

    The goal is to learn the installed package id of the package we just
    installed, as necessary for haskell#1860. We achieve this by inserting an
    additional call to "setup register" that produces the installed package
    information in a file. We read and parse that file and could now return
    the installed package id, but it is not clear what interface would be
    appropriate.
    Toxaris authored and dcoutts committed Oct 25, 2013
    3 Configuration menu
    Copy the full SHA
    2b10869 View commit details
    Browse the repository at this point in the history
  10. Create hashes from the solver install plan and pass these to cabal so

    that the exact packages are installed rather than letting cabal choose
    for itself (potentially choosing the package with the incorrect
    hash). Closes: haskell#1460.
    idontgetoutmuch authored and dcoutts committed Oct 25, 2013
    2 Configuration menu
    Copy the full SHA
    5e46978 View commit details
    Browse the repository at this point in the history
  11. 4 Configuration menu
    Copy the full SHA
    44a2ced View commit details
    Browse the repository at this point in the history
  12. 1 Configuration menu
    Copy the full SHA
    9af2f51 View commit details
    Browse the repository at this point in the history
  13. And don't use the old flag with new cabals

    We generate both --constraint and --dependency flags, but we only need
    to pass one or the other, depending on the Cabal version.
    dcoutts committed Oct 25, 2013
    1 Configuration menu
    Copy the full SHA
    7e88be5 View commit details
    Browse the repository at this point in the history
  14. Bump version to 0.19.1

    Since we now have a new version-dependent feature: the new --dependency
    configure flag.
    dcoutts committed Oct 25, 2013
    1 Configuration menu
    Copy the full SHA
    adb22d7 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2013

  1. Merge branch 'installed-packageids' of https://github.com/haskell/cabal

    Conflicts:
    	Cabal/Distribution/Simple/Configure.hs
    	cabal-install/Distribution/Client/Install.hs
    	cabal-install/Distribution/Client/InstallPlan.hs
    	cabal-install/Distribution/Client/Setup.hs
    idontgetoutmuch committed Oct 26, 2013
    Configuration menu
    Copy the full SHA
    5edb41a View commit details
    Browse the repository at this point in the history