You triggered one of my pet peeves, so here's how I built and installed AnyEvent::Discord on a new Debian 12 (stable, bookworm) virtual machine from scratch.
I start by installing the packages you listed:
sudo apt install libmodern-perl-perl libanyevent-irc-perl \
libfile-slurper-perl libmojo-sqlite-perl libmojolicious-perl \
libdatetime-perl libkeyword-simple-perl libtest-fatal-perl \
libtest-requires-perl libdevel-callparser-perl libtrue-perl \
libperlx-define-perl libperlx-assert-perl \
libmoox-late-perl libmoose-perl liblexical-accessor-perl \
libnamespace-sweep-perl libreturn-type-perl libmatch-simple-perl \
gcc-aarch64-linux-gnu dh-make-perl
and then I also install these packages that I found were needed, and
packaged in Debian, along the way:
sudo apt install perl-xs-dev libmoosex-mungehas-perl \
libclass-tiny-antlers-perl libmoosex-types-common-perl \
libtypes-xsd-lite-perl libtest-warnings-perl \
libanyevent-websocket-client-perl
Whenever I can't find a Debian package of the Perl library I need, I do dh-make-perl --cpan Library
, debuild
, and then sudo apt install ./library.deb
- when a dependency is missing, I branch out and make/build/install that first.
First dependency missing is Moops:
dh-make-perl --cpan Moops
cd libmoops-perl/
debuild
Ok, Parse::Keyword is missing, so build that and install it:
cd ..
dh-make-perl --cpan Parse::Keyword
cd libparse-keyword-perl/
debuild
cd ..
sudo apt install ./libparse-keyword-perl_0.10-1_amd64.deb
Now Kavorka is missing, so build and install:
dh-make-perl --cpan Kavorka
cd libkavorka-perl
debuild
cd ..
sudo apt install ./libkavorka-perl_0.039-1_all.deb
Finally we can build Moops and install it:
cd libmoops-perl
debuild
cd ..
sudo apt install ./libmoops-perl_0.038-1_all.deb
Trying debuild in AnyEvent::Discord again, we are now missing Algorithm::Backoff::Exponential, so build that:
dh-make-perl --cpan Algorithm::Backoff::Exponential
cd libalgorithm-backoff-exponential
debuild
ah, it depends on Test::Number::Delta, so build that and install it:
cd ..
dh-make-perl --cpan Test::Number::Delta
cd libtest-number-delta/
debuild
cd ..
sudo apt install ./libtest-number-delta-perl_1.06-1_all.deb
so now we can build and install Algorithm::Backoff:Exponential:
cd libalgorithm-backoff-exponential/
debuild
cd ..
sudo apt install ./libalgorithm-backoff-perl_0.010-1_all.deb
and finally we can build and install AnyEvent::Discord:
cd libanyevent-discord/
debuild
cd ..
sudo apt install ./libanyevent-discord-perl_0.7-1_all.deb
Let's try:
asjo@debian:~$ perl -E 'use AnyEvent::Discord; say $AnyEvent::Discord::VERSION'
0.7
asjo@debian:~$
It's a little bit tedious, but if you maintain your own local Debian
package repository (I use
reprepro)
it's quite manageble, and you get security updates automatically from
Debian for Perl, and all the packages you didn't build yourself,
automatically.