Hi, On Tue, 15 Nov 2022 at 22:42, bbb ee 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 AuthorDate: Fri May 8 16:34:58 2020 +0200 Commit: Ludovic Courtès 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@4m @5 and @6 are not displayed but @7 is. --8<---------------cut here---------------start------------->8--- $ guix show gcc@6 guix show: error: gcc@6: package not found $ guix show gcc@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@6.2.1 isl@0.23 libelf@0.8.13 libstdc++-headers@10.3.0 mpc@1.2.1 mpfr@4.1.0 perl@5.34.0 texinfo@6.7 zlib@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@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