diff options
Diffstat (limited to 'src/guix/packages.scm')
-rw-r--r-- | src/guix/packages.scm | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/guix/packages.scm b/src/guix/packages.scm new file mode 100644 index 0000000..691b1b1 --- /dev/null +++ b/src/guix/packages.scm @@ -0,0 +1,96 @@ +(define-module (packages) + #:use-module ((guix licenses) #:prefix licenses:) + #:use-module ((ice-9 popen) #:prefix popen:) + #:use-module ((ice-9 rdelim) #:prefix rdelim:) + #:use-module ((org euandre queue) #:prefix queue:) + #:use-module ((xyz euandreh heredoc) #:prefix heredoc:) + #:use-module (gnu) + #:use-module (guix build utils) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix utils)) +(use-package-modules + node + sqlite) +(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)) + +;; FIXME: this goes to the package repository later, alongside versions for +;; other package managers. The same is true for the papo-service-type. +(define-public papo + (package + (name "papo") + (version "da4d8a7b62ca33c58c1f37dfdcb8294abefc8afa") + (source + (origin + (method url-fetch) + (uri + (string-append "https://papo.im/git/papo/snapshot/papo-" + version + ".tar.xz")) + (sha256 + (base32 "0z08y8nizjb8afy7hscx3l8wqsr2sxc22av5aq9z4k299jkwgp1g")))) + (build-system gnu-build-system) ;; FIXME: posix-build-system + (arguments + (list + #:make-flags + #~(list + (string-append "PREFIX=" %output) + (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) + (inputs + (list + node-lts + sqlite)) + (synopsis "FIXME: slurp from package") + (description "FIXME: slurp from package") + (home-page "FIXME: slurp from package") + (license licenses:agpl3+))) ;; "FIXME: also slurp from package + +(define-public papo.im + (package + (name "papo.im") + (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)))) + (inputs + (list)) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + +(list + papo + papo.im) |