On Oct 13, 2007, at 20:35 , Udo Stenzel wrote:
Simon Marlow wrote:
- Refrain from renaming stuff. System.Posix is a fine name.
Who renamed it? It's still called System.Posix AFAIK.
tar references System.PosixCompat, which apparently comes from a library called unix-compat. I have no idea why the lib isn't just called unix and the modules not System.Posix.*, for tar works fine with System.Posix.*.
The tar package uses System.PosixCompat from the unix-compat package to also work under non-posix systems (read Windows). This dependency is listed in the tar.cabal file (see http://hackage.haskell.org/ packages/archive/tar/0.1/tar.cabal). System.Posix was never renamed.
The main problem you seem to be running into is that base previously contained bytestring, but you need to upgrade bytestring in order to use binary, right?
Actually I'm more annoyed by the many small and unneccessary stumbling blocks right now. I mean, you could easily put an instruction into the INSTALL file that says "if you're on GHC 6.4 or 6.6, register this replacement configuration for base to sanitize it". You cannot write "if you're on 6.4, edit all references to System.PosixCompat, unless you already installed unix-compat, and you absolutely need binary 0.4, unless you're on 6.4, where you want binary 0.3 but need to patch it so it has instance MonadFix Get, etc. pp." there, since something like that just pisses off your users.
Why not just install unix-compat? It is listed as a dependency after all. I seem to be able to build the tar package against binary-0.3. What exactly is the error that you are getting? By the way, I don't think that users of open source software have a right to be pissed off, or at least authors don't have an obligation to care about them being pissed off. What users do have is a right to submit patches. That said, I agree that the constantly changing packages make it hard to keep dependencies up to date. I guess that this is price we pay for moving quickly. At some point, however, we will have to stop breaking things. /Björn