(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 org-euandre:td pandoc shellcheck)) (home-page #f) (synopsis #f) (description #f) (license #f))) (list server)