Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add shell script to add plugin dependencies into GTK bundle on MSYS2 #375

Merged
merged 1 commit into from Mar 12, 2016

Conversation

eht16
Copy link
Member

@eht16 eht16 commented Feb 28, 2016

This is a helper script to easily fetch and extract plugin dependencies
on Windows using the MSYS2 environment.

Inspired and based on @kugel- 's initial script in geany/geany#560.

Currently it installs the dependencies we had already in the past (enchant, lua, libgit2, libsoup, ctpl, libxml2) and a few new ones which we got for free from MSYS2 (webkitgtk, ctags, gnupg/gpgme).
This script works like the one from Geany but only extracts additional dependencies to be merged into the bundle created for Geany.

@eht16
Copy link
Member Author

eht16 commented Feb 28, 2016

As you can see, the list of dependencies is quite long. Probably 80% of the list are for webkitgtk.
Do we want to include webkitgtk into the plugins installer?
I'd vote yes as it brings the Webhelper and Markdown plugins on Windows. Though the uncompressed G-P dependencies then take about 90 MB (I don't know yet the compressed installer size nor the size without webkitgtk and its dependencies).

@eht16
Copy link
Member Author

eht16 commented Feb 28, 2016

One more note: the whole dependency list is only tested with GTK2.
I can't spend time testing GTK3 so close before the release. Might be done after 1.27.

@eht16 eht16 added this to the 1.27 milestone Feb 28, 2016
@eht16 eht16 self-assigned this Feb 28, 2016
# include: cleanup development files
rm -rf include
# lib: cleanup development files
rm -rf libexec
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

libexec is not generally dev files, is it?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, the comment is a bit misleading. Sorry.

$ ls -l bundle-plugins/libexec/*
-rwxr-xr-x 1 enrico None  71586 Jul 10  2015 bundle-plugins/libexec/dbus-bash-completion-helper.exe
-rwxr-xr-x 1 enrico None  22546 Jul 10  2015 bundle-plugins/libexec/geoclue-example.exe
-rwxr-xr-x 1 enrico None  26689 Jul 10  2015 bundle-plugins/libexec/geoclue-geonames.exe
-rwxr-xr-x 1 enrico None  54614 Jul 10  2015 bundle-plugins/libexec/geoclue-gsmloc.exe
-rwxr-xr-x 1 enrico None  64544 Jul 10  2015 bundle-plugins/libexec/geoclue-hostip.exe
-rwxr-xr-x 1 enrico None  81757 Jul 10  2015 bundle-plugins/libexec/geoclue-localnet.exe
-rwxr-xr-x 1 enrico None  27452 Jul 10  2015 bundle-plugins/libexec/geoclue-manual.exe
-rwxr-xr-x 1 enrico None 106206 Jul 10  2015 bundle-plugins/libexec/geoclue-master.exe
-rwxr-xr-x 1 enrico None  27775 Jul 10  2015 bundle-plugins/libexec/geoclue-nominatim.exe
-rwxr-xr-x 1 enrico None  78317 Jul 10  2015 bundle-plugins/libexec/geoclue-plazes.exe
-rwxr-xr-x 1 enrico None  78238 Jul 10  2015 bundle-plugins/libexec/geoclue-skyhook.exe
-rwxr-xr-x 1 enrico None  24743 Jul 10  2015 bundle-plugins/libexec/geoclue-yahoo.exe

bundle-plugins/libexec/gstreamer-1.0:
total 20
-rwxr-xr-x 1 enrico None 20137 Feb 10 09:29 gst-plugin-scanner.exe

Nothing we need.
Anyway, I'll change the script to let libexec alone and instead delete all *.exe. Then the resulting empty directories will be deleted at the end.

@b4n
Copy link
Member

b4n commented Feb 28, 2016

As you can see, the list of dependencies is quite long. Probably 80% of the list are for webkitgtk.
Do we want to include webkitgtk into the plugins installer?
I'd vote yes as it brings the Webhelper and Markdown plugins on Windows. Though the uncompressed G-P dependencies then take about 90 MB (I don't know yet the compressed installer size nor the size without webkitgtk and its dependencies).

Ideally I'd say include it in the installer but allow not to install them with a nice installer option -- e.g. allow disabling specific plugins, or just webkitgtk ones.

@eht16
Copy link
Member Author

eht16 commented Feb 28, 2016

Do we want to include webkitgtk into the plugins installer?

Ideally I'd say include it in the installer but allow not to install them with a nice installer option -- e.g. allow disabling specific plugins, or just webkitgtk ones.
Sure, would be nice. But also a lot of work in the installer because you
would need to define list of *.dlls and other files which belong to each
plugin. Nothing which seems reasonable for 1.27, IMHO.

@b4n
Copy link
Member

b4n commented Feb 28, 2016

Yeah I didn't mean it would be easy, that's why I said "ideally" :) So yeah if it's not easy leave it.
But with today's hard drive sizes, I guess people will be more happy to have additional plugins (we have been asked about WebHelper a few times already) than sad it takes so much place.
Also power users can have fun deleting files they don't need afterward :]

@eht16
Copy link
Member Author

eht16 commented Feb 28, 2016

Heh about the power users part :).

Btw, I pushed a change regarding handling of libexec.

This is a helper script to easily fetch and extract plugin dependencies
on Windows using the MSYS2 environment.
@eht16
Copy link
Member Author

eht16 commented Mar 12, 2016

Just pushed an update with all command line options and arguments documented and squashed commits together.

if [ -d "mingw32/$d" ]; then
rm -rf $d
# prevent sporadic 'permission denied' errors on my system, not sure why they happen
sleep 0.5
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Huhu :]

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this deleting not only $d?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed on IRC, it does delete only $d which is intended here because mingw32/$d is moved to $d afterwards.

@b4n
Copy link
Member

b4n commented Mar 12, 2016

LGBQI (quick inspection ;)

frlan added a commit that referenced this pull request Mar 12, 2016
Add shell script to add plugin dependencies into GTK bundle on MSYS2
@frlan frlan merged commit f5a0bc8 into geany:master Mar 12, 2016
@eht16 eht16 deleted the gtk_bundle_script branch March 12, 2016 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants