hellow, i review this patch, and have some comment Daniel Ziltener via Guix-patches via writes: > --- > gnu/packages/debug.scm | 31 +++++++++++++++++++++++++++++++ Usually our message goes something like this: gnu: Add cppdap. * gnu/packages/debug.scm (cppdap): New variable. > 1 file changed, 31 insertions(+) > > diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm > index 6d4567acc4..7865dc32f4 100644 > --- a/gnu/packages/debug.scm > +++ b/gnu/packages/debug.scm > @@ -185,6 +185,37 @@ (define-public c-reduce > tools that process C/C++ code.") > (license license:ncsa))) > > +(define-public cppdap > + (package > + (name "cppdap") > + (version "1.58.0-a") > + (source > + (origin > + (method git-fetch) > + (uri > + (git-reference > + (url "https://github.com/google/cppdap") > + (commit (string-append "dap-" version)))) usually we add (file-name (git-file-name name version)), and it have a "third_party" directory, we need remove it. and see https://github.com/google/cppdap/pull/124 , it add a CPPDAP_USE_EXTERNAL_GTEST_PACKAGE option to use system gtest. so we can pick it. > + (sha256 > + (base32 > + "0fq2w35fw1lb5wya1nny45pk3a13b689k48calk1cmqmqpbcjn2b")))) > + (build-system cmake-build-system) > + (arguments > + (list > + #:configure-flags #~(list "-DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON") > + #:phases #~(modify-phases %standard-phases > + (delete 'check)))) if no test target, please use "#:tests? #f" and add commit about it. and it have CPPDAP_BUILD_TESTS, so we can enable it. > + (propagated-inputs > + (list nlohmann-json)) need add some commit about why propagate nlohmann-json. and need add (gnu packages cpp) module. > + (home-page "https://github.com/google/cppdap") > + (synopsis "C++ library for the Debug Adapter Protocol") > + (description > + "cppdap is a C++11 library (\"SDK\") implementation of the Debug Adapter Protocol, > +providing an API for implementing a DAP client or server. > +cppdap provides C++ type-safe structures for the full DAP specification, and provides > + a simple way to add custom protocol messages.") It's a little over the line count > + (license license:expat))) > + > (define-public c-vise > (package > (name "c-vise") The end result should be similar https://issues.guix.gnu.org/70397#1