15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
|
# PURPOSE.
if [[ $OPTION=="" ]]; then
export OPTION=std
fi
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 libpangox-1.0-0 zlib1g-dev libfreetype6-dev cmake
echo sudo apt-get install libssl-dev uuid-dev
echo sudo apt-get install libmotif3 -OR- set KTYPE=26g4
echo
echo Set OPTION to std, currently OPTION=$OPTION
echo
echo Additionally, if you want mysql-client, you will need to make sure
echo mysql_config is in your path
echo
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 :"
SYSTEM_TYPE=$(lsb_release -irs |tr ' ' '_' |tr '\n' '-')$(uname -i)-$OPTION
# Set up variables
#
case $SYSTEM_TYPE in
Ubuntu-16.04-x86_64-std)
KTYPE=32
CDVER=5.10
IUPVER=3.17
IMVER=3.11
;;
Ubuntu-16.04-i686-std)
KTYPE=32
CDVER=5.10
IUPVER=3.17
IMVER=3.11
;;
SUSE_LINUX_11-x86_64-std)
KTYPE=26g4
CDVER=5.10
IUPVER=3.17
IMVER=3.11
;;
CentOS_5.11-x86_64-std)
KTYPE=24g3
CDVER=5.4.1
IUPVER=3.5
IMVER=3.6.3
;;
esac
echo KTYPE=$KTYPE
echo CDVER=$CDVER
echo IUPVER=$IUPVER
echo IMVER=$IMVER
# NOTES:
#
# Centos with security setup may need to do commands such as following as root:
#
# NB// fix the paths first
#
# for a in /localdisk/chicken/4.8.0/lib/*.so;do chcon -t textrel_shlib_t $a; done
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=26g4
else
echo Using KTYPE=$KTYPE
fi
# Put all the downloaded tar files in tgz
mkdir -p tgz
# http://code.call-cc.org/releases/4.8.0/chicken-4.8.0.5.tar.gz
export CHICKEN_VERSION=4.11.0
export CHICKEN_BASEVER=4.11.0
chicken_targz=chicken-${CHICKEN_VERSION}.tar.gz
if ! [[ -e tgz/$chicken_targz ]]; then
wget http://code.call-cc.org/releases/${CHICKEN_BASEVER}/${chicken_targz}
mv $chicken_targz tgz
fi
BUILDHOME=$PWD
DEPLOYTARG=$BUILDHOME/deploy
if [[ $PREFIX == "" ]]; then
PREFIX=$PWD/inst
fi
export PATH=$PREFIX/bin:$PATH
export LIBPATH=$PREFIX/lib:$PREFIX/lib64:$ADDITIONAL_LIBPATH
export LD_LIBRARY_PATH=$LIBPATH
export CHICKEN_INSTALL=$PREFIX/bin/chicken-install
mkdir -p $PREFIX
echo "export PATH=$PREFIX/bin:\$PATH" > $PREFIX/setup-chicken4x.sh
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:\$LD_LIBRARY_PATH" >> $PREFIX/setup-chicken4x.sh
echo "export CHICKEN_DOC_PAGER=cat" >> $PREFIX/setup-chicken4x.sh
echo "setenv PATH $PREFIX/bin:\$PATH" > $PREFIX/setup-chicken4x.csh
echo "setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:\$LD_LIBRARY_PATH" >> $PREFIX/setup-chicken4x.csh
echo "setenv CHICKEN_DOC_PAGER cat" >> $PREFIX/setup-chicken4x.csh
echo PATH=$PATH
echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
if ! [[ -e $PREFIX/bin/csi ]]; then
tar xfz tgz/$chicken_targz
cd chicken-${CHICKEN_VERSION}
# make PLATFORM=linux PREFIX=$PREFIX spotless
make PLATFORM=linux PREFIX=$PREFIX
make PLATFORM=linux PREFIX=$PREFIX install
cd $BUILDHOME
fi
cd $BUILDHOME
#wget --no-check-certificate https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz
#mv 1.0.0 1.0.0.tar.gz
# if ! [[ -e $PREFIX/lib64/libnanomsg.so.1.0.0 ]]; then
# wget --no-check-certificate https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz
# mv 1.0.0 1.0.0.tar.gz
# tar xf 1.0.0.tar.gz
# cd nanomsg-1.0.0
# ./configure --prefix=$PREFIX
# make
# make install
# fi
# cd $BUILDHOME
export SQLITE3_VERSION=3090200
if ! [[ -e $PREFIX/bin/sqlite3 ]]; then
echo Install sqlite3
sqlite3_tgz=sqlite-autoconf-$SQLITE3_VERSION.tar.gz
if ! [[ -e tgz/$sqlite3_tgz ]]; then
wget http://www.sqlite.org/2015/$sqlite3_tgz
|
|
|
|
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
<
>
|
|
>
|
|
|
|
|
|
|
|
>
|
|
|
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
# PURPOSE.
if [[ $OPTION=="" ]]; then
export OPTION=std
fi
echo You may need to do the following first:
echo sudo apt install libreadline-dev
echo sudo apt install libwebkitgtk-dev
echo sudo apt install libpangox-1.0-0 zlib1g-dev libfreetype6-dev cmake
echo sudo apt install libssl-dev uuid-dev
echo sudo apt install libmotif3 -OR- set KTYPE=26g4
echo sudo apt install cmake
echo
echo Set OPTION to std, currently OPTION=$OPTION
echo
echo Additionally, if you want mysql-client, you will need to make sure
echo mysql_config is in your path
echo for postgres to install dbi libpq-dev
echo
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 :"
SYSTEM_TYPE=$(lsb_release -irs |tr ' ' '_' |tr '\n' '-')$(uname -i)-$OPTION
CHICKEN_VERSION=4.11.0
CHICKEN_BASEVER=4.11.0
# Set up variables
#
case $SYSTEM_TYPE in
Ubuntu-17.04-x86_64-std)
KTYPE=32
CDVER=5.10
IUPVER=3.17
IMVER=3.11
CHICKEN_VERSION=4.12.0
CHICKEN_BASEVER=4.12.0
;;
Ubuntu-16.04-x86_64-std)
KTYPE=32
CDVER=5.10
IUPVER=3.17
IMVER=3.11
CHICKEN_VERSION=4.12.0
CHICKEN_BASEVER=4.12.0
;;
Ubuntu-16.04-i686-std)
KTYPE=32
CDVER=5.10
IUPVER=3.17
IMVER=3.11
CHICKEN_VERSION=4.12.0
CHICKEN_BASEVER=4.12.0
;;
SUSE_LINUX_11-x86_64-std)
KTYPE=26g4
CDVER=5.10
IUPVER=3.19.1
IMVER=3.11
>> $PREFIX/setup-chicken4x.sh
echo "export CHICKEN_DOC_PAGER=cat" >> $PREFIX/setup-chicken4x.sh
echo "setenv PATH $PREFIX/bin:\$PATH" > $PREFIX/setup-chicken4x.csh
echo "setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:\$LD_LIBRARY_PATH" >> $PREFIX/setup-chicken4x.csh
echo "setenv CHICKEN_DOC_PAGER cat" >> $PREFIX/setup-chicken4x.csh
echo PATH=$PATH
echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
if ! [[ -e $PREFIX/bin/csi ]]; then
tar xfz tgz/$chicken_targz
cd chicken-${CHICKEN_VERSION}
# make PLATFORM=linux PREFIX=$PREFIX spotless
make PLATFORM=linux PREFIX=$PREFIX
make PLATFORM=linux PREFIX=$PREFIX install
cd $BUILDHOME
fi
cd $BUILDHOME
#if [[ ! -e 1.0.0.tar.gz ]];then
# wget --no-check-certificate https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz
# mv 1.0.0 1.0.0.tar.gz
#fi
if ! [[ -e $PREFIX/lib64/libnanomsg.so.1.0.0 ]]; then
wget --no-check-certificate https://github.com/nanomsg/nanomsg/archive/1.0.0.tar.gz
#mv 1.0.0 1.0.0.tar.gz
tar xf 1.0.0.tar.gz
cd nanomsg-1.0.0
./configure --prefix=$PREFIX
make
make install
CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib" $CHICKEN_INSTALL $PROX nanomsg
fi
cd $BUILDHOME
export SQLITE3_VERSION=3090200
if ! [[ -e $PREFIX/bin/sqlite3 ]]; then
echo Install sqlite3
sqlite3_tgz=sqlite-autoconf-$SQLITE3_VERSION.tar.gz
if ! [[ -e tgz/$sqlite3_tgz ]]; then
wget http://www.sqlite.org/2015/$sqlite3_tgz
|
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
|
done
# 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 md5 message-digest http-client spiffy-directory-listing
for egg 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 awful http-client spiffy uri-common intarweb http-client \
spiffy-request-vars s md5 message-digest spiffy-directory-listing ssax sxml-serializer \
sxml-modifications logpro z3 call-with-environment-variables \
pathname-expand typed-records simple-exceptions numbers crypt parley srfi-42 \
alist-lib ansi-escape-sequences args basic-sequences bindings chicken-doc chicken-doc-cmd \
cock condition-utils debug define-record-and-printer easyffi easyffi-base \
expand-full ezxdisp filepath foof-loop ini-file irc lalr lazy-seq \
locale locale-builtin locale-categories locale-components locale-current locale-posix \
|
|
|
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
done
# 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 md5 message-digest http-client spiffy-directory-listing
for egg 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 awful http-client:0.7.1 spiffy uri-common intarweb http-client \
spiffy-request-vars s md5 message-digest spiffy-directory-listing ssax sxml-serializer \
sxml-modifications logpro z3 call-with-environment-variables \
pathname-expand typed-records simple-exceptions numbers crypt parley srfi-42 \
alist-lib ansi-escape-sequences args basic-sequences bindings chicken-doc chicken-doc-cmd \
cock condition-utils debug define-record-and-printer easyffi easyffi-base \
expand-full ezxdisp filepath foof-loop ini-file irc lalr lazy-seq \
locale locale-builtin locale-categories locale-components locale-current locale-posix \
|
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
|
# iup:1.0.2
CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib" $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
cd $BUILDHOME
# install ducttape
cd ../ducttape
$CHICKEN_INSTALL
cd $BUILDHOME
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
echo Testing iup
$PREFIX/bin/csi -b -eval '(use iup)(print "Success")'
|
>
|
|
>
>
>
|
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
|
# iup:1.0.2
CSC_OPTIONS="-I$PREFIX/include -L$PREFIX/lib" $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
cd $BUILDHOME
# install ducttape
if [[ -e ../ducttape ]];then
cd ../ducttape
$CHICKEN_INSTALL
else
echo "ducttape egg not found at ../ducttape. You will need to cd into the ducttape directory in the megatest distribution and run \"chicken-install\""
fi
cd $BUILDHOME
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
echo Testing iup
$PREFIX/bin/csi -b -eval '(use iup)(print "Success")'
|