Subject: Re: [bug#58681] [PATCH] gnu: Add synthpod

From: Christopher Baines <[email-masked]>
Date: Tue, 25 Oct 2022 10:25:30 +0100

Sughosha via Guix-patches via <[email-masked]> writes:

> * gnu/packages/music.scm (synthpod): New variable.
> ---
>  gnu/packages/music.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 45 insertions(+)

Hey, thanks for the patch.

> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                     (url "https://git.open-music-kontrollers.ch/lv2/synthpod")
> +                     ;; Version is not tagged but mentioned in VERSION file.
> +                     (commit "8273142cd702583cb3662fbe0e2fd5d4075ee703")))
> +              (sha256
> +                (base32
> +                 "120qsd090pwkc21g9a5mm0pjb0rqn1iy4rs5lx3fs0qf3wa7k6ri"))))

The linter should be telling you something about the source file not
containing the package name. I'd take a look at the file-name bit in
other package sources that also use git-fetch.

> +    (build-system meson-build-system)
> +    ;; Fontconfig error: No writable cache directories
> +    (arguments (list #:tests? #f))

The cache directory bit is a hint, as that's often within the users home
directory. The build environment uses a non-existent home directory, but
you can change that. Quite a few packages have (setenv "HOME" "/tmp")
for the tests. Adding that looks like:

    (arguments
     (list
      #:phases
      #~(modify-phases %standard-phases
          (add-before 'check 'fix-home-directory
            (lambda _
              ;; Tests fail with: Fontconfig error: No writable cache
              ;; directories
              (setenv "HOME" "/tmp"))))))

If you do that though, the tests still fail, seems like there's a
missing font?

starting phase `check'
ninja: Entering directory `/tmp/guix-build-synthpod-0.1.6505.drv-0/build'
ninja: no work to do.
1/9 d2tk / Test core            OK              0.09s
2/9 d2tk / Test base            OK              0.48s
3/9 d2tk / FiraSans-Bold.ttf    FAIL            0.02s   exit status 1
>>> MALLOC_PERTURB_=67 /tmp/guix-build-synthpod-0.1.6505.drv-0/source/subprojects/d2tk/check_for_font FiraSans-Bold.ttf

4/9 d2tk / FiraCode-Light.ttf   FAIL            0.03s   exit status 1
>>> MALLOC_PERTURB_=109 /tmp/guix-build-synthpod-0.1.6505.drv-0/source/subprojects/d2tk/check_for_font FiraCode-Light.tt

5/9 d2tk / FiraCode-Regular.ttf FAIL            0.03s   exit status 1
>>> MALLOC_PERTURB_=46 /tmp/guix-build-synthpod-0.1.6505.drv-0/source/subprojects/d2tk/check_for_font FiraCode-Regular.ttf

6/9 d2tk / FiraCode-Medium.ttf  FAIL            0.02s   exit status 1
>>> MALLOC_PERTURB_=41 /tmp/guix-build-synthpod-0.1.6505.drv-0/source/subprojects/d2tk/check_for_font FiraCode-Medium.ttf

7/9 d2tk / FiraCode-Bold.ttf    FAIL            0.02s   exit status 1
>>> MALLOC_PERTURB_=10 /tmp/guix-build-synthpod-0.1.6505.drv-0/source/subprojects/d2tk/check_for_font FiraCode-Bold.ttf

8/9 synthpod / LV2 validate     OK              0.07s
9/9 synthpod / LV2 validate     OK              0.07s

Summary of Failures:

3/9 d2tk / FiraSans-Bold.ttf    FAIL            0.02s   exit status 1
4/9 d2tk / FiraCode-Light.ttf   FAIL            0.03s   exit status 1
5/9 d2tk / FiraCode-Regular.ttf FAIL            0.03s   exit status 1
6/9 d2tk / FiraCode-Medium.ttf  FAIL            0.02s   exit status 1
7/9 d2tk / FiraCode-Bold.ttf    FAIL            0.02s   exit status 1

Ok:                 4   
Expected Fail:      0   
Fail:               5   
Unexpected Pass:    0   
Skipped:            0   
Timeout:            0