Last updated: Tue Mar 17 16:42:05 2009 CET

My iPhone repository

Just stuff I had to compile myself because it wasn't there yet.

At this point it contains a.o.: Perl (5.10.0, no threads) as well as a collection of modules.
cURL (7.19.4): a more split out and more up-to-date version
DBUS (1.2.4): work in progress
pkg-config (0.23)
OpenVPN (2.03)
getopt (1.1.4)
groff (1.19.2)
idn (1.11)
libevent (1.4.9, broken DNS)
memcached (1.2.6)
libGD (2.0.35, PNG support)
FreeBSD's /usr/bin/locale

N.B. Since there is no working tun or tap driver yet, OpenVPN will be of limited use for now.

N.B. Saurik released a version pkg-config that does not check /usr/local/lib/pkgconfig for .pc files. So you either need to lock the version of pkg-config to mine (if you use aptitude), or make sure you export a proper PKG_CONFIG_PATH value in your .bashrc or .profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig

To use the repository, download the CoreDev public key and add it with apt-key add coredev.pub.

Then add a file /etc/apt/sources.list.d/coredev.nl.list containing:

deb http://coredev.nl/cydia iphone main

Refresh or restart Cydia (or simply use aptitude or even apt-get) and it should be there.

Notes for compiling on the iPhone itself.

export CPPFLAGS=-I/var/include Most useful include files are there instead of in /usr/include
export CPP=/usr/bin/cpp For some reason, autoconf looks for cpp in /lib sometimes.
For cURL (and possibly others): define HAVE_POSIX_STRERROR_R We have POSIX compliant strerror_r() instead of GNU glibc's deviant variant.
configure: make ac_link use ldid -S or set crosscompile=yes It tries to run stuff it compiles. For the ldid -S option, the initial check trying to run a.out needs to be fixed as well. fix_configure fixes the configure for binaries only in the current directory, so not .dylibs (yet)
Disable the "checking whether getcwd aborts..." and "checking whether getcwd handles long file names properly..." checks in configure.Those checks, present in for instance man-db's configure makes the iPhone reboot (!)
Add -march=armv6 -mcpu=arm1176jzf-s to CFLAGS if you want to use gdb.The current gdb is pretty picky.
Disable signature checksIt's of course always possible to temporarily disable signature checks by setting the security.mac.proc_enforce and security.mac.vnode_enforce sysctls to 0.
fakeroot failing tests (tar when root, plus touchinstall when not root)setpwent needs to be overloaded (libinfo.dylib)
__eprintf() missing As a quick hack, add a static definition of __eprintf() to <assert.h>, like the one here.


marcolz@stack.nl (Marc Olzheim)

<-Back to marcolz's homepage.