%global glib2_version 2.67.4
%global gtk3_version 3.24.0
%global webkit2gtk3_version 2.37.1

Name:                epiphany
Epoch:               1
Version:             43.0
Release:             4
Summary:             Web browser for GNOME
License:             GPLv3+
URL:                 https://wiki.gnome.org/Apps/Web
Source0:             https://download.gnome.org/sources/epiphany/43/%{name}-%{version}.tar.xz
Patch0:              epiphany-default-bookmarks-openeuler.patch
Patch1:              CVE-2023-26081.patch

BuildRequires:       desktop-file-utils gcc gettext-devel iso-codes-devel itstool
BuildRequires:       libappstream-glib-devel meson pkgconfig(cairo) pkgconfig(evince-document-3.0)
BuildRequires:       gcr-devel pkgconfig(gdk-3.0) >= %{gtk3_version}
BuildRequires:       pkgconfig(gdk-pixbuf-2.0) pkgconfig(gio-unix-2.0) >= %{glib2_version}
BuildRequires:       pkgconfig(glib-2.0) >= %{glib2_version}
BuildRequires:       pkgconfig(gnome-desktop-3.0) >= %{glib2_version}
BuildRequires:       pkgconfig(gtk+-3.0) >= %{gtk3_version}
BuildRequires:       pkgconfig(gtk+-unix-print-3.0) >= %{gtk3_version} pkgconfig(hogweed)
BuildRequires:       pkgconfig(icu-uc) pkgconfig(json-glib-1.0) pkgconfig(libdazzle-1.0)
BuildRequires:       pkgconfig(libhandy-1) pkgconfig(libnotify) pkgconfig(libsecret-1)
BuildRequires:       pkgconfig(libportal-gtk3) >= 0.5
BuildRequires:       pkgconfig(libsoup-3.0) pkgconfig(libxml-2.0) pkgconfig(libxslt)
BuildRequires:       pkgconfig(nettle) pkgconfig(sqlite3)
BuildRequires:       pkgconfig(webkit2gtk-4.1) >= %{webkit2gtk3_version}
BuildRequires:       pkgconfig(webkit2gtk-web-extension-4.1) >= %{webkit2gtk3_version} chrpath

Requires:            %{name}-runtime%{?_isa} = %{epoch}:%{version}-%{release}

%description
Epiphany is the web browser for the GNOME desktop. Its goal is to be
simple and easy to use. Epiphany ties together many GNOME components
in order to let you focus on the Web content, instead of the browser
application.

%package runtime
Summary:             Epiphany runtime suitable for web applications
Requires:            gsettings-desktop-schemas gtk3%{?_isa} >= %{gtk3_version} iso-codes
Requires:            webkit2gtk3%{?_isa} >= %{webkit2gtk3_version}
Provides:            bundled(gvdb)
Provides:            bundled(highlightjs)
Provides:            bundled(readabilityjs)

%description runtime
This package provides a runtime for web applications without actually
installing the epiphany application itself.

%prep
%autosetup -p1

%build
%meson
%meson_build

%install
%meson_install
%find_lang %{name} --with-gnome

chrpath -d %{buildroot}%{_libdir}/epiphany/*.so
chrpath -d %{buildroot}%{_libdir}/epiphany/web-process-extensions/*.so
chrpath -d %{buildroot}%{_libexecdir}/epiphany/*
chrpath -d %{buildroot}%{_libexecdir}/epiphany-search-provider
chrpath -d %{buildroot}%{_libexecdir}/epiphany-webapp-provider
chrpath -d %{buildroot}%{_bindir}/epiphany

sed -i 's/Exec=/Exec=env WEBKIT_FORCE_SANDBOX=0 /g' %{buildroot}%{_datadir}/applications/org.gnome.Epiphany.desktop

mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
echo "%{_libdir}/epiphany" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf

%post
/sbin/ldconfig

%postun
/sbin/ldconfig

%check
desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop

%files -f %{name}.lang
%{_libexecdir}/epiphany-search-provider
%{_datadir}/applications/org.gnome.Epiphany.desktop
%{_datadir}/dbus-1/services/org.gnome.Epiphany.SearchProvider.service
%{_datadir}/metainfo/org.gnome.Epiphany.appdata.xml
%dir %{_datadir}/gnome-shell/
%dir %{_datadir}/gnome-shell/search-providers/
%{_datadir}/gnome-shell/search-providers/org.gnome.Epiphany.SearchProvider.ini
#%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf

%files runtime
%license COPYING
%doc NEWS README.md
%{_datadir}/dbus-1/services/org.gnome.Epiphany.WebAppProvider.service
%{_datadir}/icons/hicolor/*/apps/org.gnome.Epiphany*
%{_datadir}/glib-2.0/schemas/org.gnome.epiphany.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.Epiphany.enums.xml
%{_bindir}/epiphany
%{_libexecdir}/epiphany/
%{_libexecdir}/epiphany-webapp-provider
%{_libdir}/epiphany/
%{_datadir}/epiphany
%{_mandir}/man*/*
%config(noreplace)%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf

%changelog
* Thu Mar 02 2023 yaoxin <yaoxin30@h-partners.com> - 1:43.0-4
- Remove rpath

* Thu Mar 2 2023 zhuang li  <zhuang.li@turbolinux.com.cn> - 1:43.0-3
- Modified configuration file Uncomment  43.0-3

* Thu Feb 23 2023 liweiganga <liweiganga@uniontech.com> - 1:43.0-2
- fix CVE-2023-26081

* Mon Jan 2 2023 lin zhang <lin.zhang@turbolinux.com.cn> - 1:43.0-1
- Update to 43.0

* Fri Sep 9 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 1:42.2-2
- fix issue #I5QHPI

* Mon Mar 28 2022 lin zhang <lin.zhang@turbolinux.com.cn> - 1:42.2-1
- Update to 42.2

* Fri Sep 10 2021 lingsheng <lingsheng@huawei.com> - 3.38.5-2
- Delete rpath setting

* Thu Jun 24 2021 Wenlong Ding <wenlong.ding@turbolinux.com.cn> - 3.38.5-1
- Update to 3.38.5

* Thu Nov 5 2020 Liu wei bo <liuweibo10@huawei.com> - 3.36.4-1
- package init
