mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-11-26 02:40:43 -06:00
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. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18711 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
a598e25d19
commit
b83517abd9
1
.gitignore
vendored
1
.gitignore
vendored
@ -119,3 +119,4 @@ po/.intltool-merge-cache
|
||||
src/bin/gnucash-bin.o
|
||||
gnucash-*.*.*/
|
||||
gnucash-*.*.*.tar.*
|
||||
packaging/win32/custom.sh
|
||||
|
@ -209,8 +209,6 @@ set_default LIBGNOME_URL "$GNOME_WIN32_URL/libgnome/2.24/libgnome_2.24.1-1_win32
|
||||
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 GTKHTML_DEV_URL "$GNOME_WIN32_URL/gtkhtml/3.24/gtkhtml-dev_3.24.2-1_
|
||||
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 @@ if [ "$AQBANKING3" = "yes" ]; then
|
||||
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
|
||||
|
@ -28,6 +28,7 @@ function prepare() {
|
||||
_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 @@ function dist_pcre() {
|
||||
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_autotools
|
||||
dist_guile
|
||||
dist_gnome
|
||||
dist_pcre
|
||||
dist_libbonoboui
|
||||
dist_libgsf
|
||||
dist_goffice
|
||||
dist_libofx
|
||||
|
@ -679,6 +679,43 @@ function inst_pcre() {
|
||||
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`
|
||||
|
223
packaging/win32/libbonoboui-2.24.2.patch
Normal file
223
packaging/win32/libbonoboui-2.24.2.patch
Normal file
@ -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
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user