ADDED .fossil-settings/ignore-glob Index: .fossil-settings/ignore-glob ================================================================== --- /dev/null +++ .fossil-settings/ignore-glob @@ -0,0 +1,1 @@ +build/*.gz Index: examples/canvas-sample.scm ================================================================== --- examples/canvas-sample.scm +++ examples/canvas-sample.scm @@ -1,6 +1,7 @@ - (use iup canvas-draw canvas-draw-iup) +(use iup canvas-draw) +(import canvas-draw-iup) (define dlg (dialog #:title "Test" #:minsize "320x240" (canvas #:action (make-canvas-action (lambda (cnv x y) ADDED scripts/installall.sh Index: scripts/installall.sh ================================================================== --- /dev/null +++ scripts/installall.sh @@ -0,0 +1,328 @@ +#! /usr/bin/env bash + +# set -x + +# Copyright 2007-2010, Matthew Welland. +# +# This program is made available under the GNU GPL version 2.0 or +# greater. See the accompanying file COPYING for details. +# +# This program is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. + +echo You may need to do the following first: +echo sudo apt-get install libreadline-dev +echo sudo apt-get install libwebkitgtk-dev +echo sudo apt-get install libmotif3 -OR- set KTYPE=26g4 +echo KTYPE can be 26, 26g4, or 32 +echo KTYPE=$KTYPE +echo You are using PREFIX=$PREFIX +echo You are using proxy="$proxy" +echo +echo "Set additional_libpath to help find gtk or other libraries, don't forget a leading :" +echo ADDITIONAL_LIBPATH=$ADDITIONAL_LIBPATH +echo +echo To use previous IUP libraries set USEOLDIUP to yes +echo USEOLDIUP=$USEOLDIUP +echo +echo Hit ^C now to do that + +# A nice way to run this script: +# +# script -c 'PREFIX=/tmp/delme ./installall.sh ' installall.log +# logpro installall.logpro installall.html < installall.log +# firefox installall.html + +sleep 5 + +if [[ $proxy == "" ]]; then + echo 'Please set the environment variable "proxy" to host.com:port (e.g. foo.com:1234) to use a proxy' + echo PROX="" +else + export http_proxy=http://$proxy + export PROX="-proxy $proxy" +fi + +if [[ $KTYPE == "" ]]; then + echo 'Using KTYPE=26' + export KTYPE=26 +else + echo Using KTYPE=$KTYPE +fi + +export CHICKEN_VERSION=4.8.0 +if ! [[ -e chicken-${CHICKEN_VERSION}.tar.gz ]]; then + wget http://code.call-cc.org/releases/${CHICKEN_VERSION}/chicken-${CHICKEN_VERSION}.tar.gz +fi + +BUILDHOME=$PWD +DEPLOYTARG=$BUILDHOME/deploy + +if [[ $PREFIX == "" ]]; then + PREFIX=$PWD/inst +fi + +export PATH=$PREFIX/bin:$PATH +export LIBPATH=$PREFIX/lib$ADDITIONAL_LIBPATH +export LD_LIBRARY_PATH=$LIBPATH +export CHICKEN_INSTALL=$PREFIX/bin/chicken-install +echo "export PATH=$PREFIX/bin:\$PATH" > setup-chicken4x.sh +echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> setup-chicken4x.sh + +echo PATH=$PATH +echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH + +if ! [[ -e $PREFIX/bin/csi ]]; then + tar xfvz chicken-${CHICKEN_VERSION}.tar.gz + cd chicken-${CHICKEN_VERSION} + # make PLATFORM=linux PREFIX=$PREFIX spotless + make PLATFORM=linux PREFIX=$PREFIX + make PLATFORM=linux PREFIX=$PREFIX install + cd $BUILDHOME +fi + +# Some eggs are quoted since they are reserved to Bash +# for f in matchable readline apropos base64 regex-literals format "regex-case" "test" coops trace csv dot-locking posix-utils posix-extras directory-utils hostinfo tcp rpc csv-xml fmt json md5; do +$CHICKEN_INSTALL $PROX -keep-installed matchable readline apropos base64 regex-literals format "regex-case" "test" coops trace csv dot-locking posix-utils posix-extras directory-utils hostinfo tcp rpc csv-xml fmt json md5 awful http-client spiffy uri-common intarweb http-client spiffy-request-vars +# if ! [[ -e $PREFIX/lib/chicken/6/$f.so ]];then +# $CHICKEN_INSTALL $PROX $f +# # $CHICKEN_INSTALL -deploy -prefix $DEPLOYTARG $PROX $f +# else +# echo Skipping install of egg $f as it is already installed +# fi +# done + +cd $BUILDHOME + +for a in `ls */*.meta|cut -f1 -d/` ; do + echo $a + (cd $a;$CHICKEN_INSTALL) +done + +export LIBPATH=$PREFIX/lib$ADDITIONAL_LIBPATH +export LD_LIBRARY_PATH=$LIBPATH + +export SQLITE3_VERSION=3071401 +echo Install sqlite3 +if ! [[ -e sqlite-autoconf-$SQLITE3_VERSION.tar.gz ]]; then + wget http://www.sqlite.org/sqlite-autoconf-$SQLITE3_VERSION.tar.gz +fi + +if ! [[ -e $PREFIX/bin/sqlite3 ]] ; then + if [[ -e sqlite-autoconf-$SQLITE3_VERSION.tar.gz ]]; then + tar xfz sqlite-autoconf-$SQLITE3_VERSION.tar.gz + (cd sqlite-autoconf-$SQLITE3_VERSION;./configure --prefix=$PREFIX;make;make install) + # CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib" $CHICKEN_INSTALL -prefix $DEPLOYTARG -deploy $PROX sqlite3 + CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib" $CHICKEN_INSTALL $PROX sqlite3 + fi +fi + +# $CHICKEN_INSTALL $PROX sqlite3 + +if [[ `uname -a | grep x86_64` == "" ]]; then + export ARCHSIZE='' +else + export ARCHSIZE=64_ +fi + # export files="cd-5.4.1_Linux${KTYPE}_lib.tar.gz im-3.6.3_Linux${KTYPE}_lib.tar.gz iup-3.5_Linux${KTYPE}_lib.tar.gz" +if [[ x$USEOLDIUP == "x" ]];then + export files="cd-5.5.1_Linux${KTYPE}_${ARCHSIZE}lib.tar.gz im-3.8_Linux${KTYPE}_${ARCHSIZE}lib.tar.gz iup-3.6_Linux${KTYPE}_${ARCHSIZE}lib.tar.gz" +else + echo WARNING: Using old IUP libraries + export files="cd-5.4.1_Linux${KTYPE}_${ARCHSIZE}lib.tar.gz im-3.6.3_Linux${KTYPE}_${ARCHSIZE}lib.tar.gz iup-3.5_Linux${KTYPE}_${ARCHSIZE}lib.tar.gz" +fi + +mkdir -p $PREFIX/iuplib +for a in `echo $files` ; do + if ! [[ -e $a ]] ; then + wget http://www.kiatoa.com/matt/iup/$a + fi + echo Untarring $a into $BUILDHOME/lib + (cd $PREFIX/lib;tar xfvz $BUILDHOME/$a;mv include/* ../include) + # (cd $DEPLOYTARG;tar xfvz $BUILDHOME/$a) +done + +# ffcall obtained from: +# cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/libffcall co ffcall + +if ! [[ -e ffcall.tar.gz ]] ; then + wget http://www.kiatoa.com/matt/iup/ffcall.tar.gz +fi + +tar xfvz ffcall.tar.gz + +cd ffcall +./configure --prefix=$PREFIX --enable-shared +make +make install + + +cd $BUILDHOME +export CSCLIBS=`echo $LD_LIBRARY_PATH | sed 's/:/ -L/g'` +CSC_OPTIONS="-I$PREFIX/include -L$CSCLIBS" $CHICKEN_INSTALL $PROX -D no-library-checks -feature disable-iup-web iup +# CSC_OPTIONS="-I$PREFIX/include -L$CSCLIBS" $CHICKEN_INSTALL $PROX -D no-library-checks -feature disable-iup-web -deploy -prefix $DEPLOYTARG iup +# iup:1.0.2 +CSC_OPTIONS="-I$PREFIX/include -L$CSCLIBS" $CHICKEN_INSTALL $PROX -D no-library-checks canvas-draw +# CSC_OPTIONS="-I$PREFIX/include -L$CSCLIBS" $CHICKEN_INSTALL $PROX -D no-library-checks -deploy -prefix $DEPLOYTARG canvas-draw + +# disabled zmq # #====================================================================== +# disabled zmq # # Note uuid needed only for zmq 2.x series +# disabled zmq # #====================================================================== +# disabled zmq # +# disabled zmq # # http://download.zeromq.org/zeromq-3.2.1-rc2.tar.gz +# disabled zmq # # zpatchlev=-rc2 +# disabled zmq # # http://download.zeromq.org/zeromq-2.2.0.tar.gz +# disabled zmq # +# disabled zmq # if [[ -e /usr/lib/libzmq.so ]]; then +# disabled zmq # echo "Using system installed zmq library" +# disabled zmq # $CHICKEN_INSTALL zmq +# disabled zmq # else +# disabled zmq # ZEROMQ=zeromq-2.2.0 +# disabled zmq # # ZEROMQ=zeromq-3.2.2 +# disabled zmq # +# disabled zmq # # wget http://www.kernel.org/pub/linux/utils/util-linux/v2.22/util-linux-2.22.tar.gz +# disabled zmq # UTIL_LINUX=2.21 +# disabled zmq # # UTIL_LINUX=2.20.1 +# disabled zmq # if ! [[ -e util-linux-${UTIL_LINUX}.tar.gz ]] ; then +# disabled zmq # # wget http://www.kiatoa.com/matt/util-linux-2.20.1.tar.gz +# disabled zmq # wget http://www.kernel.org/pub/linux/utils/util-linux/v${UTIL_LINUX}/util-linux-${UTIL_LINUX}.tar.gz +# disabled zmq # fi +# disabled zmq # +# disabled zmq # if [[ -e util-linux-${UTIL_LINUX}.tar.gz ]] ; then +# disabled zmq # tar xfz util-linux-${UTIL_LINUX}.tar.gz +# disabled zmq # cd util-linux-${UTIL_LINUX} +# disabled zmq # mkdir -p build +# disabled zmq # cd build +# disabled zmq # if [[ $UTIL_LINUX = "2.22" ]] ; then +# disabled zmq # ../configure --prefix=$PREFIX \ +# disabled zmq # --enable-shared \ +# disabled zmq # --disable-use-tty-group \ +# disabled zmq # --disable-makeinstall-chown \ +# disabled zmq # --disable-makeinstall-setuid \ +# disabled zmq # --disable-libtool-lock \ +# disabled zmq # --disable-login \ +# disabled zmq # --disable-sulogin \ +# disabled zmq # --disable-su \ +# disabled zmq # --disable-schedutils \ +# disabled zmq # --disable-libmount \ +# disabled zmq # --disable-mount \ +# disabled zmq # --disable-losetup \ +# disabled zmq # --disable-fsck \ +# disabled zmq # --disable-partx \ +# disabled zmq # --disable-mountpoint \ +# disabled zmq # --disable-fallocate \ +# disabled zmq # --disable-unshare \ +# disabled zmq # --disable-eject \ +# disabled zmq # --disable-agetty \ +# disabled zmq # --disable-cramfs \ +# disabled zmq # --disable-switch_root \ +# disabled zmq # --disable-pivot_root \ +# disabled zmq # --disable-kill \ +# disabled zmq # --disable-libblkid \ +# disabled zmq # --disable-utmpdump \ +# disabled zmq # --disable-rename \ +# disabled zmq # --disable-chsh-only-listed \ +# disabled zmq # --disable-wall \ +# disabled zmq # --disable-pg-bell \ +# disabled zmq # --disable-require-password \ +# disabled zmq # --disable-libtool-lock \ +# disabled zmq # --disable-nls \ +# disabled zmq # --disable-dmesg \ +# disabled zmq # --without-ncurses +# disabled zmq # else +# disabled zmq # ../configure --prefix=$PREFIX \ +# disabled zmq # --enable-shared \ +# disabled zmq # --disable-mount \ +# disabled zmq # --disable-fsck \ +# disabled zmq # --disable-partx \ +# disabled zmq # --disable-largefile \ +# disabled zmq # --disable-tls \ +# disabled zmq # --disable-libmount \ +# disabled zmq # --disable-mountpoint \ +# disabled zmq # --disable-nls \ +# disabled zmq # --disable-rpath \ +# disabled zmq # --disable-agetty \ +# disabled zmq # --disable-cramfs \ +# disabled zmq # --disable-switch_root \ +# disabled zmq # --disable-pivot_root \ +# disabled zmq # --disable-fallocate \ +# disabled zmq # --disable-unshare \ +# disabled zmq # --disable-rename \ +# disabled zmq # --disable-schedutils \ +# disabled zmq # --disable-libblkid \ +# disabled zmq # --disable-wall CFLAGS='-fPIC' +# disabled zmq # +# disabled zmq # # --disable-makeinstall-chown \ +# disabled zmq # # --disable-makeinstall-setuid \ +# disabled zmq # +# disabled zmq # # --disable-chsh-only-listed +# disabled zmq # # --disable-pg-bell let pg not ring the bell on invalid keys +# disabled zmq # # --disable-require-password +# disabled zmq # # --disable-use-tty-group do not install wall and write setgid tty +# disabled zmq # # --disable-makeinstall-chown +# disabled zmq # # --disable-makeinstall-setuid +# disabled zmq # fi +# disabled zmq # +# disabled zmq # (cd libuuid;make install) +# disabled zmq # # make +# disabled zmq # # make install +# disabled zmq # cp $PREFIX/include/uuid/uuid.h $PREFIX/include/uuid.h +# disabled zmq # fi +# disabled zmq # +# disabled zmq # +# disabled zmq # cd $BUILDHOME +# disabled zmq # +# disabled zmq # if ! [[ -e ${ZEROMQ}${zpatchlev}.tar.gz ]] ; then +# disabled zmq # wget http://download.zeromq.org/${ZEROMQ}${zpatchlev}.tar.gz +# disabled zmq # fi +# disabled zmq # +# disabled zmq # if [[ -e ${ZEROMQ}${zpatchlev}.tar.gz ]] ; then +# disabled zmq # tar xfz ${ZEROMQ}.tar.gz +# disabled zmq # cd ${ZEROMQ} +# disabled zmq # ln -s $PREFIX/include/uuid src +# disabled zmq # # LDFLAGS=-L$PREFIX/lib ./configure --prefix=$PREFIX +# disabled zmq # +# disabled zmq # ./configure --enable-static --prefix=$PREFIX --with-uuid=$PREFIX LDFLAGS="-L$PREFIX/lib" CPPFLAGS="-fPIC -I$PREFIX/include" LIBS="-lgcc" +# disabled zmq # # --disable-shared CPPFLAGS="-fPIC +# disabled zmq # # LDFLAGS="-L/usr/lib64 -L$PREFIX/lib" ./configure --enable-static --prefix=$PREFIX +# disabled zmq # make +# disabled zmq # make install +# disabled zmq # CSC_OPTIONS="-I$PREFIX/include -L$CSCLIBS" $CHICKEN_INSTALL $PROX zmq +# disabled zmq # # CSC_OPTIONS="-I$PREFIX/include -L$CSCLIBS" $CHICKEN_INSTALL $PROX -deploy -prefix $DEPLOYTARG zmq +# disabled zmq # fi +# disabled zmq # fi # if zmq is in /usr/lib +# disabled zmq # +cd $BUILDHOME + +## WEBKIT=WebKit-r131972 +## if ! [[ -e ${WEBKIT}.tar.bz2 ]] ; then +## # http://builds.nightly.webkit.org/files/trunk/src/WebKit-r131972.tar.bz2 +## wget http://builds.nightly.webkit.org/files/trunk/src/${WEBKIT}.tar.bz2 +## fi +## +## if [[ x$only_it_worked == $I_wish ]] ;then +## if [[ -e ${WEBKIT}.tar.bz2 ]] ; then +## tar xfj ${WEBKIT}.tar.bz2 +## cd $WEBKIT +## ./autogen.sh +## ./configure --prefix=$PREFIX +## make +## make install +## fi +## fi +## +## cd $BUILHOME + +# export CD_REL=d704525ebe1c6d08 +# if ! [[ -e Canvas_Draw-$CD_REL.zip ]]; then +# wget http://www.kiatoa.com/matt/iup/Canvas_Draw-$CD_REL.zip +# fi +# +# unzip -o Canvas_Draw-$CD_REL.zip +# +# cd "Canvas Draw-$CD_REL/chicken" +# CSC_OPTIONS="-I$PREFIX/include -L$LIBPATH" $CHICKEN_INSTALL $PROX -D no-library-checks + +echo You may need to add $LD_LIBRARY_PATH to your LD_LIBRARY_PATH variable, a setup-chicken4x.sh +echo file can be found in the current directory which should work for setting up to run chicken4x