Hi, And thanks for your feedback, Liliana. Here's another attempt! > > +(define mimalloc-for-solvespace > Given that this is the upstream mimalloc, there's no reason to make > this private or only for solvespace. Note that you should separate > this into one patch per package. > > + (let ((commit "f2712f4a8f038a7fb4df2790f4c3b7e3ed9e219b") > > + (version "2.0.6")) > This is the release commit, no reason to use git-version etc. here Done! I wasn't sure where to place this public mimalloc. I asked on #guix but go no replies, so I kept it right there in engineering.scm. > > + (synopsis "Compact general purpose allocator with excellent > > performance") > Don't bloat the synopsis with marketing terms; "General purpose > allocator" should probably suffice. Ah, of course. Fixed. > > + (define-public solvespace > > + (let ((commit "70bde63cb32a7f049fa56cbdf924e2695fcb2916") > > + (version "3.1") > I haven't checked, but is this the release commit? If so, no need for > all this verbosity. Unfortunately, the verbosity is needed. I need to reference the commit hash before the configure phase below. > > + (libdxfrw-sources (origin > > + (method git-fetch) > > + (uri (git-reference (url > > + "https://github.com/solvespace/libdxfrw") > > + (commit > > + "0b7b7b709d9299565db603f878214656ef5e9ddf"))) > > + (sha256 (base32 > > + "0d2wjq81466m3hb5cffiy99vhx0irwwy47yfxp318k2q4cvd5z2a"))))) > This should be its own variable. Unlike with mimalloc, since it's just > an origin, you can use the same patch as solvespace. Done, but here I'm curious - why does this deserve it's own top-level variable? It shouldn't to be referenced by anything other than inside SolveSpace. Could I have used a nested define inside solvespace instead? > > + (package (name "solvespace") > > + (version (git-version version "1" commit)) > > + (source (origin > > + (method git-fetch) > > + (uri (git-reference > > + (url "https://github.com/solvespace/solvespace") > > + (commit commit))) > > + (file-name (git-file-name name version)) > > + (sha256 > > + (base32 > > + "1hbdln44k00a6vlklv2mq2c9zda3i9d5x0f7ks85w4v6zskhqnra")))) > > + (build-system cmake-build-system) > > + (native-inputs (list pkg-config gettext-minimal)) > > + (arguments > > + (list #:build-type "Release" > > + #:phases #~(modify-phases %standard-phases > `guix style' is not yet perfect when it comes to trade-offs between > horizontal and vertical space. Prefer > (list > #:build-type "Release" > #:phases > #~(modify-phases ... Indentation fixed (by Emacs this time, not guix style). K.