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 <viv...@planete-kraus.eu> 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 <viv...@planete-kraus.eu> 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 <viv...@planete-kraus.eu> 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 <viv...@planete-kraus.eu> 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