File prboom-plus.spec of Package prboom-plus

#
# spec file for package prboom-plus
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           prboom-plus
Version:        2.6.66
Release:        0
Summary:        DOOM source port with demo compatibility
License:        GPL-2.0-or-later
Group:          Amusements/Games/3D/Shoot
URL:            http://prboom-plus.sf.net/
#Git-Clone:	https://github.com/coelckers/prboom-plus
Source:         https://github.com/coelckers/prboom-plus/archive/refs/tags/v%version.tar.gz
Patch1:         prboom-nodatetime.diff
Patch3:         prboom-hbar-all.diff
Patch4:         prboom-hbar-gradient.diff
Patch5:         gcc14.diff
BuildRequires:  Mesa-devel
BuildRequires:  c++_compiler
BuildRequires:  cmake
BuildRequires:  fluidsynth-devel
BuildRequires:  hicolor-icon-theme
BuildRequires:  libpng-devel
BuildRequires:  libvorbis-devel
BuildRequires:  pcre-devel
BuildRequires:  portmidi-devel
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(SDL2_image)
BuildRequires:  pkgconfig(SDL2_mixer)
BuildRequires:  pkgconfig(SDL2_net)
BuildRequires:  pkgconfig(sdl2)
Suggests:       freedoom
Provides:       prboom = 2.6um
Obsoletes:      prboom <= 2.6

%description
PrBoom+ is a conservative Doom source port. It features:

* The removal of engine limits and bugs, like the visplane limit,
  savegame size limit, the tutti-frutti and medusa visual effects,
  and others.
* BOOM editing extensions, e.g. configurable animated/switch
  textures, deep water effect, scrolling walls/floors/ceilings,
  conveyor belts, translucent walls and sprites, friction effects,
  and generic linedef actions.
* Focus on retaining compatibility with the original Doom engines
  for the purpose of demo recording and playback.
* High resolution rendering of map geometry, optionally in OpenGL
  mode.

%prep
%autosetup -p0

%build
pushd prboom2/
%cmake -DDOOMWADDIR="%_datadir/doom" -DPRBOOMDATADIR="%_datadir/doom"
%cmake_build
popd

%install
s="$PWD"
pushd prboom2/
%cmake_install
# convenience symlink
b="%buildroot"
ln -s prboom-plus "$b/%_bindir/prboom"
install -Dm0644 ICONS/prboom-plus.svg "$b/%_datadir/icons/hicolor/scalable/apps/prboom-plus.svg"
install -Dm0644 ICONS/prboom-plus.desktop "$b/%_datadir/applications/prboom-plus.desktop"
install -Dm0644 ICONS/prboom-plus.bash "$b/%_datadir/bash-completion/completions/prboom-plus.bash"
popd
# TW switched doc location in %%cmake
(cd "%buildroot"; find "./%_datadir/doc" -type d -name prboom-plus | cut -b2-) >"$s/doc.files"
ls -al "$s/doc.files"

%if 0%{?suse_version} && 0%{?suse_version} < 1550
%post
%desktop_database_post
%icon_theme_cache_post

%postun
%desktop_database_postun
%icon_theme_cache_postun
%endif

%files -f doc.files
%_bindir/*
%_datadir/doom/
%_mandir/*/*
%_datadir/applications/prboom-plus.desktop
%_datadir/icons/hicolor/scalable/apps/prboom-plus.svg
%_datadir/bash-completion/

%changelog
openSUSE Build Service is sponsored by