Subject: [bug#50425] [PATCH] gnu: Add minetest-advtrains.

From: Vivien Kraus <[email-masked]>
Date: Fri, 10 Sep 2021 14:46:39 +0200

Hello Maxime,

Le vendredi 10 septembre 2021 à 12:25 +0200, Maxime Devos a écrit :
> minetest-advtrains and minetest-basic-trains are separate packages
> that
> can be added separately, so theoretically, they should be added in
> separate
> patches:
It seems like the least surprising thing to do, so let’s go with the
split patch.

> Maybe replace ‘realistic trains’ -> ‘realistic train system’,
I’m not sure. Upstream really likes to use "train" as a general term,
like in share/minetest/mods/advtrains/modpack.conf, the official
description, the wiki, ... so I think it’s better to use that.

> and note that minetest-basic-trains contains the actual train models.
This sentence was missing, and I added it.

> I think a linter will have something to say about long lines here
> (try "./pre-inst-env guix lint minetest-advtrains minetest-basic-
> trains").
You’re right, I fixed the long lines and other warnings. However, I
don’t know how to fix "no updater for minetest-xxx" for both minetest-
advtrains and minetest-basic-trains. I can’t see a meaningful
difference between my packages and the others.

Vivien
From fbe39d93acb01fbef9f7f497e9bb5814fdf3f6b5 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email-masked]>
Date: Fri, 10 Sep 2021 14:21:47 +0200
Subject: [PATCH 4/4] gnu: add minetest-basic-trains

* gnu/packages/minetest.scm (minetest-basic-trains): New variable.
---
 gnu/packages/minetest.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 0b0e7ace96..c218fb827f 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -668,3 +668,35 @@ stopping before signals.
      (list license:cc-by-sa3.0 license:agpl3+))
     (properties
      `((upstream-name . "orwell/advtrains")))))
+
+(define-public minetest-basic-trains
+  (package
+    (name "minetest-basic-trains")
+    (version "1.0.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "http://git.bananach.space/basic_trains.git/")
+             (commit
+              "d44c410f7c2a7202ee68b66fc50febae89e0c5dc")))
+       (sha256
+        (base32
+         "0vvzndj48kgdz2bfgivfm217sbmc2lmxpp2mispcy7byn4i26prx"))
+       (file-name (git-file-name name version))))
+    (build-system minetest-mod-build-system)
+    (propagated-inputs
+     `(("minetest-advtrains" ,minetest-advtrains)))
+    (home-page
+     "http://advtrains.de/wiki/doku.php?id=usage:trains:basic_trains")
+    (synopsis
+     "\
+Collection of basic trains for the Advanced Trains mod")
+    (description
+     "\
+This modpack contains the trains which were the \"default\" trains in
+advtrains up to version 2.2.1.")
+    (license
+     (list license:cc-by-sa3.0 license:agpl3+))
+    (properties
+     `((upstream-name . "orwell/basic_trains")))))
-- 
2.33.0

From 9675601acba125905877f30b5bc47053db3b652d Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email-masked]>
Date: Sun, 5 Sep 2021 15:21:35 +0200
Subject: [PATCH 3/4] gnu: add minetest-advtrains

* gnu/packages/minetest.scm (minetest-advtrains): New variable.
---
 gnu/packages/minetest.scm | 44 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 9e48d5c69c..0b0e7ace96 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -624,3 +624,47 @@ track of important locations.")
                    license:cc-by4.0 license:cc-by-sa3.0 license:public-domain
                    license:cc0 license:fdl1.2+))
     (properties `((upstream-name . "RealBadAngel/unified_inventory")))))
