Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: support fedora #4371

Merged
merged 33 commits into from
Aug 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
17b42e4
Update dependencies install script for rhel/fedora.
jiceatscion Jul 19, 2023
fd5b968
build: Update dependencies install script for rhel/fedora.
jiceatscion Jul 19, 2023
dc2a094
Merge remote-tracking branch 'refs/remotes/origin/master'
jiceatscion Jul 19, 2023
f3311b4
build: Mild cleanup. Reduces the number of make invocations needed.
jiceatscion Jul 21, 2023
a97238b
build: added openssl as a needed package for rhel/fedora.
jiceatscion Jul 21, 2023
33e1584
storage: add a new sqlite implementation that has no C dependency.
jiceatscion Jul 23, 2023
0775e0d
build: Remove commented-out failed experiment.
jiceatscion Jul 24, 2023
e878565
Merge remote-tracking branch 'upstream/master'
jiceatscion Jul 24, 2023
d758060
Remove stray trailing commas.
jiceatscion Jul 24, 2023
1e7051c
build: Improve sqlite implementation selection method.
jiceatscion Jul 25, 2023
3abef90
build: The new-style build tags had an extra space.
jiceatscion Jul 25, 2023
f6e9861
Merge remote-tracking branch 'upstream/master'
jiceatscion Jul 28, 2023
5c90e52
Implementing reviewers suggestions
jiceatscion Jul 28, 2023
d7c0c40
storage: implement reviewrs suggestion. Factoring common code between…
jiceatscion Jul 28, 2023
1240f44
build: un-break bazel query, therefore un-break buildkite.
jiceatscion Jul 28, 2023
b0420f3
build: had missed a spot. The target go-mod-tidy exists no more. go.m…
jiceatscion Jul 28, 2023
18c8038
build: fixed invocation of golangci-lint by passing the build tags.
jiceatscion Jul 31, 2023
586054e
build: remove the explicit build tag args from the test and run. They…
jiceatscion Jul 31, 2023
6aab254
storage: unexpport driverName() and addPragmas. They're for use withi…
jiceatscion Jul 31, 2023
b72c234
storage: Use proper style for the copyright: Scion -> SCION.
jiceatscion Jul 31, 2023
879d787
storage: removed sray import.
jiceatscion Jul 31, 2023
3e9e3c1
build: Improve parsing of buid tags from .bazelrc for linter args.
jiceatscion Jul 31, 2023
05f1e8d
build: replace [docker-compose ...] --no-asnsi w/ --ansi never.
jiceatscion Jul 31, 2023
2f77c09
build: fix regex for gotags.
jiceatscion Jul 31, 2023
9fb310f
Merge branch 'master' into master
jiceatscion Jul 31, 2023
2188f23
build: Fix the go tags regex again.
jiceatscion Jul 31, 2023
e66822d
build: Remove license file for sqlite_mattn since we use modernc inst…
jiceatscion Jul 31, 2023
a8fe5b2
build: tools/update_testdata.sh needs to use the go build tags too.
jiceatscion Jul 31, 2023
1573c02
build: Apply reviewers suggestions.
jiceatscion Aug 3, 2023
cf084ae
doc: Implement reviewer's suggestion.
jiceatscion Aug 3, 2023
25f7748
build: Make sqlite_modernc the default when building with go buil.
jiceatscion Aug 8, 2023
c0fb9db
Merge branch 'master' of github.com:scionproto/scion
jiceatscion Aug 10, 2023
174a9b8
Fix comment.
jiceatscion Aug 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
### common options for all subcommands (help, query, build, ...)
common --show_timestamps

# connect to buchgr/bazel-remote cache
# These flags can unfortunately not be specified for `common`, as they are not accepted by all subcommands (help, version, dump)
build --remote_cache=grpc://localhost:9092 --experimental_remote_downloader=grpc://localhost:9092
Expand All @@ -14,6 +15,10 @@ build --java_runtime_version=remotejdk_11
# disable legacy_create_init for py_binary, py_test etc. This may eventually become the default.
build --incompatible_default_to_explicit_init_py

# include one of "--define gotags=sqlite_mattn" or "--define gotags=sqlite_modernc"
# cannot be in common, because query chokes on it.
build --define gotags=sqlite_modernc

### options for test
test --build_tests_only --print_relative_test_log_paths --test_output=errors

