Package Managers
Requirements
- Dependencies
- Allow source or binary forms
- Provide build dependencies
- Recursive dependencies
- Compatible with SVN repo layout
- Cross-platform utils
- UI?
asbo
- http://github.com/canton7/asbo
- Lightweight
- Still needs dependency resolution work?
Language : Ruby, INI
Interface : cli
Integration : TeamCity, FTP
Concepts : include path substitution, library path substitution
pkg-config
- http://www.freedesktop.org/wiki/Software/pkg-config
- http://people.freedesktop.org/~dbn/pkg-config-guide.html
RTSC / XDCtools
Language : Javascript, Mozilla Rhino
Interface : cli, GUI
Platforms : Linux, Win, any javascript
Tools
Run using "xs xdc.tools.tool"
Repo paths : path, path.sg
Repo manager : repoman, repoman.sg
Build config : configuro, configuro.sg
Concepts
- Canonical package directory: cognomen.utils.c-msggen/
- Arbitrarily name package repos
- Package paths (much like Java Classpaths)
-
Canonical include paths?
include
include
include
Build configuration in prog.cfg (JavaScript)
- configuro takes prog.cfg and produces compiler.opt and linker.cmd
Pulling package dependencies
Linking to shared libs
buildr
- http://buildr.apache.org
- Based on rake
- packaging
See BuildrForC
mingw-get
- cli and gui
- Win only?
opkg
- No windows client
chocolatey
- Based on .NET NuGet
- http://chocolatey.org/