From patchwork Sun Sep 15 18:21:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christopher Baines X-Patchwork-Id: 15381 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id ACC0A173D4; Sun, 15 Sep 2019 19:22:32 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_BLOCKED,UNPARSEABLE_RELAY,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 67DB7173D1 for ; Sun, 15 Sep 2019 19:22:32 +0100 (BST) Received: from localhost ([::1]:56352 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i9ZAN-0000g5-Vk for patchwork@mira.cbaines.net; Sun, 15 Sep 2019 14:22:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34548) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i9Z9v-0000W2-Gl for guix-patches@gnu.org; Sun, 15 Sep 2019 14:22:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i9Z9u-0001zr-44 for guix-patches@gnu.org; Sun, 15 Sep 2019 14:22:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:39890) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i9Z9u-0001zl-1O for guix-patches@gnu.org; Sun, 15 Sep 2019 14:22:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1i9Z9t-0000X0-SY for guix-patches@gnu.org; Sun, 15 Sep 2019 14:22:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#37412] [PATCH 1/2] gnu: Add guix-data-service. References: <87v9tt1l0h.fsf@cbaines.net> In-Reply-To: <87v9tt1l0h.fsf@cbaines.net> Resent-From: Christopher Baines Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sun, 15 Sep 2019 18:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 37412 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 37412@debbugs.gnu.org Received: via spool by 37412-submit@debbugs.gnu.org id=B37412.15685716921989 (code B ref 37412); Sun, 15 Sep 2019 18:22:01 +0000 Received: (at 37412) by debbugs.gnu.org; 15 Sep 2019 18:21:32 +0000 Received: from localhost ([127.0.0.1]:48709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i9Z9O-0000Vy-9B for submit@debbugs.gnu.org; Sun, 15 Sep 2019 14:21:32 -0400 Received: from mira.cbaines.net ([212.71.252.8]:59204) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1i9Z9M-0000Vi-Gb for 37412@debbugs.gnu.org; Sun, 15 Sep 2019 14:21:29 -0400 Received: from localhost (cpc102582-walt20-2-0-cust14.13-2.cable.virginm.net [86.27.34.15]) by mira.cbaines.net (Postfix) with ESMTPSA id BA9E0173D1 for <37412@debbugs.gnu.org>; Sun, 15 Sep 2019 19:21:27 +0100 (BST) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id 8e43d5b6 for <37412@debbugs.gnu.org>; Sun, 15 Sep 2019 18:21:27 +0000 (UTC) From: Christopher Baines Date: Sun, 15 Sep 2019 19:21:26 +0100 Message-Id: <20190915182127.10525-1-mail@cbaines.net> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches * 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")