Skip to content
This repository has been archived by the owner on Nov 11, 2018. It is now read-only.

Mac OS X port [$20] #92

Open
dodikk opened this issue Jul 8, 2013 · 37 comments
Open

Mac OS X port [$20] #92

dodikk opened this issue Jul 8, 2013 · 37 comments

Comments

@dodikk
Copy link

dodikk commented Jul 8, 2013

  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.

@esamek
Copy link

esamek commented Jul 8, 2013

+1

3 similar comments
@kokarn
Copy link

kokarn commented Jul 8, 2013

+1

@datiecher
Copy link

+1

@klappy
Copy link

klappy commented Jul 8, 2013

+1

@inlanger
Copy link

inlanger commented Jul 8, 2013

+1 :)

@Igor-Khomich
Copy link

+1

1 similar comment
@reugene
Copy link

reugene commented Jul 8, 2013

+1

@jeremyharris
Copy link

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

@p-e-w
Copy link
Owner

p-e-w commented Jul 8, 2013

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

@simonmd
Copy link

simonmd commented Jul 8, 2013

+1

@tbergeron
Copy link

+1000

@Trevoke
Copy link

Trevoke commented Jul 9, 2013

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

@tyilo
Copy link

tyilo commented Jul 9, 2013

this ^

@orefalo
Copy link

orefalo commented Jul 9, 2013

+1

@Trevoke
Copy link

Trevoke commented Jul 9, 2013

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.

@p-e-w
Copy link
Owner

p-e-w commented Jul 10, 2013

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 :(

@keithlayne
Copy link

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.

@Trevoke
Copy link

Trevoke commented Jul 15, 2013

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
Copy link

Trevoke commented Jul 16, 2013

@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.

@keithlayne
Copy link

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 :)

@ctash
Copy link

ctash commented Oct 8, 2013

+1

1 similar comment
@aaronlifton3
Copy link

+1

@brennebeck
Copy link

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

@indolering
Copy link

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?

@p-e-w
Copy link
Owner

p-e-w commented Nov 10, 2013

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.

@indolering
Copy link

@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.

@Globegitter
Copy link

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?

@keithlayne
Copy link

@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.

@indolering
Copy link

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?

@Globegitter
Copy link

@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.

@keithlayne
Copy link

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.

@dodikk dodikk changed the title Mac OS X port Mac OS X port [$10] Jun 28, 2014
@p-e-w p-e-w removed the bounty label Jun 28, 2014
@Trevoke
Copy link

Trevoke commented Jun 28, 2014

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.

@petems
Copy link

petems commented Jul 2, 2014

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 👍

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! 😄

@petems
Copy link

petems commented Jul 7, 2014

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

@Trevoke
Copy link

Trevoke commented Jul 8, 2014

Nice, thanks for the dedication :)

@cstrahan
Copy link

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 #269.

@petems
Copy link

petems commented Jul 29, 2014

@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! 👍

@p-e-w p-e-w changed the title Mac OS X port [$10] Mac OS X port [$20] Sep 29, 2014
@p-e-w p-e-w added the Bounty label Sep 29, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests