These changes allow us to create future release builds for Windows for the x86_64 platform and finally use GTK3.
Also since the GTK bundle creation and the NSIS installer scripts get more flexible, this helps to create fullly automated cross-compiled builds.
Changes in the bundle creation script:
- the GTK (and other dependencies) bundle is now created for the x86_64 platform
- the new parameter "-x" allows to run script on a Linux system using Wine, therefore it is necessary to run the post-install scripts after all packages have been extracted.
- use "-Sdd" for Pacman to ignore dependencies as we resolve them manually
- do not use "tar -x --xz" as Pacman nowadays also downloads .zst packages, instead just download the file and let tar choose the format automatically based on the filename
- install grep with Pacman as the build and target platform are now identical
- update GTK dependencies to match current packages
Changes in the NSIS installer script:
- remove hard-coded paths and installer name from NSIS installer script - This makes the paths for external resources configurable using command line flags (e.g. /DGEANY_THEMES_DIR=/something/geany-themes) and also the resulting installer filename can be set via command line flags
- the "INCLUDE_GTK" command line is removed as we always include the GTK bundle
- the GTK version detection was removed and now we always bundle the GTK3 specific CSS files.
Do NOT merge before 1.37 is released as we should make first a final GTK2/i686 release before switching.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/2590
-- Commit Summary --
* Windows: Create GTK bundle for x86_64 and suppt non-native execution
* Remove hard-coded paths and installer name from NSIS installer script
-- File Changes --
M geany.nsi.in (96)
M scripts/gtk-bundle-from-msys2.sh (106)
-- Patch Links --
https://github.com/geany/geany/pull/2590.patchhttps://github.com/geany/geany/pull/2590.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/2590
This issue is to make our Windows builds (nightly, CI and release builds) easier and better.
And also to satisfy @elextr 's long-time wish to have GTK3 Windows builds :).
My goal is to create Windows builds:
- with GTK3 only
- for x86_64 (aka amd64 aka 64bit) only
- fully automated on a Linux box
I've written a Dockerfile which sets up a cross-compilation environment with mingw64-gcc, wine and a couple other necessary tools. It also bootstraps a minimal MSYS2 environment so packages can be installed with `pacman`.
In the resulting build environment we start a script which does:
- clone Geany repository if necessary (i.e. if it is not bind-mounted into the container)
- cross-compile Geany for Windows 64bit and GTK3
- sign all binaries and installer (if /certificates exist and contains cert.pem and key.pem)
- download Geany-Themes for bundling
- create GTK3 bundle with all dependencies (including grep and sort)
- create the NSIS installer in ${OUTPUT_DIRECTORY}
- test the created NSIS installer and compiled Geany
- test uninstaller and check there is nothing left after uninstalling
This is already working pretty nicely (even digitally signing the binaries!!).
I guess I'll put the Dockerfile and the build script into a new repository.
However there are some tasks left for discussion and to do:
- do you think it is safe to switch to x86_64 builds only? I guess since Windows 7 almost everybody should have a x86_64 installation by default it she didn't anything against it on purpose. But I'm not sure enough and I didn't find proper resources on the net.
- there is a bug on Windows with GTK3 causing the message window to constantly loose some height between starts of Geany (#2591)
- we need to decide which GTK3 theme we use by default:
- the default theme (I think it's Adwaita) looks a bit alien on Windows, see screenshots below
- there is a "win32" theme natively in GTK3 which can be enabled in GTK3's `settings.ini`, it doesn't look quite right either :(.
I would say let's try with the default theme even GUI elements feel a bit huge.
Or we find another good looking theme or someone hacks something. I definitely won't work on this.
Dependant issues and PRs:
- [ ] #2591
- [ ] #2590
- [ ] #2572
Geany GTK3 Default Theme:
![Screenshot of Geany GTK3 Default Theme](https://user-images.githubusercontent.com/617017/93713709-2630b000-f…
Geany GTK3 Win32 Theme:
![Screenshot of Geany GTK3 Win32 Theme](https://user-images.githubusercontent.com/617017/93713710-28930a00-f…
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2592
Version: GIT 55e0998c
OS: Windows 7
GTK version: 3
After each start of Geany, the message window height is reduced so that it is completely hidden (aka height=0) after three or four starts.
I have no idea yet why this happens but we need to look into this and fix it before releasing Geany with GTK3 on Windows. It does *not* happen with GTK2 builds.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2591
There is no feedback about a failed GIT commit at all.
No status bar message, no status window message, no message in Help->Debug Messages and no error dialog.
At least one the above should happen to tell the user that the commit did not happen.
IMO there should be a message in Help->Debug Messages at the very least but also some more visible feedback to the user like an error dialog or at least a status bar message.
The only trace you get is the GIT error output on stderr but I guess most people won't want Geany's stderr regularly :).
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/837
Using Geanyctags 1.38 on Ubuntu 20.04.
On first use the 'Project > Generate tags' menu command completes correctly and generates a new .tags file for the project. After that, trying to re-generate the tags (repeat 'Generate tags') fails with the following error in the Messages pane:
```
find -L . -not -path '*/\.*' | ctags --totals --fields=fKsSt --extra=-fq --c-kinds=+p --sort=foldcase --excmd=number -L - -f '/home/user/work/test-project.tags'
ctags: "/home/developer/work/geany-plugins-develop.tags" doesn't look like a tag file; I refuse to overwrite it.
```
Looking inside the .tags file, reveals that the first line of it is blank. Removing the blank line allows the regeneration as expected.
Geany info:
```
geany -V
geany 1.36 (git >= 825acb21) (built on 2020-04-28 with GTK 3.22.30, GLib 2.56.4)
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/1042
Geany keybindings, like <primary>o to open a file do not seem to work in Vimode's normal mode on macos. As far as I know, <super>o should not overlap with any of Vimode's keybindings, but it seems to interpret it as just "o" as it creates a new line and enters insert mode.
The Geany keybindings do work fine while in insert mode on macos. I have not yet tested visual mode, line visual mode, or replace mode.
Thank you!
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/991
Steps to reproduce:
- Enter insert mode.
- Type the letter 'g'.
- Try to exit insert mode.
Expected behavior:
Program exits insert mode.
Actual behavior:
Program stays in insert mode.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/1075