wiki:MacPortsFrameworkGSoC2008Page

Version 1 (modified by armahg@…, 16 years ago) (diff)

--

Links

Back to the MacPorts Developers page
MacPorts.Framework Roadmap
MacPorts.Framework GSoc Log

GSoC 2008 - MacPorts Framework

Hello all, I am Armahg (a.k.a. George Armah) and will be working on a Foundation and AppKit MacPorts Framework for GSoC this summer. I am not a port maintainer yet but I am hoping to learn enough from GSoC to become a regular contributer and maintain some ports. Randall Wood (a.k.a. rhwood) who had already started some of this project has offered to be my mentor. Below is a description of my project:

Project Overview

The MacPorts project is written mostly in Tcl and runs on the Mac OS X platform. Since Objective-C is usually the defacto programming language for applications that leverage the Mac's Cocoa Framework and other OS X technologies, applications that want to leverage MacPorts Tcl based API (of notable interest are GUI front ends for the MacPorts infrastructure) will have to come up with a way to bridge their code with MacPorts' Tcl code.

To this end, there is currently an ongoing effort to build a Coca framework around the MacPorts Tcl-based API. (See MacPortsFramework). As the project site mentions : "The goal of the Framework is to provide a responsive and fully-featured API to MacPorts for Cocoa developers with an emphasis on responsiveness for GUI developers."

The primary goal of my project will be to build on what has already been done in order to complete the ongoing MacPorts Framework along with the necessary API documentation etc. This will consist of two main deliverables:

  • A Foundation Framework that implements the MacPorts Tcl API and
  • An AppKit Framework that uses the Foundation to expose the elements in the Foundation that would be necessary for making a GUI.

MacPorts Foundation (MacPorts.Framework)

This will provide object orientation for manipulating the ports along with the properties of the port (installed, not installed, maintainer). It will have messages that enable the installation, removal, upgrade etc. of a port.

MacPorts Application Kit (MacPorts AppKit.Framework)

This will implement a secure mechanism for using the Foundation to provide information necessary for making a UI. The Foundation allows one to programatically interface with the MacPorts internals, the AppKit will in some sense, provide more granular, formatted information on the status of ports (among others).

A more detailed description of the above frameworks has kindly been provided by my mentor at MacPorts.Framework Roadmap. I will also be hoping to do a fair bit of code documentation as my project progresses. I will be updating MacPorts.Framework GSoc Log about once per week with notes on my progress over the summer.

A little bit about myself

I am a final year, Ghanaian born, Computer Science and Mathematics double major from Lafayette College. I started learning Computer Science about 3 years ago when I switched majors. I have learnt the following languages from my courses: Java, Python, Standard ML, C, C++, Mathematica and have varying levels of proficiency in them. I have also self-taught myself Objective-C and Cocoa with lots of help from the Open Source community.

In addition to my interests in Computer Science, I have a strong interest in Mathematics: Group Theory to be exact. My current final year project involves learning about how theoritical computer science tools can be applied to studying Reflection groups. See http://cayleycoxeter.blogspot.com/ for more details.