diff --git a/.gitignore b/.gitignore
index 60468a9..5dc3500 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/endless-sky-0.9.15.tar.gz
/endless-sky-0.9.16.tar.gz
/endless-sky-0.9.16.1.tar.gz
+/endless-sky-0.10.0.tar.gz
diff --git a/cstdint.patch b/cstdint.patch
new file mode 100644
index 0000000..6c3854a
--- /dev/null
+++ b/cstdint.patch
@@ -0,0 +1,7 @@
+--- source/Preferences.h
++++ source/Preferences.h
+@@ -17,6 +17,7 @@ this program. If not, see .
+ #define PREFERENCES_H_
+
+ #include
++#include
diff --git a/endless-sky-0.10.0-remove-games-path.patch b/endless-sky-0.10.0-remove-games-path.patch
new file mode 100644
index 0000000..b553f01
--- /dev/null
+++ b/endless-sky-0.10.0-remove-games-path.patch
@@ -0,0 +1,30 @@
+--- CMakeLists.txt~ 2023-02-19 15:37:56.000000000 -0600
++++ CMakeLists.txt 2023-02-21 15:25:06.378269708 -0600
+@@ -230,11 +230,11 @@
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/endless-sky.6.gz DESTINATION share/man/man6)
+
+ # Install the resource files.
+- install(DIRECTORY data DESTINATION share/games/endless-sky)
+- install(DIRECTORY images DESTINATION share/games/endless-sky)
+- install(DIRECTORY sounds DESTINATION share/games/endless-sky)
+- install(FILES credits.txt DESTINATION share/games/endless-sky)
+- install(FILES keys.txt DESTINATION share/games/endless-sky)
++ install(DIRECTORY data DESTINATION share/endless-sky)
++ install(DIRECTORY images DESTINATION share/endless-sky)
++ install(DIRECTORY sounds DESTINATION share/endless-sky)
++ install(FILES credits.txt DESTINATION share/endless-sky)
++ install(FILES keys.txt DESTINATION share/endless-sky)
+ install(FILES copyright DESTINATION share/doc/endless-sky)
+ install(FILES changelog DESTINATION share/doc/endless-sky)
+ install(FILES license.txt DESTINATION share/doc/endless-sky)
+--- source/Files.cpp~ 2023-02-19 15:37:56.000000000 -0600
++++ source/Files.cpp 2023-02-21 16:08:00.520703810 -0600
+@@ -118,7 +118,7 @@
+ // the executable, but are under the same prefix (/usr or /usr/local).
+ static const string LOCAL_PATH = "/usr/local/";
+ static const string STANDARD_PATH = "/usr/";
+- static const string RESOURCE_PATH = "share/games/endless-sky/";
++ static const string RESOURCE_PATH = "share/endless-sky/";
+ if(!resources.compare(0, LOCAL_PATH.length(), LOCAL_PATH))
+ resources = LOCAL_PATH + RESOURCE_PATH;
+ else if(!resources.compare(0, STANDARD_PATH.length(), STANDARD_PATH))
diff --git a/endless-sky-0.9.13-remove-games-path.patch b/endless-sky-0.9.13-remove-games-path.patch
deleted file mode 100644
index 32a3e24..0000000
--- a/endless-sky-0.9.13-remove-games-path.patch
+++ /dev/null
@@ -1,41 +0,0 @@
---- SConstruct~ 2021-04-19 08:27:12.592216308 -0500
-+++ SConstruct 2021-04-19 08:29:26.504082300 -0500
-@@ -191,11 +191,11 @@
- RecursiveInstall(env, pathjoin(target, name), node.abspath)
- else:
- env.Install(target, node)
--RecursiveInstall(env, "$DESTDIR$PREFIX/share/games/endless-sky/data", "data")
--RecursiveInstall(env, "$DESTDIR$PREFIX/share/games/endless-sky/images", "images")
--RecursiveInstall(env, "$DESTDIR$PREFIX/share/games/endless-sky/sounds", "sounds")
--env.Install("$DESTDIR$PREFIX/share/games/endless-sky", "credits.txt")
--env.Install("$DESTDIR$PREFIX/share/games/endless-sky", "keys.txt")
-+RecursiveInstall(env, "$DESTDIR$PREFIX/share/endless-sky/data", "data")
-+RecursiveInstall(env, "$DESTDIR$PREFIX/share/endless-sky/images", "images")
-+RecursiveInstall(env, "$DESTDIR$PREFIX/share/endless-sky/sounds", "sounds")
-+env.Install("$DESTDIR$PREFIX/share/endless-sky", "credits.txt")
-+env.Install("$DESTDIR$PREFIX/share/endless-sky", "keys.txt")
-
- # Make the word "install" in the command line do an installation.
- env.Alias("install", "$DESTDIR$PREFIX")
---- SConstruct~ 2021-04-19 08:35:52.599227069 -0500
-+++ SConstruct 2021-04-19 08:49:58.917530861 -0500
-@@ -142,7 +142,7 @@
-
-
- # Install the binary:
--env.Install("$DESTDIR$PREFIX/games", sky)
-+env.Install("$DESTDIR$PREFIX/bin", sky)
-
- # Install the desktop file:
- env.Install("$DESTDIR$PREFIX/share/applications", "endless-sky.desktop")
---- source/Files.cpp~ 2021-04-17 09:40:38.000000000 -0500
-+++ source/Files.cpp 2021-04-19 09:05:31.921109831 -0500
-@@ -119,7 +119,7 @@
- // the executable, but are under the same prefix (/usr or /usr/local).
- static const string LOCAL_PATH = "/usr/local/";
- static const string STANDARD_PATH = "/usr/";
-- static const string RESOURCE_PATH = "share/games/endless-sky/";
-+ static const string RESOURCE_PATH = "share/endless-sky/";
- if(!resources.compare(0, LOCAL_PATH.length(), LOCAL_PATH))
- resources = LOCAL_PATH + RESOURCE_PATH;
- else if(!resources.compare(0, STANDARD_PATH.length(), STANDARD_PATH))
diff --git a/endless-sky-0.9.14-remove-additional-ccflags.patch b/endless-sky-0.9.14-remove-additional-ccflags.patch
deleted file mode 100644
index 3dbb606..0000000
--- a/endless-sky-0.9.14-remove-additional-ccflags.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- SConstruct~ 2021-07-12 11:55:10.366672469 -0500
-+++ SConstruct 2021-07-12 11:57:10.358812423 -0500
-@@ -46,15 +46,7 @@
- # $ CXXFLAGS=-msse3 scons
- # $ CXXFLAGS=-march=native scons
- # or modify the `flags` variable:
--flags = ["-std=c++11", "-Wall", "-Wold-style-cast", "-fno-rtti"]
--if env["mode"] != "debug":
-- flags += ["-Werror", "-O3", "-flto"]
-- env.Append(LINKFLAGS = ["-O3", "-flto"])
--if env["mode"] == "debug":
-- flags += ["-g"]
--elif env["mode"] == "profile":
-- flags += ["-pg"]
-- env.Append(LINKFLAGS = ["-pg"])
-+flags = ["-std=c++11"]
- env.Append(CCFLAGS = flags)
-
- # Always use `ar` to create the symbol table, and don't use ranlib at all, since it fails to preserve
diff --git a/endless-sky.spec b/endless-sky.spec
index c15f873..de3acd1 100644
--- a/endless-sky.spec
+++ b/endless-sky.spec
@@ -1,6 +1,6 @@
Name: endless-sky
-Version: 0.9.16.1
-Release: 2%{?dist}
+Version: 0.10.0
+Release: 1%{?dist}
Summary: Space exploration, trading, and combat game
License: GPLv3
@@ -11,12 +11,12 @@ Source1: endless-sky-wrapper
# https://fedoraproject.org/wiki/SIGs/Games/Packaging.
# Patch not submitted upstream. Upstream conforms to Debian packaging
# standards where the use of /usr/games is acceptable.
-Patch0: endless-sky-0.9.13-remove-games-path.patch
-# Unset CCFLAGS override inside SConstruct.
-Patch1: endless-sky-0.9.14-remove-additional-ccflags.patch
+Patch0: endless-sky-0.10.0-remove-games-path.patch
+Patch1: cstdint.patch
Requires: %{name}-data = %{version}-%{release}
-BuildRequires: scons
+BuildRequires: cmake
+BuildRequires: ninja-build
BuildRequires: gcc-c++
BuildRequires: SDL2-devel
BuildRequires: openal-soft-devel
@@ -27,6 +27,7 @@ BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
BuildRequires: libmad-devel
BuildRequires: libuuid-devel
+BuildRequires: mesa-libGL-devel
%description
Explore other star systems. Earn money by trading, carrying passengers, or
@@ -53,14 +54,8 @@ Images, sound, and game data for %{name}.
%build
-%ifarch ppc64le
-sed -i 's/std=c++11/std=gnu++11/' SConstruct
-%endif
-CXXFLAGS="%{optflags}" \
-LDFLAGS="%{?__global_ldflags}" \
-/usr/bin/scons \
- %{?_smp_mflags} \
- PREFIX=%{_prefix}
+%cmake -DES_USE_VCPKG=OFF
+%cmake_build
%check
appstream-util validate-relax --nonet io.github.endless_sky.endless_sky.appdata.xml
@@ -68,20 +63,16 @@ desktop-file-validate %{name}.desktop
%install
-CXXFLAGS="%{optflags}" \
-LDFLAGS="%{?__global_ldflags}" \
-/usr/bin/scons \
- %{?_smp_mflags} \
- PREFIX=%{_prefix} \
- DESTDIR=%{buildroot} \
- install
+%cmake_install
install -m644 -D io.github.endless_sky.endless_sky.appdata.xml %{buildroot}%{_datadir}/appdata/io.github.endless_sky.endless_sky.appdata.xml
-mv %{buildroot}%{_bindir}/%{name} %{buildroot}%{_bindir}/%{name}.bin
+mkdir -p %{buildroot}%{_bindir}
+install redhat-linux-build/%{name} %{buildroot}%{_bindir}/%{name}.bin
install -m755 %{SOURCE1} %{buildroot}%{_bindir}/%{name}
sed -i 's|/app|%{_prefix}|g' %{buildroot}%{_bindir}/%{name}
+rm -f %{buildroot}%{_datadir}/doc/endless-sky/license.txt
%files
-%doc README.md
+%doc README.md changelog copyright
%license license.txt
%{_bindir}/%{name}*
%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
@@ -104,6 +95,9 @@ sed -i 's|/app|%{_prefix}|g' %{buildroot}%{_bindir}/%{name}
%changelog
+* Tue Feb 21 2023 Gwyn Ciesla - 0.10.0-1
+- 0.10.0
+
* Thu Jan 19 2023 Fedora Release Engineering - 0.9.16.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
diff --git a/sources b/sources
index a1f3cb6..fbf9299 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (endless-sky-0.9.16.1.tar.gz) = 83e0a47160506b1e3608f67534e2dbcf51515d809016efc379448d14331229ffe26360f82cc60c565c84b10c605aec846efc19bcd4af10ee116e5ef8fc804d56
+SHA512 (endless-sky-0.10.0.tar.gz) = a9e5f42832c439e31c56447434032d12f16383ecbe52b87b64ddd3623c6a9564ae23b56b94f4edf354c119726039270ac97cb54088b03e772947618379e462f8