File ppsspp.spec of Package ppsspp

%define debug_package %{nil}
%global revision      139

Name:    ppsspp
License: GPLv2
Summary: Playstation Portable Emulator 
Url:     ppsspp.org
Version: 1.15.4
Release: %{revision}
Group:   Applications/Games

Source0: %{name}-%{version}.tar.xz
# git clone https://github.com/hrydgard/ppsspp.git  %{name}-%{version}
# cd  ppsspp-%{version}
# git submodule update --init
# git checkout %{chkoutversion}
# git submodule update
# cd  ..
# tar -Jcf ppsspp-%{version}.tar.xz ppsspp-%{version}/

Source1: ppsspp-sdl
Source2: ppsspp-sdl.desktop
Source3: ppsspp.png
Source4: icon.png
Source5: make-%{name}-from-git.sh

Patch0:  disable-buildtime-git-version-creation.patch
#Patch1:  FixSaveDialog.patch
BuildRequires: gcc gcc-c++ SDL-devel SDL SDL2-devel SDL2 cmake zlib-devel zlib glibc-devel libICE-devel libX11-devel
BuildRequires: libXext-devel libSM-devel alsa-lib-devel chrpath libstdc++-devel libpng-devel glew-devel ImageMagick
BuildRequires: gmock-devel
%if 0%{?fedora}  || 0%{?rhel_version} || 0%{?centos_version}
BuildRequires: mesa-libEGL-devel mesa-libGL-devel mesa-libGLU-devel
%endif
%if 0%{?fedora} >= 22
BuildRequires: ghostscript-core llvm-devel clang
%endif
%if 0%{?suse_version}
BuildRequires: Mesa-libEGL-devel Mesa-libGL-devel Mesa-libGLU-devel
BuildRequires: update-desktop-files
%endif

Requires: %{name}-exec

%description
PPSSPP is a Playstation PSP emulator.
download roms from pspshare.org

%package  sdl
Summary:  SDL GUI for Playstation Portable Emulator
Group:    Applications/Games
Requires: %{name}
Provides: %{name}-exec

%description sdl
SDL GUI for Playstation Portable Emulator

%prep
%setup -q
#%patch0 -p1
#%patch1 -p1
echo "// This is a generated file.

const char *PPSSPP_GIT_VERSION = \"%{version}-%{revision}\";

// If you don't want this file to update/recompile, change to 1.
#define PPSSPP_GIT_VERSION_NO_UPDATE 1
" > git-version.cpp

#change default cmake vesion
sed -i 's/VERSION 3.6/VERSION 3.5.2/' CMakeLists.txt

%build
cmake .
#make %{?_smp_mflags}
make

%install

mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/applications
mkdir -p %{buildroot}%{_datadir}/pixmaps
mkdir -p %{buildroot}%{_datadir}/ppsspp
mkdir -p %{buildroot}%{_datadir}/ppsspp/assets

install -m 755 -D %{S:1} %{buildroot}%{_bindir}
install -m 644 -D %{S:2} %{buildroot}%{_datadir}/applications
install -m 755 -D %{S:5} %{buildroot}%{_datadir}/ppsspp/
chrpath --delete PPSSPPSDL
install -m 755 -D PPSSPPSDL %{buildroot}%{_datadir}/ppsspp/

cp -r assets/* %{buildroot}%{_datadir}/ppsspp/assets

# Install icon
for res in 16x16 22x22 24x24 32x32 36x36 48x48 64x64 72x72 96x96; do \
  %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/{${res},scalable}/apps
  convert -size 150x150 %{S:4} -resize ${res} %{buildroot}%{_datadir}/icons/hicolor/${res}/apps/%{name}.png
  #install %{buildroot}%{_datadir}/ppsspp/assets/icon.svg  %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
done;

%if 0%{?suse_version}
%suse_update_desktop_file -u -r -G 'PSP Emulator' %{name}-sdl Game Emulator
perl -i -l -wpe 's/^(NoDisplay=).*/${1}false/' %{buildroot}%{_datadir}/applications/ppsspp*.desktop
%endif

