Blame bear.spec

Martin Gansser 5573b89
# https://github.com/j-jorge/bear/commit/781ec8022b652b6ba2b76e4385d08c1ef320fcc5
Martin Gansser 5573b89
%global commit0 781ec8022b652b6ba2b76e4385d08c1ef320fcc5
Martin Gansser 794e00f
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
Martin Gansser 794e00f
Martin Gansser 794e00f
Name:           bear
Martin Gansser 794e00f
Version:        0.7.0
Martin Gansser 5573b89
Release:        0.9git%{shortcommit0}%{?dist}
Martin Gansser 794e00f
Summary:        Game engine and editors dedicated to creating great 2D games
Martin Gansser 794e00f
License:        GPLv3+ and CC-BY-SA 
Martin Gansser 794e00f
URL:            https://github.com/j-jorge/bear
Martin Gansser 794e00f
Source0:        https://github.com/j-jorge/bear/archive/%{commit0}/%{name}-%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz
Martin Gansser 794e00f
Martin Gansser 164cd34
# Build is broken on ppc64le 
Martin Gansser 164cd34
%if 0%{?fedora} >= 26
Martin Gansser 164cd34
ExcludeArch:    ppc64le
Martin Gansser 164cd34
%endif
Martin Gansser 729337a
Martin Gansser 794e00f
BuildRequires:  boost-devel
Martin Gansser 794e00f
BuildRequires:  cmake
Martin Gansser 794e00f
BuildRequires:  desktop-file-utils
Martin Gansser 794e00f
BuildRequires:  docbook-utils
Martin Gansser 794e00f
BuildRequires:  gettext
Martin Gansser 794e00f
BuildRequires:  libclaw-devel
Martin Gansser 794e00f
BuildRequires:  libjpeg-turbo-devel
Martin Gansser 794e00f
BuildRequires:  pkgconfig(freetype2)
Martin Gansser 794e00f
BuildRequires:  pkgconfig(sdl2)
Martin Gansser 794e00f
BuildRequires:  pkgconfig(SDL2_mixer)
Martin Gansser 794e00f
BuildRequires:  wxGTK-devel
Martin Gansser 794e00f
BuildConflicts: wxGTK3-devel
Martin Gansser 794e00f
Martin Gansser 794e00f
%description
Martin Gansser 794e00f
The Bear engine is a set of C++ libraries and tools dedicated to creating
Martin Gansser 794e00f
great 2D games. It has been used to create Plee the Bear (plee-the-bear),
Martin Gansser 794e00f
Andy's Super Great Park (asgp) and Tunnel (tunnel).
Martin Gansser 794e00f
Martin Gansser 794e00f
The engine comes with a set of tools, namely the Bear Factory, intended to
Martin Gansser 794e00f
help creating resources for the game. These tools include a level editor,
Martin Gansser 794e00f
a character/model editor and an animation editor.
Martin Gansser 794e00f
Martin Gansser 794e00f
Martin Gansser 794e00f
%package engine
Martin Gansser 794e00f
Summary: Run-time libraries for games based on the Bear engine
Martin Gansser 794e00f
Martin Gansser 794e00f
%description engine
Martin Gansser 794e00f
The Bear engine is a set of C++ libraries and tools dedicated to creating
Martin Gansser 794e00f
great 2D games. It has been used to create Plee the Bear (plee-the-bear),
Martin Gansser 794e00f
Andy's Super Great Park (asgp) and Tunnel (tunnel).
Martin Gansser 794e00f
Martin Gansser 794e00f
This package contains the run-time libraries used by the games based on
Martin Gansser 794e00f
the Bear engine.
Martin Gansser 794e00f
Martin Gansser 794e00f
Martin Gansser 794e00f
%package factory
Martin Gansser 794e00f
Summary: Level, animation and model editors for the Bear engine
Martin Gansser 794e00f
Requires: %{name}-engine%{?_isa} = %{version}-%{release}
Martin Gansser 794e00f
Martin Gansser 794e00f
%description factory
Martin Gansser 794e00f
This package includes the level editor, animation editor and model editor
Martin Gansser 794e00f
of the Bear Engine for Plee the Bear & Andy's Super Great Park.
Martin Gansser 794e00f
Martin Gansser 794e00f
Martin Gansser 794e00f
%package devel
Martin Gansser 794e00f
Summary: Development files for %{name}
Martin Gansser 794e00f
Requires: %{name}-engine%{?_isa} = %{version}-%{release}
Martin Gansser 794e00f
Martin Gansser 794e00f
%description devel
Martin Gansser 794e00f
Development files for %{name}
Martin Gansser 794e00f
Martin Gansser 794e00f
%prep
Martin Gansser 794e00f
%setup -qn %{name}-%{commit0}
Martin Gansser 794e00f
Martin Gansser 794e00f
# change docbook_to_man to docbook2man
Martin Gansser 794e00f
sed -i -e 's|docbook-to-man|docbook2man|g' cmake-helper/docbook-to-man.cmake
Martin Gansser 794e00f
Martin Gansser 794e00f
# delete glew code because it picks up BSD license
Martin Gansser 794e00f
rm -rf bear-engine/core/src/visual/glew/
Martin Gansser 794e00f
Martin Gansser 794e00f
%build
Martin Gansser 794e00f
%cmake -DBEAR_ENGINE_INSTALL_LIBRARY_DIR=%{_lib}/%{name} \
Martin Gansser 794e00f
       -DBEAR_FACTORY_INSTALL_LIBRARY_DIR=%{_lib}/%{name} \
