(define-module (org euandre papo) #:use-module ((org euandre packages) #:prefix pkg:) #:use-module ((org euandre queue) #:prefix q:) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix records) #:use-module (guix utils) #:export ( papod-configuration make-papod-configuration papod-configuration? papod-configuration-name papod-configuration-package papod-configuration-user papod-configuration-group papod-configuration-log-file papod-configuration-data-directory papod-configuration-run-directory papod-configuration-run-in-container? papod-configuration-container-name papod-configuration-options papod-configuration-listen-socket papod-configuration-upstream-socket)) (define-public papo.im (let ((pkg (pkg:pkg "papo.im" "fa07fa576e07b4cc6b7c9123bd3a6c91e6afc609" "084w89v15nmr45nv9av8pz7iq99aw3ggaxr0gzqfjbskb3wvvkml"))) (package (inherit pkg) (native-inputs (append (pkg:format-inputs (list pkg:mkwb pkg:mktorrent-latest)) (pkg:normalize-inputs '(gnupg jq rsync po4a gettext ghostscript moreutils)))) (arguments (substitute-keyword-arguments (package-arguments pkg) ((#:phases phases) #~(modify-phases #$phases (add-before 'build 'sethome-ghostscript (lambda _ (setenv "HOME" (getcwd))))))))))) (define-public chat.papo.im (package (inherit (pkg:pkg "chat.papo.im" "f9c959b2d8e36460395a425a51d480fac635c5ec" "0h2y0kdfzpsgi64zi7brnj1p0dqz0fx4ksvy57wakr7pvv6rpf64")) (native-inputs (pkg:normalize-inputs '(node))))) (define-public papod (pkg:gopkg "papod" (pkg:format-inputs (list pkg:gotext pkg:uuid pkg:gobang pkg:pds pkg:stm pkg:golite q:sqlitex pkg:scrypt q:scryptkdf pkg:fiinha pkg:cracha pkg:eut)) "cc2cf1e3c3894f39fbc4e98a6764f39bb0ef1c2d" "0kghqc9ivwa24b8ydpgnnknakn62d5ghrxdy7ggc11jqd9bnky00")) (define-record-type* papod-configuration make-papod-configuration papod-configuration? (name papod-configuration-name (default "papod")) (package papod-configuration-package (default papod)) (user papod-configuration-user (default "papod")) (group papod-configuration-group (default "papod")) (log-file papod-configuration-log-file (default "/var/log/papod/papod.log")) (data-directory papod-configuration-data-directory (default "/var/lib/papod")) (run-directory papod-configuration-run-directory (default "/var/run/papod")) (run-in-container? papod-configuration-run-in-container? (default #t)) (container-name papod-configuration-container-name (default "papod-container")) (options papod-configuration-options (default '())) (listen-socket papod-configuration-listen-socket (default "/var/run/papod/papod.socket")) (upstream-socket papod-configuration-upstream-socket (default #f))) #; (define-public papod-service-type (pkg:service-type-for 'papod (papod-configuration) '())) (list papo.im chat.papo.im papod)