mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-13 12:27:30 -06:00
bumps our fork of modernc.org/sqlite to v1.34.5 (#3731)
This commit is contained in:
parent
053d820845
commit
a24048fc05
42 changed files with 52 additions and 18306 deletions
9
vendor/modernc.org/sqlite/Makefile
generated
vendored
9
vendor/modernc.org/sqlite/Makefile
generated
vendored
|
|
@ -37,8 +37,8 @@ build_all_targets:
|
|||
GOOS=linux GOARCH=riscv64 go build -v ./...
|
||||
GOOS=linux GOARCH=s390x go test -c -o /dev/null
|
||||
GOOS=linux GOARCH=s390x go build -v ./...
|
||||
GOOS=netbsd GOARCH=amd64 go test -c -o /dev/null
|
||||
GOOS=netbsd GOARCH=amd64 go build -v ./...
|
||||
# GOOS=netbsd GOARCH=amd64 go test -c -o /dev/null
|
||||
# GOOS=netbsd GOARCH=amd64 go build -v ./...
|
||||
GOOS=openbsd GOARCH=amd64 go test -c -o /dev/null
|
||||
GOOS=openbsd GOARCH=amd64 go build -v ./...
|
||||
GOOS=openbsd GOARCH=arm64 go test -c -o /dev/null
|
||||
|
|
@ -69,7 +69,10 @@ test:
|
|||
go test -v -timeout 24h 2>&1 | tee log-test
|
||||
|
||||
vendor:
|
||||
go run vendor_libsqlite3.go && make build_all_targets
|
||||
cd vendor_libsqlite3 && go build -o ../vendor main.go
|
||||
./vendor
|
||||
rm -f vendor
|
||||
make build_all_targets
|
||||
make build_all_targets
|
||||
|
||||
work:
|
||||
|
|
|
|||
6
vendor/modernc.org/sqlite/lib/hooks.go
generated
vendored
6
vendor/modernc.org/sqlite/lib/hooks.go
generated
vendored
|
|
@ -2,6 +2,8 @@
|
|||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build !(linux && arm64)
|
||||
|
||||
package sqlite3
|
||||
|
||||
import (
|
||||
|
|
@ -12,3 +14,7 @@ import (
|
|||
func X__ccgo_sqlite3_log(t *libc.TLS, iErrCode int32, zFormat uintptr, va uintptr) { /* sqlite3.c:29405:17: */
|
||||
libc.X__ccgo_sqlite3_log(t, iErrCode, zFormat, va)
|
||||
}
|
||||
|
||||
func PatchIssue199() {
|
||||
// nop
|
||||
}
|
||||
|
|
|
|||
30
vendor/modernc.org/sqlite/lib/hooks_linux_arm64.go
generated
vendored
Normal file
30
vendor/modernc.org/sqlite/lib/hooks_linux_arm64.go
generated
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
// Copyright 2019 The Sqlite Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package sqlite3
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
"unsafe"
|
||||
|
||||
"modernc.org/libc"
|
||||
)
|
||||
|
||||
// Format and write a message to the log if logging is enabled.
|
||||
func X__ccgo_sqlite3_log(t *libc.TLS, iErrCode int32, zFormat uintptr, va uintptr) { /* sqlite3.c:29405:17: */
|
||||
libc.X__ccgo_sqlite3_log(t, iErrCode, zFormat, va)
|
||||
}
|
||||
|
||||
// https://gitlab.com/cznic/sqlite/-/issues/199
|
||||
//
|
||||
// We are currently stuck on libc@v1.55.3. Until that is resolved - fix the
|
||||
// problem at runtime.
|
||||
func PatchIssue199() {
|
||||
p := unsafe.Pointer(&_aSyscall)
|
||||
*(*uintptr)(unsafe.Add(p, 608)) = __ccgo_fp(_unixGetpagesizeIssue199)
|
||||
}
|
||||
|
||||
func _unixGetpagesizeIssue199(tls *libc.TLS) (r int32) {
|
||||
return int32(syscall.Getpagesize())
|
||||
}
|
||||
5
vendor/modernc.org/sqlite/sqlite.go
generated
vendored
5
vendor/modernc.org/sqlite/sqlite.go
generated
vendored
|
|
@ -55,6 +55,11 @@ const (
|
|||
sqliteLockedSharedcache = sqlite3.SQLITE_LOCKED | (1 << 8)
|
||||
)
|
||||
|
||||
// https://gitlab.com/cznic/sqlite/-/issues/199
|
||||
func init() {
|
||||
sqlite3.PatchIssue199()
|
||||
}
|
||||
|
||||
// Error represents sqlite library error code.
|
||||
type Error struct {
|
||||
msg string
|
||||
|
|
|
|||
126
vendor/modernc.org/sqlite/vendor_libsqlite3.go
generated
vendored
126
vendor/modernc.org/sqlite/vendor_libsqlite3.go
generated
vendored
|
|
@ -1,126 +0,0 @@
|
|||
// Copyright 2024 The Sqlite Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
//go:build none
|
||||
// +build none
|
||||
|
||||
// Tool for 1.28+ -> 1.29+. Pulls adjusted libsqlite3 code to this repo.
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"go/token"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"modernc.org/gc/v3"
|
||||
)
|
||||
|
||||
func fail(rc int, msg string, args ...any) {
|
||||
fmt.Fprintln(os.Stderr, strings.TrimSpace(fmt.Sprintf(msg, args...)))
|
||||
os.Exit(rc)
|
||||
}
|
||||
|
||||
func main() {
|
||||
for _, v := range []struct{ goos, goarch string }{
|
||||
{"darwin", "amd64"},
|
||||
{"darwin", "arm64"},
|
||||
{"freebsd", "amd64"},
|
||||
{"freebsd", "arm64"},
|
||||
{"linux", "386"},
|
||||
{"linux", "amd64"},
|
||||
{"linux", "arm"},
|
||||
{"linux", "arm64"},
|
||||
{"linux", "loong64"},
|
||||
{"linux", "ppc64le"},
|
||||
{"linux", "riscv64"},
|
||||
{"linux", "s390x"},
|
||||
{"windows", "386"},
|
||||
{"windows", "amd64"},
|
||||
} {
|
||||
base := fmt.Sprintf("ccgo_%s_%s.go", v.goos, v.goarch)
|
||||
if v.goos == "windows" && v.goarch == "amd64" {
|
||||
base = "ccgo_windows.go"
|
||||
}
|
||||
ifn := filepath.Join("..", "libsqlite3", base)
|
||||
fmt.Printf("%s/%s\t%s\n", v.goos, v.goarch, ifn)
|
||||
in, err := os.ReadFile(ifn)
|
||||
if err != nil {
|
||||
fail(1, "%s\n", err)
|
||||
}
|
||||
|
||||
ast, err := gc.ParseFile(ifn, in)
|
||||
if err != nil {
|
||||
fail(1, "%s\n", err)
|
||||
}
|
||||
|
||||
b := bytes.NewBuffer(nil)
|
||||
s := ast.SourceFile.PackageClause.Source(true)
|
||||
s = strings.Replace(s, "package libsqlite3", "package sqlite3", 1)
|
||||
fmt.Fprintln(b, s)
|
||||
fmt.Fprint(b, ast.SourceFile.ImportDeclList.Source(true))
|
||||
taken := map[string]struct{}{}
|
||||
for n := ast.SourceFile.TopLevelDeclList; n != nil; n = n.List {
|
||||
switch x := n.TopLevelDecl.(type) {
|
||||
case *gc.TypeDeclNode:
|
||||
adn := x.TypeSpecList.TypeSpec.(*gc.AliasDeclNode)
|
||||
nm := adn.IDENT.Src()
|
||||
taken[nm] = struct{}{}
|
||||
}
|
||||
}
|
||||
loop:
|
||||
for n := ast.SourceFile.TopLevelDeclList; n != nil; n = n.List {
|
||||
switch x := n.TopLevelDecl.(type) {
|
||||
case *gc.ConstDeclNode:
|
||||
switch y := x.ConstSpec.(type) {
|
||||
case *gc.ConstSpecNode:
|
||||
if y.IDENT.Src() != "SQLITE_TRANSIENT" {
|
||||
fmt.Fprintln(b, x.Source(true))
|
||||
}
|
||||
default:
|
||||
panic(fmt.Sprintf("%v: %T %q", x.Position(), y, x.Source(false)))
|
||||
}
|
||||
|
||||
case *gc.FunctionDeclNode:
|
||||
fmt.Fprintln(b, x.Source(true))
|
||||
case *gc.TypeDeclNode:
|
||||
fmt.Fprintln(b, x.Source(true))
|
||||
adn := x.TypeSpecList.TypeSpec.(*gc.AliasDeclNode)
|
||||
nm := adn.IDENT.Src()
|
||||
nm2 := nm[1:]
|
||||
if _, ok := taken[nm2]; ok {
|
||||
break
|
||||
}
|
||||
|
||||
if token.IsExported(nm) {
|
||||
fmt.Fprintf(b, "\ntype %s = %s\n", nm2, nm)
|
||||
}
|
||||
case *gc.VarDeclNode:
|
||||
fmt.Fprintln(b, x.Source(true))
|
||||
default:
|
||||
fmt.Printf("%v: TODO %T\n", n.Position(), x)
|
||||
break loop
|
||||
}
|
||||
}
|
||||
|
||||
b.WriteString(`
|
||||
type Sqlite3_int64 = sqlite3_int64
|
||||
type Sqlite3_mutex_methods = sqlite3_mutex_methods
|
||||
type Sqlite3_value = sqlite3_value
|
||||
|
||||
type Sqlite3_index_info = sqlite3_index_info
|
||||
type Sqlite3_module = sqlite3_module
|
||||
type Sqlite3_vtab = sqlite3_vtab
|
||||
type Sqlite3_vtab_cursor = sqlite3_vtab_cursor
|
||||
|
||||
`)
|
||||
base = strings.Replace(base, "ccgo_", "sqlite_", 1)
|
||||
if err := os.WriteFile(filepath.Join("lib", base), b.Bytes(), 0660); err != nil {
|
||||
fail(1, "%s\n", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue