Package: guix;
Message #28 received at 59278 <at> debbugs.gnu.org (full text, mbox):
From: zimoun <zimon.toutoune <at> gmail.com> To: bbb ee <blasforr <at> gmail.com> Cc: 59278 <at> debbugs.gnu.org Subject: Re: bug#59278: how gcc-toolchain can depends a package who doesn't exists? Date: Wed, 16 Nov 2022 09:53:26 +0100
Hi, On Tue, 15 Nov 2022 at 22:42, bbb ee <blasforr <at> gmail.com> wrote: > It is just a little confusing for newcomers to guix. If we really want to > improve something, I think that could be to give a more rigorous > specification of the guix command: I agree that the manual does not speak about the concept of ’hidden-package’, if I read correctly. A note would be welcome, IMHO. However, the commit you are referring is from 2020: c81457a5883ea43950eb2ecdcbb58a5b144bcd11 Author: Ludovic Courtès <ludo <at> gnu.org> AuthorDate: Fri May 8 16:34:58 2020 +0200 Commit: Ludovic Courtès <ludo <at> gnu.org> CommitDate: Fri May 8 16:34:58 2020 +0200 gnu: gcc-toolchain: Add 10.1.0. * gnu/packages/commencement.scm (gcc-toolchain-10): New variable. 1 file changed, 3 insertions(+) gnu/packages/commencement.scm | 3 +++ and many things have been improved since. ;-) For instance, using 00ff6f7 (from ~Oct 2022), it reads, --8<---------------cut here---------------start------------->8--- $ guix search gcc | recsel -p name,version | head -30 name: gcc version: 12.2.0 name: gcc version: 11.3.0 name: gcc version: 10.3.0 name: gcc version: 9.5.0 name: gcc version: 8.5.0 name: gcc version: 7.5.0 name: gcc version: 2.95.3 name: gcc-toolchain version: 12.2.0 name: gcc-toolchain version: 11.3.0 name: gcc-toolchain version: 10.3.0 --8<---------------cut here---------------end--------------->8--- Wait, contrary to what I said, the packages are not hidden when they should be! For example, gcc <at> 4m @5 and @6 are not displayed but @7 is. --8<---------------cut here---------------start------------->8--- $ guix show gcc <at> 6 guix show: error: gcc <at> 6: package not found $ guix show gcc <at> 7 name: gcc version: 7.5.0 outputs: + lib: shared libraries + debug: debug information + out: everything else systems: x86_64-linux i686-linux dependencies: gmp <at> 6.2.1 isl <at> 0.23 libelf <at> 0.8.13 libstdc++-headers <at> 10.3.0 mpc <at> 1.2.1 mpfr <at> 4.1.0 perl <at> 5.34.0 texinfo <at> 6.7 zlib <at> 1.2.11 location: gnu/packages/gcc.scm:601:2 homepage: https://gcc.gnu.org/ license: GPL 3+ synopsis: GNU Compiler Collection description: GCC is the GNU Compiler Collection. It provides compiler front-ends for several languages, including C, C++, Objective-C, Fortran, Ada, and + Go. It also includes runtime support libraries for these languages. --8<---------------cut here---------------end--------------->8--- It is because the ’properties’ field of gcc <at> 7 is rewritten, --8<---------------cut here---------------start------------->8--- (define-public gcc-7 (package (inherit gcc-6) (version "7.5.0") [...] (properties `((compiler-cpu-architectures ("aarch64" ,@%gcc-7.5-aarch64-micro-architectures) ("armhf" ,@%gcc-7.5-armhf-micro-architectures) ("x86_64" ,@%gcc-7.5-x86_64-micro-architectures)))))) --8<---------------cut here---------------end--------------->8--- and thus, it looses ’hidden’, as shown here: --8<---------------cut here---------------start------------->8--- $ guix repl GNU Guile 3.0.8 Copyright (C) 1995-2021 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guix-user)> ,use(gnu packages gcc) scheme@(guix-user)> (package-properties gcc-6) $1 = ((hidden? . #t) (gcc-libc . #f)) scheme@(guix-user)> (package-properties gcc-7) $2 = ((compiler-cpu-architectures ("aarch64" "armv8-a" "armv8.1-a" "armv8.2-a" "armv8.3-a") ("armhf" "armv7" "armv7-a" "armv7-m" "armv7-r" "armv7e-m" "armv7ve" "armv8-a" "armv8-a+crc" "armv8.1-a" "armv8.1-a+crc" "armv8-m.base" "armv8-m.main" "armv8-m.main+dsp" "iwmmxt" "iwmmxt2") ("x86_64" "core2" "nehalem" "westmere" "sandybridge" "ivybridge" "haswell" "broadwell" "skylake" "bonnell" "silvermont" "knl" "skylake-avx512" "k8" "k8-sse3" "barcelona" "bdver1" "bdver2" "bdver3" "bdver4" "znver1" "btver1" "btver2" "geode"))) scheme@(guix-user)> --8<---------------cut here---------------end--------------->8--- Thanks, there is indeed a bug. ;-) Back to the initial report, what could be improved is the display of the field ’dependencies’; distinguishing regular packages to hidden ones. And maybe instead of a plain error “package not found”, the command “guix show” could error which “non installable package” or something like that. Cheers, simon
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.