summaryrefslogtreecommitdiff
path: root/modules/freya/packages/certs.scm
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2024-06-21 22:52:21 -0400
committerFreya Murphy <freya@freyacat.org>2024-06-21 22:52:21 -0400
commitcf5d8d92f1904511006a89970349dbf723ae1732 (patch)
tree2deb7af8e9031a502b6b7f1c263198e4d6b93f9f /modules/freya/packages/certs.scm
parentupdate guixstrap (diff)
downloaddotfiles-guix-cf5d8d92f1904511006a89970349dbf723ae1732.tar.gz
dotfiles-guix-cf5d8d92f1904511006a89970349dbf723ae1732.tar.bz2
dotfiles-guix-cf5d8d92f1904511006a89970349dbf723ae1732.zip
update things
Diffstat (limited to 'modules/freya/packages/certs.scm')
-rw-r--r--modules/freya/packages/certs.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/modules/freya/packages/certs.scm b/modules/freya/packages/certs.scm
new file mode 100644
index 0000000..6a39608
--- /dev/null
+++ b/modules/freya/packages/certs.scm
@@ -0,0 +1,51 @@
+(define-module (freya packages certs)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix gexp)
+ #:use-module (guix build-system trivial)
+ #:use-module (guix utils)
+ #:use-module (guix packages)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages base))
+
+(define-public freya-ca-certs
+ (package
+ (name "freya-ca-certs")
+ (version "1")
+ (source (local-file "../../../certs"
+ #:recursive? #t))
+ (build-system trivial-build-system)
+ (license license:mpl2.0)
+ (home-page "https://freya.cat")
+ (arguments
+ `(#:modules
+ ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (srfi srfi-1)
+ (srfi srfi-26)
+ (ice-9 ftw))
+ (let* ((ca-certificates (assoc-ref %build-inputs "source"))
+ (crt-suffix ".crt")
+ (is-certificate? (cut string-suffix? crt-suffix <>))
+ (certificates (filter is-certificate?
+ (scandir ca-certificates)))
+ (out (assoc-ref %outputs "out"))
+ (certificate-directory (string-append out "/etc/ssl/certs"))
+ (openssl (string-append (assoc-ref %build-inputs "openssl") "/bin/openssl")))
+ (mkdir-p certificate-directory)
+ (for-each
+ (lambda (cert)
+ (invoke
+ openssl "x509"
+ "-in" (string-append ca-certificates "/" cert)
+ "-outform" "PEM"
+ "-out" (string-append certificate-directory "/" cert ".pem")))
+ certificates)
+ #t))))
+ (native-inputs
+ (list openssl))
+ (synopsis "freya ca certs")
+ (description synopsis)))