mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 18:32:25 -05:00 
			
		
		
		
	[experiment] add alternative wasm sqlite3 implementation available via build-tag (#2863)
This allows for building GoToSocial with [SQLite transpiled to WASM](https://github.com/ncruces/go-sqlite3) and accessed through [Wazero](https://wazero.io/).
This commit is contained in:
		
					parent
					
						
							
								cce21c11cb
							
						
					
				
			
			
				commit
				
					
						1e7b32490d
					
				
			
		
					 398 changed files with 86174 additions and 684 deletions
				
			
		
							
								
								
									
										52
									
								
								vendor/github.com/tetratelabs/wazero/internal/version/version.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								vendor/github.com/tetratelabs/wazero/internal/version/version.go
									
										
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,52 @@ | |||
| package version | ||||
| 
 | ||||
| import ( | ||||
| 	"runtime/debug" | ||||
| 	"strings" | ||||
| ) | ||||
| 
 | ||||
| // Default is the default version value used when none was found. | ||||
| const Default = "dev" | ||||
| 
 | ||||
| // version holds the current version from the go.mod of downstream users or set by ldflag for wazero CLI. | ||||
| var version string | ||||
| 
 | ||||
| // GetWazeroVersion returns the current version of wazero either in the go.mod or set by ldflag for wazero CLI. | ||||
| // | ||||
| // If this is not CLI, this assumes that downstream users of wazero imports wazero as "github.com/tetratelabs/wazero". | ||||
| // To be precise, the returned string matches the require statement there. | ||||
| // For example, if the go.mod has "require github.com/tetratelabs/wazero 0.1.2-12314124-abcd", | ||||
| // then this returns "0.1.2-12314124-abcd". | ||||
| // | ||||
| // Note: this is tested in ./testdata/main_test.go with a separate go.mod to pretend as the wazero user. | ||||
| func GetWazeroVersion() (ret string) { | ||||
| 	if len(version) != 0 { | ||||
| 		return version | ||||
| 	} | ||||
| 
 | ||||
| 	info, ok := debug.ReadBuildInfo() | ||||
| 	if ok { | ||||
| 		for _, dep := range info.Deps { | ||||
| 			// Note: here's the assumption that wazero is imported as github.com/tetratelabs/wazero. | ||||
| 			if strings.Contains(dep.Path, "github.com/tetratelabs/wazero") { | ||||
| 				ret = dep.Version | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		// In wazero CLI, wazero is a main module, so we have to get the version info from info.Main. | ||||
| 		if versionMissing(ret) { | ||||
| 			ret = info.Main.Version | ||||
| 		} | ||||
| 	} | ||||
| 	if versionMissing(ret) { | ||||
| 		return Default // don't return parens | ||||
| 	} | ||||
| 
 | ||||
| 	// Cache for the subsequent calls. | ||||
| 	version = ret | ||||
| 	return ret | ||||
| } | ||||
| 
 | ||||
| func versionMissing(ret string) bool { | ||||
| 	return ret == "" || ret == "(devel)" // pkg.go defaults to (devel) | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue