diff options
| author | Sharlatan Hellseher <sharlatanus@gmail.com> | 2025-09-09 15:00:37 +0100 |
|---|---|---|
| committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2026-09-01 23:32:42 +0100 |
| commit | a2c7826a8e20888c01fe56c3aeb79c4e45a0a339 (patch) | |
| tree | 0dbdc33768a0b7cef01d2f7e887469aa05df6d7e | |
| parent | 2602a19bb4fe8a0d942be8a7ea620fea97fbcbea (diff) | |
gnu: Add go-buf-build-gen-go-bufbuild-protovalidate-protocolbuffers-go.
* gnu/packages/golang-build.scm (go-buf-build-gen-go-bufbuild-protovalidate-protocolbuffers-go): New variable.
Relates-to: guix/guix!2572
| -rw-r--r-- | gnu/packages/golang-build.scm | 51 |
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 | ||
| 109 | provides standard annotations to validate common rules on messages and fields, | ||
| 110 | as well as the ability to use CEL to write custom rules. It's the next | ||
| 111 | generation 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") |
