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
openSUSE Build Service is sponsored by