# Path: kiwixbuild/dependencies/base.py
# class Dependency(metaclass=_MetaDependency):
#     all_deps = {}
#     force_build = False
#     force_native_build = False
#     dont_skip = False
# 
#     @classmethod
#     def version(cls):
#         if cls.name in base_deps_versions:
#             return base_deps_versions[cls.name]
#         elif option('make_release'):
#             return main_project_versions.get(cls.name, None)
#         return None
# 
#     @classmethod
#     def full_name(cls):
#         if cls.version():
#             return "{}-{}".format(cls.name, cls.version())
#         return cls.name
# 
# class ReleaseDownload(Source):
#     archive_top_dir = None
# 
#     @property
#     def extract_path(self):
#         return pj(neutralEnv('source_dir'), self.source_dir)
# 
#     def _download(self, context):
#         context.try_skip(neutralEnv('archive_dir'), self.full_name)
#         neutralEnv('download')(self.archive)
# 
#     def _extract(self, context):
#         context.try_skip(self.extract_path)
#         if os.path.exists(self.extract_path):
#             shutil.rmtree(self.extract_path)
#         extract_archive(pj(neutralEnv('archive_dir'), self.archive.name),
#                         neutralEnv('source_dir'),
#                         topdir=self.archive_top_dir,
#                         name=self.source_dir)
# 
#     def prepare(self):
#         self.command('download', self._download)
#         self.command('extract', self._extract)
#         if hasattr(self, 'patches'):
#             self.command('patch', self._patch)
#         if hasattr(self, '_post_prepare_script'):
#             self.command('post_prepare_script', self._post_prepare_script)
# 
# class NoopBuilder(Builder):
#     def build(self):
#         pass
# 
#     def make_dist(self):
#         pass
# 
# Path: kiwixbuild/utils.py
# class Remotefile(namedtuple('Remotefile', ('name', 'sha256', 'url'))):
#     def __new__(cls, name, sha256, url=None):
#         if url is None:
#             url = REMOTE_PREFIX + name
#         return super().__new__(cls, name, sha256, url)


from .base import (
    Dependency,
    ReleaseDownload,
    NoopBuilder
)
from kiwixbuild.utils import Remotefile



class ZimTestingSuite(Dependency):
    name = "zim-testing-suite"
    dont_skip = True

    class Source(ReleaseDownload):

# Path: kiwixbuild/dependencies/base.py
# class Dependency(metaclass=_MetaDependency):
#     all_deps = {}
#     force_build = False
#     force_native_build = False
#     dont_skip = False
# 
#     @classmethod
#     def version(cls):
#         if cls.name in base_deps_versions:
#             return base_deps_versions[cls.name]
#         elif option('make_release'):
#             return main_project_versions.get(cls.name, None)
#         return None
# 
#     @classmethod
#     def full_name(cls):
#         if cls.version():
#             return "{}-{}".format(cls.name, cls.version())
#         return cls.name
# 
# class ReleaseDownload(Source):
#     archive_top_dir = None
# 
#     @property
#     def extract_path(self):
#         return pj(neutralEnv('source_dir'), self.source_dir)
# 
#     def _download(self, context):
#         context.try_skip(neutralEnv('archive_dir'), self.full_name)
#         neutralEnv('download')(self.archive)
# 
#     def _extract(self, context):
#         context.try_skip(self.extract_path)
#         if os.path.exists(self.extract_path):
#             shutil.rmtree(self.extract_path)
#         extract_archive(pj(neutralEnv('archive_dir'), self.archive.name),
#                         neutralEnv('source_dir'),
#                         topdir=self.archive_top_dir,
#                         name=self.source_dir)
# 
#     def prepare(self):
#         self.command('download', self._download)
#         self.command('extract', self._extract)
#         if hasattr(self, 'patches'):
#             self.command('patch', self._patch)
#         if hasattr(self, '_post_prepare_script'):
#             self.command('post_prepare_script', self._post_prepare_script)
# 
# class NoopBuilder(Builder):
#     def build(self):
#         pass
# 
#     def make_dist(self):
#         pass
# 
# Path: kiwixbuild/utils.py
# class Remotefile(namedtuple('Remotefile', ('name', 'sha256', 'url'))):
#     def __new__(cls, name, sha256, url=None):
#         if url is None:
#             url = REMOTE_PREFIX + name
#         return super().__new__(cls, name, sha256, url)


# Path: kiwixbuild/dependencies/zim_testing_suite.py
from .base import (
    Dependency,
    ReleaseDownload,
    NoopBuilder
)
from kiwixbuild.utils import Remotefile




class ZimTestingSuite(Dependency):
    name = "zim-testing-suite"
    dont_skip = True

    class Source(ReleaseDownload):

        archive = Remotefile('zim-testing-suite-0.3.tar.gz',