wiki:SummerOfCode2010

Version 1 (modified by anddam (Andrea D'Amore), 11 years ago) (diff)

--

Summer of Code 2010

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

Student Student email Project Mentor Mentor email
Andrea D'Amore and.damore Configuration files handling Rainer Mueller raimue
Vasileios Georgitzikis tzikis MacPorts GUI Improvement Juan Germán Castañeda Echevarria juanger
Joe Rozner MacPorts Web Application 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.

Some feature proposals:

  • Variant selection
  • Interactive dependency tree/graph

The GUI is driven by the MacPorts Framework, which acts as an wrapper of the MacPorts Tcl API to Objective-C. To enhance the GUI you will probably have to implement the respective features in the framework first.

It would be your task to identify possible improvements for the GUI. This can either be new features or (speed) improvements to existing ones.

Resources:

Classification: medium task
Programming languages: Objective-C and Tcl
Potential 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