From duncan.coutts at worc.ox.ac.uk Sat Mar 1 05:29:34 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sat Mar 1 05:27:18 2008 Subject: every use of BSD4 on hackage is incorrect In-Reply-To: <6c0416190803010139v318ba06csbbc23670003852c1@mail.gmail.com> References: <1204323078.11558.76.camel@localhost> <6c0416190803010139v318ba06csbbc23670003852c1@mail.gmail.com> Message-ID: <1204367374.11558.85.camel@localhost> On Sat, 2008-03-01 at 10:39 +0100, Felix Martini wrote: > Right now i cannot see a reason why the cabal license field is an > enumeration instead of a string. The purpose seems to be to direct > people to preferred licenses of the Haskell community. If so this is > the wrong approach imo. It's not clear that that is the intention. This has been in the spec and the design since the very beginning. You'd have to ask someone who helped with the original spec to be sure of the intention. http://haskell.org/cabal/release/old/users-guide-0.1/x29.html#pkg-descr http://haskell.org/cabal/release/cabal-1.0/doc/pkg-spec-html/ It has always allowed for using any license. I suspect the intention was for convenience and to provide some consistency for common licenses, eg so we don't get packages specifying "gpl", "gpl2" "gpl-2" "GPL" and we have to wonder if those are all the same. In the common case it gives machine recognisable information. Duncan From bjorn at bringert.net Sat Mar 1 17:05:10 2008 From: bjorn at bringert.net (Bjorn Bringert) Date: Sat Mar 1 17:02:50 2008 Subject: every use of BSD4 on hackage is incorrect In-Reply-To: <1204323078.11558.76.camel@localhost> References: <1204323078.11558.76.camel@localhost> Message-ID: On Fri, Feb 29, 2008 at 11:11 PM, Duncan Coutts wrote: > The following hackage packages specify in their .cabal file: > > license: BSD4 > > Which is the 4-clause BSD license, ie the one with the advertising > clause. > > cabal-upload-0.3 > Chart-0.5 > FiniteMap-0.1 > haxr-3000.0.1 > haxr-th-1.0 > hbeat-0.1 > htar-0.1 > pcap-0.4.2 > tar-0.1.1.1 > unix-compat-0.1.2.1 > > Inspecting the LICENSE files for every one of these packages reveals > that they actually use the 3-clause BSD license. Not a single hackage > package really uses the 4-clause BSD license. In every case that it has > been used it was just a confusion. > > We therefore propose to deprecate BSD4 as a valid license in .cabal > files: > http://hackage.haskell.org/trac/hackage/ticket/205 > > In the unlikely case that anyone really wants to use the 4-clause BSD > license they can still specify "license: OtherLicense" and put the text > in the accompanying LICENSE file. > > > Additionally, I propose to add the MIT license since there are a couple > packages that really use that and allow optional versions on the > licenses that are versioned, which includes the GPL and LGPL. > > Looking at OtherLicense we find common ones are MIT, variations on BSD3 > (2 clause and fewer, other informal variations), disjunctions of BSD3 / > GPL (ie dual licensing), conjunctions of BSD3 / GPL (ie some bits user > BSD some under GPL). Hi Duncan, thanks for pointing that out. I've fixed the 6 out of those 10 that are mine. I must have gotten that wrong some time long ago and then just copied the .cabal file to new projects. Consider this a vote for deprecating BSD4. /Bjorn From trac at galois.com Sun Mar 2 07:44:41 2008 From: trac at galois.com (Hackage) Date: Sun Mar 2 07:42:20 2008 Subject: [Hackage] #221: need a way to specify site-specific include and library search paths In-Reply-To: <042.c6a668532993ace0579b0349096bdc69@localhost> References: <042.c6a668532993ace0579b0349096bdc69@localhost> Message-ID: <051.d93395853bf0786dc20b49e95976fc89@localhost> #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: Hackage Hackage: Cabal and related projects From trac at galois.com Sun Mar 2 07:45:10 2008 From: trac at galois.com (Hackage) Date: Sun Mar 2 07:42:47 2008 Subject: [Hackage] #223: allow per-package configuration options in config file In-Reply-To: <043.9e5a6edffae59aa9c9bd9e84111a1e75@localhost> References: <043.9e5a6edffae59aa9c9bd9e84111a1e75@localhost> Message-ID: <052.1a0d7f203f9d5d5eed89574b81039b05@localhost> #223: allow per-package configuration options in config file ---------------------------------+------------------------------------------ Reporter: duncan | Owner: mnislaih Type: enhancement | Status: assigned Priority: normal | Milestone: Cabal-1.4 Component: cabal-install tool | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: ---------------------------------+------------------------------------------ Changes (by mnislaih): * status: new => assigned * owner: => mnislaih Comment: I am working on this, wish me luck :) -- Ticket URL: Hackage Hackage: Cabal and related projects From kolmodin at gentoo.org Sun Mar 2 12:51:05 2008 From: kolmodin at gentoo.org (Lennart Kolmodin) Date: Sun Mar 2 12:48:44 2008 Subject: darcs patch: Improve 'cabal list' (and 1 more) Message-ID: <20080302175105.B035183C8@atum.ita.chalmers.se> Sat Mar 1 21:21:17 CET 2008 Lennart Kolmodin * Improve 'cabal list' Make the output of 'cabal list' prettier. $ cabal list xmonad * xmonad Latest version available: 0.6 Latest installed version: 0.6 Homepage: http://xmonad.org Category: System Synopsis: A tiling window manager License: BSD3 * xmonad-contrib ...[snip] Very much like the gentoo tools eix and esearch. This targets part of ticket #235. It still does not show packages that are installed but not available. Sat Mar 1 23:27:04 CET 2008 Lennart Kolmodin * Implement --installed to 'cabal list' Adding --installed to 'cabal list' will make it print only packages that are installed. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 23363 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080302/1040fe4d/attachment-0001.bin From duncan.coutts at worc.ox.ac.uk Sun Mar 2 14:49:38 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sun Mar 2 14:47:19 2008 Subject: patch applied (cabal-install): Improve 'cabal list' Message-ID: <20080302194938.GA5698@haskell.galois.com> Sat Mar 1 12:21:17 PST 2008 Lennart Kolmodin * Improve 'cabal list' Make the output of 'cabal list' prettier. $ cabal list xmonad * xmonad Latest version available: 0.6 Latest installed version: 0.6 Homepage: http://xmonad.org Category: System Synopsis: A tiling window manager License: BSD3 * xmonad-contrib ...[snip] Very much like the gentoo tools eix and esearch. This targets part of ticket #235. It still does not show packages that are installed but not available. M ./Hackage/List.hs -18 +58 M ./Main.hs -1 +3 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080301202117-fdf66-9260f81e1b81ae960876972eaa42eaf2f03d8115.gz From duncan.coutts at worc.ox.ac.uk Sun Mar 2 14:49:40 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sun Mar 2 14:47:20 2008 Subject: patch applied (cabal-install): Implement --installed to 'cabal list' Message-ID: <20080302194940.GA5721@haskell.galois.com> Sat Mar 1 14:27:04 PST 2008 Lennart Kolmodin * Implement --installed to 'cabal list' Adding --installed to 'cabal list' will make it print only packages that are installed. M ./Hackage/List.hs -10 +25 M ./Hackage/Setup.hs -11 +42 M ./Main.hs -4 +10 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080301222704-fdf66-2a9329faada74d9fafcbf5e1c62168db37c36231.gz From duncan at haskell.org Sun Mar 2 14:49:16 2008 From: duncan at haskell.org (Duncan Coutts) Date: Sun Mar 2 14:47:32 2008 Subject: darcs patch: Try to replace the index file atomically. Message-ID: <20080302194730.6A593324140@www.haskell.org> This is only locally tested in a copy of the archive. Sun Mar 2 19:42:01 GMT 2008 Duncan Coutts * Try to replace the index file atomically. Using gzip > file means the file is created/replaced at the begining of the procedure, so for the period until it finishes the index file is in fact invalid. So re-generate the index into a temp file and then atomically rename. This does not make the regeneration totally atomic since while it is being generated, other files could be being added to the archive. BTW, could we set the 'darcs send' email address for the hackage-scripts repo so it works automagically. Would it also make sense for changes in the hackage-scripts to be sent to cabal-devel, like for the Cabal and cabal-install repos? Duncan -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 12956 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080302/35e75d22/attachment.bin From kolmodin at gentoo.org Sun Mar 2 14:52:31 2008 From: kolmodin at gentoo.org (Lennart Kolmodin) Date: Sun Mar 2 14:50:09 2008 Subject: darcs patch: Implement 'cabal list --simple-output' (and 1 more) Message-ID: <20080302195232.045A08574@atum.ita.chalmers.se> Sun Mar 2 20:54:37 CET 2008 Lennart Kolmodin * Implement 'cabal list --simple-output' Provides a output format that is easier to pass on to unix tools and other scripting tools. Also works together with --installed. Sun Mar 2 20:56:39 CET 2008 Lennart Kolmodin * Remove shortopt -I for --installed -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 18664 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080302/63e549f1/attachment-0001.bin From lemming at henning-thielemann.de Sun Mar 2 17:21:08 2008 From: lemming at henning-thielemann.de (Henning Thielemann) Date: Sun Mar 2 17:17:36 2008 Subject: using haddock markup in Description field In-Reply-To: <1204315559.11558.58.camel@localhost> References: <1204315559.11558.58.camel@localhost> Message-ID: On Fri, 29 Feb 2008, Duncan Coutts wrote: > On Fri, 2008-02-29 at 20:03 +0100, Henning Thielemann wrote: >> I like to use Haddock markup like bird track (>) and enumerations (*) in >> the Description field of a package. > > Yep, > >> However I can't get it working, the mentioned markup is simply ignored. > > Hmm, works for me: > > Description: > foo > . > > bar > . > * baz > > And the generated html documentation displays the markup as expected. > > For some reason we decided on a .cabal file format where blank lines are > ignored and one needs '.' on a line to signal a blank line. I'm highly > tempted to change that unless someone has a compelling reason. Ah, that's the trick. Should be documented. I hoped to read about here: http://www.haskell.org/cabal/release/latest/doc/users-guide/x30.html#general-fields From duncan.coutts at worc.ox.ac.uk Sun Mar 2 17:23:56 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sun Mar 2 17:21:33 2008 Subject: using haddock markup in Description field In-Reply-To: References: <1204315559.11558.58.camel@localhost> Message-ID: <1204496636.11558.135.camel@localhost> On Sun, 2008-03-02 at 23:21 +0100, Henning Thielemann wrote: > On Fri, 29 Feb 2008, Duncan Coutts wrote: > > > On Fri, 2008-02-29 at 20:03 +0100, Henning Thielemann wrote: > >> I like to use Haddock markup like bird track (>) and enumerations (*) in > >> the Description field of a package. > > > > Yep, > > > >> However I can't get it working, the mentioned markup is simply ignored. > > > > Hmm, works for me: > > > > Description: > > foo > > . > > > bar > > . > > * baz > > > > And the generated html documentation displays the markup as expected. > > > > For some reason we decided on a .cabal file format where blank lines are > > ignored and one needs '.' on a line to signal a blank line. I'm highly > > tempted to change that unless someone has a compelling reason. > > Ah, that's the trick. Should be documented. I hoped to read about here: > http://www.haskell.org/cabal/release/latest/doc/users-guide/x30.html#general-fields It is documented a few lines above: To get a blank line in a field value, use an indented "." It could probably be clearer though. I'm happy to accept a patch (darcs or informal). Though as I said before I think it'd be better to remove the "." thing entirely. Duncan From duncan.coutts at worc.ox.ac.uk Sun Mar 2 20:15:55 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sun Mar 2 20:13:31 2008 Subject: patch applied (cabal-install): Implement 'cabal list --simple-output' Message-ID: <20080303011554.GA13244@haskell.galois.com> Sun Mar 2 11:54:37 PST 2008 Lennart Kolmodin * Implement 'cabal list --simple-output' Provides a output format that is easier to pass on to unix tools and other scripting tools. Also works together with --installed. M ./Hackage/List.hs -9 +29 M ./Hackage/Setup.hs -2 +10 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080302195437-fdf66-a7008cd03f287f99d876af0ad8300efbf52a04d9.gz From duncan.coutts at worc.ox.ac.uk Sun Mar 2 20:15:56 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sun Mar 2 20:13:33 2008 Subject: patch applied (cabal-install): Remove shortopt -I for --installed Message-ID: <20080303011556.GA13268@haskell.galois.com> Sun Mar 2 11:56:39 PST 2008 Lennart Kolmodin * Remove shortopt -I for --installed M ./Hackage/Setup.hs -1 +1 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080302195639-fdf66-19f27062a978277a0b067dbab5a8633a83a8785b.gz From duncan.coutts at worc.ox.ac.uk Sun Mar 2 20:15:58 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sun Mar 2 20:13:33 2008 Subject: patch applied (cabal-install): In 'list', also include packages that are only installed and not available Message-ID: <20080303011558.GA13285@haskell.galois.com> Sun Mar 2 17:03:46 PST 2008 Duncan Coutts * In 'list', also include packages that are only installed and not available Previously we took the available packages and did an inner join with the installed packages so we missed out packages like base which are installed by not available. Now we get the selected installed and available package sets and do a full outer join using a sort and merge operation. Also use a proper data type to hold the info we print about each package. M ./Hackage/List.hs -92 +142 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080303010346-adfee-f7723aaea5c999927f4e14a75f438ad5bf55ec57.gz From duncan.coutts at worc.ox.ac.uk Sun Mar 2 20:18:16 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sun Mar 2 20:15:53 2008 Subject: darcs patch: Implement 'cabal list --simple-output' (and 1 more) In-Reply-To: <20080302195232.045A08574@atum.ita.chalmers.se> References: <20080302195232.045A08574@atum.ita.chalmers.se> Message-ID: <1204507096.11558.142.camel@localhost> On Sun, 2008-03-02 at 20:52 +0100, Lennart Kolmodin wrote: > Sun Mar 2 20:54:37 CET 2008 Lennart Kolmodin > * Implement 'cabal list --simple-output' > Provides a output format that is easier to pass on to unix tools and other > scripting tools. Also works together with --installed. > > Sun Mar 2 20:56:39 CET 2008 Lennart Kolmodin > * Remove shortopt -I for --installed Applied thanks. "cabal list" is much more useful now. Originally "cabal list" on it's own listed all packages. That makes a lot less sense now that we have so many packages and the output for each is a few lines. I get over 3,000 lines of output now. I wonder what you think we should do? Perhaps print a message saying to use some search terms. "cabal list --simple-output" still makes sense with no search terms since that's not intended for human consumption. We should find out what people want the --simple-output for exactly. For example do they really want substring matching by default or exact like "ghc-pkg list", or prefix for command completion? Duncan From trac at galois.com Sun Mar 2 21:12:51 2008 From: trac at galois.com (Hackage) Date: Sun Mar 2 21:10:26 2008 Subject: [Hackage] #235: cabal list should also list installed packages In-Reply-To: <043.578e56899aefe7f9ea7d800e6eed09ef@localhost> References: <043.578e56899aefe7f9ea7d800e6eed09ef@localhost> Message-ID: <052.6904b64b4250c2340c063fa977c1d0c9@localhost> #235: cabal list should also list installed packages ---------------------------------+------------------------------------------ Reporter: duncan | Owner: Type: enhancement | Status: closed Priority: normal | Milestone: Component: cabal-install tool | Version: 1.2.3.0 Severity: normal | Resolution: fixed Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.8.2 | Platform: ---------------------------------+------------------------------------------ Changes (by duncan): * status: new => closed * resolution: => fixed Comment: Thanks to Kolmodin's patches the output now looks like: {{{ $ cabal list xmo * xmobar Latest version available: 0.8 Homepage: http://gorgias.mine.nu/repos/xmobar/ Category: System Synopsis: A Statusbar for the XMonad Window Manager License: BSD3 * xmonad Latest version available: 0.6 Latest version installed: 0.6 Category: System Synopsis: A lightweight X11 window manager. License: BSD3 * xmonad-contrib Latest version available: 0.6 Homepage: http://xmonad.org/ Category: System Synopsis: Third party extensions for xmonad License: BSD3 }}} Or just listing installed packages: {{{ $ cabal list xmo --installed * xmonad Latest version available: 0.6 Latest version installed: 0.6 Category: System Synopsis: A lightweight X11 window manager. License: BSD3 }}} And the machine readable output: {{{ $ cabal list xmo --simple-output xmobar 0.3 xmobar 0.3.1 xmobar 0.4 xmobar 0.5 xmobar 0.6 xmobar 0.7 xmobar 0.8 xmonad 0.1 xmonad 0.2 xmonad 0.3 xmonad 0.4 xmonad 0.4.1 xmonad 0.5 xmonad 0.6 xmonad-contrib 0.5 xmonad-contrib 0.6 }}} {{{ $ cabal list xmo --simple-output --installed xmonad 0.5 xmonad 0.6 }}} -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Mon Mar 3 00:04:00 2008 From: trac at galois.com (Hackage) Date: Mon Mar 3 00:01:37 2008 Subject: [Hackage] #254: Misleading documentation on comments in .cabal Message-ID: <042.6f06212666fde4788485f043783d9e72@localhost> #254: Misleading documentation on comments in .cabal ----------------------------------+----------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: misc | Version: 1.2.3.0 Severity: minor | Keywords: Difficulty: very easy (<1 hour) | Ghcversion: 6.8.2 Platform: | ----------------------------------+----------------------------------------- in http://www.haskell.org/cabal/release/latest/doc/users-guide/x30.html #pkg-descr we read, "In the package description file, lines beginning with "--" are treated as comments and ignored." This isn't right, since it's actually -- after any amount of whitespace; you can indent as you please, and cabal will still treat it as a comment and not try to interpret your crazy English stuff. It's a bit misleading. -- Ticket URL: Hackage Hackage: Cabal and related projects From duncan.coutts at worc.ox.ac.uk Mon Mar 3 09:02:17 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 08:59:51 2008 Subject: patch applied (cabal-install): Fix savedConfigToConfigFlags so the command line overrides the config Message-ID: <20080303140216.GA16002@haskell.galois.com> Mon Mar 3 06:00:07 PST 2008 Duncan Coutts * Fix savedConfigToConfigFlags so the command line overrides the config "cabal configure --global" was incorrectly passing the user prefix to setup. M ./Hackage/Config.hs -22 +5 M ./Main.hs -8 +7 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080303140007-adfee-5f96489e277503ebb8b4da7a716ee69a3806ab32.gz From trac at galois.com Mon Mar 3 11:55:59 2008 From: trac at galois.com (Hackage) Date: Mon Mar 3 11:53:33 2008 Subject: [Hackage] #255: avoid rebuilding shared code Message-ID: <042.6910e2c33e5bf396c2d523514bea8031@localhost> #255: avoid rebuilding shared code ----------------------------+----------------------------------------------- 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: | ----------------------------+----------------------------------------------- It seems like a common use of Cabal is to build a library and an executable based on that library. Is there a good way to do this right now? If you specify a stanza for each, the code gets compiled twice (or N+1 times for N executables). That gets annoying if there is a lot of shared code (consider a libdarcs). It would be nice if the executable could just build-depends the library we are currently trying to build. (One could also imagine a version constraint like 'this version' which explicitly says to use the version being built in this cabal file) Thanks! (Eric Kow) -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Mon Mar 3 11:59:57 2008 From: trac at galois.com (Hackage) Date: Mon Mar 3 11:57:32 2008 Subject: [Hackage] #255: avoid rebuilding shared code In-Reply-To: <042.6910e2c33e5bf396c2d523514bea8031@localhost> References: <042.6910e2c33e5bf396c2d523514bea8031@localhost> Message-ID: <051.b1aec03bdd051a964095fa9b45b7bde2@localhost> #255: avoid rebuilding shared code ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: enhancement | Status: closed Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: duplicate Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Changes (by guest): * status: new => closed * resolution: => duplicate Comment: Argh. This looks like a duplicate of #89 so I will resolve this unless somebody disagrees. (Eric) -- Ticket URL: Hackage Hackage: Cabal and related projects From duncan.coutts at worc.ox.ac.uk Mon Mar 3 12:05:20 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 12:02:57 2008 Subject: patch applied (cabal-install): Fix fromFlag bug and use default flags for list command Message-ID: <20080303170520.GA20464@haskell.galois.com> Mon Mar 3 08:41:54 PST 2008 Duncan Coutts * Fix fromFlag bug and use default flags for list command M ./Hackage/Config.hs +10 M ./Hackage/Setup.hs -1 +1 M ./Main.hs -5 +6 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080303164154-adfee-e437133fa35b78779b828ca29eaa954173d945dc.gz From kolmodin at gentoo.org Mon Mar 3 13:30:25 2008 From: kolmodin at gentoo.org (Lennart Kolmodin) Date: Mon Mar 3 13:28:02 2008 Subject: darcs patch: CLI completion: Add completion of packages Message-ID: <20080303183025.3FF56111C0@atum.ita.chalmers.se> Mon Mar 3 19:32:31 CET 2008 Lennart Kolmodin * CLI completion: Add completion of packages Add completion of packages to the commands install, list, upgrade and fetch. Only complete packages if the user is not trying to complete a flag. Complete with package-versions if the package name ends with a dash, otherwise just complete with the package names. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 20892 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080303/2a6fb95d/attachment.bin From trac at galois.com Mon Mar 3 14:13:36 2008 From: trac at galois.com (Hackage) Date: Mon Mar 3 14:11:10 2008 Subject: [Hackage] #255: avoid rebuilding shared code In-Reply-To: <042.6910e2c33e5bf396c2d523514bea8031@localhost> References: <042.6910e2c33e5bf396c2d523514bea8031@localhost> Message-ID: <051.2ff17a88aa96676e0fc1a127b7c86843@localhost> #255: avoid rebuilding shared code ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: enhancement | Status: closed Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: duplicate Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by duncan): Right, this is something that'd be nice, to allow the executables to depend on the library within the package. I think that's exactly what #89 is about. -- Ticket URL: Hackage Hackage: Cabal and related projects From duncan.coutts at worc.ox.ac.uk Mon Mar 3 16:51:41 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 16:49:18 2008 Subject: patch applied (cabal): Wrap the output of the logging functions Message-ID: <20080303215141.GA26252@haskell.galois.com> Mon Mar 3 10:26:23 PST 2008 Duncan Coutts * Wrap the output of the logging functions So we'll not have to keep adjusting newline breaks. M ./Distribution/Simple/Setup.hs -2 +2 M ./Distribution/Simple/Utils.hs -9 +23 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080303182623-adfee-6526a600d38bf31198ff9c9758cd55644d36ab7c.gz From duncan.coutts at worc.ox.ac.uk Mon Mar 3 16:51:42 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 16:49:19 2008 Subject: patch applied (cabal): Extend and use the OS data type in the package description Message-ID: <20080303215142.GA26275@haskell.galois.com> Mon Mar 3 12:03:38 PST 2008 Duncan Coutts * Extend and use the OS data type in the package description Rather than just using a string. This makes comparing OSs easier since we can normalise them once when we parse rather than every time we compare. Also makes it easy to discover when a package mentions an unknown OS since it's marked as Other "whatever". M ./Distribution/PackageDescription.hs -2 +3 M ./Distribution/PackageDescription/Configuration.hs -16 +11 M ./Distribution/Simple/Configure.hs -2 +2 M ./Distribution/System.hs -9 +51 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080303200338-adfee-ff1eef7267bf9304cd48368dced1a02511695e3d.gz From duncan.coutts at worc.ox.ac.uk Mon Mar 3 16:51:44 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 16:49:19 2008 Subject: patch applied (cabal): Put a header in the dist/setup-config file and check it on loading Message-ID: <20080303215144.GA26293@haskell.galois.com> Mon Mar 3 12:28:55 PST 2008 Duncan Coutts * Put a header in the dist/setup-config file and check it on loading This should fix ticket #120 in future which is the problem where you do something like "sudo runghc Setup install" and you accidentally end up using a different version of the compiler or of the Cabal lib and you get an unhelpful error message: > Setup.hs: error reading ./.setup-config; run "setup configure" command? Well now you'll get a helpful error message: > setup: You need to re-run the 'configure' command. The version of Cabal > being used has changed (was Cabal-1.3.6, now Cabal-1.3.7). If the compiler version being used has changed too we get the extra helpful: > setup: You need to re-run the 'configure' command. The version of Cabal > being used has changed (was Cabal-1.3.6, now Cabal-1.3.7). Additionally > the compiler is different (was ghc-6.8, now ghc-6.9) which is probably > the cause of the problem. Of course this does not help for older versions of Cabal but there's not a lot we can do about that. M ./Distribution/Simple/Configure.hs -13 +78 M ./Distribution/Simple/Utils.hs +8 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080303202855-adfee-247e814fe751fb09809323d199b44055f1882978.gz From duncan.coutts at worc.ox.ac.uk Mon Mar 3 16:51:45 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 16:49:20 2008 Subject: patch applied (cabal): Bump version to 1.3.7 Message-ID: <20080303215145.GA26310@haskell.galois.com> Mon Mar 3 12:40:00 PST 2008 Duncan Coutts * Bump version to 1.3.7 Keep up with recent minor api changes M ./Cabal.cabal -2 +2 M ./Makefile -1 +1 M ./releaseNotes -1 +1 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080303204000-adfee-73fe38f0d19075780e195fa20ed5cea9d4cd86a5.gz From duncan.coutts at worc.ox.ac.uk Mon Mar 3 16:51:47 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 16:49:21 2008 Subject: patch applied (cabal): Actually we don't need wrapText' Message-ID: <20080303215147.GA26327@haskell.galois.com> Mon Mar 3 13:41:50 PST 2008 Duncan Coutts * Actually we don't need wrapText' Any users of custom wrapText versions can go from the underlying wrapLine M ./Distribution/Simple/Utils.hs -10 +5 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080303214150-adfee-7cd16c968b0613da6d71688b4cc12fd1eecba9c3.gz From duncan.coutts at worc.ox.ac.uk Mon Mar 3 16:52:22 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 16:49:56 2008 Subject: patch applied (cabal-install): CLI completion: Add completion of packages Message-ID: <20080303215222.GA26375@haskell.galois.com> Mon Mar 3 10:32:31 PST 2008 Lennart Kolmodin * CLI completion: Add completion of packages Add completion of packages to the commands install, list, upgrade and fetch. Only complete packages if the user is not trying to complete a flag. Complete with package-versions if the package name ends with a dash, otherwise just complete with the package names. M ./bash-completion/cabal -7 +108 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080303183231-fdf66-bc4a52005033b25c40eacd1b09bda19980fb50b2.gz From duncan.coutts at worc.ox.ac.uk Mon Mar 3 16:52:23 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 16:49:57 2008 Subject: patch applied (cabal-install): Update for recent Cabal lib api and behaviour changes Message-ID: <20080303215223.GA26396@haskell.galois.com> Mon Mar 3 13:39:31 PST 2008 Duncan Coutts * Update for recent Cabal lib api and behaviour changes Depend on latest Cabal lib version and bump our own version due to recent feature additions and removal of the 'info' command. M ./Hackage/Dependency.hs -2 +3 M ./Hackage/List.hs -3 +2 M ./cabal-install.cabal -2 +2 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080303213931-adfee-63a0717f3530695db31de4f3473f7e4a19e8ae51.gz From trac at galois.com Mon Mar 3 16:53:18 2008 From: trac at galois.com (Hackage) Date: Mon Mar 3 16:51:04 2008 Subject: [Hackage] #120: misleading error message from cabal when versions differ In-Reply-To: <051.df533c3fd4b4fed0d8bfdd20d6838819@localhost> References: <051.df533c3fd4b4fed0d8bfdd20d6838819@localhost> Message-ID: <060.00315448a8e5aeafe218e71a3e70e56c@localhost> #120: misleading error message from cabal when versions differ -----------------------------+---------------------------------------------- Reporter: igloo@earth.li | Owner: Type: defect | Status: closed Priority: normal | Milestone: Component: Cabal library | Version: 1.1.6 Severity: normal | Resolution: fixed Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.6 | Platform: Linux -----------------------------+---------------------------------------------- Changes (by duncan): * status: new => closed * resolution: => fixed Comment: It now adds a header to the file and checks it again when reading. The header is a line like: {{{ Saved package config for foo-1.0 written by Cabal-1.3.7 using ghc-6.8 }}} It checks this header when reading back the config. If the Cabal versions do not match you'll get this error: {{{ cabal: You need to re-run the 'configure' command. The version of Cabal being used has changed (was Cabal-1.3.6, now Cabal-1.3.7). }}} If additionally the compiler versions do not match then you get: {{{ cabal: You need to re-run the 'configure' command. The version of Cabal being used has changed (was Cabal-1.3.6, now Cabal-1.3.7). Additionally the compiler is different (was ghc-6.8, now ghc-6.9) which is probably the cause of the problem. }}} Of course it does not help for older Cabal versions which lacked this check but it's the best we can do and should help in future. -- Ticket URL: Hackage Hackage: Cabal and related projects From nominolo at googlemail.com Mon Mar 3 17:19:16 2008 From: nominolo at googlemail.com (Thomas Schilling) Date: Mon Mar 3 17:16:52 2008 Subject: darcs patch: Clarify commenting rule for package desc... (and 1 more) Message-ID: <47cc7964.2233440a.09b8.4eea@mx.google.com> Mon Mar 3 23:16:57 CET 2008 Thomas Schilling * Clarify commenting rule for package description files. Mon Mar 3 23:17:35 CET 2008 Thomas Schilling * Fix speling. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 63161 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080303/6f57f02e/attachment-0001.bin From trac at galois.com Mon Mar 3 18:27:33 2008 From: trac at galois.com (Hackage) Date: Mon Mar 3 18:25:07 2008 Subject: [Hackage] #254: Misleading documentation on comments in .cabal In-Reply-To: <042.6f06212666fde4788485f043783d9e72@localhost> References: <042.6f06212666fde4788485f043783d9e72@localhost> Message-ID: <051.331ae63b051500faf7d23b2635538045@localhost> #254: Misleading documentation on comments in .cabal ---------------------+------------------------------------------------------ Reporter: guest | Owner: Type: defect | Status: closed Priority: low | Milestone: Component: misc | Version: 1.2.3.0 Severity: minor | Resolution: fixed Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ---------------------+------------------------------------------------------ Changes (by duncan): * status: new => closed * resolution: => fixed Comment: Fixed. {{{ Mon Mar 3 22:16:57 GMT 2008 Thomas Schilling * Clarify commenting rule for package description files. }}} -- Ticket URL: Hackage Hackage: Cabal and related projects From duncan.coutts at worc.ox.ac.uk Mon Mar 3 18:27:34 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 18:25:09 2008 Subject: patch applied (cabal): Clarify commenting rule for package description files. Message-ID: <20080303232734.GA28529@haskell.galois.com> Mon Mar 3 14:16:57 PST 2008 Thomas Schilling * Clarify commenting rule for package description files. M ./doc/Cabal.xml -2 +3 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080303221657-75a80-8c6634f77ee21410f87913ab0f70dd916b44cb87.gz From duncan.coutts at worc.ox.ac.uk Mon Mar 3 18:27:36 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 18:25:09 2008 Subject: patch applied (cabal): Fix speling. Message-ID: <20080303232736.GA28547@haskell.galois.com> Mon Mar 3 14:17:35 PST 2008 Thomas Schilling * Fix speling. M ./doc/Cabal.xml -11 +11 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080303221735-75a80-f94e9944c3ffe109baa8988a0e7319f262adff5b.gz From duncan.coutts at worc.ox.ac.uk Mon Mar 3 21:10:12 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Mon Mar 3 21:07:45 2008 Subject: patch applied (cabal): Include .hs-boot files into the sdist tarball Message-ID: <20080304021012.GA31086@haskell.galois.com> Mon Mar 3 17:53:34 PST 2008 Duncan Coutts * Include .hs-boot files into the sdist tarball Tested using Agda which uses several .hs-boot files. M ./Distribution/Simple/SrcDist.hs -1 +7 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080304015334-adfee-3231f6c7496aea1d2df8bf8832ded91e8db8df23.gz From trac at galois.com Mon Mar 3 21:33:45 2008 From: trac at galois.com (Hackage) Date: Mon Mar 3 21:31:33 2008 Subject: [Hackage] #98: cabal assumes -x option for linking In-Reply-To: <061.b59dc7864b008d7b0f368657b6b769bb@localhost> References: <061.b59dc7864b008d7b0f368657b6b769bb@localhost> Message-ID: <070.d08e25116f6e76cdba7b0516655ef4e3@localhost> #98: cabal assumes -x option for linking ---------------------------------------+------------------------------------ Reporter: Christian.Maeder@dfki.de | Owner: ijones Type: defect | Status: closed Priority: normal | Milestone: Cabal-1.2 Component: Cabal library | Version: 1.2.0 Severity: normal | Resolution: fixed Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.6 | Platform: Other Unix ---------------------------------------+------------------------------------ Comment (by duncan): Replying to [comment:2 guest]: > Furthermore the generated file libraries/base/GNUMakefile contained "`xargs -s 30000`" which is too big for Solaris (the maximal value is 2048) I'd really like to get this increased. 2048 is ridiculously low for most platforms. We end up doing multiple ar and ld calls even for ordinary sized Haskell projects without even using split-objs. If people use split- objs we'll end up making 100's of ar/ld calls for larger libs. According to POSIX.1-2001 the minimum value for ARG_MAX is _POSIX_ARG_MAX which is 4096. So surely even older versions of Solaris must have supported at least 4096? I used the following C program to test on Solaris 9 and I discovered the value is 1048320. {{{ #include #include #include int main () { printf("ARG_MAX == %d, sysconf(_SC_ARG_MAX) == %ld\n", ARG_MAX, sysconf(_SC_ARG_MAX)); return 0; } }}} On posix systems we could test dynamically using `System.Posix.Unistd.getSysVar ArgumentLimit` though it's a pain because we'd have to use cpp and add a conditional dependency on the unix package. Christian, what version of Solaris are you using and what does the above C program report for you? -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Mon Mar 3 21:34:27 2008 From: trac at galois.com (Hackage) Date: Mon Mar 3 21:32:01 2008 Subject: [Hackage] #67: sdist doesn't include .hs-boot files In-Reply-To: <043.daa03f6faa1d72d1ccf955a9c851f12c@localhost> References: <043.daa03f6faa1d72d1ccf955a9c851f12c@localhost> Message-ID: <052.19f1399171a5586dd3d339e2cbf74c8c@localhost> #67: sdist doesn't include .hs-boot files ----------------------------+----------------------------------------------- Reporter: ijones | Owner: Type: defect | Status: closed Priority: normal | Milestone: Cabal-1.4 Component: Cabal library | Version: Severity: normal | Resolution: fixed Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.2.2 | Platform: ----------------------------+----------------------------------------------- Changes (by duncan): * status: new => closed * resolution: => fixed Comment: Fixed. {{{ Tue Mar 4 01:53:34 GMT 2008 Duncan Coutts * Include .hs-boot files into the sdist tarball Tested using Agda which uses several .hs-boot files. }}} -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Tue Mar 4 04:09:50 2008 From: trac at galois.com (Hackage) Date: Tue Mar 4 04:07:33 2008 Subject: [Hackage] #98: cabal assumes -x option for linking In-Reply-To: <061.b59dc7864b008d7b0f368657b6b769bb@localhost> References: <061.b59dc7864b008d7b0f368657b6b769bb@localhost> Message-ID: <070.f1656034401c2a16c8419e290caac122@localhost> #98: cabal assumes -x option for linking ---------------------------------------+------------------------------------ Reporter: Christian.Maeder@dfki.de | Owner: ijones Type: defect | Status: closed Priority: normal | Milestone: Cabal-1.2 Component: Cabal library | Version: 1.2.0 Severity: normal | Resolution: fixed Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.6 | Platform: Other Unix ---------------------------------------+------------------------------------ Comment (by guest): We have Solaris 10, you're program outputs the value 1048320, too. However, my problem was about the xargs -s value. So draw your own conclusions from my output below. Cheers Christian {{{ -bash-3.00$ ./a.out ARG_MAX == 1048320, sysconf(_SC_ARG_MAX) == 1048320 -bash-3.00$ xargs -s 30000 xargs: 0 < max-cmd-line-size <= 2048: 30000 xargs: Usage: xargs: [-t] [-p] [-e[eofstr]] [-E eofstr] [-I replstr] [-i[replstr]] [-L #] [-l[#]] [-n # [-x]] [-s size] [cmd [args ...]] -bash-3.00$ uname -a SunOS leo 5.10 Generic_127111-03 sun4u sparc SUNW,Sun-Fire-280R -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Tue Mar 4 05:57:02 2008 From: trac at galois.com (Hackage) Date: Tue Mar 4 05:54:34 2008 Subject: [Hackage] #223: allow per-package configuration options in config file In-Reply-To: <043.9e5a6edffae59aa9c9bd9e84111a1e75@localhost> References: <043.9e5a6edffae59aa9c9bd9e84111a1e75@localhost> Message-ID: <052.cd8eaf4d453ae4337e0ae2524cd39984@localhost> #223: allow per-package configuration options in config file ---------------------------------+------------------------------------------ Reporter: duncan | Owner: mnislaih Type: enhancement | Status: assigned Priority: normal | Milestone: Cabal-1.4 Component: cabal-install tool | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: ---------------------------------+------------------------------------------ Comment (by mnislaih): Since this is not a trivial refactoring and I am not a usual committer, here is a plan write-up. == Problem == We have ConfigFlags, a data structure in typical database fashion, a dictionary of plain values composed of several fields. There are two main goals a) Be able to serialize it (done now via ParseUtils.FieldDescrs) b) Be able to manipulate it via command line flags (done via Command.Option) For a), we want a format that is human readable and modifiable. For b), we want to be able to specify the flags, with an expressivity comparable to the GetOpt language. Overall, we want to have a coherence and be able to reuse code. We may want to see these as two facets of the same problem and be able to specify them in one single place. (and in Haskell 98 of course) == Solution 1 == Specify b) via Distribution.Command.Option, and then convert those options to ParseUtils.FieldDescrs automatically, which can be serialized for b). The problem is that NoArg/OptArg options cannot really be converted to FieldDescrs. We are missing a proper name for the field in the serialized file, and since there are usually several Options of this kind associated to one field, we want to see them as defining the possible values of the field. But we cannot collect them, as the option description is missing a declarative reference to which record they modify in the data structure. {{{ option :: [Char] -> [String] -> String -> c -> d -> (c -> d -> ArgDescr a) -> Option a option ss ls d get set arg = Option ss ls d (arg get set) }}} There are getters and setters, but those are opaque functions. Hence, we can only automatically infer FieldDescrs for ReqArg options. The others must be inputed manually. This seems error prone and tricky to maintain to me, although it has the advantage of being the simplest refactoring among all the options. == Solution 2 == If we reify the record, then options can be given a more declarative type. {{{ option :: Record data field -> [Char] -> String -> String -> ArgDescr field -> Option field data Record data field = { get :: data -> field , set :: field -> data -> data }}} This is good enough to enable us to collect all the NoArg options related to one field, and condense a single FieldDescr out of it. == Solution 3 == But why stop there? We can put more metadata in the Record descriptor. {{{ interface :: OptInterface, desc :: String, shape :: Shape, ppr :: field -> Doc } data OptInterface { shortFlags :: [String], longFlags :: [String] } data Shape field = StringValued (String -> ReadS field) | Choice (Map OptInterface field) }}} So now it is possible to extract an Option directly from this structure. {{{ mkOption :: Record data field -> [Option data] }}} The definition of mkOption should be trivial. If the Record is StringValued then we get a single Option, otherwise we get an Option for every choice. And the same goes for FieldDescrs. {{{ mkFieldDescr :: Record data field -> FieldDescr data }}} For the row name in the file we just take the first longFlag, and if it has a Choice shape then we build the trivial parser for it. Otherwise we just use the parser provided in StringValued. Finally, we could just extend FieldDescr to accomodate the role of Record above. But this poses the minor issue that FieldDescr 'instances' are provided in CabalInstall, whereas they would be required by Cabal already in Distribution.Setup.hs So they will need to be moved there. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Tue Mar 4 06:08:33 2008 From: trac at galois.com (Hackage) Date: Tue Mar 4 06:06:10 2008 Subject: [Hackage] #223: allow per-package configuration options in config file In-Reply-To: <043.9e5a6edffae59aa9c9bd9e84111a1e75@localhost> References: <043.9e5a6edffae59aa9c9bd9e84111a1e75@localhost> Message-ID: <052.6baf7a123140564d2b32021634161325@localhost> #223: allow per-package configuration options in config file ---------------------------------+------------------------------------------ Reporter: duncan | Owner: mnislaih Type: enhancement | Status: assigned Priority: normal | Milestone: Cabal-1.4 Component: cabal-install tool | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: ---------------------------------+------------------------------------------ Changes (by mnislaih): * cc: mnislaih@gmail.com (added) -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Tue Mar 4 07:19:07 2008 From: trac at galois.com (Hackage) Date: Tue Mar 4 07:16:40 2008 Subject: [Hackage] #223: allow per-package configuration options in config file In-Reply-To: <043.9e5a6edffae59aa9c9bd9e84111a1e75@localhost> References: <043.9e5a6edffae59aa9c9bd9e84111a1e75@localhost> Message-ID: <052.66fa34df1a22e597411b498a39b89c18@localhost> #223: allow per-package configuration options in config file ---------------------------------+------------------------------------------ Reporter: duncan | Owner: mnislaih Type: enhancement | Status: assigned Priority: normal | Milestone: Cabal-1.4 Component: cabal-install tool | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: ---------------------------------+------------------------------------------ Comment (by duncan): Thanks for keeping us posted, it sounds like a very sensible plan. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Tue Mar 4 07:34:13 2008 From: trac at galois.com (Hackage) Date: Tue Mar 4 07:31:53 2008 Subject: [Hackage] #98: cabal assumes -x option for linking In-Reply-To: <061.b59dc7864b008d7b0f368657b6b769bb@localhost> References: <061.b59dc7864b008d7b0f368657b6b769bb@localhost> Message-ID: <070.1945a7a370a6b48b94b429bf7d58b76d@localhost> #98: cabal assumes -x option for linking ---------------------------------------+------------------------------------ Reporter: Christian.Maeder@dfki.de | Owner: ijones Type: defect | Status: closed Priority: normal | Milestone: Cabal-1.2 Component: Cabal library | Version: 1.2.0 Severity: normal | Resolution: fixed Keywords: | Difficulty: easy (<4 hours) Ghcversion: 6.6 | Platform: Other Unix ---------------------------------------+------------------------------------ Comment (by duncan): Replying to [comment:16 guest]: > We have Solaris 10, you're program outputs the value 1048320, too. However, my problem was about the xargs -s value. So draw your own conclusions from my output below. Cheers Christian Thanks very much Christian, that's great. I don't think us cabal hackers realised it was just `xargs` the unix program that had the limit and assumed it was the process limit. There's also an `xargs` function in cabal and we mistakenly applied the limit to that too: {{{ Thu Oct 18 15:05:00 BST 2007 Simon Marlow * FIX GHC bug #1785: use 2048 as the maximum command-line size Apparently Solaris sets a limit of 2048 here hunk ./Distribution/Simple/GHC.hs 411 - maxCommandLineSize = 30 * 1024 + -- used to be 30k, but Solaris needs 2k (see GHC bug #1785) + maxCommandLineSize = 2048 hunk ./Distribution/Simple/GHC/Makefile.in 62 - (echo $(C_OBJS) `$(MKSTUBOBJS)`; find $(patsubst %.$(osuf),%_split,$(HS_OBJS)) -name '*.$(way_)o' -print) | xargs -s 30000 $(AR) q $(EXTRA_AR_ARGS) $@ $ + (echo $(C_OBJS) `$(MKSTUBOBJS)`; find $(patsubst %.$(osuf),%_split,$(HS_OBJS)) -name '*.$(way_)o' -print) | xargs -s 2048 $(AR) q $(EXTRA_AR_ARGS) $@ $ }}} (Simon later applied another patch to remove the `-s` arg from the `xargs` program invocation) So I'll change `maxCommandLineSize` back to 30k which seemed to be ok previously. I'm leaving the call to the `xargs` program well alone. -- Ticket URL: Hackage Hackage: Cabal and related projects From ndmitchell at gmail.com Tue Mar 4 09:35:21 2008 From: ndmitchell at gmail.com (Neil Mitchell) Date: Tue Mar 4 09:32:53 2008 Subject: Cabal bugs Message-ID: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> Hi, Using cabal and cabal-install from yesterday: D:\sources\contrib\google-chart>cabal install --hugs cabal: user error (Pattern match failure in do expression at Hackage/Install.hs: 99:6-19) D:\sources\contrib\google-chart>runhaskell Setup configure --hugs Configuring GoogleChart-0.2... Setup: The following installed packages are broken because other packages they depend on are missing. These broken packages must be rebuilt before they can be used. Two separate errors, one in cabal, one in cabal-install. The cabal error should at least tell me which packages are missing. Thanks Neil From trac at galois.com Tue Mar 4 13:59:22 2008 From: trac at galois.com (Hackage) Date: Tue Mar 4 13:56:55 2008 Subject: [Hackage] #58: allow darcs repo to be specified in cabal file In-Reply-To: <043.6583bf82ef1497f4ce27dc570194f6ee@localhost> References: <043.6583bf82ef1497f4ce27dc570194f6ee@localhost> Message-ID: <052.c6f08c2daf9c8c0277ed3105f896d93a@localhost> #58: allow darcs repo to be specified in cabal file ----------------------------+----------------------------------------------- Reporter: ijones | Owner: Type: enhancement | Status: new Priority: high | Milestone: Cabal-1.4 Component: Cabal library | Version: Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.2.1 | Platform: Linux ----------------------------+----------------------------------------------- Comment (by kolmodin): I'd like a tool that downloads the scm version of a cabal package. very simple yet I'd find it much useful. {{{ cabal-source get zlib }}} should run darcs and give me the zlib repo in the current dir. Nice... About knowing which kind of repo it is, lets have a look what other tools does. Layman is an application to help the user get and update his Gentoo overlays (extra stuff not covered in portage). It uses a description file, http://www.gentoo.org/proj/en/overlays/layman- global.txt . A short snippet from the xml: {{{ type = "darcs" src = "http://www.haskell.org/~gentoo/gentoo-haskell/" }}} It mentions both the type of scm, and the location. Another alternative would be to just write an URI, possibly combining the tool and the source location: {{{ darcs+http://www.haskell.org/~gentoo/gentoo-haskell/ }}} That would require us to invent the URI scheme when the scm itself doesn't provide such names itself. I guess writing both the type and the location in separate fields would be easiest. Either way, I really think the type of the tool to use must be described or we will not be able to do much cool stuff. -- Ticket URL: Hackage Hackage: Cabal and related projects From kolmodin at gentoo.org Tue Mar 4 14:43:47 2008 From: kolmodin at gentoo.org (Lennart Kolmodin) Date: Tue Mar 4 14:41:20 2008 Subject: darcs patch: Fix defect when unpacking tar files containing links Message-ID: <20080304194347.D779885DE@atum.ita.chalmers.se> Tue Mar 4 20:42:55 CET 2008 Lennart Kolmodin * Fix defect when unpacking tar files containing links There were two issues; * Unpacking links that point to files not yet unpacked * Used the link target as absolute path, but it's relative This patch addresses both issues, which is ticket #246. There may still be errors if a link refer to another link which has not been unpacked yet. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/x-darcs-patch Size: 18823 bytes Desc: A darcs patch for your repository! Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080304/1587fac2/attachment-0001.bin From trac at galois.com Tue Mar 4 15:37:46 2008 From: trac at galois.com (Hackage) Date: Tue Mar 4 15:35:22 2008 Subject: [Hackage] #58: allow darcs repo to be specified in cabal file In-Reply-To: <043.6583bf82ef1497f4ce27dc570194f6ee@localhost> References: <043.6583bf82ef1497f4ce27dc570194f6ee@localhost> Message-ID: <052.12a2a1d4342b4d90c82d8d6e4a6c64f1@localhost> #58: allow darcs repo to be specified in cabal file ----------------------------+----------------------------------------------- Reporter: ijones | Owner: Type: enhancement | Status: new Priority: high | Milestone: Cabal-1.4 Component: Cabal library | Version: Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.2.1 | Platform: Linux ----------------------------+----------------------------------------------- Comment (by igloo): Replying to [comment:7 kolmodin]: > I'd like a tool that downloads the scm version of a cabal package. very simple yet I'd find it much useful. > > {{{ > cabal-source get zlib > }}} > should run darcs and give me the zlib repo in the current dir. Nice... I'd expect a `--development` flag, or similar, to be needed if you want the source from the RCS. Otherwise I'd expect it to give you the source from the latest tarball. -- Ticket URL: Hackage Hackage: Cabal and related projects From duncan.coutts at worc.ox.ac.uk Tue Mar 4 16:05:26 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Tue Mar 4 16:02:56 2008 Subject: patch applied (cabal-install): Fix defect when unpacking tar files containing links Message-ID: <20080304210526.GA16267@haskell.galois.com> Tue Mar 4 11:42:55 PST 2008 Lennart Kolmodin * Fix defect when unpacking tar files containing links There were two issues; * Unpacking links that point to files not yet unpacked * Used the link target as absolute path, but it's relative This patch addresses both issues, which is ticket #246. There may still be errors if a link refer to another link which has not been unpacked yet. M ./Hackage/Tar.hs -7 +15 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080304194255-fdf66-c5698c18ecb6e57c82f51fa51a9fe41c013a9193.gz From byorgey at gmail.com Tue Mar 4 16:23:11 2008 From: byorgey at gmail.com (Brent Yorgey) Date: Tue Mar 4 16:20:41 2008 Subject: darcs patch: cabal-install: port showPackageInfo to pretty-printing combinators, improve display of packages with multi-line synopses Message-ID: <22fcbd520803041323n6fc1e6e5md5e1664d2af2f443@mail.gmail.com> Skipped content of type multipart/alternative-------------- next part -------------- A non-text attachment was scrubbed... Name: pretty-print-showPackageInfo.dpatch Type: application/octet-stream Size: 19309 bytes Desc: not available Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080304/c252f301/pretty-print-showPackageInfo-0001.obj From duncan.coutts at worc.ox.ac.uk Tue Mar 4 19:49:54 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Tue Mar 4 19:47:25 2008 Subject: patch applied (cabal-install): Hackage/List.hs: port showPackageInfo to pretty-printing combinators, improve display of packages with multi-line synopses Message-ID: <20080305004953.GA21588@haskell.galois.com> Tue Mar 4 13:17:07 PST 2008 Brent Yorgey * Hackage/List.hs: port showPackageInfo to pretty-printing combinators, improve display of packages with multi-line synopses M ./Hackage/List.hs -23 +22 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080304211707-bd4d7-36c12d9a8b6c222ad18be2f32ba29be20089914c.gz From duncan.coutts at worc.ox.ac.uk Tue Mar 4 20:59:15 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Tue Mar 4 20:56:46 2008 Subject: Cabal bugs In-Reply-To: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> Message-ID: <1204682355.11558.214.camel@localhost> On Tue, 2008-03-04 at 14:35 +0000, Neil Mitchell wrote: > Hi, > > Using cabal and cabal-install from yesterday: > > D:\sources\contrib\google-chart>cabal install --hugs > cabal: user error (Pattern match failure in do expression at Hackage/Install.hs: > 99:6-19) > > D:\sources\contrib\google-chart>runhaskell Setup configure --hugs > Configuring GoogleChart-0.2... > Setup: The following installed packages are broken because other packages > they depend on are missing. These broken packages must be rebuilt > before they can be used. > > Two separate errors, one in cabal, one in cabal-install. The cabal > error should at least tell me which packages are missing. Both errors are a consequence of the fact that we do not know what packages are installed for hugs. It is printing all the packages that it thinks are missing, that is... none. That's because we do not know of any installed packages at all. It comes from this quirk of PackageIndex.dependencyClosure: -- * Note that if any of the result is @Right []@ it is because at -- least one of the original given 'PackageIdentifier's do not occur -- in the index. It should probably deal with that case better, but the reason it happens is because all of the packages that the current package depends on are not installed (at least as far as cabal knows). So that second error simply needs to be fixed because the Cabal lib has previously worked with implementations that do not track installed packages. The sensible fix is probably just to skip the check entirely for hugs and other implementations where we do not know the installed packages. The first error is basically unfixable unless we get code to enumerate the installed packages for hugs. It's not really possible for a package manager to limp along without knowing what packages are already installed. So it should be possible already to get some minimal information for the names of hugs packages by looking in /usr/lib/hugs/packages/ or the equivalent on other OSs. Unfortunately that does not give us versions. I don't know of any portable way to discover where hugs keeps its packages directory. We know where cabal would install packages for hugs but that's not necessarily the same thing. For a future hugs release it would be enormously helpful if it would include the InstalledPackageInfo files for all the bundled packages and if there was a way of discovering what directory to look in to find these packages. Then we could build a proper index of the installed packages as we do for ghc. Also we need a hugs --version flag so Cabal can actually figure out the hugs version so it knows whether it supports an installed package database. Currently hugs is almost unversioned (check System.Info.compilerVersion). So yes, it'd be great if Cabal could work better with hugs but we'll need some help from hugs. Duncan From ndmitchell at gmail.com Wed Mar 5 03:41:02 2008 From: ndmitchell at gmail.com (Neil Mitchell) Date: Wed Mar 5 03:38:30 2008 Subject: Cabal bugs In-Reply-To: <1204682355.11558.214.camel@localhost> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> Message-ID: <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> Hi > Both errors are a consequence of the fact that we do not know what > packages are installed for hugs. It is printing all the packages that it > thinks are missing, that is... none. For cabal-install, I can accept this. But from what you are saying cabal seems to have recently become broken so that it just won't work with Hugs at all? That is a real shame. > For a future hugs release it would be enormously helpful if it would > include the InstalledPackageInfo files for all the bundled packages and > if there was a way of discovering what directory to look in to find > these packages. Then we could build a proper index of the installed > packages as we do for ghc. Also we need a hugs --version flag so Cabal > can actually figure out the hugs version so it knows whether it supports > an installed package database. Currently hugs is almost unversioned > (check System.Info.compilerVersion). File suffient bugs (http://hackage.haskell.org/trac/hugs) and hopefully they will get fixed. Thanks Neil From duncan.coutts at worc.ox.ac.uk Wed Mar 5 04:39:20 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 04:36:50 2008 Subject: patch applied (cabal): Restore using 30k max command line sizes when linking Message-ID: <20080305093920.GA31516@haskell.galois.com> Tue Mar 4 18:08:57 PST 2008 Duncan Coutts * Restore using 30k max command line sizes when linking See http://hackage.haskell.org/trac/hackage/ticket/98#comment:17 M ./Distribution/Simple/GHC.hs -3 +5 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080305020857-adfee-356918eabbcd9c3445b5a99ae412e92663554fad.gz From duncan.coutts at worc.ox.ac.uk Wed Mar 5 04:39:23 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 04:36:51 2008 Subject: patch applied (cabal): Fix configure for hugs where we don't know what packages are installed Message-ID: <20080305093923.GA31539@haskell.galois.com> Tue Mar 4 18:36:26 PST 2008 Duncan Coutts * Fix configure for hugs where we don't know what packages are installed For Hugs, nhc98 and other compilers we do not know what packages are already installed, so we just make some up, pretend that they do exist and just hope for the best. We make them up based on what other package the package we're currently building happens to depend on. See inventBogusPackageId. Let's hope they really are installed... :-) One could see this as all rather redundant - carefully making up bogus information to satisfy a careful check. I prefer to see it as making explicit something that was previously implicit. The proper solution is to discover what packages are currently installed. M ./Distribution/Simple/Configure.hs -7 +18 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080305023626-adfee-5b79f06cf78d817e0f691ec425c1276689910aa2.gz From duncan.coutts at worc.ox.ac.uk Wed Mar 5 04:40:29 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 04:38:00 2008 Subject: Cabal bugs In-Reply-To: <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> Message-ID: <1204710030.11558.218.camel@localhost> On Wed, 2008-03-05 at 08:41 +0000, Neil Mitchell wrote: > Hi > > Both errors are a consequence of the fact that we do not know what > > packages are installed for hugs. It is printing all the packages that it > > thinks are missing, that is... none. > > For cabal-install, I can accept this. But from what you are saying > cabal seems to have recently become broken so that it just won't work > with Hugs at all? That is a real shame. I said: > So that second error simply needs to be fixed because the Cabal lib > has previously worked with implementations that do not track installed > packages. The sensible fix is probably just to skip the check entirely > for hugs and other implementations where we do not know the installed > packages. And I've pushed the fix: Wed Mar 5 02:36:26 GMT 2008 Duncan Coutts * Fix configure for hugs where we don't know what packages are installed For Hugs, nhc98 and other compilers we do not know what packages are already installed, so we just make some up, pretend that they do exist and just hope for the best. We make them up based on what other package the package we're currently building happens to depend on. See inventBogusPackageId. Let's hope they really are installed... :-) One could see this as all rather redundant - carefully making up bogus information to satisfy a careful check. I prefer to see it as making explicit something that was previously implicit. The proper solution is to discover what packages are currently installed. > > For a future hugs release it would be enormously helpful if it would > > include the InstalledPackageInfo files for all the bundled packages and > > if there was a way of discovering what directory to look in to find > > these packages. Then we could build a proper index of the installed > > packages as we do for ghc. Also we need a hugs --version flag so Cabal > > can actually figure out the hugs version so it knows whether it supports > > an installed package database. Currently hugs is almost unversioned > > (check System.Info.compilerVersion). > > File suffient bugs (http://hackage.haskell.org/trac/hugs) and > hopefully they will get fixed. Ok. Duncan From duncan.coutts at worc.ox.ac.uk Wed Mar 5 04:57:51 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 04:55:26 2008 Subject: Cabal bugs In-Reply-To: <1204710030.11558.218.camel@localhost> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> <1204710030.11558.218.camel@localhost> Message-ID: <1204711071.11558.226.camel@localhost> On Wed, 2008-03-05 at 09:40 +0000, Duncan Coutts wrote: > > File suffient bugs (http://hackage.haskell.org/trac/hugs) and > > hopefully they will get fixed. > > Ok. Actually, both done already: #44 Hugs does not provide version numbers for installed packages http://hackage.haskell.org/trac/hugs/ticket/44 which I commented on. Ross had already suggested to install the full InstalledPackageInfo. #81 support --version flag http://hackage.haskell.org/trac/hugs/ticket/81 filed by yours truly 2 months ago. Ross mentions in #44 that InstalledPackageInfo is somewhat ghc-specific. I'd like to know if there's specifically anything that would cause problems for hugs. We've been designing cabal-install on the assumption that eventually every implementation would catch up and provide full InstalledPackageInfo. If it is inappropriate info for hugs we need to fix it now. Duncan From ndmitchell at gmail.com Wed Mar 5 06:24:13 2008 From: ndmitchell at gmail.com (Neil Mitchell) Date: Wed Mar 5 06:21:43 2008 Subject: Cabal bugs In-Reply-To: <1204710030.11558.218.camel@localhost> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> <1204710030.11558.218.camel@localhost> Message-ID: <404396ef0803050324x10b62a85yb7ea3fa6b77a240e@mail.gmail.com> Hi > And I've pushed the fix: > > Wed Mar 5 02:36:26 GMT 2008 Duncan Coutts > * Fix configure for hugs where we don't know what packages are installed > For Hugs, nhc98 and other compilers we do not know what packages are Which works perfectly. Any chance that (if its not too much effort) cabal install on Hugs could just assume that all the necessary packages are already installed? It would at least give me the ability to do "cabal install --hugs" in a darcs repo, instead of three runhaskell Setup invocations. Thanks Neil From trac at galois.com Wed Mar 5 09:32:04 2008 From: trac at galois.com (Hackage) Date: Wed Mar 5 09:30:06 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ Message-ID: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------------+----------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Keywords: Difficulty: very easy (<1 hour) | Ghcversion: 6.8.2 Platform: | ----------------------------------+----------------------------------------- I tried to install a cabal package into my home directory using {{{--prefix=~/local}}}. Cabal does not expand this to my home directory. This is very confusing, as all the files wind up in a directory called ~. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Wed Mar 5 09:44:06 2008 From: trac at galois.com (Hackage) Date: Wed Mar 5 09:41:49 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.07f89eb003b9dc3668dae388ff402b2e@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by igloo): I think that Cabal is doing the right thing here. If your shell doesn't expand ~ there, then Cabal shouldn't either. -- Ticket URL: Hackage Hackage: Cabal and related projects From duncan.coutts at worc.ox.ac.uk Wed Mar 5 10:34:29 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 10:31:56 2008 Subject: patch applied (cabal-install): Instead of Setup.lhs use .hs like everyone else does Message-ID: <20080305153429.GA8213@haskell.galois.com> Mon Mar 3 15:24:08 PST 2008 Duncan Coutts * Instead of Setup.lhs use .hs like everyone else does ./Setup.lhs -> ./Setup.hs M ./Setup.hs -3 +2 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080303232408-adfee-ea563bcf5b83c22e032237322a7af02d7c1611e7.gz From duncan.coutts at worc.ox.ac.uk Wed Mar 5 10:34:30 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 10:31:58 2008 Subject: patch applied (cabal-install): Attempt to make things work using hugs, assume everything is installed Message-ID: <20080305153430.GA8236@haskell.galois.com> Wed Mar 5 07:26:41 PST 2008 Duncan Coutts * Attempt to make things work using hugs, assume everything is installed M ./Hackage/Dependency.hs -4 +20 M ./Hackage/Fetch.hs -1 +1 M ./Hackage/Install.hs -2 +2 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080305152641-adfee-e6a8f46f636320bc92ceb390a83a79922fbb1166.gz From duncan.coutts at worc.ox.ac.uk Wed Mar 5 10:34:05 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 10:32:31 2008 Subject: Cabal bugs In-Reply-To: <404396ef0803050324x10b62a85yb7ea3fa6b77a240e@mail.gmail.com> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> <1204710030.11558.218.camel@localhost> <404396ef0803050324x10b62a85yb7ea3fa6b77a240e@mail.gmail.com> Message-ID: <1204731246.11558.232.camel@localhost> On Wed, 2008-03-05 at 11:24 +0000, Neil Mitchell wrote: > Hi > > > And I've pushed the fix: > > > > Wed Mar 5 02:36:26 GMT 2008 Duncan Coutts > > * Fix configure for hugs where we don't know what packages are installed > > For Hugs, nhc98 and other compilers we do not know what packages are > > Which works perfectly. > > Any chance that (if its not too much effort) cabal install on Hugs > could just assume that all the necessary packages are already > installed? It would at least give me the ability to do "cabal install > --hugs" in a darcs repo, instead of three runhaskell Setup > invocations. Done. Give it a go... In theory this might work too: $ cabal install foobar That is it should download and install foobar from hackage, assuming of course that all of foobar's dependencies are already installed. Or if foobar is already installed, then we'll install it again, yay! I get some weird failures on installing cabal-install which go away when I delete the pre-existing instllation of cabal-install. Also, user installs are not going to work without tweaking the scripts that call runhugs to adjust the search path to look at other user libs. Perhaps you can send us a patch for that. Perhaps it needs some fat warnings so people don't make the mistake of assuming it's going to work. Duncan From trac at galois.com Wed Mar 5 11:04:54 2008 From: trac at galois.com (Hackage) Date: Wed Mar 5 11:02:48 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.7b9bc8725a633e8b35ad2caa6d86394a@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by guest): Ok, I guess that's fair. But maybe it should warn? It's never a sensible thing to create a directory that starts with ~. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Wed Mar 5 13:00:33 2008 From: trac at galois.com (Hackage) Date: Wed Mar 5 12:58:41 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.e9d7e557bbc3a74e89b60f79bfc5e1ba@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by kolmodin): You could either write {{{ --prefix ~/local }}} or {{{ --prefix=$HOME/local }}} I've not seen any other application warn about this as it is standard behavior. -- Ticket URL: Hackage Hackage: Cabal and related projects From byorgey at gmail.com Wed Mar 5 14:43:14 2008 From: byorgey at gmail.com (Brent Yorgey) Date: Wed Mar 5 14:40:40 2008 Subject: darcs patch: reflow paragraphs when displaying synopsis/description in output of 'cabal list' Message-ID: <22fcbd520803051143x69855bd3m8191eaa1cb4dd1d6@mail.gmail.com> Wed Mar 5 14:34:07 EST 2008 Brent Yorgey * Hackage/List.hs: reflow paragraphs when displaying synopsis/description. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/cabal-devel/attachments/20080305/449ad0bf/attachment.htm From trac at galois.com Wed Mar 5 15:20:28 2008 From: trac at galois.com (Hackage) Date: Wed Mar 5 15:18:19 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.08cf9fd885626ba599064acc40f5739b@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by duncan): Any consensus? Do we make the change or close the bug as wontfix? -- Ticket URL: Hackage Hackage: Cabal and related projects From byorgey at gmail.com Wed Mar 5 15:51:52 2008 From: byorgey at gmail.com (Brent Yorgey) Date: Wed Mar 5 15:49:19 2008 Subject: darcs patch: reflow paragraphs when displaying synopsis/description in output of 'cabal list' In-Reply-To: <22fcbd520803051143x69855bd3m8191eaa1cb4dd1d6@mail.gmail.com> References: <22fcbd520803051143x69855bd3m8191eaa1cb4dd1d6@mail.gmail.com> Message-ID: <22fcbd520803051251g28f4aed7q3c39a961a10cf8b6@mail.gmail.com> Skipped content of type multipart/alternative-------------- next part -------------- A non-text attachment was scrubbed... Name: cabal-list-reflow-synopsis.dpatch Type: application/octet-stream Size: 18955 bytes Desc: not available Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080305/245864df/cabal-list-reflow-synopsis-0001.obj From duncan.coutts at worc.ox.ac.uk Wed Mar 5 16:22:28 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 16:19:56 2008 Subject: patch applied (cabal-install): Hackage/List.hs: reflow paragraphs when displaying synopsis/description. Message-ID: <20080305212228.GA13657@haskell.galois.com> Wed Mar 5 11:34:07 PST 2008 Brent Yorgey * Hackage/List.hs: reflow paragraphs when displaying synopsis/description. M ./Hackage/List.hs -2 +8 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080305193407-bd4d7-5e5db8e8cdec228aed3aede628b3a6eab24d7a4f.gz From duncan.coutts at worc.ox.ac.uk Wed Mar 5 16:23:05 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 16:20:32 2008 Subject: patch applied (cabal): Make an Arch enum like we have for OS and use it Message-ID: <20080305212305.GA13706@haskell.galois.com> Tue Mar 4 12:38:02 PST 2008 Duncan Coutts * Make an Arch enum like we have for OS and use it We get more robust parsing and comparisons of arch names this way and it'll allows us to detect and warn about unknown arches. M ./Distribution/PackageDescription.hs -3 +3 M ./Distribution/PackageDescription/Configuration.hs -6 +6 M ./Distribution/Simple/Configure.hs -3 +3 M ./Distribution/System.hs -10 +62 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080304203802-adfee-a3a00b42d44d44ad8f17d95d9ecc79fa3b10deba.gz From duncan.coutts at worc.ox.ac.uk Wed Mar 5 16:23:07 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 16:20:33 2008 Subject: patch applied (cabal): Rename Distribution.System.os to .buildOS and eliminate Windows sub-type Message-ID: <20080305212307.GA13723@haskell.galois.com> Tue Mar 4 15:43:58 PST 2008 Duncan Coutts * Rename Distribution.System.os to .buildOS and eliminate Windows sub-type M ./Distribution/Simple/Build.hs -6 +6 M ./Distribution/Simple/BuildPaths.hs -8 +8 M ./Distribution/Simple/Configure.hs -7 +7 M ./Distribution/Simple/GHC.hs -2 +3 M ./Distribution/Simple/Hugs.hs -5 +6 M ./Distribution/Simple/InstallDirs.hs -14 +15 M ./Distribution/Simple/Register.hs -11 +12 M ./Distribution/System.hs -17 +11 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080304234358-adfee-d42653751d1845859aada254e4dbba53b6af467d.gz From duncan.coutts at worc.ox.ac.uk Wed Mar 5 16:23:08 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 16:20:36 2008 Subject: patch applied (cabal): Add read/show for CompilerFlavour like for OS and Arch Message-ID: <20080305212308.GA13741@haskell.galois.com> Tue Mar 4 17:08:20 PST 2008 Duncan Coutts * Add read/show for CompilerFlavour like for OS and Arch Also add YHC compiler flavour. M ./Distribution/Compiler.hs -10 +37 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080305010820-adfee-38920f6fec06fec51e62c5fb2dde629756b43b8c.gz From duncan.coutts at worc.ox.ac.uk Wed Mar 5 16:23:10 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 16:20:36 2008 Subject: patch applied (cabal): Use CompilerFlavor rather than String in configurations expressions Message-ID: <20080305212310.GA13758@haskell.galois.com> Tue Mar 4 17:10:46 PST 2008 Duncan Coutts * Use CompilerFlavor rather than String in configurations expressions Better type safety and more robust parsing. M ./Distribution/PackageDescription.hs -3 +4 M ./Distribution/PackageDescription/Configuration.hs -8 +9 M ./Distribution/Simple/Configure.hs -3 +1 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080305011046-adfee-9345e89cdc7ebf073cf49391b7e21a851dd4d9df.gz From ndmitchell at gmail.com Wed Mar 5 16:53:19 2008 From: ndmitchell at gmail.com (Neil Mitchell) Date: Wed Mar 5 16:50:46 2008 Subject: Cabal bugs In-Reply-To: <1204731246.11558.232.camel@localhost> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> <1204710030.11558.218.camel@localhost> <404396ef0803050324x10b62a85yb7ea3fa6b77a240e@mail.gmail.com> <1204731246.11558.232.camel@localhost> Message-ID: <404396ef0803051353l5142c955lc6dc5582d6419312@mail.gmail.com> Hi > > Any chance that (if its not too much effort) cabal install on Hugs > > could just assume that all the necessary packages are already > > installed? It would at least give me the ability to do "cabal install > > --hugs" in a darcs repo, instead of three runhaskell Setup > > invocations. > > Done. Give it a go... No luck still: E:\Neil\yhc\src\libraries\core>cabal install --hugs cabal: user error (Pattern match failure in do expression at Hackage/Install.hs: 99:6-19) Thanks Neil From trac at galois.com Wed Mar 5 17:52:50 2008 From: trac at galois.com (Hackage) Date: Wed Mar 5 17:50:53 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.6c07d1aedcfed55f67c4a494cf27242b@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by guest): Well, autoconf would not let me down like that, since it uses a the install.sh program which passes the path verbatim to the shell. I have little experience with any other installation tools. Hence this behaviour was new to me. For me, the 'standard behaviour' is that ~ is expanded to my home directory. Close it if you disagree that not expanding ~ is standard behaviour. -- Ticket URL: Hackage Hackage: Cabal and related projects From duncan.coutts at worc.ox.ac.uk Wed Mar 5 18:07:27 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Wed Mar 5 18:04:57 2008 Subject: Cabal bugs In-Reply-To: <404396ef0803051353l5142c955lc6dc5582d6419312@mail.gmail.com> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> <1204710030.11558.218.camel@localhost> <404396ef0803050324x10b62a85yb7ea3fa6b77a240e@mail.gmail.com> <1204731246.11558.232.camel@localhost> <404396ef0803051353l5142c955lc6dc5582d6419312@mail.gmail.com> Message-ID: <1204758447.11558.252.camel@localhost> On Wed, 2008-03-05 at 21:53 +0000, Neil Mitchell wrote: > Hi > > > > Any chance that (if its not too much effort) cabal install on Hugs > > > could just assume that all the necessary packages are already > > > installed? It would at least give me the ability to do "cabal install > > > --hugs" in a darcs repo, instead of three runhaskell Setup > > > invocations. > > > > Done. Give it a go... > > No luck still: > > E:\Neil\yhc\src\libraries\core>cabal install --hugs > cabal: user error (Pattern match failure in do expression at Hackage/Install.hs: > 99:6-19) It looks like you have not recompiled, that line used to be: Just installed <- getInstalledPackages verbosity comp packageDB conf it is now: installed <- getInstalledPackages verbosity comp packageDB conf So there is no possibility of pattern match failure on that line any more. The change is definitely in the darcs repo, see: http://darcs.haskell.org/cabal-install/Hackage/Install.hs Duncan From trac at galois.com Wed Mar 5 18:44:47 2008 From: trac at galois.com (Hackage) Date: Wed Mar 5 18:42:45 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.c67b8e14ce758f030f7e97ff05498dc9@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by duncan): Ah, so `./configure --prefix=~/local` does not get expanded when `./configure` is called but it gets expanded when the `install-sh` program is called later. That's rather subtle. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Wed Mar 5 18:57:43 2008 From: trac at galois.com (Hackage) Date: Wed Mar 5 18:55:18 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.46fe4bdc4df8484abaf2e1318d5ce190@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by ross@soi.city.ac.uk): On my system autoconf 2.61 objects that the argument doesn't start with a slash: {{{ % ./configure --prefix=~/local configure: error: expected an absolute directory name for --prefix: ~/local }}} That's not appropriate on Windows, of course. The standard behaviour is that ~ (like ? and *) is expanded when trying to match a whole shell argument against file names. In other positions, one uses $HOME, as Ian suggested. I'm against expanding or warning. If we fill the code with heuristic tests, it will be unmanageable. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Wed Mar 5 19:26:34 2008 From: trac at galois.com (Hackage) Date: Wed Mar 5 19:24:21 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.55028368966e613a92f4a35f2aaff35b@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by duncan): We could do the same as autoconf and check that the prefix is absolute. -- Ticket URL: Hackage Hackage: Cabal and related projects From ndmitchell at gmail.com Wed Mar 5 19:52:19 2008 From: ndmitchell at gmail.com (Neil Mitchell) Date: Wed Mar 5 19:49:45 2008 Subject: Cabal bugs In-Reply-To: <1204758447.11558.252.camel@localhost> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> <1204710030.11558.218.camel@localhost> <404396ef0803050324x10b62a85yb7ea3fa6b77a240e@mail.gmail.com> <1204731246.11558.232.camel@localhost> <404396ef0803051353l5142c955lc6dc5582d6419312@mail.gmail.com> <1204758447.11558.252.camel@localhost> Message-ID: <404396ef0803051652i3c9d668eq6438bc51142ef771@mail.gmail.com> Hi > It looks like you have not recompiled, that line used to be: > > Just installed <- getInstalledPackages verbosity comp packageDB conf I recompiled using cabal clean && cabal install, but that didn't seem to pick up the change... In the end it took a runhaskell Setup configure/build/install to get it working. With that patch, I have now successfully installed things to Hugs using cabal install. It should be said that cabal install is absolutely wonderful - well done to everyone who has worked on it! Thanks Neil From sanzhiyan at gmail.com Wed Mar 5 18:14:49 2008 From: sanzhiyan at gmail.com (Andrea Vezzosi) Date: Wed Mar 5 20:23:36 2008 Subject: darcs patch: Implement CLI flag --root-cmd for 'cabal install' as in #202 (+ 1 more) Message-ID: <8625cd9c0803051514l780079b8v8c408ec62130dfa1@mail.gmail.com> Skipped content of type multipart/alternative-------------- next part -------------- A non-text attachment was scrubbed... Name: cabal_setupWrapperEx.dpatch Type: application/octet-stream Size: 66456 bytes Desc: not available Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080306/e0ef2e6d/cabal_setupWrapperEx-0001.obj -------------- next part -------------- A non-text attachment was scrubbed... Name: cabal-install_root-cmd.dpatch Type: application/octet-stream Size: 25061 bytes Desc: not available Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080306/e0ef2e6d/cabal-install_root-cmd-0001.obj From trac at galois.com Wed Mar 5 21:07:27 2008 From: trac at galois.com (Hackage) Date: Wed Mar 5 21:04:54 2008 Subject: [Hackage] #148: Cabal should be able to produce DLLs in Windows In-Reply-To: <045.2479bf17052b3c451185f242aecb2d12@localhost> References: <045.2479bf17052b3c451185f242aecb2d12@localhost> Message-ID: <054.c9e330f0eb735feecaa07d889e1eaab5@localhost> #148: Cabal should be able to produce DLLs in Windows ----------------------------+----------------------------------------------- Reporter: eivuokko | Owner: Type: enhancement | Status: new Priority: normal | Milestone: _|_ Component: Cabal library | Version: HEAD Severity: normal | Resolution: Keywords: | Difficulty: project(> week) Ghcversion: 6.4.2 | Platform: Windows ----------------------------+----------------------------------------------- Changes (by duncan): * difficulty: hard (< 1 day) => project(> week) Comment: What is a dll really? It's not an executable and it is not a library, at least not the thing that cabal calls a library. It's actually a hybrid concept. It's statically linked (at least the way we do it now), linking in the rts and all the dependent haskell packages. So in that respect it's just like an executable. Obviously it exports more than just main, it exports all the ffi exported C functions (right?). How are the exports specified? Are they just the ffi exports? We don't really need a manually written .def file do we? So is this concept something we can and want to support in Cabal? Does it have any cross-platform meaning at all? If it's a different class of target from executables and libs then I think we should support it as such and not try and cram it into one of the existing templates. Something like: {{{ name: foo version: 1.0 foreign_dynamic_library build-depends: bar other-modules: Foo }}} Though obviously with a more sensible name for the thing than `foreign_dynamic_library`. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Thu Mar 6 02:48:11 2008 From: trac at galois.com (Hackage) Date: Thu Mar 6 02:46:08 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.afa16a86db286e8dcf908040e54e888e@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by guest): It seems that you've just checked what configure does. So yes, it does complain: {{{ ./configure --prefix=~/local configure: error: expected an absolute directory name for --prefix: ~/local }}} Hence, an error would be appropriate. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Thu Mar 6 04:06:44 2008 From: trac at galois.com (Hackage) Date: Thu Mar 6 04:04:26 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.3b467fa274c6a1be42daab226e147378@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by guest): Ups, I didn't see the comment by Ross. I'd like to see an error message. I don't understand why Ross says that it's not appropriate on Windows. There is a function System.FilePath.isAbsolute which would prevent a user from specifying anything that doesn't start with a drive letter. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Thu Mar 6 04:16:46 2008 From: trac at galois.com (Hackage) Date: Thu Mar 6 04:14:43 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.bdb80fe3d76d9dc5d749b2e6e69f6f6c@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by ross@soi.city.ac.uk): Replying to [comment:10 guest]: > I'd like to see an error message. I don't understand why Ross says that it's not appropriate on Windows. There is a function System.FilePath.isAbsolute which would prevent a user from specifying anything that doesn't start with a drive letter. I was thinking of the simple slash test; certainly isAbsolute would be a portable solution. -- Ticket URL: Hackage Hackage: Cabal and related projects From duncan.coutts at worc.ox.ac.uk Thu Mar 6 06:58:02 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Thu Mar 6 06:55:28 2008 Subject: patch applied (cabal): Check that the --prefix is always specified as an absolute path Message-ID: <20080306115802.GA28311@haskell.galois.com> Thu Mar 6 03:35:32 PST 2008 Duncan Coutts * Check that the --prefix is always specified as an absolute path Should eliminate confusion with doing: cabal configure --prefix=~/local Instead use --prefix ~/local or --prefix=$HOME/local M ./Distribution/Simple/Configure.hs -1 +4 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080306113532-adfee-a065c7d1ba1082c5da5d2ed52778fc925f47990f.gz From duncan.coutts at worc.ox.ac.uk Thu Mar 6 07:11:16 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Thu Mar 6 07:08:40 2008 Subject: patch applied (cabal-install): Use new buildOS and buildArch Message-ID: <20080306121116.GA28775@haskell.galois.com> Thu Mar 6 03:48:34 PST 2008 Duncan Coutts * Use new buildOS and buildArch M ./Hackage/Dependency.hs -6 +6 View patch online: http://darcs.haskell.org/cabal-install/_darcs/patches/20080306114834-adfee-ca21da4c6789732c7bc7e661fdce73157d4ec6a0.gz From trac at galois.com Thu Mar 6 07:31:44 2008 From: trac at galois.com (Hackage) Date: Thu Mar 6 07:29:57 2008 Subject: [Hackage] #256: Copying files during installation is oblivious to ~ In-Reply-To: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> References: <042.0b300e54e8a2a4fe70f7f349fea08357@localhost> Message-ID: <051.5be3febf90ea2945aca0d7f39df6b435@localhost> #256: Copying files during installation is oblivious to ~ ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: closed Priority: low | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: fixed Keywords: | Difficulty: very easy (<1 hour) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Changes (by duncan): * status: new => closed * resolution: => fixed Comment: Fixed: {{{ $ cabal configure --prefix=~foobar Configuring Foo-1.0... cabal: expected an absolute directory name for --prefix: ~foobar }}} -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Thu Mar 6 11:27:45 2008 From: trac at galois.com (Hackage) Date: Thu Mar 6 11:25:39 2008 Subject: [Hackage] #257: sdist doesn't include all files when using conditional and "buildable: False" Message-ID: <042.db5a83eefbccb3823b6e5bfb0b6687f4@localhost> #257: sdist doesn't include all files when using conditional and "buildable: False" ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Keywords: Difficulty: normal | Ghcversion: 6.8.2 Platform: | ----------------------------+----------------------------------------------- This is my cabal file: {{{ Name: test Version: 0.1 Cabal-Version: >=1.2 Executable exe1 Hs-Source-Dirs: src Main-Is: Exe1.hs Build-Depends: base Executable exe2 Hs-Source-Dirs: src Main-Is: Exe2.hs if !os(linux) Buildable: False }}} Building, on linux, results in {{{ % ./Setup.hs configure; ./Setup.hs build Configuring test-0.1... Warning: No license-file field. Preprocessing executables for test-0.1... Building test-0.1... [1 of 1] Compiling Main ( src/Exe1.hs, dist/build/exe1/exe1-tmp/Main.o ) Linking dist/build/exe1/exe1 ... [1 of 1] Compiling Main ( src/Exe2.hs, dist/build/exe2/exe2-tmp/Main.o ) Linking dist/build/exe2/exe2 ... }}} As is expected exe2 is built. However, sdist does not include the source file for exe2 in the tar-ball: {{{ % ./Setup.hs sdist Building source dist for test-0.1... Preprocessing executables for test-0.1... Source tarball created: dist/test-0.1.tar.gz % tar -t -z -f dist/test-0.1.tar.gz test-0.1/ test-0.1/Setup.hs test-0.1/test.cabal test-0.1/src/ test-0.1/src/Exe1.hs }}} -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Thu Mar 6 19:46:14 2008 From: trac at galois.com (Hackage) Date: Thu Mar 6 19:43:37 2008 Subject: [Hackage] #257: sdist doesn't include all files when using conditional and "buildable: False" In-Reply-To: <042.db5a83eefbccb3823b6e5bfb0b6687f4@localhost> References: <042.db5a83eefbccb3823b6e5bfb0b6687f4@localhost> Message-ID: <051.fa05b2d3f0122dac706d9c11c44bc5e0@localhost> #257: sdist doesn't include all files when using conditional and "buildable: False" ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by guest): This happens because sdist uses flattenPackageDescription which doesn't properly handle conditionals like configure would do, and instead just joins the listed values for each field descriptor. However it's not clear why sdist should care if an executable is buildable or not, I'd expect the sources to be included anyway, so the executable can be built where it's buildable. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Thu Mar 6 19:57:21 2008 From: trac at galois.com (Hackage) Date: Thu Mar 6 19:54:44 2008 Subject: [Hackage] #257: sdist doesn't include all files when using conditional and "buildable: False" In-Reply-To: <042.db5a83eefbccb3823b6e5bfb0b6687f4@localhost> References: <042.db5a83eefbccb3823b6e5bfb0b6687f4@localhost> Message-ID: <051.f8c8c705207f94798a47c54dce954cfb@localhost> #257: sdist doesn't include all files when using conditional and "buildable: False" ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by ross@soi.city.ac.uk): Indeed sdist shouldn't take any note of conditionals: it should pack all of the files in any environment. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Thu Mar 6 20:01:39 2008 From: trac at galois.com (Hackage) Date: Thu Mar 6 19:59:02 2008 Subject: [Hackage] #209: Implement "package()" configurations predicate In-Reply-To: <043.8761cb32d23121f07ba068aea57ebda7@localhost> References: <043.8761cb32d23121f07ba068aea57ebda7@localhost> Message-ID: <052.f692cbf11b93a6c9258b99175edb84ba@localhost> #209: Implement "package()" configurations predicate ----------------------------+----------------------------------------------- Reporter: duncan | Owner: nominolo Type: enhancement | Status: new Priority: normal | Milestone: Cabal-1.4 Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: hard (< 1 day) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by ross@soi.city.ac.uk): Another variant would be to support anonymous flags directly, allowing a syntax like: {{{ library if _ build-depends: base >= 3, containers else build-depends: base < 3 }}} -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Thu Mar 6 20:29:21 2008 From: trac at galois.com (Hackage) Date: Thu Mar 6 20:26:43 2008 Subject: [Hackage] #209: Implement "package()" configurations predicate In-Reply-To: <043.8761cb32d23121f07ba068aea57ebda7@localhost> References: <043.8761cb32d23121f07ba068aea57ebda7@localhost> Message-ID: <052.ea9ded370f56425f6a5d106e823cd732@localhost> #209: Implement "package()" configurations predicate ----------------------------+----------------------------------------------- Reporter: duncan | Owner: nominolo Type: enhancement | Status: new Priority: normal | Milestone: Cabal-1.4 Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: hard (< 1 day) Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by duncan): Replying to [comment:3 ross@soi.city.ac.uk]: > Another variant would be to support anonymous flags directly True though I suspect it looks a bit weird to the uninitiated. We know to read the conditional syntax as an implication constraint which can be applied in either direction but I suspect many people read it in a directed functional way. I have a feeling that the anonymous flag would really throw people :-) Perhaps we should ask opinions on the libraries list. -- Ticket URL: Hackage Hackage: Cabal and related projects From trac at galois.com Thu Mar 6 21:16:19 2008 From: trac at galois.com (Hackage) Date: Thu Mar 6 21:13:42 2008 Subject: [Hackage] #257: sdist doesn't include all files when using conditional and "buildable: False" In-Reply-To: <042.db5a83eefbccb3823b6e5bfb0b6687f4@localhost> References: <042.db5a83eefbccb3823b6e5bfb0b6687f4@localhost> Message-ID: <051.5f8e070943f6c50619b1eec3055f80c6@localhost> #257: sdist doesn't include all files when using conditional and "buildable: False" ----------------------------+----------------------------------------------- Reporter: guest | Owner: Type: defect | Status: new Priority: normal | Milestone: Component: Cabal library | Version: 1.2.3.0 Severity: normal | Resolution: Keywords: | Difficulty: normal Ghcversion: 6.8.2 | Platform: ----------------------------+----------------------------------------------- Comment (by duncan): Good catch. It was because sdist uses `withLib` and `withExe` which only run if the lib and exes are buildable. Now fixed: {{{ Fri Mar 7 02:09:33 GMT 2008 Duncan Coutts * Fix sdist to ignore the buildable attribute Fixes ticket #257 }}} -- Ticket URL: Hackage Hackage: Cabal and related projects From duncan.coutts at worc.ox.ac.uk Thu Mar 6 21:16:19 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Thu Mar 6 21:13:43 2008 Subject: patch applied (cabal): Fix sdist to ignore the buildable attribute Message-ID: <20080307021619.GA12854@haskell.galois.com> Thu Mar 6 18:09:33 PST 2008 Duncan Coutts * Fix sdist to ignore the buildable attribute Fixes ticket #257 M ./Distribution/Simple/SrcDist.hs -5 +9 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080307020933-adfee-2adf56374970e69231a27483766b9c31b8826691.gz From duncan.coutts at worc.ox.ac.uk Thu Mar 6 21:16:22 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Thu Mar 6 21:13:46 2008 Subject: patch applied (cabal): Add test for ticket #257 Message-ID: <20080307021622.GA12884@haskell.galois.com> Thu Mar 6 18:12:33 PST 2008 Duncan Coutts * Add test for ticket #257 Not automated yet, the testsuite needs resurrecting first. A ./tests/sdist/ A ./tests/sdist/Exe1.hs A ./tests/sdist/Exe2.hs A ./tests/sdist/sdist.cabal View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080307021233-adfee-ad0bbaffcf00b0eff9e4ebc28038fb7878c7756e.gz From duncan.coutts at worc.ox.ac.uk Thu Mar 6 21:16:23 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Thu Mar 6 21:13:47 2008 Subject: patch applied (cabal): When generating default Setup.hs use defaultMain Message-ID: <20080307021623.GA12901@haskell.galois.com> Thu Mar 6 18:13:50 PST 2008 Duncan Coutts * When generating default Setup.hs use defaultMain not defaultMainWithHooks defaultUserHooks since the latter is deprecated M ./Distribution/Simple/SrcDist.hs -1 +1 View patch online: http://darcs.haskell.org/cabal/_darcs/patches/20080307021350-adfee-1f28a6a2b1cdb18d46c1415df9e7b70b9d58a512.gz From sanzhiyan at gmail.com Thu Mar 6 12:03:28 2008 From: sanzhiyan at gmail.com (Andrea Vezzosi) Date: Thu Mar 6 21:44:44 2008 Subject: darcs patch: Implement CLI flag --root-cmd for 'cabal install' as in #202 (+ 1 more) In-Reply-To: <8625cd9c0803051514l780079b8v8c408ec62130dfa1@mail.gmail.com> References: <8625cd9c0803051514l780079b8v8c408ec62130dfa1@mail.gmail.com> Message-ID: <8625cd9c0803060903v1e6921f3m3311355e4d5d5768@mail.gmail.com> Skipped content of type multipart/alternative-------------- next part -------------- A non-text attachment was scrubbed... Name: cabal-install_root-cmd.dpatch Type: application/octet-stream Size: 24481 bytes Desc: not available Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080306/c4cc1854/cabal-install_root-cmd-0001.obj -------------- next part -------------- A non-text attachment was scrubbed... Name: cabal_inDir.dpatch Type: application/octet-stream Size: 65919 bytes Desc: not available Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080306/c4cc1854/cabal_inDir-0001.obj From Malcolm.Wallace at cs.york.ac.uk Fri Mar 7 07:21:43 2008 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Fri Mar 7 07:25:23 2008 Subject: Cabal bugs In-Reply-To: <1204710030.11558.218.camel@localhost> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> <1204710030.11558.218.camel@localhost> Message-ID: <20080307122143.33c2b869.Malcolm.Wallace@cs.york.ac.uk> > Wed Mar 5 02:36:26 GMT 2008 Duncan Coutts > * Fix configure for hugs where we don't know what packages are > installed For Hugs, nhc98 and other compilers we do not know what > packages are already installed, so we just make some up, Hmm, although you may not know, there is a way to find out. :-) On nhc98 at least, a simple directory listing of include/packages/*.cabal will tell you what is installed. I agree that this is not the friendliest interface in the world, so I have now made it easier, by adding the 'nhc98-pkg list' command (in darcs). For instance: $ nhc98-pkg list array-0.1 base-3.0 bytestring-0.9 Cabal-1.3.6 containers-0.1 directory-1.0 filepath-1.1 fps-0.8 haskell-src-1.0.1.1 haskell98-1.0.1 HaXml-1.19.2 html-1.0.1.1 HUnit-1.2.0.0 old-locale-1.0 old-time-1.0 packedstring-0.1 parsec-2.1.0.0 polyparse-1.1 pretty-1.0 process-1.0 QuickCheck-1.1.0.0 random-1.0 xhtml-3000.0.2.1 Regards, Malcolm From duncan.coutts at worc.ox.ac.uk Fri Mar 7 07:47:33 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Fri Mar 7 08:11:59 2008 Subject: Cabal bugs In-Reply-To: <20080307122143.33c2b869.Malcolm.Wallace@cs.york.ac.uk> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> <1204710030.11558.218.camel@localhost> <20080307122143.33c2b869.Malcolm.Wallace@cs.york.ac.uk> Message-ID: <1204894053.11558.399.camel@localhost> On Fri, 2008-03-07 at 12:21 +0000, Malcolm Wallace wrote: > > Wed Mar 5 02:36:26 GMT 2008 Duncan Coutts > > * Fix configure for hugs where we don't know what packages are > > installed For Hugs, nhc98 and other compilers we do not know what > > packages are already installed, so we just make some up, > > Hmm, although you may not know, there is a way to find out. :-) > On nhc98 at least, a simple directory listing of A simple directory listing is absolutely fine! > include/packages/*.cabal That tells us what package names and versions are installed but it doesn't help with finding out what the installed packages depend on or what cpp flags they used or anything else. For that we need the InstalledPackageInfo rather than the unconfigured .cabal files. > will tell you what is installed. I agree that this is not the > friendliest interface in the world, so I have now made it easier, by > adding the 'nhc98-pkg list' command (in darcs). For instance: > > $ nhc98-pkg list > array-0.1 base-3.0 bytestring-0.9 Cabal-1.3.6 containers-0.1 > directory-1.0 filepath-1.1 fps-0.8 haskell-src-1.0.1.1 > haskell98-1.0.1 HaXml-1.19.2 html-1.0.1.1 HUnit-1.2.0.0 > old-locale-1.0 old-time-1.0 packedstring-0.1 parsec-2.1.0.0 > polyparse-1.1 pretty-1.0 process-1.0 QuickCheck-1.1.0.0 random-1.0 > xhtml-3000.0.2.1 So what we now use with ghc is to call 'ghc-pkg describe *' and it gives us the concatenation of the InstalledPackageInfo for every installed package. It's not at all a problem to go look in a dir, so long as it's always clear what dir to look in (eg nhc98 --print-libdir or equivalent), the most important thing for top-notch cabal support is knowing all the info about all the installed packages. It'll allows us to do pre-processing correctly, where installed packages provide header files or need certain cpp flags or use C libs. It'll allow cabal-install to generating correct install plans that respect the dependencies of existing installed packages. Duncan From Malcolm.Wallace at cs.york.ac.uk Fri Mar 7 08:48:41 2008 From: Malcolm.Wallace at cs.york.ac.uk (Malcolm Wallace) Date: Fri Mar 7 08:46:49 2008 Subject: Cabal bugs In-Reply-To: <1204894053.11558.399.camel@localhost> References: <404396ef0803040635t868260eke98066e8dba4e91b@mail.gmail.com> <1204682355.11558.214.camel@localhost> <404396ef0803050041l4af3c46fp6787f5773d255b54@mail.gmail.com> <1204710030.11558.218.camel@localhost> <20080307122143.33c2b869.Malcolm.Wallace@cs.york.ac.uk> <1204894053.11558.399.camel@localhost> Message-ID: <20080307134841.2a9755cd.Malcolm.Wallace@cs.york.ac.uk> Duncan Coutts wrote: > That tells us what package names and versions are installed but it > doesn't help with finding out what the installed packages depend on or > what cpp flags they used or anything else. For that we need the > InstalledPackageInfo rather than the unconfigured .cabal files. With respect, the nhc98 compiler neither has nor uses an InstalledPackageInfo for any package. If Cabal wants that information, Cabal should (a) generate it, and (b) store it. I don't see the point of duplicating all that machinery in nhc98, when we don't need it. Cabal is the package manager, after all. Regards, Malcolm From byorgey at gmail.com Fri Mar 7 14:42:14 2008 From: byorgey at gmail.com (Brent Yorgey) Date: Fri Mar 7 14:39:36 2008 Subject: darcs patch: fix synopsis paragraph wrapping Message-ID: <22fcbd520803071142lebd67afk98ec3c9929c3318@mail.gmail.com> Skipped content of type multipart/alternative-------------- next part -------------- A non-text attachment was scrubbed... Name: cabal-list-fix-synopsis-paragraph-wrapping.dpatch Type: application/octet-stream Size: 18600 bytes Desc: not available Url : http://www.haskell.org/pipermail/cabal-devel/attachments/20080307/4996ac8c/cabal-list-fix-synopsis-paragraph-wrapping-0001.obj From duncan.coutts at worc.ox.ac.uk Sat Mar 8 07:04:22 2008 From: duncan.coutts at worc.ox.ac.uk (Duncan Coutts) Date: Sat Mar 8 07:01:42 2008 Subject: Cabal bugs In-Reply-To: <2008