Hi Mark, thank you for the review! >> + `(;; There are three(!) tests for this massive library, and all fail with >> + ;; "unparsable timing stats". >> + ;; ERR [127] -- [util/regexp] test_pcre.sh (unparsable timing stats) >> + ;; ERR [127] -- [serial/datatool] datatool.sh (unparsable timing stats) >> + ;; ERR [127] -- [serial/datatool] datatool_xml.sh (unparsable timing stats) >> + #:tests? #f > > Just a guess, but maybe this is because you replaced "/bin/date" with > "echo -n 0". How about replacing it with "date -d @0" instead? I tried that but I still get the same problem. The test script is generated from a template in common/check/check_make_unix.sh. We are substituting "/var/tmp" for "/tmp" and the "(/usr)/bin" prefix, but this should not have an impact on the functionality of the generated script. I'm not sure why it's failing -- it works fine in "guix environment". It's very time-consuming to recompile the whole thing until the tests are reached. > It would be great to get the tests working, even if we have to disable > some of them. Otherwise we have no way of knowing that we're not > distributing broken garbage :) It's hard to know in this case even with the tests, because it's only three tests and they seem hardly representative of the library. >> + >> + ;; rewrite "/var/tmp" in check script >> + (substitute* "scripts/common/check/check_make_unix.sh" >> + (("/var/tmp") (string-append (getcwd) "/build/build"))) > > Or maybe just "/tmp" ? Yes, that also works. > All of these plus the ones for 'sh' could be combined into something > like this: (untested) [...] This works great! Thank you. >> + (("^ *PATH=.*") "") >> + (("action=/bin/") "action=") >> + (("export PATH") "echo -n 0")) > > Why "echo -n 0" here? Maybe ":" would be better? It is a no-op > built-in command in Bourne shell. Yes, this works. I needed to replace it with a no-op because "export PATH" is also found in the middle of a long chain of commands, so replacing it with the empty string results in a syntax error. > Is everything in here really in the public domain? I'd guess that in > order to make this true, you'd need to remove bzip2 and zlib in a > snippet, and even then I'd doubtful :) I've moved the code to remove the bundled stuff to a snippet. The NCBI code was released into the public domain. However, it appears that some third-party headers and some build scripts are under a different license: * Expat: * ncbi-blast-2.2.30+-src/c++/include/util/bitset/ * ncbi-blast-2.2.30+-src/c++/src/html/ncbi_menu*.js * Boost license: * ncbi-blast-2.2.30+-src/c++/include/util/impl/floating_point_comparison.hpp * LGPL 2+: * ncbi-blast-2.2.30+-src/c++/include/dbapi/driver/odbc/unix_odbc/ * ASL 2.0: * ncbi-blast-2.2.30+-src/c++/src/corelib/teamcity_* I could not find mention of any other licenses. Is this correct, then: ;; Most of the sources are in the public domain, with the following exceptions: ;; ...(the above list)... (license (list license:public-domain license:expat license:boost1.0 license:lgpl2.0+ license:asl2.0)) What do you think? ~~ Ricardo