Subject: [bug#54630] [PATCH] Updating to add utfcpp as a seperate version and to update mkvtoolnix and warzone2100 to use the old version since they need behavior from version 2 and not version 3.

From: Anadon <[email-masked]>
Date: Thu, 26 May 2022 23:37:42 -0400

---
 gnu/packages/games.scm     |  2 +-
 gnu/packages/textutils.scm | 30 ++++++++++++++++++++++++------
 gnu/packages/video.scm     |  2 +-
 3 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 8cc29b3487..1c01a41ed6 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5131,7 +5131,7 @@ (define-public warzone2100
               ("openssl" ,openssl)
               ("sdl2" ,sdl2)
               ("sqlite" ,sqlite)
-              ("utfcpp" ,utfcpp)))
+              ("utfcpp" ,utfcpp-2)))
     (home-page "https://wz2100.net")
     (synopsis "3D Real-time strategy and real-time tactics game")
     (description
diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm
index cbc657172d..484884160d 100644
--- a/gnu/packages/textutils.scm
+++ b/gnu/packages/textutils.scm
@@ -24,6 +24,7 @@
 ;;; Copyright © 2021 Simon Tournier <[email-masked]>
 ;;; Copyright © 2021 Felix Gruber <[email-masked]>
 ;;; Copyright © 2021 Bonface Munyoki Kilyungi <[email-masked]>
+;;; Copyright © 2021 Josh Marshall <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -668,6 +669,28 @@ (define-public catdoc
 
 (define-public utfcpp
   (package
+    (name "utfcpp")
+    (version "3.2.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/nemtrif/utfcpp")
+                    (commit (string-append "v" version))
+                    (recursive? #t)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0gsbwif97i025bxgyax4fbf6v9z44zrca4s6wwd8x36ac8qzjppf"))))
+    (build-system cmake-build-system)
+    (home-page "https://github.com/nemtrif/utfcpp")
+    (synopsis "Portable C++ library for handling UTF-8")
+    (description "UTF8-CPP is a C++ library for handling UTF-8 encoded text
+in a portable way.")
+    (license license:boost1.0)))
+
+(define-public utfcpp-2
+  (package
+    (inherit utfcpp)
     (name "utfcpp")
     (version "2.3.5")
     (source (origin
@@ -691,12 +714,7 @@ (define-public utfcpp
                     (doc (string-append out "/share/doc/" ,name)))
                (copy-recursively "source" include)
                (install-file "README.md" doc)
-               #t))))))
-    (home-page "https://github.com/nemtrif/utfcpp")
-    (synopsis "Portable C++ library for handling UTF-8")
-    (description "UTF8-CPP is a C++ library for handling UTF-8 encoded text
-in a portable way.")
-    (license license:boost1.0)))
+               #t))))))))
 
 (define-public dbacl
   (package
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index dc05c0a222..da383192bc 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -991,7 +991,7 @@ (define-public mkvtoolnix
            pugixml
            qtbase-5
            qtmultimedia
-           utfcpp
+           utfcpp-2
            zlib))
     (native-inputs
      `(("docbook-xsl" ,docbook-xsl)
-- 
2.34.0