2023-11-29 17:34:39 -05:00
|
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2023-11-29 17:34:40 -05:00
|
|
|
|
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
|
|
|
|
|
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
2023-11-29 17:34:48 -05:00
|
|
|
|
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
2023-11-29 17:34:41 -05:00
|
|
|
|
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
2023-11-29 17:35:06 -05:00
|
|
|
|
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
|
2023-11-29 17:34:44 -05:00
|
|
|
|
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
2023-11-29 17:34:48 -05:00
|
|
|
|
;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
2023-11-29 17:34:43 -05:00
|
|
|
|
;;; Copyright © 2022 Giacomo Leidi <goodoldpaul@autistici.org>
|
2023-11-29 17:34:46 -05:00
|
|
|
|
;;; Copyright © 2022 muradm <mail@muradm.net>
|
2023-11-29 17:35:00 -05:00
|
|
|
|
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
2023-11-29 17:35:04 -05:00
|
|
|
|
;;; Copyright © 2023 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
2023-11-29 17:34:52 -05:00
|
|
|
|
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
|
2023-11-29 17:34:39 -05:00
|
|
|
|
;;;
|
|
|
|
|
;;; This file is part of GNU Guix.
|
|
|
|
|
;;;
|
|
|
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
|
|
|
;;; under the terms of the GNU General Public License as published by
|
|
|
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
|
|
|
;;; your option) any later version.
|
|
|
|
|
;;;
|
|
|
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
|
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
;;; GNU General Public License for more details.
|
|
|
|
|
;;;
|
|
|
|
|
;;; You should have received a copy of the GNU General Public License
|
|
|
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
|
|
(define-module (gnu packages golang-web)
|
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
|
|
|
#:use-module (guix packages)
|
|
|
|
|
#:use-module (guix build-system go)
|
2023-11-29 17:35:00 -05:00
|
|
|
|
#:use-module (guix gexp)
|
2023-11-29 17:34:39 -05:00
|
|
|
|
#:use-module (guix git-download)
|
|
|
|
|
#:use-module (gnu packages)
|
2023-11-29 17:34:53 -05:00
|
|
|
|
#:use-module (gnu packages golang)
|
2023-11-29 17:35:06 -05:00
|
|
|
|
#:use-module (gnu packages golang-check)
|
|
|
|
|
#:use-module (gnu packages web))
|
2023-11-29 17:34:39 -05:00
|
|
|
|
|
|
|
|
|
;;; Commentary:
|
|
|
|
|
;;;
|
|
|
|
|
;;; Golang modules (libraries) related to HTML, CSS, SCSS, JavaScript, JSON,
|
|
|
|
|
;;; Web-framework, REST-API or similar functionality.
|
|
|
|
|
;;;
|
|
|
|
|
;;; Please: Try to add new module packages in alphabetic order.
|
|
|
|
|
;;;
|
|
|
|
|
;;; Code:
|
|
|
|
|
|
2023-11-29 17:34:43 -05:00
|
|
|
|
(define-public go-github-com-andybalholm-cascadia
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-andybalholm-cascadia")
|
|
|
|
|
(version "1.3.1")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/andybalholm/cascadia")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0zgc9fjkn7d66cnmgnmalr9lrq4ii1spap95pf2x1hln4pflib5s"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/andybalholm/cascadia"))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-golang-org-x-net))
|
|
|
|
|
(home-page "https://github.com/andybalholm/cascadia/")
|
|
|
|
|
(synopsis "CSS selectors for HTML")
|
|
|
|
|
(description "The Cascadia package implements CSS selectors for use with
|
|
|
|
|
the parse trees produced by the html package.")
|
|
|
|
|
(license license:bsd-2)))
|
|
|
|
|
|
2023-11-29 17:34:42 -05:00
|
|
|
|
(define-public go-github-com-aymerick-douceur
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-aymerick-douceur")
|
|
|
|
|
(version "0.2.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/aymerick/douceur/")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/aymerick/douceur"))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-github-com-andybalholm-cascadia
|
|
|
|
|
go-github-com-gorilla-css
|
|
|
|
|
go-github-com-puerkitobio-goquery
|
|
|
|
|
go-golang-org-x-net))
|
|
|
|
|
(home-page "https://github.com/aymerick/douceur/")
|
|
|
|
|
(synopsis "CSS parser and inliner")
|
|
|
|
|
(description "This package provides a CSS parser and inliner.")
|
|
|
|
|
(license license:expat)))
|
|
|
|
|
|
2023-11-29 17:35:06 -05:00
|
|
|
|
(define-public go-github-com-bep-golibsass
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-bep-golibsass")
|
|
|
|
|
(version "0.7.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/bep/golibsass")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0xk3m2ynbydzx87dz573ihwc4ryq0r545vz937szz175ivgfrhh3"))
|
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet
|
|
|
|
|
'(begin
|
|
|
|
|
(delete-file-recursively "libsass_src")
|
|
|
|
|
#t))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/bep/golibsass/libsass"
|
|
|
|
|
#:unpack-path "github.com/bep/golibsass"
|
|
|
|
|
;; The dev build tag modifies the build to link to system libsass
|
|
|
|
|
;; instead of including the bundled one (which we remove.)
|
|
|
|
|
;; https://github.com/bep/golibsass/blob/v0.7.0/internal/libsass/a__cgo_dev.go
|
|
|
|
|
#:build-flags '("-tags" "dev")
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'build 'generate-bindings
|
|
|
|
|
;; Generate bindings for system libsass, replacing the
|
|
|
|
|
;; pre-generated bindings.
|
|
|
|
|
(lambda* (#:key inputs unpack-path #:allow-other-keys)
|
|
|
|
|
(mkdir-p (string-append "src/" unpack-path "/internal/libsass"))
|
|
|
|
|
(let ((libsass-src (string-append (assoc-ref inputs "libsass-src") "/src")))
|
|
|
|
|
(substitute* (string-append "src/" unpack-path "/gen/main.go")
|
|
|
|
|
(("filepath.Join\\(rootDir, \"libsass_src\", \"src\"\\)")
|
|
|
|
|
(string-append "\"" libsass-src "\""))
|
|
|
|
|
(("../../libsass_src/src/")
|
|
|
|
|
libsass-src)))
|
|
|
|
|
(invoke "go" "generate" (string-append unpack-path "/gen"))
|
|
|
|
|
#t))
|
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda* (#:key tests? import-path #:allow-other-keys)
|
|
|
|
|
(if tests?
|
|
|
|
|
(invoke "go" "test" import-path "-tags" "dev"))
|
|
|
|
|
#t)))))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list libsass))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("go-github-com-frankban-quicktest" ,go-github-com-frankban-quicktest)
|
|
|
|
|
("libsass-src" ,(package-source libsass))))
|
|
|
|
|
(home-page "https://github.com/bep/golibsass")
|
|
|
|
|
(synopsis "Easy to use Go bindings for LibSass")
|
|
|
|
|
(description
|
|
|
|
|
"This package provides SCSS compiler support for Go applications.")
|
|
|
|
|
(license license:expat)))
|
|
|
|
|
|
2023-11-29 17:34:45 -05:00
|
|
|
|
(define-public go-github-com-chris-ramon-douceur
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-chris-ramon-douceur")
|
|
|
|
|
(version "0.2.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/chris-ramon/douceur")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1hfysznib0fqbp8vqxpk0xiggpp0ayk2bsddi36vbg6f8zq5f81n"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/chris-ramon/douceur"))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-aymerick-douceur
|
|
|
|
|
go-github-com-gorilla-css))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-github-com-puerkitobio-goquery
|
|
|
|
|
go-github-com-andybalholm-cascadia
|
|
|
|
|
go-golang-org-x-net))
|
|
|
|
|
(home-page "https://github.com/chris-ramon/douceur/")
|
|
|
|
|
(synopsis "CSS parser and inliner")
|
|
|
|
|
(description "This package provides a CSS parser and inliner.")
|
|
|
|
|
(license license:expat)))
|
|
|
|
|
|
2023-11-29 17:35:08 -05:00
|
|
|
|
(define-public go-github-com-coreos-go-oidc
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-coreos-go-oidc")
|
|
|
|
|
(version "2.2.1")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/coreos/go-oidc")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "11m6slbpi33ynffml7812piq4anhjlf1qszjlsf26f5y7x3qh8n5"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list #:import-path "github.com/coreos/go-oidc"))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-pquerna-cachecontrol
|
|
|
|
|
go-golang-org-x-oauth2
|
|
|
|
|
go-gopkg-in-square-go-jose-v2))
|
|
|
|
|
(home-page "https://github.com/coreos/go-oidc")
|
|
|
|
|
(synopsis "OpenID Connect support for Go")
|
|
|
|
|
(description
|
|
|
|
|
"This package enables OpenID Connect support for the
|
|
|
|
|
@code{go-golang-org-x-oauth2} package.")
|
|
|
|
|
(license license:asl2.0)))
|
|
|
|
|
|
2023-11-29 17:35:09 -05:00
|
|
|
|
(define-public go-github-com-coreos-go-oidc-v3
|
|
|
|
|
(package
|
|
|
|
|
(inherit go-github-com-coreos-go-oidc)
|
|
|
|
|
(name "go-github-com-coreos-go-oidc-v3")
|
|
|
|
|
(version "3.6.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/coreos/go-oidc")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1sbm6n3lp48lymn0g921afhq2j6inb38w3wy5rhyx9h8gpzhnxx9"))))
|
|
|
|
|
(arguments
|
|
|
|
|
(list ;; no Go files in [...]/src/github.com/coreos/go-oidc/v3.
|
|
|
|
|
#:import-path "github.com/coreos/go-oidc/v3/oidc"
|
|
|
|
|
#:unpack-path "github.com/coreos/go-oidc/v3"))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-go-jose-go-jose-v3
|
|
|
|
|
go-golang-org-x-oauth2))))
|
|
|
|
|
|
2023-11-29 17:34:50 -05:00
|
|
|
|
(define-public go-github-com-felixge-httpsnoop
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-felixge-httpsnoop")
|
|
|
|
|
(version "1.0.1")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/felixge/httpsnoop")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0ncd8lar5zxiwjhsp315s4hsl4bhnm271h49jhyxc66r5yffgmac"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/felixge/httpsnoop"))
|
|
|
|
|
(home-page "https://github.com/felixge/httpsnoop/")
|
|
|
|
|
(synopsis "Capture http related metrics")
|
|
|
|
|
(description
|
|
|
|
|
"Httpsnoop provides an easy way to capture http related
|
|
|
|
|
metrics (i.e. response time, bytes written, and http status code) from your
|
|
|
|
|
application's http.Handlers.")
|
|
|
|
|
(license license:expat)))
|
|
|
|
|
|
2023-11-29 17:35:04 -05:00
|
|
|
|
(define-public go-github-com-google-safehtml
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-google-safehtml")
|
|
|
|
|
(version "0.1.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/google/safehtml")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0j2xjy8xrk9y9k6bqpvimj84i6hg1wwsyvwsb0axhmp49cmnrp86"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/google/safehtml"))
|
2023-11-29 17:35:05 -05:00
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-golang-org-x-text))
|
2023-11-29 17:35:04 -05:00
|
|
|
|
(home-page "https://github.com/google/safehtml")
|
|
|
|
|
(synopsis "Safe HTML for Go")
|
|
|
|
|
(description
|
|
|
|
|
"Package safehtml provides immutable string-like types which represent
|
|
|
|
|
values that are guaranteed to be safe, by construction or by escaping or
|
|
|
|
|
sanitization, to use in various HTML contexts and with various DOM APIs.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2023-11-29 17:35:02 -05:00
|
|
|
|
(define-public go-github-com-gorilla-context
|
|
|
|
|
(let ((commit "08b5f424b9271eedf6f9f0ce86cb9396ed337a42")
|
|
|
|
|
(revision "0"))
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-gorilla-context")
|
|
|
|
|
(version (git-version "0.0.0" revision commit))
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/gorilla/context")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/gorilla/context"))
|
|
|
|
|
(home-page "https://github.com/gorilla/context")
|
|
|
|
|
(synopsis "Go registry for request variables")
|
|
|
|
|
(description
|
|
|
|
|
"This package provides @code{gorilla/context}, which is a general
|
|
|
|
|
purpose registry for global request variables in the Go programming
|
|
|
|
|
language.")
|
|
|
|
|
(license license:bsd-3))))
|
|
|
|
|
|
2023-11-29 17:34:59 -05:00
|
|
|
|
(define-public go-github-com-gorilla-csrf
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-gorilla-csrf")
|
|
|
|
|
(version "1.7.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/gorilla/csrf")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0iryq0z48yi7crfbd8jxyn7lh1gsglpiglvjgnf23bz6xfisssav"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("github.com/gorilla/securecookie" ,go-github-com-gorilla-securecookie)
|
|
|
|
|
("github.com/pkg/errors" ,go-github-com-pkg-errors)))
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/gorilla/csrf"))
|
|
|
|
|
(home-page "https://github.com/gorilla/csrf")
|
|
|
|
|
(synopsis "Cross Site Request Forgery (CSRF) prevention middleware")
|
|
|
|
|
(description
|
|
|
|
|
"Gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention
|
|
|
|
|
middleware for Go web applications and services.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2023-11-29 17:34:41 -05:00
|
|
|
|
(define-public go-github-com-gorilla-css
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-gorilla-css")
|
|
|
|
|
(version "1.0.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/gorilla/css")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "116fhy3n7bsq3psyn4pa0i4x9zy916kh1zxslmbbp0p9l4i7ysrj"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/gorilla/css/scanner"
|
|
|
|
|
#:unpack-path "github.com/gorilla/css"))
|
|
|
|
|
(home-page "https://github.com/gorilla/css/")
|
|
|
|
|
(synopsis "CSS3 tokenizer")
|
|
|
|
|
(description "This package provides a CSS3 tokenizer.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2023-11-29 17:34:48 -05:00
|
|
|
|
(define-public go-github-com-gorilla-handlers
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-gorilla-handlers")
|
|
|
|
|
(version "1.5.1")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/gorilla/handlers")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "15gycdz9lkjnsvvichsbdf25vf6pi1sfn41khhz53iqf300l0w0s"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:tests? #f ; Tries to download from the internet
|
|
|
|
|
#:import-path "github.com/gorilla/handlers"))
|
2023-11-29 17:34:49 -05:00
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-felixge-httpsnoop))
|
2023-11-29 17:34:48 -05:00
|
|
|
|
(home-page "https://github.com/gorilla/handlers")
|
|
|
|
|
(synopsis "Middleware for Go HTTP services and web applications")
|
|
|
|
|
(description "A collection of useful middleware for Go HTTP services and
|
|
|
|
|
web applications.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2023-11-29 17:34:40 -05:00
|
|
|
|
(define-public go-github-com-gorilla-mux
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-gorilla-mux")
|
|
|
|
|
(version "1.8.0")
|
|
|
|
|
(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 "18f0q9qxgq1yh4ji07mqhiydfcwvi56z9d775v7dc7yckj33kpdk"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/gorilla/mux"))
|
|
|
|
|
(home-page "https://github.com/gorilla/mux")
|
|
|
|
|
(synopsis "URL router and dispatcher for Go")
|
|
|
|
|
(description
|
|
|
|
|
"Gorilla/Mux implements a request router and dispatcher for matching
|
|
|
|
|
incoming requests with their respective handler.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2023-11-29 17:34:51 -05:00
|
|
|
|
(define-public go-github-com-gorilla-securecookie
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-gorilla-securecookie")
|
|
|
|
|
(version "1.1.1")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/gorilla/securecookie")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "16bqimpxs9vj5n59vm04y04v665l7jh0sddxn787pfafyxcmh410"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/gorilla/securecookie"))
|
|
|
|
|
(home-page "https://github.com/gorilla/securecookie")
|
|
|
|
|
(synopsis "Encodes and decodes authenticated and optionally encrypted
|
|
|
|
|
cookie values")
|
|
|
|
|
(description
|
|
|
|
|
"Gorilla/securecookie encodes and decodes authenticated and optionally
|
|
|
|
|
encrypted cookie values for Go web applications.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2023-11-29 17:34:52 -05:00
|
|
|
|
(define-public go-github-com-gorilla-sessions
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-gorilla-sessions")
|
|
|
|
|
(version "1.2.1")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/gorilla/sessions")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1zjw2s37yggk9231db0vmgs67z8m3am8i8l4gpgz6fvlbv52baxp"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/gorilla/sessions"))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-gorilla-securecookie))
|
|
|
|
|
(home-page "https://github.com/gorilla/sessions")
|
|
|
|
|
(synopsis "Manage user sessions in web applications")
|
|
|
|
|
(description
|
|
|
|
|
"This package that provides infrastructure for creating and managing user
|
|
|
|
|
sessions in web applications. It supports cookie and filesystem-based
|
|
|
|
|
sessions, flash messages, custom backends, and more.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2023-11-29 17:34:46 -05:00
|
|
|
|
(define-public go-github-com-gorilla-websocket
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-gorilla-websocket")
|
|
|
|
|
(version "1.5.0")
|
|
|
|
|
(home-page "https://github.com/gorilla/websocket")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url home-page)
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1xrr6snvs9g1nzxxg05w4i4pq6k1xjljl5mvavd838qc468n118i"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/gorilla/websocket"))
|
|
|
|
|
(synopsis "Fast WebSocket implementation for Go")
|
|
|
|
|
(description "Gorilla WebSocket is a Go implementation of the WebSocket
|
|
|
|
|
protocol.")
|
|
|
|
|
(license license:bsd-2)))
|
|
|
|
|
|
2023-11-29 17:34:55 -05:00
|
|
|
|
(define-public go-github-com-jcmturner-dnsutils-v2
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-jcmturner-dnsutils-v2")
|
|
|
|
|
(version "2.0.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/jcmturner/dnsutils")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "116zbgvfj88vv93fnapmmgyd5g8kzy774cdyzsnnzyzng92j61c9"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/jcmturner/dnsutils/v2"))
|
2023-11-29 17:34:56 -05:00
|
|
|
|
(native-inputs
|
2023-11-29 17:34:55 -05:00
|
|
|
|
(list go-github-com-stretchr-testify))
|
|
|
|
|
(home-page "https://github.com/jcmturner/dnsutils")
|
|
|
|
|
(synopsis "Go library with DNS utils")
|
|
|
|
|
(description
|
|
|
|
|
"The dnsutils package provides a Go function to return a map of Service
|
|
|
|
|
Records (SRV) in the order they should be used for a given service, protocol
|
|
|
|
|
and name. The order is determined by the records' priority and randomized
|
|
|
|
|
selection based on their relative weighting. This package is useful for
|
|
|
|
|
network applications that require accessing services using SRV records.")
|
|
|
|
|
(license license:asl2.0)))
|
|
|
|
|
|
2023-11-29 17:34:57 -05:00
|
|
|
|
(define-public go-github-com-jcmturner-goidentity-v6
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-jcmturner-goidentity-v6")
|
|
|
|
|
(version "6.0.1")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/jcmturner/goidentity")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "064ysvxvrvij843s7qj1nkzl5qc6j1qbrsb3s0zmwd1sa7vq8q1n"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/jcmturner/goidentity/v6"))
|
2023-11-29 17:34:58 -05:00
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-github-com-stretchr-testify))
|
2023-11-29 17:34:57 -05:00
|
|
|
|
(propagated-inputs
|
2023-11-29 17:34:58 -05:00
|
|
|
|
(list go-github-com-hashicorp-go-uuid))
|
2023-11-29 17:34:57 -05:00
|
|
|
|
(home-page "https://github.com/jcmturner/goidentity")
|
|
|
|
|
(synopsis "Hold authenticated identities and their attributes")
|
|
|
|
|
(description "This package provides a standard interface for holding
|
|
|
|
|
authenticated identities and their attributes.")
|
|
|
|
|
(license license:asl2.0)))
|
|
|
|
|
|
2023-11-29 17:34:53 -05:00
|
|
|
|
(define-public go-github-com-jcmturner-gokrb5-v8
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-jcmturner-gokrb5-v8")
|
|
|
|
|
(version "8.4.2")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/jcmturner/gokrb5")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0w9d1pa3r6qmdblk25bghf78ncs03l15l1sxnh4n536c356rzq4b"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/jcmturner/gokrb5/v8"
|
|
|
|
|
#:unpack-path "github.com/jcmturner/gokrb5"))
|
2023-11-29 17:34:54 -05:00
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-github-com-stretchr-testify))
|
2023-11-29 17:34:53 -05:00
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-gorilla-sessions
|
|
|
|
|
go-github-com-hashicorp-go-uuid
|
|
|
|
|
go-github-com-jcmturner-aescts-v2
|
|
|
|
|
go-github-com-jcmturner-dnsutils-v2
|
|
|
|
|
go-github-com-jcmturner-gofork
|
|
|
|
|
go-github-com-jcmturner-goidentity-v6
|
|
|
|
|
go-github-com-jcmturner-rpc-v2-mstypes
|
|
|
|
|
go-github-com-jcmturner-rpc-v2-ndr
|
|
|
|
|
go-golang-org-x-crypto
|
|
|
|
|
go-golang-org-x-net))
|
|
|
|
|
(home-page "https://github.com/jcmturner/gokrb5")
|
|
|
|
|
(synopsis "Pure Go Kerberos library for clients and services")
|
|
|
|
|
(description "This package provides a pure Go Kerberos library. It
|
|
|
|
|
features:
|
|
|
|
|
@itemize
|
|
|
|
|
@item Kerberos libraries for custom integration
|
|
|
|
|
@item Parsing Keytab files
|
|
|
|
|
@item Parsing krb5.conf files
|
|
|
|
|
@item Parsing client credentials cache files such as /tmp/krb5cc_$(id -u $(whoami))
|
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
|
|
On the client side, it provides a client that can authenticate to an SPNEGO
|
|
|
|
|
Kerberos authenticated web service, and the ability to change client's
|
|
|
|
|
password.
|
|
|
|
|
|
|
|
|
|
On the server side, the library provides a HTTP handler wrapper implements
|
|
|
|
|
SPNEGO Kerberos authentication, as well as a HTTP handler wrapper decodes
|
|
|
|
|
Microsoft AD PAC authorization data.")
|
|
|
|
|
(license license:asl2.0)))
|
|
|
|
|
|
2023-11-29 17:35:03 -05:00
|
|
|
|
(define-public go-github-com-microcosm-cc-bluemonday
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-microcosm-cc-bluemonday")
|
|
|
|
|
(version "1.0.3")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/microcosm-cc/bluemonday")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "071ph097c1iwbcc33x6kblj9rxb1r4mp3qfkrj4qw5mg7qcqxydk"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/microcosm-cc/bluemonday"))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-chris-ramon-douceur
|
|
|
|
|
go-golang-org-x-net))
|
|
|
|
|
(home-page "https://github.com/microcosm-cc/bluemonday/")
|
|
|
|
|
(synopsis "HTML sanitizer")
|
|
|
|
|
(description "@code{bluemonday} is a HTML sanitizer implemented in Go.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2023-11-29 17:34:44 -05:00
|
|
|
|
(define-public go-github-com-puerkitobio-goquery
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-puerkitobio-goquery")
|
|
|
|
|
(version "1.7.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/PuerkitoBio/goquery")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0gh1d99l5xc9hvwa4j40pfq3y9vfyq52mnrz6bf1kw2r2zr2gbcc"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:import-path "github.com/PuerkitoBio/goquery"))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-andybalholm-cascadia go-golang-org-x-net))
|
|
|
|
|
(home-page "https://github.com/PuerkitoBio/goquery")
|
|
|
|
|
(synopsis "Features similar to jQuery to the Go language")
|
|
|
|
|
(description "@code{goquery} brings a syntax and a set of features similar
|
|
|
|
|
to jQuery to the Go language.")
|
|
|
|
|
(license license:bsd-3)))
|
|
|
|
|
|
2023-11-29 17:34:47 -05:00
|
|
|
|
(define-public go-github-com-sourcegraph-jsonrpc2
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-sourcegraph-jsonrpc2")
|
|
|
|
|
(version "0.1.0")
|
|
|
|
|
(home-page "https://github.com/sourcegraph/jsonrpc2")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url home-page)
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1dk0w32k96vxrwnmm24wqx337dn8ylch65qwrbc3wh7whw2xx71q"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:import-path "github.com/sourcegraph/jsonrpc2"))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-daviddengcn-go-colortext
|
|
|
|
|
go-github-com-gorilla-websocket
|
|
|
|
|
go-github-com-motemen-go-colorine))
|
|
|
|
|
(synopsis "Provides a client and server implementation of JSON-RPC 2.0")
|
|
|
|
|
(description
|
|
|
|
|
"Package jsonrpc2 provides a Go implementation of JSON-RPC 2.0.")
|
|
|
|
|
(license license:expat)))
|
|
|
|
|
|
2023-11-29 17:35:00 -05:00
|
|
|
|
(define-public go-github-com-tdewolff-minify-v2
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-tdewolff-minify-v2")
|
|
|
|
|
(version "2.12.7")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/tdewolff/minify")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0qhslaq885zbqs83nvbi29yh09b89kkb6ycami8lz28wkwrlayap"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list
|
|
|
|
|
#:import-path "github.com/tdewolff/minify/v2"
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'regenerate-hash
|
|
|
|
|
(lambda* (#:key import-path #:allow-other-keys)
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (dir)
|
|
|
|
|
(with-directory-excursion
|
|
|
|
|
(format #f "src/~a/~a" import-path dir)
|
|
|
|
|
(make-file-writable "hash.go")
|
|
|
|
|
(format #t "Generating `hash.go' for ~a...~%" dir)
|
|
|
|
|
(invoke "go" "generate")))
|
|
|
|
|
'("css" "html" "svg")))))))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-github-com-tdewolff-parse-v2))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-github-com-tdewolff-hasher
|
|
|
|
|
go-github-com-tdewolff-test))
|
|
|
|
|
(home-page "https://go.tacodewolff.nl/minify")
|
|
|
|
|
(synopsis "Go minifiers for web formats")
|
|
|
|
|
(description
|
|
|
|
|
"This package provides HTML5, CSS3, JS, JSON, SVG and XML minifiers and
|
|
|
|
|
an interface to implement any other minifier.")
|
|
|
|
|
(license license:expat)))
|
|
|
|
|
|
2023-11-29 17:35:01 -05:00
|
|
|
|
(define-public go-github-com-tdewolff-parse-v2
|
|
|
|
|
(package
|
|
|
|
|
(name "go-github-com-tdewolff-parse-v2")
|
|
|
|
|
(version "2.6.6")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/tdewolff/parse")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1dqki9ima079k9a3l72igmx5dml8qsl9z8rzw8a433f4gjhlv320"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list
|
|
|
|
|
#:import-path "github.com/tdewolff/parse/v2"
|
|
|
|
|
#:phases
|
|
|
|
|
#~(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'regenerate-hash
|
|
|
|
|
(lambda* (#:key import-path #:allow-other-keys)
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (dir)
|
|
|
|
|
(with-directory-excursion
|
|
|
|
|
(format #f "src/~a/~a" import-path dir)
|
|
|
|
|
(make-file-writable "hash.go")
|
|
|
|
|
(format #t "Generating `hash.go' for ~a...~%" dir)
|
|
|
|
|
(invoke "go" "generate")))
|
|
|
|
|
'("css" "html")))))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-github-com-tdewolff-hasher
|
|
|
|
|
go-github-com-tdewolff-test))
|
|
|
|
|
(home-page "https://github.com/tdewolff/parse")
|
|
|
|
|
(synopsis "Go parsers for web formats")
|
|
|
|
|
(description
|
|
|
|
|
"This package contains several lexers and parsers written in Go.")
|
|
|
|
|
(license license:expat)))
|
|
|
|
|
|
2023-11-29 17:35:07 -05:00
|
|
|
|
(define-public go-gopkg-in-square-go-jose-v2
|
|
|
|
|
(package
|
|
|
|
|
(name "go-gopkg-in-square-go-jose-v2")
|
|
|
|
|
(version "2.6.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/square/go-jose")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1b1nhqxfmhzwrfk7pkvp2w3z3d0pf5ir00vizmy2d4xdbnldn70r"))))
|
|
|
|
|
(build-system go-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
(list #:import-path "gopkg.in/square/go-jose.v2"))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
(list go-golang-org-x-crypto))
|
|
|
|
|
(native-inputs
|
|
|
|
|
(list go-github-com-google-go-cmp-cmp
|
|
|
|
|
go-github-com-stretchr-testify))
|
|
|
|
|
(home-page "https://gopkg.in/square/go-jose.v2")
|
|
|
|
|
(synopsis "Implementation of JOSE standards (JWE, JWS, JWT) in Go")
|
|
|
|
|
(description
|
|
|
|
|
"This package aims to provide an implementation of the Javascript Object
|
|
|
|
|
Signing and Encryption set of standards. This includes support for JSON Web
|
|
|
|
|
Encryption, JSON Web Signature, and JSON Web Token standards.")
|
|
|
|
|
(license license:asl2.0)))
|
|
|
|
|
|
2023-11-29 17:34:39 -05:00
|
|
|
|
;;;
|
|
|
|
|
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
|
|
|
|
;;; of a merge conflict, place them above by existing packages with similar
|
|
|
|
|
;;; functionality or similar names.
|
|
|
|
|
;;;
|