%clean
rm -rf %{buildroot}

%files
%exclude %{_bindir}/ppsspp-*
%exclude %{_datadir}/applications/ppsspp-*.desktop
%exclude %{_datadir}/ppsspp/PPSSPPSDL
%exclude %{_datadir}/ppsspp/PPSSPPQt
%attr(644,root,root)
%{_datadir}/ppsspp/
%{_datadir}/icons/hicolor/*/apps/%{name}.*
%if 0%{?suse_version}
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/*
%dir %{_datadir}/icons/hicolor/*/apps
%endif

%files sdl
%attr(755,root,root)
%{_bindir}/ppsspp-sdl
%{_datadir}/ppsspp/PPSSPPSDL
%{_datadir}/applications/ppsspp-sdl.desktop

%changelog
* Mon Dec 06 2021 Muhammad Shaban <muhammad.shaban.dev@gmail.com> - 1.12.3-1978979
- update

* Fri Jun 24 2016 Muhammad Shaban <mr.muhammad@outlook.com> - 1.2.2-12be183
- update

* Mon Feb 02 2015 Muhammad Shaban <Mr.Muhammad@outlook.com> - 1.0-689-682ef7d
- update

* Wed Oct 22 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.9.1-689-g40cea2b
- update

* Tue Aug 19 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.9.1-38-g2de6b47
- update

* Wed Jul 23 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.9.0-12-g6fab8e2
- update

* Mon Jul 07 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.8.0-1572-g0795f79
- update

* Wed Jun 25 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.8.0-1408-g3d61028
- update

* Mon Jun 23 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.8.0-1365-g1a830b1
- update

* Sun Jun 08 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.8.0-1088-ga31194a
- update

* Sun Jun 01 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.8.0-971-gc79d0a2
- update

* Sat May 31 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.8.0-941-gfd19b8d
- update

* Fri May 30 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.8.0-918-g4c8a615
- update

* Wed Apr 23 2014 Muhammad Shaban <Mr.Muhammad@outlook.com> - 0.9.8.0-492-g97c18e7
- update

* Sat Mar 22 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.8.0-3-g98da514
- update

* Mon Mar 17 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.7.2-306-g8cd8521
- update

* Sun Mar 16 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.7.2-288-g743854a
- update

* Tue Mar 11 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.7.2-238-gadadf11
- update

* Thu Mar 06 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.7.2-225-g56b2b2e
- update

* Tue Mar 04 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.7.2-220-ge11e4cf
- update

* Mon Mar 03 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.7.2-198-g91f67be
- update

* Sat Feb 22 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.7.2-62-g1934ede
- update

* Wed Feb 19 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.7.2-34-g148b910
- update

* Mon Feb 17 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.7.1-33-gb894bd9
- update

* Sat Feb 15 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.7-28-gfc9b057
- update

* Sat Feb 08 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-787-gef6e608
- update

* Thu Jan 30 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-691-g4f2f8f0
- update

* Wed Jan 22 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-546-g260b033
- update

* Tue Jan 21 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-537-ga6a774b
- update

* Mon Jan 20 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-522-gf16fa45
- update

* Sun Jan 19 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-466-g2e91adc
- update

* Sat Jan 18 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-451-g5dc470c
- update

* Thu Jan 16 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-449-g2b63c48
- update

* Wed Jan 15 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-442-gef56298
- update

* Tue Jan 14 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-436-g8239500
- update

* Mon Jan 13 2014 Muhammad Shaban <Mr.Muhammad@linuxac.org> - 0.9.6-422-ge1d512d
- add qt gui
- splite package

* Wed Jan 8 2014 Asif Ali Rizvan <fast.rizwaan@gmail.com>
- PPSSPPSDL only package, better sound and Qt free
- run in fullscreen

* Tue Dec 17 2013 Asif ali Rizvan <fast.rizwaan@gmail.com>
- includes .git free sources only 28M instead of 218M :D 
openSUSE Build Service is sponsored by