;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; Copyright © 2020 Martin Becze ;;; Copyright © 2020 Martin Becze ;;; Copyright © 2020 Oleg Pykhalov ;;; Copyright © 2021 Sarah Morgensen ;;; Copyright © 2021, 2022 Efraim Flashner ;;; Copyright © 2022 Giacomo Leidi ;;; Copyright © 2022 muradm ;;; ;;; 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 . (define-module (gnu packages golang-web) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix build-system go) #:use-module (guix git-download) #:use-module (gnu packages) #:use-module (gnu packages golang)) ;;; 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: (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))) (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))) (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))) (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))) (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")) (propagated-inputs (list go-github-com-felixge-httpsnoop)) (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))) (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))) (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))) (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))) (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))) ;;; ;;; 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. ;;;