| 1 | | |
| | 1 | Compilation now fails with: |
| | 2 | {{{ |
| | 3 | /boot/home/git-1.5.5/connect.c: In function `ai_name': |
| | 4 | /boot/home/git-1.5.5/connect.c:164: `INET_ADDRSTRLEN' undeclared (first use in this function) |
| | 5 | /boot/home/git-1.5.5/connect.c:164: (Each undeclared identifier is reported only once |
| | 6 | /boot/home/git-1.5.5/connect.c:164: for each function it appears in.) |
| | 7 | make: *** [connect.o] Error 1 |
| | 8 | }}} |
| | 9 | This is not currently defined by Haiku. Haiku's tcpdump defines it in [http://dev.haiku-os.org/browser/haiku/trunk/src/bin/network/tcpdump/tcpdump-stdinc.h tcpdump-stdinc.h] to 16. Defining it in {{{git-compat-util.h}}} resolves this error. |
| | 10 | |
| | 11 | Next, compilation fails in {{{builtin-count-objects.c}}}:46 due to {{{st_blocks}}}: |
| | 12 | {{{ |
| | 13 | (*loose_size) += xsize_t(st.st_blocks); |
| | 14 | }}} |
| | 15 | For now, I've replaced it with: |
| | 16 | {{{ |
| | 17 | (*loose_size) += ceil(st.st_size / 512.0); |
| | 18 | }}} |
| | 19 | (In a [http://ussg.iu.edu/hypermail/linux/kernel/0310.1/1125.html Linux kernel ML post] I read the unit of {{{st_blocks}}} were 512 byte.) |
| | 20 | |
| | 21 | Next, for {{{git-fetch-pack}}} a hardlink is being created, which fails on Haiku. Changing the {{{$(BUILT_INS)}}} target to use {{{ln -s}}} resolves this. |
| | 22 | |
| | 23 | Next, {{{git-imap-send}}} fails to link due to an undefined reference to {{{getpass}}}. {{{getpass}}} is only defined in the BSD compatibility headers. Adding a prototype to {{{imap-send.c}}} resolves an assignment warning. Compiling with {{{make LDFLAGS=-lbsd}}} resolves the linker error. |
| | 24 | |
| | 25 | Next, build fails due to {{{/usr/bin/perl}}}. Use {{{make PERL_PATH=/boot/home/config/bin/perl}}} to continue. (Or configure with {{{--with-perl=/boot/home/config/bin/perl}}}.) |
| | 26 | |
| | 27 | To get git to prepare the templates, in {{{templates/Makefile}}} change {{{ls}}} to {{{ls -1}}}. |
| | 28 | |
| | 29 | To avoid warnings on {{{-R}}}, supply {{{NO_R_TO_GCC_LINKER=YesPlease}}} to {{{make}}}. |
| | 30 | |
| | 31 | In {{{Makefile}}} for the {{{install}}} target change another instance of {{{ln}}} to {{{ln -s}}}. |
| | 32 | |
| | 33 | [source:haikuports/trunk/dev-util/git/git-1.5.5.diff Patch] and [source:haikuports/trunk/dev-util/git/git-master.diff Patch against master] |
| | 34 | |
| | 35 | Checking out multiple {{{git://}}} and {{{http://}}} repositories works fine. {{{make check}}} fails due to lack of [wiki:sys-devel/sparse sparse]. |
| | 36 | |