Forum: Ruby-Gnome 2 More Windows Build

8616a8bf5c9ac0db67ac26f89d3b06b6?d=identicon&s=25 Mike Charlton (Guest)
on 2011-01-20 08:27
(Received via mailing list)
I haven't gotten any farther in documenting the Windows
build procedures.  I took a quick look at building it again
and decided it was too complicated for the amount of time
that I had.

But I'm in the process of trying to build a redistributable
binary package for my application.  As part of that I installed
the Windows gems.  I noticed a problem.

If I do "gem install gtk2", it installs several gems (gtk-2,
glib2, atk, etc, etc).  But the vendor/local/bin directories
contain the same dlls over and over again.  Even if I
delete all the source code, libs, includes, and executables,
the result is over 200 MB in size.  I can't ask my users
to do a 250 MB download (including Ruby) for my tiny
app.

Is there any way to get rid of the duplication of DLLs?
This is an area where I have no knowledge.  I will
volunteer to work on improving it, but I need some
help.

 MikeC
Ee6ffca720cc428d70247dcd7377dd48?d=identicon&s=25 Kouhei Sutou (Guest)
on 2011-01-21 14:58
(Received via mailing list)
Hi,

In <AANLkTik7wOHDo8feSKJPGdCQNiw30L_hV6SQF3YwZcxk@mail.gmail.com>
  "[ruby-gnome2-devel-en] More Windows Build" on Thu, 20 Jan 2011
16:26:26 +0900,
  Mike Charlton <mikekchar@gmail.com> wrote:

> If I do "gem install gtk2", it installs several gems (gtk-2,
> glib2, atk, etc, etc).  But the vendor/local/bin directories
> contain the same dlls over and over again.  Even if I
> delete all the source code, libs, includes, and executables,
> the result is over 200 MB in size.  I can't ask my users
> to do a 250 MB download (including Ruby) for my tiny
> app.

I think so too.
We need to reduce duplicated DLLs.

> Is there any way to get rid of the duplication of DLLs?
> This is an area where I have no knowledge.  I will
> volunteer to work on improving it, but I need some
> help.

You can find which binaries are required by a gem in
Rakefile. For examlpe, you can find the following code in
gtk2/Rakefile:

    packages = ["glib", "atk", "gdk-pixbuf", "pango", "gtk+"]
    dependencies = ["gettext-runtime", "zlib", "freetype", "expat",
                    "fontconfig", "cairo", "libpng"]

It means "Ruby/GTK2 uses glib, atk, gdk-pixbuf, pango, gtk+
and so on". They are downloaded from
  http://ftp.acc.umu.se/pub/gnome/binaries/win32/

(See glib2/lib/gnome-win32-binary-downloader.rb for details.)

All gems include all depend Windows binaries but some
binaries aren't needed. For example, Ruby/ATK gem depends on
Ruby/GLib2 but both of them include GLib Windows binary. We
will be able to remove GLib Windows binary from
Ruby/ATK.

But I didn't it yet because I can't try and error on
Windows. I only have Debian GNU/Linux... We need help who
can work on Windows. Patches for it are welcome!


Thanks,
--
kou
8616a8bf5c9ac0db67ac26f89d3b06b6?d=identicon&s=25 Mike Charlton (Guest)
on 2011-01-21 17:11
(Received via mailing list)
Thank you for the explanation.  I will try to
do it next week if I have time!

          MikeC
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.