Subject: [bug#58809] [PATCH] gnu: Add samplebrain.

From: Maxim Cournoyer <[email-masked]>
Date: Tue, 21 Mar 2023 08:32:14 -0400

Hi Antero,

Antero Mejr <[email-masked]> writes:

> * gnu/packages/music.scm (samplebrain): New variable.
> ---
>  gnu/packages/music.scm | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>
> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index 72299f13f1..d1d56f149f 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -6899,6 +6899,37 @@ (define-public orca-music
>        (home-page "https://100r.co/site/orca.html")
>        (license license:expat))))
>
> +(define-public samplebrain
> +  (package
> +    (name "samplebrain")
> +    (version "0.18.4")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://gitlab.com/then-try-this/samplebrain")
> +                    (commit (string-append version "_release"))))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "14ynmnyg0mmrl7z7241yc5wxxsrjyqmzs1ds1kh8shkach8j05rx"))))
> +    (build-system qt-build-system)
> +    (arguments
> +     (list #:tests? #f ;no tests
> +           #:phases #~(modify-phases %standard-phases
> +                        (replace 'configure
> +                          (lambda _
> +                            (substitute* "samplebrain.pro"
> +                              (("\\/usr") #$output))
> +                            (invoke "qmake"))))))
> +    (inputs (list fftw liblo libsndfile portaudio))
> +    (home-page "https://thentrythis.org/projects/samplebrain/")
> +    (synopsis "Sample mashing synthesizer designed by Aphex Twin")
> +    (description "Samplebrain chops samples up into a 'brain' of interconnected
> +small sections called blocks which are connected into a network by similarity.
> +It processes a target sample, chopping it up into blocks in the same way, and
> +tries to match each block with one in its brain to play in realtime.")
> +    (license license:gpl2)))

Thanks!  The license, which is gpl2+ (version 2 or later), according to
the LICENSE file (and source copyright headers).

I was about to push this, but running the binary yields:

--8<---------------cut here---------------start------------->8---
$ /gnu/store/qi31sc2z7nbi4c3wpj7w218fgbjmfsns-samplebrain-0.18.4/bin/samplebrain
liblo server error 9904
Segmentation fault
--8<---------------cut here---------------end--------------->8---

Could you please look into that?

-- 
Thanks,
Maxim