#ifndef PKGIT_PKG_H #define PKGIT_PKG_H #include "str.h" typedef struct package_t { str name, version, url, src, root; unsigned int dep_count; bool is_local; } package_t; package_t pkg_create(str *arg); bool pkg_exists(str *name); bool pkg_hook_url(package_t *pkg); str pkg_get_url(package_t *pkg); bool pkg_hook_setup(package_t *pkg); bool pkg_hook_build(package_t *pkg); bool pkg_hook_install(package_t *pkg); bool pkg_hook_remove(package_t *pkg); bool pkg_hook_on_update(package_t *pkg); bool pkg_hook_fetch_sources(package_t *pkg); bool pkg_hook_fetch_latest_version(package_t *pkg); str pkg_get_latest_version(package_t *pkg); bool pkg_setup(package_t *pkg); bool pkg_build(package_t *pkg); bool pkg_install(package_t *pkg); bool pkg_remove(package_t *pkg); bool pkg_update(package_t *pkg); void pkg_free(package_t *pkg); #endif