On Fri, Jun 17, 2016 at 11:23:21AM +1000, Ben Woodcroft wrote: > + (build-system python-build-system) > + (arguments > + `(#:phases > + (modify-phases %standard-phases > + (add-after 'unpack 'set-paths
This phase deletes bundled libraries and then copies one of the libraries back in from another package (murmur-hash). Can khmer refer to murmur-hash without it being bundled at all? > + (lambda* (#:key inputs outputs #:allow-other-keys) > + ;; Delete bundled libraries. > + (delete-file-recursively "third-party/zlib") > + (delete-file-recursively "third-party/bzip2") > + ;; Replace bundled seqan. > + (let* ((seqan-all "third-party/seqan") > + (seqan-include (string-append > + seqan-all "/core/include/seqan"))) > + (delete-file-recursively seqan-all) > + (mkdir-p seqan-include) > + (rmdir seqan-include) Here it makes the directory seqan-include and then removes it. Should it be reversed? Would it be simpler to delete the directory and then use copy-recursively, which I don't think requires mkdir-p? > + (copy-file (string-append (assoc-ref inputs "seqan") > + "/include/seqan") > + seqan-include)) > + ;; Replace bundled MurmurHash. > + (let ((smhasher "third-party/smhasher/")) > + (delete-file-recursively smhasher) > + (mkdir smhasher) > + (for-each > + (lambda (file) > + (copy-file > + (string-append > + (assoc-ref inputs "murmur-hash") "/include/" file) > + (string-append smhasher file))) > + (list "MurmurHash3.cpp" "MurmurHash3.h")) > + (rename-file > + (string-append smhasher "MurmurHash3.cpp") > + (string-append smhasher "MurmurHash3.cc"))) > + (setenv "CC" "gcc") I think this variable setting should be in its own phase.