diff -pruN 0.6.3-1/debian/changelog 0.6.3-2/debian/changelog
--- 0.6.3-1/debian/changelog	2022-02-21 21:27:05.000000000 +0000
+++ 0.6.3-2/debian/changelog	2022-07-30 13:34:43.000000000 +0000
@@ -1,3 +1,12 @@
+supertux (0.6.3-2) unstable; urgency=medium
+
+  * Team upload.
+  * Import patch to fix FTBFS with gcc 12. (Closes: #1013045)
+  * Bump Standards-Version to 4.6.1.
+  * Fix additional spelling errors found by lintian.
+
+ -- Reiner Herrmann <reiner@reiner-h.de>  Sat, 30 Jul 2022 15:34:43 +0200
+
 supertux (0.6.3-1) unstable; urgency=medium
 
   * Team upload.
diff -pruN 0.6.3-1/debian/control 0.6.3-2/debian/control
--- 0.6.3-1/debian/control	2022-02-21 21:27:05.000000000 +0000
+++ 0.6.3-2/debian/control	2022-07-30 13:34:43.000000000 +0000
@@ -28,7 +28,7 @@ Build-Depends:
  libvorbis-dev,
  pkg-config,
  zlib1g-dev
-Standards-Version: 4.6.0
+Standards-Version: 4.6.1
 Homepage: https://www.supertux.org/
 Rules-Requires-Root: no
 Vcs-Git: https://salsa.debian.org/games-team/supertux.git
diff -pruN 0.6.3-1/debian/patches/gcc12.patch 0.6.3-2/debian/patches/gcc12.patch
--- 0.6.3-1/debian/patches/gcc12.patch	1970-01-01 00:00:00.000000000 +0000
+++ 0.6.3-2/debian/patches/gcc12.patch	2022-07-30 13:34:43.000000000 +0000
@@ -0,0 +1,31 @@
+From 81809dd5e6f611b1d64d952f6d96310bcc9c5fca Mon Sep 17 00:00:00 2001
+From: Semphris <semphris@protonmail.com>
+Date: Fri, 17 Jun 2022 12:36:26 -0400
+Bug-Debian: https://bugs.debian.org/1013045
+Subject: [PATCH] Fix problem with GCC 11 and Partio's ZIP manager (missing
+ #include <memory>)
+
+Closes #2219 on GitHub. Same fix, but puts the include closer to the copyright header.
+---
+ external/partio_zip/zip_manager.hpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/external/partio_zip/zip_manager.hpp b/external/partio_zip/zip_manager.hpp
+index 666884dda5..245303c76b 100644
+--- a/external/partio_zip/zip_manager.hpp
++++ b/external/partio_zip/zip_manager.hpp
+@@ -1,8 +1,12 @@
+ // SOURCE: https://github.com/wdas/partio/blob/main/src/lib/io/ZIP.h
++// NOTE: This file was edited for purposes of compatibility with SuperTux.
+ 
+-/*
++// This include has been added to fix a problem with GCC 11+ (and maybe 10)
++#include <memory>
++
++// =============================================================================
+ 
+-NOTE: This file was edited for purposes of compatibility with SuperTux.
++/*
+ 
+ PARTIO SOFTWARE
+ Copyright 2010 Disney Enterprises, Inc. All rights reserved
diff -pruN 0.6.3-1/debian/patches/series 0.6.3-2/debian/patches/series
--- 0.6.3-1/debian/patches/series	2022-02-21 21:27:05.000000000 +0000
+++ 0.6.3-2/debian/patches/series	2022-07-30 13:34:43.000000000 +0000
@@ -1,3 +1,4 @@
 spelling.patch
 version.patch
 reproducible.patch
+gcc12.patch
diff -pruN 0.6.3-1/debian/patches/spelling.patch 0.6.3-2/debian/patches/spelling.patch
--- 0.6.3-1/debian/patches/spelling.patch	2022-02-21 21:27:05.000000000 +0000
+++ 0.6.3-2/debian/patches/spelling.patch	2022-07-30 13:34:43.000000000 +0000
@@ -1,5 +1,6 @@
 Author: Reiner Herrmann <reiner@reiner-h.de>
 Description: Fix spelling errors found by lintian
+Forwarded: https://github.com/SuperTux/supertux/pull/2271
 
 --- a/external/tinygettext/include/tinygettext/language.hpp
 +++ b/external/tinygettext/include/tinygettext/language.hpp
@@ -34,7 +35,7 @@ Description: Fix spelling errors found b
          }
 --- a/src/supertux/levelset_screen.cpp
 +++ b/src/supertux/levelset_screen.cpp
-@@ -78,7 +78,7 @@
+@@ -81,7 +81,7 @@
      m_level_started = true;
  
      if (Editor::is_active()) {
@@ -43,3 +44,47 @@ Description: Fix spelling errors found b
        ScreenManager::current()->pop_screen();
      } else {
        auto screen = std::make_unique<GameSession>(FileSystem::join(m_basedir, m_level_filename),
+--- a/src/gui/menu_paths.cpp
++++ b/src/gui/menu_paths.cpp
+@@ -36,7 +36,7 @@
+       } else {
+         log_warning << "Could not copy path, misses " << (from ? "" : "'from'")
+                     << (into ? "" : "'into'") << std::endl;
+-        Dialog::show_message(_("An error occured and the game could\nnot clone the path. Please contact\nthe developers for support."));
++        Dialog::show_message(_("An error occurred and the game could\nnot clone the path. Please contact\nthe developers for support."));
+       }
+     });
+     dialog->add_button(_("Bind"), [path, &target] {
+--- a/src/interface/control_enum.hpp
++++ b/src/interface/control_enum.hpp
+@@ -263,7 +263,7 @@
+     bool currently_on_first = true;
+     T last_value = *m_value; // must assign a value else clang will complain
+ 
+-    // Hacky way to get the preceeding one in the list
++    // Hacky way to get the preceding one in the list
+     for (const auto& option : m_options) {
+       if (option.first == *m_value) {
+         if (currently_on_first) {
+--- a/src/object/path.hpp
++++ b/src/object/path.hpp
+@@ -50,7 +50,7 @@
+   {
+   public:
+     Vector position; /**< the position of this node */
+-    Vector bezier_before; /**< the position of the bezier handle towards the preceeding node */
++    Vector bezier_before; /**< the position of the bezier handle towards the preceding node */
+     Vector bezier_after; /**< the position of the bezier handle towards the following node */
+     float time; /**< time (in seconds) to get from this node to next node */
+     float speed; /**< speed (in px/seconds); editor use only */
+--- a/src/scripting/functions.cpp
++++ b/src/scripting/functions.cpp
+@@ -91,7 +91,7 @@
+ 
+   if (session->get_current_level().m_is_in_cutscene)
+   {
+-    log_warning << "start_cutscene(): starting a new cutscene above another one, ending preceeding cutscene (use end_cutscene() in scripts!)" << std::endl;
++    log_warning << "start_cutscene(): starting a new cutscene above another one, ending preceding cutscene (use end_cutscene() in scripts!)" << std::endl;
+ 
+     // Remove all sounds that started playing while skipping
+     if (session->get_current_level().m_skip_cutscene)
