Follow us on Google+ Follow us on Facebook Follow us on Twitter

Opened 5 years ago

Closed 7 weeks ago

#403 closed enhancement (fixed)

Port Python to HelenOS

Reported by: svoboda Owned by: zhalas
Priority: major Milestone:
Component: helenos/app/other Version: mainline
Keywords: gsoc12, gsoc13 Cc: vhotspur
Blocker for: Depends on:
See also: #311

Description (last modified by 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 Changed 5 years ago by svoboda

  • Milestone 0.5.0 deleted

comment:2 Changed 5 years ago by jermar

  • Keywords needswork added

comment:3 Changed 5 years ago by vhotspur

  • Cc vhotspur added
  • Description modified (diff)
  • See also set to #311

comment:4 Changed 5 years ago by jermar

  • Component changed from helenos/unspecified to helenos/app/other

comment:5 Changed 5 years ago by vhotspur

  • Description modified (diff)
  • Keywords needswork removed

comment:7 Changed 4 years ago by jermar

  • Keywords gsoc13 added

comment:8 Changed 4 years ago by decky

  • Owner set to zhalas
  • Status changed from new to assigned

comment:9 Changed 4 years ago by decky

  • Description modified (diff)

comment:10 Changed 3 years ago by jermar

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 Changed 7 weeks ago by jermar

  • Resolution set to fixed
  • Status changed from assigned to closed
Note: See TracTickets for help on using tickets.