diff --git a/WORKSPACE b/WORKSPACE index c5c68ffc25..2d5f48c486 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -183,7 +183,7 @@ load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_depe go_rules_dependencies() go_register_toolchains( - go_version = "1.16.4", + go_version = "1.17.6", nogo = "@//:nogo", ) diff --git a/crypto/bls/blst/BUILD.bazel b/crypto/bls/blst/BUILD.bazel index 319965c0a5..4d3248cb95 100644 --- a/crypto/bls/blst/BUILD.bazel +++ b/crypto/bls/blst/BUILD.bazel @@ -25,6 +25,17 @@ config_setting( }, ) +config_setting( + name = "darwin_arm64", + constraint_values = [ + "@platforms//os:osx", + "@platforms//cpu:arm64", + ], + values = { + "define": "blst_disabled=false", + }, +) + config_setting( name = "windows_amd64", constraint_values = [ @@ -79,6 +90,7 @@ go_library( ":linux_amd64", ":linux_arm64", ":darwin_amd64", + ":darwin_arm64", ":windows_amd64", ":android_amd64", ":android_arm64", @@ -103,6 +115,7 @@ go_library( ":linux_amd64", ":linux_arm64", ":darwin_amd64", + ":darwin_arm64", ":windows_amd64", ":android_amd64", ":android_arm64", @@ -128,6 +141,7 @@ go_test( ":linux_amd64", ":linux_arm64", ":darwin_amd64", + ":darwin_arm64", ":windows_amd64", ":android_amd64", ":android_arm64", @@ -142,6 +156,7 @@ go_test( ":linux_amd64", ":linux_arm64", ":darwin_amd64", + ":darwin_arm64", ":windows_amd64", ":android_amd64", ":android_arm64", @@ -164,6 +179,7 @@ go_test( ":linux_amd64", ":linux_arm64", ":darwin_amd64", + ":darwin_arm64", ":windows_amd64", ":android_amd64", ":android_arm64", @@ -178,6 +194,7 @@ go_test( ":linux_amd64", ":linux_arm64", ":darwin_amd64", + ":darwin_arm64", ":windows_amd64", ":android_amd64", ":android_arm64", diff --git a/go.mod b/go.mod index 03918df358..8e7820af02 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/prysmaticlabs/prysm -go 1.16 +go 1.17 require ( contrib.go.opencensus.io/exporter/jaeger v0.2.1 @@ -93,6 +93,152 @@ require ( k8s.io/client-go v0.18.3 ) +require ( + github.com/BurntSushi/toml v0.3.1 // indirect + github.com/VictoriaMetrics/fastcache v1.6.0 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/btcsuite/btcd v0.22.0-beta // indirect + github.com/cespare/xxhash v1.1.0 // indirect + github.com/cespare/xxhash/v2 v2.1.1 // indirect + github.com/cheekybits/genny v1.0.0 // indirect + github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect + github.com/deepmap/oapi-codegen v1.8.2 // indirect + github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 // indirect + github.com/dop251/goja v0.0.0-20211011172007-d99e4b8cbf48 // indirect + github.com/edsrzf/mmap-go v1.0.0 // indirect + github.com/flynn/noise v1.0.0 // indirect + github.com/francoispqt/gojay v1.2.13 // indirect + github.com/go-playground/locales v0.14.0 // indirect + github.com/go-playground/universal-translator v0.18.0 // indirect + github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect + github.com/go-stack/stack v1.8.0 // indirect + github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect + github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e // indirect + github.com/google/go-cmp v0.5.5 // indirect + github.com/google/gopacket v1.1.19 // indirect + github.com/gorilla/websocket v1.4.2 // indirect + github.com/graph-gophers/graphql-go v0.0.0-20201113091052-beb923fada29 // indirect + github.com/hashicorp/go-bexpr v0.1.10 // indirect + github.com/holiman/bloomfilter/v2 v2.0.3 // indirect + github.com/huin/goupnp v1.0.2 // indirect + github.com/influxdata/influxdb v1.8.3 // indirect + github.com/influxdata/influxdb-client-go/v2 v2.4.0 // indirect + github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097 // indirect + github.com/ipfs/go-cid v0.0.7 // indirect + github.com/ipfs/go-ipfs-util v0.0.2 // indirect + github.com/ipfs/go-log v1.0.5 // indirect + github.com/jackpal/go-nat-pmp v1.0.2 // indirect + github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect + github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a // indirect + github.com/karalabe/usb v0.0.0-20211005121534-4c5740d64559 // indirect + github.com/klauspost/compress v1.11.7 // indirect + github.com/klauspost/cpuid/v2 v2.0.9 // indirect + github.com/konsorten/go-windows-terminal-sequences v1.0.3 // indirect + github.com/koron/go-ssdp v0.0.2 // indirect + github.com/kr/text v0.2.0 // indirect + github.com/leodido/go-urn v1.2.1 // indirect + github.com/libp2p/go-addr-util v0.1.0 // indirect + github.com/libp2p/go-buffer-pool v0.0.2 // indirect + github.com/libp2p/go-cidranger v1.1.0 // indirect + github.com/libp2p/go-conn-security-multistream v0.3.0 // indirect + github.com/libp2p/go-eventbus v0.2.1 // indirect + github.com/libp2p/go-flow-metrics v0.0.3 // indirect + github.com/libp2p/go-libp2p-asn-util v0.1.0 // indirect + github.com/libp2p/go-libp2p-autonat v0.7.0 // indirect + github.com/libp2p/go-libp2p-discovery v0.6.0 // indirect + github.com/libp2p/go-libp2p-mplex v0.4.1 // indirect + github.com/libp2p/go-libp2p-nat v0.1.0 // indirect + github.com/libp2p/go-libp2p-pnet v0.2.0 // indirect + github.com/libp2p/go-libp2p-quic-transport v0.15.2 // indirect + github.com/libp2p/go-libp2p-testing v0.6.0 // indirect + github.com/libp2p/go-libp2p-tls v0.3.1 // indirect + github.com/libp2p/go-libp2p-transport-upgrader v0.6.0 // indirect + github.com/libp2p/go-libp2p-yamux v0.7.0 // indirect + github.com/libp2p/go-maddr-filter v0.1.0 // indirect + github.com/libp2p/go-mplex v0.3.0 // indirect + github.com/libp2p/go-msgio v0.1.0 // indirect + github.com/libp2p/go-nat v0.1.0 // indirect + github.com/libp2p/go-netroute v0.1.6 // indirect + github.com/libp2p/go-openssl v0.0.7 // indirect + github.com/libp2p/go-reuseport v0.1.0 // indirect + github.com/libp2p/go-reuseport-transport v0.1.0 // indirect + github.com/libp2p/go-sockaddr v0.1.1 // indirect + github.com/libp2p/go-stream-muxer-multistream v0.3.0 // indirect + github.com/libp2p/go-ws-transport v0.5.0 // indirect + github.com/libp2p/go-yamux/v2 v2.3.0 // indirect + github.com/lucas-clemente/quic-go v0.24.0 // indirect + github.com/lunixbochs/vtclean v1.0.0 // indirect + github.com/marten-seemann/qtls-go1-16 v0.1.4 // indirect + github.com/marten-seemann/qtls-go1-17 v0.1.0 // indirect + github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect + github.com/mattn/go-colorable v0.1.8 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-runewidth v0.0.9 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect + github.com/miekg/dns v1.1.43 // indirect + github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect + github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect + github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect + github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect + github.com/mitchellh/mapstructure v1.4.1 // indirect + github.com/mitchellh/pointerstructure v1.2.0 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.1 // indirect + github.com/mr-tron/base58 v1.2.0 // indirect + github.com/multiformats/go-base32 v0.0.3 // indirect + github.com/multiformats/go-base36 v0.1.0 // indirect + github.com/multiformats/go-multiaddr-dns v0.3.1 // indirect + github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect + github.com/multiformats/go-multibase v0.0.3 // indirect + github.com/multiformats/go-multihash v0.0.15 // indirect + github.com/multiformats/go-multistream v0.2.2 // indirect + github.com/multiformats/go-varint v0.0.6 // indirect + github.com/nxadm/tail v1.4.8 // indirect + github.com/olekukonko/tablewriter v0.0.5 // indirect + github.com/onsi/ginkgo v1.16.4 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/prometheus/common v0.30.0 // indirect + github.com/prometheus/procfs v0.7.3 // indirect + github.com/rjeczalik/notify v0.9.1 // indirect + github.com/rogpeppe/go-internal v1.8.0 // indirect + github.com/russross/blackfriday/v2 v2.0.1 // indirect + github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect + github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect + github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect + github.com/tklauser/go-sysconf v0.3.5 // indirect + github.com/tklauser/numcpus v0.2.2 // indirect + github.com/uber/jaeger-client-go v2.25.0+incompatible // indirect + github.com/wealdtech/go-eth2-types/v2 v2.5.2 // indirect + github.com/whyrusleeping/multiaddr-filter v0.0.0-20160516205228-e903e4adabd7 // indirect + github.com/whyrusleeping/timecache v0.0.0-20160911033111-cfcb2f1abfee // indirect + go.uber.org/atomic v1.9.0 // indirect + go.uber.org/multierr v1.7.0 // indirect + go.uber.org/zap v1.19.0 // indirect + golang.org/x/mod v0.5.1 // indirect + golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2 // indirect + golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c // indirect + golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 // indirect + golang.org/x/text v0.3.7 // indirect + golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba // indirect + golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect + gopkg.in/cenkalti/backoff.v1 v1.1.0 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect + gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect + gopkg.in/urfave/cli.v1 v1.20.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + k8s.io/apimachinery v0.18.3 // indirect + k8s.io/klog v1.0.0 // indirect + sigs.k8s.io/structured-merge-diff/v3 v3.0.0 // indirect + sigs.k8s.io/yaml v1.2.0 // indirect +) + require ( github.com/StackExchange/wmi v0.0.0-20210224194228-fe8f1750fd46 // indirect github.com/allegro/bigcache v1.2.1 // indirect diff --git a/third_party/herumi/BUILD.bazel b/third_party/herumi/BUILD.bazel index e69de29bb2..79f1755a43 100644 --- a/third_party/herumi/BUILD.bazel +++ b/third_party/herumi/BUILD.bazel @@ -0,0 +1 @@ +exports_files(["mcl_darwin_arm64_base64.o"]) diff --git a/third_party/herumi/bls_eth_go_binary.BUILD b/third_party/herumi/bls_eth_go_binary.BUILD index 9ee0fc2afb..75b3c95e98 100644 --- a/third_party/herumi/bls_eth_go_binary.BUILD +++ b/third_party/herumi/bls_eth_go_binary.BUILD @@ -104,6 +104,9 @@ cc_library( "@io_bazel_rules_go//go/platform:darwin_amd64": [ "bls/lib/darwin/amd64/libbls384_256.a", ], + "@io_bazel_rules_go//go/platform:darwin_arm64": [ + "bls/lib/darwin/arm64/libbls384_256.a", + ], "@io_bazel_rules_go//go/platform:linux_amd64": [ "bls/lib/linux/amd64/libbls384_256.a", ], diff --git a/third_party/herumi/mcl.BUILD b/third_party/herumi/mcl.BUILD index 62524b7806..17fb043e87 100644 --- a/third_party/herumi/mcl.BUILD +++ b/third_party/herumi/mcl.BUILD @@ -17,6 +17,9 @@ cc_library( "@io_bazel_rules_go//go/platform:darwin_amd64": [ "src/asm/x86-64mac.s", ], + "@io_bazel_rules_go//go/platform:darwin_arm64": [ + "@prysm//third_party/herumi:mcl_darwin_arm64_base64.o", + ], "@io_bazel_rules_go//go/platform:linux_amd64": [ "src/asm/x86-64.s", ], diff --git a/third_party/herumi/mcl_darwin_arm64_base64.o b/third_party/herumi/mcl_darwin_arm64_base64.o new file mode 100644 index 0000000000..4d9986dd35 Binary files /dev/null and b/third_party/herumi/mcl_darwin_arm64_base64.o differ diff --git a/tools/cross-toolchain/cc_toolchain.BUILD.bazel.tpl b/tools/cross-toolchain/cc_toolchain.BUILD.bazel.tpl index 33a178d3a5..c506f30292 100644 --- a/tools/cross-toolchain/cc_toolchain.BUILD.bazel.tpl +++ b/tools/cross-toolchain/cc_toolchain.BUILD.bazel.tpl @@ -40,6 +40,15 @@ config_setting( tags = ["manual"], ) +config_setting( + name = "osx_arm64", + constraint_values = [ + "@platforms//os:osx", + "@platforms//cpu:arm64", + ], + tags = ["manual"], +) + config_setting( name = "linux_arm64", constraint_values = [ @@ -156,6 +165,7 @@ toolchain( ":linux_arm64": ":cc-clang-arm64", ":linux_amd64": ":cc-clang-amd64", ":osx_amd64": ":cc-clang-osx", + ":osx_arm64": ":cc-clang-osx", ":windows_amd64": ":cc-mingw-amd64", }), toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",