mach-nix/mach_nix/resolver/__init__.py
2020-04-22 09:46:03 +00:00

23 lines
462 B
Python

from abc import ABC, abstractmethod
from dataclasses import dataclass
from typing import List, Iterable
from packaging.version import Version
from mach_nix.requirements import Requirement
@dataclass
class ResolvedPkg:
name: str
ver: Version
build_inputs: List[str]
prop_build_inputs: List[str]
is_root: bool
class Resolver(ABC):
@abstractmethod
def resolve(self, reqs: Iterable[Requirement]) -> List[ResolvedPkg]:
pass