GNU bug report logs -
#31176
[PATCH] gnu: Add inxi.
Previous Next
Reported by: Oleg Pykhalov <go.wigust <at> gmail.com>
Date: Mon, 16 Apr 2018 10:24:01 UTC
Severity: normal
Tags: patch
Merged with 31178
Done: Oleg Pykhalov <go.wigust <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Hello Pierre,
Pierre Neidhardt <pe.neidhardt <at> googlemail.com> writes:
> Oleg Pykhalov <go.wigust <at> gmail.com> writes:
>
>>>> If I understand correctly, relying on native-inputs would mean that if the user
>>>> runs `guix gc`, then all of inxi "optional" dependencies would go.
>>>> Is this correct?
>>
>> All “references” should survive ‘guix gc’:
>> --8<---------------cut here---------------start------------->8---
>> guix gc --references $(env GUIX_PACKAGE_PATH= guix build --no-grafts inxi)
>> --8<---------------cut here---------------end--------------->8---
>
> OK, so if I understand correctly, only native-inputs get
> garbage-collected, right?
Not quite, missing inputs (*not only* ‘(native-inputs …)’) in the output
of mentioned ‘guix gc’ command get garbage-collected.
Also a good test for missing run-time dependencies is a ‘guix
environment --no-grafts --container --ad-hoc PACKAGE’ command.
[…]
> See comments on patch below:
>
>> From 49afb43e03b1de34741c0812cc45fe48c06c404b Mon Sep 17 00:00:00 2001
>> From: Pierre Neidhardt <ambrevar <at> gmail.com>
>> Date: Mon, 16 Apr 2018 18:08:30 +0530
>> Subject: [PATCH] gnu: Add inxi.
>>
>> * gnu/packages/admin.scm (inxi): New variable.
>> ---
>> gnu/packages/admin.scm | 115 +++++++++++++++++-
>> .../patches/inxi-minimal-fix-syntax.patch | 18 +++
>> 2 files changed, 132 insertions(+), 1 deletion(-)
>> create mode 100644 gnu/packages/patches/inxi-minimal-fix-syntax.patch
>>
>> diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
>> index 5e2cf2d7a..7081f7f08 100644
>> --- a/gnu/packages/admin.scm
>> +++ b/gnu/packages/admin.scm
[…]
>> + (wrap-program (string-append bin "/inxi")
>> + `("PATH" ":" =
>> + ("$PATH"
>> + ,@(map (lambda (input)
>> + (string-append (match input
>> + ((name . store) store))
>> + "/bin"))
>> + %build-inputs)))
>> + `("PERL5LIB" ":" =
>> + ,(delete
>> + ""
>> + (map (match-lambda
>> + (((? (cut string-prefix? "perl-" <>) name) . dir)
>> + (string-append dir "/lib/perl5/site_perl"))
>> + (_ ""))
>> + %build-inputs)))))
>
> I'm not too familiar with Perl, so can you explain why you need to tweak
> PERL5LIB?
> Is it the same as PATH but for perl-cpanel-json-xs, etc.?
I cannot say PERL5LIB is the same as PATH, because PATH is for
executables, but I could lie PERL5LIB is the same in ‘inxi’ case.
Because of ‘inxi’ is Perl program, it requires to find run-time
libraries with a help of PERL5LIB. As you could see ‘inxi --recommends’
will complain about missing Perl libraries without PERL5LIB.
> If so, why are the perl plugins propagated-inputs and not just inputs?
Good catch. Yes, we could have Perl packages in ‘propagated-inputs’.
[…]
>> + (description "Inxi is a system information script that can display
>> +various things about your hardware and software to users in an IRC chatroom or
>> +support forum. It runs with the /exec command in most IRC clients. ")
>
> Spurious trailing space.
Oh, thanks.
Hm, ‘guix lint’ was quite. Probably a possible place for improvements.
[…]
>> diff --git a/gnu/packages/patches/inxi-minimal-fix-syntax.patch
>> b/gnu/packages/patches/inxi-minimal-fix-syntax.patch
>> new file mode 100644
>> index 000000000..ca5cde328
>> --- /dev/null
>> +++ b/gnu/packages/patches/inxi-minimal-fix-syntax.patch
>> @@ -0,0 +1,18 @@
>> +Copyright © 2018 Oleg Pykhalov <go.wigust <at> gmail.com>
>> +
>> +This patch fixes “Quantifier follows nothing in regex” error.
>> +
>> +--- a/inxi 2018-04-30 20:51:47.665352075 +0300
>> ++++ b/inxi 2018-04-30 20:52:21.721804635 +0300
>> +@@ -4602,11 +4602,6 @@
>> + sub cleaner {
>> + my ($item) = @_;
>> + return $item if !$item;# handle cases where it was 0 or ''
>> +- $item =~
>> s/chipset|components|computing|computer|corporation|communications|electronics|electrical|electric|gmbh|group|incorporation|industrial|international|nee|revision|semiconductor|software|technologies|technology|ltd\.|<ltd>|\bltd\b|inc\.|<inc>|\binc\b|intl\.|co\.|<co>|corp\.|<corp>|\(tm\)|\(r\)|®|\(rev
>> ..\)|\'|\"|\sinc\s*$|\?//gi;
>> +- $item =~ s/,|\*/ /g;
>> +- $item =~ s/\s\s+/ /g;
>> +- $item =~ s/^\s+|\s+$//g;
>> +- return $item;
>> + }
>> +
>> + sub dmi_cleaner {
>
> I'm not sure I get the purpose of this patch. Unless we are talking
> about a different error, I had initially fixed it with
>
> (with-fluids ((%default-port-encoding #f))
>
> so that the "®" in the above regexp would not get garbled during the
> substitution.
I believe I tried this ‘with-fluids’ tip, but not succeeded.
Well another attempt seems to work. Thank you for noticed this.
> Does your patch does something else / more?
No, it doesn't.
Here is a new patch.
[0001-gnu-Add-inxi.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
Oleg.
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 7 years and 20 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.