Expand Down
2 changes: 1 addition & 1 deletion .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ steps:
- echo "--- go_deps.bzl"
- mkdir -p /tmp/test-artifacts
- cp go.mod go.sum go_deps.bzl /tmp/test-artifacts/
- make go.mod
- make go_deps.bzl -B
- make go-mod-tidy
- diff -u /tmp/test-artifacts/go.mod go.mod
- diff -u /tmp/test-artifacts/go.sum go.sum
- diff -u /tmp/test-artifacts/go_deps.bzl go_deps.bzl
Expand Down
76 changes: 75 additions & 1 deletion BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,81 @@ load("@cgrindel_bazel_starlib//updatesrc:defs.bzl", "updatesrc_update_all")
# gazelle:exclude doc/**
# gazelle:exclude rules_openapi/tools/node_modules/**
# gazelle:exclude tools/lint/**/testdata/src/**
gazelle(name = "gazelle")

# We suport two sqlite implementations: modernc and mattn. Each implementation
# has a corresponding sqlite_<impl>.go "driver" in private/storage/db. Which
# driver gets compiled and linked is controled by a go build tag: sqlite_mattn
# or sqlite_modernc. Those are specified on the command line
# with "--define gotags=sqlite_mattn" or "--define gotags=sqlite_modernc"
# (see the build options in .bazelrc).
#
# Unfortunately Gazelle needs to be given these tags explicitly via the builtags
# attribute. So, to ensure consistency we have to translate our two gotags into
# build_tags. To that end, we create two config_setting flags that are
# set in response to matching the gotags value and use them to select the relevant
# tag for gazelle. (The "define_value" attribute of config_setting doesn't define
# anything. It matches a key-value pair from "--define").
#
# This is simplistic but the complete, by-the-everchanging-bazel-book, solution
# is ludicrously complicated. Go there if and when needed.
config_setting(
name = "sqlite_mattn",
define_values = {
"gotags": "sqlite_mattn",
},
)

config_setting(
name = "sqlite_modernc",
define_values = {
"gotags": "sqlite_modernc",
},
)

# This is a dummy target so Make can "blaze build --announce_rc <something>
# Where something truly does nothing that we may care about.

config_setting(
name = "dummy_setting",
define_values = {
"whatever": "whatever",
},
)

gazelle(
name = "gazelle",
build_tags = select({
":sqlite_modernc": ["sqlite_modernc"],
":sqlite_mattn": ["sqlite_mattn"],
}),
command = "update",
extra_args = [
"-mode",
"fix",
"-go_naming_convention",
"go_default_library",
],
)

gazelle(
name = "gazelle_diff",
build_tags = select({
":sqlite_modernc": ["sqlite_modernc"],
":sqlite_mattn": ["sqlite_mattn"],
}),
command = "update",
extra_args = [
"-mode",
"diff",
"-go_naming_convention",
"go_default_library",
],
)

gazelle(
name = "gazelle_update_repos",
command = "update-repos",
)

