On Wed, Oct 12, 2016 at 7:19 PM, Chris H <spamless@xmail.net> wrote:

Quoting Jiří Techet :
> Hi Chris,
Hello Jiří, and thanks for the reply...

>
> On Mon, Oct 10, 2016 at 8:09 AM, Chris H  wrote:
>
> >
> > Quoting Chris H :
> > Apologies, my mailer truncated my message...
> > >
> > > Greetings,
> > >  Sorry if this has been asked in the past. I've attempted to find similar
> > > topics in the
> > > list archive. But to no avail. The link on Geany's MailingList page
> > > (http://news.gmane.org/gmane.editors.geany.devel)
> > > to search the archives returns 404.
> > > So my question is; are there any issues building on OSX? I'm currently
> > > maintaining over 100 ports on FreeBSD,
> > > and use Geany for most of my work, but have recently taken an interest in
> > > OSX, and now feel handicapped without
> > > it (Geany). While I see that you provide a link to an OSX dmg image for
> > > OSX, It's 64bit only, and is limited to
> > 10.7 or greater. What I'd like to do, is create a universal binary that
> > coveres the
> > whole gambit (10.*). So I guess my question is;
> > 1) Does Geany compile on OSX out of the box?
> >
>
> No, it doesn't. Geany depends on GTK and transitively on lots of other open
> source libraries which aren't part of OS X. It's not enough to build just
> Geany - you have to build all these dependencies and add them into the
> bundle.
Sure, of course. I just wondered that if I already had all the headers, and source
available (via Homebrew/Xcode), that it might "just work". :-)

>
> I use
>
> https://wiki.gnome.org/Projects/GTK+/OSX
Yea, I checked that out, as well. But already available through Homebrew.

>
> to build Geany and make a bundle. Geany has also been extended with the
> "integration" part to better integrate to OS X to support things like
> global menus etc. The detailed build process is described here:
>
> https://github.com/geany/geany-osx
Caught that.

>
> OS X 10.7 is by default the oldest version supported by GTK-OSX but I
> believe there's some way to support older systems too (I believe there was
> some problem with changed binary format and linking). The question is
> whether supporting such old systems is worth it - OS X 10.7 isn't supported
> even by Apple and doesn't receive security patches and IMO nobody should
> use it.
>
> Building 386 binaries is somehow possible too with GTK-OSX but again, we
> are talking about 10 year old computers running unsupported operating
> system versions. Besides, this would about double the bundle size (which
> currently is about 60MB because all the dependencies have to be inside) and
> in addition I don't have to any 386 Mac to test which is why I decided not
> to support these.
Sure. I get that (old system...). But IMHO more was lost, than gained in the
the newer versions (of OSX).

What exactly was lost? I'm not aware of any feature removals and the security of the OS has been improved a lot over the recent years. And from what I can say, stability too.
 
I'm also quite savvy with all the underpinnings
of OSX, and had no trouble upgrading, or otherwise patching the system to
be (at least) as safe, and stable, as the latest version. :-)

Wow, that's quite a claim. Even though the kernel sources are available, I seriously doubt you backport the security fixes from the latest kernels and recompile the old kernel. For all the remaining stuff like system frameworks and various daemons you'd have to use assembly and somehow write the security-related patches in it (the only place I saw someone doing this was Angela Bennett in "The Net" movie). The "at least" part is even more interesting as you seem to be even improving the system this way.

Unless you do the above, you are pretty much vulnerable to various attacks.
 
It also runs *quite* nicely at 64bit. The only issues I've encountered, is
with applications that claim to be 64bit exclusive, and simply fail to start,
because they're *not*. Firefox, is a good example. But since it's a UB, I
simply ticked the 32bit box, and it then runs w/o issue.
>
>
> > 2) If not, is there already any work on this I might expand on, rather
> > than re-invent the wheel?
> > FWIW I evaluated MacPorts, but found it less than ideal, and upon further
> > evaluation, found
> > HomeBrew a better candidate.
> >
>
> Neither MacPorts nor HomeBrew are suitable - I tried both. The problem is
> you don't want to create just a command-line version of the app - you want
> it to behave like a standard GUI application with global menu, clickable
> icon in the launcher, being able to drag files to the icon to open them
> etc. These things aren't possible with MacPorts or HomeBrew (in addition I
> believe HomeBrew doesn't have GTK built with Quartz backend and only
> provides X backend so there's no support of retina displays).
I didn't look to see when it was added, but the (OSX GUI) applications I've
built with it so, all support the Quartz available, and running on my box.

OK, good to know.
 
I don't want to sound the least bit argumentative, but I've already built
several OSX GUI's through Homebrew, and they all provide the standard
OSX dialogs, and Menu options.

I can't imagine how it could create the global menubar (I bet it's attached at the top of the window) - this is something that the application has to do. Also how do you handle the launcher icon? It surely runs from the command-line but from what I remember, there's no easy way to create a natively working launcher (there usually appears a console icon instead and it works in a bit non-standard way). How is it with file associations which are normally stored in the Info.plist file in a bundle?

Is it possible to create a bundle containing all the dependencies to create a self-contained app installer with homebrew? Is it possible to add gtk themes this way, additional libraries (needed for Geany plugins) and other files? If you decide to create a bundle note that you'll have to patch VTE as its configurable files are not relocatable - the patches I created for this are here

https://github.com/geany/geany-osx/tree/master/patches

Even though I don't like jhbuild at all, I'm slightly skeptical you'll be able to create native-enough behaving version of Geany using homebrew. But definitely let me know about the progress.

Cheers,

Jiri