]> git.donarmstrong.com Git - lilypond.git/blobdiff - buildscripts/guile-gnome.sh
* flower/direction.cc:
[lilypond.git] / buildscripts / guile-gnome.sh
index 341a9c77a090aefb2c58d88b12fd39a4b07fb7bc..577956dcd554aadd1a2900796e76944b5e637129 100644 (file)
@@ -1,7 +1,5 @@
 #!@BASH@
 
-# WIP - this (the guile-gnome canvas) is broken ATM.
-
 # guile-gnome.sh -- download, compile, install g-wrap, guile-gnome,
 # pango
 
@@ -13,7 +11,7 @@ set -ex
 
 # Where user built stuff will be installed
 OPT=$HOME/usr/pkg
-## when using GUILE CVS, make a slib/require like so:
+# When using GUILE CVS, make a slib/require like so
 cat > /dev/null <<EOF
 cd ~/usr/pkg/guile/share/guile/1.7 && ln -s /usr/share/guile/1.6/slib .
 cd && guile -c "(use-modules (ice-9 slib)) (require 'new-catalog)"
@@ -23,8 +21,14 @@ SLIB_PATH=`locate slib/require.scm | head -1 | sed -s 's/require.scm//g'`
 
 # What extra modules to pull (eg: EXTRA="libgnomecanvas libwnck")
 EXTRA=${EXTRA-libgnomecanvas}
-GGVERSION=2.5.995
-GWRAPVERSION=1.9.3rc1
+PANGOVERSION=1.6.0
+GGVERSION=2.7.99
+GWRAPVERSION=1.9.5
+GLVERSION=0.1.2
+
+download=$HOME/usr/src/releases
+[ -d $download ] || mkdir -p $download
+WGET="wget -N -P $download"
 
 export AUTOMAKE=automake-1.8
 export ACLOCAL=aclocal-1.8
@@ -65,9 +69,9 @@ if ! pkg-config --atleast-version=1.5.1 pango; then
        echo "." > CVS/Repository
        cvs -z3 checkout -P pango
     else
-        wget -N ftp://ftp.gtk.org/pub/gtk/v2.5/pango-1.5.2.tar.gz
-       tar -xzf pango-1.5.2.tar.gz
-       ln -s pango-1.5.2 pango
+        $WGET ftp://ftp.gtk.org/pub/gtk/v2.6/pango-$PANGOVERSION.tar.gz
+       tar -xzf $download/pango-$PANGOVERSION.tar.gz
+       ln -s pango-$PANGOVERSION pango
     fi
     cd pango
     rm -rf $OPT/pango
@@ -75,28 +79,21 @@ if ! pkg-config --atleast-version=1.5.1 pango; then
        ./autogen.sh --help
     fi
     ./configure --prefix=$OPT/pango --enable-maintainer-mode --enable-gtk-doc
-    make XFT_LIBS="-L/usr/lib -lXft -L/usr/X11R6/lib -lfreetype -lz -lXrender -lX11 -lfontconfig" install
+    make XFT_LIBS="-L/usr/lib -lXft -L/usr/X11R6/lib -lfreetype -lz -lXrender -lX11 -lfontconfig" all install
     cd ../..
 fi
 
 ## 3. Currently (2004-9-15) GUILE CVS works somewhat
 ##    But there's a guile/g-wrap problem with integer parameters
-unset GUILE_LOAD_PATH
-PATH=/usr/bin:$PATH
+## PATH=/usr/bin:$PATH
 
 if [ -d $OPT/libffi/ ]; then
     export LDFLAGS=-L$OPT/libffi/lib
     export CPPFLAGS=-I$OPT/libffi/include
 fi
 
-PKG_CONFIG_PATH=$OPT/g-wrap/lib/pkgconfig:$PKG_CONFIG_PATH
-LD_LIBRARY_PATH=$OPT/g-wrap/lib:$LD_LIBRARY_PATH
-GUILE_LOAD_PATH=$OPT/g-wrap/share/guile/site:$GUILE_LOAD_PATH:$SLIB_PATH
-
-
 ## 4.  get g-wrap 2.0
-## note that bleeding edge (2004-9-13) g-wrap breaks guile-gnome.
-if ! pkg-config --exact-version=1.9.1 g-wrap-2.0-guile; then
+if ! pkg-config --atleast-version=$GWRAPVERSION g-wrap-2.0-guile; then
     if [ -n "$BLOEDIGE_RAND" ]; then
        tla register-archive a.rottmann@gmx.at--2004-main \
            http://people.debian.org/~rotty/arch/a.rottmann@gmx.at/2004-main || true
@@ -107,9 +104,8 @@ if ! pkg-config --exact-version=1.9.1 g-wrap-2.0-guile; then
         ## ughr:
        mkdir -p g-wrap/libffi
     else
-       #wget -N http://savannah.nongnu.org/download/g-wrap/g-wrap-$GWRAPVERSION.tar.gz
-       wget -N http://stud3.tuwien.ac.at/~e9926584/tmp/g-wrap-$GWRAPVERSION.tar.gz
-       tar xzf g-wrap-$GWRAPVERSION.tar.gz
+       $WGET http://savannah.nongnu.org/download/g-wrap/g-wrap-$GWRAPVERSION.tar.gz
+       tar xzf $download/g-wrap-$GWRAPVERSION.tar.gz
        ln -s g-wrap-$GWRAPVERSION g-wrap
     fi
     cd g-wrap
