After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 695600 - New GTK+3 Win32 bundles (3.4.2, 3.6.4)
New GTK+3 Win32 bundles (3.4.2, 3.6.4)
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Website
unspecified
Other Windows
: Normal normal
: ---
Assigned To: gtk-bugs
Martyn Russell
Depends on:
Blocks:
 
 
Reported: 2013-03-10 23:38 UTC by tarnyko
Modified: 2014-12-06 11:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Script for cross-compiling gtk+ (3.71 KB, application/x-xz)
2013-09-09 06:26 UTC, LE GARREC Vincent
Details

Description tarnyko 2013-03-10 23:38:41 UTC
Please considerer the following GTK+3 Win32 bundles for upload to http://www.gtk.org/download/win32.php.

Here they are :
http://www.tarnyko.net/repo/gtk3_build_system/
gtk+-bundle_3.4.2-20130310_win32.zip
gtk+-bundle_3.6.4-20130310_win32.zip

See threads on "gtk-devel-list" for context :
https://mail.gnome.org/archives/gtk-devel-list/2013-March/msg00022.html
https://mail.gnome.org/archives/gtk-devel-list/2013-March/msg00065.html.

Features :
- MinGW import libraries (see "lib/*.dll.a) TESTED WORKING
- Microsoft Visual C++ import libraries (see "lib/*.lib) TESTED WORKING
- manifest file (see "manifest/*.mft") ;
- MinGW build scripts (see "src/tarnyko/scripts") ;
- MinGW build logs (see "src/tarnyko/logs") ;
- licensing info (see "share/doc");
- README with installation instructions (see "*.README.txt").
Comment 1 Gerald Combs 2013-03-11 14:48:44 UTC
That's awesome! Do you have any plans to add 64-bit packages?
Comment 2 tarnyko 2013-03-11 15:25:02 UTC
(In reply to comment #1)
> That's awesome! Do you have any plans to add 64-bit packages?

Thanks !
Well, I planned to look at 64-bit builds if someone asked me... and you are the first person doing it ^^.

Should not be too hard regarding the infrastructure already in place, but will definitely take some time (need to gather dependencies and modify scripts). So yes, but no deadline yet.
Comment 3 Gerald Combs 2013-03-11 18:24:07 UTC
(In reply to comment #2)
> Well, I planned to look at 64-bit builds if someone asked me... and you are the
> first person doing it ^^.

If the hundreds of thousands of people who download Wireshark's Win64 installer each month had to download GLib/GTK+ directly you'd get a few more requests. :)
Comment 4 tarnyko 2013-03-11 18:47:22 UTC
(In reply to comment #3)
> If the hundreds of thousands of people who download Wireshark's Win64 installer
> each month had to download GLib/GTK+ directly you'd get a few more requests. :)

Haha :-D.

I'll se what I can do.
Comment 5 tarnyko 2013-03-13 22:56:39 UTC
OK, Release Candidate GTK+ 3.4.2 64-bit bundle is available :

http://www.tarnyko.net/repo/gtk3_build_system/
gtk+-bundle_3.4.2-20130313_win64-RC1.zip

The build environment is still a little messy, cleaning it right now, will be here when it's ready.

I'm mostly interested if you could test the MSVC++ import libraries (.lib).
Comment 6 Martyn Russell 2013-03-14 09:35:39 UTC
Thanks for the great work here. My main concern is how to present this on the website the best way. It's clear we need to have links to the bundles, but we also could do with some sort of README type explanation about it all.

If you have any suggestions, that would be great. I have a test server we can play with first to make sure we get it looking right.
Comment 7 tarnyko 2013-03-15 07:06:09 UTC
Hi Martyn,

It's nice to get in touch with you, I'm glad we may be getting closer to a release ^^ !

Your mail made me re-read the current download page ; I don't really know, but I thought we could keep the original layout, just exploding the main part between a "GTK+2" and a "GTK+3" section ?

(here a quickly modified version so you can see what I mean : http://www.tarnyko.net/repo/gtk_win32.htm)

As for a README, maybe you mean a tutorial ? The bundles already contain a pure-text one, but I could write a more graphical one (in this style : http://www.tarnyko.net/en/?q=node/6). We could give a link to the tuto at the bottom of the "GTK+3" section. Not sure we want to go so far, though.
Comment 8 Martyn Russell 2013-03-15 16:37:28 UTC
(In reply to comment #7)
> Hi Martyn,
> 
> It's nice to get in touch with you, I'm glad we may be getting closer to a
> release ^^ !
> 
> Your mail made me re-read the current download page ; I don't really know, but
> I thought we could keep the original layout, just exploding the main part
> between a "GTK+2" and a "GTK+3" section ?
> 
> (here a quickly modified version so you can see what I mean :
> http://www.tarnyko.net/repo/gtk_win32.htm)

Thanks for the mock up. It looks good :) What's most important is that people see it as an official bundle to use so we have less segregation with bundles and builds.
 
> As for a README, maybe you mean a tutorial ? The bundles already contain a
> pure-text one, but I could write a more graphical one (in this style :
> http://www.tarnyko.net/en/?q=node/6). We could give a link to the tuto at the
> bottom of the "GTK+3" section. Not sure we want to go so far, though.

Something like that yea.

Thanks for making a good start here! :)
Comment 9 tarnyko 2013-03-15 16:59:26 UTC
(In reply to comment #8)
> 
> Something like that yea.

OK, so I will write a short HTML tutorial using style & pictures. It will tell about installation and setup with MinGW/MSVC (but shortly, as devs should know better :)).

> 
> Thanks for making a good start here! :)

You're welcome.

I'm currently generating the little individual packages (glib, glib-dev, gtk+, gtk+-dev, etc) supposed to be available below the bundle.
I will come back when all this stuff is ready.
Comment 10 tarnyko 2013-03-17 09:34:34 UTC
(In reply to comment #8)

Here we go.
I've put all individual packages together and mimicked the current "ftp.gnome.org/pub/gnome/binaries" tree layout.
So you have e.g :
- win32/atk/2.4/atk_2.4.0-1_win32.zip
- win32/atk/2.4/atk-dev_2.4.0-1_win32.zip
- win32/gdk-pixbuf/2.26/gdk-pixbuf_2.26.1-1_win32.zip
....

You can get the whole subtree here :
http://www.tarnyko.net/repo/gtk3_build_system/binaries.zip 

As for a tutorial, what do you think of that ?
http://www.tarnyko.net/repo/gtk3_tutorial.htm
It is not idiot-proof, but sufficient for MinGW beginners or Linux developers porting their stuff I think.
I've externalized the MSVC part at the end but we could merge it (without screen captures).

(if you want to grab the whole tutorial files :
http://www.tarnyko.net/repo/gtk3_build_system/tutorial.zip)
Comment 11 tarnyko 2013-03-25 09:39:54 UTC
(In reply to comment #8)

Any updates on this ? Thx.
Comment 12 Martyn Russell 2013-04-09 17:16:56 UTC
(In reply to comment #10)
> (In reply to comment #8)
> 
> Here we go.
> I've put all individual packages together and mimicked the current
> "ftp.gnome.org/pub/gnome/binaries" tree layout.
> So you have e.g :
> - win32/atk/2.4/atk_2.4.0-1_win32.zip
> - win32/atk/2.4/atk-dev_2.4.0-1_win32.zip
> - win32/gdk-pixbuf/2.26/gdk-pixbuf_2.26.1-1_win32.zip
> ....
> 
> You can get the whole subtree here :
> http://www.tarnyko.net/repo/gtk3_build_system/binaries.zip 

Are you expecting to link to that from gtk.org?
If possible, it would be great if you could put them on ftp.gnome.org OR gtk.org, so it's "affiliated" ;)
 
> As for a tutorial, what do you think of that ?
> http://www.tarnyko.net/repo/gtk3_tutorial.htm

I like it. My comments:

1. I would put the "Releasing your program" bit and shipping DLLs bit at the top so people know how to use the bundle before doing anything with it. This is likely to help people decide what to do before they start downloading, extracting, setting up, etc.

2. I would like to have the same thing for MSVC somewhere on gtk.org instead of your site if possible! I saw the link to it, it looks good.

3. I wonder why the bundle is so big to download. I don't remember it being that big before.

4. It's a shame we can't automate some of these steps (i.e. steps 2 and 3), I thought you could do this with zip files at some point (i.e. run some post unzip commands?) My knowledge here is a bit old though.

5. For people shipping products with the binaries, shouldn't we mention that some files are not needed? I am guessing at this point that some files are for debugging or just not necessary in all cases - or do we really need ca. 50Mb of libraries to run a GTK+ 3.x app?

--

What I would like to do is to push these FAQs or Help guides to our gtk.org site.

Do you have an account to update the gtk.org pages?
If you do, I would love a branch I could review/merge for the tutorials.
If you don't, you should get one. I can be a reference for that. It's likely you will need it at some point if you're maintaining official bundles anyway.

> It is not idiot-proof, but sufficient for MinGW beginners or Linux developers
> porting their stuff I think.

It's really nice. I think it's certainly enough.

> I've externalized the MSVC part at the end but we could merge it (without
> screen captures).
> 
> (if you want to grab the whole tutorial files :
> http://www.tarnyko.net/repo/gtk3_build_system/tutorial.zip)

Thanks for that. Let me know about git access. If you had it, you could have done it and merged it by now most likely ;)

Sorry for the delayed response here, thanks for the work you've put in!
Comment 13 tarnyko 2013-04-09 19:33:13 UTC
(In reply to comment #12)
> > You can get the whole subtree here :
> > http://www.tarnyko.net/repo/gtk3_build_system/binaries.zip 
> 
> Are you expecting to link to that from gtk.org?
> If possible, it would be great if you could put them on ftp.gnome.org OR
> gtk.org, so it's "affiliated" ;)

I would have loved doing that, but I don't have any write access to ftp.gnome.org yet :-(. I'm currently relying on a personal repository.
 
> > As for a tutorial, what do you think of that ?
> > http://www.tarnyko.net/repo/gtk3_tutorial.htm
> 
> I like it. My comments:
> 
> 1. I would put the "Releasing your program" bit and shipping DLLs bit at the
> top so people know how to use the bundle before doing anything with it. This is
> likely to help people decide what to do before they start downloading,
> extracting, setting up, etc.
> 
Fine, will do it.

> 2. I would like to have the same thing for MSVC somewhere on gtk.org instead of
> your site if possible! I saw the link to it, it looks good.
> 
No problem, will do it too.

> 3. I wonder why the bundle is so big to download. I don't remember it being
> that big before.
> 
Actually, it may contain some unneeded binaries (command-line utilities generated by libjpeg, libjasper, etc). I will compare with the last official bundle and see what I can strip here.

> 4. It's a shame we can't automate some of these steps (i.e. steps 2 and 3), I
> thought you could do this with zip files at some point (i.e. run some post
> unzip commands?) My knowledge here is a bit old though.
> 
I don't think so ; in fact, I looked at the last bundle and it doesn't contain any install script (just a README at the root, with the install steps summarized). The only way to do it would be to make an auto-extractible executable, and I think that's not wanted (quoting what was said on gtk-devel-list) :

https://mail.gnome.org/archives/gtk-devel-list/2013-March/msg00010.html

> 5. For people shipping products with the binaries, shouldn't we mention that
> some files are not needed? I am guessing at this point that some files are for
> debugging or just not necessary in all cases - or do we really need ca. 50Mb of
> libraries to run a GTK+ 3.x app?
>
We could. The docs, theme files (.svg icons), command-line utilities ("glib-compile-schemas" aso) and even some DLLs (librsvg.dll is useless is you're not using SVG icons) aren't required e.g..
I don't have any list of "at-least-needed DLLs" or "more DLLs in you need that" currently. I could make one, but it will take some time.
 
> --
> 
> What I would like to do is to push these FAQs or Help guides to our gtk.org
> site.
> 
> Do you have an account to update the gtk.org pages?
> If you do, I would love a branch I could review/merge for the tutorials.
> If you don't, you should get one. I can be a reference for that. It's likely
> you will need it at some point if you're maintaining official bundles anyway.
> 
I fear I don't have any upload/GIT account yet. I don't know how to get one, but if I do I promise using it carefully so that nothing breaks :-).

> Sorry for the delayed response here, thanks for the work you've put in!

No problem Martyn. I'm really glad you're here.

BTW, I've been discussing some stuff with people in the GTK+ community, some things in the buildenv may need to be revised, so I will work on that too.
I will give come back when I have finished all the things we're discussing here though, so we can, sort of, "prepare the field" for a release.
Comment 14 Martyn Russell 2013-04-10 10:12:22 UTC
(In reply to comment #13)
> (In reply to comment #12)
> > > You can get the whole subtree here :
> > > http://www.tarnyko.net/repo/gtk3_build_system/binaries.zip 
> > 
> > Are you expecting to link to that from gtk.org?
> > If possible, it would be great if you could put them on ftp.gnome.org OR
> > gtk.org, so it's "affiliated" ;)
> 
> I would have loved doing that, but I don't have any write access to
> ftp.gnome.org yet :-(. I'm currently relying on a personal repository.

I would need to check to find out how we could do this.
I'll ask around.

> > 3. I wonder why the bundle is so big to download. I don't remember it being
> > that big before.
> > 
> Actually, it may contain some unneeded binaries (command-line utilities
> generated by libjpeg, libjasper, etc). I will compare with the last official
> bundle and see what I can strip here.

Ah right, yea. It might make sense to include a list in your tutorial of binaries which are nice to play with but not needed for people shipping GTK+ binaries for commercial use. You can likely do this easily with ldd (if it is available on MinGW/Cygwin).
 
> > 4. It's a shame we can't automate some of these steps (i.e. steps 2 and 3), I
> > thought you could do this with zip files at some point (i.e. run some post
> > unzip commands?) My knowledge here is a bit old though.
> > 
> I don't think so ; in fact, I looked at the last bundle and it doesn't contain
> any install script (just a README at the root, with the install steps
> summarized). The only way to do it would be to make an auto-extractible
> executable, and I think that's not wanted (quoting what was said on
> gtk-devel-list) :
> 
> https://mail.gnome.org/archives/gtk-devel-list/2013-March/msg00010.html

Yea, I think you're right.
 
> > 5. For people shipping products with the binaries, shouldn't we mention that
> > some files are not needed? I am guessing at this point that some files are for
> > debugging or just not necessary in all cases - or do we really need ca. 50Mb of
> > libraries to run a GTK+ 3.x app?
> >
> We could. The docs, theme files (.svg icons), command-line utilities
> ("glib-compile-schemas" aso) and even some DLLs (librsvg.dll is useless is
> you're not using SVG icons) aren't required e.g..
> I don't have any list of "at-least-needed DLLs" or "more DLLs in you need that"
> currently. I could make one, but it will take some time.

I did this years ago, but really by trial and error figuring out what broke my application and what didn't. I guess it depends on what the user is doing in their GTK+ application.

I think it would be good to have a detailed list of core libraries, optional libraries and binaries which are not needed for production. That way people can easily delete the ones they don't need. We could even ship a batch file which deletes them for people in subdirs no matter where they run it from. Just a thought.
 
> > What I would like to do is to push these FAQs or Help guides to our gtk.org
> > site.
> > 
> > Do you have an account to update the gtk.org pages?
> > If you do, I would love a branch I could review/merge for the tutorials.
> > If you don't, you should get one. I can be a reference for that. It's likely
> > you will need it at some point if you're maintaining official bundles anyway.
> > 
> I fear I don't have any upload/GIT account yet. I don't know how to get one,
> but if I do I promise using it carefully so that nothing breaks :-).

To get one see:

  https://live.gnome.org/Git/Developers#Applying_for_your_own_Git_account

The module is "gtk-web", see the changelog here:

  https://git.gnome.org/browse/gtk-web

It's a good idea to get the account stuff started ASAP, can take a bit of time to get going.

> No problem Martyn. I'm really glad you're here.
> 
> BTW, I've been discussing some stuff with people in the GTK+ community, some
> things in the buildenv may need to be revised, so I will work on that too.
> I will give come back when I have finished all the things we're discussing here
> though, so we can, sort of, "prepare the field" for a release.

Great! :)
Comment 15 tarnyko 2013-04-14 09:18:25 UTC
(In reply to comment #14)
Hi Martyn, back with some news ! I'm answering your suggestions below.

> Ah right, yea. It might make sense to include a list in your tutorial of
> binaries which are nice to play with but not needed for people shipping GTK+
> binaries for commercial use. You can likely do this easily with ldd (if it is
> available on MinGW/Cygwin).
> 
The last official bundle didn't have most of these external binaries/tools. I made a descriptive list of what will stripped out between the automatic bundle generation step and the final release :
http://www.tarnyko.net/repo/gtk3_build_system/binaries-stripped.txt

As for your next suggestions, please find a new version of the tutorial here :
http://www.tarnyko.net/repo/gtk3_tutorial.htm

I added the MSVC part ; it's using the command line and not the GUI. I didn't want to put GUI steps here (with screenshots and so on) as it would have been very long, actually taking more space than the rest of the whole tutorial. Need your opinion on that, though.

> > > 4. It's a shame we can't automate some of these steps (i.e. steps 2 and 3), I
> > > thought you could do this with zip files at some point (i.e. run some post
> > > unzip commands?) My knowledge here is a bit old though.
> > > 
> > I don't think so ; in fact, I looked at the last bundle and it doesn't contain
> > any install script (just a README at the root, with the install steps
> > summarized). The only way to do it would be to make an auto-extractible
> > executable, and I think that's not wanted (quoting what was said on
> > gtk-devel-list) :
> > 
> > https://mail.gnome.org/archives/gtk-devel-list/2013-March/msg00010.html
> 
> Yea, I think you're right.
>

I made a new version of the bundle, where most of these steps are now optional. While modifying the PATH (step 2.) might still be needed , manually running the three commands (step 3.) is not required anymore if you are not adding your own modules to GTK+3. I added the "Optionally" work at the beginning of the line ; I'd have used italic but I felt like it was breaking the style, what do you think ?

> > > 5. For people shipping products with the binaries, shouldn't we mention that
> > > some files are not needed? I am guessing at this point that some files are for
> > > debugging or just not necessary in all cases - or do we really need ca. 50Mb of
> > > libraries to run a GTK+ 3.x app?
> > >
> > We could. The docs, theme files (.svg icons), command-line utilities
> > ("glib-compile-schemas" aso) and even some DLLs (librsvg.dll is useless is
> > you're not using SVG icons) aren't required e.g..
> > I don't have any list of "at-least-needed DLLs" or "more DLLs in you need that"
> > currently. I could make one, but it will take some time.
> 
> I did this years ago, but really by trial and error figuring out what broke my
> application and what didn't. I guess it depends on what the user is doing in
> their GTK+ application.
> 
> I think it would be good to have a detailed list of core libraries, optional
> libraries and binaries which are not needed for production. That way people can
> easily delete the ones they don't need. 

At the end of the tutorial, I've put a complete list a DLLs, marking some as "Required" and other as "SVG support", or nothing at all. Below, there are some guidelines for people wanting to ship their binaries :
- with minimal requirements ;
- with SVG image support ;
- with localization ;
- with custom settingss.

>We could even ship a batch file which
> deletes them for people in subdirs no matter where they run it from. Just a
> thought.
> 
> > > What I would like to do is to push these FAQs or Help guides to our gtk.org
> > > site.
> > > 
> > > Do you have an account to update the gtk.org pages?
> > > If you do, I would love a branch I could review/merge for the tutorials.
> > > If you don't, you should get one. I can be a reference for that. It's likely
> > > you will need it at some point if you're maintaining official bundles anyway.
> > > 
> > I fear I don't have any upload/GIT account yet. I don't know how to get one,
> > but if I do I promise using it carefully so that nothing breaks :-).
> 
> To get one see:
> 
>   https://live.gnome.org/Git/Developers#Applying_for_your_own_Git_account
> 
> The module is "gtk-web", see the changelog here:
> 
>   https://git.gnome.org/browse/gtk-web
> 
> It's a good idea to get the account stuff started ASAP, can take a bit of time
> to get going.
> 

I've registered for a Git account. It's named "mbachmann" and I put "gtk-web" in the voucher. Are you able to see it and validate me ?

> > No problem Martyn. I'm really glad you're here.
> > 
> > BTW, I've been discussing some stuff with people in the GTK+ community, some
> > things in the buildenv may need to be revised, so I will work on that too.
> > I will give come back when I have finished all the things we're discussing here
> > though, so we can, sort of, "prepare the field" for a release.
> 
> Great! :)
Comment 16 tarnyko 2013-04-14 13:28:49 UTC
Updated tutorial :

- "Releasing your program" put at the top as you suggested. Agreed, it looks a lot better ;

- complete listing of bundle files (including docs, development stuff) ;

- added a documentation hint at the end.

I've temporary put the bundles offline as I'm rebuilding them with the new Linux cross-compile buildenv. Will put them back tomorrow.
Comment 17 Martyn Russell 2013-04-15 10:19:28 UTC
(In reply to comment #15)
> I added the MSVC part ; it's using the command line and not the GUI. I didn't
> want to put GUI steps here (with screenshots and so on) as it would have been
> very long, actually taking more space than the rest of the whole tutorial. Need
> your opinion on that, though.

Whatever is quickest and easiest for the end users/developers makes sense.
 
> I made a new version of the bundle, where most of these steps are now optional.
> While modifying the PATH (step 2.) might still be needed , manually running the
> three commands (step 3.) is not required anymore if you are not adding your own
> modules to GTK+3. I added the "Optionally" work at the beginning of the line ;
> I'd have used italic but I felt like it was breaking the style, what do you
> think ?

I think when we migrate this to gtk.org the style will take care of itself ;)
 
> > > > 5. For people shipping products with the binaries, shouldn't we mention that
> > > > some files are not needed? I am guessing at this point that some files are for
> > > > debugging or just not necessary in all cases - or do we really need ca. 50Mb of
> > > > libraries to run a GTK+ 3.x app?
> > > >
> > > We could. The docs, theme files (.svg icons), command-line utilities
> > > ("glib-compile-schemas" aso) and even some DLLs (librsvg.dll is useless is
> > > you're not using SVG icons) aren't required e.g..
> > > I don't have any list of "at-least-needed DLLs" or "more DLLs in you need that"
> > > currently. I could make one, but it will take some time.
> > 
> > I did this years ago, but really by trial and error figuring out what broke my
> > application and what didn't. I guess it depends on what the user is doing in
> > their GTK+ application.
> > 
> > I think it would be good to have a detailed list of core libraries, optional
> > libraries and binaries which are not needed for production. That way people can
> > easily delete the ones they don't need. 
> 
> At the end of the tutorial, I've put a complete list a DLLs, marking some as
> "Required" and other as "SVG support", or nothing at all. Below, there are some
> guidelines for people wanting to ship their binaries :
> - with minimal requirements ;
> - with SVG image support ;
> - with localization ;
> - with custom settingss.

I think you always want localization right - otherwise your application doesn't work when a user from another country tries to run it on Windows - it will stick out like a saw thumb too if all apps are in the right language but the GTK+ ones. I don't think it adds much in size to the shipped binaries too IIRC.
 
> >We could even ship a batch file which
> > deletes them for people in subdirs no matter where they run it from. Just a
> > thought.
> > 
> > > > What I would like to do is to push these FAQs or Help guides to our gtk.org
> > > > site.
> > > > 
> > > > Do you have an account to update the gtk.org pages?
> > > > If you do, I would love a branch I could review/merge for the tutorials.
> > > > If you don't, you should get one. I can be a reference for that. It's likely
> > > > you will need it at some point if you're maintaining official bundles anyway.
> > > > 
> > > I fear I don't have any upload/GIT account yet. I don't know how to get one,
> > > but if I do I promise using it carefully so that nothing breaks :-).
> > 
> > To get one see:
> > 
> >   https://live.gnome.org/Git/Developers#Applying_for_your_own_Git_account
> > 
> > The module is "gtk-web", see the changelog here:
> > 
> >   https://git.gnome.org/browse/gtk-web
> > 
> > It's a good idea to get the account stuff started ASAP, can take a bit of time
> > to get going.
> > 
> 
> I've registered for a Git account. It's named "mbachmann" and I put "gtk-web"
> in the voucher. Are you able to see it and validate me ?

Just did.

You put gtk-web? Interesting, it told me it was gnomecvs and ftpadmin. Oh well, we will see. I think if you have git access then that's enough.

I have approved it now.

(In reply to comment #16)
> Updated tutorial :
> 
> - "Releasing your program" put at the top as you suggested. Agreed, it looks a
> lot better ;
> 
> - complete listing of bundle files (including docs, development stuff) ;
> 
> - added a documentation hint at the end.
> 
> I've temporary put the bundles offline as I'm rebuilding them with the new
> Linux cross-compile buildenv. Will put them back tomorrow.

It's likely when we put this on gtk.org that we will split this into sub-pages to make it clearer for end users/developers to follow. It's horrible following a bloody long page when only 10% of it applies to you :) especially when you don't know that until you've read it all.
Comment 18 Ivan Baldo 2013-05-21 22:49:52 UTC
Nice to see this work going on!
Will there be an updated GTK+2 bundle?
The current one is for 2.4.10 and made in 2013-02-08, GTK+2 current version is 2.4.18 with bugfixes related to Win32 and some affecting all platforms, also the other dependencies should had newer versions with important bugfixes since then.
Thanks a lot!
Comment 19 Balint Reczey 2013-06-01 14:32:08 UTC
(In reply to comment #18)
> Nice to see this work going on!
> Will there be an updated GTK+2 bundle?
> The current one is for 2.4.10 and made in 2013-02-08, GTK+2 current version is
> 2.4.18 with bugfixes related to Win32 and some affecting all platforms, also
> the other dependencies should had newer versions with important bugfixes since
> then.
> Thanks a lot!

Yes, it would be great to release Wireshark with an official GTK+ 3.x bundle!

Cheers,
Balint
Comment 20 tarnyko 2013-06-07 02:03:50 UTC
(In reply to comment #19)
> Will there be an updated GTK+2 bundle?
I'd like to follow that too ; GTK+3 is already a big thing to look into, help is very welcome :-).

(In reply to comment #19)
> Yes, it would be great to release Wireshark with an official GTK+ 3.x bundle!
> 
> Cheers,
> Balint

I understand that so much !

For the moment, I'm still putting unofficial bundles here :
http://www.tarnyko.net/repo/gtk3_build_system/

3.4.2 and 3.6.4 are totally functional from *my* point of view, feedback is still needed on all matters necessary. Feel free to report them upstream and CC me if possible, so I can look at them along with core developers.
Comment 21 tarnyko 2013-08-20 14:58:05 UTC
Hi, some news here :

After a talk we had on IRC, it would be great to set up a ssh account with access to build.gnome.org, or more generally to setup the cross-linux build environment found here :

http://www.tarnyko.net/repo/gtk3_build_system/

GTK+3.4.2_build_system-crosslinux-v1.tar.bz2


The buildenv works standalone on CentOS6/RHEL6, and produces Win32 binaries from the official tarballs found on ftp.gnome.org (using some scripts and patches).

Things can be fixed/enhanced. Most notably, we still need a script taking the binaries and putting them all together in an archive (I can do that, no problem). And updating the buildenv for 3.6.4 like it is on native Win32.

Waiting for feedback on that matter, thanks !
Comment 22 Andrea Veri 2013-08-20 21:14:52 UTC
Hi Manuel,

I did setup the VM as requested, the details:

1. Login with your git user at buildable.gnome.org
2. I did install all the packages you listed me on IRC, they are:

gcc make pkgconfig tar gzip bzip2 xz unzip perl perl-XML-Simple python intltool                                                                                   
libmpc - mingw32-filesystem - mingw32-runtime - mingw32-binutils - mingw32-cpp - mingw32-w32api - mingw32-gcc - mingw32-gcc-c++

3. I did set up your sudo entry (you can sudo to 'winbuilder' with sudo -u winbuilder -s)

4. I did set up a '/srv/win32builder' directory and chowned it to you, so that should be the directory where the builds should take place.

5. I feel you'll need a publicly web server serving the files your builder will provide, just let me know which DocumentRoot you will set up for doing that and I'll configure apache accordingly.

6. Server specs, 1G RAM, 20G HD, 2 Cores available.

Let me know if you need anything else or catch me on IRC.
Comment 23 LE GARREC Vincent 2013-09-09 06:26:00 UTC
Created attachment 254444 [details]
Script for cross-compiling gtk+

Sorry I didn't notice this thread before. I have done the same work so I attach the script I made. I don't really know if it's useful for you but who knows... The only difference is I'm using the newest version of every library. With this script, the 32 bits compiles well and works well and the 64 bits compiles well but crashes. I don't know why and gdb64 can't help me.

Good luck and I hope your bundles will be on gtk.org because it's boring having to compile all theses packages to be able to distribute my application.

PS : there's a bug in pixman 0.30.2 so sse2 can't be used (https://bugs.freedesktop.org/show_bug.cgi?id=68300).
Comment 24 tarnyko 2013-09-09 10:30:03 UTC
(In reply to comment #23)
Hi Vincent,

> I don't really know if it's useful for you but who knows...
> The only difference is I'm using the newest version of every library.

Thanks, could be ! I'm currently installing a "continuous" buildenv using git (git clone - git pull - etc) so they will really be the newest. I don't expect it being functional until the end of the week, though :-(.

>  the 64 bits compiles well but crashes. I don't know why and gdb64 can't help me.

I managed to obtain functional 64-bit binaries, but when compiling on Windows only (see http://www.tarnyko.net/repo/gtk3_build_system/, "win64" buildenvs). Will try cross-compiling on Linux, taking hints from your scripts, but I expect difficulties too... 

> PS : there's a bug in pixman 0.30.2 so sse2 can't be used
> (https://bugs.freedesktop.org/show_bug.cgi?id=68300).

A friend of me had such a bug and we couldn't trace it. Now I know the cause, thanks !
Comment 25 tarnyko 2013-09-09 10:32:57 UTC
Martin, Andrea, Ebassi, Walters :

Win32 bundles, produced in the GNOME infrastructure, are now available on http://win32builder.gnome.org.

Would it possible to put them on http://www.gtk.org ?
Comment 26 Andrea Veri 2013-09-09 14:31:58 UTC
Seems gtk.org is managed through https://git.gnome.org/browse/gtk-web, maybe Martin can add a link to the new builder somewhere on the website?
Comment 27 Martyn Russell 2013-09-10 08:08:20 UTC
(In reply to comment #26)
> Seems gtk.org is managed through https://git.gnome.org/browse/gtk-web, maybe
> Martin can add a link to the new builder somewhere on the website?

Tarnyko should have Git access IIRC. He can at least draft changes in a branch for review before we push.

Thanks all for the work so far :)
Comment 28 Eugen Dedu 2013-09-19 10:24:26 UTC
A testimonial: The application I work on, Ekiga for Linux and Windows, is changing from gtk2 to gtk3.  I used 3.6.4 from http://win32builder.gnome.org and, after some quick tests, Ekiga builds and works as expected.

However, I hesitate to make the commit to change to gtk3 since I do not know how the official gtk3 bundle will be provided (one bundle with all libraries, one file per library, one per library and one per headers etc.)  If the official build appears anytime soon it would be great.

Finally, thank you very much, tarnyko, for your perseverance on this matter!!
Comment 29 tarnyko 2013-09-22 07:53:21 UTC
(In reply to comment #28)
Hi Eugen, nice to know that it works flawlessly ! I think we will provide the bundle itself and smaller invidual packages, just as we did before.

BTW, I already generated most of the packages (see http://win32builder.gnome.org/packages/3.6/). They should all be there this evening.

Martyn, I just re-updated my Git branch for the website (thanks a lot to AV for having unblocked my access).

See here : https://git.gnome.org/browse/gtk-web/log/?h=gtk3-win32.

Here are the changes I made :

- highered versions to GTK+ 3.6.4 (people are likely to use this version now, since it's in latest Ubuntu and has been stable for some time) ;

- made links point to win32builder.gnome.org (for both the bundle and packages). If you click on "Glib - Runtime" for instance, you get the package.

- updated the content list.

Have a nice day, waiting for feedback on my changes, would be nice going to "production" ;-).
Comment 30 tarnyko 2013-09-22 11:29:47 UTC
OK, generated the last missing packages, and re-updated the website links.
Everything should be ready now.
Comment 31 Martyn Russell 2013-09-27 12:19:33 UTC
(In reply to comment #30)
> OK, generated the last missing packages, and re-updated the website links.
> Everything should be ready now.

I've updated http://www.curlybeast.net:8084/download/win32.php so you can see what it looks like now...

--

On the contentlist page:
  http://www.curlybeast.net:8084/download/win32_contentlist.php

I would put the bit about what to ship/package (currently at the bottom) at the top so it's clear from the beginning. I really like this page! :)

--

On the tutorial page:
  http://www.curlybeast.net:8084/download/win32_tutorial.php

This looks really good.

--

What about 64bit support?

Tarnyko, when happy go ahead and merge to master - unless you prefer me to do it?

Thanks for the hard work involved... I will blog about this when it's done :)
Comment 32 Balint Reczey 2013-09-27 12:46:11 UTC
Great job Tarnyko!

(In reply to comment #31)
> (In reply to comment #30)
..
> On the tutorial page:
>   http://www.curlybeast.net:8084/download/win32_tutorial.php
> 
> This looks really good.
Could this part contain a small guide on changing the default GTK 3 theme to make applications look similar to native Windows programs?
Comment 33 tarnyko 2013-09-27 13:18:27 UTC
(In reply to comment #31)
> http://www.curlybeast.net:8084/download/win32.php 

Neat !

> On the contentlist page:
> 
> I would put the bit about what to ship/package (currently at the bottom) at the
> top so it's clear from the beginning. I really like this page! :)
> 

Agreed, done, pushed to Git.

https://git.gnome.org/browse/gtk-web/log/?h=gtk3-win32

> 
> What about 64bit support?
> 

I know how to cross-build 64-bit binaries, and tried to do on an upstream machine, but experienced some problems :
https://bugzilla.gnome.org/show_bug.cgi?id=708151

So we better wait a bit for them.

> Tarnyko, when happy go ahead and merge to master - unless you prefer me to do
> it?
> 

It would be great if you could do it ; I've never tried and might very well break something ;-).

> Thanks for the hard work involved... I will blog about this when it's done :)

And so will I :-) !
Comment 34 LE GARREC Vincent 2013-09-27 14:41:30 UTC
Good work. Just small bug, one image is not the right one :

-win32_tutorial.php
-Developing wth GTK+3 (you forget the i)
-MinGW
-gcc -o gtk3.exe 
wrong image should be screenshot-tutorial-04a.png not screenshot-tutorial-04.png. The link is good but not the displayed image.
Comment 35 tarnyko 2013-09-27 15:02:10 UTC
(In reply to comment #34)
> Good work. Just small bug, one image is not the right one :
> 
> -win32_tutorial.php
> -Developing wth GTK+3 (you forget the i)
> -MinGW
> -gcc -o gtk3.exe 
> wrong image should be screenshot-tutorial-04a.png not
> screenshot-tutorial-04.png. The link is good but not the displayed image.

Thanks for having spotted that. Fixed in git.
Comment 36 Eugen Dedu 2013-10-01 14:16:57 UTC
My application does not use gsettings nor gconf on Windows.  I have copied the bin/ directory from the bundle to the directory where the application lies, however the application does not start, I have an GIO error about gsettings schema not found.  To make it work I had to copy share/glib-2.0 in share directory of my program.

Either this is a bug, or this information should be added to Description section of http://www.curlybeast.net:8084/download/win32_contentlist.php, which currently is:

Description
    To distribute a minimal GTK+3 program, ship the DLLs marked as Required above.
    To distribute a GTK+3 program using .SVG images, ship the DLLs marked with SVG support above, including the "lib\gdk-pixbuf-2.0" folder under the root.
Comment 37 tarnyko 2013-10-01 21:42:02 UTC
(In reply to comment #36)
Hi Eugen,

No, it's definitely not a bug ; most GTK+ common dialogs (file chooser e.g.) need these files in order to work correctly. Forgot about them.

Fixed in git.
Comment 38 John Stowers 2013-10-05 16:25:27 UTC
What is the state of gobject-introspection support here?
Comment 39 tarnyko 2013-10-06 09:54:58 UTC
(In reply to comment #38)
> What is the state of gobject-introspection support here?

Not in the bundle. Last time I tried (months ago) it didn't compile/work at all under win32. Don't know if it has improved.
Comment 40 tarnyko 2013-10-15 13:44:02 UTC
Any news on this ? Thanks.
Comment 41 Eugen Dedu 2013-10-21 18:51:09 UTC
Is there only available time (for developers) which prevents this bug to be closed, or is there another reason?
Comment 42 tarnyko 2013-10-23 22:07:22 UTC
Git branch pushed to master :
https://git.gnome.org/browse/gtk-web
Comment 43 tarnyko 2013-10-27 10:40:03 UTC
Well done ! Martyn synced it with :
http://www.gtk.org/download/win32.php

:-). So I think we can sort of close this bug now ;-).
Comment 44 Ivan Baldo 2013-10-28 10:40:25 UTC
Wow! Amazing! Such a big improvement! Love the tutorial! Thanks a lot Tarnyko and everyone else!
I am wondering though, what about gtk-update-icon-cache*? Are there any benefits by running it?
Thanks!!!
Comment 45 Martyn Russell 2013-10-29 09:55:43 UTC
(In reply to comment #44)
> I am wondering though, what about gtk-update-icon-cache*? Are there any
> benefits by running it?

Yes. It's generally good practise. If you change or add any the GTK+ stock icons, the cache needs to be rebuilt (or built) to handle that IIRC. I've been caught out with this in the past and it's such a simple thing to run. Also a lot of Debian/RPM packages do this post-install to ensure the cache is up to date.
Comment 46 Ivan Baldo 2013-10-29 11:53:01 UTC
Thanks for your answer Martyn.
Then I think it should be suggested in the tutorial.
Thanks again and again and again! Terrific work!
Comment 47 tarnyko 2013-10-31 01:56:15 UTC
(In reply to comment #46)
Hi Ivan,
In fact, the bundle already contains a pre-built cache matching the icons provided in the (stripped down) "gnome-light" theme. So you don't need to run it at unpack time e.g.

If the command is to be suggested, it should be part of a wider paragraph named "How to customize icons" or "How to add icon themes", which would not be specific to Windows (Linux, OS X are also concerned). So I'm not totally sure the Windows tutorial is the good place to have this. Maybe putting this on a wiki ?
Comment 48 tarnyko 2013-12-04 06:45:04 UTC
Added download links for the 64-bit 3.6.4 bundle :

http://www.gtk.org/download/win64.php

This happens after pushing and backporting manually this commit, which fixes an issue which was prettly visible (running the "Application" gtk3-demo e.g.) : 

https://git.gnome.org/browse/glib/commit/?id=1e3fe29fc3707e7844fce8e3761c3f12090d9158

Bundle tested and worked totally OK on any other sides.
Comment 49 tarnyko 2014-06-06 09:37:51 UTC
Packages are still there, but looking invisible since yesterday : http://win32builder.gnome.org/. The web server only shows the folders, not the files. Nothing changed that I can account of. Andrea, would be good if you could take a look.
Comment 50 tarnyko 2014-06-06 10:20:16 UTC
Is fixed now, thanks to puiterwijk for finding out.
Comment 51 Eugen Dedu 2014-08-05 14:03:39 UTC
http://win32builder.gnome.org/gtk+-bundle_3.10.4-20131202_win32.zip does not have lib/pkgconfig/gtk+-3.0.pc, which makes this version useless.  Am I the only one to run into this trouble?
Comment 52 Sébastien Wilmet 2014-12-05 20:15:29 UTC
(In reply to comment #43)
> Well done ! Martyn synced it with :
> http://www.gtk.org/download/win32.php
> 
> :-). So I think we can sort of close this bug now ;-).

Are there other things to do before closing this bug?
Comment 53 Balint Reczey 2014-12-05 20:17:01 UTC
Probably opening another one for 3.14. ;-)
Comment 54 Eugen Dedu 2014-12-05 22:08:04 UTC
(In reply to comment #51)
> http://win32builder.gnome.org/gtk+-bundle_3.10.4-20131202_win32.zip does not
> have lib/pkgconfig/gtk+-3.0.pc, which makes this version useless.  Am I the
> only one to run into this trouble?

Any news about this bug?
Comment 55 Sébastien Wilmet 2014-12-06 11:16:10 UTC
This bug is about the 3.4 and 3.6 versions, so I think it's easier to file separate bugs for specific problems.