gnu: Add guix-data-service.
* gnu/packages/web.scm (guix-data-service): New variable.
This commit is contained in:
parent
ac87bc57af
commit
1683e4863a
|
@ -56,6 +56,7 @@
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix git-download)
|
#:use-module (guix git-download)
|
||||||
#:use-module (guix cvs-download)
|
#:use-module (guix cvs-download)
|
||||||
#:use-module (guix hg-download)
|
#:use-module (guix hg-download)
|
||||||
|
@ -77,6 +78,8 @@
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages documentation)
|
#:use-module (gnu packages documentation)
|
||||||
#:use-module (gnu packages docbook)
|
#:use-module (gnu packages docbook)
|
||||||
|
#:use-module (gnu packages emacs)
|
||||||
|
#:use-module (gnu packages emacs-xyz)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages curl)
|
#:use-module (gnu packages curl)
|
||||||
|
@ -4013,6 +4016,98 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
|
||||||
(define-public python2-feedparser
|
(define-public python2-feedparser
|
||||||
(package-with-python2 python-feedparser))
|
(package-with-python2 python-feedparser))
|
||||||
|
|
||||||
|
(define-public guix-data-service
|
||||||
|
(let ((commit "bb94f6dd05a33135fa661b86d35d203c0c099dba")
|
||||||
|
(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
|
||||||
|
"1y6s4igjvi0293z4d4hbgwifs8avcam71qhis9z4f8mjz6w7vcpb"))))
|
||||||
|
(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 'set-paths 'set-GUIX_ENVIRONMENT
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
;; This means guix.el finds the Emacs modules
|
||||||
|
(setenv "GUIX_ENVIRONMENT"
|
||||||
|
(assoc-ref inputs "emacs-with-modules"))
|
||||||
|
#t))
|
||||||
|
(add-before 'build 'set-GUILE_AUTO_COMPILE
|
||||||
|
(lambda _
|
||||||
|
;; To avoid errors relating to guild
|
||||||
|
(setenv "GUILE_AUTO_COMPILE" "0")
|
||||||
|
#t))
|
||||||
|
(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)))
|
||||||
|
(delete 'strip)))) ; As the .go files aren't compatible
|
||||||
|
(inputs
|
||||||
|
`(("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
|
||||||
|
`(("guile" ,guile-2.2)
|
||||||
|
("autoconf" ,autoconf)
|
||||||
|
("automake" ,automake)
|
||||||
|
("emacs-with-modules" ,(directory-union
|
||||||
|
"emacs-union"
|
||||||
|
(list emacs-no-x
|
||||||
|
emacs-htmlize)))
|
||||||
|
("pkg-config" ,pkg-config)))
|
||||||
|
(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 "http://data.guix.gnu.org/")
|
||||||
|
(license license:agpl3+))))
|
||||||
|
|
||||||
(define-public gumbo-parser
|
(define-public gumbo-parser
|
||||||
(package
|
(package
|
||||||
(name "gumbo-parser")
|
(name "gumbo-parser")
|
||||||
|
|
Loading…
Reference in New Issue