BuildRequire perl-generators, add missing requirements
Packages containing a perl script are required to BuildRequire
perl-generators:
https://docs.fedoraproject.org/en-US/packaging-guidelines/Perl/#_build_dependencies
This generates the Data::Dumper requirement for us, so we can
stop specifying that explicitly. It additionally generates
several other dependencies that were technically missing, though
not practically causing problems yet.
Many other dependencies still need to be explicitly listed,
because upstream hedges around them for various reasons, such that
the generator doesn't find them:
* inxi is written to work with any one of three possible JSON
modules, which confuses the generator so it doesn't generate a
dependency on any one of them. Let's specify the one inxi seems
to prefer (Cpanel::JSON::XS).
* The debugger requires several modules, none of which the
generator finds because the code tries to catch when they are
not present and error out gracefully. The lack of some of these
dependencies in current package builds mean the debugger doesn't
work on F38, F39 or EPEL 9 unless you happen to have the packages
installed for other reasons.
* inxi likes to use HTTP::Tiny and IO::Socket::SSL for
downloading (but it will use curl or wget if they are not
present). So let's make these Recommends.
* inxi considers XML::Dumper to be 'recommended' - it will warn
you if it's not present, and XML output will not work, but
otherwise inxi will work. So let's convert this hard dependency
to a Recommends.
* inxi wants to use Sys::Hostname to determine the hostname, but
made it optional because Puppy dropped it from its 'core module'
set, so it falls back to a subshell 'hostname' call if it's not
present. Let's also Recommends it.
Additionally, tar is needed by the debugger. It's not a perl
module so the generator can't help us there.
I've tested this across Fedora 38, 39, EPEL 8 and EPEL 9. On F38,
F39 and EPEL 9, this fixes the debugger if you don't happen to
have the necessary deps installed for some other reason.