# The Ensymble developer utilities for Symbian OS

## Welcome!

This is the Ensymble developer utilities for Symbian OS™, a collection of Python® modules and command line programs for Symbian OS software development.

Current focus of Ensymble development is to provide useful tools for making Python for S60 programs. Supported functions include generation of SIS (installation) packages, merging several SIS packages into one, (re-)signing existing SIS packages and modifying extension DLL headers. Support for other Symbian OS software development tasks will follow.

A long term goal of Ensymble is to provide a cross-platform, open-source way to do Symbian OS software development, supporting Symbian OS versions 9.1 and later. The original tools by Symbian are closed source and only available for the Windows® operating system. Ensymble is under the GNU GPL license.

## Requirements

- Operating system:
  - Most Unix-like operating systems, tested on Linux and OS X
  - Windows® NT, 2000 or XP, tested on XP
- Python v2.2 or greater, tested on Python v2.2, v2.3, v2.4 and v2.5
- The OpenSSL command line tool:
  - OpenSSL is pre-installed on most Linux systems and on OS X.
  - For Windows, the Stunnel OpenSSL binaries are recommended.

Ensymble targets Symbian OS v9.1 and later. For Nokia phones, this means S60 3rd Edition. 1st and 2nd Edition phones are not directly supported by Ensymble. A list of editions for Nokia phones is available from Forum Nokia. (See py2sisng for a cross-platform version of py2sis, compatible with S60 1st and 2nd Edition.)

The py2sis command of Ensymble produces installation packages (SIS) for Python for S60 version 1.4.0 and later. Version 1.4.0 of Python for S60 is the first officially signed release from Nokia. Although packages generated with Ensymble also work with PyS60 from v1.3.8 upto v1.3.23, a harmless warning is generated during installation for a missing Python for S60 component.

NOTE: PyS60 versions 1.3.20 and older require that SIS files generated by Ensymble are installed into main phone memory instead of memory card. This bug has been corrected in version 1.3.21 of PyS60.

## Download

Ensymble pre-squeezed versions are ready to use. Just copy the file to a suitable place (on command search path) and start using it!

### Latest

v0.27 2008-06-30

- Source: ensymble-0.27.tar.gz (96 kB)
- Pre-squeezed version for Python v2.2: ensymble_python2.2-0.27.py (94 kB)
- Pre-squeezed version for Python v2.3: ensymble_python2.3-0.27.py (83 kB)
- Pre-squeezed version for Python v2.4: ensymble_python2.4-0.27.py (80 kB)
- Pre-squeezed version for Python v2.5: ensymble_python2.5-0.27.py (78 kB)
- Documentation: README-0.27.txt (42 kB)

Changes:

- Implemented --heapsize option for the py2sis and altere32 commands. Sometimes the default heap maximum limit of one megabyte is not enough, for example when handling large pictures from the built-in camera.
- Implemented an --extrasdir option for the py2sis command. It allows flexible placement of extra files, just like the simplesis command does.
- Added support for PKCS#8 format private keys. Some people have received these types of keys from Symbian.

### Older versions

Older versions of Ensymble can be found in the archives.

## Project history

- 2008-10-17
  Converted everything from ISO-8859-1 to UTF-8 encoding.

- 2008-06-30
  Released Ensymble v0.27 2008-06-30.
- 2008-01-27
  Released Ensymble v0.26 2008-01-27.
- 2007-12-15
  Released Ensymble v0.25 2007-12-15.
- 2007-10-18
  Released Ensymble v0.24 2007-10-18.
- 2007-07-16
  Released Ensymble v0.23 2007-07-16.
- 2007-05-05
  Update the web page to reflect changes in PyS60 v1.3.21 (installation to memory card bug is fixed).
- 2007-02-08
  Released Ensymble v0.22 2007-02-08.
- 2007-02-03
  Added a pre-squeezed version of Ensymble v0.21 for Python v2.5.
- 2007-02-01
  Released Ensymble v0.21 2007-02-01.
- 2007-01-01
  Wrote a lot of documentation.
  Released Ensymble v0.20 2007-01-01.
- 2006-11-18
  Released Ensymble v0.15 2006-11-18.
- 2006-11-12
  Released Ensymble v0.14 2006-11-12.
- 2006-10-06
  Fourth public preview release: v0.13 2006-10-06
- 2006-10-05
  Third public preview release: v0.12 2006-10-05
- 2006-09-26
  Second public preview release: v0.11 2006-09-26
- 2006-09-25
  Tested Ensymble with Python v2.2 and added a pre-squeezed version for v2.2.
  Minor edits to documentation
- 2006-09-24
  First public preview release: v0.10 2006-09-24

## Related links

- Python for S60 on SourceForge
- Python for S60 discussion board, where questions about Ensymble are answered
- A lot of useful Symbian OS information and software by Martin Storsjö, including a full Symbian C++ toolchain for Linux and Mac OS X!
- Symbian OS v9.X SIS File Format Specification from Symbian
- Python-to-SIS, the next generation for S60 1st and 2nd Edition phones

Copyright © 2006, 2007, 2008 Jussi Ylänen
jussi <dot> ylanen <at> iki <dot> fi