tests/thirdparty: use Suite type for configuration (#285)
This commit is contained in:
committed by
GitHub
parent
5e6971cc7a
commit
62c71109a4
2
.github/workflows/thirdparty.yml
vendored
2
.github/workflows/thirdparty.yml
vendored
@@ -25,4 +25,4 @@ jobs:
|
|||||||
persist-credentials: false
|
persist-credentials: false
|
||||||
- name: Run Third-Party Tests
|
- name: Run Third-Party Tests
|
||||||
working-directory: tests/thirdparty
|
working-directory: tests/thirdparty
|
||||||
run: go test -net -prjs projects.json
|
run: go test -net -suite suite.json
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ var (
|
|||||||
typ = flag.String("type", "", "documentation type")
|
typ = flag.String("type", "", "documentation type")
|
||||||
tmpl = flag.String("tmpl", "", "explicit template file (overrides -type)")
|
tmpl = flag.String("tmpl", "", "explicit template file (overrides -type)")
|
||||||
output = flag.String("output", "", "path to output file (default stdout)")
|
output = flag.String("output", "", "path to output file (default stdout)")
|
||||||
prjsfilename = flag.String("prjs", "", "projects configuration")
|
suitefilename = flag.String("suite", "", "third-party test suite configuration")
|
||||||
)
|
)
|
||||||
|
|
||||||
func mainerr() (err error) {
|
func mainerr() (err error) {
|
||||||
@@ -60,18 +60,18 @@ func mainerr() (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Load third-party projects.
|
// Load third-party projects.
|
||||||
if *prjsfilename == "" {
|
if *suitefilename == "" {
|
||||||
return errors.New("missing projects configuration")
|
return errors.New("missing test suite configuration")
|
||||||
}
|
}
|
||||||
|
|
||||||
prjs, err := thirdparty.LoadProjectsFile(*prjsfilename)
|
suite, err := thirdparty.LoadSuiteFile(*suitefilename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Execute.
|
// Execute.
|
||||||
data := map[string]interface{}{
|
data := map[string]interface{}{
|
||||||
"Projects": prjs,
|
"Suite": suite,
|
||||||
}
|
}
|
||||||
|
|
||||||
var buf bytes.Buffer
|
var buf bytes.Buffer
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Adopters
|
# Adopters
|
||||||
{{ range .Projects.Ranked }}
|
{{ range .Suite.Projects.Ranked }}
|
||||||
{{ avatar .Repository.Owner 28 }} [{{ .Repository.Owner }} / **{{ .Repository.Name }}**]({{ .Repository.URL }})
|
{{ avatar .Repository.Owner 28 }} [{{ .Repository.Owner }} / **{{ .Repository.Name }}**]({{ .Repository.URL }})
|
||||||
|
|
||||||
{{ .Metadata.Description }}
|
{{ .Metadata.Description }}
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ Implementations of full algorithms:
|
|||||||
|
|
||||||
Popular projects using `avo`:
|
Popular projects using `avo`:
|
||||||
|
|
||||||
{{ range .Projects.Top 10 -}}
|
{{ range .Suite.Projects.Top 10 -}}
|
||||||
{{ if lt .Metadata.Stars 100 }}{{break}}{{ end -}}
|
{{ if lt .Metadata.Stars 100 }}{{break}}{{ end -}}
|
||||||
{{ avatar .Repository.Owner 24 }} [{{ .Repository.Owner }} / **{{ .Repository.Name }}**]({{ .Repository.URL }})
|
{{ avatar .Repository.Owner 24 }} [{{ .Repository.Owner }} / **{{ .Repository.Name }}**]({{ .Repository.URL }})
|
||||||
:star: {{ stars .Metadata.Stars }}
|
:star: {{ stars .Metadata.Stars }}
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
# Generate some specific files with docgen.
|
# Generate some specific files with docgen.
|
||||||
go install ./internal/cmd/docgen
|
go install ./internal/cmd/docgen
|
||||||
|
|
||||||
prjs="tests/thirdparty/projects.json"
|
suite="tests/thirdparty/suite.json"
|
||||||
docgen -prjs "${prjs}" -type readme -output README.md
|
docgen -suite "${suite}" -type readme -output README.md
|
||||||
docgen -prjs "${prjs}" -type adopters -output doc/adopters.md
|
docgen -suite "${suite}" -type adopters -output doc/adopters.md
|
||||||
|
|
||||||
# Process simple file embeddings with embedmd.
|
# Process simple file embeddings with embedmd.
|
||||||
find . -name '*.md' | xargs embedmd -w
|
find . -name '*.md' | xargs embedmd -w
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash -ex
|
#!/bin/bash -ex
|
||||||
|
|
||||||
# Run metadata test in update mode.
|
# Run metadata test in update mode.
|
||||||
go test ./tests/thirdparty/ -v -run Metadata -args -update -prjs projects.json -net
|
go test ./tests/thirdparty/ -v -run Metadata -args -update -suite suite.json -net
|
||||||
|
|||||||
56
tests/thirdparty/config.go
vendored
56
tests/thirdparty/config.go
vendored
@@ -353,44 +353,58 @@ func (p Projects) Top(n int) Projects {
|
|||||||
return top
|
return top
|
||||||
}
|
}
|
||||||
|
|
||||||
// LoadProjects loads a list of project configurations from JSON format.
|
// Suite defines a third-party test suite.
|
||||||
func LoadProjects(r io.Reader) (Projects, error) {
|
type Suite struct {
|
||||||
var prjs Projects
|
Projects Projects `json:"projects"`
|
||||||
d := json.NewDecoder(r)
|
|
||||||
d.DisallowUnknownFields()
|
|
||||||
if err := d.Decode(&prjs); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
prjs.defaults(true)
|
|
||||||
return prjs, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// LoadProjectsFile loads a list of project configurations from a JSON file.
|
func (s *Suite) defaults(set bool) {
|
||||||
func LoadProjectsFile(filename string) (Projects, error) {
|
s.Projects.defaults(set)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Validate the test suite.
|
||||||
|
func (s *Suite) Validate() error {
|
||||||
|
return s.Projects.Validate()
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoadSuite loads a test suite from JSON format.
|
||||||
|
func LoadSuite(r io.Reader) (*Suite, error) {
|
||||||
|
var s *Suite
|
||||||
|
d := json.NewDecoder(r)
|
||||||
|
d.DisallowUnknownFields()
|
||||||
|
if err := d.Decode(&s); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
s.defaults(true)
|
||||||
|
return s, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// LoadSuiteFile loads a test suite from a JSON file.
|
||||||
|
func LoadSuiteFile(filename string) (*Suite, error) {
|
||||||
f, err := os.Open(filename)
|
f, err := os.Open(filename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
return LoadProjects(f)
|
return LoadSuite(f)
|
||||||
}
|
}
|
||||||
|
|
||||||
// StoreProjects writes a list of project configurations in JSON format.
|
// StoreSuite writes a test suite in JSON format.
|
||||||
func StoreProjects(w io.Writer, prjs Projects) error {
|
func StoreSuite(w io.Writer, s *Suite) error {
|
||||||
e := json.NewEncoder(w)
|
e := json.NewEncoder(w)
|
||||||
e.SetIndent("", " ")
|
e.SetIndent("", " ")
|
||||||
prjs.defaults(false)
|
s.defaults(false)
|
||||||
err := e.Encode(prjs)
|
err := e.Encode(s)
|
||||||
prjs.defaults(true)
|
s.defaults(true)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// StoreProjectsFile writes a list of project configurations to a JSON file.
|
// StoreSuiteFile writes a test suite to a JSON file.
|
||||||
func StoreProjectsFile(filename string, prjs Projects) error {
|
func StoreSuiteFile(filename string, s *Suite) error {
|
||||||
f, err := os.Create(filename)
|
f, err := os.Create(filename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
return StoreProjects(f, prjs)
|
return StoreSuite(f, s)
|
||||||
}
|
}
|
||||||
|
|||||||
36
tests/thirdparty/config_test.go
vendored
36
tests/thirdparty/config_test.go
vendored
@@ -107,17 +107,17 @@ func TestValidateErrors(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestLoadProjectsBad(t *testing.T) {
|
func TestLoadSuiteBad(t *testing.T) {
|
||||||
r := strings.NewReader(`[{"unknown_field": "value"}]`)
|
r := strings.NewReader(`[{"unknown_field": "value"}]`)
|
||||||
_, err := LoadProjects(r)
|
_, err := LoadSuite(r)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatal("expected non-nil error")
|
t.Fatal("expected non-nil error")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestLoadProjectsFileNotExist(t *testing.T) {
|
func TestLoadSuiteFileNotExist(t *testing.T) {
|
||||||
prjs, err := LoadProjectsFile("does_not_exist")
|
s, err := LoadSuiteFile("does_not_exist")
|
||||||
if prjs != nil {
|
if s != nil {
|
||||||
t.Fatal("expected nil return")
|
t.Fatal("expected nil return")
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
@@ -125,24 +125,24 @@ func TestLoadProjectsFileNotExist(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestProjectsFileValid(t *testing.T) {
|
func TestSuiteFileValid(t *testing.T) {
|
||||||
prjs, err := LoadProjectsFile("projects.json")
|
s, err := LoadSuiteFile("suite.json")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
for _, prj := range prjs {
|
for _, prj := range s.Projects {
|
||||||
t.Logf("read: %s", prj.ID())
|
t.Logf("read: %s", prj.ID())
|
||||||
}
|
}
|
||||||
if len(prjs) == 0 {
|
if len(s.Projects) == 0 {
|
||||||
t.Fatal("no packages loaded")
|
t.Fatal("no packages loaded")
|
||||||
}
|
}
|
||||||
if err := prjs.Validate(); err != nil {
|
if err := s.Validate(); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestProjectsFileStepsValid(t *testing.T) {
|
func TestSuiteFileStepsValid(t *testing.T) {
|
||||||
prjs, err := LoadProjectsFile("projects.json")
|
suite, err := LoadSuiteFile("suite.json")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@@ -150,7 +150,7 @@ func TestProjectsFileStepsValid(t *testing.T) {
|
|||||||
AvoDirectory: "avo",
|
AvoDirectory: "avo",
|
||||||
RepositoryDirectory: "repo",
|
RepositoryDirectory: "repo",
|
||||||
}
|
}
|
||||||
for _, prj := range prjs {
|
for _, prj := range suite.Projects {
|
||||||
for _, pkg := range prj.Packages {
|
for _, pkg := range prj.Packages {
|
||||||
for _, s := range pkg.Steps(c) {
|
for _, s := range pkg.Steps(c) {
|
||||||
if err := s.Validate(); err != nil {
|
if err := s.Validate(); err != nil {
|
||||||
@@ -161,25 +161,25 @@ func TestProjectsFileStepsValid(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestProjectsFileRoundtrip(t *testing.T) {
|
func TestSuiteFileRoundtrip(t *testing.T) {
|
||||||
prjs, err := LoadProjectsFile("projects.json")
|
s, err := LoadSuiteFile("suite.json")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write and read back.
|
// Write and read back.
|
||||||
buf := bytes.NewBuffer(nil)
|
buf := bytes.NewBuffer(nil)
|
||||||
if err := StoreProjects(buf, prjs); err != nil {
|
if err := StoreSuite(buf, s); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
roundtrip, err := LoadProjects(buf)
|
roundtrip, err := LoadSuite(buf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Should be identical.
|
// Should be identical.
|
||||||
if !reflect.DeepEqual(prjs, roundtrip) {
|
if !reflect.DeepEqual(s, roundtrip) {
|
||||||
t.Fatal("roundtrip mismatch")
|
t.Fatal("roundtrip mismatch")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
14
tests/thirdparty/make_workflow.go
vendored
14
tests/thirdparty/make_workflow.go
vendored
@@ -16,7 +16,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
prjsfilename = flag.String("prjs", "", "projects configuration")
|
suitefilename = flag.String("suite", "", "third-party test suite configuration")
|
||||||
output = flag.String("output", "", "path to output file (default stdout)")
|
output = flag.String("output", "", "path to output file (default stdout)")
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -29,13 +29,13 @@ func main() {
|
|||||||
func mainerr() error {
|
func mainerr() error {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
// Read projects.
|
// Read third-party test suite.
|
||||||
prjs, err := thirdparty.LoadProjectsFile(*prjsfilename)
|
suite, err := thirdparty.LoadSuiteFile(*suitefilename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := prjs.Validate(); err != nil {
|
if err := suite.Validate(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,7 +51,7 @@ func mainerr() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Generate workflow file.
|
// Generate workflow file.
|
||||||
b, err := GenerateWorkflow(prjs)
|
b, err := GenerateWorkflow(suite)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -64,7 +64,7 @@ func mainerr() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func GenerateWorkflow(prjs thirdparty.Projects) ([]byte, error) {
|
func GenerateWorkflow(s *thirdparty.Suite) ([]byte, error) {
|
||||||
g := &prnt.Generator{}
|
g := &prnt.Generator{}
|
||||||
g.SetIndentString(" ")
|
g.SetIndentString(" ")
|
||||||
|
|
||||||
@@ -87,7 +87,7 @@ func GenerateWorkflow(prjs thirdparty.Projects) ([]byte, error) {
|
|||||||
// One job per test case.
|
// One job per test case.
|
||||||
g.Linef("jobs:")
|
g.Linef("jobs:")
|
||||||
g.Indent()
|
g.Indent()
|
||||||
for _, t := range prjs.Tests() {
|
for _, t := range s.Projects.Tests() {
|
||||||
g.Linef("%s:", t.ID())
|
g.Linef("%s:", t.ID())
|
||||||
g.Indent()
|
g.Indent()
|
||||||
|
|
||||||
|
|||||||
14
tests/thirdparty/metadata_test.go
vendored
14
tests/thirdparty/metadata_test.go
vendored
@@ -11,18 +11,18 @@ import (
|
|||||||
|
|
||||||
var update = flag.Bool("update", false, "update project metadata")
|
var update = flag.Bool("update", false, "update project metadata")
|
||||||
|
|
||||||
func TestProjectsFileMetadata(t *testing.T) {
|
func TestSuiteFileMetadata(t *testing.T) {
|
||||||
test.RequiresNetwork(t)
|
test.RequiresNetwork(t)
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
prjs, err := LoadProjectsFile("projects.json")
|
s, err := LoadSuiteFile("suite.json")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
g := github.NewClient(github.WithTokenFromEnvironment())
|
g := github.NewClient(github.WithTokenFromEnvironment())
|
||||||
|
|
||||||
for _, prj := range prjs {
|
for _, prj := range s.Projects {
|
||||||
// Fetch metadata.
|
// Fetch metadata.
|
||||||
r, err := g.Repository(ctx, prj.Repository.Owner, prj.Repository.Name)
|
r, err := g.Repository(ctx, prj.Repository.Owner, prj.Repository.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -50,23 +50,23 @@ func TestProjectsFileMetadata(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := StoreProjectsFile("projects.json", prjs); err != nil {
|
if err := StoreSuiteFile("suite.json", s); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestProjectsFileKnownIssues(t *testing.T) {
|
func TestSuiteFileKnownIssues(t *testing.T) {
|
||||||
test.RequiresNetwork(t)
|
test.RequiresNetwork(t)
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
|
||||||
prjs, err := LoadProjectsFile("projects.json")
|
s, err := LoadSuiteFile("suite.json")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
g := github.NewClient(github.WithTokenFromEnvironment())
|
g := github.NewClient(github.WithTokenFromEnvironment())
|
||||||
|
|
||||||
for _, prj := range prjs {
|
for _, prj := range s.Projects {
|
||||||
// Skipped packages must refer to an open issue.
|
// Skipped packages must refer to an open issue.
|
||||||
if !prj.Skip() {
|
if !prj.Skip() {
|
||||||
continue
|
continue
|
||||||
|
|||||||
14
tests/thirdparty/packages_test.go
vendored
14
tests/thirdparty/packages_test.go
vendored
@@ -10,11 +10,11 @@ import (
|
|||||||
"github.com/mmcloughlin/avo/internal/test"
|
"github.com/mmcloughlin/avo/internal/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:generate go run make_workflow.go -prjs projects.json -output ../../.github/workflows/packages.yml
|
//go:generate go run make_workflow.go -suite suite.json -output ../../.github/workflows/packages.yml
|
||||||
|
|
||||||
// Custom flags.
|
// Custom flags.
|
||||||
var (
|
var (
|
||||||
prjsfilename = flag.String("prjs", "", "projects configuration")
|
suitefilename = flag.String("suite", "", "projects configuration")
|
||||||
preserve = flag.Bool("preserve", false, "preserve working directories")
|
preserve = flag.Bool("preserve", false, "preserve working directories")
|
||||||
latest = flag.Bool("latest", false, "use latest versions of each project")
|
latest = flag.Bool("latest", false, "use latest versions of each project")
|
||||||
)
|
)
|
||||||
@@ -22,17 +22,17 @@ var (
|
|||||||
// TestPackages runs integration tests on all packages specified by projects
|
// TestPackages runs integration tests on all packages specified by projects
|
||||||
// file given on the command line.
|
// file given on the command line.
|
||||||
func TestPackages(t *testing.T) {
|
func TestPackages(t *testing.T) {
|
||||||
// Load projects.
|
// Load suite.
|
||||||
if *prjsfilename == "" {
|
if *suitefilename == "" {
|
||||||
t.Skip("no projects specified")
|
t.Skip("no suite specified")
|
||||||
}
|
}
|
||||||
|
|
||||||
prjs, err := LoadProjectsFile(*prjsfilename)
|
s, err := LoadSuiteFile(*suitefilename)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, tst := range prjs.Tests() {
|
for _, tst := range s.Projects.Tests() {
|
||||||
tst := tst // scopelint
|
tst := tst // scopelint
|
||||||
t.Run(tst.ID(), func(t *testing.T) {
|
t.Run(tst.ID(), func(t *testing.T) {
|
||||||
if tst.Project.Skip() {
|
if tst.Project.Skip() {
|
||||||
|
|||||||
833
tests/thirdparty/projects.json
vendored
833
tests/thirdparty/projects.json
vendored
@@ -1,833 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "zeebo",
|
|
||||||
"name": "xxh3"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "XXH3 algorithm in Go",
|
|
||||||
"stars": 240
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "v1.0.0-rc1",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "avo/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"go run . -avx -out ../accum_vector_avx_amd64.s",
|
|
||||||
"go run . -sse -out ../accum_vector_sse_amd64.s"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "dgryski",
|
|
||||||
"name": "go-sip13"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "siphash 1-3",
|
|
||||||
"stars": 32
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "62edffca92457b3a66125c686137cc5f0fe81672",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "_avo/go.mod",
|
|
||||||
"setup": [
|
|
||||||
{
|
|
||||||
"name": "Setup Root Module",
|
|
||||||
"commands": [
|
|
||||||
"go mod init github.com/dgryski/go-sip13"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Setup Generator Module",
|
|
||||||
"dir": "_avo",
|
|
||||||
"commands": [
|
|
||||||
"sed -i.bak '/+build ignore/d' asm.go",
|
|
||||||
"go mod init github.com/dgryski/go-sip13/_avo"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "_avo",
|
|
||||||
"commands": [
|
|
||||||
"go mod edit -modfile=go.mod -require=github.com/dgryski/go-sip13@v0.0.0-00010101000000-000000000000",
|
|
||||||
"go mod edit -modfile=go.mod -replace=github.com/dgryski/go-sip13=../",
|
|
||||||
"go run . -out ../sip13_amd64.s"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "phoreproject",
|
|
||||||
"name": "bls"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "Go implementation of the BLS12-381 pairing",
|
|
||||||
"stars": 81
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "a88a5ae26844d7293359422888d7c7f69f43c845",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "asm/go.mod",
|
|
||||||
"setup": [
|
|
||||||
{
|
|
||||||
"name": "Setup Root Module",
|
|
||||||
"commands": [
|
|
||||||
"go mod tidy"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Setup Generator Module",
|
|
||||||
"dir": "asm",
|
|
||||||
"commands": [
|
|
||||||
"sed -i.bak '/+build ignore/d' asm.go",
|
|
||||||
"go mod init github.com/phoreproject/bls/asm"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "asm",
|
|
||||||
"commands": [
|
|
||||||
"go mod edit -modfile=go.mod -require=github.com/phoreproject/bls@v0.0.0-00010101000000-000000000000",
|
|
||||||
"go mod edit -modfile=go.mod -replace=github.com/phoreproject/bls=../",
|
|
||||||
"go mod download",
|
|
||||||
"go run . -out ../primitivefuncs_amd64.s"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "minio",
|
|
||||||
"name": "md5-simd"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "Accelerate aggregated MD5 hashing performance up to 8x for AVX512 and 4x for AVX2. Useful for server applications that need to compute many MD5 sums in parallel.",
|
|
||||||
"stars": 111
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "30ad8af83f6868c2a30c615f3edf1a9366bf3f89",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "_gen/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "_gen",
|
|
||||||
"commands": [
|
|
||||||
"go run gen.go -out ../md5block_amd64.s -stubs ../md5block_amd64.go -pkg md5simd"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "zeebo",
|
|
||||||
"name": "blake3"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "Pure Go implementation of BLAKE3 with AVX2 and SSE4.1 acceleration",
|
|
||||||
"stars": 288
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "25dba572f0e78ec108f0dd79c9c15288f542d7d9",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "avo/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"go run ./avx2 -out ../avx2/impl.s",
|
|
||||||
"go run ./sse41 -out ../sse41/impl.s"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "klauspost",
|
|
||||||
"name": "reedsolomon"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "Reed-Solomon Erasure Coding in Go",
|
|
||||||
"stars": 1444
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "922778284547557265cff0f903ab5f4c27e40ae9",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "_gen/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "_gen",
|
|
||||||
"commands": [
|
|
||||||
"go run gen.go -out ../galois_gen_amd64.s -stubs ../galois_gen_amd64.go -pkg reedsolomon"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "orisano",
|
|
||||||
"name": "wyhash"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "A pure-Go wyhash implementation.",
|
|
||||||
"stars": 24
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "32a3f7f6ba4797e2d87dab2969cc9dd63d39cce9",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "avo/go.mod",
|
|
||||||
"setup": [
|
|
||||||
{
|
|
||||||
"name": "Setup Generator Module",
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"go mod init github.com/orisano/wyhash/avo"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"go run gen.go -out ../blocks_amd64.s -stubs ../blocks_amd64.go -pkg wyhash"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "klauspost",
|
|
||||||
"name": "compress"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "Optimized Go Compression Packages",
|
|
||||||
"stars": 2894
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "2f236383d7c2faa8ef7e354ccecb926a5b47a24d",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"pkg": "s2",
|
|
||||||
"module": "_generate/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "_generate",
|
|
||||||
"commands": [
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pkg": "zstd",
|
|
||||||
"module": "_generate/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "_generate",
|
|
||||||
"commands": [
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"test": [
|
|
||||||
{
|
|
||||||
"commands": [
|
|
||||||
"go test -short"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "dgryski",
|
|
||||||
"name": "go-bloomindex"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "Bloom-filter based search index",
|
|
||||||
"stars": 111
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "0902316dce158c154b958ee5cfc706c62af29a42",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "avo/go.mod",
|
|
||||||
"setup": [
|
|
||||||
{
|
|
||||||
"name": "Setup Root Module",
|
|
||||||
"commands": [
|
|
||||||
"go mod init github.com/dgryski/go-bloomindex",
|
|
||||||
"go get github.com/dgryski/go-bits@v0.0.0-20180113010104-bd8a69a71dc2"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Create Generator Module",
|
|
||||||
"commands": [
|
|
||||||
"mkdir avo",
|
|
||||||
"git mv asm.go avo"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Setup Generator Module",
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"sed -i.bak '/+build ignore/d' asm.go",
|
|
||||||
"go mod init github.com/dgryski/go-bloomindex/avo"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"go run asm.go -out ../query_amd64.s"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "dgryski",
|
|
||||||
"name": "go-marvin32"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "Assembly-optimized Marvin32 hash function",
|
|
||||||
"stars": 12
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "7d18f4c6ea7c24b29d1c7a670f8ae40b0812f2e3",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "avo/go.mod",
|
|
||||||
"setup": [
|
|
||||||
{
|
|
||||||
"name": "Setup Root Module",
|
|
||||||
"commands": [
|
|
||||||
"go mod init github.com/dgryski/go-marvin32"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Create Generator Module",
|
|
||||||
"commands": [
|
|
||||||
"mkdir avo",
|
|
||||||
"git mv asm.go avo"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Setup Generator Module",
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"sed -i.bak '/+build ignore/d' asm.go",
|
|
||||||
"go mod init github.com/dgryski/go-marvin32/avo"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"go mod edit -modfile=go.mod -require=github.com/dgryski/go-marvin32@v0.0.0-00010101000000-000000000000",
|
|
||||||
"go mod edit -modfile=go.mod -replace=github.com/dgryski/go-marvin32=../",
|
|
||||||
"go run asm.go -out ../marvin_amd64.s"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "dgryski",
|
|
||||||
"name": "go-speck"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "SPECK cipher",
|
|
||||||
"stars": 10
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "5b36d4c08d8840c352a153bf37281434ad550ec0",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "avo/go.mod",
|
|
||||||
"setup": [
|
|
||||||
{
|
|
||||||
"name": "Setup Root Module",
|
|
||||||
"commands": [
|
|
||||||
"go mod init github.com/dgryski/go-speck",
|
|
||||||
"go get github.com/dgryski/go-skipjack@v0.0.0-20150401095227-f3a984a142ab"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Create Generator Module",
|
|
||||||
"commands": [
|
|
||||||
"mkdir avo",
|
|
||||||
"git mv asm.go avo"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Setup Generator Module",
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"sed -i.bak '/+build ignore/d' asm.go",
|
|
||||||
"go mod init github.com/dgryski/go-speck/avo"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"go mod edit -modfile=go.mod -require=github.com/dgryski/go-speck@v0.0.0-00010101000000-000000000000",
|
|
||||||
"go mod edit -modfile=go.mod -replace=github.com/dgryski/go-speck=../",
|
|
||||||
"go run asm.go -out ../speck_amd64.s"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "dgryski",
|
|
||||||
"name": "go-chaskey"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "go-chaskey: an implementation of chaskey, an efficient MAC for microcontrollers",
|
|
||||||
"stars": 8
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "ba454392bc5ab6daae103e15147185f8f4a27dcc",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "avo/go.mod",
|
|
||||||
"setup": [
|
|
||||||
{
|
|
||||||
"name": "Setup Root Module",
|
|
||||||
"commands": [
|
|
||||||
"go mod init github.com/dgryski/go-chaskey",
|
|
||||||
"go get github.com/dchest/siphash@v1.2.2"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Create Generator Module",
|
|
||||||
"commands": [
|
|
||||||
"mkdir avo",
|
|
||||||
"git mv asm.go avo"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Setup Generator Module",
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"sed -i.bak '/+build ignore/d' asm.go",
|
|
||||||
"go mod init github.com/dgryski/go-chaskey/avo"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"go mod edit -modfile=go.mod -require=github.com/dgryski/go-chaskey@v0.0.0-00010101000000-000000000000",
|
|
||||||
"go mod edit -modfile=go.mod -replace=github.com/dgryski/go-chaskey=../",
|
|
||||||
"go run asm.go -out ../core_amd64.s"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "lukechampine",
|
|
||||||
"name": "us"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "An alternative interface to Sia",
|
|
||||||
"stars": 52
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "dff56a80f83653cb14eeeb57ba6ba3c3e942c412",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"pkg": "merkle/blake2b",
|
|
||||||
"module": "avo/go.mod",
|
|
||||||
"setup": [
|
|
||||||
{
|
|
||||||
"name": "Create Generator Module",
|
|
||||||
"commands": [
|
|
||||||
"mkdir avo",
|
|
||||||
"git mv gen.go avo"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Setup Generator Module",
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"sed -i.bak '/+build ignore/d' gen.go",
|
|
||||||
"go mod init github.com/lukechampine/us/merkle/blake2b/avo"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"go run gen.go -out ../blake2b_amd64.s"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "segmentio",
|
|
||||||
"name": "asm"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "Go library providing algorithms optimized to leverage the characteristics of modern CPUs",
|
|
||||||
"stars": 706
|
|
||||||
},
|
|
||||||
"default_branch": "main",
|
|
||||||
"version": "2bf3fdd47b1cdbe8fe020f032caf14891e10a85f",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "build/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"commands": [
|
|
||||||
"make --always-make build"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "ericlagergren",
|
|
||||||
"name": "lwcrypto"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "NIST Lightweight Cryptography finalists",
|
|
||||||
"stars": 4
|
|
||||||
},
|
|
||||||
"default_branch": "main",
|
|
||||||
"version": "0c42b05eddc34c58bf8e0cd4250c5cd2c256ea57",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"pkg": "ascon",
|
|
||||||
"module": "asm/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "asm",
|
|
||||||
"commands": [
|
|
||||||
"go mod edit -require=github.com/ericlagergren/lwcrypto@v0.0.0-00010101000000-000000000000",
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pkg": "grain",
|
|
||||||
"module": "asm/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "asm",
|
|
||||||
"commands": [
|
|
||||||
"go mod edit -require=github.com/ericlagergren/lwcrypto@v0.0.0-00010101000000-000000000000",
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "oasisprotocol",
|
|
||||||
"name": "curve25519-voi"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "High-performance Curve25519/ristretto255 for Go",
|
|
||||||
"stars": 46
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "d5a936accd94ef9da4c0fe9db0a6342dcdcfeadf",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "internal/asm/amd64/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "internal/asm/amd64",
|
|
||||||
"commands": [
|
|
||||||
"bash -ex gen.sh"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "oasisprotocol",
|
|
||||||
"name": "deoxysii"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "Go Deoxys-II-256-128",
|
|
||||||
"stars": 17
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "2091330c22b71dd4e04e15306498e68f3a1b3afc",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "internal/hardware/asm/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "internal/hardware/asm",
|
|
||||||
"commands": [
|
|
||||||
"bash -ex gen.sh"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "golang",
|
|
||||||
"name": "crypto"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "[mirror] Go supplementary cryptography libraries",
|
|
||||||
"homepage": "https://golang.org/x/crypto",
|
|
||||||
"stars": 2416
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "089bfa5675191fd96a44247682f76ebca03d7916",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"pkg": "curve25519",
|
|
||||||
"module": "internal/field/_asm/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "internal/field/_asm",
|
|
||||||
"commands": [
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "FiloSottile",
|
|
||||||
"name": "edwards25519"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "filippo.io/edwards25519 — A safer, faster, and more powerful low-level edwards25519 Go implementation.",
|
|
||||||
"homepage": "https://filippo.io/edwards25519",
|
|
||||||
"stars": 83
|
|
||||||
},
|
|
||||||
"default_branch": "main",
|
|
||||||
"version": "v1.0.0-rc.1",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "field/_asm/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "field/_asm",
|
|
||||||
"commands": [
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "lukechampine",
|
|
||||||
"name": "blake3"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "A pure-Go implementation of the BLAKE3 cryptographic hash function",
|
|
||||||
"stars": 279
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "v1.1.7",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "avo/go.mod",
|
|
||||||
"setup": [
|
|
||||||
{
|
|
||||||
"name": "Setup Generator Module",
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"sed -i.bak '/build ignore/d' gen.go",
|
|
||||||
"go mod init github.com/lukechampine/blake3/avo"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "avo",
|
|
||||||
"commands": [
|
|
||||||
"go run gen.go -out ../blake3_amd64.s"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "mmcloughlin",
|
|
||||||
"name": "md4"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "Assembly-optimized MD4 hash algorithm in Go",
|
|
||||||
"stars": 15
|
|
||||||
},
|
|
||||||
"default_branch": "main",
|
|
||||||
"version": "v0.1.2",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "asm/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"commands": [
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "golang",
|
|
||||||
"name": "go"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "The Go programming language",
|
|
||||||
"homepage": "https://go.dev",
|
|
||||||
"stars": 98831
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "go1.17.3",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"module": "src/crypto/ed25519/internal/edwards25519/field/_asm/go.mod",
|
|
||||||
"setup": [
|
|
||||||
{
|
|
||||||
"name": "Compile Go Toolchain",
|
|
||||||
"dir": "src",
|
|
||||||
"commands": [
|
|
||||||
"./make.bash"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "src/crypto/ed25519/internal/edwards25519/field/_asm",
|
|
||||||
"commands": [
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"test": [
|
|
||||||
{
|
|
||||||
"commands": [
|
|
||||||
"env --unset=GOROOT ./bin/go test crypto/ed25519/..."
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"repository": {
|
|
||||||
"owner": "cloudflare",
|
|
||||||
"name": "circl"
|
|
||||||
},
|
|
||||||
"metadata": {
|
|
||||||
"description": "CIRCL: Cloudflare Interoperable Reusable Cryptographic Library",
|
|
||||||
"homepage": "http://blog.cloudflare.com/introducing-circl",
|
|
||||||
"stars": 616
|
|
||||||
},
|
|
||||||
"default_branch": "master",
|
|
||||||
"version": "v1.1.0",
|
|
||||||
"packages": [
|
|
||||||
{
|
|
||||||
"pkg": "sign/dilithium",
|
|
||||||
"module": "internal/common/asm/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "internal/common/asm",
|
|
||||||
"commands": [
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pkg": "pke/kyber",
|
|
||||||
"module": "internal/common/asm/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "internal/common/asm",
|
|
||||||
"commands": [
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pkg": "simd/keccakf1600",
|
|
||||||
"module": "internal/asm/go.mod",
|
|
||||||
"generate": [
|
|
||||||
{
|
|
||||||
"dir": "internal/asm",
|
|
||||||
"commands": [
|
|
||||||
"go generate -v -x"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
835
tests/thirdparty/suite.json
vendored
Normal file
835
tests/thirdparty/suite.json
vendored
Normal file
@@ -0,0 +1,835 @@
|
|||||||
|
{
|
||||||
|
"projects": [
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "zeebo",
|
||||||
|
"name": "xxh3"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "XXH3 algorithm in Go",
|
||||||
|
"stars": 240
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "v1.0.0-rc1",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "avo/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"go run . -avx -out ../accum_vector_avx_amd64.s",
|
||||||
|
"go run . -sse -out ../accum_vector_sse_amd64.s"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "dgryski",
|
||||||
|
"name": "go-sip13"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "siphash 1-3",
|
||||||
|
"stars": 32
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "62edffca92457b3a66125c686137cc5f0fe81672",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "_avo/go.mod",
|
||||||
|
"setup": [
|
||||||
|
{
|
||||||
|
"name": "Setup Root Module",
|
||||||
|
"commands": [
|
||||||
|
"go mod init github.com/dgryski/go-sip13"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Setup Generator Module",
|
||||||
|
"dir": "_avo",
|
||||||
|
"commands": [
|
||||||
|
"sed -i.bak '/+build ignore/d' asm.go",
|
||||||
|
"go mod init github.com/dgryski/go-sip13/_avo"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "_avo",
|
||||||
|
"commands": [
|
||||||
|
"go mod edit -modfile=go.mod -require=github.com/dgryski/go-sip13@v0.0.0-00010101000000-000000000000",
|
||||||
|
"go mod edit -modfile=go.mod -replace=github.com/dgryski/go-sip13=../",
|
||||||
|
"go run . -out ../sip13_amd64.s"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "phoreproject",
|
||||||
|
"name": "bls"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "Go implementation of the BLS12-381 pairing",
|
||||||
|
"stars": 81
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "a88a5ae26844d7293359422888d7c7f69f43c845",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "asm/go.mod",
|
||||||
|
"setup": [
|
||||||
|
{
|
||||||
|
"name": "Setup Root Module",
|
||||||
|
"commands": [
|
||||||
|
"go mod tidy"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Setup Generator Module",
|
||||||
|
"dir": "asm",
|
||||||
|
"commands": [
|
||||||
|
"sed -i.bak '/+build ignore/d' asm.go",
|
||||||
|
"go mod init github.com/phoreproject/bls/asm"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "asm",
|
||||||
|
"commands": [
|
||||||
|
"go mod edit -modfile=go.mod -require=github.com/phoreproject/bls@v0.0.0-00010101000000-000000000000",
|
||||||
|
"go mod edit -modfile=go.mod -replace=github.com/phoreproject/bls=../",
|
||||||
|
"go mod download",
|
||||||
|
"go run . -out ../primitivefuncs_amd64.s"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "minio",
|
||||||
|
"name": "md5-simd"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "Accelerate aggregated MD5 hashing performance up to 8x for AVX512 and 4x for AVX2. Useful for server applications that need to compute many MD5 sums in parallel.",
|
||||||
|
"stars": 111
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "30ad8af83f6868c2a30c615f3edf1a9366bf3f89",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "_gen/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "_gen",
|
||||||
|
"commands": [
|
||||||
|
"go run gen.go -out ../md5block_amd64.s -stubs ../md5block_amd64.go -pkg md5simd"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "zeebo",
|
||||||
|
"name": "blake3"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "Pure Go implementation of BLAKE3 with AVX2 and SSE4.1 acceleration",
|
||||||
|
"stars": 288
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "25dba572f0e78ec108f0dd79c9c15288f542d7d9",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "avo/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"go run ./avx2 -out ../avx2/impl.s",
|
||||||
|
"go run ./sse41 -out ../sse41/impl.s"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "klauspost",
|
||||||
|
"name": "reedsolomon"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "Reed-Solomon Erasure Coding in Go",
|
||||||
|
"stars": 1444
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "922778284547557265cff0f903ab5f4c27e40ae9",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "_gen/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "_gen",
|
||||||
|
"commands": [
|
||||||
|
"go run gen.go -out ../galois_gen_amd64.s -stubs ../galois_gen_amd64.go -pkg reedsolomon"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "orisano",
|
||||||
|
"name": "wyhash"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "A pure-Go wyhash implementation.",
|
||||||
|
"stars": 24
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "32a3f7f6ba4797e2d87dab2969cc9dd63d39cce9",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "avo/go.mod",
|
||||||
|
"setup": [
|
||||||
|
{
|
||||||
|
"name": "Setup Generator Module",
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"go mod init github.com/orisano/wyhash/avo"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"go run gen.go -out ../blocks_amd64.s -stubs ../blocks_amd64.go -pkg wyhash"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "klauspost",
|
||||||
|
"name": "compress"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "Optimized Go Compression Packages",
|
||||||
|
"stars": 2894
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "2f236383d7c2faa8ef7e354ccecb926a5b47a24d",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"pkg": "s2",
|
||||||
|
"module": "_generate/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "_generate",
|
||||||
|
"commands": [
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pkg": "zstd",
|
||||||
|
"module": "_generate/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "_generate",
|
||||||
|
"commands": [
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
{
|
||||||
|
"commands": [
|
||||||
|
"go test -short"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "dgryski",
|
||||||
|
"name": "go-bloomindex"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "Bloom-filter based search index",
|
||||||
|
"stars": 111
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "0902316dce158c154b958ee5cfc706c62af29a42",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "avo/go.mod",
|
||||||
|
"setup": [
|
||||||
|
{
|
||||||
|
"name": "Setup Root Module",
|
||||||
|
"commands": [
|
||||||
|
"go mod init github.com/dgryski/go-bloomindex",
|
||||||
|
"go get github.com/dgryski/go-bits@v0.0.0-20180113010104-bd8a69a71dc2"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Create Generator Module",
|
||||||
|
"commands": [
|
||||||
|
"mkdir avo",
|
||||||
|
"git mv asm.go avo"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Setup Generator Module",
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"sed -i.bak '/+build ignore/d' asm.go",
|
||||||
|
"go mod init github.com/dgryski/go-bloomindex/avo"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"go run asm.go -out ../query_amd64.s"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "dgryski",
|
||||||
|
"name": "go-marvin32"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "Assembly-optimized Marvin32 hash function",
|
||||||
|
"stars": 12
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "7d18f4c6ea7c24b29d1c7a670f8ae40b0812f2e3",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "avo/go.mod",
|
||||||
|
"setup": [
|
||||||
|
{
|
||||||
|
"name": "Setup Root Module",
|
||||||
|
"commands": [
|
||||||
|
"go mod init github.com/dgryski/go-marvin32"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Create Generator Module",
|
||||||
|
"commands": [
|
||||||
|
"mkdir avo",
|
||||||
|
"git mv asm.go avo"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Setup Generator Module",
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"sed -i.bak '/+build ignore/d' asm.go",
|
||||||
|
"go mod init github.com/dgryski/go-marvin32/avo"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"go mod edit -modfile=go.mod -require=github.com/dgryski/go-marvin32@v0.0.0-00010101000000-000000000000",
|
||||||
|
"go mod edit -modfile=go.mod -replace=github.com/dgryski/go-marvin32=../",
|
||||||
|
"go run asm.go -out ../marvin_amd64.s"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "dgryski",
|
||||||
|
"name": "go-speck"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "SPECK cipher",
|
||||||
|
"stars": 10
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "5b36d4c08d8840c352a153bf37281434ad550ec0",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "avo/go.mod",
|
||||||
|
"setup": [
|
||||||
|
{
|
||||||
|
"name": "Setup Root Module",
|
||||||
|
"commands": [
|
||||||
|
"go mod init github.com/dgryski/go-speck",
|
||||||
|
"go get github.com/dgryski/go-skipjack@v0.0.0-20150401095227-f3a984a142ab"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Create Generator Module",
|
||||||
|
"commands": [
|
||||||
|
"mkdir avo",
|
||||||
|
"git mv asm.go avo"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Setup Generator Module",
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"sed -i.bak '/+build ignore/d' asm.go",
|
||||||
|
"go mod init github.com/dgryski/go-speck/avo"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"go mod edit -modfile=go.mod -require=github.com/dgryski/go-speck@v0.0.0-00010101000000-000000000000",
|
||||||
|
"go mod edit -modfile=go.mod -replace=github.com/dgryski/go-speck=../",
|
||||||
|
"go run asm.go -out ../speck_amd64.s"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "dgryski",
|
||||||
|
"name": "go-chaskey"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "go-chaskey: an implementation of chaskey, an efficient MAC for microcontrollers",
|
||||||
|
"stars": 8
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "ba454392bc5ab6daae103e15147185f8f4a27dcc",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "avo/go.mod",
|
||||||
|
"setup": [
|
||||||
|
{
|
||||||
|
"name": "Setup Root Module",
|
||||||
|
"commands": [
|
||||||
|
"go mod init github.com/dgryski/go-chaskey",
|
||||||
|
"go get github.com/dchest/siphash@v1.2.2"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Create Generator Module",
|
||||||
|
"commands": [
|
||||||
|
"mkdir avo",
|
||||||
|
"git mv asm.go avo"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Setup Generator Module",
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"sed -i.bak '/+build ignore/d' asm.go",
|
||||||
|
"go mod init github.com/dgryski/go-chaskey/avo"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"go mod edit -modfile=go.mod -require=github.com/dgryski/go-chaskey@v0.0.0-00010101000000-000000000000",
|
||||||
|
"go mod edit -modfile=go.mod -replace=github.com/dgryski/go-chaskey=../",
|
||||||
|
"go run asm.go -out ../core_amd64.s"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "lukechampine",
|
||||||
|
"name": "us"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "An alternative interface to Sia",
|
||||||
|
"stars": 52
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "dff56a80f83653cb14eeeb57ba6ba3c3e942c412",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"pkg": "merkle/blake2b",
|
||||||
|
"module": "avo/go.mod",
|
||||||
|
"setup": [
|
||||||
|
{
|
||||||
|
"name": "Create Generator Module",
|
||||||
|
"commands": [
|
||||||
|
"mkdir avo",
|
||||||
|
"git mv gen.go avo"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Setup Generator Module",
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"sed -i.bak '/+build ignore/d' gen.go",
|
||||||
|
"go mod init github.com/lukechampine/us/merkle/blake2b/avo"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"go run gen.go -out ../blake2b_amd64.s"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "segmentio",
|
||||||
|
"name": "asm"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "Go library providing algorithms optimized to leverage the characteristics of modern CPUs",
|
||||||
|
"stars": 706
|
||||||
|
},
|
||||||
|
"default_branch": "main",
|
||||||
|
"version": "2bf3fdd47b1cdbe8fe020f032caf14891e10a85f",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "build/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"commands": [
|
||||||
|
"make --always-make build"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "ericlagergren",
|
||||||
|
"name": "lwcrypto"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "NIST Lightweight Cryptography finalists",
|
||||||
|
"stars": 4
|
||||||
|
},
|
||||||
|
"default_branch": "main",
|
||||||
|
"version": "0c42b05eddc34c58bf8e0cd4250c5cd2c256ea57",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"pkg": "ascon",
|
||||||
|
"module": "asm/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "asm",
|
||||||
|
"commands": [
|
||||||
|
"go mod edit -require=github.com/ericlagergren/lwcrypto@v0.0.0-00010101000000-000000000000",
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pkg": "grain",
|
||||||
|
"module": "asm/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "asm",
|
||||||
|
"commands": [
|
||||||
|
"go mod edit -require=github.com/ericlagergren/lwcrypto@v0.0.0-00010101000000-000000000000",
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "oasisprotocol",
|
||||||
|
"name": "curve25519-voi"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "High-performance Curve25519/ristretto255 for Go",
|
||||||
|
"stars": 46
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "d5a936accd94ef9da4c0fe9db0a6342dcdcfeadf",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "internal/asm/amd64/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "internal/asm/amd64",
|
||||||
|
"commands": [
|
||||||
|
"bash -ex gen.sh"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "oasisprotocol",
|
||||||
|
"name": "deoxysii"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "Go Deoxys-II-256-128",
|
||||||
|
"stars": 17
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "2091330c22b71dd4e04e15306498e68f3a1b3afc",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "internal/hardware/asm/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "internal/hardware/asm",
|
||||||
|
"commands": [
|
||||||
|
"bash -ex gen.sh"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "golang",
|
||||||
|
"name": "crypto"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "[mirror] Go supplementary cryptography libraries",
|
||||||
|
"homepage": "https://golang.org/x/crypto",
|
||||||
|
"stars": 2416
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "089bfa5675191fd96a44247682f76ebca03d7916",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"pkg": "curve25519",
|
||||||
|
"module": "internal/field/_asm/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "internal/field/_asm",
|
||||||
|
"commands": [
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "FiloSottile",
|
||||||
|
"name": "edwards25519"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "filippo.io/edwards25519 — A safer, faster, and more powerful low-level edwards25519 Go implementation.",
|
||||||
|
"homepage": "https://filippo.io/edwards25519",
|
||||||
|
"stars": 83
|
||||||
|
},
|
||||||
|
"default_branch": "main",
|
||||||
|
"version": "v1.0.0-rc.1",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "field/_asm/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "field/_asm",
|
||||||
|
"commands": [
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "lukechampine",
|
||||||
|
"name": "blake3"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "A pure-Go implementation of the BLAKE3 cryptographic hash function",
|
||||||
|
"stars": 279
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "v1.1.7",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "avo/go.mod",
|
||||||
|
"setup": [
|
||||||
|
{
|
||||||
|
"name": "Setup Generator Module",
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"sed -i.bak '/build ignore/d' gen.go",
|
||||||
|
"go mod init github.com/lukechampine/blake3/avo"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "avo",
|
||||||
|
"commands": [
|
||||||
|
"go run gen.go -out ../blake3_amd64.s"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "mmcloughlin",
|
||||||
|
"name": "md4"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "Assembly-optimized MD4 hash algorithm in Go",
|
||||||
|
"stars": 15
|
||||||
|
},
|
||||||
|
"default_branch": "main",
|
||||||
|
"version": "v0.1.2",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "asm/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"commands": [
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "golang",
|
||||||
|
"name": "go"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "The Go programming language",
|
||||||
|
"homepage": "https://go.dev",
|
||||||
|
"stars": 98831
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "go1.17.3",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"module": "src/crypto/ed25519/internal/edwards25519/field/_asm/go.mod",
|
||||||
|
"setup": [
|
||||||
|
{
|
||||||
|
"name": "Compile Go Toolchain",
|
||||||
|
"dir": "src",
|
||||||
|
"commands": [
|
||||||
|
"./make.bash"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "src/crypto/ed25519/internal/edwards25519/field/_asm",
|
||||||
|
"commands": [
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
{
|
||||||
|
"commands": [
|
||||||
|
"env --unset=GOROOT ./bin/go test crypto/ed25519/..."
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": {
|
||||||
|
"owner": "cloudflare",
|
||||||
|
"name": "circl"
|
||||||
|
},
|
||||||
|
"metadata": {
|
||||||
|
"description": "CIRCL: Cloudflare Interoperable Reusable Cryptographic Library",
|
||||||
|
"homepage": "http://blog.cloudflare.com/introducing-circl",
|
||||||
|
"stars": 616
|
||||||
|
},
|
||||||
|
"default_branch": "master",
|
||||||
|
"version": "v1.1.0",
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"pkg": "sign/dilithium",
|
||||||
|
"module": "internal/common/asm/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "internal/common/asm",
|
||||||
|
"commands": [
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pkg": "pke/kyber",
|
||||||
|
"module": "internal/common/asm/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "internal/common/asm",
|
||||||
|
"commands": [
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pkg": "simd/keccakf1600",
|
||||||
|
"module": "internal/asm/go.mod",
|
||||||
|
"generate": [
|
||||||
|
{
|
||||||
|
"dir": "internal/asm",
|
||||||
|
"commands": [
|
||||||
|
"go generate -v -x"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user