wiki:SummerOfCode2014

Version 2 (modified by pixilla (Bradley Giesbrecht), 10 years ago) (diff)

--

Summer of Code 2014

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

Project Student Mentor
Read packages from pip Gaurav Bansal Bradley Giesbrecht
Project Clean-up Stuff Kyle Sammons Michael Dickens
Interactive Port Command Shashwat Pandey Rainer Mueller

Read packages from Python's PIP (pip2port)

MacPorts should be able to more readily install python packages from pip. We don't want to integrate the build/installation process of PIP, simply parse information or eggs it provides for various packages. This information will then be used to generate a Portfile, akin to cpan2port.

There may be instances where MacPorts package names don't match up with pip’s. In this case, pip should be the authority and all improperly named MacPorts packages should be replaced by a renamed copy. Verbose automation of this step, akin to the portcheckup script, is ideal.

The portfile generator might be helpful.

  • Difficulty: Medium
  • Languages: Tcl, Python, C
  • Potential mentors: snc

ToDo

  1. Pull data from DOAP for building base Portfile.
    • name
    • version
    • master_site
    • shortdescription
    • description
    • license
    • disfiles
    • depends_lib

Interactive port command

Write an interactive command-line tool that can be used instead of the non-interactive port(1). (The existing "interactive mode" of port(1) is actually just batch mode reading from stdin, and is not really interactive.) Factor out code used by both tools into a shared module.

An interactive tool would ask for user input to resolve many situations that cause port(1) to simply error out. For example, if you try to install a port and one of its dependencies conflicts with something already installed, it could ask if you want to deactivate the installed one and its dependents.

  • Difficulty: Medium
  • Languages: Tcl, C
  • Potential mentors: TBD