Attached ebuild is for monotone, a distributed version control system. Suggest dev-util category to match cvs and friends.
Created attachment 47328 [details] monotone-0.15.ebuild
Created attachment 47329 [details] monotone-0.15.ebuild sorry, first one was broken
There's new 0.16 version which fixes some serius bugs in 0.15. The ebuild that exists in portage now, should append compiler flags also with '-fno-strict-aliasing' flag, because of buggy integration with cryptopp subroutines instead.
Important detalis about upgrading from 0.15 here: http://venge.net/monotone/README.rebuild
>Suggest dev-util category to match cvs and friends. dev-util/monotone exists already...
I'm testing an upgrade now to 0.16. How important is it to include a <=0.14 version?
0.16 added. Thanks peoples. Still interested in 0.14 importance and if you have a fix for the commented out use=doc section I'd appreciate it.
0.14 is totally incompadibile and obsolete now.
I suggest use 'strip-flags' before all flag operations in ebuild, because of many options that may cause troubles (aggresive optimalization) when cryptopp is used (due to optimized assembly code inside this library). I have just discovered one in my simple config "-march=athlon-xp -O2 -fomit-frame-pointer -fweb -frename-registers" (it is everything from O3 but the unroll-loops, and it produces buggy build).
Added strip-flags. Thanks for suggesting not including 0.14. One less bug ;-) Have a good day.
Thanx for fast updating :). It seems taht after all that modifications, selftest works properly, so you may replace einfo in src_test() by 'make check'. One test fails for me but it may be related to monotone development process, and it's nothing critical.
Which test failed? Just making sure I get the same one. what version of boost are you using? I got the following with dev-libs/boost-1.31.0 in the src_test. I'm trying the newer version of boost now. from xdelta.cc:705: /usr/include/boost/random/lagged_fibonacci.hpp: In member function `void boost::random::lagged_fibonacci_01<RealType, w, p, q>::init_modulus()': /usr/include/boost/random/lagged_fibonacci.hpp:276: error: `std::pow' has not been declared /usr/include/boost/random/lagged_fibonacci.hpp: In member function `void boost::random::lagged_fibonacci_01<RealType, w, p, q>::seed(It&, It)': /usr/include/boost/random/lagged_fibonacci.hpp:309: error: `std::fmod' has not been declared /usr/include/boost/random/lagged_fibonacci.hpp:310: error: `std::pow' has not been declared /usr/include/boost/random/lagged_fibonacci.hpp: In function `std::basic_ostream<_CharT2, _Traits2>& boost::random::operator<<(std::basic_ostream<_CharT2, _Traits2>&, const boost::random::lagged_fibonacci_01<RealType, w, p, q>&)': /usr/include/boost/random/lagged_fibonacci.hpp:357: error: `std::pow' has not been declared In file included from /usr/include/boost/random/ranlux.hpp:25, from /usr/include/boost/random.hpp:47, from xdelta.cc:705: /usr/include/boost/random/subtract_with_carry.hpp: In member function `void boost::random::subtract_with_carry_01<RealType, w, s, r, val>::init_modulus()': /usr/include/boost/random/subtract_with_carry.hpp:268: error: `std::pow' has not been declared /usr/include/boost/random/subtract_with_carry.hpp: In member function `void boost::random::subtract_with_carry_01<RealType, w, s, r, val>::seed(uint32_t)': /usr/include/boost/random/subtract_with_carry.hpp:280: error: `std::fmod' has not been declared /usr/include/boost/random/subtract_with_carry.hpp: In member function `void boost::random::subtract_with_carry_01<RealType, w, s, r, val>::seed(It&, It)': /usr/include/boost/random/subtract_with_carry.hpp:295: error: `std::fmod' has not been declared /usr/include/boost/random/subtract_with_carry.hpp:296: error: `std::pow' has not been declared /usr/include/boost/random/subtract_with_carry.hpp: In function `std::basic_ostream<_CharT2, _Traits2>& boost::random::operator<<(std::basic_ostream<_CharT2, _Traits2>&, const boost::random::subtract_with_carry_01<RealType, w, s, r, val>&)': /usr/include/boost/random/subtract_with_carry.hpp:351: error: `std::pow' has not been declared distcc[16104] ERROR: compile xdelta.cc on 10.10.10.10 failed make[3]: *** [unit_tests-xdelta.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/monotone-0.16/work/monotone-0.16' make[2]: *** [check-am] Error 2 make[2]: Leaving directory `/var/tmp/portage/monotone-0.16/work/monotone-0.16' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/monotone-0.16/work/monotone-0.16'
with the newer boost i got: ** No errors detected Running 26 test cases... PASS: unit_tests ## -------------------------------------------- ## ## monotone 0.16 test suite: integration tests. ## ## -------------------------------------------- ## 1: basic invocations and options ok 2: scanning trees ok 3: importing a file ok 4: generating and extracting keys and certs ok 5: calculation of unidiffs ok 6: persistence of passphrase ok 7: multiple version committing ok 8: creating a fork ok 9: creating a fork and updating ok 10: creating a fork and merging ok 11: merging adds ok 12: merging data in unrelated files ok 13: merging adds in unrelated revisions ok 14: merging data in unrelated revisions ok 15: calculation of incorrect unidiffs ok 16: delete work file on checkout ok 17: revert file to base version ok 18: addition of files and directories ok 19: add and then drop file does nothing ok 20: drop missing and unknown files ok 21: creating a bad criss-cross merge ok 22: renaming a file ok 23: renaming a directory ok 24: renaming and editing a file ok 25: importing CVS files ok 26: importing files with non-english names ok 27: external unit test of the line merger ok 28: exchanging work via netsync ok 29: single manifest netsync ok 30: netsync transfers public keys ok 31: repeatedly exchanging work via netsync ok 32: (normal) netsync on partially unrelated revisionsexpected failure (t_netsync_unrelated.at:41) 33: disapproving of a revision ok 34: creating a good and bad test result ok 35: importing a CVS file with one version ok 36: list missing files ok 37: attribute support ok 38: single character filename support ok 39: renaming a patched file ok 40: renaming a deleted file ok 41: merging a rename twice ok 42: updating from a merge which adds a file ok 43: changing passphrase of a private key ok 44: diffing a revision with an added file ok 45: updating to a given revision ok 46: 'heads' ok 47: (minor) 'heads' with discontinuous branches expected failure (t_heads_discontinuous_branch.at:44) 48: test a merge ok 49: test a merge 2 ok 50: tags and tagging of revisions ok 51: (minor) monotone add . expected failure (t_add_dot.at:17) 52: (minor) update cleans emptied directories expected failure (t_cleanup_empty_dir.at:25) 53: (imp) merging <add a> with <add a, drop a> expected failure (t_merge_add_del.at:81) 54: merging an add edge ok 55: merge(<>, <patch a, drop a, add a>) ok 56: merge(<>, <add a, drop a, add a>) ok 57: merge(<add a>, <add a, drop a, add a>) ok 58: merge(<>, <add a, patch a, drop a, add a>) ok 59: merge(<patch a>, <drop a, add a>) ok 60: explicit_merge ok 61: (normal) update with multiple candidates expected failure (t_ambig_update.at:45) 62: checkout validates target directory ok 63: (minor) checkout creates right MT/options expected failure (t_checkout_options.at:38) 64: trust hooks and 'trusted' command ok 65: attr command ok 66: --rcfile requires extant file ok 67: persistent netsync server - revs & certs ok 68: persistent netsync server - keys ok 69: first extent normalization pass ok 70: (normal) deleting directories expected failure (t_delete_dir.at:11) 71: (imp) schema migration expected failure (t_migrate_schema.at:18) 72: (imp) database dump/load expected failure (t_dump_load.at:12) 73: no-change deltas disappear ok 74: merge(<>, <drop a, rename b a, patch a>) ok 75: (minor) verification of command line options ok 76: log hides deleted/renamed files ok 77: CRLF line normalization ok ## ------------- ## ## Test results. ## ## ------------- ## All 77 tests behaved as expected. PASS: ./testsuite ================== All 2 tests passed ================== make[3]: Leaving directory `/var/tmp/portage/monotone-0.16/work/monotone-0.16' make[2]: Leaving directory `/var/tmp/portage/monotone-0.16/work/monotone-0.16' make[1]: Leaving directory `/var/tmp/portage/monotone-0.16/work/monotone-0.16'
It seems that test 62 is passed when you compile as normal user, when you try to do it as root (as I did first) it fails. I told that on monotone-devel list, so they fix it I hope.
interesting - worked for me. Reintroduced checks and put a warning at the end that #62 may fail. Thanks for your support.