File quakespasm-spiked.spec of Package quakespasm-spiked

#
# spec file for package quakespasm-spiked
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2021-2025, Martin Hauke <mardnh@gmx.de>
#
# 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:           quakespasm-spiked
Version:        0~git20240620.455bd13
Release:        0
Summary:        A Quake Engine based on QuakeSpasm
License:        GPL-2.0-or-later
Group:          Amusements/Games/3D/Shoot
URL:            https://fte.triptohell.info/moodles/qss/
#Git-Clone:     https://github.com/Shpoike/Quakespasm.git
Source:         %{name}-%{version}.tar.xz
BuildRequires:  cmake
BuildRequires:  gcc-c++
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(SDL2_net)
BuildRequires:  pkgconfig(flac)
BuildRequires:  pkgconfig(gl)
BuildRequires:  pkgconfig(libmikmod)
BuildRequires:  pkgconfig(libxmp)
BuildRequires:  pkgconfig(mad)
BuildRequires:  pkgconfig(opusfile)
BuildRequires:  pkgconfig(vorbisfile)
BuildRequires:  pkgconfig(zlib)

%description
Quakespasm-Spiked (aka: QSS) - a Quake Engine based on QuakeSpasm.

Features:
 * Based on QuakeSpasm, offering familiarity.
 * Retains Quakespasm's look and feel.
 * Superior networking (server just needs port 26000 forwarded
   through NATs, without having to deal with DMZ nonsense).
 * High framerates no longer affect physics.
 * Expanded limits vs Quakespasm.
 * Plethora of SSQC extensions (to make the impossible
   possible!).
 * Simple CSQC support, for mod-specific huds and menus!
 * Optional fancy particle system (compatible with FTE+DP).
 * Optional PNG texture replacements (not just tga).
 * MD3 model support, basic IQM support.
 * PK3 support.
 * Ogg vorbis for sound effects as well as just music.
 * Fixes 'sticky walls' bug.
 * Skyrooms ("_skyroom" "x y z paralax rotspeed rotx roty rotz"
   worldspawn key).
 * Per-entity BSP Contents overrides
   (eg: self.skin = CONTENTS_WATER;).
 * Supports lightmap scaling, BSPX lits, and lots more stuff!
 * Increased lightstyle limit (beyond 255). Requires updated
   light util.
 * Increased lightstyles-per-face limit (up to 16). Requires
   updated light util.
 * Voicechat (can be embedded into demos).
 * Provides misc_model support, for mods that do not.

Game data must be placed in ~/.quakespasm/id1 .

%prep
%setup -q
sed -i 's/\r$//' Quakespasm-Spiked.txt

%build
%cmake
%cmake_build

%install
install -Dpm 755 build/quakespasm %{buildroot}%{_bindir}/quakespasm-spiked
install -dm  755 %{buildroot}%{_datadir}/quake/

%files
%license LICENSE.txt
%doc Quakespasm.html Quakespasm-Music.txt Quakespasm-Spiked.txt Quakespasm.txt
%{_bindir}/%{name}
%dir %{_datadir}/quake/

%changelog
openSUSE Build Service is sponsored by