268 lines
9.7 KiB
Scheme
268 lines
9.7 KiB
Scheme
(use-modules
|
|
((guix licenses) #:prefix license:)
|
|
(guix packages)
|
|
(guix download)
|
|
(guix git-download)
|
|
(guix build-system go)
|
|
(gnu packages golang)
|
|
(ice-9 rdelim)
|
|
(ice-9 popen)
|
|
)
|
|
|
|
(define-public go-github-com-gorilla-mux
|
|
(package
|
|
(name "go-github-com-gorilla-mux")
|
|
(version "1.8.1")
|
|
(source
|
|
(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/gorilla/mux")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32 "0pfh9bmy7j750ghw268jg90n9cx7vsx6wzv3bda0qqk512y02c4w"))))
|
|
(build-system go-build-system)
|
|
(arguments
|
|
'(#:import-path "github.com/gorilla/mux"))
|
|
(home-page "https://github.com/gorilla/mux")
|
|
(synopsis "gorilla/mux")
|
|
(description "Package mux implements a request router and dispatcher.")
|
|
(license license:bsd-3)))
|
|
|
|
(define-public go-github-com-cespare-xxhash-v2
|
|
(package
|
|
(name "go-github-com-cespare-xxhash-v2")
|
|
(version "2.2.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/cespare/xxhash")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"055xvgyv78xl6bdj8kgy0105n9cq33w4rb0sg84lp9r85i9qx2l5"))))
|
|
(build-system go-build-system)
|
|
(arguments
|
|
'(#:import-path "github.com/cespare/xxhash/v2"))
|
|
(home-page "https://github.com/cespare/xxhash")
|
|
(synopsis "xxhash")
|
|
(description
|
|
"Package xxhash implements the 64-bit variant of @code{xxHash} (XXH64) as
|
|
described at
|
|
@code{@@url{http://cyan4973.github.io/xxHash/,http://cyan4973.github.io/xxHash/}.}")
|
|
(license license:expat)))
|
|
|
|
(define-public go-github-com-dgryski-go-rendezvous
|
|
(package
|
|
(name "go-github-com-dgryski-go-rendezvous")
|
|
(version "0.0.0-20200823014737-9f7001d12a5f")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/dgryski/go-rendezvous")
|
|
(commit (go-version->git-ref version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0hhdbsm5k19kh1fyxs4aibza9jylils4p3555lr8xalhj2iz3zlz"))))
|
|
(build-system go-build-system)
|
|
(arguments
|
|
'(#:import-path "github.com/dgryski/go-rendezvous"))
|
|
(home-page "https://github.com/dgryski/go-rendezvous")
|
|
(synopsis #f)
|
|
(description #f)
|
|
(license license:expat)))
|
|
|
|
(define-public go-github-com-redis-go-redis-v9
|
|
(package
|
|
(name "go-github-com-redis-go-redis-v9")
|
|
(version "9.2.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/redis/go-redis")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0mrfcg50kkh7pfbb3q0758nfgz80bw00ijngd3xry41cdhakfjrs"))))
|
|
(build-system go-build-system)
|
|
(arguments
|
|
`(#:import-path "github.com/redis/go-redis/v9" #:go ,go-1.19 #:tests? #f))
|
|
(propagated-inputs `(("go-github-com-dgryski-go-rendezvous" ,go-github-com-dgryski-go-rendezvous)
|
|
("go-github-com-cespare-xxhash-v2" ,go-github-com-cespare-xxhash-v2)))
|
|
(home-page "https://github.com/redis/go-redis")
|
|
(synopsis "Redis client for Go")
|
|
(description "Package redis implements a Redis client.")
|
|
(license license:bsd-2)))
|
|
|
|
(define-public go-mellium-im-sasl
|
|
(package
|
|
(name "go-mellium-im-sasl")
|
|
(version "0.3.1")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://codeberg.org/mellium/sasl")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1qld1kw5j53nj1i0zgr4xbdkqgjcslaiir6s82a52h2izb8mp8ib"))))
|
|
(build-system go-build-system)
|
|
(arguments
|
|
'(#:import-path "mellium.im/sasl"))
|
|
(propagated-inputs `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)))
|
|
(home-page "https://mellium.im/sasl")
|
|
(synopsis "SASL")
|
|
(description
|
|
"Package sasl implements the Simple Authentication and Security Layer (SASL) as
|
|
defined by @@url{https://rfc-editor.org/rfc/rfc4422.html,RFC 4422}.")
|
|
(license license:bsd-2)))
|
|
|
|
(define-public go-mellium-im-xmlstream
|
|
(package
|
|
(name "go-mellium-im-xmlstream")
|
|
(version "0.15.4")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://codeberg.org/mellium/xmlstream")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"183nqjd34f7hfaahnh7cqh2wrwvjy77dkjm484mcxb935rdrpjm5"))))
|
|
(build-system go-build-system)
|
|
(arguments
|
|
'(#:import-path "mellium.im/xmlstream"))
|
|
(propagated-inputs `(("go-mellium-im-reader" ,go-mellium-im-reader)))
|
|
(home-page "https://mellium.im/xmlstream")
|
|
(synopsis "mellium.im/xmlstream")
|
|
(description
|
|
"Package xmlstream provides an API for streaming, transforming, and otherwise
|
|
manipulating XML data.")
|
|
(license license:bsd-2)))
|
|
|
|
(define-public go-mellium-im-reader
|
|
(package
|
|
(name "go-mellium-im-reader")
|
|
(version "0.1.0")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://codeberg.org/mellium/reader")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1drb2ibi6ygg4x824vymj1zw2kj1i6wvdiqw88qlwbgj9jqly2kw"))))
|
|
(build-system go-build-system)
|
|
(arguments
|
|
'(#:import-path "mellium.im/reader"))
|
|
(home-page "https://mellium.im/reader")
|
|
(synopsis "mellium.im/reader")
|
|
(description
|
|
"Package reader contains small, reusable APIs that build on the io.Reader
|
|
interface.")
|
|
(license license:bsd-2)))
|
|
|
|
(define-public go-mellium-im-xmpp
|
|
(package
|
|
(name "go-mellium-im-xmpp")
|
|
(version "0.21.4")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://codeberg.org/mellium/xmpp")
|
|
(commit (string-append "v" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"176q3hlidhlcsad54fjwm6fhk2il42r5dhmrlga6glflkdsn50zj"))))
|
|
(build-system go-build-system)
|
|
(arguments
|
|
'(#:import-path "mellium.im/xmpp"))
|
|
(propagated-inputs `(("go-mellium-im-reader" ,go-mellium-im-reader)
|
|
("go-golang-org-x-mod" ,go-golang-org-x-mod)
|
|
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
|
|
("go-mellium-im-xmlstream" ,go-mellium-im-xmlstream)
|
|
("go-mellium-im-sasl" ,go-mellium-im-sasl)
|
|
("go-golang-org-x-tools" ,go-golang-org-x-tools)
|
|
("go-golang-org-x-text" ,go-golang-org-x-text)
|
|
("go-golang-org-x-sys" ,go-golang-org-x-sys)
|
|
("go-golang-org-x-net" ,go-golang-org-x-net)
|
|
("go-golang-org-x-image" ,go-golang-org-x-image)))
|
|
(home-page "https://mellium.im/xmpp")
|
|
(synopsis "XMPP")
|
|
(description
|
|
"Package xmpp provides functionality from the Extensible Messaging and Presence
|
|
Protocol, sometimes known as \"Jabber\".")
|
|
(license license:bsd-2)))
|
|
|
|
;;;;
|
|
|
|
(define %source-dir (dirname (current-filename)))
|
|
(define %git-dir (string-append %source-dir "/.git"))
|
|
|
|
; Bake a template by eval'ing the leaves
|
|
(define-public (bake tmpl)
|
|
(cons
|
|
(car tmpl)
|
|
(map
|
|
(lambda (x) (list (car x) (eval (cadr x) (current-module))))
|
|
(cdr tmpl))))
|
|
|
|
; double-escaped template of the sgx-aa sexp
|
|
; This allows us to bake the expression without doing a full eval to a record,
|
|
; so it can be written
|
|
(define-public sgx-aa-template
|
|
'(package
|
|
(name "sgx-aa")
|
|
(version (read-line (open-pipe* OPEN_READ "git" "--git-dir" %git-dir "describe" "--always" "--dirty")))
|
|
(source `(origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(recursive? #t)
|
|
(url "https://git.singpolyma.net/sgx-aa")
|
|
(commit ,(read-line (open-pipe* OPEN_READ "git" "--git-dir" %git-dir "rev-parse" "HEAD")))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
,(read-line (open-pipe* OPEN_READ "guix" "hash" "-rx" %source-dir))))))
|
|
(build-system 'go-build-system)
|
|
(arguments
|
|
'`(#:import-path "sgx-aa" #:unpack-path "sgx-aa" #:go ,go-1.19 #:tests? #f #:install-source? #f))
|
|
(inputs
|
|
'(list
|
|
go-github-com-gorilla-mux
|
|
go-github-com-dgryski-go-rendezvous
|
|
go-github-com-google-uuid
|
|
go-github-com-redis-go-redis-v9
|
|
go-golang-org-x-crypto
|
|
go-golang-org-x-mod
|
|
go-golang-org-x-net
|
|
go-golang-org-x-sys
|
|
go-golang-org-x-text
|
|
go-golang-org-x-tools
|
|
go-mellium-im-reader
|
|
go-mellium-im-sasl
|
|
go-mellium-im-xmlstream
|
|
go-mellium-im-xmpp
|
|
go-github-com-cespare-xxhash-v2))
|
|
(home-page "https://certwatch.xmpp.net")
|
|
(synopsis #f)
|
|
(description #f)
|
|
(license 'license:agpl3)))
|
|
|
|
; Baked version of sgx-aa-template with leaves eval'd
|
|
(define-public sgx-aa-baked
|
|
(bake sgx-aa-template))
|
|
|
|
; Build clean from git the version from a local clone
|
|
; To build whatever is sitting in local use:
|
|
; guix build --with-source=$PWD -f guix.scm
|
|
(eval sgx-aa-baked (current-module))
|