Summer of Code 2010

This page is dedicated to the projects accepted into Google SoC 2010, here's a list of accepted projects:

Project Student email Mentor email
Configuration files handling Andrea D'Amore and.damore Rainer Mueller raimue
MacPorts GUI Improvement Vasileios Georgitzikis tzikis Juan Germán Castañeda Echevarria juanger
MacPorts Web Application Joe Rozner jrozner William Siegrist wms

Configuration files handling

MacPorts has no way to track configuration files. Currently if a configuration file is part of a port it will get overwritten on every upgrade which makes it less useful. At the moment, many ports only install default configuration files and the user has to copy it to the original location. But this always requires manual action and the user is not informed of updates in this configuration file.

For this task, investigate how other package management systems handle this. Find the best way to support it in MacPorts and implement it. See also #2365.

Classification: easy to medium task
Programming languages: Tcl
Potential mentor: raimue

Graphical user interface

Extend and improve the existing basic GUI which has been implemented as part of GSoC 2008/2009. Pallet is at the moment functional to install/uninstall ports, but for example it cannot handle variants yet. Also, it is slow if you have many ports installed.

Features to be implemented:

  • Variant selection
  • List Library, Compile, and Runtime Dependencies
  • Growl notifications
  • Queueing of operations
  • Fix the framework to work with the latest MacPorts version

The GUI is driven by the MacPorts Framework, which acts as a wrapper of the MacPorts Tcl API to Objective-C. To enhance the GUI we are going to implement the respective features in the framework first. For more information on the roadmap, progress, and suggested features, visit the GSoC2010 Improvement.


Classification: medium task
Programming languages: Objective-C and Tcl
Mentors: juanger

MacPorts Web Application (MPWA)

A very good start has been made on a Web Application for MacPorts to serve as a basis for easier user submission and maintenance of ports, not to mention monitoring of port build status, browsing of ports, etc. This work is known as MPWA and is written in Ruby on Rails. This task is to complete the work on MPWA so that it is usable for day to day usage by the MacPorts community. Work is needed on user credentials and authentication, port dependency integration, port submission and tracking, etc. This is a very exciting project and can help MacPorts scale to support a larger community.

Read more about the MPWA design and model and look at the existing code.

Classification: moderate, with good follow through vision, and architecture required
Programming languages: Ruby, perhaps a bit of Tcl
Potential mentor: juanger

Last modified 8 years ago Last modified on May 25, 2010, 6:58:15 AM