Subject: Re: bug#52472: [PATCH] gnu: Add libtree

From: Mathieu Othacehe <[email-masked]>
Date: Sun, 19 Dec 2021 10:48:28 +0100

Hey Artyom,

>  ;;; Copyright © 2021 Solene Rapenne <[email-masked]>
> +;;; Copyright © 2021 Artyom V. Poptsov <[email-masked]>
> +

No need for an extra new-line here.

> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (substitute* "Makefile"
> +               (("\\$\\(DESTDIR\\)\\$\\(BINDIR\\)")
> +                (format #f "~a/bin/" (assoc-ref outputs "out")))
> +               (("\\$\\(DESTDIR\\)\\$\\(SHAREDIR\\)")
> +                (format #f "~a/share/" (assoc-ref outputs "out"))))))

You can now write:

--8<---------------cut here---------------start------------->8---
       ,#~(modify-phases %standard-phases
            (delete 'check)
            (delete 'configure)
            (add-before 'build 'patch
              (lambda* (#:key outputs #:allow-other-keys)
                (substitute* "Makefile"
                  (("\\$\\(DESTDIR\\)\\$\\(BINDIR\\)")
                   (string-append #$output "/bin/"))
                  (("\\$\\(DESTDIR\\)\\$\\(SHAREDIR\\)")
                   (string-append #$output "/share/")))))
--8<---------------cut here---------------end--------------->8---

> +         (replace 'build
> +           (lambda _
> +             (setenv "CC" "gcc")

That would break cross-compilation. You should use something like:

--8<---------------cut here---------------start------------->8---
(string-append "CC=" ,(cc-for-target)).
--8<---------------cut here---------------end--------------->8---

> +             (setenv "LDFLAGS" "-static")

Why are we building a static version of the program?

There's also this linter warning:

gnu/packages/linux.scm:8649:14: [email-masked]: synopsis should start with an upper-case letter or digit

Thanks,

Mathieu