97 | | This task consists of implementing a new dependencies engine for MacPorts. The current dependency engine properly deals with installing packages, but it does not deal satisfactorily with dependencies on variants (and versions), uninstalling and upgrading. This very challenging task requires a complete formalization of the use cases (installation, upgrade, uninstallation) and of the user needs before any implementation, as well as a deep understanding of the dependency relations (required for fetching, building, configuring; static and dynamic linking; dependence at runtime). |
| 97 | This task consists of implementing a new dependencies engine for MacPorts. The current dependency engine properly deals with installing packages, but it does not deal satisfactorily with [ticket:126 dependencies on variants] (and versions), uninstalling and upgrading. This very challenging task requires a complete formalization of the use cases (installation, upgrade, uninstallation) and of the user needs before any implementation, as well as a deep understanding of the dependency relations (required for fetching, building, configuring; static and dynamic linking; dependence at runtime). |
| 139 | ==== Read packages from other various package managers ==== #foo2port |
| 140 | |
| 141 | As above with the pip2port proposal, except with other package managers, such as [http://opam.ocamlpro.com/ opam] for ocaml packages, [http://www.haskell.org/cabal/ cabal] for haskell, [http://luarocks.org/ luarocks] for lua, [https://npmjs.org/ npm] for node.js, and so on. |
| 142 | |
| 143 | Classification: medium task[[BR]] |
| 144 | Programming languages: Tcl, C, ocaml, haskell, lua, javascript, any other languages that come with their own package manager[[BR]] |
| 145 | Potential mentor: TBD |
| 146 | |