romkatv / gitstatus

Git status for Bash and Zsh prompt
GNU General Public License v3.0
1.68k stars 106 forks source link

Any idea if it's possible to get it running on OSX 10.6/10.7? #351

Closed kjarex closed 2 years ago

kjarex commented 2 years ago

Currently it's not working on those two. Have you ever tried, but ran into any reasons why it couldn't work on those two? Like, I'm thinking about trying to get it working with those two, but maybe you know reasons why it's impossible to work (and that's why you didn't support them in the first place).

Thanks!

romkatv commented 2 years ago

Currently it's not working on those two.

Not working how? Are you getting compile errors?

I'm not aware of any reason why it wouldn't work.

kjarex commented 2 years ago

Thanks!

Yes, I had compile errors.

But I got it working on 10.7. Should anyone else run into this: check if you've got a LegacySupport folder in /opt/local/include/ (it's from MacPorts, but I don't know if it came with some port or with the MacPorts installation itself). Hopefully you've got it, because you will need it. Add #include <sys/fcntl.h> to gitstatus-build.tmp/libgit2/src/path.c and add -I/opt/local/include/LegacySupportto gitstatus-build.tmp/libgit2/build/src/CMakeFiles/git2internal.dir/build.make at the end of the line where path.c gets compiled. libgit2 should compile fine now. For gitstatus itself I had to change-std=c++14 to -std=c++17 or the compiler would otherwise complain in src/options.cc line 57 (this one actually really surprised me, as I would think this should affect builds on newer systems as well!? But as I had no clue how to solve

src/options.cc:57:47: error: expected ',' before ')' token
   static_assert(sizeof(long) <= sizeof(size_t));

and when I eventually tried clang instead of gcc, it literally told me 'static_assert' with no message is a C++17 extension and fair enough after swapping to c++17 both compilers were satisfied and happy.

With 10.6 however I gave eventually up. It seems there is more missing and at some point I wasn't sure anymore if compile errors weren't just introduced by changes I made in order to add missing things; so I'm actually not sure how much adjustment is needed for 10.6 (maybe just little and I simply messed up).

But as 10.7 works I'm already happy and satisfied.