# Psion's own Balsa: 2.2.2 with their netbook-20041110 patch (86 files) and # printing-fonts patch already applied, built with the options from # balsa_2.2.2.oe -- --with-ssl and --enable-touch-ui, the finger-sized UI the # netBook Pro shipped. Their do_compile_prepend swaps in email.png as the # application icon, so do that here too. set -x rm -rf /build/out; mkdir -p /build/out/bin export PKG_CONFIG_PATH=/usr/lib/pkgconfig export LC_ALL=C # balsa's configure insists on scrollkeeper-config, which only indexes the # help documents -- OE had it via the gnome class. Nothing we build here needs # it, and only its presence is tested, so a stub satisfies the check without # dragging scrollkeeper and its docbook chain into the chroot. cat > /usr/bin/scrollkeeper-config <<'SK' #!/bin/sh case "$1" in --pkglocalstatedir) echo /var/lib/scrollkeeper ;; *) echo /usr ;; esac SK chmod 755 /usr/bin/scrollkeeper-config # make install runs these two as well; they only register help documents for t in scrollkeeper-preinstall scrollkeeper-update scrollkeeper-install; do printf '#!/bin/sh\nexit 0\n' > /usr/bin/$t; chmod 755 /usr/bin/$t done # Debian stopped shipping some .la files while keeping the library itself -- # libgtkhtml-3.1.la still names /usr/lib/libgnome-keyring.la as a dependency, # and libtool treats a missing .la as fatal even though libgnome-keyring.so is # sitting right next to it. Rewrite every dangling reference to a plain -l # where the library exists, and drop it where it does not. for la in /usr/lib/*.la; do for dep in `grep -o '/usr/lib/lib[A-Za-z0-9_.+-]*\.la' "$la" 2>/dev/null | sort -u`; do [ -f "$dep" ] && continue short=`basename "$dep" .la`; short=${short#lib} if [ -e "/usr/lib/lib${short}.so" ]; then sed -i "s|$dep|-l${short}|g" "$la" else sed -i "s|$dep||g" "$la" fi done done cd /build/balsa-2.2.2 cp -f /build/email.png images/balsa_icon.png # libbalsa/mailbox_imap.c uses uint32_t but includes neither stdint.h nor # inttypes.h -- it got the type transitively from whatever glibc headers # Psion's 2004 toolchain pulled in. It is the only file in the tree that does. grep -q '' libbalsa/mailbox_imap.c || \ sed -i 's|^#include |#include \n#include |' libbalsa/mailbox_imap.c ./configure --prefix=/usr --sysconfdir=/etc --with-ssl --enable-touch-ui \ --enable-gtkhtml --enable-pcre --disable-more-warnings \ > /build/out/conf.log 2>&1 echo "RC_conf=$?" tail -25 /build/out/conf.log # when a link test fails, the reason is only in config.log grep -A12 'new_aspell_speller' config.log 2>/dev/null | head -40 > /build/out/aspell.log cat /build/out/aspell.log grep -E '^checking for (GTKHTML|ESMTP|BALSA)|gtkhtml|touch' /build/out/conf.log | tail -10 make > /build/out/make.log 2>&1 echo "RC_make_raw=$?" tail -20 /build/out/make.log echo "RC_make=$?" # A binary on its own is not enough -- Totem opened and died because its # glade files were not in the image. Take the whole install tree so balsa's # data files come with it. if [ -f src/balsa ]; then cp src/balsa /build/out/bin/; strip /build/out/bin/balsa; echo GOT_balsa make install DESTDIR=/build/out/inst > /build/out/install.log 2>&1 echo "RC_install=$?" find /build/out/inst -type f | sed 's|/build/out/inst||' | sort > /build/out/filelist.txt wc -l < /build/out/filelist.txt else echo MISSING_balsa fi ls -l /build/out/bin