[Geany-Devel] OSX ports?

Jiří Techet techet at gmail.com
Fri Oct 14 22:57:03 UTC 2016


On Wed, Oct 12, 2016 at 7:19 PM, Chris H <spamless at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.geany.org/pipermail/devel/attachments/20161015/44ef010c/attachment.html>


More information about the Devel mailing list