unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Christopher Baines <mail@cbaines.net>
To: 37412@debbugs.gnu.org
Subject: [bug#37412] [PATCH 1/2] gnu: Add guix-data-service.
Date: Sun, 15 Sep 2019 19:21:26 +0100	[thread overview]
Message-ID: <20190915182127.10525-1-mail@cbaines.net> (raw)
In-Reply-To: <87v9tt1l0h.fsf@cbaines.net>

* gnu/packages/web.scm (guix-data-service): New variable.
---
 gnu/packages/web.scm | 83 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)

diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 39475bd6a8..30adc75aa1 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -3973,6 +3973,89 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
 (define-public python2-feedparser
   (package-with-python2 python-feedparser))
 
+(define-public guix-data-service
+  (let ((commit "6a9f11fb94fbfd969396dd4d9f768a0c9ec67734")
+        (revision "1"))
+    (package
+      (name "guix-data-service")
+      (version (string-append "0.0.1-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.savannah.gnu.org/git/guix/data-service.git")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "08kfi74dp8h1i03gfmjqfv07ff7m93psnh6xmrgwzr0ja5cdqjri"))))
+      (build-system gnu-build-system)
+      (arguments
+       '(#:tests? #f                    ; TODO Tests require PostgreSQL
+         #:modules ((guix build utils)
+                    (guix build gnu-build-system)
+                    (ice-9 rdelim)
+                    (ice-9 popen))
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'install 'wrap-executable
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin"))
+                      (guile (assoc-ref inputs "guile"))
+                      (guile-effective-version
+                       (read-line
+                        (open-pipe* OPEN_READ
+                                    (string-append guile "/bin/guile")
+                                    "-c" "(display (effective-version))")))
+                      (scm (string-append out "/share/guile/site/"
+                                          guile-effective-version))
+                      (go  (string-append out "/lib/guile/"
+                                          guile-effective-version
+                                          "/site-ccache")))
+                 (for-each
+                  (lambda (file)
+                    (wrap-program (string-append bin "/" file)
+                      `("PATH" ":" prefix
+                        (,bin))
+                      `("GUILE_LOAD_PATH" ":" prefix
+                        (,scm ,(getenv "GUILE_LOAD_PATH")))
+                      `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+                        (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))))
+                  '("guix-data-service"
+                    "guix-data-service-process-branch-updated-email"
+                    "guix-data-service-process-job"
+                    "guix-data-service-process-jobs"
+                    "guix-data-service-query-build-servers"))
+                 #t))))))
+      (inputs
+       `(("guile" ,guile-2.2)
+         ("guix" ,guix)
+         ("guile-fibers" ,guile-fibers)
+         ("guile-json" ,guile-json-3)
+         ("guile-email" ,guile-email)
+         ("guile-squee" ,guile-squee)
+         ("postgresql" ,postgresql)
+         ("sqitch" ,sqitch)))
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("pkg-config" ,pkg-config)))
+      (native-search-paths
+       ;; guile-git requires this to be set
+       (list (search-path-specification
+              (variable "GIT_SSL_CAINFO")
+              (file-type 'regular)
+              (separator #f)
+              (files '("etc/ssl/certs/ca-certificates.crt")))))
+      (synopsis "Store and provide data about GNU Guix")
+      (description
+       "The Guix Data Service stores data about GNU Guix, and provides this
+through a web interface.  It supports listening to the guix-commits mailing
+list to find out about new revisions, then loads the data from these in to a
+PostgreSQL database.")
+      (home-page "https://data.guix.gnu.org/")
+      (license license:agpl3+))))
+
 (define-public gumbo-parser
   (package
     (name "gumbo-parser")
-- 
2.23.0

  reply	other threads:[~2019-09-15 18:22 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-15 18:18 [bug#37412] [PATCH 0/2] Add package and service for the Guix Data Service Christopher Baines
2019-09-15 18:21 ` Christopher Baines [this message]
2019-09-15 18:21   ` [bug#37412] [PATCH 2/2] services: Add " Christopher Baines
2019-09-16  7:53     ` Ludovic Courtès
2019-09-22 12:15       ` Christopher Baines
2019-09-15 20:45   ` [bug#37412] [PATCH 1/2] gnu: Add guix-data-service Alex ter Weele
2019-09-15 21:29     ` Christopher Baines
2019-09-16  7:48   ` Ludovic Courtès
2019-09-22 10:18     ` Christopher Baines
2019-09-22 21:04       ` Ludovic Courtès
2019-09-25  7:46         ` bug#37412: " Christopher Baines
2019-09-16  7:55   ` [bug#37412] " Ludovic Courtès
2019-09-22 10:10     ` Christopher Baines
2019-09-22 12:03 ` Christopher Baines
2019-09-22 12:03   ` [bug#37412] [PATCH 2/2] services: Add the Guix Data Service Christopher Baines
2019-09-22 21:11   ` [bug#37412] [PATCH 1/2] gnu: Add guix-data-service Ludovic Courtès
2019-09-24 19:34     ` Christopher Baines

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190915182127.10525-1-mail@cbaines.net \
    --to=mail@cbaines.net \
    --cc=37412@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).