Adib Taraben wrote:
Peter Moulder schrieb: ...
Every now and again, we come across packaging problems on Windows, and we say "It would be good to be able to hand these problems off to distributors, as we do for a number of un*x distributions", or "Someone should create a windows package consisting of inkscape, gimp, and perhaps other gtk software, so that they can share libraries."
I've just today discovered WinLibre, which does this: http://www.winlibre.com/en/index.php
.... Yes and there have been many complains about shipping the same dll's that are already on the system (if you use an other gtk application). Actually I prefer much the Gaim way. It ships in two versions: 1) with gtk dll's and 2) without gtk dll's. So I can use the gtk installer for gimp and gaim.
Well, they complain, but do they volunteer to do the work? ;-)
I think Bob Jamison is working on that issue. Bob could you give a status ???
Well, I haven't done any work toward it yet, because I'm still looking at the problem. I have asked a couple of Gtk guys about this. There exist several issues to this problem:
1). Does the Gtk distribution stay current? We usually require a fairly recent version of the gtk-win libraries, not really in order to be as bleeding-edge as possible, but for bugfixes. Bug fixes in win32 trail behind those on Linux, sometimes for months. So we need recent versions on win32 simply in order to have a stability on a parity with Linux. We are going to want Cairo, too, which is gtk2.8+. For example: atk.dll still has 3 symbols missing from its exports, which are required by atkmm, and cause its build to fail. I need to fix this manually whenever I assemble the libs. Any automated mechanism would fail here.
2). Does it have an update mechanism? If we are adding a dependency to Inkscape, and also to others, how do we get recent changes without needing to reinstall everything? How do we prevent an update from breaking other apps? If there is a significant bugfix to the libs, how does everyone receive it? My idea was to have a mechanism something like apt-get or Portage to manage updates. Mingw.org has started a little project like this, but I don't know what the status of it is. Cygwin has a lovely update tool, too. Either way, I think that a 'live' Gtk-win32 distro might be a necessity.
3). How does this fulfill Inkscape dependencies? From what I've heard, the answer is to "do things our way." Use their Gtk distro as a base, and carry the payload of the other dependencies ourselves. We would likely want for them to alter their package slightly, (like adding sigc++/Gtkmm, which sounds reasonable, because they are small, and Gtkmm's versions stay in sync with Gtk versions), but not much. Beyond that would be selfish on our part. Besides, carrying our own deps is something that we do already.
4). What do we receive from this? Now this part -is- selfish ;-) How would adding this dependency benefit the developers who are doing the work? From looking at the Gtk libs, it looks as though they are runtime only. There are no development tools, headers, or libs included. So we would STILL be required to make our own Gtk library bundle for development. Not only that, but the version of the development libs would need to match those in the runtime. So we would basically be doubling our work, for no extra benefit. There should be a mechanism to help -us-, such as having a full development bundle (like we have) matching each runtime bundle. If you look at the gtk lib distros for win32 here: ftp://ftp.gtk.org/pub/gtk/v2.8/win32 ...you can see that is what the 'official' packages do. Those are the ones we use, by the way, so we are somewhat 'official' too!
5). Who wants to do this? Since this would be much extra work in addition to what we are already doing, this would require, IMHO, at least two more volunteers to do the packaging. The several of us who do Win32 building already have too much to do. And, in addition, any new volunteers would probably be most effective if they were also full-time members of the gimp-win project itself. That way, not only would we be less of a burden on them, but we could address our problems ourselves, and help them out with the things that we have learned. That is the Open Source method: see a problem, fix it yourself. I am sure that they would love to have more workers. And having an Inkscape liaison in their group would be excellent.
6). ...HOWEVER... Now, after all of this negativity, let me say that having a single standard library set for all win32 Gtk apps would be a WONDERFUL thing. The "issues" above are merely issues. They are just things that need to be (and can be) solved... probably quite easily.
I just noticed that I need to perform some important chores (the pub is open), so I will see you all later...
Bob