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;
- 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
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:
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.
- 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