[MacPorts] SummerOfCode modified

MacPorts noreply at macports.org
Mon Feb 3 14:13:38 PST 2014


Page "SummerOfCode" was changed by cal at macports.org
Diff URL: <https://trac.macports.org/wiki/SummerOfCode?action=diff&version=221>
Revision 221
Comment: remove binary proposal (I don't know what's left to do there), reword dependency-rewrite proposal
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: SummerOfCode
=========================================================================
--- SummerOfCode (version: 220)
+++ SummerOfCode (version: 221)
@@ -90,37 +90,13 @@
 
 === Core tasks ===
 
-==== Binaries ==== #binaries
-
-MacPorts provides binaries but needs several enhancements. This task
-would include updating the chroot mechanism (ceased being functional
-with Snow Leopard) and adding support for variants. (See also
-[[MPAB|MacPorts AutoBuild]].)
-
-* Difficulty: Relatively challenging to challenging
-* Languages: Tcl
-* Potential mentors: TBD
-
 ==== Dependency calculation using SAT solving ==== #dependencies
 
-This task consists of implementing a new dependency 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 task requires
-understanding the dependency relations (required for fetching, building,
-configuring; static and dynamic linking; dependence at runtime).
-
-Instead of re-inventing the wheel it might be helpful to use software
-available to solve the problem of dependency calculation, e.g. by
-implementing an interface to a
-[http://www.mancoosi.org/cudf/ Common Upgradeability Description Format]-based
-SAT solver. Such a solver could generate an execution plan we could
-propose to the user and finally execute when confirmed. For this task,
-the MacPorts concept of variants needs to be transformed into
-a representation the SAT solvers will be able to optimize. If time
-permits, rolling back on failed updates can also be implemented. There
-is also a [browser:trunk/dports/devel/libCUDF/Portfile libCUDF] port
-that might be helpful to look at.
+This task consists of implementing a new dependency engine for MacPorts. The current dependency engine works for everyday use, but it could be extended to support a number of features we would like to have, such as [[ticket:126|dependencies on variants]], versioned dependencies, pre-computing a plan of action (and asking the user for confirmation), conflict resolution proposals and metapackages. Note that we don't expect you to accomplish all of these ideas in one GSoC – setting the base would already be a huge help.
+
+This task requires understanding the dependency relations (required for fetching, building, configuring; static and dynamic linking; dependence at runtime).
+
+Instead of re-inventing the wheel it might be helpful to use software available to solve the problem of dependency calculation, e.g. by implementing an interface to a [http://www.mancoosi.org/cudf/ Common Upgradeability Description Format]-based SAT solver. Such a solver could generate an execution plan we could propose to the user and finally execute when confirmed. For this task, the MacPorts concept of variants needs to be transformed into a representation the SAT solvers will be able to optimize. If time permits, rolling back on failed updates can also be implemented. There is also a [browser:trunk/dports/devel/libCUDF/Portfile libCUDF] port that might be helpful to look at.
 
 * Difficulty: Challenging
 * Languages: Tcl, C
-------8<------8<------8<------8<------8<------8<------8<------8<--------

--
Page URL: <https://trac.macports.org/wiki/SummerOfCode>
MacPorts <http://www.macports.org/>
Ports system for OS X

This is an automated message. Someone added your email address to be
notified of changes on 'SummerOfCode' page.
If it was not you, please report to .


More information about the macports-changes mailing list