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 | Mentor | ||
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.
Resources:
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