go_lint_config(
name = "go_lint_config",
Expand Down
23 changes: 12 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
.PHONY: all antlr bazel clean docker-images gazelle go-mod-tidy licenses mocks protobuf scion-topo test test-integration write_all_source_files
GAZELLE_MODE?=fix
GAZELLE_DIRS=.
.PHONY: all antlr bazel clean docker-images gazelle go.mod licenses mocks protobuf scion-topo test test-integration write_all_source_files

build: bazel

Expand All @@ -10,7 +8,7 @@ build: bazel
# Use NOTPARALLEL to force correct order.
# Note: From GNU make 4.4, this still allows building any other targets (e.g. lint) in parallel.
.NOTPARALLEL: all
all: go_deps.bzl protobuf mocks gazelle licenses build antlr write_all_source_files
all: go_deps.bzl protobuf mocks gazelle build antlr write_all_source_files licenses

clean:
bazel clean
Expand All @@ -28,11 +26,12 @@ test:
test-integration:
bazel test --config=integration_all

go-mod-tidy:
go.mod:
bazel run --config=quiet @go_sdk//:bin/go -- mod tidy

go_deps.bzl: go.mod
bazel run --config=quiet //:gazelle -- update-repos -prune -from_file=go.mod -to_macro=go_deps.bzl%go_deps
@# gazelle is run with "-args"; so our arguments are added to those from the gazelle() rule.
bazel run --verbose_failures --config=quiet //:gazelle_update_repos -- -args -prune -from_file=go.mod -to_macro=go_deps.bzl%go_deps
@# XXX(matzf): clean up; gazelle update-repose inconsistently inserts blank lines (see bazelbuild/bazel-gazelle#1088).
@sed -e '/def go_deps/,$${/^$$/d}' -i go_deps.bzl

Expand All @@ -57,14 +56,14 @@ protobuf:
mocks:
tools/gomocks.py

gazelle:
bazel run //:gazelle --config=quiet -- update -mode=$(GAZELLE_MODE) -go_naming_convention go_default_library $(GAZELLE_DIRS)
gazelle: go_deps.bzl
bazel run //:gazelle --verbose_failures --config=quiet

licenses:
tools/licenses.sh

antlr:
antlr/generate.sh $(GAZELLE_MODE)
antlr/generate.sh fix

write_all_source_files:
bazel run //:write_all_source_files
Expand All @@ -83,16 +82,18 @@ lint-go: lint-go-gazelle lint-go-bazel lint-go-golangci lint-go-semgrep

lint-go-gazelle:
$(info ==> $@)
@$(MAKE) -s gazelle GAZELLE_MODE=diff
bazel run //:gazelle_diff --verbose_failures --config=quiet

lint-go-bazel:
$(info ==> $@)
@tools/quiet bazel test --config lint

GO_BUILD_TAGS_ARG=$(shell bazel build --ui_event_filters=-stdout,-stderr --announce_rc --noshow_progress :dummy_setting 2>&1 | grep "'build' options" | sed -n "s/^.*--define gotags=\(\S*\).*/--build-tags \1/p" )

lint-go-golangci:
$(info ==> $@)
@if [ -t 1 ]; then tty=true; else tty=false; fi; \
tools/quiet docker run --tty=$$tty --rm -v golangci-lint-modcache:/go -v golangci-lint-buildcache:/root/.cache -v "${PWD}:/src" -w /src golangci/golangci-lint:v1.50.0 golangci-lint run --config=/src/.golangcilint.yml --timeout=3m --skip-dirs doc ./...
tools/quiet docker run --tty=$$tty --rm -v golangci-lint-modcache:/go -v golangci-lint-buildcache:/root/.cache -v "${PWD}:/src" -w /src golangci/golangci-lint:v1.50.0 golangci-lint run --config=/src/.golangcilint.yml --timeout=3m $(GO_BUILD_TAGS_ARG) --skip-dirs doc ./...

lint-go-semgrep:
$(info ==> $@)
Expand Down
7 changes: 3 additions & 4 deletions doc/dev/dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,9 @@ Workflow to modify dependencies
To add/remove or update dependencies:

1. Modify ``go.mod``, manually or using e.g. ``go get``.
2. ``make go-mod-tidy``
3. ``make go_deps.bzl``
4. ``make licenses``, to update the licenses with the new dependency
5. ``make gazelle``, to update the build files that depend on the newly added dependency
2. ``make go_deps.bzl``
3. ``make licenses``, to update the licenses with the new dependency
4. ``make gazelle``, to update the build files that depend on the newly added dependency

.. Warning::
The Go rules for Bazel (rules_go) declares some internally used dependencies.
Expand Down
19 changes: 15 additions & 4 deletions doc/dev/setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ Prerequisites
#. Make sure that you are using a clean and recently updated linux distribution. Distributions that are
known to work are:

* **Ubuntu** release 18.04 or later.
* **Fedora** release 38 or later.
* **Amazon** Linux 2.
- **Ubuntu** release 18.04 or later.
- **Fedora** release 38 or later.
- **Amazon** Linux 2.

Other Linux environments will usually be fine too, but some of the tooling might need
tweaking. If you make things work for other distributions, please update this list.
Expand Down Expand Up @@ -109,11 +109,22 @@ rejecting your changes.
#. Install go. Either follow `the official instructions <https://go.dev/doc/install>`_
or check the `Ubuntu specific installation options on the golang wiki <https://github.com/golang/go/wiki/Ubuntu>`_.

#. Decide which implementation of sqlite you want to use:

- `mattn`: A cgo implementation. It is well established but makes go
executables dependent on a minimum glibc version.
- `modernc`: A pure go implementation. It does not cause glibc version
issues but is less common. modernc is currently recommended due to
the glibc issue.

#. Build SCION services and tools.

.. code-block:: bash

go build -o bin ./<service>/cmd/<service>...
go build -o -tags sqlite_<impl> bin ./<service>/cmd/<service>...

where <impl> is one of `modernc` or `mattn`.


Tips and Tricks
---------------
Expand Down
15 changes: 14 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ require (
github.com/lestrrat-go/jwx v1.2.25
github.com/lucas-clemente/quic-go v0.29.1
github.com/mattn/go-isatty v0.0.17
github.com/mattn/go-sqlite3 v1.14.16
github.com/mattn/go-sqlite3 v1.14.17
github.com/olekukonko/tablewriter v0.0.5
github.com/opentracing/opentracing-go v1.2.0
github.com/patrickmn/go-cache v2.1.1-0.20180815053127-5633e0862627+incompatible
Expand All @@ -50,6 +50,7 @@ require (
google.golang.org/grpc/examples v0.0.0-20230222033013-5353eaa44095
google.golang.org/protobuf v1.28.1
gopkg.in/yaml.v2 v2.4.0
modernc.org/sqlite v1.24.0
)

require (
Expand All @@ -62,6 +63,7 @@ require (
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/go-openapi/jsonpointer v0.19.5 // indirect
github.com/go-openapi/swag v0.21.1 // indirect
Expand All @@ -75,6 +77,7 @@ require (
github.com/invopop/yaml v0.1.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/jtolds/gls v4.20.0+incompatible // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
github.com/lestrrat-go/backoff/v2 v2.0.8 // indirect
github.com/lestrrat-go/blackmagic v1.0.0 // indirect
github.com/lestrrat-go/httpcc v1.0.1 // indirect
Expand All @@ -97,6 +100,7 @@ require (
github.com/prometheus/client_model v0.3.0 // indirect
github.com/prometheus/common v0.37.0 // indirect
github.com/prometheus/procfs v0.8.0 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/smartystreets/assertions v1.2.0 // indirect
github.com/spf13/afero v1.9.3 // indirect
Expand All @@ -115,6 +119,15 @@ require (
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
lukechampine.com/uint128 v1.2.0 // indirect
modernc.org/cc/v3 v3.40.0 // indirect
modernc.org/ccgo/v3 v3.16.13 // indirect
modernc.org/libc v1.22.5 // indirect
modernc.org/mathutil v1.5.0 // indirect
modernc.org/memory v1.5.0 // indirect
modernc.org/opt v0.1.3 // indirect
modernc.org/strutil v1.1.3 // indirect
modernc.org/token v1.0.1 // indirect
)

go 1.18
36 changes: 34 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ github.com/docker/cli v20.10.20+incompatible h1:lWQbHSHUFs7KraSN2jOJK7zbMS2jNCHI
github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68=
github.com/docker/docker v20.10.20+incompatible h1:kH9tx6XO+359d+iAkumyKDc5Q1kOwPuAUaeri48nD6E=
github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A=
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
Expand Down Expand Up @@ -205,6 +207,7 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf
github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
Expand Down Expand Up @@ -250,6 +253,8 @@ github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfV
github.com/juju/gnuflag v0.0.0-20171113085948-2ce1bb71843d/go.mod h1:2PavIy+JPciBPrBUjwbNvtwB6RQlve+hkpll6QSNmOE=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c=
Expand Down Expand Up @@ -295,8 +300,8 @@ github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPn
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/mattn/go-sqlite3 v1.14.17 h1:mCRHCLDUBXgpKAqIKsaAaAsrAlbkeomtRFKXh2L6YIM=
github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
Expand Down Expand Up @@ -370,6 +375,9 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1
github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo=
github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4=
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
Expand Down Expand Up @@ -831,6 +839,30 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI=
lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw=
modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw=
modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
modernc.org/libc v1.22.5 h1:91BNch/e5B0uPbJFgqbxXuOnxBQjlS//icfQEGmvyjE=
modernc.org/libc v1.22.5/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY=
modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds=
modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
modernc.org/sqlite v1.24.0 h1:EsClRIWHGhLTCX44p+Ri/JLD+vFGo0QGjasg2/F9TlI=
modernc.org/sqlite v1.24.0/go.mod h1:OrDj17Mggn6MhE+iPbBNf7RGKODDE9NFT0f3EwDzJqk=
modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY=
modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg=
modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
Loading
Loading