Opened 12 years ago

Closed 7 years ago

#403 closed enhancement (fixed)

Port Python to HelenOS

Reported by: Jiri Svoboda Owned by: Zbigniew Halas
Priority: major Milestone:
Component: helenos/app/other Version: mainline
Keywords: gsoc12, gsoc13 Cc: Vojtech Horky
Blocker for: Depends on:
See also: #311

Description (last modified by Martin Decky)

Port (a subset of) CPython to HelenOS.

Details
Python is a dynamic programming language that support object-oriented, imperative and even functional programming styles. Currently, HelenOS has no Python support but uses Python during build (e.g. for preparing configuration or for assembling disk image).
Integrate a reasonable subset of CPython to HelenOS so that it can be used to run helper scripts used in the build process. The selected subset shall also include support for tools used in development process of HelenOS, above all Bazaar revision system.
In the absence of missing backing libraries on HelenOS side (e.g. for some advance text user interface) to fulfill the goal outlined above (run helper scripts and Bazaar), the focus shall be on porting Python to such extent to allow most common operations.
What Gains and Benefits will this bring?
One of the strategic goals for HelenOS is becoming self-hosting. During previous GSoC, a PCC compiler (Portable C compiler) was ported to HelenOS, thus allowing to compile HelenOS sources inside HelenOS. Porting core parts of Python would bridge over the last step to have the possibility to build HelenOS from inside HelenOS.
Difficulty
Medium
Required skills
A successful applicant will have good skills of programming in the C and Python languages and the ability to survive in a non-standard non-POSIX application environment.
Documentation
Possible mentors
HelenOS Core Team, Vojtech Horky

Change History (11)

comment:1 by Jiri Svoboda, 12 years ago

Milestone: 0.5.0

comment:2 by Jakub Jermář, 12 years ago

Keywords: needswork added

comment:3 by Vojtech Horky, 12 years ago

Cc: Vojtech Horky added
Description: modified (diff)
See also: #311

comment:4 by Jakub Jermář, 12 years ago

Component: helenos/unspecifiedhelenos/app/other

comment:5 by Vojtech Horky, 12 years ago

Description: modified (diff)
Keywords: needswork removed

comment:7 by Jakub Jermář, 11 years ago

Keywords: gsoc13 added

comment:8 by Martin Decky, 11 years ago

Owner: set to Zbigniew Halas
Status: newassigned

comment:9 by Martin Decky, 11 years ago

Description: modified (diff)

comment:10 by Jakub Jermář, 10 years ago

There is now a basic Python port (2.7) in our coastline repository.
https://github.com/vhotspur/coastline
https://github.com/vhotspur/coastline/tree/master/python2

comment:11 by Jakub Jermář, 7 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.