crypto/secp256k1: add workaround for go mod vendor (#21735)
Go won't vendor C files if there are no Go files present in the directory. Workaround is to add dummy Go files. Fixes: #20232
This commit is contained in:
		
							
								
								
									
										20
									
								
								crypto/secp256k1/dummy.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								crypto/secp256k1/dummy.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
// +build dummy
 | 
			
		||||
 | 
			
		||||
// This file is part of a workaround for `go mod vendor` which won't vendor
 | 
			
		||||
// C files if there's no Go file in the same directory.
 | 
			
		||||
// This would prevent the crypto/secp256k1/libsecp256k1/include/secp256k1.h file to be vendored.
 | 
			
		||||
//
 | 
			
		||||
// This Go file imports the c directory where there is another dummy.go file which
 | 
			
		||||
// is the second part of this workaround.
 | 
			
		||||
//
 | 
			
		||||
// These two files combined make it so `go mod vendor` behaves correctly.
 | 
			
		||||
//
 | 
			
		||||
// See this issue for reference: https://github.com/golang/go/issues/26366
 | 
			
		||||
 | 
			
		||||
package secp256k1
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	_ "github.com/ethereum/go-ethereum/crypto/secp256k1/libsecp256k1/include"
 | 
			
		||||
	_ "github.com/ethereum/go-ethereum/crypto/secp256k1/libsecp256k1/src"
 | 
			
		||||
	_ "github.com/ethereum/go-ethereum/crypto/secp256k1/libsecp256k1/src/modules/recovery"
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										7
									
								
								crypto/secp256k1/libsecp256k1/contrib/dummy.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								crypto/secp256k1/libsecp256k1/contrib/dummy.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
// +build dummy
 | 
			
		||||
 | 
			
		||||
// Package c contains only a C file.
 | 
			
		||||
//
 | 
			
		||||
// This Go file is part of a workaround for `go mod vendor`.
 | 
			
		||||
// Please see the file crypto/secp256k1/dummy.go for more information.
 | 
			
		||||
package contrib
 | 
			
		||||
							
								
								
									
										7
									
								
								crypto/secp256k1/libsecp256k1/dummy.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								crypto/secp256k1/libsecp256k1/dummy.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
// +build dummy
 | 
			
		||||
 | 
			
		||||
// Package c contains only a C file.
 | 
			
		||||
//
 | 
			
		||||
// This Go file is part of a workaround for `go mod vendor`.
 | 
			
		||||
// Please see the file crypto/secp256k1/dummy.go for more information.
 | 
			
		||||
package libsecp256k1
 | 
			
		||||
							
								
								
									
										7
									
								
								crypto/secp256k1/libsecp256k1/include/dummy.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								crypto/secp256k1/libsecp256k1/include/dummy.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
// +build dummy
 | 
			
		||||
 | 
			
		||||
// Package c contains only a C file.
 | 
			
		||||
//
 | 
			
		||||
// This Go file is part of a workaround for `go mod vendor`.
 | 
			
		||||
// Please see the file crypto/secp256k1/dummy.go for more information.
 | 
			
		||||
package include
 | 
			
		||||
							
								
								
									
										7
									
								
								crypto/secp256k1/libsecp256k1/src/dummy.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								crypto/secp256k1/libsecp256k1/src/dummy.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
// +build dummy
 | 
			
		||||
 | 
			
		||||
// Package c contains only a C file.
 | 
			
		||||
//
 | 
			
		||||
// This Go file is part of a workaround for `go mod vendor`.
 | 
			
		||||
// Please see the file crypto/secp256k1/dummy.go for more information.
 | 
			
		||||
package src
 | 
			
		||||
							
								
								
									
										7
									
								
								crypto/secp256k1/libsecp256k1/src/modules/dummy.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								crypto/secp256k1/libsecp256k1/src/modules/dummy.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
// +build dummy
 | 
			
		||||
 | 
			
		||||
// Package c contains only a C file.
 | 
			
		||||
//
 | 
			
		||||
// This Go file is part of a workaround for `go mod vendor`.
 | 
			
		||||
// Please see the file crypto/secp256k1/dummy.go for more information.
 | 
			
		||||
package module
 | 
			
		||||
							
								
								
									
										7
									
								
								crypto/secp256k1/libsecp256k1/src/modules/ecdh/dummy.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								crypto/secp256k1/libsecp256k1/src/modules/ecdh/dummy.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
// +build dummy
 | 
			
		||||
 | 
			
		||||
// Package c contains only a C file.
 | 
			
		||||
//
 | 
			
		||||
// This Go file is part of a workaround for `go mod vendor`.
 | 
			
		||||
// Please see the file crypto/secp256k1/dummy.go for more information.
 | 
			
		||||
package ecdh
 | 
			
		||||
@@ -0,0 +1,7 @@
 | 
			
		||||
// +build dummy
 | 
			
		||||
 | 
			
		||||
// Package c contains only a C file.
 | 
			
		||||
//
 | 
			
		||||
// This Go file is part of a workaround for `go mod vendor`.
 | 
			
		||||
// Please see the file crypto/secp256k1/dummy.go for more information.
 | 
			
		||||
package recovery
 | 
			
		||||
		Reference in New Issue
	
	Block a user