(define-module (packages) #:use-module ((org euandre packages) #:prefix pkg:) #:use-module (gnu) #:use-module (guix packages) #:use-module (guix utils)) (use-package-modules) (define (cat name s) (string-trim-right (pkg:slurp (string-append "src/versions/" name "/" s)))) (define (go-latest pkg) (let* ((name (package-name pkg)) (version (cat name "version")) (checksum (cat name "sha256"))) (package (inherit pkg) (version version) (source (origin (inherit (package-source pkg)) (uri (string-append "https://papo.im/git/" name "/snapshot/" name "-" version ".tar.xz")) (sha256 (base32 checksum)))) (arguments (substitute-keyword-arguments (package-arguments pkg) ((#:make-flags _flags) #~(list "-e" (string-append "PREFIX=" #$output) (string-append "VERSION=" #$version) (string-append "CC=" #$(cc-for-target))))))))) (define-public gobang (go-latest pkg:gobang)) (define-public golite (go-latest pkg:golite)) (define-public binder (go-latest pkg:binder)) (define-public glaze (go-latest pkg:glaze)) (define-public untls (go-latest pkg:untls)) (define-public wscat (go-latest pkg:wscat)) (define-public papod (go-latest pkg:papod)) (list gobang golite binder glaze untls wscat papod)