Subject: Re: bug#66172: Acknowledgement (gnu: games: Update openrct2.)

From: Daniel Trujillo Viedma <[email-masked]>
Date: Sun, 24 Sep 2023 00:42:13 +0200

Of course, I forgot to attach the patch. Sorry for that...

From 617dcef04314a044972ce17f340480b18ae143b6 Mon Sep 17 00:00:00 2001
Message-ID: <[email-masked]>
From: Daniel Trujillo Viedma <[email-masked]>
Date: Sun, 24 Sep 2023 00:06:25 +0200
Subject: [PATCH] Update: openrct2

---
 gnu/packages/games.scm | 264 ++++++++++++++++++++++++++++-------------
 1 file changed, 180 insertions(+), 84 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 0b7518c2c2..628d6ad4c1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4923,16 +4923,16 @@ (define-public openttd
 (define openrct2-title-sequences
   (package
    (name "openrct2-title-sequences")
-   (version "0.1.2")
+   (version "0.4.6")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "https://github.com/OpenRCT2/title-sequences/releases/download/v"
-                         version "/title-sequence-v" version ".zip"))
+                         version "/title-sequences.zip"))
      (file-name (string-append name "-" version ".zip"))
      (sha256
       (base32
-       "0qbyxrsw8hlgaq0r5d7lx7an3idy4qbfv7yiw9byhldk763n9cfw"))))
+       "160df56cwb4vl1h25k8rz2wqmpyfncd8zpmfdinzny0zmz6qk894"))))
    (build-system trivial-build-system)
    (native-inputs
     `(("bash" ,bash)
@@ -4945,7 +4945,7 @@ (define openrct2-title-sequences
         (use-modules (guix build utils))
         (let* ((out (assoc-ref %outputs "out"))
                (openrct2-title-sequences (string-append out
-                                         "/share/openrct2/title-sequences"))
+                                         "/share/openrct2/sequence"))
                (source (assoc-ref %build-inputs "source"))
                (unzip (search-input-file %build-inputs "/bin/unzip")))
           (copy-file source (string-append ,name "-" ,version ".zip"))
@@ -4955,16 +4955,17 @@ (define openrct2-title-sequences
           (copy-recursively "."
                             openrct2-title-sequences)
           #t))))
-   (home-page "https://github.com/OpenRCT2/OpenRCT2")
+   (home-page "https://github.com/OpenRCT2/title-sequences")
    (synopsis "Title sequences for OpenRCT2")
    (description
-    "openrct2-title-sequences is a set of title sequences for OpenRCT2.")
-   (license license:gpl3+)))
+    "Contains the title sequence that is distributed with each release of
+OpenRCT2.")
+   (license license:cc-by4.0)))
 
 (define openrct2-objects
   (package
    (name "openrct2-objects")
-   (version "1.0.20")
+   (version "1.3.11")
    (source
     (origin
      (method url-fetch)
@@ -4972,7 +4973,7 @@ (define openrct2-objects
                          version "/objects.zip"))
      (file-name (string-append name "-" version ".zip"))
      (sha256
-      (base32 "1q7a38kcwrfijav6app1gf253yfv8b0rljbkah8040y6i7snw9mw"))))
+      (base32 "1d402z4jkf1jvixhayiwkd2w4zblk043jrsmj7js475i9y7di1dz"))))
    (build-system trivial-build-system)
    (native-inputs
     `(("bash" ,bash)
@@ -4985,7 +4986,7 @@ (define openrct2-objects
         (use-modules (guix build utils))
         (let* ((out (assoc-ref %outputs "out"))
                (openrct2-objects (string-append out
-                                         "/share/openrct2/objects"))
+                                         "/share/openrct2/object"))
                (source (assoc-ref %build-inputs "source"))
                (unzip (search-input-file %build-inputs "/bin/unzip")))
           (copy-file source (string-append ,name "-" ,version ".zip"))
@@ -4995,11 +4996,176 @@ (define openrct2-objects
           (copy-recursively "."
                             openrct2-objects)
           #t))))
-   (home-page "https://github.com/OpenRCT2/OpenRCT2")
-   (synopsis "Objects for OpenRCT2")
+   (home-page "https://github.com/OpenRCT2/objects")
+   (synopsis "Official objects for OpenRCT2")
    (description
-    "openrct2-objects is a set of objects for OpenRCT2.")
-   (license license:gpl3+)))
+    "Contains objects from RollerCoaster Tycoon 1, RollerCoaster Tycoon 2 and
+their expansion packs.")
+   (license license:cc-by4.0)))
+
+(define openrct2-opensfx
+  (package
+   (name "openrct2-opensfx")
+   (version "1.0.3")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (string-append "https://github.com/OpenRCT2/OpenSoundEffects/releases/download/v"
+                         version "/opensound.zip"))
+     (file-name (string-append name "-" version ".zip"))
+     (sha256
+      (base32
+       "0v5fwi953xq10kvyba46r193rpdm8pacvq52660as96cz1pipgkh"))))
+   (build-system trivial-build-system)
+   (native-inputs
+    `(("bash" ,bash)
+      ("coreutils" ,coreutils)
+      ("unzip" ,unzip)))
+   (arguments
+    `(#:modules ((guix build utils))
+      #:builder
+      (begin
+        (use-modules (guix build utils))
+        (let* ((out (assoc-ref %outputs "out"))
+               (openrct2-opensfx (string-append out
+                                         "/share/openrct2"))
+               (source (assoc-ref %build-inputs "source"))
+               (unzip (search-input-file %build-inputs "/bin/unzip")))
+          (copy-file source (string-append ,name "-" ,version ".zip"))
+          (invoke unzip (string-append ,name "-" ,version ".zip"))
+          (delete-file (string-append ,name "-" ,version ".zip"))
+          (mkdir-p openrct2-opensfx)
+          (copy-recursively "." openrct2-opensfx)
+          #t))))
+   (home-page "https://github.com/OpenRCT2/OpenSoundEffects")
+   (synopsis "Sound effects replacement for OpenRCT2")
+   (description
+    "Project to create a replacement for RollerCoaster Tycoon 2 sound effects
+file.")
+   (license license:expat)))
+
+(define openrct2-openmsx
+  (package
+   (name "openrct2-openmsx")
+   (version "1.4")
+   (source
+    (origin
+     (method url-fetch)
+     (uri (string-append "https://github.com/OpenRCT2/OpenMusic/releases/download/v"
+                         version "/openmusic.zip"))
+     (file-name (string-append name "-" version ".zip"))
+     (sha256
+      (base32
+       "1vwhg6j5snvlym02fw3gsfbb6iw1jx3cq9kwrvfg6dmjpvsqin3q"))))
+   (build-system trivial-build-system)
+   (native-inputs
+    `(("bash" ,bash)
+      ("coreutils" ,coreutils)
+      ("unzip" ,unzip)))
+   (arguments
+    `(#:modules ((guix build utils))
+      #:builder
+      (begin
+        (use-modules (guix build utils))
+        (let* ((out (assoc-ref %outputs "out"))
+               (openrct2-openmsx (string-append out
+                                         "/share/openrct2"))
+               (source (assoc-ref %build-inputs "source"))
+               (unzip (search-input-file %build-inputs "/bin/unzip")))
+          (copy-file source (string-append ,name "-" ,version ".zip"))
+          (invoke unzip (string-append ,name "-" ,version ".zip"))
+          (delete-file (string-append ,name "-" ,version ".zip"))
+          (mkdir-p openrct2-openmsx)
+          (copy-recursively "." openrct2-openmsx)
+          #t))))
+   (home-page "https://github.com/OpenRCT2/OpenMusic")
+   (synopsis "New versions of the songs from RollerCoaster Tycoon 2")
+   (description
+    "This project aims to create an alternative, high quality soundtrack as
+replacement for, and addition to RollerCoaster Tycoon 2's soundtrack for use in
+OpenRCT2.")
+   (license license:cc-by-sa4.0)))
+
+(define-public openrct2
+  (package
+    (name "openrct2")
+    (version "0.4.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/OpenRCT2/OpenRCT2")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "13kz5rkldcc5x2532xdf71c6c3rxn0jw72g6m5hq9a4q4isdh2hx"))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"
+                               "-DDOWNLOAD_TITLE_SEQUENCES=OFF"
+                               "-DDOWNLOAD_OPENSFX=OFF"
+                               "-DDOWNLOAD_OPENMSX=OFF")
+       #:tests? #f                      ; tests require network access
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-usr-share-paths&add-data
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((titles (assoc-ref inputs "openrct2-title-sequences"))
+                   (objects (assoc-ref inputs "openrct2-objects"))
+                   (opensfx (assoc-ref inputs "openrct2-opensfx"))
+                   (openmsx (assoc-ref inputs "openrct2-openmsx")))
+               ;; Fix some references to /usr/share.
+               (substitute* "src/openrct2/platform/Platform.Linux.cpp"
+                 (("/usr/share")
+                  (string-append (assoc-ref %outputs "out") "/share")))
+               (copy-recursively
+                (string-append titles "/share/openrct2/sequence")
+                "data/sequence")
+               (copy-recursively
+                (string-append objects "/share/openrct2/object")
+                "data/object")
+               (copy-recursively
+                (string-append opensfx "/share/openrct2/")
+                "data")
+               (copy-recursively
+                (string-append openmsx "/share/openrct2")
+                "data"))))
+         (add-before 'configure 'get-rid-of-errors
+           (lambda _
+             ;; Don't treat warnings as errors.
+             (substitute* "CMakeLists.txt"
+               (("-Werror") ""))
+             #t)))))
+    (inputs `(("curl" ,curl)
+              ("duktape" ,duktape)
+              ("fontconfig-minimal" ,fontconfig)
+              ("freetype" ,freetype)
+              ("icu4c" ,icu4c)
+              ("jansson" ,jansson)
+              ("nlohmann-json" ,nlohmann-json)
+              ("libpng" ,libpng)
+              ("libzip" ,libzip)
+              ("mesa" ,mesa)
+              ("openrct2-objects" ,openrct2-objects)
+              ("openrct2-title-sequences" ,openrct2-title-sequences)
+              ("openrct2-opensfx" ,openrct2-opensfx)
+              ("openrct2-openmsx" ,openrct2-openmsx)
+              ("openssl" ,openssl)
+              ("sdl2" ,sdl2)
+              ("speexdsp" ,speexdsp)
+              ("zlib" ,zlib)
+              ("flac" ,flac)
+              ("libvorbis" ,libvorbis)))
+    (native-inputs
+     (list pkg-config))
+    (home-page "https://github.com/OpenRCT2/OpenRCT2")
+    (synopsis "Free software re-implementation of RollerCoaster Tycoon 2")
+    (description "OpenRCT2 is a free software re-implementation of
+RollerCoaster Tycoon 2 (RCT2).  The gameplay revolves around building and
+maintaining an amusement park containing attractions, shops and facilities.")
+    ;; See <https://github.com/OpenRCT2/OpenRCT2/wiki/Required-RCT2-files>
+    ;; regarding assets.
+    (license license:gpl3+)))
 
 (define-public openquest
   (package
@@ -5087,76 +5253,6 @@ (define-public openquest
 that follows two aliens who come to Earth in search of a stolen artifact.")
     (license license:gpl2+)))
 
-(define-public openrct2
-  (package
-    (name "openrct2")
-    (version "0.3.3")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/OpenRCT2/OpenRCT2")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "01nanpbz5ycdhkyd46fjfvj18sw729l4vk7xg12600f9rjngjk76"))))
-    (build-system cmake-build-system)
-    (arguments
-     `(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"
-                               "-DDOWNLOAD_TITLE_SEQUENCES=OFF")
-       #:tests? #f                      ; tests require network access
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-usr-share-paths&add-data
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((titles (assoc-ref inputs "openrct2-title-sequences"))
-                   (objects (assoc-ref inputs "openrct2-objects")))
-               ;; Fix some references to /usr/share.
-               (substitute* "src/openrct2/platform/Platform.Linux.cpp"
-                 (("/usr/share")
-                  (string-append (assoc-ref %outputs "out") "/share")))
-               (copy-recursively
-                (string-append titles "/share/openrct2/title-sequences")
-                "data/title")
-               (copy-recursively
-                (string-append objects "/share/openrct2/objects")
-                "data/object"))))
-         (add-before 'configure 'get-rid-of-errors
-           (lambda _
-             ;; Don't treat warnings as errors.
-             (substitute* "CMakeLists.txt"
-               (("-Werror") ""))
-             #t)))))
-    (inputs `(("curl" ,curl)
-              ("duktape" ,duktape)
-              ("fontconfig" ,fontconfig)
-              ("freetype" ,freetype)
-              ("icu4c" ,icu4c)
-              ("jansson" ,jansson)
-              ("nlohmann-json" ,nlohmann-json)
-              ("libpng" ,libpng)
-              ("libzip" ,libzip)
-              ("mesa" ,mesa)
-              ("openrct2-objects" ,openrct2-objects)
-              ("openrct2-title-sequences" ,openrct2-title-sequences)
-              ("openssl" ,openssl)
-              ("sdl2" ,sdl2)
-              ("speexdsp" ,speexdsp)
-              ("zlib" ,zlib)))
-    (native-inputs
-     (list pkg-config))
-    (home-page "https://github.com/OpenRCT2/OpenRCT2")
-    (synopsis "Free software re-implementation of RollerCoaster Tycoon 2")
-    (description "OpenRCT2 is a free software re-implementation of
-RollerCoaster Tycoon 2 (RCT2).  The gameplay revolves around building and
-maintaining an amusement park containing attractions, shops and facilities.
-
-Note that this package does @emph{not} provide the game assets (sounds,
-images, etc.)")
-    ;; See <https://github.com/OpenRCT2/OpenRCT2/wiki/Required-RCT2-files>
-    ;; regarding assets.
-    (license license:gpl3+)))
-
 (define-public openriichi
   (package
     (name "openriichi")

base-commit: 4bdb8bd2674c2b630626be43a5cd3c2b65401b52
-- 
2.41.0