[Commits] [SCM] claws-win32-installer branch, gtk2, updated. 3.19.0-1-20-g410e4b6

jonathan at claws-mail.org jonathan at claws-mail.org
Mon Jun 13 05:10:31 UTC 2022


The branch, gtk2 has been updated
       via  410e4b6ea9f6c1076327c0d60fad04e47a930936 (commit)
       via  6a9fffa4b1b4413ee7ae3b7a97d8f05ae77b121e (commit)
      from  f52b4a4367f37d4b5f4a201296604a8f778c8c75 (commit)

Summary of changes:
 README             | 42 +++++++++++++++++++++++++++++++++++++-----
 build-aux/clean.sh |  2 +-
 configure.ac       |  4 ++++
 src/Makefile.am    |  7 +++++++
 4 files changed, 49 insertions(+), 6 deletions(-)


- Log -----------------------------------------------------------------
commit 410e4b6ea9f6c1076327c0d60fad04e47a930936
Author: Jonathan Boeing <jonathan at claws-mail.org>
Date:   Sun Jun 12 19:07:46 2022 -0700

    Updates for building webkitgtk

diff --git a/README b/README
index ddda34c..ef14ff2 100644
--- a/README
+++ b/README
@@ -63,13 +63,15 @@ of smaller lzma
 --enable-debug will build packages with debug CFLAGS and configure options
 
 
-The configure script looks for four environment variables:
+The configure script looks for five environment variables:
 
 CFLAGS and CXXFLAGS are respected and passed down when building the packages.
 If CFLAGS is specified but CXXFLAGS isn't, CXXFLAGS will use the CFLAGS value.
 
 EXTRA_MAKENSIS_FLAGS will be added to the makensis command line.
 
+WEBKITGTK_BISON sets a custom path to bison for building webkitgtk-2.4.11.  See below.
+
 MAKE_JOBS sets the make -j parameter for building in parallel.  It defaults to
 the number of CPUs on the system.  It doesn't build multiple packages in
 parallel; it sets the parallelism in each package.
@@ -123,12 +125,42 @@ python3-distutils
 wget
 curl
 ruby *
+python-is-python3 *
 gtk-3-examples **
 
-* only needed for webkitgtk
+* only needed for webkitgtk on gtk2 builds
 ** only needed for gtk3 builds
-*** webkitgtk-2.4.11 fails to build with bison-3.7.  Building bison-3.6.4
-by hand and prepending it to PATH allows the build to succeed
+*** webkitgtk-2.4.11 fails to build with bison-3.7 but
+    works with bison-3.6.4.  See below.
+
+
+Fancy / WebkitGTK / GTK2
+========================
+
+Due to a lack of upstream support, webkitgtk and therefore the Claws Fancy plugin
+are only available with the GTK2 build.  The latest version of webkitgtk that can
+be built for Windows is 2.4.11, which is quite old.  Several packages needed by
+Claws have since broken compatibility with the old version of webkitgtk.  Currently,
+they are:
+	glib
+	glib-networking
+	icu
+
+In order to keep some Fancy support, the GTK2 build of Claws also builds with
+old versions of those packages.
+
+Additionally, webkitgtk-2.4.11 needs bison-3.6.4 to build.  If bison-3.6.4 isn't
+available from your distro:
+
+1. Build and install bison-3.6.4
+	wget http://mirrors.kernel.org/gnu/bison/bison-3.6.4.tar.xz
+	tar xf bison-3.6.4.tar.xz
+	cd bison-3.6.4
+	./configure --prefix=/opt/bison-3.6.4
+	make && sudo make install
+
+2. Call autogen.sh with the path to bison
+	./autogen.sh --build-w64 WEBKITGTK_BISON=/opt/bison-3.6.4/bin/bison
 
 
 Building in a Docker container
@@ -140,7 +172,7 @@ is sufficient:
 
 --------8<---------8<---------8<--------
 FROM debian:bullseye
-RUN apt-get update && apt-get -y install build-essential automake autoconf mingw-w64 mingw-w64-tools nsis stow unzip docbook-utils libglib2.0-bin libglib2.0-dev-bin git cmake bison flex gperf intltool libtool libgettextpo-dev meson python3-distutils wget curl ruby gtk-3-examples & apt-get clean
+RUN apt-get update && apt-get -y install build-essential automake autoconf mingw-w64 mingw-w64-tools nsis stow unzip docbook-utils libglib2.0-bin libglib2.0-dev-bin git cmake bison flex gperf intltool libtool libgettextpo-dev meson python3-distutils python-is-python3 wget curl ruby gtk-3-examples & apt-get clean
 --------8<---------8<---------8<--------
 
 To build the image locally (run in the directory with Dockerfile
diff --git a/configure.ac b/configure.ac
index a679d32..e4e3280 100644
--- a/configure.ac
+++ b/configure.ac
@@ -134,6 +134,9 @@ AC_SUBST(CM_MAKE_JOBS)
 
 AC_ARG_VAR([EXTRA_MAKENSIS_FLAGS], [Extra flags to pass to makensis])
 
+AC_ARG_VAR([WEBKITGTK_BISON], [Path to specific bison for building webkitgtk])
+AM_CONDITIONAL([ENABLE_CUSTOM_WEBKITGTK_BISON], [test x$WEBKITGTK_BISON != x])
+
 # Required tools.
 AC_PROG_CC
 AC_PROG_CPP
@@ -327,5 +330,6 @@ echo "
 	Default package CXXFLAGS: $CM_CXXFLAGS
 	Default make jobs: $CM_MAKE_JOBS
 	Extra makensis flags: $EXTRA_MAKENSIS_FLAGS
+	WebkitGTK bison: $WEBKITGTK_BISON
 	Package build list: $cm_build_list
 "
diff --git a/src/Makefile.am b/src/Makefile.am
index bf2c9ff..d57f5b8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -334,6 +334,12 @@ webkitgtk_debug = \
 	--disable-debug
 endif
 
+if ENABLE_CUSTOM_WEBKITGTK_BISON
+webkitgtk_bison = BISON=$(WEBKITGTK_BISON)
+else
+webkitgtk_bison =
+endif
+
 cm_pkg_webkitgtk_configure = \
 	--disable-webkit2 \
 	--enable-webkit1 \
@@ -362,6 +368,7 @@ cm_pkg_webkitgtk_configure = \
 	--enable-silent-rules \
 	CPPFLAGS="-I$(idir)/include -Wno-expansion-to-defined -Wno-class-memaccess" \
 	CC=$(CC) \
+	$(webkitgtk_bison) \
 	LDFLAGS=-L$(idir)/lib
 # -ggdb causes an ICE with gcc-8.3 / webkit-2.4.11
 cm_pkg_webkitgtk_cflags = \

commit 6a9fffa4b1b4413ee7ae3b7a97d8f05ae77b121e
Author: Jonathan Boeing <jonathan at claws-mail.org>
Date:   Sun Jun 12 17:36:47 2022 -0700

    Fix clean script

diff --git a/build-aux/clean.sh b/build-aux/clean.sh
index 3fe2333..165b6ce 100755
--- a/build-aux/clean.sh
+++ b/build-aux/clean.sh
@@ -19,5 +19,5 @@ cd $root
 
 echo Cleaning
 
-git clean -dfx --exclude=packages
+git clean -dfx --exclude=/packages/
 

-----------------------------------------------------------------------


hooks/post-receive
-- 
Installer sources for Claws Mail Windows port


More information about the Commits mailing list