diff --git a/webkit2gtk3.spec b/webkit2gtk3.spec index 289bf8102fae11e49333ac08b2e2ec74dc0fe6e2..fa244bf6fa6cd3728f80659f0b7ebb0a9d5917c4 100644 --- a/webkit2gtk3.spec +++ b/webkit2gtk3.spec @@ -1,25 +1,28 @@ -%global __provides_exclude_from ^%{_libdir}/webkit2gtk-4\\.0/.*\\.so$ +%define debug_package %{nil} +# Filter out provides for private libraries +%global __provides_exclude_from ^(%{_libdir}/webkit2gtk-4\\.0/.*\\.so)$ + %global _dwz_max_die_limit 250000000 %global _dwz_max_die_limit_x86_64 250000000 -#build gtkdoc failed on x86_64 +%global _find_debuginfo_opts %limit_build -m 8192 + +%global add_to_license_files() \ + mkdir -p _license_files ; \ + cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') + %ifarch aarch64 %bcond_without docs %endif -#Basic Information Name: webkit2gtk3 -Version: 2.36.3 -Release: 3 -Summary: GTK+ Web content engine library +Version: 2.38.2 +Release: 2 +Summary: GTK web content engine library License: LGPLv2 URL: https://www.webkitgtk.org/ Source0: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz Source1: https://webkitgtk.org/releases/webkitgtk-%{version}.tar.xz.asc -#Patch0: aarch64-page-size.patch - -#Patch6000: backport-CVE-2021-42762.patch -#Patch6001: backport-CVE-2022-30293-CVE-2022-30294.patch %ifarch loongarch64 Patch0001: 0001-webkitgtk-add-loongarch.patch %endif @@ -28,115 +31,175 @@ Patch0002: webkitgtk-2.32.1-sw.patch %endif #Dependency -BuildRequires: at-spi2-core-devel bison cairo-devel cmake enchant2-devel -BuildRequires: flex fontconfig-devel freetype-devel ninja-build -BuildRequires: git geoclue2-devel gettext gcc-c++ glib2-devel gnutls-devel -BuildRequires: gobject-introspection-devel gperf gnupg2 wpebackend-fdo-devel -BuildRequires: gstreamer1-devel gstreamer1-plugins-base-devel rubygem-json -BuildRequires: gstreamer1-plugins-bad-free-devel libwpe-devel libseccomp-devel -BuildRequires: gtk3-devel gtk-doc geoclue2-devel libjpeg-turbo-devel -BuildRequires: harfbuzz-devel hyphen-devel bubblewrap xdg-dbus-proxy -BuildRequires: libatomic libicu-devel libjpeg-devel libnotify-devel -BuildRequires: libpng-devel libsecret-devel libsoup-devel libwebp-devel -BuildRequires: libxslt-devel libXt-devel libwayland-client-devel wayland-protocols-devel -BuildRequires: libwayland-egl-devel libwayland-server-devel openjpeg2-devel -BuildRequires: mesa-libEGL-devel mesa-libGL-devel libglvnd-devel -BuildRequires: pcre-devel perl-File-Copy-Recursive perl-JSON-PP perl-Switch -BuildRequires: python3 ruby rubygems sqlite-devel upower-devel woff2-devel pkgconfig(libsystemd) -BuildRequires: perl lcms2-devel libgcrypt-devel libtasn1-devel wayland-devel +BuildRequires: bison +BuildRequires: bubblewrap +BuildRequires: cmake +BuildRequires: flex +BuildRequires: gcc-c++ +BuildRequires: gettext +BuildRequires: gi-docgen +BuildRequires: git +BuildRequires: gnupg2 +BuildRequires: gperf +BuildRequires: hyphen-devel +BuildRequires: libatomic +BuildRequires: ninja-build +BuildRequires: perl(English) +BuildRequires: perl(FindBin) +BuildRequires: perl(JSON::PP) +BuildRequires: python3 +BuildRequires: ruby +BuildRequires: rubygems +BuildRequires: rubygem-json +BuildRequires: xdg-dbus-proxy + +BuildRequires: pkgconfig(atspi-2) +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(enchant-2) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(glesv2) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(gstreamer-1.0) +BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(harfbuzz) +BuildRequires: pkgconfig(icu-uc) +BuildRequires: pkgconfig(lcms2) +BuildRequires: pkgconfig(libgcrypt) +BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(libnotify) +BuildRequires: pkgconfig(libopenjp2) +BuildRequires: pkgconfig(libpcre) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(libseccomp) +BuildRequires: pkgconfig(libsecret-1) +BuildRequires: pkgconfig(libsoup-2.4) +BuildRequires: pkgconfig(libsoup-3.0) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(libtasn1) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libwoff2dec) +BuildRequires: pkgconfig(libxslt) #BuildRequires: pkgconfig(manette-0.2) -Requires: geoclue2 bubblewrap xdg-dbus-proxy -Requires: webkit2gtk3-jsc = %{version}-%{release} -Recommends: xdg-desktop-portal-gtk gstreamer1-plugins-bad-free gstreamer1-plugins-good - +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(upower-glib) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-egl) +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(wpe-1.0) +BuildRequires: pkgconfig(wpebackend-fdo-1.0) +BuildRequires: pkgconfig(xt) + +Requires: javascriptcoregtk4.0%{?_isa} = %{version}-%{release} +Requires: bubblewrap +Requires: xdg-dbus-proxy +Recommends: geoclue2 +Recommends: gstreamer1-plugins-bad-free +Recommends: gstreamer1-plugins-good +Recommends: xdg-desktop-portal-gtk Provides: bundled(angle) +Provides: bundled(pdfjs) Provides: bundled(xdgmime) - -Obsoletes: libwebkit2gtk < 2.5.0 -Provides: libwebkit2gtk = %{version}-%{release} Obsoletes: webkitgtk4 < %{version}-%{release} Provides: webkitgtk4 = %{version}-%{release} -Obsoletes: webkit2gtk3-plugin-process-gtk2 < %{version}-%{release} -Provides: webkit2gtk3-plugin-process-gtk2 = %{version}-%{release} -Obsoletes: webkitgtk4-plugin-process-gtk2 < %{version}-%{release} -Provides: webkitgtk4-plugin-process-gtk2 = %{version}-%{release} +Obsoletes: webkit2gtk4.0 < %{version}-%{release} +Provides: webkit2gtk4.0 = %{version}-%{release} +Provides: webkit2gtk4.0%{?_isa} = %{version}-%{release} +Provides: webkit2gtk3 = %{version}-%{release} +Provides: webkit2gtk3%{?_isa} = %{version}-%{release} %description -WebKitGTK is a full-featured port of the WebKit rendering engine, -suitable for projects requiring any kind of web integration, from -hybrid HTML/CSS applications to full-fledged web browsers. This -package contains WebKit2 based WebKitGTK+ for GTK+ 3. +WebKitGTK is the port of the WebKit web rendering engine to the +GTK platform. This package contains WebKitGTK for GTK 3 and libsoup 2. -%package devel +%package -n webkit2gtk3-devel Summary: Development files for webkit2gtk3 -Requires: %{name} = %{version}-%{release} -Requires: %{name}-jsc = %{version}-%{release} -Requires: %{name}-jsc-devel = %{version}-%{release} +Requires: webkit2gtk3%{?_isa} = %{version}-%{release} +Requires: javascriptcoregtk4.0%{?_isa} = %{version}-%{release} Obsoletes: webkitgtk4-devel < %{version}-%{release} Provides: webkitgtk4-devel = %{version}-%{release} +Obsoletes: webkit2gtk4.0-devel < %{version}-%{release} +Provides: webkit2gtk4.0-devel = %{version}-%{release} +Provides: webkit2gtk4.0-devel%{?_isa} = %{version}-%{release} +Provides: webkit2gtk3-devel = %{version}-%{release} -%description devel +%description -n webkit2gtk3-devel The webkit2gtk3-devel package contains libraries, build data, and header files for developing applications that use webkit2gtk3. %if %{with docs} -%package help +%package -n webkit2gtk3-help Summary: Documentation files for webkit2gtk3 BuildArch: noarch -Requires: %{name} = %{version}-%{release} -Obsoletes: %{name}-doc < %{version}-%{release} -Provides: %{name}-doc = %{version}-%{release} +Requires: webkit2gtk3 = %{version}-%{release} Obsoletes: webkitgtk4-doc < %{version}-%{release} Provides: webkitgtk4-doc = %{version}-%{release} - -%description help +Obsoletes: webkitgtk4-help < %{version}-%{release} +Provides: webkitgtk4-help = %{version}-%{release} +Obsoletes: webkit2gtk3-doc < %{version}-%{release} +Provides: webkit2gtk3-doc = %{version}-%{release} +Obsoletes: webkit2gtk3-help < %{version}-%{release} +Provides: webkit2gtk3-help = %{version}-%{release} + +%description -n webkit2gtk3-help This package contains developer documentation for webkit2gtk3. %endif -%package jsc +%package -n webkit2gtk3-jsc Summary: JavaScript engine from webkit2gtk3 +Provides: javascriptcoregtk4.0%{?_isa} = %{version}-%{release} Obsoletes: webkitgtk4-jsc < %{version}-%{release} Provides: webkitgtk4-jsc = %{version}-%{release} +Provides: webkit2gtk3-jsc = %{version}-%{release} +Obsoletes: jsc4.0 < %{version}-%{release} +Provides: jsc4.0 = %{version}-%{release} +Provides: jsc4.0%{?_isa} = %{version}-%{release} -%description jsc +%description -n webkit2gtk3-jsc This package contains JavaScript engine from webkit2gtk3. -%package jsc-devel +%package -n webkit2gtk3-jsc-devel Summary: Development files for JavaScript engine from webkit2gtk3 -Requires: %{name}-jsc = %{version}-%{release} +Requires: javascriptcoregtk4.0%{?_isa} = %{version}-%{release} Obsoletes: webkitgtk4-jsc-devel < %{version}-%{release} Provides: webkitgtk4-jsc-devel = %{version}-%{release} +Obsoletes: webkit2gtk3-jsc-devel < %{version}-%{release} +Provides: webkit2gtk3-jsc-devel = %{version}-%{release} +Obsoletes: jsc4.0-devel < %{version}-%{release} +Provides: jsc4.0-devel = %{version}-%{release} +Provides: jsc4.0-devel%{?_isa} = %{version}-%{release} -%description jsc-devel -The webkit2gtk3-jsc-devel package contains libraries, build data, and header +%description -n webkit2gtk3-jsc-devel +The webkit2gtk3-devel package contains libraries, build data, and header files for developing applications that use JavaScript engine from webkit2gtk3. -#Build sections %prep %autosetup -p1 -n webkitgtk-%{version} -# rm bundled libraries -rm -rf Source/ThirdParty/gtest/ -rm -rf Source/ThirdParty/qunit/ - %build -%global optflags %(echo %{optflags} -Wl,--no-keep-memory | sed 's/-g /-g1 /') -mkdir -p %{_target_platform} -pushd %{_target_platform} +%ifarch %{ix86} +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') +%endif + +#%%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0 +mkdir -p build-4.0 +pushd build-4.0 %cmake \ -GNinja \ -DPORT=GTK \ -DCMAKE_BUILD_TYPE=Release \ -%if %{with docs} - -DENABLE_GTKDOC=ON \ -%endif - -DENABLE_MINIBROWSER=ON \ -DUSE_SOUP2=ON \ - -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ + -DENABLE_WEBDRIVER=OFF \ +%if %{without docs} + -DENABLE_DOCUMENTATION=OFF \ +%endif -DENABLE_GAMEPAD=OFF \ - -DCMAKE_EXE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now -pthread" \ - -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now -pthread" \ - -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now -pthread" \ %ifarch aarch64 loongarch64 -DENABLE_JIT=OFF \ -DUSE_SYSTEM_MALLOC=ON \ @@ -147,41 +210,56 @@ pushd %{_target_platform} %endif %endif .. + %{nil} +%ninja_build -j8 popd -export NINJA_STATUS="[%f/%t][%e] " -%ninja_build -C %{_target_platform} +#%%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0 +#export NINJA_STATUS="[3/3][%f/%t %es] " +#%%ninja_build %install -%ninja_install -C %{_target_platform} +#%%define _vpath_builddir %{_vendor}-%{_target_os}-build/webkit2gtk-4.0 +pushd build-4.0 +%ninja_install +popd %find_lang WebKit2GTK-4.0 -#Files list # Finally, copy over and rename various files for %%license inclusion -mkdir -p temp_copyrights -for f in $(find Source -regex ".*\(LICENSE\|COPYING\).*" | grep -v test);do - cp -a $f temp_copyrights/${f//\//.} -done - -%files -f WebKit2GTK-4.0.lang -%license temp_copyrights/*ThirdParty* -%license temp_copyrights/*WebCore* -%license temp_copyrights/*WebInspectorUI* -%license temp_copyrights/*WTF* -%{_libdir}/libwebkit2gtk-4.0.so.* +%add_to_license_files Source/JavaScriptCore/COPYING.LIB +%add_to_license_files Source/ThirdParty/ANGLE/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/common/third_party/smhasher/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/libXNVCtrl/LICENSE +%add_to_license_files Source/WebCore/LICENSE-APPLE +%add_to_license_files Source/WebCore/LICENSE-LGPL-2 +%add_to_license_files Source/WebCore/LICENSE-LGPL-2.1 +%add_to_license_files Source/WebInspectorUI/UserInterface/External/CodeMirror/LICENSE +%add_to_license_files Source/WebInspectorUI/UserInterface/External/Esprima/LICENSE +%add_to_license_files Source/WebInspectorUI/UserInterface/External/three.js/LICENSE +%add_to_license_files Source/WTF/icu/LICENSE +%add_to_license_files Source/WTF/wtf/dtoa/COPYING +%add_to_license_files Source/WTF/wtf/dtoa/LICENSE + +%files -n webkit2gtk3 -f WebKit2GTK-4.0.lang +%license _license_files/*ThirdParty* +%license _license_files/*WebCore* +%license _license_files/*WebInspectorUI* +%license _license_files/*WTF* +%{_libdir}/libwebkit2gtk-4.0.so.37* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/WebKit2-4.0.typelib %{_libdir}/girepository-1.0/WebKit2WebExtension-4.0.typelib %{_libdir}/webkit2gtk-4.0/ %{_libexecdir}/webkit2gtk-4.0/ %exclude %{_libexecdir}/webkit2gtk-4.0/MiniBrowser -%{_bindir}/WebKitWebDriver +%exclude %{_libexecdir}/webkit2gtk-4.0/jsc -%files devel +%files -n webkit2gtk3-devel %{_libexecdir}/webkit2gtk-4.0/MiniBrowser %{_includedir}/webkitgtk-4.0/ %exclude %{_includedir}/webkitgtk-4.0/JavaScriptCore +%exclude %{_includedir}/webkitgtk-4.0/jsc %{_libdir}/libwebkit2gtk-4.0.so %{_libdir}/pkgconfig/webkit2gtk-4.0.pc %{_libdir}/pkgconfig/webkit2gtk-web-extension-4.0.pc @@ -189,32 +267,39 @@ done %{_datadir}/gir-1.0/WebKit2-4.0.gir %{_datadir}/gir-1.0/WebKit2WebExtension-4.0.gir -%files jsc -%license temp_copyrights/*JavaScriptCore* -%{_libdir}/libjavascriptcoregtk-4.0.so.* +%files -n webkit2gtk3-jsc +%license _license_files/*JavaScriptCore* +%{_libdir}/libjavascriptcoregtk-4.0.so.18* %dir %{_libdir}/girepository-1.0 %{_libdir}/girepository-1.0/JavaScriptCore-4.0.typelib -%files jsc-devel +%files -n webkit2gtk3-jsc-devel %{_libexecdir}/webkit2gtk-4.0/jsc %dir %{_includedir}/webkitgtk-4.0 -%{_includedir}/webkitgtk-4.0/jsc/ %{_includedir}/webkitgtk-4.0/JavaScriptCore/ +%{_includedir}/webkitgtk-4.0/jsc/ %{_libdir}/libjavascriptcoregtk-4.0.so %{_libdir}/pkgconfig/javascriptcoregtk-4.0.pc %dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/JavaScriptCore-4.0.gir %if %{with docs} -%files help +%files -n webkit2gtk3-help %dir %{_datadir}/gtk-doc %dir %{_datadir}/gtk-doc/html -%{_datadir}/gtk-doc/html/jsc-glib-4.0/ +%{_datadir}/gtk-doc/html/javascriptcoregtk-4.0/ %{_datadir}/gtk-doc/html/webkit2gtk-4.0/ -%{_datadir}/gtk-doc/html/webkitdomgtk-4.0/ +%{_datadir}/gtk-doc/html/webkit2gtk-web-extension-4.0/ %endif %changelog +* Wed Feb 15 2023 Wenlong Ding - 2.38.2-2 +- Adaptor old version +- Splite webkit2gtk4/5 to other repository + +* Mon Dec 05 2022 lin zhang - 2.38.2-1 +- Update to 2.38.2 for gnome 43 + * Tue Nov 29 2022 wuzx - 2.36.3-3 - Add sw64 architecture diff --git a/webkitgtk-2.36.3.tar.xz b/webkitgtk-2.38.2.tar.xz similarity index 65% rename from webkitgtk-2.36.3.tar.xz rename to webkitgtk-2.38.2.tar.xz index 27cb8da7782c4badfed4ab8794113dc0a20e15aa..6a3b058187dbe4abb3e1d903d068bf0b993366c5 100644 Binary files a/webkitgtk-2.36.3.tar.xz and b/webkitgtk-2.38.2.tar.xz differ diff --git a/webkitgtk-2.36.3.tar.xz.asc b/webkitgtk-2.38.2.tar.xz.asc similarity index 31% rename from webkitgtk-2.36.3.tar.xz.asc rename to webkitgtk-2.38.2.tar.xz.asc index 6dc431e135002256068f0e5476689dbc6fc80e04..7c4264075309636ec46b56035c4e438491de022d 100644 --- a/webkitgtk-2.36.3.tar.xz.asc +++ b/webkitgtk-2.38.2.tar.xz.asc @@ -1,6 +1,6 @@ -----BEGIN PGP SIGNATURE----- -iF0EABECAB0WIQRao7wzT9fjNp58d7KRxVnb5MkSOwUCYpHpvAAKCRCRxVnb5MkS -O27PAJ9ptAQKzmWX16VWJ1yyn/CaHwKJ8QCfV5gesH/nXmV7IsZn5vv+jDixo58= -=AWMS +iF0EABEDAB0WIQTX/PYc+aLeqzHYG9Pz0yLQ7EWCwwUCY2TNpwAKCRDz0yLQ7EWC +wyH5AJ4ktXefZTDTuk7ETZ3ZhjyVqaVqfQCg3uzmbd5M3POtdDuuG5eALaXQXhA= +=CshI -----END PGP SIGNATURE-----