* bug#40319: Minetest can't retrieve packages for additional content due to SSL certificate either invalid or not available
@ 2020-03-29 16:17 pkill9
2022-01-22 14:20 ` Maxime Devos
0 siblings, 1 reply; 3+ messages in thread
From: pkill9 @ 2020-03-29 16:17 UTC (permalink / raw)
To: 40319
To reproduce, run Minetest, then go to Content > Browse Online Content,
and it says 'No packages could be retrieved', and in the terminal it
returns `ERROR[Main]:
https://content.minetest.net/api/packages/?type=mod&type=game&type=txp&protocol_version=38&hide=nonfree&hide=desktop_default
not found (SSL peer certificate or SSH remote key was not OK) (response
code 0)`
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#40319: Minetest can't retrieve packages for additional content due to SSL certificate either invalid or not available
2020-03-29 16:17 bug#40319: Minetest can't retrieve packages for additional content due to SSL certificate either invalid or not available pkill9
@ 2022-01-22 14:20 ` Maxime Devos
2022-01-22 15:05 ` Maxime Devos
0 siblings, 1 reply; 3+ messages in thread
From: Maxime Devos @ 2022-01-22 14:20 UTC (permalink / raw)
To: 40319; +Cc: pkill9
[-- Attachment #1.1: Type: text/plain, Size: 1084 bytes --]
Hi,
I can confirm in a pure environment:
1. guix shell --pure minetest le-certs -- minetest
2. click on the +
3. In the GUI: ‘No packages could be retrieved’.
In the terminal:
2022-01-22 13:19:05: ERROR[Main]:
https://content.minetest.net/api/packages/?type=mod&type=game&type=txp&protocol_version=39&engine_version=5.4.1&hide=nonfree&hide=desktop_default
not found (SSL peer certificate or SSH remote key was not OK) (response
code 0)
Minetest uses curl HTTPS, so as a fix, I tried adding
(native-search-paths
(package-native-search-paths curl))
to the package definition of minetest, such that SSL_CERT_FILE/DIR
would be set.
To test:
1. apply the patch (see attachement)
2. ./pre-guix shell --pure minetest le-certs -- minetest
3. click on the +
4. In the GUI, a list of downloadable mods is shown.
The first patch contains the actual fix, the later patches do some
‘cleaning’. I'll sent a mail later confirming that the later patches
don't break Minetest (assuming that's actually the case).
Greetings,
Maxime.
[-- Attachment #1.2: 0001-gnu-minetest-Find-TLS-certificates.patch --]
[-- Type: text/x-patch, Size: 2805 bytes --]
From d4f83265f4638b69bb62338159ff251d61889e9d Mon Sep 17 00:00:00 2001
From: Maxime Devos <maximedevos@telenet.be>
Date: Sat, 22 Jan 2022 13:24:22 +0000
Subject: [PATCH 1/3] gnu: minetest: Find TLS certificates.
* gnu/packages/minetest.scm (minetest)[native-search-paths]: Add curl's search paths.
Fixes: <https://issues.guix.gnu.org/4031>.
Reported-by: pkill9 <pkill9@runbox.com>
---
gnu/packages/minetest.scm | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index c431942473..c6762bb1f2 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Trevor Hass <thass@okstate.edu>
;;; Copyright © 2020, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
-;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
@@ -109,12 +109,16 @@ (define-public minetest
(setenv "HOME" "/tmp")
(invoke "src/minetest" "--run-unittests")))))))
(native-search-paths
- (list (search-path-specification
- (variable "MINETEST_SUBGAME_PATH")
- (files '("share/minetest/games")))
- (search-path-specification
- (variable "MINETEST_MOD_PATH")
- (files '("share/minetest/mods")))))
+ (append (list (search-path-specification
+ (variable "MINETEST_SUBGAME_PATH")
+ (files '("share/minetest/games")))
+ (search-path-specification
+ (variable "MINETEST_MOD_PATH")
+ (files '("share/minetest/mods"))))
+ ;; Make sure that Minetest can find TLS certificates such that
+ ;; built-in mod downloader/installer can work. See
+ ;; <https://issues.guix.gnu.org/40319>.
+ (package-native-search-paths curl)))
(native-inputs
(list pkg-config))
(inputs
base-commit: 1bd250783d7118c3101dd2a6e090f3d6904b24a0
prerequisite-patch-id: 8e682d35d35a9e0268c00cc009fa5b394d7adc94
prerequisite-patch-id: 7a183c58627b7225154f72a76a1c241c5b6cd419
prerequisite-patch-id: ae89e00772cf3737e32b3b7bd191bfbeaaf5d0ed
prerequisite-patch-id: 0c52e17c64d9c6a43374c31557f2f529d7179052
prerequisite-patch-id: cbb90155003134235f98b750f5e4de2096c9e414
prerequisite-patch-id: ff8b567c0b58018b9c2085a324ce02711eadc77e
prerequisite-patch-id: 6383c3c10d0c47bf13ee87560633d6ec8c89e7df
prerequisite-patch-id: eeb5c4446896b7d5209de79e7b9a2486a9a5dadb
prerequisite-patch-id: 2aa957d39e26f32c6c69cd2dfe0ceb75e6a78d14
--
2.34.0
[-- Attachment #1.3: 0002-gnu-minetest-Remove-input-labels.patch --]
[-- Type: text/x-patch, Size: 5347 bytes --]
From 8ee40a95a6ce6eb654306c0a482ed78dcf1aad21 Mon Sep 17 00:00:00 2001
From: Maxime Devos <maximedevos@telenet.be>
Date: Sat, 22 Jan 2022 13:40:44 +0000
Subject: [PATCH 2/3] gnu: minetest: Remove input labels.
Converting the phases from a S-exp to a G-exp is strictly speaking not
necessary, but it seemed nice for consistency with #:configure-flags.
Likewise for the origin snippet.
* gnu/packages/minetest.scm (minetest)[arguments]: Remove labels.
(minetest)[source]{snippet}: Remove trailing #t and convert to G-exp.
---
gnu/packages/minetest.scm | 73 +++++++++++++++++++--------------------
1 file changed, 35 insertions(+), 38 deletions(-)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index c6762bb1f2..c3ca443395 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -42,6 +42,7 @@ (define-module (gnu packages minetest)
#:use-module (gnu packages xorg)
#:use-module (guix packages)
#:use-module (guix git-download)
+ #:use-module (guix gexp)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system trivial)
@@ -66,48 +67,44 @@ (define-public minetest
(search-patches
"minetest-add-MINETEST_MOD_PATH.patch"))
(snippet
- '(begin
- ;; Delete bundled libraries.
- (delete-file-recursively "lib")
- #t))))
+ ;; Delete bundled libraries.
+ #~(delete-file-recursively "lib"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
- (list "-DRUN_IN_PLACE=0"
- "-DENABLE_FREETYPE=1"
- "-DENABLE_GETTEXT=1"
- "-DENABLE_SYSTEM_JSONCPP=TRUE"
- (string-append "-DIRRLICHT_INCLUDE_DIR="
- (assoc-ref %build-inputs "irrlicht")
- "/include/irrlicht")
- (string-append "-DCURL_INCLUDE_DIR="
- (assoc-ref %build-inputs "curl")
- "/include/curl"))
+ ,#~(let ((irrlicht #$(lookup-package-input this-package "irrlicht"))
+ (curl #$(lookup-package-input this-package "curl")))
+ (list "-DRUN_IN_PLACE=0"
+ "-DENABLE_FREETYPE=1"
+ "-DENABLE_GETTEXT=1"
+ "-DENABLE_SYSTEM_JSONCPP=TRUE"
+ (string-append "-DIRRLICHT_INCLUDE_DIR=" irrlicht
+ "/include/irrlicht")
+ (string-append "-DCURL_INCLUDE_DIR=" curl "/include/curl")))
#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-sources
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "src/filesys.cpp"
- ;; Use store-path for "rm" instead of non-existing FHS path.
- (("\"/bin/rm\"")
- (string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\"")))
- (substitute* "src/CMakeLists.txt"
- ;; Let minetest binary remain in build directory.
- (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") ""))
- (substitute* "src/unittest/test_servermodmanager.cpp"
- ;; do no override MINETEST_SUBGAME_PATH
- (("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);")
- "(void)0;"))
- (setenv "MINETEST_SUBGAME_PATH"
- (string-append (getcwd) "/games")) ; for check
- #t))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- ;; Thanks to our substitutions, the tests should also run
- ;; when invoked on the target outside of `guix build'.
- (when tests?
- (setenv "HOME" "/tmp")
- (invoke "src/minetest" "--run-unittests")))))))
+ ,#~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/filesys.cpp"
+ ;; Use store-path for "rm" instead of non-existing FHS path.
+ (("\"/bin/rm\"")
+ (string-append "\"" (search-input-file inputs "bin/rm") "\"")))
+ (substitute* "src/CMakeLists.txt"
+ ;; Let minetest binary remain in build directory.
+ (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") ""))
+ (substitute* "src/unittest/test_servermodmanager.cpp"
+ ;; do no override MINETEST_SUBGAME_PATH
+ (("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);")
+ "(void)0;"))
+ (setenv "MINETEST_SUBGAME_PATH"
+ (string-append (getcwd) "/games")))) ; for check
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ ;; Thanks to our substitutions, the tests should also run
+ ;; when invoked on the target outside of `guix build'.
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (invoke "src/minetest" "--run-unittests")))))))
(native-search-paths
(append (list (search-path-specification
(variable "MINETEST_SUBGAME_PATH")
--
2.34.0
[-- Attachment #1.4: 0003-gnu-minetest-data-Switch-to-copy-build-system.patch --]
[-- Type: text/x-patch, Size: 1823 bytes --]
From f543ece46f0195b6a44493ed6253e4891669baee Mon Sep 17 00:00:00 2001
From: Maxime Devos <maximedevos@telenet.be>
Date: Sat, 22 Jan 2022 13:52:46 +0000
Subject: [PATCH 3/3] gnu: minetest-data: Switch to 'copy-build-system'.
This makes the package definition much simpler.
* gnu/packages/minetest.scm (minetest-data)[native-inputs]{source}: Remove.
[build-system]: Switch to 'copy-build-system'.
[arguments]<#:modules>: Remove.
[arguments]<#:builder>: Replace by an equivalent #:install-plan.
---
gnu/packages/minetest.scm | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm
index c3ca443395..b5ba19c951 100644
--- a/gnu/packages/minetest.scm
+++ b/gnu/packages/minetest.scm
@@ -161,21 +161,9 @@ (define minetest-data
(sha256
(base32
"0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4"))))
- (build-system trivial-build-system)
- (native-inputs
- `(("source" ,source)))
+ (build-system copy-build-system)
(arguments
- `(#:modules ((guix build utils))
- #:builder (begin
- (use-modules (guix build utils))
- (let ((install-dir (string-append
- %output
- "/share/minetest/games/minetest_game")))
- (mkdir-p install-dir)
- (copy-recursively
- (assoc-ref %build-inputs "source")
- install-dir)
- #t))))
+ (list #:install-plan #~'(("." "share/minetest/games/minetest_game"))))
(synopsis "Main game data for the Minetest game engine")
(description
"Game data for the Minetest infinite-world block sandbox game.")
--
2.34.0
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
^ permalink raw reply related [flat|nested] 3+ messages in thread
* bug#40319: Minetest can't retrieve packages for additional content due to SSL certificate either invalid or not available
2022-01-22 14:20 ` Maxime Devos
@ 2022-01-22 15:05 ` Maxime Devos
0 siblings, 0 replies; 3+ messages in thread
From: Maxime Devos @ 2022-01-22 15:05 UTC (permalink / raw)
To: 40319; +Cc: pkill9
[-- Attachment #1: Type: text/plain, Size: 506 bytes --]
Maxime Devos schreef op za 22-01-2022 om 15:20 [+0100]:
> To test:
>
> 1. apply the patch (see attachement)
> 2. ./pre-guix shell --pure minetest le-certs -- minetest
> 3. click on the +
> 4. In the GUI, a list of downloadable mods is shown.
>
> The first patch contains the actual fix, the later patches do some
> ‘cleaning’. I'll sent a mail later confirming that the later patches
> don't break Minetest (assuming that's actually the case).
It seems to work.
Greetings,
Maxime
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-01-22 15:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-29 16:17 bug#40319: Minetest can't retrieve packages for additional content due to SSL certificate either invalid or not available pkill9
2022-01-22 14:20 ` Maxime Devos
2022-01-22 15:05 ` Maxime Devos
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.