diff options
author | Leo Nikkilä <hello@lnikki.la> | 2024-08-24 20:19:35 +0100 |
---|---|---|
committer | Sharlatan Hellseher <sharlatanus@gmail.com> | 2024-08-25 20:46:48 +0100 |
commit | 1a9765284e52a29dc853c43989dfe364b05bf436 (patch) | |
tree | 9ffdc11c505afe216bc911bcae8a64ceaaada6df | |
parent | 701d85c5a9b2dee3901ecd57c1a3f998a55ebae6 (diff) | |
download | guix-1a9765284e52a29dc853c43989dfe364b05bf436.tar.gz guix-1a9765284e52a29dc853c43989dfe364b05bf436.zip |
gnu: Add go-github-com-go-openapi-analysis.
* gnu/packages/golang-web.scm (go-github-com-go-openapi-analysis): New variable.
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Change-Id: I8d2831c4a71908058ebd8d8935dddb3ef75ce360
-rw-r--r-- | gnu/packages/golang-web.scm | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/gnu/packages/golang-web.scm b/gnu/packages/golang-web.scm index 0355b2d7d6..91b3291b53 100644 --- a/gnu/packages/golang-web.scm +++ b/gnu/packages/golang-web.scm @@ -1345,6 +1345,80 @@ Encryption, JSON Web Signature, and JSON Web Token standards.") language.") (license license:expat))) +(define-public go-github-com-go-openapi-analysis + (package + (name "go-github-com-go-openapi-analysis") + (version "0.23.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-openapi/analysis") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1i1sn6fzjv83y31b8lky0wh08xl8yj60y04jcidzcy5gmknavyfi")) + (snippet + #~(begin (use-modules (guix build utils)) + ;; Introduce cycle with go-github-com-go-openapi-loads. + (delete-file-recursively "analysis_test"))))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/go-openapi/analysis" + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'disable-failing-tests + (lambda* (#:key tests? unpack-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" unpack-path) + (substitute* (find-files "." "\\_test.go$") + ;; Tests requiring network access. + (("TestFlatten_RemoteAbsolute") + "OffTestFlatten_RemoteAbsolute"))))) + ;; FIXME: pattern schemas/*.json: cannot embed irregular file + ;; schemas/jsonschema-draft-04.json + ;; + ;; This happens due to Golang can't determine the valid directory of + ;; the module which is sourced during setup environment phase, but + ;; easy resolved after coping to expected directory "vendor" within + ;; the current package, see details in Golang source: + ;; + ;; - URL: <https://github.com/golang/go/blob/> + ;; - commit: 82c14346d89ec0eeca114f9ca0e88516b2cda454 + ;; - file: src/cmd/go/internal/load/pkg.go#L2059 + (add-before 'build 'copy-input-to-vendor-directory + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (mkdir "vendor") + (copy-recursively + (string-append + #$(this-package-input "go-github-com-go-openapi-spec") + "/src/github.com") + "vendor/github.com")))) + (replace 'check + (lambda* (#:key tests? import-path #:allow-other-keys) + (when tests? + (with-directory-excursion (string-append "src/" import-path) + (invoke "go" "test" "-v" "./..."))))) + (add-before 'install 'remove-vendor-directory + (lambda* (#:key import-path #:allow-other-keys) + (with-directory-excursion (string-append "src/" import-path) + (delete-file-recursively "vendor"))))))) + (native-inputs + (list go-github-com-stretchr-testify)) + (propagated-inputs + (list go-github-com-go-openapi-jsonpointer + go-github-com-go-openapi-spec + go-github-com-go-openapi-strfmt + go-github-com-go-openapi-swag)) + (home-page "https://github.com/go-openapi/analysis") + (synopsis "OpenAPI specification object model analyzer") + (description + "This package provides a foundational library to analyze an +@acronym{OpenAPI Initiative,OAI} specification document for easier reasoning +about the content.") + (license license:asl2.0))) + (define-public go-github-com-go-openapi-errors (package (name "go-github-com-go-openapi-errors") |