diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3281b19 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +/wpewebkit-2.21.2.tar.xz +/wpewebkit-2.21.92.tar.xz +/wpewebkit-2.22.4.tar.xz +/wpewebkit-2.22.5.tar.xz +/wpewebkit-2.24.0.tar.xz +/wpewebkit-2.24.1.tar.xz +/wpewebkit-2.24.2.tar.xz +/wpewebkit-2.26.1.tar.xz diff --git a/README.md b/README.md new file mode 100644 index 0000000..6274646 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# wpewebkit + +WPE allows embedders to create simple and performant systems based on Web platform technologies. It is designed with hardware acceleration in mind, leveraging common 3D graphics APIs for best performance. diff --git a/dead.package b/dead.package deleted file mode 100644 index 5204a84..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Orphaned for 6+ weeks diff --git a/python2.patch b/python2.patch new file mode 100644 index 0000000..a27f508 --- /dev/null +++ b/python2.patch @@ -0,0 +1,20 @@ +From 494e4abb7a5130376d3cdb41a5e3963650b8659f Mon Sep 17 00:00:00 2001 +From: rpm-build +Date: Mon, 16 Jul 2018 06:34:53 +0200 +Subject: [PATCH] Fix the broken build due to python2 + + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl b/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl +index 4bb7037d..3071b45f 100755 +--- a/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl ++++ b/Source/WebInspectorUI/Scripts/copy-user-interface-resources.pl +@@ -155,7 +155,7 @@ my $inspectorLicense = <<'EOF'; + EOF + + my $perl = $^X; +-my $python = ($OSNAME =~ /cygwin/) ? "/usr/bin/python" : "python"; ++my $python = ($OSNAME =~ /cygwin/) ? "/usr/bin/python2" : "python2"; + my $derivedSourcesDir = $ENV{'DERIVED_SOURCES_DIR'}; + my $scriptsRoot = File::Spec->catdir($ENV{'SRCROOT'}, 'Scripts'); + my $sharedScriptsRoot = File::Spec->catdir($ENV{'JAVASCRIPTCORE_PRIVATE_HEADERS_DIR'}); diff --git a/sources b/sources new file mode 100644 index 0000000..d4464a7 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (wpewebkit-2.26.1.tar.xz) = eabfa1ba4b98c7a37db51b94559c1251164988fba42a1df7872912e8a174d3ca0d04dad5e0191e16c417957c563eb18b1bd2a6722cb19a273e4e4b06bf906636 diff --git a/wpewebkit.spec b/wpewebkit.spec new file mode 100644 index 0000000..a789487 --- /dev/null +++ b/wpewebkit.spec @@ -0,0 +1,207 @@ +## NOTE: Lots of files in various subdirectories have the same name (such as +## "LICENSE") so this short macro allows us to distinguish them by using their +## directory names (from the source tree) as prefixes for the files. +%global add_to_license_files() \ + mkdir -p _license_files ; \ +cp -p %1 _license_files/$(echo '%1' | sed -e 's!/!.!g') + +Name: wpewebkit +Version: 2.26.1 +Release: 1%{?dist} +Summary: A WebKit port optimized for low-end devices + +License: LGPLv2 and BSD +URL: http://www.%{name}.org/ +Source0: http://wpewebkit.org/releases/%{name}-%{version}.tar.xz + +# Explicitly specify python2 over python to avoid build fails +Patch0: python2.patch + +BuildRequires: openjpeg2-devel +BuildRequires: bison +BuildRequires: cairo-devel +BuildRequires: cmake +BuildRequires: libwpe-devel +BuildRequires: wpebackend-fdo-devel +BuildRequires: flex +BuildRequires: gcc-c++ +BuildRequires: gnutls-devel +BuildRequires: gperf +BuildRequires: gstreamer1-devel +BuildRequires: gstreamer1-plugins-base-devel +BuildRequires: gstreamer1-plugins-bad-free-devel +BuildRequires: harfbuzz-devel +BuildRequires: libicu-devel +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel +BuildRequires: libsoup-devel +BuildRequires: libwebp-devel +BuildRequires: libxslt-devel +BuildRequires: libwayland-client-devel +BuildRequires: libwayland-egl-devel +BuildRequires: libwayland-server-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: wayland-protocols-devel +BuildRequires: mesa-libEGL-devel +BuildRequires: perl-File-Copy-Recursive +BuildRequires: perl-JSON-PP +BuildRequires: perl-Switch +BuildRequires: python2 +BuildRequires: ruby +BuildRequires: rubygems +BuildRequires: sqlite-devel +BuildRequires: woff2-devel +BuildRequires: libepoxy-devel +BuildRequires: atk-devel at-spi2-atk-devel +BuildRequires: bubblewrap +BuildRequires: libseccomp-devel +BuildRequires: xdg-dbus-proxy +Requires: atk +Requires: at-spi2-atk + +%description +WPE allows embedders to create simple and performant systems based on +Web platform technologies. It is designed with hardware acceleration +in mind, leveraging common 3D graphics APIs for best performance. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries, build data, and header +files for developing applications that use %{name} + +%prep +%autosetup -p1 -n wpewebkit-%{version} + +%build +# Increase the DIE limit so our debuginfo packages could be size optimized. +# Decreases the size for x86_64 from ~5G to ~1.1G. +# https://bugzilla.redhat.com/show_bug.cgi?id=1456261 +%global _dwz_max_die_limit 250000000 + +# The _dwz_max_die_limit is being overridden by the arch specific ones from the +# redhat-rpm-config so we need to set the arch specific ones as well - now it +# is only needed for x86_64. +%global _dwz_max_die_limit_x86_64 250000000 + +%ifarch s390 aarch64 +# Use linker flags to reduce memory consumption - on other arches the ld.gold is +# used and also it doesn't have the --reduce-memory-overheads option +%global optflags %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads +%endif + +# Decrease debuginfo even on ix86 because of: +# https://bugs.webkit.org/show_bug.cgi?id=140176 +%ifarch s390 s390x %{arm} %{ix86} ppc %{power64} %{mips} +# Decrease debuginfo verbosity to reduce memory consumption even more +%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') +%endif + +%ifarch ppc +# Use linker flag -relax to get WebKit build under ppc(32) with JIT disabled +%global optflags %{optflags} -Wl,-relax +%endif + +# Disable ld.gold on s390 as it does not have it. +# Also for aarch64 as the support is in upstream, but not packaged in Fedora. +# FIXME: Ideally the CMAKE_EXE_LINKER_FLAGS would not be necessary, but builds seem to be failing otherwise. +mkdir -p %{_target_platform} +pushd %{_target_platform} +%cmake \ + -DPORT=WPE \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_MINIBROWSER=ON \ +%ifarch s390 aarch64 + -DUSE_LD_GOLD=OFF \ +%endif +%ifarch s390 s390x ppc %{power64} + -DENABLE_JIT=OFF \ + -DUSE_SYSTEM_MALLOC=ON \ +%endif +.. +popd + +%make_build -C %{_target_platform} + +%install +%make_install -C %{_target_platform} + +# Finally, copy over and rename various files for %license inclusion +%add_to_license_files Source/JavaScriptCore/COPYING.LIB +%add_to_license_files Source/JavaScriptCore/icu/LICENSE +%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/compiler/LICENSE +%add_to_license_files Source/ThirdParty/ANGLE/src/third_party/libXNVCtrl/LICENSE +%add_to_license_files Source/WebCore/icu/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 +%{_bindir}/WPEWebDriver +%{_libdir}/libWPEWebKit-1.0.so.3 +%{_libdir}/libWPEWebKit-1.0.so.3.* +%{_libexecdir}/wpe-webkit-1.0 +%{_libdir}/wpe-webkit-1.0 +%doc NEWS +%license _license_files/*ThirdParty* +%license _license_files/*WebCore* +%license _license_files/*WebInspectorUI* +%license _license_files/*WTF* +%license _license_files/*JavaScriptCore* + +%files devel +%{_includedir}/wpe-webkit-1.0 +%{_libdir}/libWPEWebKit-1.0.so +%{_libdir}/pkgconfig/*.pc + + +%changelog +* Sat Sep 28 2019 Chris King - 2.26.1-1 +- New version, added atk/bubblewrap libs for build, removed crypto patch as its + no longer needed. Also, sobump. + +* Sat Jul 27 2019 Fedora Release Engineering - 2.24.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon May 20 2019 Chris King - 2.24.2-1 +- New version + +* Fri Apr 19 2019 Chris King - 2.24.1-1 +- New version + +* Wed Mar 27 2019 Chris King - 2.24.0-1 +- New version + +* Tue Mar 19 2019 Chris King - 2.22.5-1 +- New version + +* Sat Feb 09 2019 Chris King - 2.22.4-1 +- New version and removing patches that were upstreamed in this version + +* Sun Feb 03 2019 Fedora Release Engineering - 2.21.92-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jan 24 2019 Pete Walter - 2.21.92-3 +- Rebuild for ICU 63 + +* Fri Sep 21 2018 Chris King - 2.21.92-2 +- Adding another patch so the package properly installs + +* Fri Sep 14 2018 Chris King - 2.21.92-1 +- Adding some patches to fix failing builds + +* Mon Sep 10 2018 Chris King - 2.21.92-1 +- Soname bump and version update + +* Tue Jul 17 2018 Chris King - 2.21.2-1 +- Initial RPM package.