Closed patrickbkr closed 3 months ago
Raku considers 0.2
to be the same as 0.2.*
, and hence zef gives you the highest version raku matches against 0.2
(which in this case is 0.2.7
). It might make sense to change Raku behavior here (since one can explicitly opt-in to this behavior by adding .*
), but I think I've looked at doing so before and didn't find a satisfactory lowish effort solution. I think the original intention of that behavior was to automatically use patch level updates, as well as matching how use v6
would match use v6.a
, use v6.b
, use v6.c
, etc.
$ raku -e 'say Version.new("0.2").ACCEPTS(Version.new("0.2.7"))'
True
$ raku -e 'say Version.new("0.2.*").ACCEPTS(Version.new("0.2.7"))'
True
$ raku -e 'say Version.new("0.2.0").ACCEPTS(Version.new("0.2.7"))'
False
Even if a workaround were to be implemented in zef
we'd still be left with use Term::termios:ver<0.2>
loading Term::termios:ver<0.2.7>
if it was installed previously or in the future for some unrelated reason. So any fix would probably be more appropriate in rakudo itself.
Regarding Term::termios
not installing as a dependency - it looks like something about the staging workflow may have messed up passing the includes e.g. -I /path/to/termios-download
to the build process specifically for dependencies
Hmmm, maybe I'm wrong about something. When I run the command you provided it fetches 0.2
(so maybe I already implemented the aforementioned workaround in zef) and gets past staging. However, since it fetches 0.2
it seems like it does not need to fetch Distribution::Builder::MakeFromJSON
. Could you show your output with --debug
to give some more insight?
$ raku -I. bin/zef install 'Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>' --debug --/test --dry
===> Searching for: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Found: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb> [via Zef::Repository::Ecosystems<fez>]
===> Dependencies: Terminal::Capabilities, Terminal::LineEditor, Terminal::Print, Text::MiscUtils
===> Searching for missing dependencies: Terminal::Capabilities:ver<0.0.3+>:auth<zef:japhb>, Terminal::LineEditor:ver<0.0.16+>:auth<zef:japhb>, Terminal::Print:ver<0.976+>:auth<zef:terminal-printers>, Text::MiscUtils:ver<0.0.9+>:auth<zef:japhb>
===> Found dependencies: Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>, Terminal::Capabilities:ver<0.0.3>:auth<zef:japhb>, Terminal::Print:ver<0.976>:auth<zef:terminal-printers>, Text::MiscUtils:ver<0.0.9>:auth<zef:japhb> [via Zef::Repository::Ecosystems<fez>]
===> Dependencies: Term::termios, Terminal::ANSIParser, Terminal::Capabilities, Text::MiscUtils, OO::Monitors, Terminal::ANSIColor, File::Which
===> Searching for missing dependencies: Term::termios:ver<0.2>, Terminal::ANSIParser:ver<0.0.3+>:auth<zef:japhb>, OO::Monitors, Terminal::ANSIColor, File::Which
===> Found dependencies: OO::Monitors:ver<1.1.1>:auth<cpan:JNTHN>, Term::termios:ver<0.2>, File::Which:ver<1.0.4> [via Zef::Repository::Ecosystems<rea>]
===> Found dependencies: Terminal::ANSIColor:ver<0.10>:auth<zef:lizmat>, Terminal::ANSIParser:ver<0.0.3>:auth<zef:japhb> [via Zef::Repository::Ecosystems<fez>]
===> Dependencies: LibraryMake
===> Searching for missing dependencies: LibraryMake
===> Found dependencies: LibraryMake:ver<1.0.5>:auth<zef:jjmerelo> [via Zef::Repository::Ecosystems<fez>]
===> Dependencies: Shell::Command, File::Which
===> Searching for missing dependencies: Shell::Command
===> Found dependencies: Shell::Command:ver<1.1>:auth<zef:raku-community-modules> [via Zef::Repository::Ecosystems<fez>]
===> Dependencies: File::Which, File::Find
===> Searching for missing dependencies: File::Find
===> Found dependencies: File::Find:ver<0.2.1>:auth<zef:raku-community-modules> [via Zef::Repository::Ecosystems<fez>]
===> Fetching: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Fetching: Terminal::LineEditor:ver<0.0.16+>:auth<zef:japhb>
[Terminal::Widgets] Fetching https://360.zef.pm/T/ER/TERMINAL_WIDGETS/b136288725f8c260137cf4a4f1ed024b3c66a1b9.tar.gz with plugin: Zef::Service::Shell::curl
[Terminal::LineEditor] Fetching https://360.zef.pm/T/ER/TERMINAL_LINEEDITOR/fdc687120c011f0be74f83dc4b5d7c2ee5399c47.tar.gz with plugin: Zef::Service::Shell::curl
===> Fetching: Terminal::Capabilities:ver<0.0.3+>:auth<zef:japhb>
===> Fetching: Terminal::Print:ver<0.976+>:auth<zef:terminal-printers>
===> Fetching: Text::MiscUtils:ver<0.0.9+>:auth<zef:japhb>
[Terminal::Capabilities] Fetching https://360.zef.pm/T/ER/TERMINAL_CAPABILITIES/2333312db6364b1761f170c26ff81cf6d0f3f1ba.tar.gz with plugin: Zef::Service::Shell::curl
[Terminal::Print] Fetching https://360.zef.pm/T/ER/TERMINAL_PRINT/cc858faaa0c1955484175497ebd1ddaad57864bc.tar.gz with plugin: Zef::Service::Shell::curl
[Text::MiscUtils] Fetching https://360.zef.pm/T/EX/TEXT_MISCUTILS/b3f8e6eb0b42ae35e574c3275def6d0849cca0c7.tar.gz with plugin: Zef::Service::Shell::curl
===> Fetching [OK]: Terminal::Print:ver<0.976>:auth<zef:terminal-printers> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744455.25318.6341.37074785106/cc858faaa0c1955484175497ebd1ddaad57864bc.tar.gz
===> Fetching [OK]: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744454.25318.9374.078720072508/b136288725f8c260137cf4a4f1ed024b3c66a1b9.tar.gz
===> Fetching: OO::Monitors
[OO::Monitors] Fetching https://raw.githubusercontent.com/raku/REA/main/archive/O/OO%3A%3AMonitors/OO%3A%3AMonitors%3Aver%3C1.1.1%3E%3Aauth%3Ccpan%3AJNTHN%3E.tar.gz with plugin: Zef::Service::Shell::curl
===> Fetching [OK]: OO::Monitors:ver<1.1.1>:auth<cpan:JNTHN> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744455.25318.788.8463911412791/OO%3A%3AMonitors%3Aver%3C1.1.1%3E%3Aauth%3Ccpan%3AJNTHN%3E.tar.gz
===> Fetching [OK]: Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744454.25318.4551.501368839011/fdc687120c011f0be74f83dc4b5d7c2ee5399c47.tar.gz
===> Fetching: Term::termios:ver<0.2>
===> Fetching [OK]: Text::MiscUtils:ver<0.0.9>:auth<zef:japhb> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744455.25318.1926.1100727551616/b3f8e6eb0b42ae35e574c3275def6d0849cca0c7.tar.gz
[Term::termios] Fetching https://raw.githubusercontent.com/raku/REA/main/archive/T/Term%3A%3Atermios/Term%3A%3Atermios%3Aver%3C0.2%3E%3Aauth%3Cgithub%3Akrunen%3E.tar.gz with plugin: Zef::Service::Shell::curl
===> Fetching [OK]: Terminal::Capabilities:ver<0.0.3>:auth<zef:japhb> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744455.25318.7272.017414678204/2333312db6364b1761f170c26ff81cf6d0f3f1ba.tar.gz
===> Fetching: Terminal::ANSIColor
===> Fetching: Terminal::ANSIParser:ver<0.0.3+>:auth<zef:japhb>
===> Fetching: File::Which
[Terminal::ANSIParser] Fetching https://360.zef.pm/T/ER/TERMINAL_ANSIPARSER/929dd7df0eaedfd61975eba6b58bf37c3ccfd2f9.tar.gz with plugin: Zef::Service::Shell::curl
[Terminal::ANSIColor] Fetching https://360.zef.pm/T/ER/TERMINAL_ANSICOLOR/687697f93d36df28d99841af8121e28f032f87eb.tar.gz with plugin: Zef::Service::Shell::curl
[File::Which] Fetching https://raw.githubusercontent.com/raku/REA/main/archive/F/File%3A%3AWhich/File%3A%3AWhich%3Aver%3C1.0.4%3E%3Aauth%3Cgithub%3Aazawawi%3E.tar.gz with plugin: Zef::Service::Shell::curl
===> Fetching: LibraryMake
[LibraryMake] Fetching https://360.zef.pm/L/IB/LIBRARYMAKE/93cd3f600c57c8dab2f898a0d000d6e20ec307f0.tar.gz with plugin: Zef::Service::Shell::curl
===> Fetching [OK]: Term::termios:ver<0.2> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744456.25318.9583.550958756992/Term%3A%3Atermios%3Aver%3C0.2%3E%3Aauth%3Cgithub%3Akrunen%3E.tar.gz
===> Fetching: Shell::Command
[Shell::Command] Fetching https://360.zef.pm/S/HE/SHELL_COMMAND/a757802b1e828eadb469c53c18451fdb3dc1a54e.tar.gz with plugin: Zef::Service::Shell::curl
===> Fetching [OK]: File::Which:ver<1.0.4> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744456.25318.482.32919570512234/File%3A%3AWhich%3Aver%3C1.0.4%3E%3Aauth%3Cgithub%3Aazawawi%3E.tar.gz
===> Fetching [OK]: Terminal::ANSIParser:ver<0.0.3>:auth<zef:japhb> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744456.25318.1522.7700374366516/929dd7df0eaedfd61975eba6b58bf37c3ccfd2f9.tar.gz
===> Fetching [OK]: Terminal::ANSIColor:ver<0.10>:auth<zef:lizmat> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744456.25318.6934.495028259094/687697f93d36df28d99841af8121e28f032f87eb.tar.gz
===> Fetching: File::Find
[File::Find] Fetching https://360.zef.pm/F/IL/FILE_FIND/708ed0de18e401c9e9660e88b733129dd5e3607b.tar.gz with plugin: Zef::Service::Shell::curl
===> Fetching [OK]: LibraryMake:ver<1.0.5>:auth<zef:jjmerelo> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744456.25318.6843.836500285223/93cd3f600c57c8dab2f898a0d000d6e20ec307f0.tar.gz
===> Fetching [OK]: Shell::Command:ver<1.1>:auth<zef:raku-community-modules> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744456.25318.7989.228641719957/a757802b1e828eadb469c53c18451fdb3dc1a54e.tar.gz
===> Fetching [OK]: File::Find:ver<0.2.1>:auth<zef:raku-community-modules> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/1711744456.25318.555.0481923519601/708ed0de18e401c9e9660e88b733129dd5e3607b.tar.gz
===> Extracting: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
[Terminal::Widgets] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/b136288725f8c260137cf4a4f1ed024b3c66a1b9.tar.gz
===> Extracting: Terminal::LineEditor:ver<0.0.16+>:auth<zef:japhb>
[Terminal::LineEditor] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Terminal::LineEditor:ver<0.0.16+>:auth<zef:japhb> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/fdc687120c011f0be74f83dc4b5d7c2ee5399c47.tar.gz
===> Extracting: Terminal::Capabilities:ver<0.0.3+>:auth<zef:japhb>
[Terminal::Capabilities] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Terminal::Capabilities:ver<0.0.3+>:auth<zef:japhb> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/2333312db6364b1761f170c26ff81cf6d0f3f1ba.tar.gz
===> Extracting: Terminal::Print:ver<0.976+>:auth<zef:terminal-printers>
[Terminal::Print] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Terminal::Print:ver<0.976+>:auth<zef:terminal-printers> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/cc858faaa0c1955484175497ebd1ddaad57864bc.tar.gz
===> Extracting: Text::MiscUtils:ver<0.0.9+>:auth<zef:japhb>
[Text::MiscUtils] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Text::MiscUtils:ver<0.0.9+>:auth<zef:japhb> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/b3f8e6eb0b42ae35e574c3275def6d0849cca0c7.tar.gz
===> Extracting: OO::Monitors
[OO::Monitors] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: OO::Monitors to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/OO%3A%3AMonitors%3Aver%3C1.1.1%3E%3Aauth%3Ccpan%3AJNTHN%3E.tar.gz
===> Extracting: Term::termios:ver<0.2>
[Term::termios] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Term::termios:ver<0.2> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/Term%3A%3Atermios%3Aver%3C0.2%3E%3Aauth%3Cgithub%3Akrunen%3E.tar.gz
===> Extracting: Terminal::ANSIColor
[Terminal::ANSIColor] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Terminal::ANSIColor to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/687697f93d36df28d99841af8121e28f032f87eb.tar.gz
===> Extracting: Terminal::ANSIParser:ver<0.0.3+>:auth<zef:japhb>
[Terminal::ANSIParser] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Terminal::ANSIParser:ver<0.0.3+>:auth<zef:japhb> to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/929dd7df0eaedfd61975eba6b58bf37c3ccfd2f9.tar.gz
===> Extracting: File::Which
[File::Which] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: File::Which to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/File%3A%3AWhich%3Aver%3C1.0.4%3E%3Aauth%3Cgithub%3Aazawawi%3E.tar.gz
===> Extracting: LibraryMake
[LibraryMake] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: LibraryMake to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/93cd3f600c57c8dab2f898a0d000d6e20ec307f0.tar.gz
===> Extracting: Shell::Command
[Shell::Command] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Shell::Command to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/a757802b1e828eadb469c53c18451fdb3dc1a54e.tar.gz
===> Extracting: File::Find
[File::Find] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: File::Find to /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T//.zef/1711744446.25318/708ed0de18e401c9e9660e88b733129dd5e3607b.tar.gz
===> Filtering: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Filtering [OK] for Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Filtering: Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>
===> Filtering [OK] for Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>
===> Filtering: Terminal::Capabilities:ver<0.0.3>:auth<zef:japhb>
===> Filtering [OK] for Terminal::Capabilities:ver<0.0.3>:auth<zef:japhb>
===> Filtering: Terminal::Print:ver<0.976>:auth<zef:terminal-printers>
===> Filtering [OK] for Terminal::Print:ver<0.976>:auth<zef:terminal-printers>
===> Filtering: Text::MiscUtils:ver<0.0.9>:auth<zef:japhb>
===> Filtering [OK] for Text::MiscUtils:ver<0.0.9>:auth<zef:japhb>
===> Filtering: OO::Monitors:ver<1.1.1>
===> Filtering [OK] for OO::Monitors:ver<1.1.1>
===> Filtering: Term::termios:ver<0.2>
===> Filtering [OK] for Term::termios:ver<0.2>
===> Filtering: Terminal::ANSIColor:ver<0.10>:auth<zef:lizmat>
===> Filtering [OK] for Terminal::ANSIColor:ver<0.10>:auth<zef:lizmat>
===> Filtering: Terminal::ANSIParser:ver<0.0.3>:auth<zef:japhb>
===> Filtering [OK] for Terminal::ANSIParser:ver<0.0.3>:auth<zef:japhb>
===> Filtering: File::Which:ver<1.0.4>
===> Filtering [OK] for File::Which:ver<1.0.4>
===> Filtering: LibraryMake:ver<1.0.5>:auth<zef:jjmerelo>
===> Filtering [OK] for LibraryMake:ver<1.0.5>:auth<zef:jjmerelo>
===> Filtering: Shell::Command:ver<1.1>:auth<zef:raku-community-modules>
===> Filtering [OK] for Shell::Command:ver<1.1>:auth<zef:raku-community-modules>
===> Filtering: File::Find:ver<0.2.1>:auth<zef:raku-community-modules>
===> Filtering [OK] for File::Find:ver<0.2.1>:auth<zef:raku-community-modules>
===> # SKIP: No need to build Terminal::Capabilities:ver<0.0.3>:auth<zef:japhb>
===> # SKIP: No need to build File::Which:ver<1.0.4>
===> # SKIP: No need to build File::Find:ver<0.2.1>:auth<zef:raku-community-modules>
===> # SKIP: No need to build Shell::Command:ver<1.1>:auth<zef:raku-community-modules>
===> # SKIP: No need to build LibraryMake:ver<1.0.5>:auth<zef:jjmerelo>
===> Building: Term::termios:ver<0.2>
[Term::termios] Building with plugin: Zef::Service::Shell::LegacyBuild
[Term::termios] Command: /Users/nlogan/.rakubrew/versions/moar-2024.03/install/bin/rakudo -I/var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T/.zef/1711744446.25318/93cd3f600c57c8dab2f898a0d000d6e20ec307f0.tar.gz/dist -I/var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T/.zef/1711744446.25318/a757802b1e828eadb469c53c18451fdb3dc1a54e.tar.gz/Shell-Command-1.1 -I/var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T/.zef/1711744446.25318/File%3A%3AWhich%3Aver%3C1.0.4%3E%3Aauth%3Cgithub%3Aazawawi%3E.tar.gz/raku-file-which-master -I/var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T/.zef/1711744446.25318/708ed0de18e401c9e9660e88b733129dd5e3607b.tar.gz/File-Find-0.2.1 -e require '/var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T/.zef/1711744446.25318/Term%3A%3Atermios%3Aver%3C0.2%3E%3Aauth%3Cgithub%3Akrunen%3E.tar.gz/term-termios-master/Build.pm'; ::('Build').new.build('/var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T/.zef/1711744446.25318/Term%3A%3Atermios%3Aver%3C0.2%3E%3Aauth%3Cgithub%3Akrunen%3E.tar.gz/term-termios-master') ?? exit(0) !! exit(1);
[Term::termios] clang -shared -fno-omit-frame-pointer -fno-optimize-sibling-calls -Werror=vla -O3 -DNDEBUG -Wno-logical-op-parentheses -D_DARWIN_USE_64_BIT_INODE=1 -gdwarf-4 -DMVM_HEAPSNAPSHOT_FORMAT=2 -D_GNU_SOURCE myhelper.c -o /var/folders/cw/bq4j08yx3wq5b3dvz_s4ygb80000gn/T/.zef/1711744446.25318/Term%3A%3Atermios%3Aver%3C0.2%3E%3Aauth%3Cgithub%3Akrunen%3E.tar.gz/term-termios-master/resources/libraries/libmyhelper.dylib
===> Building [OK] for Term::termios:ver<0.2>
===> # SKIP: No need to build Terminal::ANSIParser:ver<0.0.3>:auth<zef:japhb>
===> # SKIP: No need to build Terminal::ANSIColor:ver<0.10>:auth<zef:lizmat>
===> # SKIP: No need to build Text::MiscUtils:ver<0.0.9>:auth<zef:japhb>
===> # SKIP: No need to build Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>
===> # SKIP: No need to build OO::Monitors:ver<1.1.1>
===> # SKIP: No need to build Terminal::Print:ver<0.976>:auth<zef:terminal-printers>
===> # SKIP: No need to build Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Staging Terminal::Capabilities:ver<0.0.3>:auth<zef:japhb>
===> Staging [OK] for Terminal::Capabilities:ver<0.0.3>:auth<zef:japhb>
===> Staging File::Which:ver<1.0.4>
===> Staging [OK] for File::Which:ver<1.0.4>
===> Staging File::Find:ver<0.2.1>:auth<zef:raku-community-modules>
===> Staging [OK] for File::Find:ver<0.2.1>:auth<zef:raku-community-modules>
===> Staging Shell::Command:ver<1.1>:auth<zef:raku-community-modules>
===> Staging [OK] for Shell::Command:ver<1.1>:auth<zef:raku-community-modules>
===> Staging LibraryMake:ver<1.0.5>:auth<zef:jjmerelo>
===> Staging [OK] for LibraryMake:ver<1.0.5>:auth<zef:jjmerelo>
===> Staging Term::termios:ver<0.2>
Saw 1 occurrence of deprecated code.
================================================================================
Method Str (from Distribution::Resource) seen at:
/Users/nlogan/.rakubrew/versions/moar-2024.03/install/share/perl6/site/sources/1C9686E46F44C640441E04320CF3C7A0C3F63FF4 (Term::termios), line 145
Please use %?RESOURCES<key> directly instead.
--------------------------------------------------------------------------------
Please contact the author to have these occurrences of deprecated code
adapted, so that this message will disappear!
===> Staging [OK] for Term::termios:ver<0.2>
===> Staging Terminal::ANSIParser:ver<0.0.3>:auth<zef:japhb>
===> Staging [OK] for Terminal::ANSIParser:ver<0.0.3>:auth<zef:japhb>
===> Staging Terminal::ANSIColor:ver<0.10>:auth<zef:lizmat>
===> Staging [OK] for Terminal::ANSIColor:ver<0.10>:auth<zef:lizmat>
===> Staging Text::MiscUtils:ver<0.0.9>:auth<zef:japhb>
===> Staging [OK] for Text::MiscUtils:ver<0.0.9>:auth<zef:japhb>
===> Staging Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>
===> Staging [OK] for Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>
===> Staging OO::Monitors:ver<1.1.1>
===> Staging [OK] for OO::Monitors:ver<1.1.1>
===> Staging Terminal::Print:ver<0.976>:auth<zef:terminal-printers>
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "xterm-kitty"
tput: unknown terminal "rxvt-unicode-256color"
tput: unknown terminal "rxvt-unicode-256color"
tput: unknown terminal "rxvt-unicode-256color"
tput: unknown terminal "rxvt-unicode-256color"
tput: unknown terminal "rxvt-unicode-256color"
tput: unknown terminal "rxvt-unicode-256color"
tput: unknown terminal "rxvt-unicode-256color"
tput: unknown terminal "rxvt-unicode-256color"
tput: unknown terminal "rxvt-unicode-256color"
tput: unknown terminal "rxvt-unicode-256color"
tput: unknown terminal "rxvt-unicode-256color"
===> Staging [OK] for Terminal::Print:ver<0.976>:auth<zef:terminal-printers>
===> Staging Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Staging [OK] for Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
First uninstalling the respective modules to allow a reinstall:
patrickb@~ [0]$ zef uninstall Terminal::Widgets
===> Uninstalled from inst#/home/patrickb/.rakubrew/versions/moar-2024.03/share/perl6/site
Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
patrickb@~ [0]$ zef uninstall Term::termios
===> Uninstalled from inst#/home/patrickb/.rakubrew/versions/moar-2024.03/share/perl6/site
Term::termios:ver<0.2.7>:auth<zef:krunen>
patrickb@~ [0]$ zef uninstall Terminal::LineEditor
===> Uninstalled from inst#/home/patrickb/.rakubrew/versions/moar-2024.03/share/perl6/site
Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>
patrickb@~ [1]$ zef uninstall Distribution::Builder::MakeFromJSON
===> Uninstalled from inst#/home/patrickb/.rakubrew/versions/moar-2024.03/share/perl6/site
Distribution::Builder::MakeFromJSON:ver<0.6>:auth<github:niner>
Now trying it again with --debug
:
patrickb@~ [1]$ zef install 'Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>' --dry --debug
===> Searching for: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Found: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb> [via Zef::Repository::Ecosystems<fez>]
===> Dependencies: Terminal::Capabilities, Terminal::LineEditor, Terminal::Print, Text::MiscUtils
===> Searching for missing dependencies: Terminal::LineEditor:ver<0.0.16+>:auth<zef:japhb>
===> Found dependencies: Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb> [via Zef::Repository::Ecosystems<fez>]
===> Dependencies: Term::termios, Terminal::ANSIParser, Terminal::Capabilities, Text::MiscUtils
===> Searching for missing dependencies: Term::termios:ver<0.2>
===> Found dependencies: Term::termios [via Zef::Repository::Ecosystems<p6c>]
===> Dependencies: LibraryMake
===> Fetching: Term::termios:ver<0.2>
===> Fetching: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Fetching: Terminal::LineEditor:ver<0.0.16+>:auth<zef:japhb>
[Terminal::Widgets] Fetching https://360.zef.pm/T/ER/TERMINAL_WIDGETS/b136288725f8c260137cf4a4f1ed024b3c66a1b9.tar.gz with plugin: Zef::Service::Shell::curl
[Term::termios] Fetching git://github.com/krunen/term-termios.git with plugin: Zef::Service::Shell::git
[Terminal::LineEditor] Fetching https://360.zef.pm/T/ER/TERMINAL_LINEEDITOR/fdc687120c011f0be74f83dc4b5d7c2ee5399c47.tar.gz with plugin: Zef::Service::Shell::curl
===> Fetching [OK]: Term::termios to /home/patrickb/.zef/tmp/1712089986.5921.9085.059229409111/term-termios.git
===> Fetching [OK]: Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb> to /home/patrickb/.zef/tmp/1712089986.5921.5711.848810918034/fdc687120c011f0be74f83dc4b5d7c2ee5399c47.tar.gz
===> Fetching [OK]: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb> to /home/patrickb/.zef/tmp/1712089986.5921.3737.260355283354/b136288725f8c260137cf4a4f1ed024b3c66a1b9.tar.gz
===> Extracting: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
[Terminal::Widgets] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb> to /home/patrickb/.zef/tmp/b136288725f8c260137cf4a4f1ed024b3c66a1b9.tar.gz
===> Extracting: Terminal::LineEditor:ver<0.0.16+>:auth<zef:japhb>
[Terminal::LineEditor] Extracting with plugin: Zef::Service::Shell::tar
===> Extraction [OK]: Terminal::LineEditor:ver<0.0.16+>:auth<zef:japhb> to /home/patrickb/.zef/tmp/fdc687120c011f0be74f83dc4b5d7c2ee5399c47.tar.gz
===> Extracting: Term::termios:ver<0.2>
[Term::termios] Extracting with plugin: Zef::Service::Shell::git
===> Extraction [OK]: Term::termios:ver<0.2> to /home/patrickb/.zef/tmp/term-termios.git
===> Filtering: Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Filtering [OK] for Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Filtering: Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>
===> Filtering [OK] for Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>
===> Filtering: Term::termios:ver<0.2.7>:auth<zef:krunen>
===> Filtering [OK] for Term::termios:ver<0.2.7>:auth<zef:krunen>
===> # SKIP: No need to build Terminal::LineEditor:ver<0.0.16>:auth<zef:japhb>
===> # SKIP: No need to build Terminal::Widgets:ver<0.1.4>:auth<zef:japhb>
===> Building: Term::termios:ver<0.2.7>:auth<zef:krunen>
[Term::termios] Building with plugin: Zef::Service::Shell::DistributionBuilder
[Term::termios] Command: /home/patrickb/.rakubrew/versions/moar-2024.03/bin/rakudo -e exit((require ::(q|Distribution::Builder::MakeFromJSON|)).new(:meta(Distribution::Path.new("/tmp/zef-distribution-builder/2024-04-02/1712089988-5921-7".IO).meta.hash)).build(q|/home/patrickb/.zef/tmp/term-termios.git/10fb0ce140df6368d3ad20758337693c55208854|)??0!!1)
[Term::termios] Could not find Distribution::Builder::MakeFromJSON in:
[Term::termios] /home/patrickb/.raku
[Term::termios] /home/patrickb/.rakubrew/versions/moar-2024.03/share/perl6/site
[Term::termios] /home/patrickb/.rakubrew/versions/moar-2024.03/share/perl6/vendor
[Term::termios] /home/patrickb/.rakubrew/versions/moar-2024.03/share/perl6/core
[Term::termios] CompUnit::Repository::AbsolutePath<3230298976448>
[Term::termios] CompUnit::Repository::NQP<3230286748464>
[Term::termios] CompUnit::Repository::Perl5<3230286748504>
[Term::termios] in block <unit> at -e line 1
===> Building [FAIL]: Term::termios:ver<0.2.7>:auth<zef:krunen>
Aborting due to build failure: Term::termios:ver<0.2.7>:auth<zef:krunen> (use --force-build to override)
Another finding: I can't reproduce this issue on a different computer. So it's something specific to how things are on this machine.
patrickb@term-termios.git [0]$ zef search Term::termios
===> Found 20 results
-------------------------------------------------------------------------------------------------------------------
ID|From |Package |Description
-------------------------------------------------------------------------------------------------------------------
0 |Zef::Repository::Ecosystems<fez>|Term::termios:ver<0.2.1>:auth<zef:krunen> |termios routines for Raku
1 |Zef::Repository::Ecosystems<fez>|Term::termios:ver<0.2.2>:auth<zef:krunen> |termios routines for Raku
2 |Zef::Repository::Ecosystems<fez>|Term::termios:ver<0.2.3>:auth<zef:krunen> |termios routines for Raku
3 |Zef::Repository::Ecosystems<fez>|Term::termios:ver<0.2.4>:auth<zef:krunen> |termios routines for Raku
4 |Zef::Repository::Ecosystems<fez>|Term::termios:ver<0.2.5>:auth<zef:krunen> |termios routines for Raku
5 |Zef::Repository::Ecosystems<fez>|Term::termios:ver<0.2.6>:auth<zef:krunen> |termios routines for Raku
6 |Zef::Repository::Ecosystems<fez>|Term::termios:ver<0.2.7>:auth<zef:krunen> |termios routines for Raku
7 |Zef::Repository::Ecosystems<p6c>|Term::termios |termios routines for Rakudo Perl 6
8 |Zef::Repository::Ecosystems<rea>|Term::termios:ver<0.2.7>:auth<zef:krunen> |termios routines for Raku
9 |Zef::Repository::Ecosystems<rea>|Term::termios:ver<0.2.6>:auth<zef:krunen> |termios routines for Raku
10|Zef::Repository::Ecosystems<rea>|Term::termios:ver<0.2.5>:auth<zef:krunen> |termios routines for Raku
11|Zef::Repository::Ecosystems<rea>|Term::termios:ver<0.2.4>:auth<zef:krunen> |termios routines for Raku
12|Zef::Repository::Ecosystems<rea>|Term::termios:ver<0.2.3>:auth<github:krunen>|termios routines for Raku
13|Zef::Repository::Ecosystems<rea>|Term::termios:ver<0.2.3>:auth<zef:krunen> |termios routines for Raku
14|Zef::Repository::Ecosystems<rea>|Term::termios:ver<0.2.2>:auth<zef:krunen> |termios routines for Raku
15|Zef::Repository::Ecosystems<rea>|Term::termios:ver<0.2.1>:auth<zef:krunen> |termios routines for Raku
16|Zef::Repository::Ecosystems<rea>|Term::termios:ver<0.2> |termios routines for Rakudo Perl 6
17|Zef::Repository::Ecosystems<rea>|Term::termios |termios routines for Rakudo Perl 6
18|Zef::Repository::LocalCache |Term::termios |termios routines for Rakudo Perl 6
19|Zef::Repository::LocalCache |Term::termios:ver<0.2.7>:auth<zef:krunen> |termios routines for Raku
-------------------------------------------------------------------------------------------------------------------
Looking at the REA Term::termios:ver<0.2>
- that contains the right source code for 0.2
Looging at the REA Term::termios:ver<*>:auth<github:krunen>
- that's likely code for 0.2-ish.
Looking at p6c - that doesn't have Term::termios
anymore.
Maybe I'm once again victim of P6Cs lack of support for versions and stale caching?
If I run zef install Term::termios --debug --/fez --/rea --/cpan --/cached --p6c
(which basically enables p6c and then makes it the only available ecosystem) I can reproduce your original output.
Looking at p6c - that doesn't have Term::termios anymore.
As far as zef is concerned https://github.com/ugexe/Perl6-ecosystems is the authority for the p6c ecosystem (see: config), not e.g. rakuland or REA. The aforementioned Perl6-ecosystems
repo is no longer updated, and thus no longer syncs changes reflected in https://github.com/Raku/ecosystem/blob/main/META.list Similarly REA contains the distribution as it was scraped from p6c with https://github.com/Raku/REA/blob/main/archive/T/Term%3A%3Atermios/Term%3A%3Atermios%3Aver%3C*%3E%3Aauth%3Cgithub%3Akrunen%3E.tar.gz
What I'm still not sure of is how you ended up either 1) getting the p6c version from REA (since REA contains a higher verison for the same auth, and there is no way to request version *
explicitly) or 2) why your zef has p6c
enabled by default (as evident by your zef search Term::termios
showing a p6c result). As far as 2 is concerned you might want to run zef --help
and see if the configuration file it shows points to a non-default config (for example something generated by https://raku.land/zef:lizmat/Zef::Configuration). Another clue that point 2 is correct is that even if p6c was enabled, zefs current configuration makes it an extremely low priority and as such just enabling p6c shouldn't be enough.
You can see the output of the current config with zef --help 2>&1 | grep CONFIGURATION | awk '{print $2}' | xargs cat
, which you can compare against https://github.com/ugexe/zef/blob/main/resources/config.json
My config lists the following repos:
All of them are enabled. The rest looks pretty similar. Interestingly enough, it says ConfigurationVersion
instead of ConfigVersion
. That's a very strong indication that my config was written by Zef::Configuration
.
A quick look at the code shows that the order of the repos matches what Zef::Configuration
generates by default.
Searching my bash-history actually does surface a single call to zef-configure enable rea
. So I guess the blame is on me.
I'll create a report over on Zef::Configuration
that the default config doesn't match zefs.
Thanks for supporting my issue hunt!
Context
Zef fails to install the
Distribution::Builder::MakeFromJSON
dependency ofTerm::termios:ver<0.2.7>
when installing it in a dependency chain. I note that in the dep chainTerm::termios:ver<0.2>
shows up, but zef later tries to installTerm::termios:ver<0.2.7>
. I also note, that installation succeeds when installingTerm::termios:ver<0.2.7>
directly.Your Environment