Links
MacPorts Developers page
Back to Armahg's main 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.