[Hackage] #221: a generic way for cabal-install to specify external dependencies

#221: a generic way for cabal-install to specify external dependencies ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: enhancement | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Keywords: Difficulty: normal | Ghcversion: 6.8.2 Platform: Linux | ----------------------------+----------------------------------------------- Cabal-install needs a way to specify external dependencies, so that re- install can be made as automatic as possible. The fact that Cabal records the 3rd digit version in the path indicates a diligent user has to re- install all the packages on every new 3rd-digit dot release. Exanples are HDBC-ODBC and regex-pcre. This issue was raised in http://www.mail-archive.com/haskell-cafe@haskell.org/msg37001.html It was discussed before and Tim had one suggestion: http://www.mail-archive.com/haskell-cafe@haskell.org/msg33790.html I suggest to have a config-replacement file (or a section in .cabal/config) as such: package: SDL include-dirs: c:\libs\SDL\include When cabal-install attempts to install SDL in this case, it will replace the line "include-dirs" in <package>.cabal with what is suggested in the config-replacement file. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/221 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#221: a generic way for cabal-install to specify external dependencies ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: enhancement | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: Linux ----------------------------+----------------------------------------------- Comment (by duncan): Presumably that'd be prepending the extra include-dirs to the include search path rather than replacing? Same for library search dirs. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/221#comment:1 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#221: need a way to specify site-specific include and library search paths ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: enhancement | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.8.2 | Platform: Linux ----------------------------+----------------------------------------------- Changes (by duncan): * difficulty: normal => easy (<4 hours) * summary: a generic way for cabal-install to specify external dependencies => need a way to specify site- specific include and library search paths Comment: The first step would be to allow specifying extra include and library paths as configure options. This part should be easy, so marking as such. After that, we'd want to extend cabal-install to keep a per-package store of this information and pass it when configuring packages. More generally it'd be a store of per-package preferences in addition to the current cabal-install config file which is global preferences. That enhancement is filed as ticket #223. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/221#comment:2 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#221: need a way to specify site-specific include and library search paths ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: enhancement | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.8.2 | Platform: Linux ----------------------------+----------------------------------------------- Comment (by guest): Replying to [comment:2 duncan]:
After that, we'd want to extend cabal-install to keep a per-package store of this information and pass it when configuring packages. More generally it'd be a store of per-package preferences in addition to the current cabal-install config file which is global preferences. That enhancement is filed as ticket #223.
Would it be better if cabal itself read the per-package local preferences file, rather than the higher level cabal-install tool? That way I could still get the benefits of recording local, per-package file locations when I used cabal directly. Tim -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/221#comment:3 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

Would it be better if cabal itself read the per-package local
#221: need a way to specify site-specific include and library search paths ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: enhancement | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.8.2 | Platform: Linux ----------------------------+----------------------------------------------- Comment (by duncan): Replying to [comment:3 guest]: preferences file, rather than the higher level cabal-install tool?
That way I could still get the benefits of recording local, per-package
file locations when I used cabal directly. The aim in the medium term is for cabal-install to be the primary command line interface. The way we have split things is that cabal-install maintains the state about configuration and what packages are available etc. Then the Cabal lib is basically a stateless API for dealing with packages. I'm reasonably satisfied this is a sensible design. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/221#comment:4 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#221: need a way to specify site-specific include and library search paths ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: enhancement | Status: new Priority: normal | Milestone: Cabal-1.4 Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.8.2 | Platform: Linux ----------------------------+----------------------------------------------- Changes (by duncan): * milestone: => Cabal-1.4 Comment: Lots of people have requested this recently. -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/221#comment:5 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#221: need a way to specify site-specific include and library search paths ----------------------------+----------------------------------------------- Reporter: guest | Owner: mnislaih Type: enhancement | Status: assigned Priority: normal | Milestone: Cabal-1.4 Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.8.2 | Platform: Linux ----------------------------+----------------------------------------------- Changes (by mnislaih): * status: new => assigned * owner: => mnislaih Comment: I am working on this. The first part, being able to specify extra library and include paths in configure, is mostly done. The second part, covered in #223, will probably take me a few days -- Ticket URL: http://hackage.haskell.org/trac/hackage/ticket/221#comment:6 Hackage http://haskell.org/cabal/ Hackage: Cabal and related projects

#221: need a way to specify site-specific include and library search paths
----------------------------+-----------------------------------------------
Reporter: guest | Owner: mnislaih
Type: enhancement | Status: closed
Priority: normal | Milestone: Cabal-1.4
Component: Cabal library | Version: 1.2.3.0
Severity: normal | Resolution: fixed
Keywords: | Difficulty: easy (<4 hours)
Ghcversion: 6.8.2 | Platform: Linux
----------------------------+-----------------------------------------------
Changes (by duncan):
* status: assigned => closed
* resolution: => fixed
Comment:
Done:
{{{
Mon Mar 17 18:12:03 GMT 2008 Pepe Iborra
participants (1)
-
Hackage