ALL OF THIS IS WORK IN PROGRESS!
RUBY
# cat test.rb
require 'base64'
input = "Hello Drudge\n"
puts e_input = Base64.encode64( input )
puts Base64.decode64( e_input )
# /opt/iphone/bin/ruby ttt.rb
SGVsbG8gRHJ1ZGdlCg==
Hello Drudge
PHP
# ./php -version
PHP 5.2.3 (cli) (built: Sep 16 2007 02:51:20)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
# ./php -i | head
phpinfo()
PHP Version => 5.2.3
System => Darwin James's iPhone 9.0.0d1 Darwin Kernel Version 9.0.0d1: Fri Jun 22 00:38:56 PDT 2007;
root:xnu-933.0.1.178.obj~1/RELEASE_ARM_S5L8900XRB iPhone1,1
Build Date => Sep 16 2007 02:50:31
Configure Command => './configure' '--host=arm-apple-darwin' '--enable-static' '--disable-shared'
'--prefix=/usr/local/php.arm/'
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /usr/local/php.arm//lib
Loaded Configuration File => (none)
php has busted dns also... need to use /etc/hosts for now
Need this line:
216.92.131.66 pear.php.net
or you will get:
gethostbyname failed in /private/var/root/- on line 1081
Warning: fsockopen(): unable to connect to pear.php.net:80
# curl http://go-pear.org/ | /opt/iphone/bin/php
Welcome to go-pear!
Go-pear will install the 'pear' command and all the files needed by
it. This command is your tool for PEAR installation and maintenance.
[SNIP]
Bootstrapping Installer...................
Bootstrapping PEAR.php............(remote) ok
Bootstrapping Archive/Tar.php............(remote) ok
Bootstrapping Console/Getopt.php............(remote) ok
Extracting installer..................
Downloading package: PEAR.............ok
Downloading package: Structures_Graph....ok
Preparing installer..................
Updating channel "pear.php.net"
Channel "pear.php.net" is up to date
Updating channel "pecl.php.net"
Channel "pecl.php.net" is up to date
Perl WORKING with modules
# /opt/iphone/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=darwin, osvers=, archname=arm-apple-darwin-2level
uname='darwin imac 8.10.1 darwin kernel version 8.10.1: wed may 23 16:33:00 pdt 2007;
root:xnu-792.22.5~1release_i386 i386 i386 '
config_args='-es -Uusedl -Dusedevel -Dusecrosscompile -Dtargethost=jamesiphone -Dtarge
tdir=/iphoneperl -Dtargetuser=root -Dtargetarch=darwin -Dprefix=/opt/iphone -Dosvers=8.10.
1 -Dcc=arm-apple-darwin-gcc -Dusrinc=/usr/local/arm-apple-darwin/include -Dincpth=/usr/loc
al/arm-apple-darwin/include -Dlibpth=/usr/local/arm-apple-darwin/lib -Doptimize=-O0'
AND:
# /opt/iphone/bin/perl -MCPAN -e shell
/opt/iphone/lib/perl5/5.8.8/CPAN/Config.pm initialized.
CPAN is the world-wide archive of perl resources. It consists of about
100 sites that all replicate the same contents all around the globe.
Many countries have at least one CPAN site already. The resources
found on CPAN are easily accessible with the CPAN.pm module. If you
want to use CPAN.pm, you have to configure it properly.
Perl
Perl works, just no modules until we have a 'native' compiler...
-bash-3.2# perl -e 'print 2+2 . "\n" '
4
Probably not worth the download at the moment as this stuff happens:
# perl -MCPAN -e shell
Not a CODE reference.
BEGIN failed--compilation aborted.
when ever you want a perl module even with the .bundles all in place... *sigh*
Resolver DNS
I found out this the hardway... tinyproxy now uses this:
22:59 < core> so this is kinda important!
22:59 < core> memcpy(addr, result->h_addr_list[0], result->h_length);
22:59 < core> fails on iphone
22:59 < core> but memcpy(addr, result->h_addr, result->h_length);
22:59 < core> works