Le dimanche 19 septembre 2021 à 21:11 +0200, Maxime Devos a écrit :
> I found a use of "config.txt" (
> https://forum.minetest.net/viewtopic.php?t=2290),
> "settingstypes.txt" (
> https://github.com/NathanSalapat/more_fire/blob/master/settingtypes.txt
> )
> and another "_config.txt" (
> https://forum.minetest.net/viewtopic.php?t=25275).
>
> "settingstypes.txt" is already in mod-install-plan (guix build
> minetest-build-system).
> I suppose you can add "config.txt" and "_config.txt" as well.
OK.
> Vivien Kraus schreef op zo 19-09-2021 om 20:59 [+0200]:
> > Le dimanche 19 septembre 2021 à 20:54 +0200, Vivien Kraus a écrit :
> > > I forgot to say, I could not figure out why the package did not
> > > build,
> > > because the check phase in the minetest build system stops after
> the
> > > first error line of output, which only stated that there was a
> > > problem
> > > with init.lua. I had to disable the error line detection in the
> build
> > > system implementation to know it was a problem with this file.
> So, I
> > > figured out that what we need to do is gather all error lines,
> until
> > > either the server stops or starts despite the error, and fail
> only
> > > then.
> > >
> > > I prefer the exceptions API because it can handle multiple lines
> of
> > > errors while displaying them cleanly (unlike the error function,
> that
> > > displays an ugly ~a and prints the arguments on 1 line). But,
> it’s
> > > only
> > > for the "new" guile 3.0.
>
> This modified error reporting seems reasonable to me, but I haven't
> tested
> it.
I link my output without 0001 (fail at first error line) nor 0002 (fail
because of _config.txt): the build fails without a mention of
_config.txt; and my output just without 0002: the build fails more
nicely. Also, all other packages returned by "guix search minetest"
still build successfully.
Vivien
From 154ff4665ededc1af5d088987362975b623d8303 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email protected]>
Date: Sun, 19 Sep 2021 17:00:45 +0200
Subject: [PATCH 4/4] gnu: minetest-basic-materials: Depend on
minetest-moreores.
* minetest.scm (minetest-basic-materials): Add minetest-moreores as a propagated input.
---
gnu/packages/minetest.scm | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index 0730de7351..189889f890 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -221,6 +221,10 @@ numeric identifier TOPIC-ID on the official Minetest forums."
(base32 "0v6l3lrjgshy4sccjhfhmfxc3gk0cdy73qb02i9wd2vw506v5asx"))
(file-name (git-file-name name version))))
(build-system minetest-mod-build-system)
+ (propagated-inputs
+ ;; basic_materials:silver_wire cannot be crafted without
+ ;; moreores:silver_ingot.
+ `(("minetest-moreores" ,minetest-moreores)))
(home-page (minetest-topic 21000))
(synopsis "Some \"basic\" materials and items for other Minetest mods to use")
(description
--
2.33.0
From 60eb61bf110a9a3702ae6a7d35efc347363d73f1 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email protected]>
Date: Sun, 19 Sep 2021 16:58:53 +0200
Subject: [PATCH 3/4] gnu: Add minetest-moreores.
* gnu/packages/minetest.scm (minetest-moreores): New variable.
---
gnu/packages/minetest.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index fd1439d4d2..0730de7351 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -187,6 +187,25 @@ numeric identifier TOPIC-ID on the official Minetest forums."
(string-append "https://forum.minetest.net/viewtopic.php?t="
(number->string topic-id)))
+(define-public minetest-moreores
+ (package
+ (name "minetest-moreores")
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minetest-mods/moreores")
+ (commit "0b6f669df4c9b7771c03e0e6ba8effb471cdfcae")))
+ (sha256 (base32 "1chfqbc6bb27aacjc67j5l5wcdvmcsvk2rfmangipd7nwini3y34"))
+ (file-name (git-file-name name version))))
+ (build-system minetest-mod-build-system)
+ (home-page (minetest-topic 549))
+ (synopsis "Adds new ore types")
+ (description "More ores for Minetest.")
+ (license license:zlib)
+ (properties `((upstream-name . "Calinou/moreores")))))
+
(define-public minetest-basic-materials
(package
(name "minetest-basic-materials")
--
2.33.0
From a2de70e505e5e541a516cb7f2b8f46e58c0d918f Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email protected]>
Date: Sun, 19 Sep 2021 22:42:49 +0200
Subject: [PATCH 2/4] guix: minetest-build-system: Also install config.txt and
_config.txt
* minetest-build-system.scm (mod-install-plan): Add config.txt and _config.txt to the list of installed files.
---
guix/build/minetest-build-system.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/guix/build/minetest-build-system.scm b/guix/build/minetest-build-system.scm
index 985859036c..79e5a67b89 100644
--- a/guix/build/minetest-build-system.scm
+++ b/guix/build/minetest-build-system.scm
@@ -41,7 +41,7 @@
;; See <https://github.com/minetest/minetest/blob/master/doc/lua_api.txt>
;; for an incomple list of files that can be found in mods.
#:include ("mod.conf" "modpack.conf" "settingtypes.txt" "depends.txt"
- "description.txt")
+ "description.txt" "config.txt" "_config.txt")
#:include-regexp (".lua$" ".png$" ".ogg$" ".obj$" ".b3d$" ".tr$"
".mts$"))))
--
2.33.0
From 8daeded7ce3eeb02a1b239577fd26ffdf6a2b247 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <[email protected]>
Date: Sun, 19 Sep 2021 20:03:10 +0200
Subject: [PATCH 1/4] guix: minetest-build-system: Report all error lines
before failing
* minetest-build-system.scm (check): Report all error lines before failing.
---
guix/build/minetest-build-system.scm | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/guix/build/minetest-build-system.scm b/guix/build/minetest-build-system.scm
index 477cc3d1d0..985859036c 100644
--- a/guix/build/minetest-build-system.scm
+++ b/guix/build/minetest-build-system.scm
@@ -23,6 +23,7 @@
#:use-module (ice-9 rdelim)
#:use-module (ice-9 receive)
#:use-module (ice-9 regex)
+ #:use-module (ice-9 exceptions)
#:use-module ((guix build gnu-build-system) #:prefix gnu:)
#:use-module ((guix build copy-build-system) #:prefix copy:)
#:export (%standard-phases
@@ -199,20 +200,25 @@ auth_backend = sqlite3
(define (stop? line)
(and (string? line)
(string-contains line "ACTION[Server]: singleplayer [127.0.0.1] joins game.")))
- (let loop ()
- (match (read-line port)
- ((? error? line)
- (error "minetest raised an error: ~a" line))
- ((? stop?)
+ (let loop ((errors '()))
+ (match `(,(read-line port) ,errors)
+ (((? error? line) errors)
+ (loop `(,line ,@errors)))
+ (((? stop?) ())
(kill pid SIGINT)
(close-port port)
(waitpid pid))
- ((? string? line)
+ (((? eof-object?) ())
+ (error "minetest didn't start"))
+ (((or (? stop?) (? eof-object?)) errors)
+ (raise-exception
+ (apply make-exception
+ (map make-exception-with-message
+ (reverse errors)))))
+ (((? string? line) errors)
(display line)
(newline)
- (loop))
- ((? eof-object?)
- (error "minetest didn't start"))))))))
+ (loop errors))))))))
(define %standard-phases
(modify-phases gnu:%standard-phases
--
2.33.0
2021-09-19 20:52:06: INFO[Main]: Mod "farming" loaded after 2 ms
Backtrace:
7 (primitive-load "/gnu/store/xrvsdyq9f8wc3am40kmc9yms8c6…")
In ice-9/eval.scm:
191:35 6 (_ _)
In guix/build/gnu-build-system.scm:
838:2 5 (gnu-build #:source _ #:outputs _ #:inputs _ #:phases . #)
In ice-9/boot-9.scm:
1736:10 4 (with-exception-handler _ _ #:unwind? _ # _)
In srfi/srfi-1.scm:
857:16 3 (every1 #<procedure 7fffeeb28640 at guix/build/gnu-bui…> …)
In guix/build/gnu-build-system.scm:
847:30 2 (_ _)
In guix/build/minetest-build-system.scm:
205:13 1 (check #:outputs _ #:tests? _)
In ice-9/boot-9.scm:
1669:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
minetest raised an error: ~a "2021-09-19 20:52:06: ERROR[Main]: ModError:
Failed to load and run script from
/gnu/store/fa39r25wskhgv8mzpknc47jjpc5kl1kh-minetest-moreores-2.1.0/share/minetest/mods/moreores/init.lua:"
builder for
`/gnu/store/xij2pirv5ycy0xpj6l3alin229r5xj4l-minetest-moreores-2.1.0.drv'
failed with exit code 1
build of
/gnu/store/xij2pirv5ycy0xpj6l3alin229r5xj4l-minetest-moreores-2.1.0.drv failed
View build log at
'/var/log/guix/drvs/xi/j2pirv5ycy0xpj6l3alin229r5xj4l-minetest-moreores-2.1.0.drv.bz2'.
guix build: error: build of
`/gnu/store/xij2pirv5ycy0xpj6l3alin229r5xj4l-minetest-moreores-2.1.0.drv' failed
2021-09-19 20:46:33: INFO[Main]: Mod "farming" loaded after 2 ms
2021-09-19 20:46:33: INFO[Main]: Audio: Deinitializing...
2021-09-19 20:46:33: INFO[Main]: Audio: Deinitialized.
2021-09-19 20:46:33: ACTION[Main]: Server: Shutting down
2021-09-19 20:46:33: INFO[Main]: Server: Stopping and waiting threads
2021-09-19 20:46:33: INFO[Main]: Server: Threads stopped
2021-09-19 20:46:33: INFO[Main]: BanManager: saving to ./ipban.txt
2021-09-19 20:46:33: INFO[Main]: Server: Deinitializing scripting
2021-09-19 20:46:33: INFO[Main]: saveMapMeta: mapgen_params not present! Server
startup was probably interrupted.
2021-09-19 20:46:33: INFO[Main]: ServerMap: Saved map to .
2021-09-19 20:46:33: INFO[Main]: ~TextureSource() before cleanup: 4 after: 2
2021-09-19 20:46:33: INFO[Main]: Irrlicht resources after cleanup:
2021-09-19 20:46:33: INFO[Main]: Remaining meshes : 0
2021-09-19 20:46:33: INFO[Main]: Remaining textures : 2
2021-09-19 20:46:33: INFO[Main]: 0:#DefaultFont
2021-09-19 20:46:33: INFO[Main]:
1:TTFontGlyphPage_Arimo.Regular.16_0
2021-09-19 20:46:33: INFO[Main]: Remaining materials: 24 (note: irrlicht
doesn't support removing renderers)
2021-09-19 20:46:33: INFO[Main]: Audio: Global Deinitialized.
Backtrace:
7 (primitive-load "/gnu/store/xrvsdyq9f8wc3am40kmc9yms8c6…")
In ice-9/eval.scm:
191:35 6 (_ _)
In guix/build/gnu-build-system.scm:
838:2 5 (gnu-build #:source _ #:outputs _ #:inputs _ #:phases . #)
In ice-9/boot-9.scm:
1736:10 4 (with-exception-handler _ _ #:unwind? _ # _)
In srfi/srfi-1.scm:
857:16 3 (every1 #<procedure 7fffeeb2df40 at guix/build/gnu-bui…> …)
In guix/build/gnu-build-system.scm:
847:30 2 (_ _)
In guix/build/minetest-build-system.scm:
214:13 1 (check #:outputs _ #:tests? _)
In ice-9/boot-9.scm:
1669:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
ERROR:
1. &message: "2021-09-19 20:46:33: ERROR[Main]: ModError: Failed to load and
run script from
/gnu/store/qsikdr33697sm16pfxcvf41ijkwwz8d2-minetest-moreores-2.1.0/share/minetest/mods/moreores/init.lua:"
2. &message: "2021-09-19 20:46:33: ERROR[Main]:
/gnu/store/qsikdr33697sm16pfxcvf41ijkwwz8d2-minetest-moreores-2.1.0/share/minetest/mods/moreores/_config.txt:
No such file or directory"
3. &message: "2021-09-19 20:46:33: ERROR[Main]: stack traceback:"
4. &message: "2021-09-19 20:46:33: ERROR[Main]: \t[C]: in function 'dofile'"
5. &message: "2021-09-19 20:46:33: ERROR[Main]:
\t...est-moreores-2.1.0/share/minetest/mods/moreores/init.lua:18: in main chunk"
6. &message: "2021-09-19 20:46:33: ERROR[Main]: Check debug.txt for details."
builder for
`/gnu/store/qi671jqsaq4k2ah1hr48lbrkzxij9f59-minetest-moreores-2.1.0.drv'
failed with exit code 1
build of
/gnu/store/qi671jqsaq4k2ah1hr48lbrkzxij9f59-minetest-moreores-2.1.0.drv failed
View build log at
'/var/log/guix/drvs/qi/671jqsaq4k2ah1hr48lbrkzxij9f59-minetest-moreores-2.1.0.drv.bz2'.
guix build: error: build of
`/gnu/store/qi671jqsaq4k2ah1hr48lbrkzxij9f59-minetest-moreores-2.1.0.drv' failed