@@ -123,8 +119,38 @@ if ! pkg-config --exact-version=1.9.1 g-wrap-2.0-guile; then
     ../configure --prefix=$OPT/g-wrap --enable-maintainer-mode
     make install
     cd ../..
-fi    
+    PKG_CONFIG_PATH=$OPT/g-wrap/lib/pkgconfig:$PKG_CONFIG_PATH
+    LD_LIBRARY_PATH=$OPT/g-wrap/lib:$LD_LIBRARY_PATH
+    GUILE_LOAD_PATH=$OPT/g-wrap/share/guile/site:$GUILE_LOAD_PATH:$SLIB_PATH
+fi
 
+## 4a.  get g-lib 0.1.2
+if ! guile -c "(use-modules (srfi srfi-35))"; then
+    if [ -n "$BLOEDIGE_RAND" ]; then
+       :
+    else
+       $WGET http://download.gna.org/guile-lib/guile-lib-$GLVERSION.tar.gz
+       tar xzf $download/guile-lib-$GLVERSION.tar.gz
+       ln -s guile-lib-$GLVERSION guile-lib
+    fi
+    cd guile-lib
+    
+    rm -rf $OPT/guile-lib
+    if [ ! -f src/configure ]; then
+       sh autogen.sh --noconfigure
+    fi    
+    mkdir =build
+    cd =build
+    ../src/configure --prefix=$OPT/guile-lib #--enable-maintainer-mode
+    if true; then
+       make
+       cp ./guile-lib/doc/guile-library.info doc
+       install -d $OPT/guile-lib/share/info
+    fi
+    make install
+    cd ../..
+    GUILE_LOAD_PATH=$OPT/guile-lib/share/guile:$GUILE_LOAD_PATH
+fi    
 
 # not a good idea
 ## cp srfi-34.scm from CVS head ?  --hwn
@@ -132,9 +158,6 @@ fi
 # mv srfi-34.scm srfi-34.scm-g-wrap
 # cp $OPT/guile/share/guile-1.7/srfi/srfi-34.scm .)
 
-PKG_CONFIG_PATH=$OPT/guile-gnome/lib/pkgconfig:$PKG_CONFIG_PATH
-LD_LIBRARY_PATH=$OPT/guile-gnome/lib:$LD_LIBRARY_PATH
-GUILE_LOAD_PATH=$OPT/guile-gnome/share/guile:$GUILE_LOAD_PATH
 ## 5.  get guile-gnome
 if ! pkg-config --atleast-version=$GGVERSION guile-gnome-glib; then
     if [ -n "$BLOEDIGE_RAND" ]; then
@@ -175,12 +198,14 @@ if ! pkg-config --atleast-version=$GGVERSION guile-gnome-glib; then
            sh autogen.sh --noconfigure
        fi
        cd ..
+       srcdir="../src"
     else
-       wget -N http://ambient.2y.net/wingo/tmp/guile-gnome-platform-$GGVERSION.tar.gz
-       tar xzf guile-gnome-platform-$GGVERSION.tar.gz
+       #$WGET http://download.gna.org/guile-gnome/releases/guile-gnome-platform-$GGVERSION.tar.gz
+       $WGET ftp://ftp.gnu.org/gnu/guile-gnome/guile-gnome-platform/guile-gnome-platform-$GGVERSION.tar.gz
+       tar xzf $download/guile-gnome-platform-$GGVERSION.tar.gz
        ln -s guile-gnome-platform-$GGVERSION guile-gnome
        cd guile-gnome
-       ln -s . src
+       srcdir="../"
     fi
     
     rm -rf $OPT/guile-gnome
@@ -196,14 +221,25 @@ if ! pkg-config --atleast-version=$GGVERSION guile-gnome-glib; then
 #
     if [ -z "$GCC34" ]; then
     # Use libtool-1.5.6, gcc-3.{2,3} without -O2,
-       CFLAGS='-O -g' ../src/configure --prefix=$OPT/guile-gnome --enable-maintainer-mode
+       CFLAGS='-O -g' $srcdir/configure --prefix=$OPT/guile-gnome --enable-maintainer-mode
     else
     # or use gcc-3.4 with libtool-1.6.0
-       CC=$GCC34 ../src/configure --prefix=$OPT/guile-gnome --enable-maintainer-mode
+       CC=$GCC34 $srcdir/configure --prefix=$OPT/guile-gnome --enable-maintainer-mode
     fi
-    make install G_WRAP_MODULE_DIR=$OPT/g-wrap/share/guile/site
+    make all install G_WRAP_MODULE_DIR=$OPT/g-wrap/share/guile/site
+    PKG_CONFIG_PATH=$OPT/guile-gnome/lib/pkgconfig:$PKG_CONFIG_PATH
+    LD_LIBRARY_PATH=$OPT/guile-gnome/lib:$LD_LIBRARY_PATH
+    GUILE_LOAD_PATH=$OPT/guile-gnome/share/guile:$GUILE_LOAD_PATH
 fi
 
+cat <<EOF
+***********************************************************************
+Before using with Lily, do
+
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH
+    export GUILE_LOAD_PATH=$GUILE_LOAD_PATH
+    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH
+EOF
+
 # simple test -- fails atm
 # guile -s ../src/libgnomecanvas/examples/canvas.scm
-