Subject: [bug#50157] [PATCH] gnu: Add xpadneo.

From: Leo Prikler <[email-masked]>
Date: Sun, 22 Aug 2021 12:08:57 +0200

Am Sonntag, den 22.08.2021, 11:58 +0200 schrieb Maxime Devos:
> Leo Prikler schreef op zo 22-08-2021 om 00:00 [+0200]:
> > * gnu/packages/linux.scm (xpadneo): New variable.
> > ---
> >  gnu/packages/linux.scm | 52
> > ++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 52 insertions(+)
> > 
> > diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> > index 7b92be4b9c..385cdd558b 100644
> > --- a/gnu/packages/linux.scm
> > +++ b/gnu/packages/linux.scm
> > @@ -1505,6 +1505,58 @@ allows some more serious things like adding
> > streaming capabilities to an
> >  application by hooking GStreamer into the loopback device.")
> >      (license license:gpl2+)))
> >  
> > +(define-public xpadneo
> > +  (package
> > +    (name "xpadneo")
> > +    (version "0.9.1")
> > +    (source (origin
> > +              (method git-fetch)
> > +              (uri (git-reference
> > +                    (url "https://github.com/atar-axis/xpadneo")
> > +                    (commit (string-append "v" version))))
> > +              (file-name (git-file-name name version))
> > +              (sha256
> > +               (base32
> > +                "0xr0zx134s56h4ij6c3fh8ki0h58h61minbfxcl3sgpgxkh14
> > ism"))))
> > +    (build-system linux-module-build-system)
> > +    (arguments
> > +     `(#:tests? #f ; no `check' target
> > +       #:modules (((guix build copy-build-system) #:prefix copy:)
> > +                  (guix build linux-module-build-system)
> > +                  (guix build utils))
> > +       #:imported-modules
> > +       ((guix build copy-build-system)
> > +        ,@%linux-module-build-system-modules)
> > +       #:phases
> > +       (modify-phases %standard-phases
> > +         (replace 'configure
> > +           (lambda args
> > +             (with-directory-excursion "hid-xpadneo/src"
> > +               (apply (assoc-ref %standard-phases 'configure)
> > args))))
> > +         (replace 'build
> > +           (lambda args
> > +             (with-directory-excursion "hid-xpadneo/src"
> > +               (apply (assoc-ref %standard-phases 'build) args))))
> > +         (replace 'install
> > +           (lambda args
> > +             (with-directory-excursion "hid-xpadneo/src"
> > +               (apply (assoc-ref %standard-phases 'install)
> > args))))
> 
> It might be a bit simpler to add a 'chdir' phase:
> 
>     (add-after 'unpack 'chdir
>       (lambda _
>         (chdir "hid-xpadneo/src")))
> 
> instead of these 'with-directory-excursion'.
That may be true, but in that case there's no "clean" way of exiting. 
I could do (chdir "..") in post-install, but that feels weird.

WDYT?