Martin Gansser 794e00f
       -DCMAKE_SKIP_RPATH:BOOL=ON \
Martin Gansser 794e00f
       -DBEAR_USES_FREEDESKTOP=ON \
Martin Gansser 794e00f
       -DBEAR_EDITORS_ENABLED=ON
Martin Gansser 794e00f
%make_build
Martin Gansser 794e00f
Martin Gansser 794e00f
%install
Martin Gansser 794e00f
%make_install
Martin Gansser 794e00f
Martin Gansser 794e00f
%find_lang %{name}-engine
Martin Gansser 794e00f
%find_lang %{name}-factory
Martin Gansser 794e00f
Martin Gansser 794e00f
install -d %{buildroot}%{_sysconfdir}/ld.so.conf.d
Martin Gansser 794e00f
cat << EOF > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-engine-%{_arch}.conf
Martin Gansser 794e00f
%{_libdir}/%{name}
Martin Gansser 794e00f
EOF
Martin Gansser 794e00f
cat << EOF > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-factory-%{_arch}.conf
Martin Gansser 794e00f
%{_libdir}/%{name}
Martin Gansser 794e00f
EOF
Martin Gansser 794e00f
Martin Gansser 794e00f
# copy devel files for subpkg bear-devel
Martin Gansser 794e00f
install -dm 755 %{buildroot}%{_includedir}/%{name}/cmake-helper/
Martin Gansser 794e00f
install -D cmake-helper/{*.cmake,*.cmake.in} %{buildroot}%{_includedir}/%{name}/cmake-helper/
Martin Gansser 794e00f
for file in $(find bear-engine/{core,lib}/src -name *.hpp -o -name *.tpp);
Martin Gansser 794e00f
do
Martin Gansser 794e00f
    install -Dm 0644 $file %{buildroot}%{_includedir}/%{name}/$file
