diff mbox series

[bug#53431,1/3] gnu: i2c-tools: Update to 4.3.

Message ID 20220121232306.12976-1-brice@waegenei.re
State Accepted
Headers show
Series gnu: ddcutil: Update to 1.2.1. | expand

Commit Message

Brice Waegeneire Jan. 21, 2022, 11:23 p.m. UTC
* gnu/packages/linux.scm (i2c-tools): Update to 4.3.
  [arguments]: Up case "prefix" make-flag and add "LDFLAGS".
  (i2c-tools-3): New variable.
* gnu/packages/admin.scm (novena-eeprom)[inputs]: Replace "i2c-tools" by
  "i2c-tools-3".
---
 gnu/packages/admin.scm |  2 +-
 gnu/packages/linux.scm | 33 +++++++++++++++++++++++++++------
 2 files changed, 28 insertions(+), 7 deletions(-)

Comments

Maxim Cournoyer Jan. 22, 2022, 3:38 a.m. UTC | #1
Hello Brice!

Brice Waegeneire <brice@waegenei.re> writes:

> * gnu/packages/linux.scm (i2c-tools): Update to 4.3.
>   [arguments]: Up case "prefix" make-flag and add "LDFLAGS".
                        ^ the         ^ make flag

[...]

> @@ -4430,21 +4430,22 @@ (define-public iucode-tool
>  (define-public i2c-tools
>    (package
>      (name "i2c-tools")
> -    (version "3.1.1")
> +    (version "4.3")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append
>                      "http://jdelvare.nerim.net/mirror/i2c-tools/i2c-tools-"
> -                    version ".tar.bz2"))
> +                    version ".tar.xz"))
>                (sha256
>                 (base32
> -                "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l"))))
> +                "1y0fphjd5ah2j886x8i175r7viq0hmx666hyca0wi4dzrm290qxk"))))
>      (build-system gnu-build-system)
>      (arguments
>       `(#:tests? #f                      ; no 'check' target
>         #:make-flags
> -       ,#~(list (string-append "prefix=" #$output)
> -                (string-append "CC=" #$(cc-for-target)))
> +       ,#~(list (string-append "PREFIX=" #$output)
> +                (string-append "CC=" #$(cc-for-target))
> +                (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))

Why is this ld directive needed?  They don't use it in Nix, for
instance.  A comment would be helpful.

>         ;; No configure script.
>         #:phases (modify-phases %standard-phases (delete 'configure))))
>      (inputs
> @@ -4458,6 +4459,26 @@ (define-public i2c-tools
>  SMBus access.")
>      (license license:gpl2+)))

Looking at the Nix package definition, they do some other things that we
don't have, which we perhaps should:

--8<---------------cut here---------------start------------->8---
  postPatch = ''
    substituteInPlace eeprom/decode-edid \
      --replace "/usr/sbin/parse-edid" "${read-edid}/bin/parse-edid"

    substituteInPlace stub/i2c-stub-from-dump \
      --replace "/sbin/" ""
;--8<---------------cut here---------------end--------------->8---

They patch a reference to parse-edid and strip the '/sbin/' prefix from
some other place.

> +;; Needed for novena-eeprom
                              ^. (ending period)
> +(define-public i2c-tools-3
> +  (package
> +    (inherit i2c-tools)
> +    (version "3.1.1")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "http://jdelvare.nerim.net/mirror/i2c-tools/i2c-tools-"
> +                    version ".tar.bz2"))
> +              (sha256
> +               (base32
> +                "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l"))))
> +    (arguments
> +     `(#:make-flags
> +       ,#~(list (string-append "prefix=" #$output)
> +                (string-append "CC=" #$(cc-for-target)))
> +       ,@(strip-keyword-arguments '(#:make-flags)
> +                                  (package-arguments i2c-tools))))))
> +
>  (define-public xsensors
>    (package
>      (name "xsensors")

The rest LGTM!

Thanks,

Maxim
Ludovic Courtès March 6, 2022, 9:42 p.m. UTC | #2
Hi Brice,

Did you have a chance to look into this for a v2?

  https://issues.guix.gnu.org/53431

Ludo’.

Maxim Cournoyer <maxim.cournoyer@gmail.com> skribis:

> Hello Brice!
>
> Brice Waegeneire <brice@waegenei.re> writes:
>
>> * gnu/packages/linux.scm (i2c-tools): Update to 4.3.
>>   [arguments]: Up case "prefix" make-flag and add "LDFLAGS".
>                         ^ the         ^ make flag
>
> [...]
>
>> @@ -4430,21 +4430,22 @@ (define-public iucode-tool
>>  (define-public i2c-tools
>>    (package
>>      (name "i2c-tools")
>> -    (version "3.1.1")
>> +    (version "4.3")
>>      (source (origin
>>                (method url-fetch)
>>                (uri (string-append
>>                      "http://jdelvare.nerim.net/mirror/i2c-tools/i2c-tools-"
>> -                    version ".tar.bz2"))
>> +                    version ".tar.xz"))
>>                (sha256
>>                 (base32
>> -                "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l"))))
>> +                "1y0fphjd5ah2j886x8i175r7viq0hmx666hyca0wi4dzrm290qxk"))))
>>      (build-system gnu-build-system)
>>      (arguments
>>       `(#:tests? #f                      ; no 'check' target
>>         #:make-flags
>> -       ,#~(list (string-append "prefix=" #$output)
>> -                (string-append "CC=" #$(cc-for-target)))
>> +       ,#~(list (string-append "PREFIX=" #$output)
>> +                (string-append "CC=" #$(cc-for-target))
>> +                (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
>
> Why is this ld directive needed?  They don't use it in Nix, for
> instance.  A comment would be helpful.
>
>>         ;; No configure script.
>>         #:phases (modify-phases %standard-phases (delete 'configure))))
>>      (inputs
>> @@ -4458,6 +4459,26 @@ (define-public i2c-tools
>>  SMBus access.")
>>      (license license:gpl2+)))
>
> Looking at the Nix package definition, they do some other things that we
> don't have, which we perhaps should:
>
> --8<---------------cut here---------------start------------->8---
>   postPatch = ''
>     substituteInPlace eeprom/decode-edid \
>       --replace "/usr/sbin/parse-edid" "${read-edid}/bin/parse-edid"
>
>     substituteInPlace stub/i2c-stub-from-dump \
>       --replace "/sbin/" ""
> ;--8<---------------cut here---------------end--------------->8---
>
> They patch a reference to parse-edid and strip the '/sbin/' prefix from
> some other place.
>
>> +;; Needed for novena-eeprom
>                               ^. (ending period)
>> +(define-public i2c-tools-3
>> +  (package
>> +    (inherit i2c-tools)
>> +    (version "3.1.1")
>> +    (source (origin
>> +              (method url-fetch)
>> +              (uri (string-append
>> +                    "http://jdelvare.nerim.net/mirror/i2c-tools/i2c-tools-"
>> +                    version ".tar.bz2"))
>> +              (sha256
>> +               (base32
>> +                "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l"))))
>> +    (arguments
>> +     `(#:make-flags
>> +       ,#~(list (string-append "prefix=" #$output)
>> +                (string-append "CC=" #$(cc-for-target)))
>> +       ,@(strip-keyword-arguments '(#:make-flags)
>> +                                  (package-arguments i2c-tools))))))
>> +
>>  (define-public xsensors
>>    (package
>>      (name "xsensors")
>
> The rest LGTM!
>
> Thanks,
>
> Maxim
Maxim Cournoyer Sept. 28, 2022, 7:26 p.m. UTC | #3
Ludovic Courtès <ludo@gnu.org> writes:

> Hi Brice,
>
> Did you have a chance to look into this for a v2?
>
>   https://issues.guix.gnu.org/53431

I see all components here are now at version past what was sent here,
thus I'm closing this ticket.

Thanks,

Maxim
diff mbox series

Patch

diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index ed66e358ea..88e514b0c6 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -4753,7 +4753,7 @@  (define-public novena-eeprom
                (install-file "novena-eeprom" out-bin)
                (install-file "novena-eeprom.8" out-share-man)))))))
     (inputs
-     (list i2c-tools))
+     (list i2c-tools-3))
     (synopsis "Novena EEPROM editor")
     (description "This package provides an editor for the Novena EEPROM.
 Novena boards contain a device-dependent descriptive EEPROM that defines
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c044f2543d..e08eac1668 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -35,7 +35,7 @@ 
 ;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
 ;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2019 Stefan Stefanović <stefanx2ovic@gmail.com>
-;;; Copyright © 2019, 2020, 2021 Brice Waegeneire <brice@waegenei.re>
+;;; Copyright © 2019-2022 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
@@ -4430,21 +4430,22 @@  (define-public iucode-tool
 (define-public i2c-tools
   (package
     (name "i2c-tools")
-    (version "3.1.1")
+    (version "4.3")
     (source (origin
               (method url-fetch)
               (uri (string-append
                     "http://jdelvare.nerim.net/mirror/i2c-tools/i2c-tools-"
-                    version ".tar.bz2"))
+                    version ".tar.xz"))
               (sha256
                (base32
-                "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l"))))
+                "1y0fphjd5ah2j886x8i175r7viq0hmx666hyca0wi4dzrm290qxk"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; no 'check' target
        #:make-flags
-       ,#~(list (string-append "prefix=" #$output)
-                (string-append "CC=" #$(cc-for-target)))
+       ,#~(list (string-append "PREFIX=" #$output)
+                (string-append "CC=" #$(cc-for-target))
+                (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
        ;; No configure script.
        #:phases (modify-phases %standard-phases (delete 'configure))))
     (inputs
@@ -4458,6 +4459,26 @@  (define-public i2c-tools
 SMBus access.")
     (license license:gpl2+)))
 
+;; Needed for novena-eeprom
+(define-public i2c-tools-3
+  (package
+    (inherit i2c-tools)
+    (version "3.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://jdelvare.nerim.net/mirror/i2c-tools/i2c-tools-"
+                    version ".tar.bz2"))
+              (sha256
+               (base32
+                "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l"))))
+    (arguments
+     `(#:make-flags
+       ,#~(list (string-append "prefix=" #$output)
+                (string-append "CC=" #$(cc-for-target)))
+       ,@(strip-keyword-arguments '(#:make-flags)
+                                  (package-arguments i2c-tools))))))
+
 (define-public xsensors
   (package
     (name "xsensors")