Ricardo Wurmus <rek...@elephly.net> writes: > Zheng Junjie <zhengjun...@iscas.ac.cn> writes: > >> This patch should fix it. > > Thank you for the patch! > >> From f41bf905cfb1395a53cfc0d79315148ac9ba0a79 Mon Sep 17 00:00:00 2001 >> Message-ID: >> <f41bf905cfb1395a53cfc0d79315148ac9ba0a79.1721059686.git.zhengjun...@iscas.ac.cn> >> From: Zheng Junjie <zhengjun...@iscas.ac.cn> >> Date: Tue, 16 Jul 2024 00:06:39 +0800 >> Subject: [PATCH] gnu: python-requests-next: Fix build. >> >> * gnu/packages/python-web.scm (python-requests-next): Fix build. >> [native-inputs]: Add nss-certs. >> [arguments]: Add set-SSL_CERT_FILE phase. >> <#:modules>: Adjust it. > > This seems rather complicated for something that may have to be added to > a number of packages. Would it make sense to create a package > containing this bundle file, set a search path specification, and add > that to the packages needing it?
Indeed, please try these patches
From 0ad24103d82147eece6bd546fc31a9f81e2d17fd Mon Sep 17 00:00:00 2001 Message-ID: <0ad24103d82147eece6bd546fc31a9f81e2d17fd.1721063765.git.zhengjun...@iscas.ac.cn> From: Zheng Junjie <zhengjun...@iscas.ac.cn> Date: Tue, 16 Jul 2024 01:13:35 +0800 Subject: [PATCH 1/2] gnu: Add nss-certs-for-test. * gnu/packages/certs.scm (nss-certs-for-test): New variable. Change-Id: Id808e058835556717a6585ecd86dd14d0d2a5039 --- gnu/packages/certs.scm | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 449be0b35a..e2de6b168b 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2021 Maxim Cournoyer <maxim.courno...@gmail.com> ;;; Copyright © 2021 Efraim Flashner <efr...@flashner.co.il> ;;; Copyright © 2021 Raghav Gururajan <r...@raghavgururajan.name> +;;; Copyright © 2024 Zheng Junjie <873216...@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ (define-module (gnu packages certs) #:use-module ((guix licenses) #:prefix license:) + #:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE)) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix download) @@ -188,6 +190,49 @@ (define-public nss-certs (home-page "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS") (license license:mpl2.0))) +(define-public nss-certs-for-test + (hidden-package + (package + (inherit nss-certs) + (name "nss-certs-for-test") + (source #f) + (build-system trivial-build-system) + (native-inputs (list nss-certs)) + (inputs '()) + (propagated-inputs '()) + (arguments + (list #:modules '((guix build utils) + (rnrs io ports) + (srfi srfi-26)) + #:builder + #~(begin + (use-modules (guix build utils) + (rnrs io ports) + (srfi srfi-26)) + (define certs-dir (string-append #$output "/etc/ssl/certs/")) + (define ca-files + (find-files (string-append #+(this-package-native-input + "nss-certs") + "/etc/ssl/certs") + (lambda (file stat) + (string-suffix? ".pem" file)))) + (define (concatenate-files files result) + "Make RESULT the concatenation of all of FILES." + (define (dump file port) + (display (call-with-input-file file get-string-all) port) + (newline port)) + (call-with-output-file result + (lambda (port) + (for-each (cut dump <> port) files)))) + + (mkdir-p certs-dir) + (concatenate-files + ca-files (string-append certs-dir "/ca-certificates.crt")) + (for-each (cut install-file <> certs-dir) ca-files)))) + (native-search-paths + (list $SSL_CERT_DIR + $SSL_CERT_FILE))))) + (define-public le-certs (package (name "le-certs") base-commit: 05e6bd3efe1b03190839d2b91b09fa768c4ef83c -- 2.45.2
From 5417197e22dd7efa6732ea8de188f2f94bfc3ccc Mon Sep 17 00:00:00 2001 Message-ID: <5417197e22dd7efa6732ea8de188f2f94bfc3ccc.1721063765.git.zhengjun...@iscas.ac.cn> In-Reply-To: <0ad24103d82147eece6bd546fc31a9f81e2d17fd.1721063765.git.zhengjun...@iscas.ac.cn> References: <0ad24103d82147eece6bd546fc31a9f81e2d17fd.1721063765.git.zhengjun...@iscas.ac.cn> From: Zheng Junjie <zhengjun...@iscas.ac.cn> Date: Tue, 16 Jul 2024 00:06:39 +0800 Subject: [PATCH 2/2] gnu: python-requests-next: Fix build. * gnu/packages/python-web.scm (python-requests-next): Fix build. [native-inputs]: Add nss-certs-for-test. Change-Id: I1592ef3329fdcd681df618bb12fbc205aa028be3 --- gnu/packages/python-web.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index bca7da9139..9367dfba34 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -65,6 +65,7 @@ ;;; Copyright © 2024 Sharlatan Hellseher <sharlata...@gmail.com> ;;; Copyright © 2024 normally_js <normally...@posteo.net> ;;; Copyright © 2024 Markku Korkeala <markku.korke...@iki.fi> +;;; Copyright © 2024 Zheng Junjie <873216...@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -94,6 +95,7 @@ (define-module (gnu packages python-web) #:use-module (gnu packages admin) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages certs) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) @@ -3614,6 +3616,8 @@ (define-public python-requests-next (base32 "0q5742pnibwy74169kacin3dmqg9jzmzk7qab5aq5caffcbm8djm")))) (build-system python-build-system) + (native-inputs + (list nss-certs-for-test)) (propagated-inputs (list python-certifi python-charset-normalizer -- 2.45.2
signature.asc
Description: PGP signature