finalterm icon indicating copy to clipboard operation
finalterm copied to clipboard

Mac OS X port [$20]

Open dodikk opened this issue 12 years ago • 37 comments
trafficstars

  1. Is it possible to build the project for Mac OS X ?
  2. Are there any instructions or binary downloads available?

There is a $20 open bounty on this issue. Add to the bounty at Bountysource.

dodikk avatar Jul 08 '13 12:07 dodikk

+1

esamek avatar Jul 08 '13 12:07 esamek

+1

kokarn avatar Jul 08 '13 12:07 kokarn

+1

datiecher avatar Jul 08 '13 14:07 datiecher

+1

klappy avatar Jul 08 '13 14:07 klappy

+1 :)

inlanger avatar Jul 08 '13 14:07 inlanger

+1

Igor-Khomich avatar Jul 08 '13 15:07 Igor-Khomich

+1

reugene avatar Jul 08 '13 15:07 reugene

I think the author knows this is a desired request. Just watch the thread for updates instead of adding to the +1 noise :)

jeremyharris avatar Jul 08 '13 15:07 jeremyharris

I don't have a Mac myself, but if you buy me one, I might consider it :)

Joking aside though: I haven't considered that possibility at all yet, mainly because Mac OS is the only platform that has a modern terminal emulator already (iTerm2), albeit without the "semantic" part. Final Term is highly unstable still; I'll consider ports to other platforms once the dust settles and an initial release has been made (probably later this year).

If you want to have a shot at it yourself, feel free though... ;)

p-e-w avatar Jul 08 '13 15:07 p-e-w

+1

simonmd avatar Jul 08 '13 19:07 simonmd

+1000

tbergeron avatar Jul 08 '13 21:07 tbergeron

iTerm2 is really not nearly as awesome as finalterm seems to be.

Trevoke avatar Jul 09 '13 01:07 Trevoke

this ^

tyilo avatar Jul 09 '13 01:07 tyilo

+1

orefalo avatar Jul 09 '13 18:07 orefalo

Alright -- Seriously, can we please stop the +1 and stick to constructive comments on the issue? I'd like to be able to keep watching this thread, but the spam is somewhat annoying.

Given the current requirements, unless someone takes it upon themselves to start building the required components on OSX and add them to Homebrew, this will not happen for a while. And I, for one, am much more interested in seeing a complete finalterm ported to OSX than I am in a half-assed finalterm that has to be maintained over multiple platforms.

Trevoke avatar Jul 09 '13 18:07 Trevoke

I'd really love to keep this dangling, because it attracts so much hope and thus attention to the project, but I don't want people to hope in vain so I'll just be frank here:

I'm not familiar with Mac OS application development, don't own a Mac, and have probably a year's worth of planned features for Final Term that I want to implement first. I have a day job and write Final Term in my free time only, so the project proceeds at an uneven pace. Overall, a Mac OS port is unlikely to happen in the foreseeable future, unless of course someone else wants to try.

Trust me, I know how frustrating this can be! I'm in the same position regularly, when I see stuff like the GitHub client, iTerm2, TextMate, Brackets etc. that is only available for Mac and not for Linux :(

p-e-w avatar Jul 10 '13 04:07 p-e-w

The good news is that I can build and install finalterm on OS X. I just spent a few evenings getting to that point after coming across this thread. However, I can't run it yet, so I will need some help to finish this.

The best news IMO is that I did not have to alter a single line of the source to get this far. Hopefully, instead of a Mac port of finalterm, all we will need is a reliable build process. I'm using homebrew to do all this, and here's what I've done so far:

  1. Create a homebrew formula for mx and keybinder-3.0. These build and compile, and seem pretty straightforward, but they are definitely not tested by me. Any ideas on how to do so easily and reliably are welcome.
  2. Use gnulib to wrap the only portability problem I found -- valac creates a C file that includes pty.h, which doesn't exist on Mac. This would need to go in the repo. Gnulib is intimately tied to autotools, so I created an external project in cmake that will be built only on Mac, and installs the generated pty.h into an include directory in the build dir. I verified that this doesn't effect the Linux build at all.
  3. Just figured out what I think was the last thing keeping it from running--the schema was symlinked, and cmake reports 'Compiling GSettings schemas', but I just needed to actually do the compile step. I will add that to the homebrew formula I guess.

