[PATCH] Update minetest

  • Done
  • quality assurance status badge
Details
3 participants
  • Liliana Marie Prikler
  • Maxime Devos
  • Vivien Kraus
Owner
unassigned
Submitted by
Vivien Kraus
Severity
normal
V
V
Vivien Kraus wrote on 29 May 2022 14:47
(name . guix-patches)(address . guix-patches@gnu.org)
88c65d08cae0393ec661df673bd0e815a10df7b1.camel@planete-kraus.eu
Dear guix,

minetest 5.5.1 has been released some time ago. Most notably, it
provides its own fork of irrlicht. Both minetest and irrlichtmt evolve
together, in the sense that upgrading irrlichtmt without upgrading
minetest breaks the latter.

I have also updated a set of mods I use.

Best regards,

Vivien
From e1f5cc167dd0a1b1c09772966c1d7944efb9ee8c Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:14:15 +0200
Subject: [PATCH v1 2/8] gnu: minetest: Add minetest-sound-api-core.

* gnu/packages/minetest.scm (minetest-sound-api-core): New variable.
---
gnu/packages/minetest.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 559d513407..dad1c7978f 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -241,6 +241,34 @@ (define-public minetest-moreores
(license license:zlib)
(properties `((upstream-name . "Calinou/moreores")))))
+(define-public minetest-sound-api-core
+ (package
+ (name "minetest-sound-api-core")
+ ;; No tags, no releases. This is used as a submodule.
+ (version "2022-02-27")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mt-mods/sound_api_core")
+ (commit "6956e49e775f325116f8e0c643899c089c691e1e")))
+ (sha256
+ (base32 "1ys6g2skhkksa4cx9agxhsibj5js8z4y2q1ngis9ddr38p756pcy"))
+ (file-name (git-file-name name version))
+ (snippet
+ '(begin
+ (call-with-output-file "mod.conf"
+ (lambda (port)
+ (format port "\
+name = sound_api_core")))))))
+ (build-system minetest-mod-build-system)
+ (propagated-inputs '())
+ (home-page "https://github.com/mt-mods/sound_api_core")
+ (synopsis "Core for game agnostic sounds")
+ (description
+ "This library can be used to get some specific sounds, whatever the game.")
+ (license license:expat)))
+
(define-public minetest-basic-materials
(package
(name "minetest-basic-materials")
--
2.36.1
From c06f31a23be065ad858c19de028595513cbc538e Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:14:44 +0200
Subject: [PATCH v1 3/8] gnu: minetest-basic-materials: Update to 2022-03-28.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/minetest.scm (minetest-basic-materials): Update to
2022-03-28 (commet 9d55f991…).
[snippet]: Make sound_api_core a dependency, not a submodule.
---
gnu/packages/minetest.scm | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index dad1c7978f..9528b92881 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -273,21 +273,31 @@ (define-public minetest-basic-materials
(package
(name "minetest-basic-materials")
;; Upstream uses dates as version numbers.
- (version "2021-12-26")
+ (version "2022-03-28")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mt-mods/basic_materials")
- (commit "0893974b054a2191b5e2d5447ee4fc73f9c35f6a")))
+ (commit "9d55f9916d20779ecbf93c7e95dae8adebd2079b")))
(sha256
- (base32 "0p4nnfsjv7284zmgr781zkyjbp049wp1jy1l7n585zzj181ns57p"))
- (file-name (git-file-name name version))))
+ (base32 "0nzx5mdw26mk2by14hxyvbqckgz8k67vlh2ch30skssvh4984bjw"))
+ (file-name (git-file-name name version))
+ (snippet
+ '(begin
+ (use-modules (guix build utils))
+ (substitute* "mod.conf"
+ (("optional_depends =")
+ "depends = sound_api_core
+optional_depends ="))
+ (substitute* "nodes.lua"
+ (("basic_materials.modpath \\.\\. \"/sound_api_core/init.lua\"")
+ "minetest.get_modpath(\"sound_api_core\") .. \"/init.lua\""))))))
(build-system minetest-mod-build-system)
(propagated-inputs
;; basic_materials:silver_wire cannot be crafted without
;; moreores:silver_ingot.
- (list minetest-moreores))
+ (list minetest-moreores minetest-sound-api-core))
(home-page (minetest-topic 21000))
(synopsis "Some \"basic\" materials and items for other Minetest mods to use")
(description
--
2.36.1
From a195a6856f80f2306f23387e4260cc084361db47 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:20:09 +0200
Subject: [PATCH v1 4/8] gnu: minetest-homedecor-modpack: Update to 2022-05-18.

* gnu/packages/minetest.scm (minetest-homedecor-modpack): Update to
2022-05-18 (commit ID from may 17).
---
gnu/packages/minetest.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 9528b92881..f41451be7a 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -370,15 +370,15 @@ (define-public minetest-homedecor-modpack
(name "minetest-homedecor-modpack")
;; Upstream doesn't tag releases, so use the release title from
;; ContentDB as version.
- (version "2021-12-26")
+ (version "2022-05-18")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mt-mods/homedecor_modpack")
- (commit "a8fceb249d63f081855cfba1fbd6e2aa86365224")))
+ (commit "5ffdc26673169e05492141709fbb18e8fb6e5937")))
(sha256
- (base32 "1lqcycgkykd86853jjr50m1qv2as2dlqf52gbds4mhiafslnp9mi"))
+ (base32 "03pf254r3hnznklw7lf3q4rzqg0a1y4c9rjjhzssf1q7ai5pdrkn"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
--
2.36.1
From bcba82e0b64b841a4f5e22ef264e8a240dd344e1 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:27:44 +0200
Subject: [PATCH v1 5/8] gnu: minetest-mesecons: Update to 2022-04-01.

* gnu/packages/minetest.scm (minetest-mesecons): Update to 2022-04-01 (use
github tag).
---
gnu/packages/minetest.scm | 53 ++++++++++++++++++---------------------
1 file changed, 25 insertions(+), 28 deletions(-)

Toggle diff (72 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index f41451be7a..0a59fa1c62 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -396,40 +396,37 @@ (define-public minetest-homedecor-modpack
(properties `((upstream-name . "VanessaE/homedecor_modpack")))))
(define-public minetest-mesecons
- ;; 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 "2022-04-01")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minetest-mods/mesecons")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1fpl2zpjp68qj9njs5qiichkfixh66rkgh6brgn6xi3ri4zlx1i1"))
+ (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.36.1
From 3efcac5a0736f731a8933fec407373b7eafb1818 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:30:23 +0200
Subject: [PATCH v1 6/8] gnu: minetest-mineclone: Update to 0.75.0.

* gnu/packages/minetest.scm (minetest-mineclone): Update to 0.75.0.
---
gnu/packages/minetest.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 0a59fa1c62..081a8545b2 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -431,16 +431,16 @@ (define-public minetest-mesecons
(define-public minetest-mineclone
(package
(name "minetest-mineclone")
- (version "0.71.0")
+ (version "0.75.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://git.minetest.land/Wuzzy/MineClone2")
+ (url "https://git.minetest.land/MineClone2/MineClone2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0qm809dqvxc7pa1cr9skmglq9vrbq5hhm4c4m5yi46ldh1v96dgf"))))
+ "10apja8bp8wmrbjlxg3gvrw5bdc8mizcngvnfi2ff790f6bsc5ip"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
--
2.36.1
From 66f8717a306b33b15af0bf5345f52d6af23e6bdb Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:35:15 +0200
Subject: [PATCH v1 7/8] gnu: minetest-technic: Update to 2022-02-06.

* gnu/packages/minetest.scm (minetest-technic): Update to 2022-02-06.
---
gnu/packages/minetest.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 081a8545b2..655d49c0f7 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -544,15 +544,15 @@ (define-public minetest-technic
(name "minetest-technic")
;; Upstream doesn't keep version numbers, so use the release
;; date on ContentDB instead.
- (version "2021-09-11")
+ (version "2022-02-06")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest-mods/technic")
- (commit "140701c99efb60d81bf63c9a9087720b21c414ca")))
+ (commit "d2b68a6bef53e34e166deadd64e02b58bcae59a1")))
(sha256
- (base32 "1fkhcv8sg3kxfadc2jnfdw6bxxkkkcczsh4bf62rgwwmv2ky7zrx"))
+ (base32 "0vmi1y39q0x39s9w0hhgi979a4hf6n1ah5jaazjvmjf02pjcvvy1"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
--
2.36.1
From e36f425bda3e6ff62d13f087812e1d5c09281ef1 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:43:28 +0200
Subject: [PATCH v1 8/8] gnu: minetest-advtrains: Update to 2.4.1.

* gnu/packages/minetest.scm (minetest-advtrains): Update to 2.4.1.
---
gnu/packages/minetest.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 655d49c0f7..5545dcc751 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -719,7 +719,7 @@ (define-public minetest-unified-inventory
(define-public minetest-advtrains
(package
(name "minetest-advtrains")
- (version "2.3.1")
+ (version "2.4.1")
(source
(origin
(method git-fetch)
@@ -727,7 +727,7 @@ (define-public minetest-advtrains
(url "https://git.bananach.space/advtrains.git")
(commit (string-append "release-" version))))
(sha256
- (base32 "1ijqlchh269jpvmgmdmdvy3nsnk0bszkvvcqk6vaysvxam695ggw"))
+ (base32 "1q2jj8181pjgsakl28xadv0z4sszq1lb5rpgj070wr0px6mp447p"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page "http://advtrains.de/")
--
2.36.1
L
L
Liliana Marie Prikler wrote on 29 May 2022 15:48
(name . Maxime Devos)(address . maximedevos@telenet.be)
55cb9d13a8fbd5474aaf72f7c0c21a59eef9d76b.camel@gmail.com
Hi,

Am Sonntag, dem 29.05.2022 um 14:47 +0200 schrieb Vivien Kraus:
Toggle quote (12 lines)
> Subject: [PATCH v1 1/8] gnu: minetest: Update to 5.5.1.
>
> * gnu/local.mk (dist_patch_DATA): Remove minetest-add-
> MINETEST_MOD_PATH.patch.
> * gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch: Delete
> it.
> * gnu/packages/minetest.scm (irrlichtmt): New variable.
> (minetest): Update to 5.5.1.
> [patches]: Remove patch.
> [configure-flags]: find irrlichtmt and zstd.
> [inputs]: Replace irrlicht with irrlichtmt, add zstd.
> (minetest-data): Update hash.
I'd name "irrlichtmt" to "irrlicht-for-minetest" and perhaps split this
patch into two. Even if they need to be bumped "at once" later, I
don't think this holds for the initial introduction.

Toggle quote (3 lines)
> * gnu/packages/minetest.scm (minetest-basic-materials): Update to
> 2022-03-28 (commet 9d55f991…).
> [snippet]: Make sound_api_core a dependency, not a submodule.
Again doing two things at once. I think it'd be wiser to first do the
updates, then add minetest-sound-core, then add the snippets. WDYT?

Toggle quote (2 lines)
> * gnu/packages/minetest.scm (minetest-homedecor-modpack): Update to
> 2022-05-18 (commit ID from may 17).
LGTM¹

Toggle quote (2 lines)
> * gnu/packages/minetest.scm (minetest-mesecons): Update to 2022-04-01
> (use github tag).
LGTM²

Toggle quote (1 lines)
> * gnu/packages/minetest.scm (minetest-mineclone): Update to 0.75.0.
LGTM¹

Toggle quote (1 lines)
> * gnu/packages/minetest.scm (minetest-technic): Update to 2022-02-06.
LGTM¹

Toggle quote (1 lines)
> * gnu/packages/minetest.scm (minetest-advtrains): Update to 2.4.1.
LGTM¹

Cheers

¹ I did not check for hash mismatches or ContenDB version equivalence.
² As pointed out by Maxime elsewhere in the mailing list, Minetest
packages usually have flaky tags in their forges, so someone needs to
look closer at whether this is going to break in the future.

Putting Maxime onto CC to resolve these footnotes :)
V
V
Vivien Kraus wrote on 29 May 2022 17:43
(name . Maxime Devos)(address . maximedevos@telenet.be)
12632f4ae00e1b060afa612aa66a54f7a64beddb.camel@planete-kraus.eu
Hello!

Le dimanche 29 mai 2022 à 15:48 +0200, Liliana Marie Prikler a écrit :
Toggle quote (18 lines)
> Am Sonntag, dem 29.05.2022 um 14:47 +0200 schrieb Vivien Kraus:
> > Subject: [PATCH v1 1/8] gnu: minetest: Update to 5.5.1.
> >
> > * gnu/local.mk (dist_patch_DATA): Remove minetest-add-
> > MINETEST_MOD_PATH.patch.
> > * gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch: Delete
> > it.
> > * gnu/packages/minetest.scm (irrlichtmt): New variable.
> > (minetest): Update to 5.5.1.
> > [patches]: Remove patch.
> > [configure-flags]: find irrlichtmt and zstd.
> > [inputs]: Replace irrlicht with irrlichtmt, add zstd.
> > (minetest-data): Update hash.
> I'd name "irrlichtmt" to "irrlicht-for-minetest" and perhaps split
> this
> patch into two.  Even if they need to be bumped "at once" later, I
> don't think this holds for the initial introduction.

I renamed the fork, and I split the commit as: introduce the fork, and
then (update minetest + use irrlicht-for-minetest). If I split the
minetest update commit further, it will create a broken commit. I was
told on #guix that I should not create such commits. Quoting nckx:

vivien: No, each commit should result in a sane state whenever
possible.

Toggle quote (7 lines)
> > * gnu/packages/minetest.scm (minetest-basic-materials): Update to
> > 2022-03-28 (commet 9d55f991…).
> > [snippet]: Make sound_api_core a dependency, not a submodule.
> Again doing two things at once.  I think it'd be wiser to first do
> the
> updates, then add minetest-sound-core, then add the snippets.  WDYT?

minetest-sound-core is introduced as a submodule for the
basic_materials update. So the code for it is not present at all. If I
first update basic_materials, then the tests will fail because it can’t
find sound_core. Do you mean that I should first try to respect the
will of the author and add it as a submodule (I don’t know how to do
that) and then take it out as a separate package?

Toggle quote (3 lines)
> ¹ I did not check for hash mismatches or ContenDB version
> equivalence.

I just looked up the date and found a the commit in github that was
there (usually contentdb reports the next day as the github commit). Is
there something more to do?

Toggle quote (4 lines)
> ² As pointed out by Maxime elsewhere in the mailing list, Minetest
> packages usually have flaky tags in their forges, so someone needs to
> look closer at whether this is going to break in the future.

Yes. Mesecons was using version numbers and then the latest tag is a
date. Given that it’s April 1st, maybe there’s something funny occuring
here, but the changes around that day looked reasonable to my untrained
eye. However, one thing I didn’t notice at first was the drop of the +
in the license. Sorry.

Vivien
From 998f70a0ad4e0473a4cf927bed271732b10d4d12 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 13:37:27 +0200
Subject: [PATCH v2 1/9] gnu: minetest: Add irrlicht-for-minetest.

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

Toggle diff (43 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index c431942473..a21b8c1ad3 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -48,6 +48,34 @@ (define-module (gnu packages minetest)
#:use-module (guix build-system minetest)
#:use-module ((guix licenses) #:prefix license:))
+(define-public irrlicht-for-minetest
+ ;; The irrlicht fork and minetest evolve together. This may not be the
+ ;; latest release, but it is the release compatible with the latest minetest
+ ;; release.
+ (package
+ (inherit irrlicht)
+ (name "irrlicht-for-minetest")
+ (version "1.9.0mt5")
+ (source
+ (origin
+ (inherit (package-source irrlicht))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minetest/irrlicht")
+ (commit version)))
+ (sha256
+ (base32
+ "1jxk1x0f60n8lrz8a6x62aj2pqg0qnbajsld3lqncvwsfbi0xjx1"))
+ (patches '())
+ (snippet '(begin #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f))
+ (description
+ "This is a fork of irrlicht tailored for minetest.")
+ (home-page
+ "https://github.com/minetest/irrlicht")))
+
(define-public minetest
(package
(name "minetest")

base-commit: 9cd22702b87f873f7e307c99b406fb758e5a307c
--
2.36.1
From a21eacbacaa78517ca7a9b887627938fa130007a Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:14:15 +0200
Subject: [PATCH v2 3/9] gnu: minetest: Add minetest-sound-api-core.

* gnu/packages/minetest.scm (minetest-sound-api-core): New variable.
---
gnu/packages/minetest.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index fa3c6da3db..b192251626 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -241,6 +241,34 @@ (define-public minetest-moreores
(license license:zlib)
(properties `((upstream-name . "Calinou/moreores")))))
+(define-public minetest-sound-api-core
+ (package
+ (name "minetest-sound-api-core")
+ ;; No tags, no releases. This is used as a submodule.
+ (version "2022-02-27")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mt-mods/sound_api_core")
+ (commit "6956e49e775f325116f8e0c643899c089c691e1e")))
+ (sha256
+ (base32 "1ys6g2skhkksa4cx9agxhsibj5js8z4y2q1ngis9ddr38p756pcy"))
+ (file-name (git-file-name name version))
+ (snippet
+ '(begin
+ (call-with-output-file "mod.conf"
+ (lambda (port)
+ (format port "\
+name = sound_api_core")))))))
+ (build-system minetest-mod-build-system)
+ (propagated-inputs '())
+ (home-page "https://github.com/mt-mods/sound_api_core")
+ (synopsis "Core for game agnostic sounds")
+ (description
+ "This library can be used to get some specific sounds, whatever the game.")
+ (license license:expat)))
+
(define-public minetest-basic-materials
(package
(name "minetest-basic-materials")
--
2.36.1
From 007104e1a5729d3e7a1e1921842c8c22c0bccce5 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:14:44 +0200
Subject: [PATCH v2 4/9] gnu: minetest-basic-materials: Update to 2022-03-28.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/minetest.scm (minetest-basic-materials): Update to
2022-03-28 (commit 9d55f991…).
[snippet]: Make sound_api_core a dependency, not a submodule.
---
gnu/packages/minetest.scm | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index b192251626..23afedf3c5 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -273,21 +273,31 @@ (define-public minetest-basic-materials
(package
(name "minetest-basic-materials")
;; Upstream uses dates as version numbers.
- (version "2021-12-26")
+ (version "2022-03-28")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mt-mods/basic_materials")
- (commit "0893974b054a2191b5e2d5447ee4fc73f9c35f6a")))
+ (commit "9d55f9916d20779ecbf93c7e95dae8adebd2079b")))
(sha256
- (base32 "0p4nnfsjv7284zmgr781zkyjbp049wp1jy1l7n585zzj181ns57p"))
- (file-name (git-file-name name version))))
+ (base32 "0nzx5mdw26mk2by14hxyvbqckgz8k67vlh2ch30skssvh4984bjw"))
+ (file-name (git-file-name name version))
+ (snippet
+ '(begin
+ (use-modules (guix build utils))
+ (substitute* "mod.conf"
+ (("optional_depends =")
+ "depends = sound_api_core
+optional_depends ="))
+ (substitute* "nodes.lua"
+ (("basic_materials.modpath \\.\\. \"/sound_api_core/init.lua\"")
+ "minetest.get_modpath(\"sound_api_core\") .. \"/init.lua\""))))))
(build-system minetest-mod-build-system)
(propagated-inputs
;; basic_materials:silver_wire cannot be crafted without
;; moreores:silver_ingot.
- (list minetest-moreores))
+ (list minetest-moreores minetest-sound-api-core))
(home-page (minetest-topic 21000))
(synopsis "Some \"basic\" materials and items for other Minetest mods to use")
(description
--
2.36.1
From 8a5c91f61767bc1efc2e3a88073c9c6d5f8af930 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:20:09 +0200
Subject: [PATCH v2 5/9] gnu: minetest-homedecor-modpack: Update to 2022-05-18.

* gnu/packages/minetest.scm (minetest-homedecor-modpack): Update to
2022-05-18 (commit ID from may 17).
---
gnu/packages/minetest.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 23afedf3c5..b16d968bba 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -370,15 +370,15 @@ (define-public minetest-homedecor-modpack
(name "minetest-homedecor-modpack")
;; Upstream doesn't tag releases, so use the release title from
;; ContentDB as version.
- (version "2021-12-26")
+ (version "2022-05-18")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mt-mods/homedecor_modpack")
- (commit "a8fceb249d63f081855cfba1fbd6e2aa86365224")))
+ (commit "5ffdc26673169e05492141709fbb18e8fb6e5937")))
(sha256
- (base32 "1lqcycgkykd86853jjr50m1qv2as2dlqf52gbds4mhiafslnp9mi"))
+ (base32 "03pf254r3hnznklw7lf3q4rzqg0a1y4c9rjjhzssf1q7ai5pdrkn"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
--
2.36.1
From 00475d751f8d178663199c9fd851cb530296fd56 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:27:44 +0200
Subject: [PATCH v2 6/9] gnu: minetest-mesecons: Update to 2022-04-01.

* gnu/packages/minetest.scm (minetest-mesecons): Update to 2022-04-01 (use
github tag).
[license]: The project decided to drop the +.
---
gnu/packages/minetest.scm | 49 +++++++++++++++++----------------------
1 file changed, 21 insertions(+), 28 deletions(-)

Toggle diff (68 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index b16d968bba..341802c8bb 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -396,40 +396,33 @@ (define-public minetest-homedecor-modpack
(properties `((upstream-name . "VanessaE/homedecor_modpack")))))
(define-public minetest-mesecons
- ;; 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 "2022-04-01")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minetest-mods/mesecons")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1fpl2zpjp68qj9njs5qiichkfixh66rkgh6brgn6xi3ri4zlx1i1"))
+ (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.
+ (license (list license:lgpl3 license:cc-by-sa3.0))
+ (properties `((upstream-name . "Jeija/mesecons")))))
(define-public minetest-mineclone
(package
--
2.36.1
From 0e5fa9897aae56e8164c6550a2c500dde3550e9c Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:30:23 +0200
Subject: [PATCH v2 7/9] gnu: minetest-mineclone: Update to 0.75.0.

* gnu/packages/minetest.scm (minetest-mineclone): Update to 0.75.0.
---
gnu/packages/minetest.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 341802c8bb..82f7343ef0 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -427,16 +427,16 @@ (define-public minetest-mesecons
(define-public minetest-mineclone
(package
(name "minetest-mineclone")
- (version "0.71.0")
+ (version "0.75.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://git.minetest.land/Wuzzy/MineClone2")
+ (url "https://git.minetest.land/MineClone2/MineClone2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0qm809dqvxc7pa1cr9skmglq9vrbq5hhm4c4m5yi46ldh1v96dgf"))))
+ "10apja8bp8wmrbjlxg3gvrw5bdc8mizcngvnfi2ff790f6bsc5ip"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
--
2.36.1
From 68ce381b5e03cbca16c2cf409b767b42ead99afa Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:35:15 +0200
Subject: [PATCH v2 8/9] gnu: minetest-technic: Update to 2022-02-06.

* gnu/packages/minetest.scm (minetest-technic): Update to 2022-02-06.
---
gnu/packages/minetest.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 82f7343ef0..8fc20fb7ea 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -540,15 +540,15 @@ (define-public minetest-technic
(name "minetest-technic")
;; Upstream doesn't keep version numbers, so use the release
;; date on ContentDB instead.
- (version "2021-09-11")
+ (version "2022-02-06")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest-mods/technic")
- (commit "140701c99efb60d81bf63c9a9087720b21c414ca")))
+ (commit "d2b68a6bef53e34e166deadd64e02b58bcae59a1")))
(sha256
- (base32 "1fkhcv8sg3kxfadc2jnfdw6bxxkkkcczsh4bf62rgwwmv2ky7zrx"))
+ (base32 "0vmi1y39q0x39s9w0hhgi979a4hf6n1ah5jaazjvmjf02pjcvvy1"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
--
2.36.1
From 05e27470105d040309d92d66a8fce65a55848eab Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:43:28 +0200
Subject: [PATCH v2 9/9] gnu: minetest-advtrains: Update to 2.4.1.

* gnu/packages/minetest.scm (minetest-advtrains): Update to 2.4.1.
---
gnu/packages/minetest.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 8fc20fb7ea..11579d803e 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -715,7 +715,7 @@ (define-public minetest-unified-inventory
(define-public minetest-advtrains
(package
(name "minetest-advtrains")
- (version "2.3.1")
+ (version "2.4.1")
(source
(origin
(method git-fetch)
@@ -723,7 +723,7 @@ (define-public minetest-advtrains
(url "https://git.bananach.space/advtrains.git")
(commit (string-append "release-" version))))
(sha256
- (base32 "1ijqlchh269jpvmgmdmdvy3nsnk0bszkvvcqk6vaysvxam695ggw"))
+ (base32 "1q2jj8181pjgsakl28xadv0z4sszq1lb5rpgj070wr0px6mp447p"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page "http://advtrains.de/")
--
2.36.1
-----BEGIN PGP SIGNATURE-----

iQHMBAABCAA2FiEEq4yIHjMvkliPpwQnO7C8EjLYuCwFAmKTlKEYHHZpdmllbkBw
bGFuZXRlLWtyYXVzLmV1AAoJEDuwvBIy2Lgs6W4L/jgBXH0Nu2UdyJ6hGZolLrg3
s+HW7Cw2awLZlOHGbXWoyCZKmuW1qGOen79L6tjqHOoXJhw46/Tw1yBA28tMpq3k
I4qH80mobOCETTDCV/WBOqitshRgPLgcKzzRw3AQmvyP1C/OhnL/z/UpTkUB9LB2
ur2o6or/MgpMg2PQdlqUCIhFSp9jTHXScDbTwYfrje2Lo4HhH33Jk50RYSdmAT+A
bKXO2VIYlL/cRRVkeZxul+86fXA64G3pbzdZ0Z6gwKuj2e5c4rSvwgc2nF6MGktp
qTq+TXWhXE3UWM6ZehABCfwIoFqoMNTFXz6A5TA6rGaPpSyx7c0nBbi/6keMzvQJ
X1PcYS0i1HnpAKZOwNgyPGm/VOa/0yOKfYekCecJcmRUD7X29/VR1dWNxBYk1BF/
+BcuaLeDC72HVNTJXIXw43tF0ttI6yoH35b6M3V8NIhDipuJGf3YV42GdoGbSQIK
0Vsx02BuNKMZbenP2kakz3dQ+a10Izqggowo2TaXNQ==
=B7cc
-----END PGP SIGNATURE-----


L
L
Liliana Marie Prikler wrote on 29 May 2022 18:39
(name . Maxime Devos)(address . maximedevos@telenet.be)
e3bc39ef2db17132e2930a21dca4717bd882ba70.camel@gmail.com
Hi,

Am Sonntag, dem 29.05.2022 um 17:43 +0200 schrieb Vivien Kraus:
Toggle quote (27 lines)
> Hello!
>
> Le dimanche 29 mai 2022 à 15:48 +0200, Liliana Marie Prikler a écrit :
> > Am Sonntag, dem 29.05.2022 um 14:47 +0200 schrieb Vivien Kraus:
> > > Subject: [PATCH v1 1/8] gnu: minetest: Update to 5.5.1.
> > >
> > > * gnu/local.mk (dist_patch_DATA): Remove minetest-add-
> > > MINETEST_MOD_PATH.patch.
> > > * gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch: Delete
> > > it.
> > > * gnu/packages/minetest.scm (irrlichtmt): New variable.
> > > (minetest): Update to 5.5.1.
> > > [patches]: Remove patch.
> > > [configure-flags]: find irrlichtmt and zstd.
> > > [inputs]: Replace irrlicht with irrlichtmt, add zstd.
> > > (minetest-data): Update hash.
> > I'd name "irrlichtmt" to "irrlicht-for-minetest" and perhaps split
> > this patch into two.  Even if they need to be bumped "at once" later,
> > I don't think this holds for the initial introduction.
>
> I renamed the fork, and I split the commit as: introduce the fork, and
> then (update minetest + use irrlicht-for-minetest). If I split the
> minetest update commit further, it will create a broken commit. I was
> told on #guix that I should not create such commits. Quoting nckx:
>
>     vivien: No, each commit should result in a sane state whenever
> possible.
That's exactly the split I intended, thanks.

Toggle quote (12 lines)
> + (source
> + (origin
> + (inherit (package-source irrlicht))
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/minetest/irrlicht")
> + (commit version)))
> + (sha256
> + (base32
> + "1jxk1x0f60n8lrz8a6x62aj2pqg0qnbajsld3lqncvwsfbi0xjx1"))
> + (patches '())
> + (snippet '(begin #t))))
Instead of inheriting and blanking patches and snippet, you could
simply not inherit.

Toggle quote (2 lines)
> + (arguments
> + `(#:tests? #f))
As with Irrlicht itself, you should write out "; no check target"

Toggle quote (13 lines)
> > > * gnu/packages/minetest.scm (minetest-basic-materials): Update to
> > > 2022-03-28 (commet 9d55f991…).
> > > [snippet]: Make sound_api_core a dependency, not a submodule.
> > Again doing two things at once.  I think it'd be wiser to first do
> > the updates, then add minetest-sound-core, then add the snippets. 
> > WDYT?
>
> minetest-sound-core is introduced as a submodule for the
> basic_materials update. So the code for it is not present at all. If
> I first update basic_materials, then the tests will fail because it
> can’t find sound_core. Do you mean that I should first try to respect
> the will of the author and add it as a submodule (I don’t know how to
> do that) and then take it out as a separate package?
Hmm, perhaps I was confused by the commit message. If changes to the
package are necessary for the bump, it makes sense to do them in the
same commit as you did, but the wording would imply that it was
previously a submodule, which perhaps through strange git magic is no
longer available in the source (because it has been externalized).

As far as I can see however, minetest-sound-core is a slightly
different kind of package though. Like gnulib or GNOME's libgd, the
authors want it to be included as source code in the target mod. I
don't know how this makes a difference in Minetest mods, but there is a
chance it might. At the very least, it does not appear as though
minetest-sound-core is itself a mod (or is it?).

Toggle quote (6 lines)
> > ¹ I did not check for hash mismatches or ContenDB version
> > equivalence.
>
> I just looked up the date and found a the commit in github that was
> there (usually contentdb reports the next day as the github commit).
> Is there something more to do?
Ideally, you would check the JSON for the release, e.g.

@Maxime, looking at the result it'd be possible to fetch sources from
contentdb. Should we implement contentdb-fetch?

Toggle quote (10 lines)
> > ² As pointed out by Maxime elsewhere in the mailing list,
> > Minetest packages usually have flaky tags in their forges, so
> > someone needs to look closer at whether this is going to break in
> > the future.
>
> Yes. Mesecons was using version numbers and then the latest tag is a
> date. Given that it’s April 1st, maybe there’s something funny
> occuring here, but the changes around that day looked reasonable to
> my untrained eye. However, one thing I didn’t notice at first was the
> drop of the + in the license. Sorry.
I'm not sure whether that's the right version to bump to, sorry.
According to ContentDB the latest release is
27c3c515b49af91c1dbc427f31a820722854eb24, but that's untagged in git; I
suggest either making a git-version and adding an appropriate comment
or contacting upstream for clarification.

Cheers
M
M
Maxime Devos wrote on 29 May 2022 19:23
8d8c0d26817a558943786a3b7b0d9d55036a4863.camel@telenet.be
Liliana Marie Prikler schreef op zo 29-05-2022 om 18:39 [+0200]:
Toggle quote (3 lines)
> @Maxime, looking at the result it'd be possible to fetch sources from
> contentdb.  Should we implement contentdb-fetch?

I don't think a separate fetch method is required, url-fetch owuld

You can download a package by building one of the two URLs:


However, this makes --with-commit=... & --with-branch=... not work
so there are some downsides. I also don't know if these zips are
stable, would need to be investigated. Maybe worth it, dunno.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYpOr9RccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7lOSAQCE1DwFAXJrbTspzemAdv/i6K1q
IUczBDJzjcSjyEXavwD/ZNI7cmGjGCSPZxjXbOf1aiXrsSRqAC9867mPW0x3iAY=
=5iCO
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 29 May 2022 19:35
72144cc27957ea789099aca64515c6aefeeb9d04.camel@telenet.be
Liliana Marie Prikler schreef op zo 29-05-2022 om 18:39 [+0200]:
Toggle quote (4 lines)
> As far as I can see however, minetest-sound-core is a slightly
> different kind of package though.  Like gnulib or GNOME's libgd, the
> authors want it to be included as source code in the target mod.

IMO those need to be unbundled as well because of standard reasons for
unbundling. Though for gnulib there is the complication that some
gnulib-using software makes some important modifications to their
gnulib (e.g. guile modifies lib/localcharset.c).

Toggle quote (4 lines)
> I don't know how this makes a difference in Minetest mods, but there is a
> chance it might.  At the very least, it does not appear as though
> minetest-sound-core is itself a mod (or is it?).

mod.conf is missing, so it's not a mod by itself, from Minetest's
perspective (*).

Some differences though:

There exist (non-bundled) API mods, e.g. 
Minetest also has a standard and well-functioning package manager.

As such, it seems to me that it could conceivably be turned into an API
mod. Maybe if we explain nicely at
agree? Not sure though.

(*) However, Vivien's substitutions have effectively turned it into a
mod!

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYpOu2hccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7ircAQCJQ14Q6IZGYRFNoPitKHKCgNqU
HhlC1mkVdi5YogvyEAD+JbuxoHQJbKJvq/tI6iZKRPSR1rFrhEdrxCLZctQWTw4=
=xsVS
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 29 May 2022 19:44
883715af4b8a6150a5b72163be77eeffbdf33be5.camel@telenet.be
Vivien Kraus schreef op zo 29-05-2022 om 17:43 [+0200]:
Toggle quote (9 lines)
> Yes. Mesecons was using version numbers and then the latest tag is a
> date. Given that it’s April 1st, maybe there’s something funny
> occuring
> here, but the changes around that day looked reasonable to my
> untrained
> eye. However, one thing I didn’t notice at first was the drop of the
> +
> in the license. Sorry.

My guess is that upstream did some important fixes and decided to tag
it, upstream previously enabled the automatic system for automatically
making ContentDB releases for the latest commit every N days, upstream
then made another commit on the master branch on the same day, then
ContentDB notices the new commit and makes a releases based on the new
commit instead of the tagged commit.

Given that there is only a single date tag after 2017.03.05 but many
ContentDB releases, I don't think the date tags can be used.

More generally, I think it would be best to just use the ContentDB
releases (their version which might be a date, and the commit ContentDB
uses).

Greetings,
Maxime
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYpOxBBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7hAlAQCReTYI9fcXnAnihfapwys//yfc
uF0dPlsmQxr7r5k4pAEA52gxJSBMngyn/NF7EZw92Mw3EZaUj4mAfrpUiK4OqQY=
=OL6K
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 29 May 2022 19:48
fe84a297a38f9d100b1bf12392fd282baf304929.camel@telenet.be
Vivien Kraus schreef op zo 29-05-2022 om 17:43 [+0200]:
Toggle quote (3 lines)
> +       (patches '())
> +       (snippet '(begin #t))))

Why are the patches and snippet removed? Those snippets remove bundled
binaries and bundled source code of libraries. Libraries such as
bzip2, lzma, zlib, which presumably(?) weren't modified by Minetest.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYpOx0BccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7nbdAP9n0BX/gLbjPn2TcDc/kCrbU14R
MKvt81hlxXIUSoxo3wD/aN3OiPabU4JAXGSExqDar4mirGbguYZxB4siKDTqUwg=
=mPIZ
-----END PGP SIGNATURE-----


M
M
Maxime Devos wrote on 29 May 2022 19:49
c5f65c0e40dd1aea355aa97f3270ee68371ab086.camel@telenet.be
Liliana Marie Prikler schreef op zo 29-05-2022 om 15:48 [+0200]:
Toggle quote (2 lines)
> ¹ I did not check for hash mismatches or ContenDB version equivalence.

A linter that for each Minetest package looks at ContentDB for the
commit and verifies the commit on ContentDB and the commit in git-
reference would be nice. Future work ...

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYpOyGRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7thBAQCPp6A6DW3zt50j9akUE3L0TVlI
QVxZthlhhiON0qguRgD+K7Gm+WmpZcYDCok8hwEC71WZo9aMBlQQZN5NIviMyQQ=
=Lg7h
-----END PGP SIGNATURE-----


V
V
Vivien Kraus wrote on 29 May 2022 19:50
50c5af4236bdae5574ed59bf5cfaadbba6123cf7.camel@planete-kraus.eu
Hello Maxime,

Le dimanche 29 mai 2022 à 19:48 +0200, Maxime Devos a écrit :
Toggle quote (9 lines)
> Vivien Kraus schreef op zo 29-05-2022 om 17:43 [+0200]:
> > +       (patches '())
> > +       (snippet '(begin #t))))
>
> Why are the patches and snippet removed?  Those snippets remove
> bundled
> binaries and bundled source code of libraries.  Libraries such as
> bzip2, lzma, zlib, which presumably(?) weren't modified by Minetest.

This is because the original irrlicht downloads a tarball, but we must
work with a git origin for irrlicht-for-minetest. Since the bundled
source code is only provided in the tarball, we don’t need to remove
it.

Vivien
V
V
Vivien Kraus wrote on 5 Jun 2022 10:36
(name . Maxime Devos)(address . maximedevos@telenet.be)
721968ef33aabe47a37dae8d330a0c2c4a8a7a8c.camel@planete-kraus.eu
Hello,

Le dimanche 29 mai 2022 à 18:39 +0200, Liliana Marie Prikler a écrit :
Toggle quote (15 lines)
>
> > +    (source
> > +     (origin
> > +       (inherit (package-source irrlicht))
> > +       (method git-fetch)
> > +       (uri (git-reference
> > +             (url "https://github.com/minetest/irrlicht")
> > +             (commit version)))
> > +       (sha256
> > +        (base32
> > +         "1jxk1x0f60n8lrz8a6x62aj2pqg0qnbajsld3lqncvwsfbi0xjx1"))
> > +       (patches '())
> > +       (snippet '(begin #t))))
> Instead of inheriting and blanking patches and snippet, you could
> simply not inherit.
That is simpler, yes.

Toggle quote (4 lines)
>
> > +    (arguments
> > +     `(#:tests? #f))
> As with Irrlicht itself, you should write out "; no check target"
Yes.

Toggle quote (20 lines)
>
> > > > * gnu/packages/minetest.scm (minetest-basic-materials): Update to
> > > > 2022-03-28 (commet 9d55f991…).
> > > > [snippet]: Make sound_api_core a dependency, not a submodule.
> > > Again doing two things at once.  I think it'd be wiser to first do
> > > the updates, then add minetest-sound-core, then add the snippets. 
> > > WDYT?
> >
> > minetest-sound-core is introduced as a submodule for the
> > basic_materials update.  So the code for it is not present at all. 
> > If
> > I first update basic_materials, then the tests will fail because it
> > can’t find sound_core. Do you mean that I should first try to respect
> > the will of the author and add it as a submodule (I don’t know how to
> > do that) and then take it out as a separate package?
> Hmm, perhaps I was confused by the commit message.  If changes to the
> package are necessary for the bump, it makes sense to do them in the
> same commit as you did, but the wording would imply that it was
> previously a submodule, which perhaps through strange git magic is no
> longer available in the source (because it has been externalized).
I rewrote the comment and linked to the basic_material issue mentioned
by Maxime elsewhere in the thread:

Toggle quote (19 lines)
>
> > > ² As pointed out by Maxime elsewhere in the mailing list,
> > > Minetest packages usually have flaky tags in their forges, so
> > > someone needs to look closer at whether this is going to break in
> > > the future.
> >
> > Yes. Mesecons was using version numbers and then the latest tag is
> > a
> > date. Given that it’s April 1st, maybe there’s something funny
> > occuring here, but the changes around that day looked reasonable to
> > my untrained eye. However, one thing I didn’t notice at first was
> > the
> > drop of the + in the license. Sorry.
> I'm not sure whether that's the right version to bump to, sorry.
> According to ContentDB the latest release is
> 27c3c515b49af91c1dbc427f31a820722854eb24, but that's untagged in git;
> I
> suggest either making a git-version and adding an appropriate comment
> or contacting upstream for clarification.
Obviously yes that’s the commit to use.

So now the v3 looks like this. What do you think?

Vivien
From 040a1d0062e8433cff8bae2961aaa9f445dcf9ad Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 13:37:27 +0200
Subject: [PATCH v3 1/9] gnu: minetest: Add irrlicht-for-minetest.

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

Toggle diff (40 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index c431942473..6073f83d29 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -48,6 +48,31 @@ (define-module (gnu packages minetest)
#:use-module (guix build-system minetest)
#:use-module ((guix licenses) #:prefix license:))
+(define-public irrlicht-for-minetest
+ ;; The irrlicht fork and minetest evolve together. This may not be the
+ ;; latest release, but it is the release compatible with the latest minetest
+ ;; release.
+ (package
+ (inherit irrlicht)
+ (name "irrlicht-for-minetest")
+ (version "1.9.0mt5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minetest/irrlicht")
+ (commit version)))
+ (sha256
+ (base32
+ "1jxk1x0f60n8lrz8a6x62aj2pqg0qnbajsld3lqncvwsfbi0xjx1"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ; No check target.
+ (description
+ "This is a fork of irrlicht tailored for minetest.")
+ (home-page
+ "https://github.com/minetest/irrlicht")))
+
(define-public minetest
(package
(name "minetest")

base-commit: 62da327848311a75723f16642c20d2925919237e
--
2.36.1
From c9a22cc0d2d83777950704cec33911324308528e Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:14:15 +0200
Subject: [PATCH v3 3/9] gnu: minetest: Add minetest-sound-api-core.

* gnu/packages/minetest.scm (minetest-sound-api-core): New variable.
---
gnu/packages/minetest.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 2e6ae5fccf..20d1bff850 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -238,6 +238,36 @@ (define-public minetest-moreores
(license license:zlib)
(properties `((upstream-name . "Calinou/moreores")))))
+(define-public minetest-sound-api-core
+ (package
+ (name "minetest-sound-api-core")
+ ;; No tags, no releases. The author intended to let users use it as a
+ ;; submodules for other projects.
+ ;; https://github.com/mt-mods/basic_materials/issues/4
+ (version "2022-02-27")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mt-mods/sound_api_core")
+ (commit "6956e49e775f325116f8e0c643899c089c691e1e")))
+ (sha256
+ (base32 "1ys6g2skhkksa4cx9agxhsibj5js8z4y2q1ngis9ddr38p756pcy"))
+ (file-name (git-file-name name version))
+ (snippet
+ '(begin
+ (call-with-output-file "mod.conf"
+ (lambda (port)
+ (format port "\
+name = sound_api_core")))))))
+ (build-system minetest-mod-build-system)
+ (propagated-inputs '())
+ (home-page "https://github.com/mt-mods/sound_api_core")
+ (synopsis "Core for game agnostic sounds")
+ (description
+ "This library can be used to get some specific sounds, whatever the game.")
+ (license license:expat)))
+
(define-public minetest-basic-materials
(package
(name "minetest-basic-materials")
--
2.36.1
From 174ffc4333d2fc0825c59a08df39e886edcedb71 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:14:44 +0200
Subject: [PATCH v3 4/9] gnu: minetest-basic-materials: Update to 2022-03-28.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* gnu/packages/minetest.scm (minetest-basic-materials): Update to
2022-03-28 (commit 9d55f991…).
[snippet]: Make sound_api_core a dependency, not a submodule.
---
gnu/packages/minetest.scm | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)

Toggle diff (43 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 20d1bff850..b47f4003a1 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -272,21 +272,31 @@ (define-public minetest-basic-materials
(package
(name "minetest-basic-materials")
;; Upstream uses dates as version numbers.
- (version "2021-12-26")
+ (version "2022-03-28")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mt-mods/basic_materials")
- (commit "0893974b054a2191b5e2d5447ee4fc73f9c35f6a")))
+ (commit "9d55f9916d20779ecbf93c7e95dae8adebd2079b")))
(sha256
- (base32 "0p4nnfsjv7284zmgr781zkyjbp049wp1jy1l7n585zzj181ns57p"))
- (file-name (git-file-name name version))))
+ (base32 "0nzx5mdw26mk2by14hxyvbqckgz8k67vlh2ch30skssvh4984bjw"))
+ (file-name (git-file-name name version))
+ (snippet
+ '(begin
+ (use-modules (guix build utils))
+ (substitute* "mod.conf"
+ (("optional_depends =")
+ "depends = sound_api_core
+optional_depends ="))
+ (substitute* "nodes.lua"
+ (("basic_materials.modpath \\.\\. \"/sound_api_core/init.lua\"")
+ "minetest.get_modpath(\"sound_api_core\") .. \"/init.lua\""))))))
(build-system minetest-mod-build-system)
(propagated-inputs
;; basic_materials:silver_wire cannot be crafted without
;; moreores:silver_ingot.
- (list minetest-moreores))
+ (list minetest-moreores minetest-sound-api-core))
(home-page (minetest-topic 21000))
(synopsis "Some \"basic\" materials and items for other Minetest mods to use")
(description
--
2.36.1
From 41dd477c6de5873111cb8ba02e43ac5c6bc187ae Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:20:09 +0200
Subject: [PATCH v3 5/9] gnu: minetest-homedecor-modpack: Update to 2022-05-18.

* gnu/packages/minetest.scm (minetest-homedecor-modpack): Update to
2022-05-18 (commit ID from may 17).
---
gnu/packages/minetest.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index b47f4003a1..cca33a204f 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -369,15 +369,15 @@ (define-public minetest-homedecor-modpack
(name "minetest-homedecor-modpack")
;; Upstream doesn't tag releases, so use the release title from
;; ContentDB as version.
- (version "2021-12-26")
+ (version "2022-05-18")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mt-mods/homedecor_modpack")
- (commit "a8fceb249d63f081855cfba1fbd6e2aa86365224")))
+ (commit "5ffdc26673169e05492141709fbb18e8fb6e5937")))
(sha256
- (base32 "1lqcycgkykd86853jjr50m1qv2as2dlqf52gbds4mhiafslnp9mi"))
+ (base32 "03pf254r3hnznklw7lf3q4rzqg0a1y4c9rjjhzssf1q7ai5pdrkn"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
--
2.36.1
From 8f89600bf6740a92390f1f44d7c9fc11d77aa104 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:27:44 +0200
Subject: [PATCH v3 6/9] gnu: minetest-mesecons: Update to 2022-04-01.

* gnu/packages/minetest.scm (minetest-mesecons): Update to 2022-05-12.
[license]: The project decided to drop the +.
---
gnu/packages/minetest.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index cca33a204f..06ffc75667 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -396,8 +396,8 @@ (define-public minetest-homedecor-modpack
(define-public minetest-mesecons
;; The release on ContentDB does not have its own version number.
- (let ((commit "db5879706d04d3480bc4863ce0c03fa73e5f10c7")
- (revision "0"))
+ (let ((commit "27c3c515b49af91c1dbc427f31a820722854eb24")
+ (revision "63"))
(package
(name "minetest-mesecons")
(version (git-version "1.2.1" revision commit))
@@ -408,7 +408,7 @@ (define-public minetest-mesecons
(url "https://github.com/minetest-mods/mesecons")
(commit commit)))
(sha256
- (base32 "04m9s9l3frw1lgki41hgvjsw2zkrvfv0sy750b6j12arzb3lv645"))
+ (base32 "1l0kwjj8ns8hv6z520g6ph5swknar336dbi5qr3dfsy18ydk1j92"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page "https://mesecons.net")
--
2.36.1
From 9a604001dc3daebf3ac9fe76313ca7f7b2118ec9 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:30:23 +0200
Subject: [PATCH v3 7/9] gnu: minetest-mineclone: Update to 0.75.0.

* gnu/packages/minetest.scm (minetest-mineclone): Update to 0.75.0.
---
gnu/packages/minetest.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 06ffc75667..236abc6f01 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -433,16 +433,16 @@ (define-public minetest-mesecons
(define-public minetest-mineclone
(package
(name "minetest-mineclone")
- (version "0.71.0")
+ (version "0.75.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://git.minetest.land/Wuzzy/MineClone2")
+ (url "https://git.minetest.land/MineClone2/MineClone2")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
- "0qm809dqvxc7pa1cr9skmglq9vrbq5hhm4c4m5yi46ldh1v96dgf"))))
+ "10apja8bp8wmrbjlxg3gvrw5bdc8mizcngvnfi2ff790f6bsc5ip"))))
(build-system copy-build-system)
(arguments
`(#:install-plan
--
2.36.1
From 32a4cbd7682b3784fe6c247c85ac43bca38aa9d0 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:35:15 +0200
Subject: [PATCH v3 8/9] gnu: minetest-technic: Update to 2022-02-06.

* gnu/packages/minetest.scm (minetest-technic): Update to 2022-02-06.
---
gnu/packages/minetest.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 236abc6f01..5511e6f640 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -546,15 +546,15 @@ (define-public minetest-technic
(name "minetest-technic")
;; Upstream doesn't keep version numbers, so use the release
;; date on ContentDB instead.
- (version "2021-09-11")
+ (version "2022-02-06")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/minetest-mods/technic")
- (commit "140701c99efb60d81bf63c9a9087720b21c414ca")))
+ (commit "d2b68a6bef53e34e166deadd64e02b58bcae59a1")))
(sha256
- (base32 "1fkhcv8sg3kxfadc2jnfdw6bxxkkkcczsh4bf62rgwwmv2ky7zrx"))
+ (base32 "0vmi1y39q0x39s9w0hhgi979a4hf6n1ah5jaazjvmjf02pjcvvy1"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(propagated-inputs
--
2.36.1
From e7c18085594f7808ea8ef0359d2e020b21498cf0 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sun, 29 May 2022 14:43:28 +0200
Subject: [PATCH v3 9/9] gnu: minetest-advtrains: Update to 2.4.1.

* gnu/packages/minetest.scm (minetest-advtrains): Update to 2.4.1.
---
gnu/packages/minetest.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 5511e6f640..da6e556f4e 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -721,7 +721,7 @@ (define-public minetest-unified-inventory
(define-public minetest-advtrains
(package
(name "minetest-advtrains")
- (version "2.3.1")
+ (version "2.4.1")
(source
(origin
(method git-fetch)
@@ -729,7 +729,7 @@ (define-public minetest-advtrains
(url "https://git.bananach.space/advtrains.git")
(commit (string-append "release-" version))))
(sha256
- (base32 "1ijqlchh269jpvmgmdmdvy3nsnk0bszkvvcqk6vaysvxam695ggw"))
+ (base32 "1q2jj8181pjgsakl28xadv0z4sszq1lb5rpgj070wr0px6mp447p"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
(home-page "http://advtrains.de/")
--
2.36.1
L
L
Liliana Marie Prikler wrote on 5 Jun 2022 12:14
(name . Maxime Devos)(address . maximedevos@telenet.be)
c91f2678e2f726109bbb86be67c31356b288c330.camel@gmail.com
Am Sonntag, dem 05.06.2022 um 10:36 +0200 schrieb Vivien Kraus:
Toggle quote (1 lines)
> So now the v3 looks like this. What do you think?
I cleaned up the commits a little, verified that all the mods build,
and pushed.

Cheers
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 55703@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 55703
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch