[MacPorts] SummerOfCode modified

MacPorts noreply at macports.org
Thu Mar 21 17:25:15 PDT 2013


Page "SummerOfCode" was changed by cal at macports.org
Diff URL: <https://trac.macports.org/wiki/SummerOfCode?action=diff&version=200>
Revision 200
Comment: reorder (according to my entirely subjective wishlist), merge Portfiles and Ports, write more docs for the trace task
Changes:
-------8<------8<------8<------8<------8<------8<------8<------8<--------
Index: SummerOfCode
=========================================================================
--- SummerOfCode (version: 199)
+++ SummerOfCode (version: 200)
@@ -92,13 +92,13 @@
 * Languages: Tcl, C
 * Potential mentors: cal
 
-==== Check for software update / ports needing upgrade ==== #livecheck
-
-The livecheck mechanism could be extended to automatically send reports when ports are outdated, similar to how the lint mechanism sends reports on portfile commits.
-
-* Difficulty: Easy
-* Languages: Tcl
-* Potential mentors: TBD 
+==== Remove dependency on Xcode ==== #xcode
+
+MacPorts currently requires a full Xcode installation, even if the user only wishes to install prepackaged binaries or compile ports that do not use Xcode projects for building. This task be as simple as allowing MacPorts to install binary packages without Xcode present, or as complex as enabling MacPorts to be completely self-sufficient (not requiring Xcode or the Command Line Tools at all).
+
+* Difficulty: Medium to very challenging
+* Languages: Tcl, C
+* Potential mentors: TBD
 
 ==== MacPorts port for self-management ==== #self-management
 
@@ -107,14 +107,6 @@
 Currently the MacPorts port is used to build the .dmg installer for MacPorts that is used for the initial installation of MacPorts, and port uses the “selfupdate” mechanism for maintaining the MacPorts installation. The selfupdate mechanism is (at least not documented as such) not accessible through the MacPorts API and does not use the MacPorts mechanisms for maintaining ports
 
 * Difficulty: Challenging
-* Languages: Tcl, C
-* Potential mentors: TBD
-
-==== Remove dependency on Xcode ==== #xcode
-
-MacPorts currently requires a full Xcode installation, even if the user only wishes to install prepackaged binaries or compile ports that do not use Xcode projects for building. This task be as simple as allowing MacPorts to install binary packages without Xcode present, or as complex as enabling MacPorts to be completely self-sufficient (not requiring Xcode or the Command Line Tools at all).
-
-* Difficulty: Medium to very challenging
 * Languages: Tcl, C
 * Potential mentors: TBD
 
@@ -151,9 +143,9 @@
 * Languages: Tcl, C, OCaml, Haskell, Lua, Node.js, etc.
 * Potential mentors: TBD
 
-==== Automatic testing ==== #testing
-
-MacPorts currently includes a [[source:trunk/base/tests|test framework]] to test features of the infrastructure. However, the tests do not cover all the code and they are not executed on an automatic basis. This task consists of extending the test framework and could be broadened to develop a code coverage technology for MacPorts to make the infrastructure more robust to future changes.
+==== Increase test coverage ==== #testing
+
+MacPorts currently includes a [[source:trunk/base/tests|test framework]] to test features of the infrastructure. However, the tests do not cover all the code. This task consists of extending the test framework and could be broadened to develop a code coverage technology for MacPorts to make the infrastructure more robust to future changes.
 
 * Difficulty: Relatively easy to very challenging
 * Languages: Tcl, C
@@ -167,6 +159,21 @@
 * Languages: Tcl
 * Potential mentors: larryv
 
+==== Improve Trace mode ==== #tracemode
+
+Improve trace mode to the point where developers (and the build server) could run with it always turned on. This currently requires fixing some (minor) remaining bugs in the trace code itself, adjust the build system to always build the tracing library as universal binary and improving the Tcl backend of trace mode (e.g. by adding more features like a list of accessed files, speeding up the lookup by using better data structures).
+
+* Difficulty: Medium to Easy
+* Programming languages: Tcl, C
+* Potential mentors: cal
+
+==== Check for software update / ports needing upgrade ==== #livecheck
+
+The livecheck mechanism could be extended to automatically send reports when ports are outdated, similar to how the lint mechanism sends reports on portfile commits.
+
+* Difficulty: Easy
+* Languages: Tcl
+* Potential mentors: TBD 
 
 ==== Improve startupitem code ==== #startupitem
 
