From e6464a1728ae429387d4870c65a4226ab0548406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20K=C3=B6hler?= Date: Sun, 3 Sep 2006 19:54:50 +0000 Subject: [PATCH] Split glade installer into small gtk/gnome/other packages, add libglade. Still experimental. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@14790 57a11ea4-9604-0410-9ed3-97b8803252fd --- packaging/win32/custom.sh | 98 ++++++++++++------- packaging/win32/install.sh | 188 +++++++++++++++++++++++++------------ 2 files changed, 190 insertions(+), 96 deletions(-) diff --git a/packaging/win32/custom.sh b/packaging/win32/custom.sh index 64eec1542b..374eb3f561 100644 --- a/packaging/win32/custom.sh +++ b/packaging/win32/custom.sh @@ -16,6 +16,7 @@ WGET_DIR=$GLOBAL_DIR\\wget #WGET= SF_MIRROR="http://heanet.dl.sourceforge.net/sourceforge" +GTK_MIRROR="ftp://ftp.gtk.org/pub" GNOME_MIRROR="ftp.gnome.org/pub/gnome" DTK_URL="$SF_MIRROR/mingw/msysDTK-1.0.1.exe" @@ -41,43 +42,71 @@ GUILE_URL="http://ftp.gnu.org/pub/gnu/guile/guile-1.6.8.tar.gz" SLIB_URL="http://swiss.csail.mit.edu/ftpdir/scm/slib3a3.zip" GUILE_DIR=$GLOBAL_DIR\\guile -GWRAP_URL="http://download.savannah.gnu.org/releases/g-wrap/g-wrap-1.9.6.tar.gz" -GWRAP_DIR=$GLOBAL_DIR\\g-wrap - -GLADE_URL="$SF_MIRROR/gladewin32/gtk-win32-devel-2.8.18-rc1.exe" -GLADE_DIR=$GLOBAL_DIR\\glade - OPENSSL_URL="http://www.slproweb.com/download/Win32OpenSSL-v0.9.8b.exe" OPENSSL_DIR=$GLOBAL_DIR\\openssl -GNOME_PLATFORM_URL="$GNOME_MIRROR/platform/2.14/2.14.3/win32" -GNOME_DESKTOP_URL="$GNOME_MIRROR/desktop/2.14/2.14.2/win32" -INTLTOOL_URL="$GNOME_PLATFORM_URL/intltool-0.35.0.zip" -GAIL_URL="$GNOME_PLATFORM_URL/gail-1.8.11.zip" -GCONF_URL="$GNOME_PLATFORM_URL/GConf-2.14.0.zip" -GCONF_DEV_URL="$GNOME_PLATFORM_URL/GConf-dev-2.14.0.zip" -ORBIT2_URL="$GNOME_PLATFORM_URL/ORBit2-2.14.2.zip" -ORBIT2_DEV_URL="$GNOME_PLATFORM_URL/ORBit2-dev-2.14.2.zip" -LIBBONOBO_URL="$GNOME_PLATFORM_URL/libbonobo-2.14.0-20060619.zip" -LIBBONOBO_DEV_URL="$GNOME_PLATFORM_URL/libbonobo-dev-2.14.0-20060619.zip" -GNOME_VFS_URL="$GNOME_PLATFORM_URL/gnome-vfs-2.14.2.zip" -GNOME_VFS_DEV_URL="$GNOME_PLATFORM_URL/gnome-vfs-dev-2.14.2.zip" -LIBGNOME_URL="$GNOME_PLATFORM_URL/libgnome-2.14.1-20060613.zip" -LIBGNOME_DEV_URL="$GNOME_PLATFORM_URL/libgnome-dev-2.14.1-20060613.zip" -LIBGNOMECANVAS_URL="$GNOME_PLATFORM_URL/libgnomecanvas-2.14.0.zip" -LIBGNOMECANVAS_DEV_URL="$GNOME_PLATFORM_URL/libgnomecanvas-dev-2.14.0.zip" -LIBBONOBOUI_URL="$GNOME_PLATFORM_URL/libbonoboui-2.14.0.zip" -LIBBONOBOUI_DEV_URL="$GNOME_PLATFORM_URL/libbonoboui-dev-2.14.0.zip" -LIBGNOMEUI_URL="$GNOME_PLATFORM_URL/libgnomeui-2.14.1.zip" -LIBGNOMEUI_DEV_URL="$GNOME_PLATFORM_URL/libgnomeui-dev-2.14.1.zip" -LIBGNOMEPRINT_URL="$GNOME_DESKTOP_URL/libgnomeprint-2.12.1.zip" -LIBGNOMEPRINT_DEV_URL="$GNOME_DESKTOP_URL/libgnomeprint-dev-2.12.1.zip" -LIBGNOMEPRINTUI_URL="$GNOME_DESKTOP_URL/libgnomeprintui-2.12.1.zip" -LIBGNOMEPRINTUI_DEV_URL="$GNOME_DESKTOP_URL/libgnomeprintui-dev-2.12.1.zip" -GTKHTML_URL="$GNOME_DESKTOP_URL/gtkhtml-3.10.2.zip" -GTKHTML_DEV_URL="$GNOME_DESKTOP_URL/gtkhtml-dev-3.10.2.zip" +PEXPORTS_URL="http://www.emmestech.com/software/cygwin/pexports-0.43/pexports-0.43.zip" +PEXPORTS_DIR=$GLOBAL_DIR\\pexports + +LIBXML2_URL="http://www.zlatkovic.com/pub/libxml/libxml2-2.6.26.win32.zip" +LIBXML2_DIR=$GLOBAL_DIR\\gnome #avoid XML_FLAGS + +GNOME_WIN32_URL="$GNOME_MIRROR/binaries/win32" +GETTEXT_URL="$GTK_MIRROR/glib/2.12/win32/dependencies/gettext-0.14.5.zip" +GETTEXT_DEV_URL="$GTK_MIRROR/glib/2.12/win32/dependencies/gettext-dev-0.14.5.zip" +LIBICONV_URL="$GTK_MIRROR/glib/2.12/win32/dependencies/libiconv-1.9.1.bin.woe32.zip" +GLIB_URL="$GNOME_WIN32_URL/glib/2.12/glib-2.12.1.zip" +GLIB_DEV_URL="$GNOME_WIN32_URL/glib/2.12/glib-dev-2.12.1.zip" +LIBPNG_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/libpng-1.2.8-bin.zip" +ZLIB_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/zlib123-dll.zip" +PKG_CONFIG_URL="$GTK_MIRROR/gtk/v2.10/win32/dependencies/pkg-config-0.20.zip" +CAIRO_URL="$GTK_MIRROR/gtk/v2.8/win32/cairo-1.2.4.zip" +CAIRO_DEV_URL="$GTK_MIRROR/gtk/v2.8/win32/cairo-dev-1.2.4.zip" +FONTCONFIG_URL="$GTK_MIRROR/gtk/v2.8/win32/dependencies/fontconfig-2.2.2-20040412.zip" +FONTCONFIG_DEV_URL="$GTK_MIRROR/gtk/v2.8/win32/dependencies/fontconfig-dev-2.2.2-20040412.zip" +FREETYPE_URL="$GTK_MIRROR/gtk/v2.8/win32/dependencies/freetype-2.1.10.zip" +ATK_URL="$GNOME_WIN32_URL/atk/1.11/atk-1.11.4.zip" +ATK_DEV_URL="$GNOME_WIN32_URL/atk/1.11/atk-dev-1.11.4.zip" +PANGO_URL="$GNOME_WIN32_URL/pango/1.12/pango-1.12.3.zip" +PANGO_DEV_URL="$GNOME_WIN32_URL/pango/1.12/pango-dev-1.12.3.zip" +LIBART_LGPL_URL="$GNOME_WIN32_URL/libart_lgpl/2.3/libart_lgpl-2.3.17.zip" +LIBART_LGPL_DEV_URL="$GNOME_WIN32_URL/libart_lgpl/2.3/libart_lgpl-dev-2.3.17.zip" +GTK_URL="$GNOME_WIN32_URL/gtk+/2.8/gtk+-2.8.20.zip" +GTK_DEV_URL="$GNOME_WIN32_URL/gtk+/2.8/gtk+-dev-2.8.20.zip" +INTLTOOL_URL="$GNOME_WIN32_URL/intltool/0.35/intltool-0.35.0.zip" +ORBIT2_URL="$GNOME_WIN32_URL/ORBit2/2.14/ORBit2-2.14.2.zip" +ORBIT2_DEV_URL="$GNOME_WIN32_URL/ORBit2/2.14/ORBit2-dev-2.14.2.zip" +GAIL_URL="$GNOME_WIN32_URL/gail/1.8/gail-1.8.11.zip" +GAIL_DEV_URL="$GNOME_WIN32_URL/gail/1.8/gail-dev-1.8.11.zip" +POPT_URL="$GNOME_MIRROR/platform/2.13/2.13.92/win32/dependencies/popt-1.10.2-tml-20050828.zip" +POPT_DEV_URL="$GNOME_MIRROR/platform/2.13/2.13.92/win32/dependencies/popt-dev-1.10.2-tml-20050828.zip" +GCONF_URL="$GNOME_WIN32_URL/GConf/2.14/GConf-2.14.0.zip" +GCONF_DEV_URL="$GNOME_WIN32_URL/GConf/2.14/GConf-dev-2.14.0.zip" +LIBBONOBO_URL="$GNOME_WIN32_URL/libbonobo/2.14/libbonobo-2.14.0-20060619.zip" +LIBBONOBO_DEV_URL="$GNOME_WIN32_URL/libbonobo/2.14/libbonobo-dev-2.14.0-20060619.zip" +GNOME_VFS_URL="$GNOME_WIN32_URL/gnome-vfs/2.14/gnome-vfs-2.14.2.zip" +GNOME_VFS_DEV_URL="$GNOME_WIN32_URL/gnome-vfs/2.14/gnome-vfs-dev-2.14.2.zip" +LIBGNOME_URL="$GNOME_WIN32_URL/libgnome/2.14/libgnome-2.14.1-20060613.zip" +LIBGNOME_DEV_URL="$GNOME_WIN32_URL/libgnome/2.14/libgnome-dev-2.14.1-20060613.zip" +LIBGNOMECANVAS_URL="$GNOME_WIN32_URL/libgnomecanvas/2.14/libgnomecanvas-2.14.0.zip" +LIBGNOMECANVAS_DEV_URL="$GNOME_WIN32_URL/libgnomecanvas/2.14/libgnomecanvas-dev-2.14.0.zip" +LIBBONOBOUI_URL="$GNOME_WIN32_URL/libbonoboui/2.14/libbonoboui-2.14.0.zip" +LIBBONOBOUI_DEV_URL="$GNOME_WIN32_URL/libbonoboui/2.14/libbonoboui-dev-2.14.0.zip" +LIBGNOMEUI_URL="$GNOME_WIN32_URL/libgnomeui/2.14/libgnomeui-2.14.1.zip" +LIBGNOMEUI_DEV_URL="$GNOME_WIN32_URL/libgnomeui/2.14/libgnomeui-dev-2.14.1.zip" +LIBGLADE_URL="$GNOME_WIN32_URL/libglade/2.6/libglade-2.6.0.zip" +LIBGLADE_DEV_URL="$GNOME_WIN32_URL/libglade/2.6/libglade-dev-2.6.0.zip" +LIBGNOMEPRINT_URL="$GNOME_WIN32_URL/libgnomeprint/2.12/libgnomeprint-2.12.1.zip" +LIBGNOMEPRINT_DEV_URL="$GNOME_WIN32_URL/libgnomeprint/2.12/libgnomeprint-dev-2.12.1.zip" +LIBGNOMEPRINTUI_URL="$GNOME_WIN32_URL/libgnomeprintui/2.12/libgnomeprintui-2.12.1.zip" +LIBGNOMEPRINTUI_DEV_URL="$GNOME_WIN32_URL/libgnomeprintui/2.12/libgnomeprintui-dev-2.12.1.zip" +GTKHTML_URL="$GNOME_WIN32_URL/gtkhtml/3.10/gtkhtml-3.10.2.zip" +GTKHTML_DEV_URL="$GNOME_WIN32_URL/gtkhtml/3.10/gtkhtml-dev-3.10.2.zip" GNOME_DIR=$GLOBAL_DIR\\gnome +GWRAP_URL="http://download.savannah.gnu.org/releases/g-wrap/g-wrap-1.9.6.tar.gz" +GWRAP_DIR=$GLOBAL_DIR\\g-wrap + AUTOCONF_URL="http://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.bz2" AUTOMAKE_URL="http://ftp.gnu.org/gnu/automake/automake-1.9.6.tar.bz2" LIBTOOL_URL="http://ftp.gnu.org/gnu/libtool/libtool-1.5.22.tar.gz" @@ -102,10 +131,11 @@ add_step inst_regex add_step inst_readline add_step inst_indent add_step inst_guile -add_step inst_glade -add_step inst_gwrap add_step inst_openssl +add_step inst_pexports +add_step inst_libxml2 add_step inst_gnome +add_step inst_gwrap add_step inst_autotools add_step inst_libgsf add_step inst_goffice diff --git a/packaging/win32/install.sh b/packaging/win32/install.sh index b3fd4101fa..9fb2ccdfa6 100644 --- a/packaging/win32/install.sh +++ b/packaging/win32/install.sh @@ -107,12 +107,14 @@ function smart_wget() { function wget_unpacked() { smart_wget $1 $2 _UPD=`unix_path $3` + echo -n "Extracting ${LAST_FILE##*/} ... " case $LAST_FILE in - *.zip) unzip -o $LAST_FILE -d $_UPD;; + *.zip) unzip -q -o $LAST_FILE -d $_UPD;; *.tar.gz) tar -xzpf $LAST_FILE -C $_UPD;; *.tar.bz2) tar -xjpf $LAST_FILE -C $_UPD;; *) die "Cannot unpack file $LAST_FILE!";; esac + echo "done" } function inst_wget() { @@ -303,81 +305,70 @@ function inst_guile() { guile -c "(use-modules (ice-9 slib)) (require 'printf)" || die "guile not installed correctly" } -function inst_glade() { - setup Glade - if quiet pkg-config --exists glib-2.0 gtk+-2.0 +function inst_openssl() { + setup OpenSSL + if [ -f $WINDIR\\system32\\libssl32.dll ] then - echo "glade already installed. skipping." + echo "openssl already installed. skipping." else - smart_wget $GLADE_URL $DOWNLOAD_DIR - echo "!!! When asked for an installation path, specify $GLADE_DIR !!!" + smart_wget $OPENSSL_URL $DOWNLOAD_DIR + echo "!!! When asked for an installation path, specify $OPENSSL_DIR !!!" $LAST_FILE - qpushd $GLADE_DIR\\lib\\pkgconfig - cp cairo.pc cairo.pc.bak - cat cairo.pc.bak | sed 's,libpng12,libpng13,' > cairo.pc - qpopd - qpushd $GLADE_DIR\\bin - cp intl.dll libintl-2.dll - qpopd fi - pkg-config --exists glib-2.0 gtk+-2.0 || die "glade not installed correctly" + [ -f $WINDIR\\system32\\libssl32.dll ] || die "openssl not installed correctly" } -function inst_gwrap() { - setup G-Wrap - _GWRAP_WFSDIR=`win_fs_path $GWRAP_DIR` - _GWRAP_UDIR=`unix_path $GWRAP_DIR` - add_to_env $_GWRAP_UDIR/bin PATH - add_to_env $_GWRAP_WFSDIR/share/guile/site GUILE_LOAD_PATH - if quiet g-wrap-config --version +function inst_pexports() { + setup pexports + _PEXPORTS_UDIR=`unix_path $PEXPORTS_DIR` + add_to_env $_PEXPORTS_UDIR/bin PATH + if quiet which pexports then - echo "g-wrap already installed. skipping." + echo "pexports already installed. skipping." else - wget_unpacked $GWRAP_URL $DOWNLOAD_DIR $TMP_DIR - qpushd $TMP_UDIR/g-wrap-* - qpushd g-wrap - cp core-runtime.c core-runtime.c.bak - cat core-runtime.c.bak | sed '/vasprintf/d' > core-runtime.c - qpopd - cp configure configure.bak - cat configure.bak | sed 's,"glib","glib-2.0",g' > configure - ./configure \ - --prefix=$_GWRAP_WFSDIR \ - --with-modules-dir=`echo $GWRAP_DIR | sed 's#\\\\#\\\\\\\\#g'` - LDFLAGS="-no-undefined" - qpushd guile/g-wrap/gw - cp Makefile Makefile.bak - cat Makefile.bak | sed '/^libgw_guile_standard_la_LIBADD/s,$, ../../../libffi/libffi.la ../../../g-wrap/libgwrap-core-runtime.la,;/libgw_guile_gw_glib_la_LIBADD/s,$, ../../../g-wrap/libgwrap-core-runtime.la,' > Makefile - make standard.c gw-glib.c - cp standard.scm standard.scm.bak - cat standard.scm.bak | sed -c 's,\(libgw-guile-standard\),../lib/\1-0,' > standard.scm - cp gw-glib.scm gw-glib.scm.bak - cat gw-glib.scm.bak | sed -c 's,\(libgw-guile-gw-glib\),../lib/\1-0,' > gw-glib.scm - qpopd - qpushd guile/test - cp Makefile Makefile.bak - cat Makefile.bak | sed '/^std_libs/s,\\$, ../../libffi/libffi.la \\,' > Makefile - qpopd - make - make install + wget_unpacked $PEXPORTS_URL $DOWNLOAD_DIR $PEXPORTS_DIR + qpushd $PEXPORTS_DIR + mv pexports-* mydir + mv mydir/* . + rmdir mydir qpopd - fi - add_to_env $_GWRAP_UDIR/lib/pkgconfig PKG_CONFIG_PATH - guile -c '(use-modules (srfi srfi-39))' && - quiet g-wrap-config --version || die "g-wrap not installed correctly" + fi + quiet which pexports || die "pexports unavailable" } -function inst_openssl() { - setup OpenSSL - if [ -f $WINDIR\\system32\\libssl32.dll ] +function inst_libxml2() { + setup LibXML2 + _LIBXML2_UDIR=`unix_path $LIBXML2_DIR` + if quiet ld -L$_LIBXML2_UDIR/lib -lxml2 -o $TMP_UDIR/ofile then - echo "openssl already installed. skipping." + echo "libxml2 already installed. skipping." else - smart_wget $OPENSSL_URL $DOWNLOAD_DIR - echo "!!! When asked for an installation path, specify $OPENSSL_DIR !!!" - $LAST_FILE + wget_unpacked $LIBXML2_URL $DOWNLOAD_DIR $LIBXML2_DIR + qpushd $LIBXML2_DIR + mv libxml2-* mydir + cp -r mydir/* . + rm -rf mydir + pexports bin/libxml2.dll > libxml2.def + dlltool --input-def libxml2.def --output-lib lib/libxml2.a + rm libxml2.def + _LIBXML2_VERSION=`echo $LAST_FILE | sed 's#.*libxml2-\(.*\).win32.zip#\1#'` + mkdir -p lib/pkgconfig + cat > lib/pkgconfig/libxml-2.0.pc < core-runtime.c + qpopd + cp configure configure.bak + cat configure.bak | sed 's,"glib","glib-2.0",g' > configure + ./configure \ + --prefix=$_GWRAP_WFSDIR \ + --with-modules-dir=`echo $GWRAP_DIR | sed 's#\\\\#\\\\\\\\#g'` + LDFLAGS="-no-undefined" + qpushd guile/g-wrap/gw + cp Makefile Makefile.bak + cat Makefile.bak | sed '/^libgw_guile_standard_la_LIBADD/s,$, ../../../libffi/libffi.la ../../../g-wrap/libgwrap-core-runtime.la,;/libgw_guile_gw_glib_la_LIBADD/s,$, ../../../g-wrap/libgwrap-core-runtime.la,' > Makefile + make standard.c gw-glib.c + cp standard.scm standard.scm.bak + cat standard.scm.bak | sed -c 's,\(libgw-guile-standard\),../lib/\1-0,' > standard.scm + cp gw-glib.scm gw-glib.scm.bak + cat gw-glib.scm.bak | sed -c 's,\(libgw-guile-gw-glib\),../lib/\1-0,' > gw-glib.scm + qpopd + qpushd guile/test + cp Makefile Makefile.bak + cat Makefile.bak | sed '/^std_libs/s,\\$, ../../libffi/libffi.la \\,' > Makefile + qpopd + make + make install + qpopd + fi + add_to_env $_GWRAP_UDIR/lib/pkgconfig PKG_CONFIG_PATH + guile -c '(use-modules (srfi srfi-39))' && + quiet g-wrap-config --version || die "g-wrap not installed correctly" +} + function inst_autotools() { setup Autotools _AUTOTOOLS_UDIR=`unix_path $AUTOTOOLS_DIR`