jwiegley / gitlib

180 stars 56 forks source link

refresh to latest libgit2? #43

Open esjmb opened 9 years ago

esjmb commented 9 years ago

Hi, thanks for great software. i wonder could this repository be refreshed to the latest gitlib2? thanks.

jwiegley commented 9 years ago

You mean the latest libgit2? It's on the task list, but that's not a minor undertaking, there is no one funding gitlib development, and the current version is working for all my use cases. So it may be a while before this happens.

esjmb commented 9 years ago

:) yes,, libgit2.

no problem. I might have a bash myself if you don't mind and ping you for help if i hit walls. I'd like to gain access to blame support.

for starters, looks to me that the generation of about 8 Bindings/xx.hs generations fail with the current c2hsc, and thus need manual writing. The present hlibgit2 versions serve reasonably well as a base for some with minor mods, but some need writing from scratch. That about right? Any other big hurdles I'm not seeing?

jwiegley commented 9 years ago

That's about right. c2hsc can only do about 90% of the job, and the rest is manual based on your understanding of the header files. That's mainly why it hasn't happened yet.

esjmb commented 9 years ago

Hi John,

I've completed a refresh for the latest libgit2 on a local clone. It's compiling, building and with 'build test' results below. I wouldn't presume to issue a pull request etc. until I've tested locally in anger (appreciate that gen tests are necessarily minimal) but if you want the update or a link to a temporary fork, let me know, and i'll provide one - you may be in a better position to test more quickly against your other projects...

thanks, Stephen.

hlibgit2 [master] $ cabal test Preprocessing library hlibgit2-0.18.0.14... In-place registering hlibgit2-0.18.0.14... Preprocessing test suite 'smoke' for hlibgit2-0.18.0.14... Running 1 test suites... Test suite smoke: RUNNING... Test suite smoke: PASS Test suite logged to: dist/test/hlibgit2-0.18.0.14-smoke.log 1 of 1 test suites (1 of 1 test cases) passed.

joeyh commented 8 years ago

Distributions like Debian probably want to avoid an embedded code copy of libgit2 inside hlibgit2. So, getting it updated to a version that is available in Debian (such as 0.23) is quite likely a blocker for getting gitlib-libgit2 into Debian.

jwiegley commented 8 years ago

@esjmb Is your upgrade ready for inclusion?

jwiegley commented 8 years ago

Also, I'd like to avoid an embedded copy @joeyh, but this creates pain for everyone not using a system like Debian. It's easiest for Haskell users if Hackage provides everything you need.

jwiegley commented 8 years ago

However, maybe we should have an option to allow the use of an external libgit2.

joeyh commented 8 years ago

An option to use the system libgit2 would be a good balance. This approach is also taken by persistent-sqlite.

see shy jo

jwiegley commented 7 years ago

libgit2 is up to 0.25.1 now.