#!/bin/sh
#
# Install packages for integration tests.
#
# This script is normally run via sudo in a test container or VM, such as via
# GitHub Actions.
#
# Perl::Tidy, Perl::Critic, and Test::Perl::Critic are installed separately to
# get the latest version, since they sometimes change formatting and style
# rules compared to the version in Ubuntu.  Test::MinimumVersion has to be
# included since it installs Perl::Critic.
#
# Allow the installation of Perl::Critic and Test::Perl::Critic to fail, since
# sometimes the versions on CPAN won't install.  (We'll just skip the test if
# it won't install.)
#
# Copyright 2015-2020, 2023 Russ Allbery <eagle@eyrie.org>
#
# SPDX-License-Identifier: MIT

set -eux

# Install packages.
apt-get update -qq
apt-get install aspell cpanminus cppcheck heimdal-multidev libcdb-dev        \
        libconst-fast-perl libdb-file-lock-perl libcrypt-pbkdf2-perl         \
        libdbd-sqlite3-perl libdbi-perl libgetopt-long-descriptive-perl      \
        libipc-run-perl libjson-maybexs-perl libkrb5-dev libperl6-slurp-perl \
        libsqlite3-dev libtest-pod-perl libtest-spelling-perl                \
        libtest-strict-perl pkg-config perl tinycdb valgrind

# Dependencies for Perl tests.
cpanm Perl::Tidy
cpanm Perl::Critic         || true
cpanm Test::MinimumVersion || true
cpanm Test::Perl::Critic   || true
