'''Utilities for installing os-level packages.'''

import collections
import enum


class Library(collections.namedtuple('Library', ['name', 'pkg_map'])):
  def Install(self, configuration):
    flavor = configuration.os_flavor()
    install_cmd = ['sudo', *flavor.value, self.pkg_map[flavor]]
    return configuration.Call(install_cmd, stderr=None, stdout=None)


class OsFlavor(enum.Enum):
  Debian = ('apt-get', 'install')
  Arch = ('pacman', '-S')


Nasm = Library('nasm', {
  OsFlavor.Debian: 'nasm',
  OsFlavor.Arch: 'nasm',
})


GccAarch64LinuxGNU = Library('gcc-aarch64-linux-gnu', {
  OsFlavor.Debian: 'gcc-aarch64-linux-gnu',
  OsFlavor.Arch: 'aarch64-linux-gnu-binutils',
})