summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2015-02-09 19:26:35 +0100
committerAndreas Enge <andreas@enge.fr>2015-02-13 11:19:37 +0100
commitcf053a4f0664e2bc2d8a7ba894c6e571f82e37d9 (patch)
treebb454a6ab2ef5af6e512d1e36eab25665fc0b525
parent44e10a4d4c0b06bd30dcc34b749447a06f8b0618 (diff)
downloadguix-cf053a4f0664e2bc2d8a7ba894c6e571f82e37d9.tar.gz
gnu: Add certdata2pem Python script.
* gnu/packages/certs.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/certs.scm65
2 files changed, 66 insertions, 0 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 1a68b8bfa2..218361d4fa 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -55,6 +55,7 @@ GNU_SYSTEM_MODULES =				\
   gnu/packages/calcurse.scm			\
   gnu/packages/ccache.scm			\
   gnu/packages/cdrom.scm			\
+  gnu/packages/certs.scm			\
   gnu/packages/cflow.scm			\
   gnu/packages/check.scm			\
   gnu/packages/cmake.scm			\
diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm
new file mode 100644
index 0000000000..1d06ab1933
--- /dev/null
+++ b/gnu/packages/certs.scm
@@ -0,0 +1,65 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages certs)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system trivial)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages python))
+
+(define certdata2pem
+  (package
+    (name "certdata2pem")
+    (version "2013")
+    (source
+    (origin
+      (method url-fetch)
+        (uri
+          "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/plain/certdata2pem.py?id=053dde8a2f5901e97028a58bf54e7d0ef8095a54")
+        (sha256
+          (base32
+            "0zscrm41gnsf14zvlkxhy00h3dmgidyz645ldpda3y3vabnwv8dx"))))
+   (build-system trivial-build-system)
+   (inputs
+     `(("python" ,python-2)))
+   (arguments
+    `(#:modules ((guix build utils))
+      #:builder
+        (begin
+          (use-modules (guix build utils))
+          (let ((bin (string-append %output "/bin")))
+            (copy-file (assoc-ref %build-inputs "source") "certdata2pem.py")
+            (chmod "certdata2pem.py" #o555)
+            (substitute* "certdata2pem.py"
+              (("/usr/bin/python")
+               (string-append (assoc-ref %build-inputs "python")
+                              "/bin/python"))
+              ;; Use the file extension .pem instead of .crt.
+              (("crt") "pem"))
+            (mkdir-p bin)
+            (copy-file "certdata2pem.py"
+                       (string-append bin "/certdata2pem.py"))))))
+   (synopsis "Python script to extract .pem data from certificate collection")
+   (description
+    "certdata2pem.py is a Python script to transform X.509 certificate
+\"source code\" as contained, for example, in the Mozilla sources, into
+.pem formatted certificates.")
+   (license license:gpl2+)
+   (home-page "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/")))