So, the status has changed since I started writing all this. Now it actually runs and opens a window. 2, actually. There's clearly some work to be done, but it's a start:

screen shot 2013-07-14 at 6 17 13 pm

More to come.

keithlayne avatar Jul 14 '13 22:07 keithlayne

I think:

-- you can fork homebrew ( https://github.com/mxcl/homebrew/tree/master/Library/Formula ) and add the recipes, make a pull request. -- you can fork this project to make a pull request for the gnulib portion of it.

And then we can all promise you a beer, and continue. It's awesome that you got this far, very nice!

Trevoke avatar Jul 15 '13 02:07 Trevoke

@keithlayne Here is Homebrew's wiki entry on adding formulas: https://github.com/mxcl/homebrew/wiki/Formula-Cookbook

If you don't have time / don't want to try to submit them, I can take a crack at it.

Trevoke avatar Jul 16 '13 17:07 Trevoke

Getting these libs to build and install in homebrew is trivial. The problem is that I don't think they are properly configured, and we need some decent test programs for mx and keybinder to make sure they are actually working. Judging from what finalterm looks like after a homebrew install, I'm not too encouraged that I've built them right. I'm also on vacation with my family this week, so I don't have a lot of time right now to look into it. I may have time this evening to fork homebrew and at least give you guys access to what I've done so far.

A better solution (for homebrew) would be to get gnulib working properly and then integrated into the build so the finalterm source tree doesn't have to include all that cruft. There may be other packages out there that depend on patches to fix similar issues. A patch isn't really viable in this case because the offending code is part of the C generated from the Vala sources, and I think patching the cmake file to patch a generated source file in the middle of the build on Mac sounds plain crazy.

Another issue is how good an idea building finalterm with homebrew is to begin with. It created something tangible in this thread quickly, but I don't know that it's the right answer. The native Gtk-OSX stuff might be better for hacking. If the homebrew build actually worked (and it may yet) it would be a good means for Mac users to test, but unless I'm missing something, there's a lot of environment magic that happens while building a homebrew formula. Actually recreating that environment for hacking is at least a pain in the butt.

@Trevoke - thanks for the offer and enthusiasm. I think maybe when I fork we can all collaborate over the crappy stuff I wrote, and then someone can submit the pull requests upstream. However, they are not ready for prime time, and certainly don't meet the acceptance criteria at this point.

And to all you Gtk/mx/keybinder/Vala gurus, some simple tests/apps/whatever using these libs would be a great contribution to this effort. I'm also not all that confident in the gtk3, clutter, Vala tooling, etc. on Mac. I know pretty much nothing, and haven't had time to look into this stuff, but I'm kind of a badass, so I'm willing to give it a shot, time permitting :)

keithlayne avatar Jul 16 '13 23:07 keithlayne

+1

ctash avatar Oct 08 '13 18:10 ctash

+1

aaronlifton3 avatar Oct 18 '13 23:10 aaronlifton3

@keithlayne were you able to revisit this after your vacation or progress any further in general?

brennebeck avatar Oct 19 '13 10:10 brennebeck

STOP with the +1's and status update requests: it generates spam for everyone!

If you want to express your support for an OS X port put your money where your mouth is and pledge some money to the bounty for this bug. I'm a poor college student who is making -$30K per year right now; if I can afford $10 you (software developer making $70K/year) can pledge $100!

@p-e-w could you delete all the +1 posts and add the bounty to the ticket?

indolering avatar Nov 10 '13 18:11 indolering

