Hi Matthew,

On Mon, Oct 29, 2012 at 2:29 AM, Matthew Brush <mbrush@codebrainz.ca> wrote:
On 12-10-28 08:10 AM, Trong Thanh Tran wrote:
Hi guys,

This weekend I've spent some time trying to build and bundle Geany for Mac OSX and have made some nice progress.
I used latest gtk-osx-build-setup.sh and jhbuild and successfully built GTK+, Geany (from git master) & some extra plugins. (I had some hiccups at compiling GTK+ but luckily a work-around has been found.)


Nice work! I wasn't sure anyone else would be as crazy to spend the time and frustration to get it all building :)

Maybe it is because of the love I have for Geany and getting it runs on a Mac is a challenge that interests me, at least for now.   I could have given up if I faced some more blocking issues, but yeah, finally have them compiled.


When it comes to bundle the Mac app, the scripts that Matthew published on github were of great help. Guess what, Copy & Patse shortcuts are corrected to Cmd-C, Cmd-V and works nicely. However, not all files in Mathew's osx repo are needed and some make files doesn't work with latest gtk-mac-bundler (maybe I quit too early) so I have created a new repo with updated scripts & bundle files. The instructions are mostly copied from Mathew's with some of my edits. (But I plan to write more details from what I've learned)


Can you say what files aren't needed and which don't work? I don't doubt, I just want to know so I can fix my branch next time I'm hacking on it.

I think you can have a quick folder compare (just the osx folder in your repo) and run a diff between the files. The reasons I didn't inherit your repo is given below.
 


The new repo I've created here: https://github.com/trongthanh/geany-osx-essentials
Besides, I have uploaded the bundle .app to the downloads sections so anyone can try on their Mac.
Note that I'm building this with XCode 4.5 so the app require Mac OSX 10.7+


Why did you create a whole new repository instead of continuing to work on my branch which is based on Geany's master branch? It's going to be harder to integrate the changes like this into Geany source tree later, especially without clear history and discrete, meaningful commits.


Sorry that I didn't reuse your repo but I can't afford the time to check for changes, and issues (if any) that I have to resolves in the middle of your work. You didn't provide a downloadable bundle, so I don't know if you manage to compile and build it with latest jhbuild. So I started my effort from scratch. I'm not using any of your files (yet) except the bundling essentials. That's why you see some missing features that you mended in your repo.

Another reason is I want this to be a focused and portable effort that will compile latest Geany's code without doing a repo merge. I see potentials in using the moduleset that jhbuild recommend to automate the compilation of the app with dependent libraries. To tailor the app to work better in OSX, I see they are using patch files instead of modifying the original source.

After all, I'm quite new in this Mac compilation stuff so I'm all ears to your advice what I should do to better contribute to the project.
 
Next step is to enhance the bundled GTK theme to match modern Mac interface and fix the known issues. Honestly I'm a total noob with this stuff and sometimes I have no idea what I'm doing :D Any collaboration and contributions are appreciated.


I couldn't find a good theme that looked like the Lion UI so I ended up using Greybird (IIRC) which is kind of similar and at least looks nice, I guess you dropped that theme from your repository? Also I had some changes to Geany's source code to have the application menu in the normal position at the top of the screen (using GtkOSXApplication), but I don't see those changes in your screenshot, was that dropped too? It's nice to continue in the same line of development because there would be a commit saying "Dropped XXX because of YYY" instead of just disappearing changes.


I admitted that I'm not totally aware of the progress you've reached. First things first, I need to have the program compiled successfully then I'll continue to look at the changes to the program you've made. However, to my belief, I think we should avoid creating switch-case changes to the program code as much as possible and GTK program should be truly cross-platform.

Again, I'm currently in favor of a portable approach using patch/replace files, just like the keybindings & conf stuff that you are having. But I'm willing to follow your way if you think it is better. Please advice.
 
Overall though, I'm glad you've continued work on this and I think at some point in the near future (after review) we could start integrating the changes into Geany's master branch once they are rebased ontop of my branch (or at least on top of Geany's source tree) and the commits are fixed up.


Hopefully we'll have an official release for Mac OSX in the future. But I think in the mean time we should attract more interest in using Geany on Mac even the bundle is currently imperfect. That's why I created a recognizable repo on github and uploaded the experimental bundle. Let's see how this come out.
 
Cheers,
Matthew Brush
_______________________________________________
Users mailing list
Users@lists.geany.org
https://lists.geany.org/cgi-bin/mailman/listinfo/users

Cheers,
Thanh Tran
int3ractive.com -