Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Haskell
Wiki community
Recent changes
Random page
HaskellWiki
Search
Search
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
OdHac/Projects
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Special pages
Page information
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Cabal == === About === Cabal is a system for building and packaging Haskell libraries and programs. It defines a common interface for package authors and distributors to easily build their applications in a portable way. === Coordinators === Johan Tibell (via IRC) === Tasks === Bug-closing fixit, where people try to reproduce bugs on the [https://github.com/haskell/cabal/issues?state=open GitHub issue tracker] and report those that cannot be reproduced as such. This would be very useful as the number of open issues has gotten a bit out-of-control, making the issue tracker less useful. This is a good opportunity for the less experienced Haskell folks to get acquainted with the Haskell infrastructure and possibly even dig into the Cabal internals. === Update Wednesday 1 May === I am planning to hack on cabal. Here's some details from Johan: Hi Dominic, I'm glad you decided to hack on Cabal! :) In addition to checking out the source, make sure you can build the code and run the tests. This is the recipe I use: To build Cabal: cd Cabal/ cabal install --only-dependencies --enable-tests -j cabal configure --enable-tests cabal build cabal test To build cabal-install (Cabal must be built first): cd cabal-install/ cabal install --only-dependencies -j --package-db ../Cabal/dist/package.conf.inplace cabal configure --package-db ../Cabal/dist/package.conf.inplace cabal build You only need to run the cabal install --only-dependencies part once. You may already have the dependencies installed on your machine. Depending on what you're feeling like, there's lots of different things you can do. Start by going to the bug tracker at https://github.com/haskell/cabal/issues One problem with the bug tracker today is that there are way too many open bugs that are no longer relevant. One thing you could do is to go through the bugs and try to reproduce them. If you can't reproduce them add a comment on the bug saying so and send me an email with these bugs and I will close them. If you can reproduce them you can try to fix them if you like. Depending on the bug that might be easy or hard. Note that Gregory Collins and I already went through a bunch of them so I suggest you start somewhere in the middle (say, page 6). If that doesn't tickle your fancy you could just browse the bug list until you come upon something you care about. Another task would be to try to extend the test suite, especially with small unit tests (place in tests/UnitTests). Another challenge would be to make sure the test suite works even if we configure with e.g. -w <other GHC version>. Some tests need to call e.g. ghc-pkg and they do that using this file: https://github.com/haskell/cabal/blob/master/Cabal/tests/PackageTests/PackageTester.hs . However, as you can see in this file we use a hack to try to guess the right ghc-pkg to call. The right thing to do would be to read Cabal/dist/setup-config and use the Cabal library to locate the right ghc-pkg (and other commands) to call. This would make the tests less brittle. Hope this is enough to get you started! P.S. Feel free to share this with other OdHac attendees. The more people that hack on Cabal the better. -- Johan On Fri, Apr 26, 2013 at 7:29 AM, Dominic Steinitz <dominic@steinitz.org> wrote: Hi Johan, I am going to OdHac next week and would prefer to work on Cabal. I see you are going to make yourself available via irc to provide advice. Are there any specific issues / bugs I should work on? What preparations should I make other than cloning the latest sources from github? Thanks, Dominic. === Building Cabal to Run Selected Tests === cd tests/Distribution/Compat/ hsc2hs CreatePipe.hsc ghc PackageTests.hs -o MyTest -package-db=../dist/package.conf.inplace Dominics-MacBook-Pro:Cabal dom$ tests/MyTest -t BuildTestSuiteDetailedV09 Cabal test suite - testing cabal version 1.17.0 BuildTestSuiteDetailedV09: : [Failed] build failed! expected: False but got: True Test Cases Total Passed 0 0 Failed 1 1 Total 1 1
Summary:
Please note that all contributions to HaskellWiki are considered to be released under simple permissive license (see
HaskellWiki:Copyrights
for details). If you don't want your writing to be edited mercilessly and redistributed at will, then don't submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
DO NOT SUBMIT COPYRIGHTED WORK WITHOUT PERMISSION!
Cancel
Editing help
(opens in new window)
Toggle limited content width