Short answer: I had reasons for constraining gtk, etc., to be == 0.11.0.
I will check whether the suggested changes work, and if they do,
include them in the next release of sifflet and sifflet-lib.
Longer answer (quoting parts of 3 different messages):
From: Don Stewart d...@galois.com
So that's pretty simple. 'sifflet' requires cairo ==0.11.0 and pango. But
since
pango doesn't work with cairo 0.11.0, the package can't be built. The solution
is to ask the sifflet author to adjust the dependencies to be more flexible.
http://hackage.haskell.org/package/sifflet
Those specific versions of packages are overly constrained. They should
follow the PVP, and be thus,
0.11.*
'sifflet' requires ... pango confused me at first.
Neither sifflet nor sifflet-lib 1.0 requires pango explicitly.
However, they both require gtk == 0.11.0, and gtk 0.11.0 requires pango 0.11.*.
Okay, so that must be how pango got involved in this.
Your suggestion, then, is for me (the sifflet author) to change
{sifflet,sifflet-lib}.cabal files to read in part:
build-depends:
...
cairo == 0.11.*,
glib == 0.11.*,
gtk == 0.11.*,
In the past, I've gotten into trouble with looser version constraints
on the gtk2hs package(s), that is, gtk, cairo, glib, and associates.
I had written a function for changing
the cursor (the image that shows where the mouse is pointing),
because this function was not present in the then current
version of gtk2hs. Then I got a new version of gtk2hs
which added the missing function, and so broke my code because
we now had multiple definitions of the same-named functions.
However, this new version of gtk2hs did *not* have a significantly
different version number from the old. So I became very cautious
about the upper bounds for the version numbers of the gtk2hs package(s).
(In fact, the situation was even a little crazier! This happened when I
switched from Fedora to Arch Linux, and the Arch Linux package
I believe was pulling the code from a darcs or subversion
repository that was in advance of the latest released
package. In effect, the *version* had changed, but the version
*number* had not changed!)
From: Andrew Coppin andrewcop...@btinternet.com
...
Uh... it seemed to build just fine for me (when I did it all
manually). I'm not sure I see what the problem is here. I made Cabal
install 0.11.0 of each package, by hand, one at a time, and it never
complained of any unfulfilled dependencies, and the end result was a
runnable program. So I'm just puzzled why it couldn't figure out that
you can do that by itself.
Glad that it worked that way, at least, but sorry you had to
go to such trouble. I was about to ask you to tinker with the
cabal files for me and see if 0.11.* or 0.11.2 also work,
but since the Arch Linux User Repository now has these versions
available for me, I will do the tinkering myself.
From: Iavor Diatchki iavor.diatc...@gmail.com
...
but in the meantime, it may be
better to make sifflet depend on a later specific version of gtk
(e.g., 0.11.2) rather then claiming that works with any 0.11.*
version.
I believe you are suggesting something like
gtk = 0.11.0 0.11.3 ??
Greg
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
--
___ ___ __ _
/ _ \ / _ \| || | Gregory D. Weber, Associate Professor
/ /_\// / | | | /\ | | Indiana University East
/ /_\\/ /__| | |/ \| | http://mypage.iu.edu/~gdweber/
\/\_/\___/\__/ Tel. (765) 973-8420; FAX (765) 973-8550
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe