diff --git a/ninja-1.11.1.tar.gz b/ninja-1.11.1.tar.gz
deleted file mode 100644
index 08f5808..0000000
--- a/ninja-1.11.1.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:31747ae633213f1eda3842686f83c2aa1412e0f5691d1c14dbbcc67fe7400cea
-size 229479
diff --git a/ninja-1.12.0.tar.gz b/ninja-1.12.0.tar.gz
new file mode 100644
index 0000000..e31e102
--- /dev/null
+++ b/ninja-1.12.0.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b2c86cd483dc7fcb7975c5ec7329135d210099a89bc7db0590a07b0bbfe49a5
+size 240291
diff --git a/ninja.changes b/ninja.changes
index 01e2615..0e97338 100644
--- a/ninja.changes
+++ b/ninja.changes
@@ -1,3 +1,14 @@
+-------------------------------------------------------------------
+Tue Apr 30 17:40:20 UTC 2024 - Christoph G <foss@grueninger.de>
+
+- update to 1.12.0
+  * Critical path scheduler which orders the jobs by their runtime
+    history. This may break your build if you haven't specified
+    your dependencies correctly.
+  * Resiliency against inputs changing during the build
+  * Reliable ETA and progress percentage in status #1963
+- Use CMake as build system
+
 -------------------------------------------------------------------
 Wed Aug 31 05:32:49 UTC 2022 - Christoph G <foss@grueninger.de>
 
diff --git a/ninja.spec b/ninja.spec
index c62a1f0..cea29ed 100644
--- a/ninja.spec
+++ b/ninja.spec
@@ -1,7 +1,7 @@
 #
 # spec file for package ninja
 #
-# Copyright (c) 2022 SUSE LLC
+# 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
@@ -17,7 +17,7 @@
 
 
 Name:           ninja
-Version:        1.11.1
+Version:        1.12.0
 Release:        0
 Summary:        A small build system closest in spirit to Make
 License:        Apache-2.0
@@ -27,7 +27,9 @@ Source0:        https://github.com/ninja-build/ninja/archive/v%{version}/%{name}
 Source1:        macros.ninja
 Patch1:         ninja-disable-maxprocs-test.patch
 Patch2:         ninja-re2c-g.patch
+BuildRequires:  cmake
 BuildRequires:  gcc-c++
+BuildRequires:  gtest
 BuildRequires:  python3-base
 BuildRequires:  re2c
 
@@ -45,20 +47,18 @@ export CFLAGS="%{optflags}"
 CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
 %endif
 export CXXFLAGS="$CFLAGS"
-python3 ./configure.py --bootstrap --verbose
+%cmake
+%cmake_build
 
 %install
-install -D -p -m 0755 ninja %{buildroot}%{_bindir}/ninja
+%cmake_install
 install -D -p -m 0644 misc/zsh-completion %{buildroot}%{_datadir}/zsh/site-functions/_ninja
 install -D -p -m 0644 misc/ninja.vim %{buildroot}%{_datadir}/vim/site/syntax/ninja.vim
 install -D -p -m 0644 misc/bash-completion %{buildroot}%{_datadir}/bash-completion/completions/ninja
 install -D -p -m 0644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/macros.ninja
 
 %check
-./ninja all
-./ninja_test
-python3 ./misc/ninja_syntax_test.py
-python3 ./misc/output_test.py
+%ctest
 
 %files
 %license COPYING