Building a GUI for MacPorts
March 24, 2008 § 5 Comments
In a fit of enthusiasm/hubris, I volunteered to be a mentor for MacPorts participation in the Google Summer of Code. Specifically, I’m taking on the issue of Graphical User Interfaces, because I once wrote one for DarwinPorts (the predecessor to MacPorts. Unfortunately, the code seems to be long gone; FreeBSD mirrored the dp-cocoa and PortsManager projects, but all the folders appear to be empty. :-(The current “state of the art” in MacPorts GUIs is the clever Port Authority by Kevin Walzer. Kevin did a fine job, but there is community interest in something that is:
- Native Cocoa
- Fully Open Source (and thus free, not shareware)
- removing the need to run as root
- installing built packages, rather than needing to compile ports
- Installing and using MacPorts, both via the command-line and Port Authority
- Comparing that user experience with Fink Commander (from the parallel Fink project)
- Exploring the internal Tcl libraries used by the port(1) command-line tool
- Identifying the key functionality to provide to user, both now and in the future
- Designing an Objective-C (or Ruby, or Python) wrapper for those Tcl calls (perhaps leveraging Objective-C/Tcl or tclobjc.)
- Developing a reusable MacPorts Framework, for both this GUI and potentially other projects
- Working with the MacPorts team (perhaps including other GSOC members) to address the pre-compiled packages and non-root-user issues
- Building a simple GUI to “prove out” the framework
- Develop an extensible architecture (palettes, services, etc.) for future GUI development
- Integrate nifty Leopard features (Core Data? Animation? Scriptability?)
Of course, that would be a lot to do in one Summer! For those submitting applications (due March 26th, I believe) the key is to demonstrate that you understand the larger problem and what you can realistically accomplish within the time available — and how others can build on it in the future.
Tagged: dp-cocoa, gui, macports, port authority, portsmanager
I am currently working (with the lead developer) on a similar project for GAP in my spare time. The issues you have raised are causing me to rethink the project for my GSoC proposal. That is, MacPorts might not be ready for a Native Cocoa GUI yet. It sounds like much more background work needs to be done.
Perhaps that should be the focus for now?
I’ve got the code for both those, if you still want it.
Just wondering, do you have an emial?? i have a few ?’s.. Thanks
My contact information is available on the MacPorts GSoC page:
[…] Building a GUI for MacPorts March 20084 comments 4