| 1 | = Links = |
| 2 | [wiki:MacPortsDevelopers Back to the MacPorts Developers page][[BR]] |
| 3 | [wiki:MacPorts.Framework_Roadmap MacPorts.Framework Roadmap][[BR]] |
| 4 | [wiki:MPFramworkGSocWk MacPorts.Framework GSoc Log] |
| 5 | |
| 6 | |
| 7 | = GSoC 2008 - MacPorts Framework = |
| 8 | |
| 9 | 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. [wiki:rhwood 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: |
| 10 | |
| 11 | |
| 12 | |
| 13 | = Project Overview = |
| 14 | The MacPorts project is written mostly in Tcl and runs on the Mac OS X platform. |
| 15 | Since Objective-C is usually the defacto programming language for applications |
| 16 | that leverage the Mac's Cocoa Framework and other OS X technologies, applications |
| 17 | that want to leverage MacPorts Tcl based API (of notable interest are |
| 18 | GUI front ends for the MacPorts infrastructure) will have to come up with a way |
| 19 | to bridge their code with MacPorts' Tcl code. [[BR]] |
| 20 | |
| 21 | To this end, there is currently |
| 22 | an ongoing effort to build a Coca framework around the MacPorts Tcl-based API. |
| 23 | (See [wiki:MacPortsFramework]). |
| 24 | As the project site mentions : "The goal of the Framework is to provide a responsive |
| 25 | and fully-featured API to MacPorts for Cocoa developers with an emphasis on |
| 26 | responsiveness for GUI developers." [[BR]] |
| 27 | |
| 28 | The primary goal of my project will be |
| 29 | 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:[[BR]] |
| 30 | |
| 31 | * A Foundation Framework that implements the MacPorts Tcl API and |
| 32 | * An AppKit Framework that uses the Foundation to expose the elements in the Foundation that would be necessary for making a GUI. |
| 33 | |
| 34 | |
| 35 | |
| 36 | == MacPorts Foundation (MacPorts.Framework) == |
| 37 | This will provide object orientation for manipulating the ports along with |
| 38 | the properties of the port (installed, not installed, maintainer). It |
| 39 | will have messages that enable the installation, removal, upgrade etc. of |
| 40 | a port. |
| 41 | |
| 42 | |
| 43 | == MacPorts Application Kit (MacPorts AppKit.Framework) == |
| 44 | This will implement a secure mechanism for using the Foundation |
| 45 | to provide information necessary for making a UI. The Foundation allows |
| 46 | one to programatically interface with the MacPorts internals, the AppKit |
| 47 | will in some sense, provide more granular, formatted information |
| 48 | on the status of ports (among others).[[BR]] |
| 49 | |
| 50 | |
| 51 | |
| 52 | A more detailed description of the above frameworks has kindly been provided by my mentor at [wiki:MacPorts.Framework_Roadmap MacPorts.Framework Roadmap]. I will also |
| 53 | be hoping to do a fair bit of code documentation as my project progresses. |
| 54 | I will be updating [wiki:MPFramworkGSocWk MacPorts.Framework GSoc Log] about once per |
| 55 | week with notes on my progress over the summer. |
| 56 | |
| 57 | == A little bit about myself == |
| 58 | I am a final year, Ghanaian born, Computer Science and Mathematics double major from Lafayette College. |
| 59 | I started learning Computer Science about 3 years ago when I switched majors. |
| 60 | I have learnt the following languages from my courses: Java, Python, Standard ML, C, C++, Mathematica |
| 61 | and have varying levels of proficiency in them. I have also self-taught myself Objective-C and Cocoa |
| 62 | with lots of help from the Open Source community. [[BR]] |
| 63 | |
| 64 | In addition to my interests in Computer Science, I have a strong interest in Mathematics: Group |
| 65 | Theory to be exact. My current final year project involves learning about how theoritical computer |
| 66 | science tools can be applied to studying Reflection groups. |
| 67 | See [http://cayleycoxeter.blogspot.com/] for more details. |
| 68 | |
| 69 | |
| 70 | |