Martin Gansser 794e00f
done
Martin Gansser 794e00f
# fixes E: script-without-shebang
Martin Gansser 794e00f
chmod a-x %{buildroot}%{_includedir}/%{name}/cmake-helper/*.cmake*
Martin Gansser 794e00f
Martin Gansser 794e00f
rm -rf %{buildroot}%{_datadir}/pixmaps
Martin Gansser 794e00f
rm -rf %{buildroot}%{_datadir}/applications/desc2img.desktop
Martin Gansser 794e00f
Martin Gansser 794e00f
%check
Martin Gansser 794e00f
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
Martin Gansser 794e00f
Martin Gansser 794e00f
%post factory
Martin Gansser 794e00f
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
Martin Gansser 794e00f
/usr/bin/update-desktop-database &> /dev/null || :
Martin Gansser 794e00f
Martin Gansser 794e00f
%postun factory
Martin Gansser 794e00f
/usr/bin/update-desktop-database &> /dev/null || :
Martin Gansser 794e00f
if [ $1 -eq 0 ]; then
Martin Gansser 794e00f
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null ||:
Martin Gansser 794e00f
    /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
Martin Gansser 794e00f
fi
Martin Gansser 794e00f
Martin Gansser 794e00f
%posttrans factory
Martin Gansser 794e00f
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
Martin Gansser 794e00f
Martin Gansser 794e00f
%files engine -f %{name}-engine.lang
Martin Gansser 794e00f
%doc README.md
Martin Gansser 794e00f
%license LICENSE license/CCPL license/GPL
Martin Gansser 794e00f
%{_libdir}/%{name}
Martin Gansser 794e00f
%exclude %{_libdir}/%{name}/lib%{name}-editor.so
Martin Gansser 794e00f
%{_mandir}/man6/running-%{name}.6*
Martin Gansser 794e00f
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-engine-%{_arch}.conf
Martin Gansser 794e00f
Martin Gansser 794e00f
%files factory -f %{name}-factory.lang
Martin Gansser 794e00f
%doc README.md
Martin Gansser 794e00f
%license LICENSE license/CCPL license/GPL
Martin Gansser 794e00f
%{_bindir}/bend-image
Martin Gansser 794e00f
%{_bindir}/image-cutter
Martin Gansser 794e00f
%{_bindir}/bf*editor
Martin Gansser 794e00f
%{_libdir}/%{name}/lib%{name}-editor.so
Martin Gansser 794e00f
%{_datadir}/%{name}-factory
Martin Gansser 794e00f
%{_datadir}/applications/bf*editor.desktop
Martin Gansser 794e00f
%{_datadir}/icons/hicolor/*/apps/%{name}-factory.png
Martin Gansser 794e00f
%{_mandir}/man1/bf*editor.1*
Martin Gansser 794e00f
%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-factory-%{_arch}.conf
Martin Gansser 794e00f
Martin Gansser 794e00f
%files devel
Martin Gansser 794e00f
%doc README.md
Martin Gansser 794e00f
%{_includedir}/%{name}
Martin Gansser 794e00f
%{_datadir}/cmake/%{name}-engine
Martin Gansser 794e00f
Martin Gansser 794e00f
Martin Gansser 794e00f
%changelog
Martin Gansser 5573b89
* Fri Dec 30 2016 Martin Gansser <martinkg@fedoraproject.org> - 0.7.0-0.9git781ec80
Martin Gansser 5573b89
- update to 0.7.0-0.9git781ec80
Martin Gansser 5573b89
Martin Gansser 164cd34
* Tue Dec 27 2016 Martin Gansser <martinkg@fedoraproject.org> - 0.7.0-0.8gitac6be8b
Martin Gansser 164cd34
- add if condition due ppc64le build problem
Martin Gansser 164cd34
Martin Gansser 794e00f
* Fri Dec 23 2016 Martin Gansser <martinkg@fedoraproject.org> - 0.7.0-0.7gitac6be8b
Martin Gansser 794e00f
- change to -DCMAKE_SKIP_RPATH:BOOL=ON
Martin Gansser 794e00f
- obsolete chrpath command
Martin Gansser 794e00f
- convert docbook2man filename taken from .sgml file to lowercase
Martin Gansser 794e00f
- remove BR chrpath
Martin Gansser 794e00f
Martin Gansser 794e00f
* Tue Dec 13 2016 Martin Gansser <martinkg@fedoraproject.org> - 0.7.0-0.6gitac6be8b
Martin Gansser 794e00f
- use wildcard to copy all cmake and cmake.in files for subpkg bear-devel
Martin Gansser 794e00f
- copy also *.tpp files for subpkg bear-devel
Martin Gansser 794e00f
- fix spurious-executable-perm
Martin Gansser 794e00f
- fixes E: script-without-shebang
Martin Gansser 794e00f
- specfile cleanup
Martin Gansser 794e00f
Martin Gansser 794e00f
* Tue Dec 13 2016 Martin Gansser <martinkg@fedoraproject.org> - 0.7.0-0.5gitac6be8b
Martin Gansser 794e00f
- Dropped subpkg engine/factory-devel because unversioned files needed at runtime
Martin Gansser 794e00f
- Add subpkg %%{name}-devel
Martin Gansser 794e00f
Martin Gansser 794e00f
* Mon Dec 12 2016 Martin Gansser <martinkg@fedoraproject.org> - 0.7.0-0.4gitac6be8b
Martin Gansser 794e00f
- Add Requires: %%{name}-engine%%{?_isa} = %%{version}-%%{release} to bear-factory
Martin Gansser 794e00f
- Delete glew code because it picks up BSD license
Martin Gansser 794e00f
- run-time is the correct spelling, not runtime
Martin Gansser 794e00f
- Add gtk-update-icon-cache in %%postun and %%posttrans section for bear-factory
Martin Gansser 794e00f
- Add update-desktop-database in %%post and %%postun section for bear-factory
Martin Gansser 794e00f
- Take ownership of %%dir %%{_datadir}/%%{name}-factory/images/
Martin Gansser 794e00f
  %%dir %%{_datadir}/%%{name}-factory/item-description/
Martin Gansser 794e00f
  %%dir %%{_datadir}/%%{name}-factory//item-description/generic in file section
Martin Gansser 794e00f
- Add subpkg engine/factory-devel for unversioned files
Martin Gansser 794e00f
Martin Gansser 794e00f
* Mon Nov 28 2016 Martin Gansser <martinkg@fedoraproject.org> - 0.7.0-0.3gitac6be8b
Martin Gansser 794e00f
- Add BR chrpath
Martin Gansser 794e00f
- Add BR libjpeg-turbo-devel
Martin Gansser 794e00f
- Add BuildConflicts wxGTK3-devel
Martin Gansser 794e00f
Martin Gansser 794e00f
* Sun Nov 27 2016 Martin Gansser <martinkg@fedoraproject.org> - 0.7.0-0.2gitac6be8b
Martin Gansser 794e00f
- Remove Conflicts: wxGTK3-devel"
Martin Gansser 794e00f
- Compressed sed command
Martin Gansser 794e00f
- replace (non packaged) with (tunnel) from the descriptions
Martin Gansser 794e00f
- replace (andy-super-great-park) with (asgp) from the descriptions
Martin Gansser 794e00f
- run-time is the correct spelling, not runtime
Martin Gansser 794e00f
- Add %%config to fix the non-conffile-in-etc warnings
Martin Gansser 794e00f
- Remove desc2img.desktop due desc2img binary missing
Martin Gansser 794e00f
Martin Gansser 794e00f
* Sun Nov 27 2016 Martin Gansser <martinkg@fedoraproject.org> - 0.7.0-0.1gitac6be8b
Martin Gansser 794e00f
- imported package bear