Subject: Re: [bug#37853] [PATCH] gnu: Add ddcci-driver-linux.

From: Danny Milosavljevic <[email-masked]>
Date: Tue, 22 Oct 2019 15:06:39 +0200

Hi,

On Tue, 22 Oct 2019 11:42:58 +0200
Mathieu Othacehe <[email-masked]> wrote:

> It is a bit sad that we have to replicate 'build and 'install phases
> because of those two subfolders. However, I can't see an easy way to
> overcome this. Anyone?

You could get the existing phase via (assoc-ref %standard-phases 'build) and call
it twice (and I would).

Also, you could create two packages and chdir in an extra phase before "build"
(I wouldn't do that).

The former:

(define-public ddcci-driver-linux
  (package
    (name "ddcci-driver-linux")
    (version "0.3.3")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux.git")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "0vkkja3ykjil783zjpwp0vz7jy2fp9ccazzi3afd4fjk8gldin7f"))))
    (build-system linux-module-build-system)
    (arguments
     `(#:tests? #f                               ; no tests
       #:phases
       (modify-phases %standard-phases
         (replace 'build
           (lambda args
             (for-each (lambda (module)
                         (with-directory-excursion module
                           (apply (assoc-ref %standard-phases 'build) args)))
                       '("ddcci" "ddcci-backlight"))
             #t))
         (replace 'install
           (lambda args
             (for-each (lambda (module)
                         (with-directory-excursion module
                           (apply (assoc-ref %standard-phases 'install) args)))
                       '("ddcci" "ddcci-backlight"))
             #t)))))
    (home-page "https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux")
    (synopsis "Linux kernel drivers for DDC/CI monitors")
    (description "Two Linux kernel drivers, ddcci and ddcci-backlight, that
allow the control of DDC/CI monitors through the sysfs interface. ddcci create
a character device for each DDC/CI monitors in @file{/dev/bus/ddcci/[I²C bus number]}.
ddcci-backlight allow the control of the backlight level or luminance property when supported
under @file{/sys/class/backlight/}.")
    (license license:gpl2+)))

@Brice:

Could you send an updated patch along those lines?