aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/golang.scm30
1 files changed, 16 insertions, 14 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 2fd8bf487c..38df23a6c1 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -2152,26 +2152,28 @@ generate ANSI colored strings.")
(base32
"1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di"))))
(build-system go-build-system)
- (native-inputs
+ ;; From go-1.10 onward, "pkg" compiled libraries are not re-used, so
+ ;; when this package required as input for another one, it will have to
+ ;; be built again. Thus its CGO requirements must be made available in
+ ;; the environment, that is, they must be propagated.
+ (propagated-inputs
`(("lua" ,lua)))
(arguments
`(#:unpack-path "github.com/aarzilli/golua"
#:import-path "github.com/aarzilli/golua/lua"
#:phases
(modify-phases %standard-phases
- (replace 'build
- (lambda* (#:key import-path #:allow-other-keys)
- (invoke "go" "install"
- "-v" ; print the name of packages as they are compiled
- "-x" ; print each command as it is invoked
- "-ldflags=-s -w" ; strip the symbol table and debug
- "-tags" "llua" ; Latest Lua on Guix does not have a version number.
- import-path)))
- (replace 'check
- (lambda* (#:key import-path #:allow-other-keys)
- (invoke "go" "test"
- "-tags" "llua" ; Latest Lua on Guix does not have a version number.
- import-path))))))
+ ;; While it's possible to fix the CGO_LDFLAGS with the "-tags"
+ ;; command line argument, go-1.10+ does not re-use the produced pkg
+ ;; for dependencies, which means we would need to propagate the
+ ;; same "-tags" argument to all golua referrers. A substitution is
+ ;; more convenient here. We also need to propagate the lua
+ ;; dependency to make it available to referrers.
+ (add-after 'unpack 'fix-lua-ldflags
+ (lambda _
+ (substitute* "src/github.com/aarzilli/golua/lua/lua.go"
+ (("#cgo linux,!llua,!luaa LDFLAGS: -llua5.3")
+ "#cgo linux,!llua,!luaa LDFLAGS: -llua")))))))
(home-page "https://github.com/aarzilli/golua")
(synopsis "Go Bindings for the Lua C API")
(description "This package provides @code{lua}, a Go module that can