File bilibili.spec of Package bilibili
%global debug_package %{nil}
%global __provides_exclude_from ^%{_libexecdir}/.*$
%global __requires_exclude_from ^%{_libexecdir}/.*$
%define program_version 1.17.2-1
%define program_version_formatted 1.17.2.1
Name: bilibili
Version: %{program_version_formatted}
Release: 0%{?dist}
Summary: A third party video player for Bilibili
License: MIT
Group: Productivity/Multimedia/Video/Players
URL: https://github.com/msojocs/bilibili-linux
Source0: %{name}.tar.gz
Source1: %{name}.desktop
Source2: %{name}.svg
BuildRequires: hicolor-icon-theme
BuildRequires: desktop-file-utils
%if 0%{?suse_version} || 0%{?fedora} || 0%{?mageia}
BuildRequires: fdupes
%endif
%if 0%{?suse_version}
BuildRequires: update-desktop-files
%endif
%if 0%{?suse_version} > 1500
# Use prebuilt electron
Requires: nodejs-electron
%endif
ExclusiveArch: x86_64
%description
Bilibili is a leading video community with a mission to enrich the everyday life of the young generation in China.
%prep
tar -zxf %{SOURCE0}
%build
%install
mkdir -p %{buildroot}%{_bindir} %{buildroot}%{_datadir}/applications %{buildroot}%{_libexecdir}/%{name}/
cp -a %{_builddir}/app %{buildroot}%{_libexecdir}/%{name}/
cp -a %{_builddir}/bin %{buildroot}%{_libexecdir}/%{name}/
# %if 0%{?suse_version} > 1500
# # Use prebuilt electron
# cat > %{buildroot}%{_bindir}/%{name} << EOF
# #!/usr/bin/env bash
# env ELECTRON_FORCE_IS_PACKAGED=true electron %{_libexecdir}/%{name}/app/app.asar --ozone-platform-hint=auto "\$1"
# EOF
# chmod +x %{buildroot}%{_bindir}/%{name}
# %else
cp -a %{_builddir}/electron %{buildroot}%{_libexecdir}/%{name}/
ln -s ../..%{_libexecdir}/%{name}/bin/%{name} %{buildroot}%{_bindir}/%{name}
# %endif
# icons
install -D %{SOURCE2} %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
# .desktop
install %{SOURCE1} %{buildroot}%{_datadir}/applications/
%if 0%{?suse_version}
%suse_update_desktop_file %{name}
%endif
%if 0%{?suse_version} || 0%{?fedora} || 0%{?mageia}
%fdupes -s %{buildroot}
%endif
%files
%{_bindir}/%{name}
%{_libexecdir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%dir %{_datadir}/icons/hicolor/scalable/apps
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%changelog