@@ -199,59 +206,45 @@
 * Languages: Tcl, C
 * Potential mentors: TBD
 
-==== Trace mode ==== #tracemode
-
-Improve trace mode to the point where developers (and the build server) could run with it always turned on.
+==== Migrate muniversal into base (lipo merging) ==== #muniversal
+
+Integrate the [[source:trunk/dports/_resources/port1.0/group/muniversal-1.0.tcl|muniversal portgroup]] into base. Not just a direct copy-and-paste, but in a way that makes sense and preserves the way portfiles are expected to behave (which the current portgroup doesn't).
 
 * Difficulty: Medium
-* Programming languages: Tcl, C
-* Potential mentors: TBD
-
-==== Migrate muniversal into base (lipo merging) ==== #muniversal
-
-Integrate the [[source:trunk/dports/_resources/port1.0/group/muniversal-1.0.tcl|muniversal portgroup]] into base. Not just a direct copy-and-paste, but in a way that makes sense and preserves the way portfiles are expected to behave (which the current portgroup doesn't).
+* Languages: Tcl, C
+* Potential mentors: TBD
+
+==== Improve fetching from version control ==== #fetchtypes
+
+Make cvs/svn/git/hg/bzr fetch types checkout into the distfiles dir and then export into the work dir, to [[ticket:16373|avoid having to re-fetch]] after cleaning the work dir.
+
+* Difficulty: Easy
+* Languages: Tcl, C
+* Potential mentors: larryv
+
+==== Interactive port command ==== #interactive
+
+Write an interactive command-line tool that can be used instead of the non-interactive port(1). 
+
+The current port(1) should be viewed as batch mode reading from stdin.
+
+An interactive tool would ask for user input to resolve many situations that cause port(1) to simply error out. For example, if you try to install a port and one of its dependencies conflicts with something already installed, it could ask if you want to deactivate the installed one and its dependents.
 
 * Difficulty: Medium
 * Languages: Tcl, C
 * Potential mentors: TBD
 
-==== Fetching from version control ==== #fetchtypes
-
-Make cvs/svn/git/hg/bzr fetch types checkout into the distfiles dir and then export into the work dir, to [[ticket:16373|avoid having to re-fetch]] after cleaning the work dir.
-
-* Difficulty: Easy
-* Languages: Tcl, C
-* Potential mentors: larryv
-
-==== Interactive port command ==== #interactive
-
-Write an interactive command-line tool that can be used instead of the non-interactive port(1). 
-
-The current port(1) should be viewed as batch mode reading from stdin.
-
-An interactive tool would ask for user input to resolve many situations that cause port(1) to simply error out. For example, if you try to install a port and one of its dependencies conflicts with something already installed, it could ask if you want to deactivate the installed one and its dependents.
-
-* Difficulty: Medium
-* Languages: Tcl, C
-* Potential mentors: TBD
+
+=== Secondary tasks ===
 
 ==== Portfiles ==== #portfiles
 
-Sweep through all Portfiles and look for useful opportunities to add more built-in Tcl functions that make Portfiles more (usefully) terse, powerful, flexible or easier to write.  I'm sure there is an entirely family of helper functions yet to be written here.
+Sweep through all Portfiles and look for useful opportunities to add more built-in Tcl functions that make Portfiles more (usefully) terse, powerful, flexible or easier to write. I'm sure there is an entirely family of helper functions yet to be written here. This might also include porting additional packages to MacPorts and cleaning up or removing obsolete ports.
 
 * Classification: Medium
 * Language: Tcl
 * Potential mentors: larryv
 
-=== Secondary tasks ===
-
-==== Ports ==== #ports
-
-Port additional packages to MacPorts and cleanup or remove obsolete ports.
-
-* Difficulty: Medium
-* Potential mentors: larryv
-
 ==== Documentation and website ==== #docs
 
 Improve MacPorts [query:status!=closed&component=guide|server/hosting|website|wiki documentation, website and Trac system]. Note that pure documentation proposals are not allowed by Google.
@@ -268,8 +261,6 @@
 
 * Difficulty: Easy
 * Potential mentors: raimue
-
-
 
 
 {{{
-------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