gnu: build/go: Apply default 'fix-embed-files phase.

These changes remove redundant phases where files, requiring to be embed
during build or check phases, are copied to the build directory as
proposed in <https://issues.guix.gnu.org/73299>.

* gnu/packages/backup.scm (restic-rest-server) [arguments]: <#:phases>:
Remove 'fix-embed-files phase.
* gnu/packages/configuration-management.scm (chezmoi): Likewise.
* gnu/packages/packages/golang-build.scm (go-github-com-golang-protobuf): Likewise.
* gnu/packages/golang-web.scm (go-github-com-go-openapi-loads,
go-github-com-go-openapi-runtime, go-github-com-golang-groupcache): Likewise.
* gnu/packages/golang-xyz.scm (go-github-com-dgraph-io-badger): Likewise.
* gnu/packages/golang.scm (go-github-com-ssgelm-cookiejarparser): Likewise.
* gnu/packages/ipfs.scm (go-github-com-ipfs-go-ds-badger,
go-github-com-libp2p-go-libp2p, kubo): Likewise.
* gnu/packages/irc.scm (soju): Likewise.
* gnu/packages/networking.scm (nebula): Likewise.
* gnu/packages/prometheus.scm (go-github-com-nbrownus-go-metrics-prometheus,
go-github-com-prometheus-client-golang, go-github-com-prometheus-common,
go-github-com-prometheus-common-sigv4, go-github-com-prometheus-exporter-toolkit,
go-github-com-prometheus-statsd-exporter): Likewise
* gnu/packages/version-control.scm (git-lfs): Likewise.
* gnu/packages/web.scm (miniflux): Likewise.

* gnu/packages/golang-crypto.scm (go-filippo-io-age): [arguments]:
<#:phases>: Remove 'copy-input-to-vendor-direcotyr and
'remove-vendor-directory phases.
* gnu/packages/golang-web.scm (go-github-com-go-openapi-analysis,
go-github-com-go-openapi-analysis, go-github-com-go-openapi-validate): Likewise.
* gnu/packages/golang.scm (go-github-com-charmbracelet-glamour): Likewise.
* gnu/packages/textutils.scm (vale): Likewise.

Change-Id: Ic2ec01c8caf86f3ae69d7a1812c1e0b78a549e91
This commit is contained in:
Sharlatan Hellseher 2024-09-19 14:00:56 +01:00
parent 922d017081
commit 9ff0a39943
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5
14 changed files with 31 additions and 593 deletions

View file

@ -112,27 +112,7 @@ x/net/trace)} tracing wrappers @code{net.Conn}, both inbound
;; The project looks abandoned, tests failed with a new go-metrics, see
;; <https://github.com/nbrownus/go-metrics-prometheus/pull/2>.
#:tests? #f
#:import-path "github.com/nbrownus/go-metrics-prometheus"
#:phases
#~(modify-phases %standard-phases
;; TODO: Implement it in go-build-system.
;;
;; This happens due to Golang can't determine the valid directory of
;; the module of embed file which is symlinked during setup
;; environment phase, but easy resolved after coping file from the
;; store to the build directory of 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-after 'unpack 'fix-embed-files
(lambda _
(for-each (lambda (file)
(let ((file-store-path (readlink file)))
(delete-file file)
(copy-recursively file-store-path file)))
(find-files "src" ".*(editions_defaults.binpb)$")))))))
#:import-path "github.com/nbrownus/go-metrics-prometheus"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
@ -169,25 +149,6 @@ registry.")
#:import-path "github.com/prometheus/client_golang"
#:phases
#~(modify-phases %standard-phases
;; TODO: Implement it in go-build-system.
;;
;; This happens due to Golang can't determine the valid directory of
;; the module of embed file which is symlinked during setup
;; environment phase, but easy resolved after coping file from the
;; store to the build directory of 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 'unpack 'fix-embed-files
(lambda _
(for-each (lambda (file)
(let ((file-store-path (readlink file)))
(delete-file file)
(copy-recursively file-store-path file)))
(find-files "src" (string-append
".*(editions_defaults.binpb)$")))))
(add-after 'unpack 'remove-examples-and-tutorials
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
@ -278,25 +239,6 @@ Prometheus metrics.")
#:import-path "github.com/prometheus/common"
#:phases
#~(modify-phases %standard-phases
;; TODO: Implement it in go-build-system.
;;
;; This happens due to Golang can't determine the valid directory of
;; the module of embed file which is symlinked during setup
;; environment phase, but easy resolved after coping file from the
;; store to the build directory of 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-after 'unpack 'fix-embed-files
(lambda _
(for-each (lambda (file)
(let ((file-store-path (readlink file)))
(delete-file file)
(copy-recursively file-store-path file)))
(find-files "src" (string-append
".*(editions_defaults.binpb)$")))))
;; XXX: Workaround for go-build-system's lack of Go modules support.
(delete 'build)
(replace 'check
@ -408,27 +350,7 @@ metrics.")
(arguments
(list
#:import-path "github.com/prometheus/common/sigv4"
#:unpack-path "github.com/prometheus/common"
#:phases
#~(modify-phases %standard-phases
;; TODO: Implement it in go-build-system.
;;
;; This happens due to Golang can't determine the valid directory of
;; the module of embed file which is symlinked during setup
;; environment phase, but easy resolved after coping file from the
;; store to the build directory of 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-after 'unpack 'fix-embed-files
(lambda _
(for-each (lambda (file)
(let ((file-store-path (readlink file)))
(delete-file file)
(copy-recursively file-store-path file)))
(find-files "src" ".*(editions_defaults.binpb)$")))))))
#:unpack-path "github.com/prometheus/common"))
(native-inputs
(list go-github-com-stretchr-testify))
(propagated-inputs
@ -463,22 +385,6 @@ from the default AWS credential chain.")
#:import-path "github.com/prometheus/exporter-toolkit"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-embed-editions-defaults-binpb
(lambda _
(let* ((import-path "google.golang.org/protobuf")
(subdir "internal/editiondefaults")
(embed-file "editions_defaults.binpb")
(embed-file-path
(string-append "src/"
import-path "/"
subdir "/"
embed-file)))
(delete-file-recursively embed-file-path)
(copy-file
(string-append
#$(this-package-native-input "go-google-golang-org-protobuf")
"/" embed-file-path)
embed-file-path))))
;; XXX: Workaround for go-build-system's lack of Go modules support.
(delete 'build)
(replace 'check
@ -572,29 +478,7 @@ kernel, and process metrics from the @file{/proc} pseudo file system.")
(arguments
(list
#:import-path "github.com/prometheus/statsd_exporter"
#:phases
#~(modify-phases %standard-phases
;; TODO: Implement it in go-build-system.
;;
;; This happens due to Golang can't determine the valid directory of
;; the module of embed file which is symlinked during setup
;; environment phase, but easy resolved after coping file from the
;; store to the build directory of 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 'fix-embed-files
(lambda _
(for-each (lambda (file)
(let ((file-store-path (readlink file)))
(delete-file file)
(copy-recursively file-store-path file)))
(find-files "src" (string-append
".*(editions_defaults.binpb"
"|landing_page.css"
"|landing_page.html)$"))))))))
#:embed-files #~(list "landing_page.css" "landing_page.html")))
(native-inputs
(list go-github-com-stvp-go-udp-testing))
(propagated-inputs