While I certainly appreciate your support and enthusiasm, please note that the bounty was not started by me, nor do I endorse (or criticize) it in any way. I would like to ask you to explicitly mention that on the bounty page, especially since the project title contains my name.

p-e-w avatar Nov 10 '13 23:11 p-e-w

@p-e-w sorry, that whole site thing is auto-generated and there is no obvious way for me to alter anything. I don't think I can even withdraw my bounty. If you like, I can contact the site admins and request that they delete it...

Given how hostile Apple is to free software, I was irritated with all the +1 comments and a lack of commits. I figured this would channel that energy better and that it might entice @keithlayne to finish off the port.

indolering avatar Nov 11 '13 03:11 indolering

Seems like this issues has fallen asleep a bit. Just found out about finalterm recently and it looks really impressive, would love to see this happening on the mac. @keithlayne Did you ever get around to put up that repo? @Trevoke Did you ever get around to do anything on this?

Globegitter avatar Jun 25 '14 10:06 Globegitter

@Globegitter - I just pulled master from upstream and rebased my branch off of it (which really did nothing, my branch is I think disjoint from the rest of the code base). I don't have the time or interest to work on this right now. The little bit that I did however could serve as the starting point for some motivated person to get this done.

keithlayne avatar Jun 25 '14 15:06 keithlayne

A better solution (for homebrew) would be to get gnulib working properly and then integrated into the build so the finalterm source tree doesn't have to include all that cruft. ... And to all you Gtk/mx/keybinder/Vala gurus, some simple tests/apps/whatever using these libs would be a great contribution to this effort.

@keithlayne – Maybe a better use of your time would be to create some tickets outlining what needs to be done?

indolering avatar Jun 25 '14 17:06 indolering

@keithlayne Thank you so much for that. Yeah if you could provide some tickets with what you think would still be missing that would really help for on of us to get started.

Globegitter avatar Jun 27 '14 14:06 Globegitter

Yeah, that's pretty much not going to happen.

The sum of my work was probably a few hours about a year ago. I came into it cold with no real knowledge of anything I was working with, and got it to build. I left some notes here and left my fork up for somebody to work off of, but I can't commit any more time to this.

Bottom line, if you read my comments above, I'm pretty sure you'll be more qualified than me at that point to put in some tickets or start some work. I'm completely useless on this topic right now, but I wish you all the best of luck with it.

keithlayne avatar Jun 27 '14 14:06 keithlayne

I got no work done on this whatsoever. Much like Keith, this has unfortunately been fairly far from my thoughts... And I started using emacs.

Trevoke avatar Jun 28 '14 15:06 Trevoke

I'm going to give some of this stuff a shot, I've been working with some custom Homebrew formula's for some work stuff so I think I know enough to get into trouble :+1:

Looking over @keithlayne's older posts, I think I have some rough tasks I can get written up as seperate issues/features and link them into this more epic task.

I'll get some stuff written up, no promises anytime super soon though! :smile:

petems avatar Jul 02 '14 11:07 petems

If anyone wants to help or see my progress, I made quick repo: https://github.com/petems/finalterm-OSX

petems avatar Jul 07 '14 17:07 petems

Nice, thanks for the dedication :)

Trevoke avatar Jul 08 '14 00:07 Trevoke

I would suggest looking at the Nix package manager for getting Finalterm on Mac OS X (Nix is cross-platform, so the same package definitions would work across Linux, Mac, BSD, Mingw, etc). I've already packaged up a couple dependencies to get Finalterm on Nix, and I'm tracking my progress in https://github.com/p-e-w/finalterm/issues/269.

cstrahan avatar Jul 13 '14 17:07 cstrahan

@cstrahan Looks cool! I'd like to get finalterm building in brew, as it's the most popular package manager for OSX, but it's no picnic to do. I'lll give the NixOS package a go in the mean time! :+1:

petems avatar Jul 29 '14 13:07 petems