summaryrefslogtreecommitdiff
path: root/gnu/packages/golang-build.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/golang-build.scm')
-rw-r--r--gnu/packages/golang-build.scm51
1 files changed, 50 insertions, 1 deletions
diff --git a/gnu/packages/golang-build.scm b/gnu/packages/golang-build.scm
index 9e744c50c3a..daf5c77ca1f 100644
--- a/gnu/packages/golang-build.scm
+++ b/gnu/packages/golang-build.scm
@@ -47,7 +47,8 @@
47 #:use-module (gnu packages) 47 #:use-module (gnu packages)
48 #:use-module (gnu packages audio) 48 #:use-module (gnu packages audio)
49 #:use-module (gnu packages gl) 49 #:use-module (gnu packages gl)
50 #:use-module (gnu packages golang)) 50 #:use-module (gnu packages golang)
51 #:use-module (gnu packages protobuf))
51 52
52;;; Commentary: 53;;; Commentary:
53;;; 54;;;
@@ -62,6 +63,54 @@
62;;; 63;;;
63;;; Code: 64;;; Code:
64 65
66(define-public go-buf-build-gen-go-bufbuild-protovalidate-protocolbuffers-go
67 (package
68 (name "go-buf-build-gen-go-bufbuild-protovalidate-protocolbuffers-go")
69 (version "0.14.2")
70 (source
71 (origin
72 (method git-fetch)
73 (uri (git-reference
74 (url "https://github.com/bufbuild/protovalidate")
75 (commit (string-append "v" version))))
76 (file-name (git-file-name name version))
77 (sha256
78 (base32 "0vqbs3d42f03xli0k427s4i237gbx8262dvs3jsb7x00pqxwg5gd"))))
79 (build-system go-build-system)
80 (arguments
81 (list
82 #:tests? #f
83 #:import-path "github.com/bufbuild/protovalidate"
84 #:phases
85 #~(modify-phases %standard-phases
86 (replace 'build
87 ;; See: <https://github.com/bufbuild/protovalidate-go/issues/250>.
88 (lambda* (#:key import-path #:allow-other-keys)
89 (with-directory-excursion (string-append "src/" import-path)
90 (mkdir "build")
91 (invoke "protoc"
92 "-Iproto/protovalidate"
93 "--go_out=build"
94 "--go_opt=default_api_level=API_HYBRID"
95 "buf/validate/validate.proto"))))
96 (replace 'install
97 (lambda* (#:key import-path #:allow-other-keys)
98 (with-directory-excursion (string-append "src/" import-path)
99 (let ((output-src (string-append #$output "/src")))
100 (mkdir-p output-src)
101 (copy-recursively "build" output-src))))))))
102 (native-inputs
103 (list protobuf
104 protoc-gen-go))
105 (home-page "https://pkg.go.dev/buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go")
106 (synopsis "Semantic validation library for Protobuf")
107 (description
108 "Protovalidate is the semantic validation library for Protobuf. It
109provides standard annotations to validate common rules on messages and fields,
110as well as the ability to use CEL to write custom rules. It's the next
111generation of protoc-gen-validate.")
112 (license license:asl2.0)))
113
65(define-public go-cel-dev-expr 114(define-public go-cel-dev-expr
66 (package 115 (package
67 (name "go-cel-dev-expr") 116 (name "go-cel-dev-expr")