r18711 - gnucash/trunk - Bug #610348: Add compiling our own binary of libbonoboui because the ftp.gnome.org binary still depends on the obsolete libxml2.dll.
Christian Stimming
cstim at code.gnucash.org
Tue Feb 23 15:10:31 EST 2010
Author: cstim
Date: 2010-02-23 15:10:31 -0500 (Tue, 23 Feb 2010)
New Revision: 18711
Trac: http://svn.gnucash.org/trac/changeset/18711
Added:
gnucash/trunk/packaging/win32/libbonoboui-2.24.2.patch
Modified:
gnucash/trunk/.gitignore
gnucash/trunk/packaging/win32/defaults.sh
gnucash/trunk/packaging/win32/dist.sh
gnucash/trunk/packaging/win32/install.sh
Log:
Bug #610348: Add compiling our own binary of libbonoboui because the ftp.gnome.org binary still depends on the obsolete libxml2.dll.
However, we still download the erroneous binary and unpack it into $GNOME_DIR
because libgnomeui depends on libbonoboui which in turn depends on libgnome.
Hence, libbonoboui cannot be compiled before libgnome-dev is unpacked, but
libgnomeui won't report to be installed correctly before libbonoboui is
available as well. Theoretically, we would have to split the inst_gnome step
so that it first unpacks libgnome et al., then we run the inst_libbonoboui
step, then we run the second part of inst_gnome which would be something like
inst_gnomeui. I'm lazy, so I silently overwrite the libbonoboui DLL with
our hand-compiled version and that's it.
Modified: gnucash/trunk/.gitignore
===================================================================
--- gnucash/trunk/.gitignore 2010-02-23 20:04:30 UTC (rev 18710)
+++ gnucash/trunk/.gitignore 2010-02-23 20:10:31 UTC (rev 18711)
@@ -119,3 +119,4 @@
src/bin/gnucash-bin.o
gnucash-*.*.*/
gnucash-*.*.*.tar.*
+packaging/win32/custom.sh
Modified: gnucash/trunk/packaging/win32/defaults.sh
===================================================================
--- gnucash/trunk/packaging/win32/defaults.sh 2010-02-23 20:04:30 UTC (rev 18710)
+++ gnucash/trunk/packaging/win32/defaults.sh 2010-02-23 20:10:31 UTC (rev 18711)
@@ -209,8 +209,6 @@
set_default LIBGNOME_DEV_URL "$GNOME_WIN32_URL/libgnome/2.24/libgnome-dev_2.24.1-1_win32.zip"
set_default LIBGNOMECANVAS_URL "$GNOME_WIN32_URL/libgnomecanvas/2.20/libgnomecanvas-2.20.1.zip"
set_default LIBGNOMECANVAS_DEV_URL "$GNOME_WIN32_URL/libgnomecanvas/2.20/libgnomecanvas-dev-2.20.1.zip"
-set_default LIBBONOBOUI_URL "$GNOME_WIN32_URL/libbonoboui/2.24/libbonoboui_2.24.0-1_win32.zip"
-set_default LIBBONOBOUI_DEV_URL "$GNOME_WIN32_URL/libbonoboui/2.24/libbonoboui-dev_2.24.0-1_win32.zip"
set_default LIBGNOMEUI_URL "$GNOME_WIN32_URL/libgnomeui/2.22/libgnomeui-2.22.1.zip"
set_default LIBGNOMEUI_DEV_URL "$GNOME_WIN32_URL/libgnomeui/2.22/libgnomeui-dev-2.22.1.zip"
set_default LIBGLADE_URL "$GNOME_WIN32_URL/libglade/2.6/libglade_2.6.4-1_win32.zip"
@@ -220,6 +218,12 @@
set_default GTK_DOC_URL "$GNOME_MIRROR/sources/gtk-doc/1.13/gtk-doc-1.13.tar.bz2"
set_default GNOME_DIR $GLOBAL_DIR\\gnome
+set_default LIBBONOBOUI_URL "$GNOME_WIN32_URL/libbonoboui/2.24/libbonoboui_2.24.0-1_win32.zip"
+set_default LIBBONOBOUI_DEV_URL "$GNOME_WIN32_URL/libbonoboui/2.24/libbonoboui-dev_2.24.0-1_win32.zip"
+set_default LIBBONOBOUI_SRC_URL "$GNOME_MIRROR/sources/libbonoboui/2.24/libbonoboui-2.24.2.tar.bz2"
+set_default LIBBONOBOUI_PATCH `pwd`/libbonoboui-2.24.2.patch
+set_default LIBBONOBOUI_DIR $GLOBAL_DIR\\libbonoboui
+
set_default SWIG_URL "$SF_MIRROR/swig/swigwin-1.3.36.zip"
set_default SWIG_DIR $GLOBAL_DIR\\swig
@@ -343,6 +347,7 @@
fi
add_step inst_swig
add_step inst_pcre
+add_step inst_libbonoboui
add_step inst_libgsf
if [ "$CROSS_COMPILE" != "yes" ]; then
add_step inst_hh
Modified: gnucash/trunk/packaging/win32/dist.sh
===================================================================
--- gnucash/trunk/packaging/win32/dist.sh 2010-02-23 20:04:30 UTC (rev 18710)
+++ gnucash/trunk/packaging/win32/dist.sh 2010-02-23 20:10:31 UTC (rev 18711)
@@ -28,6 +28,7 @@
_EXETYPE_UDIR=`unix_path $EXETYPE_DIR`
_GNOME_UDIR=`unix_path $GNOME_DIR`
_PCRE_UDIR=`unix_path $PCRE_DIR`
+ _LIBBONOBOUI_UDIR=`unix_path $LIBBONOBOUI_DIR`
_LIBGSF_UDIR=`unix_path $LIBGSF_DIR`
_GOFFICE_UDIR=`unix_path $GOFFICE_DIR`
_OPENSP_UDIR=`unix_path $OPENSP_DIR`
@@ -126,6 +127,12 @@
cp -a $_PCRE_UDIR/bin/pcre3.dll $DIST_UDIR/bin
}
+function dist_libbonoboui() {
+ setup libbonoboui
+ mkdir -p $DIST_UDIR/bin
+ cp -a $_LIBBONOBOUI_UDIR/bin/libbonoboui*.dll $DIST_UDIR/bin
+}
+
function dist_libgsf() {
setup libGSF
mkdir -p $DIST_UDIR/bin
@@ -287,6 +294,7 @@
dist_guile
dist_gnome
dist_pcre
+dist_libbonoboui
dist_libgsf
dist_goffice
dist_libofx
Modified: gnucash/trunk/packaging/win32/install.sh
===================================================================
--- gnucash/trunk/packaging/win32/install.sh 2010-02-23 20:04:30 UTC (rev 18710)
+++ gnucash/trunk/packaging/win32/install.sh 2010-02-23 20:10:31 UTC (rev 18711)
@@ -679,6 +679,43 @@
quiet ${LD} $PCRE_LDFLAGS -lpcre -o $TMP_UDIR/ofile || die "pcre not installed correctly"
}
+function inst_libbonoboui() {
+ setup libbonoboui
+ _LIBBONOBOUI_UDIR=`unix_path $LIBBONOBOUI_DIR`
+ add_to_env $_LIBBONOBOUI_UDIR/bin PATH
+ add_to_env $_LIBBONOBOUI_UDIR/lib/pkgconfig PKG_CONFIG_PATH
+ if quiet ${PKG_CONFIG} --exists --atleast-version=2.24.2 libbonoboui-2.0 && [ -f $_LIBBONOBOUI_UDIR/bin/libbonoboui*.dll ]
+ then
+ echo "libbonoboui already installed. skipping."
+ else
+ wget_unpacked $LIBBONOBOUI_SRC_URL $DOWNLOAD_DIR $TMP_DIR
+ mydir=`pwd`
+ assert_one_dir $TMP_UDIR/libbonoboui-*
+ qpushd $TMP_UDIR/libbonoboui-*
+ [ -n "$LIBBONOBOUI_PATCH" -a -f "$LIBBONOBOUI_PATCH" ] && \
+ patch -p1 < $LIBBONOBOUI_PATCH
+ #libtoolize --force
+ #aclocal ${ACLOCAL_FLAGS} -I .
+ #automake
+ #autoconf
+ ./configure ${HOST_XCOMPILE} --prefix=$_LIBBONOBOUI_UDIR \
+ POPT_LIBS="-lpopt" \
+ CPPFLAGS="${GNOME_CPPFLAGS}" \
+ LDFLAGS="${GNOME_LDFLAGS}" \
+ --enable-static=no
+ make
+ make install
+
+ # We override the $GNOME_DIR libbonoboui files because
+ # those erroneously depend on the obsolete libxml2.dll
+ cp -a $_LIBBONOBOUI_UDIR/bin/libbonoboui*.dll $_GNOME_UDIR/bin
+ cp -a $_LIBBONOBOUI_UDIR/lib/libbonoboui*.dll $_GNOME_UDIR/lib
+ qpopd
+ ${PKG_CONFIG} --exists --atleast-version=2.24.2 libbonoboui-2.0 && [ -f $_LIBBONOBOUI_UDIR/bin/libbonoboui*.dll ] || die "libbonoboui not installed correctly"
+ rm -rf ${TMP_UDIR}/libbonoboui-*
+ fi
+}
+
function inst_libgsf() {
setup libGSF
_LIBGSF_UDIR=`unix_path $LIBGSF_DIR`
Added: gnucash/trunk/packaging/win32/libbonoboui-2.24.2.patch
===================================================================
--- gnucash/trunk/packaging/win32/libbonoboui-2.24.2.patch (rev 0)
+++ gnucash/trunk/packaging/win32/libbonoboui-2.24.2.patch 2010-02-23 20:10:31 UTC (rev 18711)
@@ -0,0 +1,223 @@
+diff -ur libbonoboui-2.24.2/configure libbonoboui-2.24.2-cs/configure
+--- libbonoboui-2.24.2/configure 2009-09-22 23:12:20 +0000
++++ libbonoboui-2.24.2-cs/configure 2010-02-23 12:25:27 +0000
+@@ -16422,219 +16422,6 @@
+
+
+ # popt
+-{ $as_echo "$as_me:$LINENO: checking for poptStrippedArgv in -lpopt" >&5
+-$as_echo_n "checking for poptStrippedArgv in -lpopt... " >&6; }
+-if test "${ac_cv_lib_popt_poptStrippedArgv+set}" = set; then
+- $as_echo_n "(cached) " >&6
+-else
+- ac_check_lib_save_LIBS=$LIBS
+-LIBS="-lpopt $LIBS"
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-
+-/* Override any GCC internal prototype to avoid an error.
+- Use char because int might match the return type of a GCC
+- builtin and then its argument prototype would still apply. */
+-#ifdef __cplusplus
+-extern "C"
+-#endif
+-char poptStrippedArgv ();
+-int
+-main ()
+-{
+-return poptStrippedArgv ();
+- ;
+- return 0;
+-}
+-_ACEOF
+-rm -f conftest.$ac_objext conftest$ac_exeext
+-if { (ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+-$as_echo "$ac_try_echo") >&5
+- (eval "$ac_link") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && {
+- test -z "$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- } && test -s conftest$ac_exeext && {
+- test "$cross_compiling" = yes ||
+- $as_test_x conftest$ac_exeext
+- }; then
+- ac_cv_lib_popt_poptStrippedArgv=yes
+-else
+- $as_echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- ac_cv_lib_popt_poptStrippedArgv=no
+-fi
+-
+-rm -rf conftest.dSYM
+-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+- conftest$ac_exeext conftest.$ac_ext
+-LIBS=$ac_check_lib_save_LIBS
+-fi
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_popt_poptStrippedArgv" >&5
+-$as_echo "$ac_cv_lib_popt_poptStrippedArgv" >&6; }
+-if test "x$ac_cv_lib_popt_poptStrippedArgv" = x""yes; then
+- POPT_LIBS=-lpopt
+-else
+- { { $as_echo "$as_me:$LINENO: error: You must have popt version 1.5 or greater installed." >&5
+-$as_echo "$as_me: error: You must have popt version 1.5 or greater installed." >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+-
+-
+-if test "${ac_cv_header_popt_h+set}" = set; then
+- { $as_echo "$as_me:$LINENO: checking for popt.h" >&5
+-$as_echo_n "checking for popt.h... " >&6; }
+-if test "${ac_cv_header_popt_h+set}" = set; then
+- $as_echo_n "(cached) " >&6
+-fi
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_popt_h" >&5
+-$as_echo "$ac_cv_header_popt_h" >&6; }
+-else
+- # Is the header compilable?
+-{ $as_echo "$as_me:$LINENO: checking popt.h usability" >&5
+-$as_echo_n "checking popt.h usability... " >&6; }
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-$ac_includes_default
+-#include <popt.h>
+-_ACEOF
+-rm -f conftest.$ac_objext
+-if { (ac_try="$ac_compile"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+-$as_echo "$ac_try_echo") >&5
+- (eval "$ac_compile") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } && {
+- test -z "$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- } && test -s conftest.$ac_objext; then
+- ac_header_compiler=yes
+-else
+- $as_echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- ac_header_compiler=no
+-fi
+-
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+-$as_echo "$ac_header_compiler" >&6; }
+-
+-# Is the header present?
+-{ $as_echo "$as_me:$LINENO: checking popt.h presence" >&5
+-$as_echo_n "checking popt.h presence... " >&6; }
+-cat >conftest.$ac_ext <<_ACEOF
+-/* confdefs.h. */
+-_ACEOF
+-cat confdefs.h >>conftest.$ac_ext
+-cat >>conftest.$ac_ext <<_ACEOF
+-/* end confdefs.h. */
+-#include <popt.h>
+-_ACEOF
+-if { (ac_try="$ac_cpp conftest.$ac_ext"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+-$as_echo "$ac_try_echo") >&5
+- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+- ac_status=$?
+- grep -v '^ *+' conftest.er1 >conftest.err
+- rm -f conftest.er1
+- cat conftest.err >&5
+- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+- (exit $ac_status); } >/dev/null && {
+- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- }; then
+- ac_header_preproc=yes
+-else
+- $as_echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- ac_header_preproc=no
+-fi
+-
+-rm -f conftest.err conftest.$ac_ext
+-{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+-$as_echo "$ac_header_preproc" >&6; }
+-
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+- yes:no: )
+- { $as_echo "$as_me:$LINENO: WARNING: popt.h: accepted by the compiler, rejected by the preprocessor!" >&5
+-$as_echo "$as_me: WARNING: popt.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: popt.h: proceeding with the compiler's result" >&5
+-$as_echo "$as_me: WARNING: popt.h: proceeding with the compiler's result" >&2;}
+- ac_header_preproc=yes
+- ;;
+- no:yes:* )
+- { $as_echo "$as_me:$LINENO: WARNING: popt.h: present but cannot be compiled" >&5
+-$as_echo "$as_me: WARNING: popt.h: present but cannot be compiled" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: popt.h: check for missing prerequisite headers?" >&5
+-$as_echo "$as_me: WARNING: popt.h: check for missing prerequisite headers?" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: popt.h: see the Autoconf documentation" >&5
+-$as_echo "$as_me: WARNING: popt.h: see the Autoconf documentation" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: popt.h: section \"Present But Cannot Be Compiled\"" >&5
+-$as_echo "$as_me: WARNING: popt.h: section \"Present But Cannot Be Compiled\"" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: popt.h: proceeding with the preprocessor's result" >&5
+-$as_echo "$as_me: WARNING: popt.h: proceeding with the preprocessor's result" >&2;}
+- { $as_echo "$as_me:$LINENO: WARNING: popt.h: in the future, the compiler will take precedence" >&5
+-$as_echo "$as_me: WARNING: popt.h: in the future, the compiler will take precedence" >&2;}
+- ( cat <<\_ASBOX
+-## ------------------------------------------------------------------------------------------- ##
+-## Report this to http://bugzilla.gnome.org/enter_bug.cgi?product=bonobo&component=libbonoboui ##
+-## ------------------------------------------------------------------------------------------- ##
+-_ASBOX
+- ) | sed "s/^/$as_me: WARNING: /" >&2
+- ;;
+-esac
+-{ $as_echo "$as_me:$LINENO: checking for popt.h" >&5
+-$as_echo_n "checking for popt.h... " >&6; }
+-if test "${ac_cv_header_popt_h+set}" = set; then
+- $as_echo_n "(cached) " >&6
+-else
+- ac_cv_header_popt_h=$ac_header_preproc
+-fi
+-{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_popt_h" >&5
+-$as_echo "$ac_cv_header_popt_h" >&6; }
+-
+-fi
+-if test "x$ac_cv_header_popt_h" = x""yes; then
+- :
+-else
+- { { $as_echo "$as_me:$LINENO: error: Failed to find popt.h - you may have to adjust your environment" >&5
+-$as_echo "$as_me: error: Failed to find popt.h - you may have to adjust your environment" >&2;}
+- { (exit 1); exit 1; }; }
+-fi
+
+
+
More information about the gnucash-changes
mailing list