Skip to content

Instantly share code, notes, and snippets.

@Rapptz
Last active August 29, 2015 14:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Rapptz/73a6e19197d91b808500 to your computer and use it in GitHub Desktop.
Save Rapptz/73a6e19197d91b808500 to your computer and use it in GitHub Desktop.
C++ Package Manager Dream Requirements

cpack

Name of the thing. Should probably be renamed.

Wishlist

  • Must be able to install from a central repo à la npm and friends, and from any git repo.
  • The dependencies must not be recursively cloned à la npm
  • Must be able to upgrade and delete packages
  • Must use a sane configuration format, i.e. JSON.
  • Minimal amount of brainpower required for learning and using. cpack {install, upgrade, remove} package, cpack { list, check/fix/repairthebrokenstuffidid } etc.
  • Must be a standalone executable with minimal dependencies
  • Do not target ancient compilers but not bleeding edge either
  • Must work on all major platforms
  • Good integration with git such as tags, github repo, etc.
  • There should be a way of searching packages, e.g. cpack search <stuff>.
  • You should be able to specify the installation directory for dependencies and main package.
  • Possibly implement dependency solving using a SAT
  • When installing dependencies, duplicates shouldn't be made.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment