From d13b7e6b6a4085da98879900f3534a4fc4f85296 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 14 Apr 2013 17:36:13 +0200 Subject: [PATCH] - updated to 2.0.0 (with patches from gtk-webkit3) --- gtk-webkit-sh.patch | 57 ++++++++++++++++++++ gtk-webkit-sync-builtins.patch | 49 +++++++++++++++++ gtk-webkit.spec | 98 ++++++++++++++++------------------ 3 files changed, 151 insertions(+), 53 deletions(-) create mode 100644 gtk-webkit-sh.patch create mode 100644 gtk-webkit-sync-builtins.patch diff --git a/gtk-webkit-sh.patch b/gtk-webkit-sh.patch new file mode 100644 index 0000000..642f56b --- /dev/null +++ b/gtk-webkit-sh.patch @@ -0,0 +1,57 @@ +--- webkitgtk-2.0.0/Source/autotools/FindDependencies.m4.orig 2013-03-26 19:25:38.000000000 +0100 ++++ webkitgtk-2.0.0/Source/autotools/FindDependencies.m4 2013-04-01 21:33:59.797598840 +0200 +@@ -441,18 +441,18 @@ + + if test "$with_acceleration_backend" = "opengl"; then + if test "$enable_gles2" = "yes"; then +- acceleration_backend_description+= "(gles2" ++ acceleration_backend_description="$acceleration_backend_description(gles2" + OPENGL_LIBS="-lGLESv2" + else +- acceleration_backend_description+="(gl" ++ acceleration_backend_description="$acceleration_backend_description(gl" + OPENGL_LIBS="-lGL" + fi + if test "$enable_egl" = "yes"; then +- acceleration_backend_description+=", egl" +- OPENGL_LIBS+=" -lEGL" ++ acceleration_backend_description="$acceleration_backend_description, egl" ++ OPENGL_LIBS="$OPENGL_LIBS -lEGL" + fi + if test "$enable_glx" = "yes"; then +- acceleration_backend_description+=", glx" ++ acceleration_backend_description="$acceleration_backend_description, glx" + fi + + # Check whether dlopen() is in the core libc like on FreeBSD, or in a separate +@@ -460,8 +460,8 @@ + AC_CHECK_FUNC([dlopen], [], [AC_CHECK_LIB([dl], [dlopen], [DLOPEN_LIBS="-ldl"])]) + AC_SUBST([DLOPEN_LIBS]) + +- OPENGL_LIBS+=" $DLOPEN_LIBS" +- acceleration_backend_description+=")" ++ OPENGL_LIBS="$OPENGL_LIBS $DLOPEN_LIBS" ++ acceleration_backend_description="$acceleration_backend_description)" + fi + AC_SUBST([OPENGL_LIBS]) + +--- webkitgtk-2.0.0/Source/autotools/SetupWebKitFeatures.m4.orig 2013-04-12 19:48:10.867922095 +0200 ++++ webkitgtk-2.0.0/Source/autotools/SetupWebKitFeatures.m4 2013-04-12 20:02:21.254571037 +0200 +@@ -12,7 +12,7 @@ + # This list of features represents those selected for release builds. + # If you are adding a new or unstable feature, you should mark it + # disabled here. +-read -d '' DEFAULT_FEATURE_DEFINES <<"EOF" ++DEFAULT_FEATURE_DEFINES=" + ENABLE_ACCELERATED_2D_CANVAS=0 + ENABLE_BATTERY_STATUS=0 + ENABLE_BLOB=1 +@@ -107,7 +107,7 @@ + ENABLE_WEB_TIMING=1 + ENABLE_WORKERS=1 + ENABLE_XHR_TIMEOUT=1 +-EOF ++" + + if test "$enable_spellcheck" = "yes"; then + DEFAULT_FEATURE_DEFINES="$DEFAULT_FEATURE_DEFINES ENABLE_SPELLCHECK=1" diff --git a/gtk-webkit-sync-builtins.patch b/gtk-webkit-sync-builtins.patch new file mode 100644 index 0000000..3d94d37 --- /dev/null +++ b/gtk-webkit-sync-builtins.patch @@ -0,0 +1,49 @@ +--- webkitgtk-2.0.0/configure.ac.orig 2013-04-12 08:25:14.896829422 +0200 ++++ webkitgtk-2.0.0/configure.ac 2013-04-12 08:27:21.244776999 +0200 +@@ -32,6 +32,18 @@ + AM_INIT_AUTOMAKE([foreign subdir-objects dist-xz no-dist-gzip tar-ustar]) + m4_include([Source/autotools/SetupAutomake.m4]) + ++dnl Check whether the target supports 64-bit __sync_*_compare_and_swap. ++AC_TRY_LINK([#include ], ++ [uint64_t foo, bar; ++ bar = __sync_val_compare_and_swap(&foo, 0, 1);], ++ wtf_cv_have_64bit_sync_builtins=yes, ++ wtf_cv_have_64bit_sync_builtins=no) ++ ++if test $wtf_cv_have_64bit_sync_builtins = yes; then ++ AC_DEFINE(HAVE_64BIT_SYNC_BUILTINS, 1, ++ [Define to 1 if the target supports 64-bit __sync_*_compare_and_swap]) ++fi ++ + ###################################################################################### + # Processing of configuration files + ###################################################################################### +--- webkitgtk-2.0.0/Source/WTF/wtf/Atomics.h~ 2013-04-12 08:05:55.951740895 +0200 ++++ webkitgtk-2.0.0/Source/WTF/wtf/Atomics.h 2013-04-12 08:22:46.701992338 +0200 +@@ -70,6 +70,9 @@ + #elif OS(ANDROID) + #include + #endif ++#ifndef HAVE_64BIT_SYNC_BUILTINS ++#include ++#endif + + namespace WTF { + +@@ -113,8 +113,15 @@ + inline int atomicIncrement(int volatile* addend) { return __sync_add_and_fetch(addend, 1); } + inline int atomicDecrement(int volatile* addend) { return __sync_sub_and_fetch(addend, 1); } + ++#ifdef HAVE_64BIT_SYNC_BUILTINS + inline int64_t atomicIncrement(int64_t volatile* addend) { return __sync_add_and_fetch(addend, 1); } + inline int64_t atomicDecrement(int64_t volatile* addend) { return __sync_sub_and_fetch(addend, 1); } ++#else ++static pthread_mutex_t global_wtf_lock = PTHREAD_MUTEX_INITIALIZER; ++ ++inline int64_t atomicIncrement(int64_t volatile* addend) { pthread_mutex_lock(&global_wtf_lock); int64_t v = (*addend)++; pthread_mutex_unlock(&global_wtf_lock); return v; } ++inline int64_t atomicDecrement(int64_t volatile* addend) { pthread_mutex_lock(&global_wtf_lock); int64_t v = (*addend)--; pthread_mutex_unlock(&global_wtf_lock); return v; } ++#endif + + #endif + diff --git a/gtk-webkit.spec b/gtk-webkit.spec index 0c43916..6a45dc0 100644 --- a/gtk-webkit.spec +++ b/gtk-webkit.spec @@ -5,61 +5,76 @@ Summary: Port of WebKit embeddable web component to GTK+ Summary(pl.UTF-8): Port osadzalnego komponentu WWW WebKit do GTK+ Name: gtk-webkit -Version: 1.10.1 +Version: 2.0.0 Release: 1 License: BSD-like Group: X11/Libraries Source0: http://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz -# Source0-md5: 28c930cda012391453c476cdacfaca65 +# Source0-md5: fa231ba8c9cd33575b9692614324be21 +Patch0: %{name}-sync-builtins.patch +Patch1: %{name}-sh.patch URL: http://webkitgtk.org/ -BuildRequires: OpenGL-devel +BuildRequires: EGL-devel BuildRequires: OpenGL-GLX-devel +BuildRequires: at-spi2-core-devel >= 2.6.0 BuildRequires: autoconf >= 2.60 BuildRequires: automake BuildRequires: bison >= 1.875 BuildRequires: cairo-devel >= 1.10 -BuildRequires: cairo-gobject-devel >= 1.10 BuildRequires: enchant-devel >= 0.22 BuildRequires: flex >= 2.5.33 -BuildRequires: fontconfig-devel >= 2.4.0 +BuildRequires: fontconfig-devel >= 2.5.0 BuildRequires: freetype-devel >= 1:2.1.8 +BuildRequires: gcc-c++ >= 6:4.7 BuildRequires: geoclue-devel BuildRequires: gettext-devel -BuildRequires: glib2-devel >= 1:2.32.0 +BuildRequires: glib2-devel >= 1:2.36.0 BuildRequires: glibc-misc -%{?with_introspection:BuildRequires: gobject-introspection-devel >= 0.9.5} +%{?with_introspection:BuildRequires: gobject-introspection-devel >= 1.32.0} BuildRequires: gperf -BuildRequires: gstreamer-devel >= 1.0.0 -BuildRequires: gstreamer-plugins-base-devel >= 1.0.0 -BuildRequires: gtk+2-devel >= 2:2.20.0 +BuildRequires: gstreamer-devel >= 1.0.3 +BuildRequires: gstreamer-plugins-base-devel >= 1.0.3 +BuildRequires: gtk+2-devel >= 2:2.24.10 BuildRequires: gtk-doc >= 1.10 +BuildRequires: harfbuzz-devel >= 0.9.7 BuildRequires: libicu-devel >= 4.2.1 BuildRequires: libjpeg-devel BuildRequires: libpng-devel -BuildRequires: libsoup-devel >= 2.40.0 +BuildRequires: libsecret-devel +BuildRequires: libsoup-devel >= 2.42.0 BuildRequires: libstdc++-devel BuildRequires: libtool >= 2:1.5 +BuildRequires: libwebp-devel BuildRequires: libxml2-devel >= 1:2.6.30 BuildRequires: libxslt-devel >= 1.1.7 -BuildRequires: pango-devel >= 1:1.21 +BuildRequires: pango-devel >= 1:1.32.0 +BuildRequires: perl-base BuildRequires: pkgconfig +BuildRequires: python +BuildRequires: rpmbuild(macros) >= 1.592 +BuildRequires: ruby BuildRequires: sqlite3-devel >= 3 BuildRequires: tar >= 1:1.22 +BuildRequires: udev-glib-devel BuildRequires: xorg-lib-libXcomposite-devel +BuildRequires: xorg-lib-libXdamage-devel BuildRequires: xorg-lib-libXrender-devel BuildRequires: xorg-lib-libXt-devel BuildRequires: xz BuildRequires: zlib-devel Requires: cairo >= 1.10 Requires: enchant >= 0.22 -Requires: glib2 >= 1:2.32.0 -Requires: gstreamer >= 1.0.0 -Requires: gstreamer-plugins-base >= 1.0.0 -Requires: gtk+2 >= 2:2.20.0 -Requires: libsoup >= 2.40.0 +Requires: fontconfig-libs >= 2.5.0 +Requires: freetype >= 1:2.1.8 +Requires: glib2 >= 1:2.36.0 +Requires: gstreamer >= 1.0.3 +Requires: gstreamer-plugins-base >= 1.0.3 +Requires: gtk+2 >= 2:2.24.10 +Requires: harfbuzz >= 0.9.7 +Requires: libsoup >= 2.42.0 Requires: libxml2 >= 1:2.6.30 Requires: libxslt >= 1.1.7 -Requires: pango >= 1:1.21 +Requires: pango >= 1:1.32.0 %{?with_introspection:Conflicts: gir-repository < 0.6.5-7} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -74,25 +89,10 @@ Summary: Development files for WebKit Summary(pl.UTF-8): Pliki programistyczne WebKit Group: X11/Development/Libraries Requires: %{name} = %{version}-%{release} -Requires: cairo-devel >= 1.10 -Requires: enchant-devel >= 0.22 -Requires: fontconfig-devel >= 2.4.0 -Requires: freetype-devel >= 1:2.1.8 -Requires: geoclue-devel -Requires: glib2-devel >= 1:2.32.0 -Requires: gstreamer-devel >= 1.0.0 -Requires: gstreamer-plugins-base-devel >= 1.0.0 -Requires: gtk+2-devel >= 2:2.20.0 -Requires: libicu-devel >= 4.2.1 -Requires: libjpeg-devel -Requires: libpng-devel -Requires: libsoup-devel >= 2.38 +Requires: glib2-devel >= 1:2.36.0 +Requires: gtk+2-devel >= 2:2.24.10 +Requires: libsoup-devel >= 2.42.0 Requires: libstdc++-devel -Requires: libxml2-devel >= 1:2.6.30 -Requires: libxslt-devel >= 1.1.7 -Requires: pango-devel >= 1:1.21 -Requires: sqlite3-devel >= 3 -Requires: xorg-lib-libXt-devel %description devel Development files for WebKit. @@ -102,31 +102,23 @@ Pliki programistyczne WebKit. %prep %setup -q -n webkitgtk-%{version} -#patch0 -p1 -#patch1 -p2 +%patch0 -p1 +%patch1 -p1 %build -%{__gtkdocize} %{__libtoolize} %{__aclocal} -I Source/autotools %{__autoconf} %{__autoheader} %{__automake} -# replace -g2 with -g1 to not run into 4 GB ar format limit -# https://bugs.webkit.org/show_bug.cgi?id=91154 -# http://sourceware.org/bugzilla/show_bug.cgi?id=14625 -export CFLAGS="%(echo %{rpmcflags} | sed 's/ -g2/ -g1/g')" -export CXXFLAGS="%(echo %{rpmcxxflags} | sed 's/ -g2/ -g1/g')" %configure \ + --disable-gtk-doc \ --disable-silent-rules \ --disable-webkit2 \ --enable-geolocation \ - --enable-gtk-doc \ - --enable-icon-database \ - --enable-introspection%{!?with_introspection:=no} \ - --enable-video \ - --with-font-backend=freetype \ - --with-gstreamer=1.0 \ + --enable-glx \ + %{__enable_disable introspection} \ + --enable-webgl \ --with-gtk=2.0 \ --with-html-dir=%{_gtkdocdir} @@ -143,7 +135,7 @@ rm -rf $RPM_BUILD_ROOT # packaged in gtk-webkit3 %{__rm} -r $RPM_BUILD_ROOT%{_gtkdocdir}/webkitgtk -%find_lang webkitgtk-2.0 +%find_lang WebKitGTK-2.0 %clean rm -rf $RPM_BUILD_ROOT @@ -151,9 +143,9 @@ rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig %postun -p /sbin/ldconfig -%files -f webkitgtk-2.0.lang +%files -f WebKitGTK-2.0.lang %defattr(644,root,root,755) -%doc ChangeLog NEWS +%doc ChangeLog NEWS %attr(755,root,root) %{_bindir}/jsc-1 %attr(755,root,root) %{_libdir}/libwebkitgtk-1.0.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libwebkitgtk-1.0.so.0 -- 2.44.0