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

openSUSE Build Service is sponsored by