+
+(define-public minetest-advtrains
+  (package
+    (name "minetest-advtrains")
+    (version "2.3.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://git.bananach.space/advtrains.git")
+             (commit "release-2.3.1")))
+       (sha256
+        (base32 "1ijqlchh269jpvmgmdmdvy3nsnk0bszkvvcqk6vaysvxam695ggw"))
+       (file-name (git-file-name name version))))
+    (build-system minetest-mod-build-system)
+    (home-page "http://advtrains.de/")
+    (synopsis
+     "Adds good-looking, realistic trains with realistic rails")
+    (description
+     "\
+This mod features realistic trains and various equipment for railways, with a
+focus on automated train operation.  This package contains no actual trains,
+please use minetest-basic-trains.
+
+Main features:
+
+@itemize
+@item
+almost-realistic tracks with actual curves and switches;
+@item
+railway signals, controllable by various means;
+@item
+ATC: simple, command-like automatic train control;
+@item
+LuaATC: Powerful Lua-scripted automatic train operation (requires some
+programming knowledge);
+@item
+an interlocking system, featuring track sections, routes and automatic
+stopping before signals.
+@end itemize")
+    (license
+     (list license:cc-by-sa3.0 license:agpl3+))
+    (properties
+     `((upstream-name . "orwell/advtrains")))))
-- 
2.33.0

From ba9014e45f9b237e23da58de075231bda87a0cab Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email-masked]>
Date: Tue, 7 Sep 2021 12:28:35 +0200
Subject: [PATCH 2/4] gnu: minetest-mesecons: Fix indentation.

* gnu/packages/minetest.scm (minetest-mesecons): Fix indentation.
---
 gnu/packages/minetest.scm | 50 +++++++++++++++++++--------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 6f4682ba47..9e48d5c69c 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -304,37 +304,37 @@ and a variety of other stuff.")
   ;; The release on ContentDB does not have its own version number.
   (let ((commit "db5879706d04d3480bc4863ce0c03fa73e5f10c7")
         (revision "0"))
-  (package
-    (name "minetest-mesecons")
-    (version (git-version "1.2.1" revision commit))
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/minetest-mods/mesecons")
-             (commit commit)))
-       (sha256
-        (base32 "04m9s9l3frw1lgki41hgvjsw2zkrvfv0sy750b6j12arzb3lv645"))
-       (file-name (git-file-name name version))))
-    (build-system minetest-mod-build-system)
-    (home-page "https://mesecons.net")
-    (synopsis
-     "Digital circuitry for Minetest, including wires, buttons and lights")
-    (description
-     "Mesecons is a mod for Minetest implementing various items related
+    (package
+      (name "minetest-mesecons")
+      (version (git-version "1.2.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/minetest-mods/mesecons")
+               (commit commit)))
+         (sha256
+          (base32 "04m9s9l3frw1lgki41hgvjsw2zkrvfv0sy750b6j12arzb3lv645"))
+         (file-name (git-file-name name version))))
+      (build-system minetest-mod-build-system)
+      (home-page "https://mesecons.net")
+      (synopsis
+       "Digital circuitry for Minetest, including wires, buttons and lights")
+      (description
+       "Mesecons is a mod for Minetest implementing various items related
 to digital circuitry, such as wires, buttons, lights and programmable
 controllers.  Among other things, there are also pistons, solar panels,
 pressure plates and note blocks.
 
 Mesecons has a similar goal to Redstone in Minecraft, but works in its own way,
 with different rules and mechanics.")
-    ;; LGPL for code, CC-BY-SA for textures.
-    ;; The README.md and COPYING.txt disagree about the "+" in license:lgpl3+.
-    ;; For now, assume README.md is correct.  Upstream has been asked to
-    ;; correct the inconsistency:
-    ;; <https://github.com/minetest-mods/mesecons/issues/575>.
-    (license (list license:lgpl3+ license:cc-by-sa3.0))
-    (properties `((upstream-name . "Jeija/mesecons"))))))
+      ;; LGPL for code, CC-BY-SA for textures.
+      ;; The README.md and COPYING.txt disagree about the "+" in license:lgpl3+.
+      ;; For now, assume README.md is correct.  Upstream has been asked to
+      ;; correct the inconsistency:
+      ;; <https://github.com/minetest-mods/mesecons/issues/575>.
+      (license (list license:lgpl3+ license:cc-by-sa3.0))
+      (properties `((upstream-name . "Jeija/mesecons"))))))
 
 (define-public minetest-mineclone
   (package
-- 
2.33.0

From 77d3a0c63ae28a03e4408fa220a24605ad051e60 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email-masked]>
Date: Tue, 7 Sep 2021 12:27:59 +0200
Subject: [PATCH 1/4] gnu: minetest-data: Fix indentation.

* gnu/packages/minetest.scm (minetest-data): Fix indentation.
---
 gnu/packages/minetest.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 5453f4d16a..6f4682ba47 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -154,8 +154,8 @@ in different ways.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                     (url "https://github.com/minetest/minetest_game")
-                     (commit version)))
+                    (url "https://github.com/minetest/minetest_game")
+                    (commit version)))
               (file-name (git-file-name name version))
               (sha256
                (base32
@@ -172,8 +172,8 @@ in different ways.")
                                        "/share/minetest/games/minetest_game")))
                      (mkdir-p install-dir)
                      (copy-recursively
-                       (assoc-ref %build-inputs "source")
-                       install-dir)
+                      (assoc-ref %build-inputs "source")
+                      install-dir)
                      #t))))
     (synopsis "Main game data for the Minetest game engine")
     (description
-- 
2.33.0