diff options
Diffstat (limited to 'src/guix/packages.scm')
-rw-r--r-- | src/guix/packages.scm | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/guix/packages.scm b/src/guix/packages.scm new file mode 100644 index 0000000..7fe4e93 --- /dev/null +++ b/src/guix/packages.scm @@ -0,0 +1,72 @@ +(define-module (packages) + #:use-module ((ice-9 popen) #:prefix popen:) + #:use-module ((ice-9 rdelim) #:prefix rdelim:) + #:use-module ((org euandre queue) #:prefix queue:) + #:use-module ((org euandre packages) #:prefix org-euandre:) + #:use-module ((xyz euandreh heredoc) #:prefix heredoc:) + #:use-module (gnu) + #:use-module (guix build utils) + #:use-module (guix build-system gnu) + #:use-module (guix packages)) +(use-package-modules + check + finance + groff + haskell-apps + haskell-xyz + imagemagick + python + python-web + python-xyz + version-control) +(heredoc:enable-syntax) + + +(define working-dir + (if (directory-exists? "/opt/deploy/current") + "/opt/deploy/current" + (canonicalize-path "."))) + +(define version-cmd #"- + if grep -q deployer /etc/passwd && [ -e /opt/deploy/current ]; then + sudo -u deployer git -C /opt/deploy/current rev-parse HEAD + else + git rev-parse HEAD + fi + "#) + +(define repo-version + (let* ((port (popen:open-input-pipe version-cmd)) + (v (rdelim:read-line port))) + (popen:close-pipe port) + v)) + +(define-public server + (package + (name "server") + (version repo-version) + (source + (local-file working-dir #:recursive? #t)) + (build-system gnu-build-system) + (arguments + (list + #:make-flags #~(list (string-append "PREFIX=" %output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'install 'installcheck + (lambda* (#:key make-flags #:allow-other-keys) + (define dash-j (format #f "-j~a" (parallel-job-count))) + (apply invoke "make" dash-j "installcheck" make-flags)))))) + (native-inputs + (list + git-minimal + pandoc + shellcheck)) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + +(list + server) |