File exult.spec of Package exult
#
# spec file for package exult
#
# 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: exult
Version: 1.10
Release: 0
Summary: Open source Ultima 7 RPG game engine
License: GPL-2.0-only
Group: Amusements/Games/RPG
#Git-Clone: https://github.com/exult/exult.git
URL: https://exult.info/
Source: https://github.com/exult/exult/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: autoconf
BuildRequires: autoconf-archive
BuildRequires: automake
BuildRequires: fdupes
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(fluidsynth)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.16
BuildRequires: pkgconfig(icu-uc)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(ogg) >= 1.0
BuildRequires: pkgconfig(sdl2) >= 2.0.16
BuildRequires: pkgconfig(vorbis) >= 1.0.1
BuildRequires: pkgconfig(vorbisfile)
%if 0%{?sle_version} >= 150500 && 0%{?sle_version} < 160000 && 0%{?is_opensuse}
BuildRequires: gcc12
BuildRequires: gcc12-c++
%else
BuildRequires: gcc-c++
%endif
%description
Exult: an implementation of the Ultima VII engine for modern Operating Systems.
%package studio
Summary: Tools for editing and viewing exult games
Group: Amusements/Games/RPG
Requires: %{name} = %{version}
%description studio
expack - Command line tool for creating and extracting Flex (.flx)
files. Flex files are used by Ultima 7 to store most
of its data.
splitshp - Command line tool to take a multi-frame shp file and
split it into its individual frames.
shp2pcx - Command line tool to convert shp files to pcx format;
the shp files can be extracted using expack.
ucxt - Tool to translate usecode back into `human readable',
roughly assembly like code. The output can be presented
in a variety of different format, including one which
will, later, have a suitable compiler back into usecode.
ucc - A usecode compiler.
exult_studio - An editor for games using the Exult engine.
%prep
%setup -q
%build
%if 0%{?sle_version} >= 150500 && 0%{?sle_version} < 160000 && 0%{?is_opensuse}
export CC="gcc-12"
export CXX="g++-12"
%endif
autoreconf -fiv
%configure \
--docdir=%{_docdir}/%{name} \
--with-icondir=%{_datadir}/pixmaps/ \
--enable-exult-studio
%make_build
%install
%make_install
%fdupes -s %{buildroot}%{_datadir}/exult/estudio
%files
%license COPYING
%doc AUTHORS ChangeLog NEWS README FAQ
%{_docdir}/exult/
%{_bindir}/exult
%dir %{_datadir}/exult
%{_datadir}/exult/exult_bg.flx
%{_datadir}/exult/exult_si.flx
%{_datadir}/exult/exult.flx
%{_datadir}/exult/midisfx.flx
%{_datadir}/pixmaps/exult.png
%{_mandir}/man6/exult.6%{?ext_man}
%{_datadir}/applications/exult.desktop
%files studio
%{_bindir}/expack
%{_bindir}/cmanip
%{_bindir}/mklink
%{_bindir}/rip
%{_bindir}/shp2pcx
%{_bindir}/splitshp
%{_bindir}/textpack
%{_bindir}/ucxt
%{_bindir}/wuc
%{_bindir}/exult_studio
%{_bindir}/ipack
%{_bindir}/u7voice2syx
%dir %{_datadir}/exult/estudio/
%dir %{_datadir}/exult/estudio/new
%{_datadir}/exult/estudio/new/avatar_data.txt
%{_datadir}/exult/estudio/new/blends.dat
%{_datadir}/exult/estudio/new/combos.flx
%{_datadir}/exult/estudio/new/faces.vga
%{_datadir}/exult/estudio/new/fonts.vga
%{_datadir}/exult/estudio/new/gumps.vga
%{_datadir}/exult/estudio/new/palettes.flx
%{_datadir}/exult/estudio/new/paperdol.vga
%{_datadir}/exult/estudio/new/pointers.shp
%{_datadir}/exult/estudio/new/shapes.vga
%{_datadir}/exult/estudio/new/sprites.vga
%{_datadir}/exult/estudio/new/text.flx
%{_datadir}/exult/exult_studio.glade
%{_datadir}/exult/u7bgintrinsics.data
%{_datadir}/exult/u7misc.data
%{_datadir}/exult/u7opcodes.data
%{_datadir}/exult/u7sibetaintrinsics.data
%{_datadir}/exult/u7siintrinsics.data
%{_mandir}/man1/expack.1%{?ext_man}
%{_mandir}/man1/exult_studio.1%{?ext_man}
%{_mandir}/man1/ipack.1%{?ext_man}
%{_mandir}/man1/shp2pcx.1%{?ext_man}
%{_mandir}/man1/splitshp.1%{?ext_man}
%{_mandir}/man1/textpack.1%{?ext_man}
%{_mandir}/man1/ucc.1%{?ext_man}
%changelog