diff --git a/.gitignore b/.gitignore
index 268bc9f..86e7f6a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,26 +1,2 @@
-/endless-sky-0.9.8.tar.gz
-/endless-sky-0.9.10.tar.gz
-/endless-sky-0.9.11.tar.gz
-/endless-sky-0.9.12.tar.gz
-/endless-sky-0.9.13.tar.gz
-/endless-sky-0.9.14.tar.gz
-/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
-/endless-sky-0.10.2.tar.gz
-/endless-sky-0.10.3.tar.gz
-/endless-sky-0.10.4.tar.gz
-/endless-sky-0.10.5.tar.gz
-/endless-sky-0.10.6.tar.gz
-/endless-sky-0.10.7.tar.gz
-/endless-sky-0.10.8.tar.gz
-/endless-sky-0.10.9.tar.gz
-/endless-sky-0.10.10.tar.gz
-/endless-sky-0.10.11.tar.gz
-/endless-sky-0.10.12.tar.gz
-/endless-sky-0.10.13.tar.gz
-/endless-sky-0.10.13.1.tar.gz
-/endless-sky-0.10.14.tar.gz
-/endless-sky-0.10.15.tar.gz
-/endless-sky-0.10.16.tar.gz
diff --git a/10952.patch b/10952.patch
deleted file mode 100644
index 1b2c318..0000000
--- a/10952.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 4b0aa4e3e79476361dc8bb58365b90af2b9d1523 Mon Sep 17 00:00:00 2001
-From: Daniel <101683475+Koranir@users.noreply.github.com>
-Date: Mon, 27 Jan 2025 14:07:30 +1100
-Subject: [PATCH] add missing imports
-
----
- source/BoardingPanel.cpp | 1 +
- source/PlayerInfo.cpp | 1 +
- source/ShipInfoPanel.cpp | 1 +
- source/ShipNameDialog.cpp | 2 ++
- 4 files changed, 5 insertions(+)
-
-diff --git a/source/BoardingPanel.cpp b/source/BoardingPanel.cpp
-index 79448fb81a7c..460e70eea501 100644
---- a/source/BoardingPanel.cpp
-+++ b/source/BoardingPanel.cpp
-@@ -39,6 +39,7 @@ this program. If not, see .
- #include "UI.h"
-
- #include
-+#include
- #include
-
- using namespace std;
-diff --git a/source/PlayerInfo.cpp b/source/PlayerInfo.cpp
-index a3ecbf201d3a..9dc6c602fa58 100644
---- a/source/PlayerInfo.cpp
-+++ b/source/PlayerInfo.cpp
-@@ -49,6 +49,7 @@ this program. If not, see .
- #include
- #include
- #include
-+#include
- #include
- #include
- #include
-diff --git a/source/ShipInfoPanel.cpp b/source/ShipInfoPanel.cpp
-index 224e0bcf948f..b0e435a43ae9 100644
---- a/source/ShipInfoPanel.cpp
-+++ b/source/ShipInfoPanel.cpp
-@@ -44,6 +44,7 @@ this program. If not, see .
- #include "UI.h"
-
- #include
-+#include
- #include
-
- using namespace std;
-diff --git a/source/ShipNameDialog.cpp b/source/ShipNameDialog.cpp
-index 629e68012190..67cbb07e9b43 100644
---- a/source/ShipNameDialog.cpp
-+++ b/source/ShipNameDialog.cpp
-@@ -23,6 +23,8 @@ this program. If not, see .
- #include "image/SpriteSet.h"
- #include "shader/SpriteShader.h"
-
-+#include
-+
- using namespace std;
-
-
diff --git a/endless-sky-0.10.0-remove-games-path.patch b/endless-sky-0.10.0-remove-games-path.patch
deleted file mode 100644
index 56fed28..0000000
--- a/endless-sky-0.10.0-remove-games-path.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- a/CMakeLists.txt~ 2025-05-31 14:24:07.000000000 -0500
-+++ b/CMakeLists.txt 2025-06-02 13:43:10.496539999 -0500
-@@ -318,12 +318,12 @@
- 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 shaders 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 shaders 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)
---- a/source/Files.cpp~ 2025-05-31 14:24:07.000000000 -0500
-+++ b/source/Files.cpp 2025-06-02 14:50:55.468669156 -0500
-@@ -128,7 +128,7 @@
- // the end, so parent paths do not include it.
- static const filesystem::path LOCAL_PATH = "/usr/local";
- static const filesystem::path STANDARD_PATH = "/usr";
-- static const filesystem::path RESOURCE_PATH = "share/games/endless-sky/";
-+ static const filesystem::path RESOURCE_PATH = "share/endless-sky/";
-
- if(IsParent(LOCAL_PATH, resources))
- resources = LOCAL_PATH / RESOURCE_PATH;
diff --git a/endless-sky-0.9.13-remove-games-path.patch b/endless-sky-0.9.13-remove-games-path.patch
new file mode 100644
index 0000000..32a3e24
--- /dev/null
+++ b/endless-sky-0.9.13-remove-games-path.patch
@@ -0,0 +1,41 @@
+--- 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
new file mode 100644
index 0000000..3dbb606
--- /dev/null
+++ b/endless-sky-0.9.14-remove-additional-ccflags.patch
@@ -0,0 +1,19 @@
+--- 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 0653c5b..7ecf870 100644
--- a/endless-sky.spec
+++ b/endless-sky.spec
@@ -1,10 +1,9 @@
Name: endless-sky
-Version: 0.10.16
+Version: 0.9.16.1
Release: 1%{?dist}
Summary: Space exploration, trading, and combat game
-# Automatically converted from old format: GPLv3 - review is highly recommended.
-License: GPL-3.0-only
+License: GPLv3
URL: https://%{name}.github.io
Source0: https://github.com/%{name}/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: endless-sky-wrapper
@@ -12,11 +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.10.0-remove-games-path.patch
+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
Requires: %{name}-data = %{version}-%{release}
-BuildRequires: cmake
-BuildRequires: ninja-build
+BuildRequires: scons
BuildRequires: gcc-c++
BuildRequires: SDL2-devel
BuildRequires: openal-soft-devel
@@ -27,15 +27,6 @@ BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
BuildRequires: libmad-devel
BuildRequires: libuuid-devel
-BuildRequires: mesa-libGL-devel
-BuildRequires: catch-devel
-BuildRequires: libasan
-BuildRequires: libubsan
-BuildRequires: minizip-ng-compat-devel
-BuildRequires: cmake(flac)
-BuildRequires: flac
-BuildRequires: libavif-devel
-BuildRequires: cmake(ogg)
%description
Explore other star systems. Earn money by trading, carrying passengers, or
@@ -58,28 +49,39 @@ Images, sound, and game data for %{name}.
%prep
-%autosetup -p1
+%autosetup -p0
%build
-%cmake -DES_USE_VCPKG=OFF
-%cmake_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}
%check
appstream-util validate-relax --nonet io.github.endless_sky.endless_sky.appdata.xml
-desktop-file-validate io.github.endless_sky.endless_sky.desktop
+desktop-file-validate %{name}.desktop
%install
-%cmake_install
-mkdir -p %{buildroot}%{_bindir}
-install redhat-linux-build/%{name} %{buildroot}%{_bindir}/%{name}.bin
+CXXFLAGS="%{optflags}" \
+LDFLAGS="%{?__global_ldflags}" \
+/usr/bin/scons \
+ %{?_smp_mflags} \
+ PREFIX=%{_prefix} \
+ DESTDIR=%{buildroot} \
+ 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
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 changelog copyright
+%doc README.md
%license license.txt
%{_bindir}/%{name}*
%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
@@ -90,7 +92,8 @@ rm -f %{buildroot}%{_datadir}/doc/endless-sky/license.txt
%{_datadir}/icons/hicolor/256x256/apps/%{name}.png
%{_datadir}/icons/hicolor/128x128/apps/%{name}.png
%{_datadir}/icons/hicolor/512x512/apps/%{name}.png
-%{_datadir}/applications/io.github.endless_sky.endless_sky.desktop
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/appdata/io.github.endless_sky.endless_sky.appdata.xml
%{_datadir}/metainfo/io.github.endless_sky.endless_sky.appdata.xml
%{_mandir}/man6/%{name}.6.gz
@@ -101,84 +104,6 @@ rm -f %{buildroot}%{_datadir}/doc/endless-sky/license.txt
%changelog
-* Mon Oct 27 2025 Gwyn Ciesla - 0.10.16-1
-- 0.10.16
-
-* Mon Sep 29 2025 Gwyn Ciesla - 0.10.15-1
-- 0.10.15
-
-* Wed Jul 23 2025 Fedora Release Engineering - 0.10.14-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
-
-* Thu Jul 03 2025 Gwyn Ciesla - 0.10.14-1
-- 0.10.14
-
-* Thu Jun 05 2025 Gwyn Ciesla - 0.10.13.1-1
-- 0.10.13.1
-
-* Mon Jun 02 2025 Gwyn Ciesla - 0.10.13-1
-- 0.10.13
-
-* Sun Feb 23 2025 Gwyn Ciesla - 0.10.12-1
-- 0.10.12
-
-* Mon Jan 27 2025 Gwyn Ciesla - 0.10.11-1
-- 0.10.11
-
-* Thu Jan 16 2025 Fedora Release Engineering - 0.10.10-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
-
-* Mon Oct 28 2024 Gwyn Ciesla - 0.10.10-1
-- 0.10.10
-
-* Mon Sep 30 2024 Gwyn Ciesla - 0.10.9-1
-- 0.10.9
-
-* Mon Jul 29 2024 Miroslav Suchý - 0.10.8-3
-- convert license to SPDX
-
-* Wed Jul 17 2024 Fedora Release Engineering - 0.10.8-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
-
-* Mon Jun 24 2024 Gwyn Ciesla - 0.10.8-1
-- 0.10.8
-
-* Tue May 28 2024 Gwyn Ciesla - 0.10.7-1
-- 0.10.7
-
-* Mon Feb 19 2024 Gwyn Ciesla - 0.10.6-1
-- 0.10.6
-
-* Mon Jan 29 2024 Gwyn Ciesla - 0.10.5-1
-- 0.10.5
-
-* Wed Jan 24 2024 Fedora Release Engineering - 0.10.4-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Fri Jan 19 2024 Fedora Release Engineering - 0.10.4-2
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Mon Oct 23 2023 Gwyn Ciesla - 0.10.4-1
-- 0.10.4
-
-* Mon Oct 02 2023 Gwyn Ciesla - 0.10.3-1
-- 0.10.3
-
-* Wed Jul 19 2023 Fedora Release Engineering - 0.10.2-3
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
-
-* Tue Jun 20 2023 Kalev Lember - 0.10.2-2
-- Don't install duplicate appdata file
-
-* Tue Jun 20 2023 Gwyn Ciesla - 0.10.2-1
-- 0.10.2
-
-* 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
-
* Wed Oct 19 2022 Gwyn Ciesla - 0.9.16.1-1
- 0.9.16.1
diff --git a/sources b/sources
index b186ba4..a1f3cb6 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (endless-sky-0.10.16.tar.gz) = 8dd8ee8bdb71ceda23024ac07502adab4f246ed3723fdc49d152de1796ba799c8584d31892f357034fa9c7d93c2880278f05cde9c0bd7e7e789eabb0513ba4ca
+SHA512 (endless-sky-0.9.16.1.tar.gz) = 83e0a47160506b1e3608f67534e2dbcf51515d809016efc379448d14331229ffe26360f82cc60c565c84b10c605aec846efc19bcd4af10ee116e5ef8fc804d56