Hi Efraim, Thanks for the review. On Mon, 2020-09-14 at 17:02 +0300, Efraim Flashner wrote: > It looks like everything in the modules directory is vendored. Can we > build it separately and link it in? I asked the author something similar a while back https://github.com/sadko4u/lsp-dsp-lib/issues/1#issuecomment-676517050 I think the build system just expects those modules to be there as sources - not sure if they even build anything to link to. BTW, this is my initial patch, before the author started to provide an all-inclusive tarball in the github releases page: ```scheme (define-public lsp-dsp-lib (package (name "lsp-dsp-lib") (version "0.5.6") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/sadko4u/lsp-dsp-lib") (commit (string-append "lsp-dsp-lib-" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1n5qp9bjsgg1ziy9mqnx034qlzbsp7yl473vk9aigzkyj883dfpj")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests #:make-flags (list "CC=gcc") #:phases (modify-phases %standard-phases (add-before 'build 'copy-modules (lambda* (#:key inputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "lsp-common-lib") "modules/lsp-common-lib") (copy-recursively (assoc-ref inputs "lsp-test-fw") "modules/lsp-test-fw") #t)) (replace 'configure (lambda _ (invoke "make" "config" (string-append "PREFIX=" (assoc- ref %outputs "out"))) #t))))) (inputs `(("lsp-common-lib" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/sadko4u/lsp-common-lib") (commit "lsp-common-lib-1.0.7"))) (file-name (git-file-name name version)) (sha256 (base32 "1alxv2ryivbj122gryxrrvyicw6zgbdk15wp010lrq6r1nj7mjxh")))) ("lsp-test-fw" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/sadko4u/lsp-test-fw") (commit "lsp-test-fw-1.0.5"))) (file-name (git-file-name name version)) (sha256 (base32 "0n4ircp9bgzwfaa6023bvfsb90qvl2iawbihnwivr5id1js5jq3p")))) )) (home-page "https://github.com/sadko4u/lsp-dsp-lib") (synopsis "Digital signal processing library") (description "The LSP DSP library provides a set of functions that perform SIMD-optimized computing on several hardware architectures. All functions currently operate on IEEE-754 single-precision floating-point numbers.") (license license:lgpl3+))) ``` > Also, I saw that there were a few > test directories. Are there tests to be built? Not sure - I don't see a check/test make target (see `make help`) > > + (arguments > > + `(#:tests? #f ; no tests > > + #:make-flags > > + (list "CC=gcc") > > This can be cc-for-target > (list (string-append "CC=" ,(cc-for-target))) ACK > > + (modify-phases %standard-phases > > + (replace 'configure > > + (lambda _ > > + (invoke "make" "config" (string-append "PREFIX=" > > (assoc-ref %outputs "out"))) > > + #t))))) > > We'd rather not use %outputs if possible, but to add it to the > lambda. > Also invoke already returns #t > > (lambda* (#:key outputs #:allow-other-keys) > (invoke "make" "config" > (string-append "PREFIX=" (assoc-ref outputs > "out")))))))) ACK Please find the updated patch attached. Thanks, Alex