From 9d43172d3772c83f8ff9afb7b2ccc3b647d3ac62 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Mon, 16 Dec 2013 21:51:34 +0100 Subject: [PATCH] - updated to 0.1.0 r160591 svn snapshot (for EFL 1.8, but still uses e_dbus instead of eldbus) - updated lib patch - removed obsolete gcc,harfbuzz-icu patches - added bounds,include,build patches (some build fixes) --- ewebkit-bounds.patch | 15 +++++ ewebkit-build.patch | 11 +++ ewebkit-gcc.patch | 58 ---------------- ewebkit-harfbuzz-icu.patch | 36 ---------- ewebkit-include.patch | 10 +++ ewebkit-lib.patch | 22 +++--- ewebkit.spec | 134 +++++++++++++++++++++++-------------- 7 files changed, 131 insertions(+), 155 deletions(-) create mode 100644 ewebkit-bounds.patch create mode 100644 ewebkit-build.patch delete mode 100644 ewebkit-gcc.patch delete mode 100644 ewebkit-harfbuzz-icu.patch create mode 100644 ewebkit-include.patch diff --git a/ewebkit-bounds.patch b/ewebkit-bounds.patch new file mode 100644 index 0000000..88be81f --- /dev/null +++ b/ewebkit-bounds.patch @@ -0,0 +1,15 @@ +Fix "array subscript is above array bounds [-Werror=array-bounds]" +--- WebKit/Source/WTF/wtf/dtoa/double-conversion.cc.orig 2013-12-08 18:29:09.000000000 +0100 ++++ WebKit/Source/WTF/wtf/dtoa/double-conversion.cc 2013-12-11 16:47:53.187599375 +0100 +@@ -444,9 +444,9 @@ + if (current == end) return 0.0; + + // The longest form of simplified number is: "-.1eXXX\0". +- const int kBufferSize = kMaxSignificantDigits + 10; ++ const size_t kBufferSize = kMaxSignificantDigits + 10; + char buffer[kBufferSize]; // NOLINT: size is known at compile time. +- int buffer_pos = 0; ++ size_t buffer_pos = 0; + + // Exponent will be adjusted if insignificant digits of the integer part + // or insignificant leading zeros of the fractional part are dropped. diff --git a/ewebkit-build.patch b/ewebkit-build.patch new file mode 100644 index 0000000..7b9c562 --- /dev/null +++ b/ewebkit-build.patch @@ -0,0 +1,11 @@ +--- WebKit/Tools/TestWebKitAPI/CMakeLists.txt.orig 2013-12-14 08:50:25.000000000 +0100 ++++ WebKit/Tools/TestWebKitAPI/CMakeLists.txt 2013-12-15 09:04:32.637595929 +0100 +@@ -130,7 +130,7 @@ + target_link_libraries(test_webcore_${testName} ${test_webcore_LIBRARIES}) + endforeach () + +-add_library(TestWebKitAPIBase ++add_library(TestWebKitAPIBase STATIC + ${test_main_SOURCES} + ${webkit2_api_harness_SOURCES} + ${TESTWEBKITAPI_DIR}/JavaScriptTest.cpp diff --git a/ewebkit-gcc.patch b/ewebkit-gcc.patch deleted file mode 100644 index 153097b..0000000 --- a/ewebkit-gcc.patch +++ /dev/null @@ -1,58 +0,0 @@ -From a5a5eeb10b56ad1f98899a02281ea825e3cd1202 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -Date: Sat, 1 Jun 2013 19:23:54 +0200 -Subject: [PATCH] ewk: include Element.h for hasTagName function - -* ewebkit build fails like gtk in http://trac.webkit.org/changeset/72745 - | ../../../lib/libwebcore_efl.so.0.1.0: undefined reference to `WebCore::Node::hasTagName(WebCore::QualifiedName const&) const' - | collect2: error: ld returned 1 exit status - | make[2]: *** [bin/DumpRenderTree] Error 1 -* SDL port has similar issue: - https://bugs.webkit.org/show_bug.cgi?id=88536 - -Signed-off-by: Martin Jansa ---- - Source/WebCore/css/CSSStyleSheet.cpp | 1 + - Source/WebKit/efl/ewk/ewk_frame.cpp | 1 + - Source/WebKit/efl/ewk/ewk_view.cpp | 1 + - 3 files changed, 3 insertions(+) - -diff --git a/Source/WebCore/css/CSSStyleSheet.cpp b/Source/WebCore/css/CSSStyleSheet.cpp -index 00b2d91..1d03c2e 100644 ---- a/Source/WebCore/css/CSSStyleSheet.cpp -+++ b/Source/WebCore/css/CSSStyleSheet.cpp -@@ -29,6 +29,7 @@ - #include "CSSStyleRule.h" - #include "CachedCSSStyleSheet.h" - #include "Document.h" -+#include "Element.h" - #include "ExceptionCode.h" - #include "HTMLNames.h" - #include "MediaList.h" -diff --git a/Source/WebKit/efl/ewk/ewk_frame.cpp b/Source/WebKit/efl/ewk/ewk_frame.cpp -index fd1ffd2..c86601a 100644 ---- a/Source/WebKit/efl/ewk/ewk_frame.cpp -+++ b/Source/WebKit/efl/ewk/ewk_frame.cpp -@@ -32,6 +32,7 @@ - #include "FocusController.h" - #include "FrameLoaderClientEfl.h" - #include "FrameView.h" -+#include "Element.h" - #include "HTMLCollection.h" - #include "HTMLHeadElement.h" - #include "HTMLImageElement.h" -diff --git a/Source/WebKit/efl/ewk/ewk_view.cpp b/Source/WebKit/efl/ewk/ewk_view.cpp -index 9798e94..7a5da60 100644 ---- a/Source/WebKit/efl/ewk/ewk_view.cpp -+++ b/Source/WebKit/efl/ewk/ewk_view.cpp -@@ -36,6 +36,7 @@ - #include "FocusController.h" - #include "FrameLoaderClientEfl.h" - #include "FrameView.h" -+#include "Element.h" - #include "GraphicsContext.h" - #include "HTMLElement.h" - #include "HTMLInputElement.h" --- -1.8.2.1 - diff --git a/ewebkit-harfbuzz-icu.patch b/ewebkit-harfbuzz-icu.patch deleted file mode 100644 index a5a8914..0000000 --- a/ewebkit-harfbuzz-icu.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- webkit-efl-svn-r127150/Source/cmake/FindHarfBuzz.cmake.orig 2012-08-30 20:44:46.000000000 +0200 -+++ webkit-efl-svn-r127150/Source/cmake/FindHarfBuzz.cmake 2013-07-21 15:10:41.231121247 +0200 -@@ -33,14 +33,20 @@ - INCLUDE(FindPkgConfig) - - PKG_CHECK_MODULES(PC_HARFBUZZ harfbuzz>=0.9.0) -+PKG_CHECK_MODULES(PC_HARFBUZZ_ICU harfbuzz-icu) - - FIND_PATH(HARFBUZZ_INCLUDE_DIRS NAMES hb.h - HINTS ${PC_HARFBUZZ_INCLUDE_DIRS} ${PC_HARFBUZZ_INCLUDEDIR} - ) - --FIND_LIBRARY(HARFBUZZ_LIBRARIES NAMES harfbuzz -+FIND_LIBRARY(HARFBUZZ_LIBRARY NAMES harfbuzz - HINTS ${PC_HARFBUZZ_LIBRARY_DIRS} ${PC_HARFBUZZ_LIBDIR} - ) - -+FIND_LIBRARY(HARFBUZZ_ICU_LIBRARY NAMES harfbuzz-icu -+ HINTS ${PC_HARFBUZZ_ICU_LIBRARY_DIRS} ${PC_HARFBUZZ_ICU_LIBDIR} -+) -+SET(HARFBUZZ_LIBRARIES "${HARFBUZZ_ICU_LIBRARY} ${HARFBUZZ_LIBRARY}") -+ - INCLUDE(FindPackageHandleStandardArgs) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(HarfBuzz DEFAULT_MSG HARFBUZZ_INCLUDE_DIRS HARFBUZZ_LIBRARIES) ---- webkit-efl-svn-r127150/Source/WebCore/PlatformEfl.cmake.orig 2012-08-30 20:44:46.000000000 +0200 -+++ webkit-efl-svn-r127150/Source/WebCore/PlatformEfl.cmake 2013-07-21 21:19:51.196858362 +0200 -@@ -167,7 +167,8 @@ - platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp - ) - LIST(APPEND WebCore_LIBRARIES -- ${HARFBUZZ_LIBRARIES} -+ ${HARFBUZZ_ICU_LIBRARY} -+ ${HARFBUZZ_LIBRARY} - ) - ENDIF () - ENDIF () diff --git a/ewebkit-include.patch b/ewebkit-include.patch new file mode 100644 index 0000000..fcdc25e --- /dev/null +++ b/ewebkit-include.patch @@ -0,0 +1,10 @@ +--- WebKit/Source/JavaScriptCore/runtime/ButterflyInlines.h.orig 2013-12-08 18:21:26.000000000 +0100 ++++ WebKit/Source/JavaScriptCore/runtime/ButterflyInlines.h 2013-12-13 15:27:08.577217622 +0100 +@@ -30,6 +30,7 @@ + #include "Butterfly.h" + #include "CopiedSpaceInlines.h" + #include "CopyVisitor.h" ++#include "IndexingHeaderInlines.h" + #include "VM.h" + #include "Structure.h" + diff --git a/ewebkit-lib.patch b/ewebkit-lib.patch index d636dc2..92add9d 100644 --- a/ewebkit-lib.patch +++ b/ewebkit-lib.patch @@ -1,11 +1,11 @@ ---- webkit-efl-svn-r127150/Source/WebKit/PlatformEfl.cmake.orig 2012-08-30 20:44:46.000000000 +0200 -+++ webkit-efl-svn-r127150/Source/WebKit/PlatformEfl.cmake 2012-10-02 19:40:49.854024999 +0200 -@@ -251,7 +251,7 @@ - ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc - @ONLY) - INSTALL(FILES ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc -- DESTINATION lib/pkgconfig) -+ DESTINATION lib${LIB_SUFFIX}/pkgconfig) - - UNSET(LIBS_PRIVATE) - +--- WebKit/Source/WebKit/PlatformEfl.cmake.orig 2013-12-09 21:45:22.604102036 +0100 ++++ WebKit/Source/WebKit/PlatformEfl.cmake 2013-12-09 21:48:03.260761960 +0100 +@@ -189,7 +189,7 @@ + configure_file(efl/ewebkit.pc.in ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc @ONLY) + configure_file(efl/EWebKitConfig.cmake.in ${CMAKE_BINARY_DIR}/WebKit/efl/EWebKitConfig.cmake @ONLY) + configure_file(efl/EWebKitConfigVersion.cmake.in ${CMAKE_BINARY_DIR}/WebKit/efl/EWebKitConfigVersion.cmake @ONLY) +-install(FILES ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc DESTINATION lib/pkgconfig) ++install(FILES ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig) + install(FILES + ${CMAKE_BINARY_DIR}/WebKit/efl/EWebKitConfig.cmake + ${CMAKE_BINARY_DIR}/WebKit/efl/EWebKitConfigVersion.cmake diff --git a/ewebkit.spec b/ewebkit.spec index 396947c..b45ace5 100644 --- a/ewebkit.spec +++ b/ewebkit.spec @@ -1,69 +1,91 @@ Summary: WebKit-EFL - Web content engine for EFL applications Summary(pl.UTF-8): WebKit-EFL - silnik WWW dla aplikacji EFL Name: ewebkit -Version: 0 -%define subver r127150 -Release: 0.%{subver}.4 +Version: 0.1.0 +%define subver r160591 +Release: 0.%{subver}.1 License: BSD Group: Libraries -Source0: http://packages.profusion.mobi/webkit-efl/webkit-efl-svn-%{subver}.tar.bz2 -# Source0-md5: 54332bd571a23d44e32837f4fa3a1c76 +# older snapshots: +#Source0: http://packages.profusion.mobi/webkit-efl/webkit-efl-svn-%{subver}.tar.bz2 +# svn checkout https://svn.webkit.org/repository/webkit/trunk WebKit +# tar cJf webkit-r160591.tar.xz --exclude=.svn --exclude=LayoutTests --exclude=ManualTests --exclude=PerformanceTests --exclude=WebKitLibraries --exclude=Websites WebKit +Source0: webkit-%{subver}.tar.xz +# Source0-md5: b450c3c4030062571c3c05eea3cf4f30 Patch0: %{name}-lib.patch -Patch1: %{name}-harfbuzz-icu.patch -Patch2: %{name}-gcc.patch +Patch1: %{name}-bounds.patch +Patch2: %{name}-include.patch +Patch3: %{name}-build.patch URL: http://trac.enlightenment.org/e/wiki/EWebKit -BuildRequires: bison -BuildRequires: cairo-devel >= 1.10 +BuildRequires: OpenGL-devel +BuildRequires: atk-devel >= 1:2.10.0 +BuildRequires: bison >= 2.4.1 +BuildRequires: cairo-devel >= 1.10.2 BuildRequires: cmake >= 2.8.3 BuildRequires: dbus-devel -BuildRequires: e_dbus-devel >= 1.1.0 -BuildRequires: ecore-devel >= 1.2.0 -BuildRequires: ecore-evas-devel >= 1.2.0 -BuildRequires: ecore-file-devel >= 1.2.0 -BuildRequires: ecore-x-devel >= 1.2.0 -BuildRequires: edje >= 1.0.0 -BuildRequires: edje-devel >= 1.0.0 -BuildRequires: eeze-devel >= 1.3.0 -BuildRequires: efreet-devel >= 1.0.0 -BuildRequires: eina-devel >= 1.2.0 -BuildRequires: evas-devel >= 1.0.0 -BuildRequires: flex +BuildRequires: e_dbus-devel >= 1.7 +BuildRequires: ecore-devel >= 1.8 +BuildRequires: ecore-evas-devel >= 1.8 +BuildRequires: ecore-file-devel >= 1.8 +BuildRequires: ecore-imf-devel >= 1.8 +BuildRequires: ecore-imf-evas-devel >= 1.8 +BuildRequires: ecore-input-devel >= 1.8 +BuildRequires: ecore-x-devel >= 1.8 +BuildRequires: edje >= 1.8 +BuildRequires: edje-devel >= 1.8 +BuildRequires: eet-devel >= 1.8 +BuildRequires: eeze-devel >= 1.8 +BuildRequires: efreet-devel >= 1.8 +BuildRequires: eina-devel >= 1.8 +BuildRequires: eo-devel >= 1.8 +BuildRequires: evas-devel >= 1.8 +BuildRequires: flex >= 2.5.34 BuildRequires: fontconfig-devel >= 2.8.0 -BuildRequires: freetype-devel >= 2.1.0 -BuildRequires: glib2-devel >= 1:2.31.8 -BuildRequires: gperf -BuildRequires: gstreamer-devel >= 0.10 -BuildRequires: gstreamer-plugins-base-devel >= 0.10 +BuildRequires: freetype-devel >= 1:2.4.2 +BuildRequires: glib2-devel >= 1:2.36.0 +BuildRequires: gperf >= 3.0.1 +BuildRequires: gstreamer-devel >= 1.0.5 +BuildRequires: gstreamer-plugins-base-devel >= 1.0.5 BuildRequires: gtk+2-devel >= 2:2.10 -BuildRequires: harfbuzz-devel >= 0.9.0 +BuildRequires: harfbuzz-devel >= 0.9.18 +BuildRequires: harfbuzz-icu-devel >= 0.9.18 BuildRequires: libicu-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel -BuildRequires: libsoup-devel >= 2.39.4.1 -BuildRequires: libxml2-devel >= 1:2.6 +BuildRequires: libsoup-devel >= 2.42.0 +BuildRequires: libstdc++-devel +BuildRequires: libxml2-devel >= 1:2.8.0 BuildRequires: libxslt-devel >= 1.1.7 BuildRequires: pango-devel -BuildRequires: perl-base -BuildRequires: python +BuildRequires: perl-base >= 1:5.10.0 +BuildRequires: python >= 1:2.6.0 +BuildRequires: ruby >= 1.8.7 BuildRequires: sqlite3-devel +BuildRequires: xorg-lib-libX11-devel BuildRequires: zlib-devel -Requires: cairo >= 1.10 -Requires: e_dbus >= 1.1.0 -Requires: ecore >= 1.2.0 -Requires: ecore-evas >= 1.2.0 -Requires: ecore-file >= 1.2.0 -Requires: ecore-x >= 1.2.0 -Requires: edje-libs >= 1.0.0 -Requires: efreet >= 1.0.0 -Requires: eeze >= 1.3.0 -Requires: eina >= 1.2.0 -Requires: evas >= 1.0.0 +Requires: atk >= 1:2.10.0 +Requires: cairo >= 1.10.2 +Requires: e_dbus >= 1.7 +Requires: ecore >= 1.8 +Requires: ecore-evas >= 1.8 +Requires: ecore-file >= 1.8 +Requires: ecore-imf >= 1.8 +Requires: ecore-imf-evas >= 1.8 +Requires: ecore-input >= 1.8 +Requires: ecore-x >= 1.8 +Requires: edje-libs >= 1.8 +Requires: efreet >= 1.8 +Requires: eeze >= 1.8 +Requires: eina >= 1.8 +Requires: evas >= 1.8 Requires: fontconfig-libs >= 2.8.0 Requires: freetype >= 2.1.0 -Requires: glib2 >= 1:2.31.8 -Requires: gtk+2 >= 2:2.10 -Requires: harfbuzz >= 0.9.0 -Requires: libxml2 >= 1:2.6 +Requires: glib2 >= 1:2.36.0 +Requires: gstreamer >= 1.0.5 +Requires: gstreamer-plugins-base >= 1.0.5 +Requires: harfbuzz >= 0.9.18 +Requires: harfbuzz-icu >= 0.9.18 +Requires: libxml2 >= 1:2.8.0 Requires: libxslt >= 1.1.7 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -78,11 +100,13 @@ Summary: Header files for WebKit-EFL library Summary(pl.UTF-8): Pliki nagłówkowe biblioteki WebKit-EFL Group: Development/Libraries Requires: %{name} = %{version}-%{release} -Requires: cairo-devel >= 1.10 +Requires: cairo-devel >= 1.10.2 Requires: ecore-devel >= 1.2.0 Requires: ecore-input-devel >= 1.2.0 Requires: evas-devel >= 1.0.0 -Requires: libsoup-devel >= 2.39.4.1 +Requires: harfbuzz-devel +Requires: libsoup-devel >= 2.42.0 +Requires: libstdc++-devel %description devel Header files for WebKit-EFL library. @@ -91,17 +115,18 @@ Header files for WebKit-EFL library. Pliki nagłówkowe biblioteki WebKit-EFL. %prep -%setup -q -n webkit-efl-svn-%{subver} +%setup -q -n WebKit %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 %build # 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 CFLAGS="%(echo %{rpmcflags} | sed 's/ -g2/ -g1/g')" -CXXFLAGS="%(echo %{rpmcxxflags} | sed 's/ -g2/ -g1/g')" +CXXFLAGS="%(echo %{rpmcxxflags} | sed 's/ -g2/ -g1/g') -Wno-deprecated-declarations" %cmake . \ -DPORT=Efl %{__make} @@ -121,12 +146,21 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(644,root,root,755) %doc ChangeLog Source/WebKit/LICENSE +%attr(755,root,root) %{_bindir}/PluginProcess +%attr(755,root,root) %{_bindir}/WebProcess %attr(755,root,root) %{_libdir}/libewebkit.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libewebkit.so.0 +%attr(755,root,root) %{_libdir}/libewebkit2.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libewebkit2.so.0 %{_datadir}/ewebkit-0 %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libewebkit.so +%attr(755,root,root) %{_libdir}/libewebkit2.so %{_includedir}/ewebkit-0 +%{_includedir}/ewebkit2-0 %{_pkgconfigdir}/ewebkit.pc +%{_pkgconfigdir}/ewebkit2.pc +%{_libdir}/cmake/EWebKit +%{_libdir}/cmake/EWebKit2 -- 2.43.0