Editing Perl
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
- | + | '''The Perl environment on the Maemo Platform''' | |
- | + | Because Maemo is based on debian, and because perl is such a big part of the debian OS, Maemo contains a full-blown Perl platform. This page aims to document and describe this environment so developers can take advantage of it when programming on the Maemo platform. | |
- | |||
- | + | '''Fremantle''' | |
- | You will find it difficult to build | + | The current version of perl shipped with the N900 is 5.8.3. |
+ | |||
+ | |||
+ | One caveat of perl development on the [[N900]] is that there is a fuller perl distribution in the SDK than on the device. This means not just that there are fewer modules on the device, it means that rather fundamental perl modules are missing form the normal debian version of perl on the device. This is done to save space; the device itself is embedded linux, the root files system is rather small, i.e. 228 Megs. | ||
+ | |||
+ | You will find it difficult to build perl modules on the device if you do not add the necessary perl tools, namely perl and perl-modules. Without these key tools, many of the modules used to build perl modules won't exist on the device and you won't be able to add software written in perl. Here is an example of what is shipped with both the SDK and device environments; | ||
{| class="wikitable" | {| class="wikitable" | ||
- | | | + | | | '''In the SDK''' |
- | | | + | | style="background:LightBlue" | '''On device''' |
- | + | |} | |
- | | | + | {| class="wikitable" |
- | | liblocale-gettext-perl ''1.01-17osso2''< | + | | | liblocale-gettext-perl ''1.01-17osso2''<BR> |
- | libtimedate-perl ''1.1600-4osso''< | + | libtimedate-perl ''1.1600-4osso''<BR> |
- | perl ''5.8.3-3osso10''< | + | perl ''5.8.3-3osso10''<BR> |
- | perl-base ''5.8.3-3osso10''< | + | perl-base ''5.8.3-3osso10''<BR> |
- | perl-modules ''5.8.3-3osso10''< | + | perl-modules ''5.8.3-3osso10''<BR> |
- | | liblocale-gettext-perl ''1.01-17osso2''< | + | | style="background:LightBlue" | liblocale-gettext-perl ''1.01-17osso2''<BR> |
perl-base ''5.8.3-3osso10'' | perl-base ''5.8.3-3osso10'' | ||
|} | |} | ||
- | + | If you wish to add perl modules what I recommend is to bring in the necessary tools, namely the perl package and the perl-modules package. You can do that by adding the repositories that supply modules to the SDK. Of course you can build perl yourself, but it is already built for the device's architecture and it is in a known good state, so it is much easier to just take the already built perl binaries for the N900. (There are later versions of perl built and packaged for the device, I'll eventually provide links to those, until then, you'll have to rely on google.) | |
- | + | Once you have added the SDK repositories to your /etc/apt/sources.list, simply run apt-get update and apt-get install perl perl-modules. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | Once you have added the SDK repositories to your | + | |
- | + | ||
- | + | ||
Now you should be ready to start bringing other modules in. | Now you should be ready to start bringing other modules in. | ||
Line 39: | Line 36: | ||
I have packaged one module so far, I hope to bring in many more perl modules. If you package something for the device, why not contribute your module to the maemo repos and/or ask me to pull it into the [http://gitorious.org/maemo-perl-packages/maemo-perl-packages/trees/master gitorious repo that] I have set up? | I have packaged one module so far, I hope to bring in many more perl modules. If you package something for the device, why not contribute your module to the maemo repos and/or ask me to pull it into the [http://gitorious.org/maemo-perl-packages/maemo-perl-packages/trees/master gitorious repo that] I have set up? | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
[[Category:Software]] | [[Category:Software]] | ||
- |
Learn more about Contributing to the wiki.