Table of Contents
PortLog: dev-util/git
version 1.5.5 / git master
| R5 | untested |
| BONE | untested |
| Haiku | unstable |
Dependencies:
- dev-libs/expat (optional)
- dev-libs/openssl (optional)
- net-misc/curl (optional)
- dev-lang/tk? (optional)
- sys-devel/sparse (for testing)
work-in-progress (andreasf) - [Haiku]
Compilation now fails with:
/boot/home/git-1.5.5/connect.c: In function `ai_name': /boot/home/git-1.5.5/connect.c:164: `INET_ADDRSTRLEN' undeclared (first use in this function) /boot/home/git-1.5.5/connect.c:164: (Each undeclared identifier is reported only once /boot/home/git-1.5.5/connect.c:164: for each function it appears in.) make: *** [connect.o] Error 1
This is not currently defined by Haiku. Haiku's tcpdump defines it in tcpdump-stdinc.h to 16. Defining it in git-compat-util.h resolves this error.
Next, compilation fails in builtin-count-objects.c:46 due to st_blocks:
(*loose_size) += xsize_t(st.st_blocks);
For now, I've replaced it with:
(*loose_size) += ceil(st.st_size / 512.0);
(In a Linux kernel ML post I read the unit of st_blocks were 512 byte.)
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.
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.
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.)
To get git to prepare the templates, in templates/Makefile change ls to ls -1.
To avoid warnings on -R, supply NO_R_TO_GCC_LINKER=YesPlease to make.
In Makefile for the install target change another instance of ln to ln -s.
Patch and Patch against master
Checking out multiple git:// and http:// repositories works fine. make check fails due to lack of sparse.