3 # guile-gnome.sh -- download, compile, install g-wrap, guile-gnome,
6 # LilyPond has an experimental gnome canvas output backend -- hackers
7 # only. This depends on rather new versions of guile-gnome, g-wrap
12 # Where user built stuff will be installed
14 # When using GUILE CVS, make a slib/require like so
16 cd ~/usr/pkg/guile/share/guile/1.7 && ln -s /usr/share/guile/1.6/slib .
17 cd && guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)"
19 # otherwise, this may fix it...
20 SLIB_PATH=`locate slib/require.scm | head -1 | sed -s 's/require.scm//g'`
22 # What extra modules to pull (eg: EXTRA="libgnomecanvas libwnck")
23 EXTRA=${EXTRA-libgnomecanvas}
28 download=$HOME/usr/src/releases
29 [ -d $download ] || mkdir -p $download
30 WGET="wget -N -P $download"
32 export AUTOMAKE=automake-1.8
33 export ACLOCAL=aclocal-1.8
34 export AUTOCONF=$(which autoconf2.50)
35 export AUTOHEADER=$(which autoheader2.50)
37 export PKG_CONFIG_PATH
38 export LD_LIBRARY_PATH
39 export GUILE_LOAD_PATH
41 if [ -z "$AUTOCONF" ]; then
44 if [ -z "$AUTOHEADER" ]; then
49 # test: the name of our download and build directory
54 ## 1. install gnome-devel
55 ## - Debian/unstable: apt-get install gnome-devel
60 PKG_CONFIG_PATH=$OPT/pango/lib/pkgconfig:$PKG_CONFIG_PATH
61 LD_LIBRARY_PATH=$OPT/pango/lib:$LD_LIBRARY_PATH
64 if ! pkg-config --atleast-version=1.5.1 pango; then
66 if [ -n "$BLOEDIGE_RAND" ]; then
67 echo ":pserver:anonymous@anoncvs.gnome.org:/cvs/gnome" > CVS/Root
68 echo "." > CVS/Repository
69 cvs -z3 checkout -P pango
71 $WGET ftp://ftp.gtk.org/pub/gtk/v2.6/pango-$PANGOVERSION.tar.gz
72 tar -xzf $download/pango-$PANGOVERSION.tar.gz
73 ln -s pango-$PANGOVERSION pango
77 if [ ! -f configure ]; then
80 ./configure --prefix=$OPT/pango --enable-maintainer-mode --enable-gtk-doc
81 make XFT_LIBS="-L/usr/lib -lXft -L/usr/X11R6/lib -lfreetype -lz -lXrender -lX11 -lfontconfig" all install
85 ## 3. Currently (2004-9-15) GUILE CVS works somewhat
86 ## But there's a guile/g-wrap problem with integer parameters
90 if [ -d $OPT/libffi/ ]; then
91 export LDFLAGS=-L$OPT/libffi/lib
92 export CPPFLAGS=-I$OPT/libffi/include
95 PKG_CONFIG_PATH=$OPT/g-wrap/lib/pkgconfig:$PKG_CONFIG_PATH
96 LD_LIBRARY_PATH=$OPT/g-wrap/lib:$LD_LIBRARY_PATH
97 GUILE_LOAD_PATH=$OPT/g-wrap/share/guile/site:$GUILE_LOAD_PATH:$SLIB_PATH
101 ## note that bleeding edge (2004-9-13) g-wrap breaks guile-gnome.
102 if ! pkg-config --atleast-version=$GWRAPVERSION g-wrap-2.0-guile; then
103 if [ -n "$BLOEDIGE_RAND" ]; then
104 tla register-archive a.rottmann@gmx.at--2004-main \
105 http://people.debian.org/~rotty/arch/a.rottmann@gmx.at/2004-main || true
107 ## tla get a.rottmann@gmx.at--2004-main/g-wrap--tng g-wrap
108 ## tla get a.rottmann@gmx.at--2004-main/g-wrap--mainline--1.9.0 g-wrap
109 tla get a.rottmann@gmx.at--2004-main/g-wrap--dev--0 g-wrap
111 mkdir -p g-wrap/libffi
113 $WGET http://savannah.nongnu.org/download/g-wrap/g-wrap-$GWRAPVERSION.tar.gz
114 tar xzf $download/g-wrap-$GWRAPVERSION.tar.gz
115 ln -s g-wrap-$GWRAPVERSION g-wrap
120 if [ ! -f configure ]; then
121 sh autogen.sh --noconfigure
125 ../configure --prefix=$OPT/g-wrap --enable-maintainer-mode
132 ## cp srfi-34.scm from CVS head ? --hwn
133 #(cd $OPT/g-wrap/share/guile/site
134 # mv srfi-34.scm srfi-34.scm-g-wrap
135 # cp $OPT/guile/share/guile-1.7/srfi/srfi-34.scm .)
137 PKG_CONFIG_PATH=$OPT/guile-gnome/lib/pkgconfig:$PKG_CONFIG_PATH
138 LD_LIBRARY_PATH=$OPT/guile-gnome/lib:$LD_LIBRARY_PATH
139 GUILE_LOAD_PATH=$OPT/guile-gnome/share/guile:$GUILE_LOAD_PATH
140 ## 5. get guile-gnome
141 if ! pkg-config --atleast-version=$GGVERSION guile-gnome-glib; then
142 if [ -n "$BLOEDIGE_RAND" ]; then
144 if false; then # rotty
145 tla register-archive guile-gnome-devel@gnu.org--2004 \
146 http://people.debian.org/~rotty/arch/guile-gnome-devel@gnu.org/2004/ || true
147 tla get guile-gnome-devel@gnu.org--2004/dists--dev guile-gnome
149 tla build-config -r configs/gnu.org/dev
152 # 5a. get extra modules (gnome canvas)
154 tla get guile-gnome-devel@gnu.org--2004/$i--dev $i
157 tla register-archive wingo@pobox.com--2004-main \
158 http://ambient.2y.net/wingo/arch/wingo@pobox.com--2004-main || true
160 tla get wingo@pobox.com--2004-main/guile-gnome-dists--release guile-gnome
162 tla build-config -r configs/gnu.org/guile-gnome-platform-$GGVERSION
164 EXTRA="pkg atk defs glib gstreamer gtk gtksourceview libgda libglade libgnome libgnomeui pango libgnomecanvas"
167 # 5a. get extra modules (gnome canvas)
169 tla get wingo@pobox.com--2004-main/guile-gnome-$i--release $i
176 if [ ! -f configure ]; then
177 sh autogen.sh --noconfigure
182 $WGET http://download.gna.org/guile-gnome/releases/guile-gnome-platform-$GGVERSION.tar.gz
183 tar xzf $download/guile-gnome-platform-$GGVERSION.tar.gz
184 ln -s guile-gnome-platform-$GGVERSION guile-gnome
189 rm -rf $OPT/guile-gnome
193 # Using libtool < 1.6.0 together with gcc-3.4 may trigger this problem:
195 # If a tag has not been given, and we're using a compiler which is
196 # not one of the ones with which libtool was built, attempt to
197 # infer the compiler from the first word of the command line passed
200 if [ -z "$GCC34" ]; then
201 # Use libtool-1.5.6, gcc-3.{2,3} without -O2,
202 CFLAGS='-O -g' $srcdir/configure --prefix=$OPT/guile-gnome --enable-maintainer-mode
204 # or use gcc-3.4 with libtool-1.6.0
205 CC=$GCC34 $srcdir/configure --prefix=$OPT/guile-gnome --enable-maintainer-mode
207 make all install G_WRAP_MODULE_DIR=$OPT/g-wrap/share/guile/site
211 ***********************************************************************
212 Before using with Lily, do
214 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
215 export GUILE_LOAD_PATH=$GUILE_LOAD_PATH
216 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH
219 # simple test -- fails atm
220 # guile -s ../src/libgnomecanvas/examples/canvas.scm