Compare commits

...

10 Commits

Author SHA1 Message Date
Elara 1dde6778b6 Update nomad file [skip ci] 2023-10-08 02:48:54 +00:00
Elara 31d921f140 Move lure-web to lure.sh 2023-10-07 11:44:48 -07:00
Elara 3ffd995ccf Add ci status badge [skip ci] 2023-10-06 19:21:09 -07:00
Elara 5668ade167 Update URLs 2023-10-06 19:20:03 -07:00
Elara 987bd149b4 Switch workspace file to Go 1.21.0 2023-09-26 15:41:41 -07:00
Elara 9e4421d8f8 Add go workspace file 2023-09-26 15:39:21 -07:00
Elara 25eb677f7a Fix Go module name 2023-09-26 15:38:44 -07:00
Elara b4706d1d8a Fix directories in woodpecker file 2023-09-26 15:33:53 -07:00
Elara 185371b649 Remove 'lure-' prefix from subdirectories 2023-09-26 15:32:46 -07:00
Elara e5b9294f93 Update gitea links 2023-09-26 15:26:05 -07:00
52 changed files with 136 additions and 55 deletions

View File

@ -2,9 +2,9 @@ platform: linux/amd64
steps:
build-frontend:
image: gitea.elara.ws/elara6331/node
directory: lure-frontend
directory: frontend
environment:
- LURE_WEB_API_URL=https://api.lure.elara.ws
- LURE_WEB_API_URL=https://api.lure.sh
commands:
- npm i
- npm run build
@ -15,26 +15,26 @@ steps:
publish-frontend:
image: gitea.elara.ws/elara6331/crane
secrets: [ registry_password ]
directory: lure-frontend
directory: frontend
commands:
- export HOME=/home/nonroot
- crane auth login gitea.elara.ws -u Elara6331 -p "$${REGISTRY_PASSWORD}"
- crane append -b gitea.elara.ws/elara6331/node -f app.tar.gz -t gitea.elara.ws/elara6331/lure-web:amd64 --platform=linux/amd64
- crane append -b gitea.elara.ws/elara6331/node -f app.tar.gz -t gitea.elara.ws/elara6331/lure-web:arm64 --platform=linux/arm64
- crane append -b gitea.elara.ws/elara6331/node -f app.tar.gz -t gitea.elara.ws/elara6331/lure-web:riscv64 --platform=linux/riscv64
- crane index append -m gitea.elara.ws/elara6331/lure-web:amd64 -m gitea.elara.ws/elara6331/lure-web:arm64 -m gitea.elara.ws/elara6331/lure-web:riscv64 -t gitea.elara.ws/elara6331/lure-web:latest
- crane append -b gitea.elara.ws/elara6331/node -f app.tar.gz -t gitea.elara.ws/lure/frontend:amd64 --platform=linux/amd64
- crane append -b gitea.elara.ws/elara6331/node -f app.tar.gz -t gitea.elara.ws/lure/frontend:arm64 --platform=linux/arm64
- crane append -b gitea.elara.ws/elara6331/node -f app.tar.gz -t gitea.elara.ws/lure/frontend:riscv64 --platform=linux/riscv64
- crane index append -m gitea.elara.ws/lure/frontend:amd64 -m gitea.elara.ws/lure/frontend:arm64 -m gitea.elara.ws/lure/frontend:riscv64 -t gitea.elara.ws/lure/frontend:latest
build-backend:
image: gitea.elara.ws/elara6331/builder
secrets: [ registry_password ]
directory: lure-backend
directory: backend
commands:
- registry-login
- ko build -B --platform=linux/amd64,linux/arm64,linux/riscv64 --sbom=none
environment:
- REGISTRY=gitea.elara.ws
- REGISTRY_USERNAME=Elara6331
- KO_DOCKER_REPO=gitea.elara.ws/elara6331
- KO_DOCKER_REPO=gitea.elara.ws/lure
- KO_DEFAULTBASEIMAGE=gitea.elara.ws/elara6331/static
deploy:

View File

@ -1,3 +1,5 @@
# LURE Web
[![status-badge](https://ci.elara.ws/api/badges/23/status.svg)](https://ci.elara.ws/repos/23)
LURE Web is a website for LURE and a web interface that allows users to search LURE packages

View File

@ -23,8 +23,8 @@ import (
"io"
"github.com/twitchtv/twirp"
"go.elara.ws/lure-web/lure-backend/internal/api"
"go.elara.ws/logger/log"
"go.elara.ws/lure-web/backend/internal/api"
"go.elara.ws/lure/pkg/search"
"golang.org/x/text/language"
)
@ -33,10 +33,10 @@ type lureWebAPI struct{}
func (l lureWebAPI) Search(ctx context.Context, req *api.SearchRequest) (*api.SearchResponse, error) {
opts := search.Options{
Filter: search.Filter(req.FilterType),
SortBy: search.SortBy(req.SortBy),
Limit: req.Limit,
Query: req.Query,
Filter: search.Filter(req.FilterType),
SortBy: search.SortBy(req.SortBy),
Limit: req.Limit,
Query: req.Query,
}
if req.FilterValue != nil {

View File

@ -14,8 +14,6 @@ import (
//go:embed badge-logo.txt
var logoData string
var _ http.HandlerFunc
func handleBadge() http.HandlerFunc {
return func(res http.ResponseWriter, req *http.Request) {
repo := chi.URLParam(req, "repo")

View File

@ -1,4 +1,4 @@
module go.elara.ws/lure-web/lure-backend
module go.elara.ws/lure-web/backend
go 1.21.0

View File

@ -28,10 +28,10 @@ import (
"github.com/go-chi/chi/v5"
"github.com/twitchtv/twirp"
"go.elara.ws/logger"
"go.elara.ws/lure-web/lure-backend/internal/api"
"go.elara.ws/logger/log"
"go.elara.ws/lure/pkg/repos"
"go.elara.ws/lure-web/backend/internal/api"
lurelog "go.elara.ws/lure/pkg/log"
"go.elara.ws/lure/pkg/repos"
)
func init() {

View File

@ -35,7 +35,7 @@
<p class="subtitle">
Paste this into your Linux terminal and the install script will set everything up for you
</p>
<Highlight language={bash} code="curl -fsSL lure.elara.ws/install | bash" />
<Highlight language={bash} code="curl -fsSL lure.sh/install | bash" />
<p>
LURE is also available on the AUR as <a
href="https://aur.archlinux.org/packages/linux-user-repository-bin"
@ -43,7 +43,7 @@
<code>linux-user-repository-bin</code>
</a>
and distro packages are provided at the
<a href="https://gitea.elara.ws/Elara6331/lure/releases/latest">latest Gitea release</a>.
<a href="https://gitea.elara.ws/lure/lure/releases/latest">latest Gitea release</a>.
</p>
</section>

View File

@ -50,10 +50,10 @@
<p class="subtitle">How does LURE keep its packages up to date?</p>
<p>
LURE can automatically update its packages using a bot called
<a href="https://gitea.elara.ws/Elara6331/lure-updater">lure-updater</a>. It accepts plugins
that detect when software is updated upstream and update the LURE package accordingly. The
plugins that are currently running in my instance of the bot can be found in my
<a href="https://gitea.elara.ws/Elara6331/updater-plugins">updater-plugins</a> repo. The
<a href="https://gitea.elara.ws/lure/lure-updater">lure-updater</a>. It accepts plugins that
detect when software is updated upstream and update the LURE package accordingly. The plugins
that are currently running in my instance of the bot can be found in my
<a href="https://gitea.elara.ws/lure/updater-plugins">updater-plugins</a> repo. The
<code>discord-bin</code> package, for example, checks Discord's API every hour to see if they've
released an updated version, and if they have, it pushes an update to LURE's repo.
</p>
@ -61,7 +61,7 @@
<p class="subtitle">How do I add my own package to LURE?</p>
<p>
LURE provides
<a href="https://github.com/Elara6331/lure/blob/master/docs/packages">
<a href="https://github.com/lure-sh/lure/blob/master/docs/packages">
comprehensive documentation
</a> for packagers. If you need help with anything, feel free to ask on LURE's subreddit, which you
can find in the footer of this site. If you find a bug or a missing feature, please open an issue

View File

@ -0,0 +1,20 @@
<script>
import Icon from '@iconify/svelte';
</script>
<br style="margin-top: 20px" />
<div class="hero is-dark is-small">
<div class="hero-body has-text-centered">
<p>
Copyright &copy; {new Date().getFullYear()} LURE Web Contributors. Licensed under the
<a class="has-text-link" href="https://www.gnu.org/licenses/agpl-3.0-standalone.html">
AGPLv3
</a>.
</p>
<div class="is-size-4">
<a href="https://gitea.elara.ws/lure/lure-web"><Icon icon="cib:gitea" /></a>
<a href="https://github.com/lure-sh/lure-web"><Icon icon="mdi:github" /></a>
<a href="https://reddit.com/r/linux_user_repository"><Icon icon="ic:round-reddit" /></a>
</div>
</div>
</div>

View File

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

3
go.work Normal file
View File

@ -0,0 +1,3 @@
go 1.21.0
use ./backend

68
go.work.sum Normal file
View File

@ -0,0 +1,68 @@
github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo=
github.com/AlekSi/pointer v1.2.0/go.mod h1:gZGfd3dpW4vEc/UlyfKKi1roIqcCgwOIvb0tSNSBle0=
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM=
github.com/PuerkitoBio/purell v1.2.0/go.mod h1:OhLRTaaIzhvIyofkJfB24gokC7tM42Px5UhoT32THBk=
github.com/alecthomas/chroma/v2 v2.9.1/go.mod h1:4TQu7gdfuPjSh76j78ietmqh9LiurGF0EpseFXdKMBw=
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI=
github.com/bodgit/plumbing v1.2.0/go.mod h1:b9TeRi7Hvc6Y05rjm8VML3+47n4XTZPtQ/5ghqic2n8=
github.com/bodgit/sevenzip v1.3.0/go.mod h1:omwNcgZTEooWM8gA/IJ2Nk/+ZQ94+GsytRzOJJ8FBlM=
github.com/bodgit/windows v1.0.0/go.mod h1:a6JLwrB4KrTR5hBpp8FI9/9W9jJfeQ2h4XDXU74ZCdM=
github.com/cavaliergopher/cpio v1.0.1/go.mod h1:pBdaqQjnvXxdS/6CvNDwIANIFSP0xRKI16PX4xejRQc=
github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc=
github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg=
github.com/charmbracelet/lipgloss v0.8.0/go.mod h1:p4eYUZZJ/0oXTuCQKFF8mqyKCz0ja6y+7DniDDw5KKU=
github.com/connesc/cipherio v0.2.1/go.mod h1:ukY0MWJDFnJEbXMQtOcn2VmTpRfzcTz4OoVrWGGJZcA=
github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk=
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/dlclark/regexp2 v1.10.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/dsnet/compress v0.0.1/go.mod h1:Aw8dCMJ7RioblQeTqt88akK31OvO8Dhf5JflhBbQEHo=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/rpmpack v0.5.0/go.mod h1:uqVAUVQLq8UY2hCDfmJ/+rtO3aw7qyhc90rCVEabEfI=
github.com/goreleaser/chglog v0.5.0/go.mod h1:Ri46M3lrMuv76FHszs3vtABR8J8k1w9JHYAzxeeOl28=
github.com/goreleaser/fileglob v1.3.0/go.mod h1:Jx6BoXv3mbYkEzwm9THo7xbr5egkAraxkGorbJb4RxU=
github.com/goreleaser/nfpm/v2 v2.33.0/go.mod h1:8wwWWvJWmn84xo/Sqiv0aMvEGTHlHZTXTEuVSgQpkIM=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4=
github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/klauspost/cpuid/v2 v2.2.3/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
github.com/mholt/archiver/v4 v4.0.0-alpha.8/go.mod h1:5f7FUYGXdJWUjESffJaYR4R60VhnHxb2X3T1teMyv5A=
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b/go.mod h1:fQuZ0gauxyBcmsdE3ZT4NasjaRdxmbCS0jRHsrWu3Ho=
github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=
github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8=
github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8=
github.com/nwaples/rardecode/v2 v2.0.0-beta.2/go.mod h1:yntwv/HfMc/Hbvtq9I19D1n58te3h6KsqCf3GxyfBGY=
github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/schollz/progressbar/v3 v3.13.1/go.mod h1:xvrbki8kfT1fzWzBT/UZd9L6GA+jdL7HAgq2RFnO6fQ=
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48=
github.com/therootcompany/xz v1.0.1/go.mod h1:3K3UH1yCKgBneZYhuQUvJ9HPD19UEXEI0BWbMn8qNMY=
github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/urfave/cli/v2 v2.25.7/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ=
github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc=
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
gitlab.com/digitalxero/go-conventional-commit v1.0.7/go.mod h1:05Xc2BFsSyC5tKhK0y+P3bs0AwUtNuTp+mTpbCU/DZ0=
go.elara.ws/translate v0.0.0-20230421025926-32ccfcd110e6/go.mod h1:NmfCFqwq7X/aqa/ZVkIysj17JyMEY4Bb5E921kMswNo=
go4.org v0.0.0-20200411211856-f5505b9728dd/go.mod h1:CIiUVy99QCPfoE13bO4EZaz5GZMZXMSBGhxRdsvzbkg=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

View File

@ -1,15 +0,0 @@
<script>
import Icon from '@iconify/svelte';
</script>
<br style="margin-top: 20px">
<div class="hero is-dark is-small">
<div class="hero-body has-text-centered">
<p>Copyright &copy; {new Date().getFullYear()} LURE Web Contributors. Licensed under the <a class="has-text-link" href="https://www.gnu.org/licenses/agpl-3.0-standalone.html">AGPLv3</a>.</p>
<div class="is-size-4">
<a href="https://gitea.elara.ws/Elara6331/lure-web"><Icon icon="cib:gitea"/></a>
<a href="https://github.com/Elara6331/lure-web"><Icon icon="mdi:github"/></a>
<a href="https://reddit.com/r/linux_user_repository"><Icon icon="ic:round-reddit"/></a>
</div>
</div>
</div>

View File

@ -14,19 +14,19 @@ job "lure-web" {
}
}
task "lure-backend" {
task "backend" {
driver = "docker"
env {
LURE_API_GITHUB_SECRET = "${LURE_API_GITHUB_SECRET}"
// Hack to force Nomad to re-deploy the service
// instead of ignoring it
COMMIT_SHA = "${DRONE_COMMIT_SHA}"
}
config {
image = "gitea.elara.ws/elara6331/lure-backend:latest"
image = "gitea.elara.ws/lure/backend:latest"
ports = ["api"]
}
@ -35,8 +35,8 @@ job "lure-web" {
port = "api"
tags = [
"traefik.enable=true",
"traefik.http.routers.lure-api-server.rule=Host(`api.lure.elara.ws`)",
"traefik.http.routers.lure-api-server.tls.certresolver=letsencrypt"
"traefik.http.routers.lure-backend.rule=Host(`api.lure.sh`)",
"traefik.http.routers.lure-backend.tls.certresolver=letsencrypt"
]
check {
@ -48,13 +48,13 @@ job "lure-web" {
}
}
task "lure-web" {
task "frontend" {
driver = "docker"
config {
image = "gitea.elara.ws/elara6331/lure-web:latest"
image = "gitea.elara.ws/lure/frontend:latest"
ports = ["http"]
args = ["build"]
args = ["build"]
}
@ -63,16 +63,21 @@ job "lure-web" {
port = "http"
tags = [
"traefik.enable=true",
"traefik.http.routers.lure-web.rule=Host(`lure.elara.ws`)",
"traefik.http.routers.lure-web.tls.certresolver=letsencrypt",
"traefik.http.middlewares.lure-redir.redirectRegex.regex=^https://(www\\.lure\\.sh|lure\\.elara\\.ws)",
"traefik.http.middlewares.lure-redir.redirectRegex.replacement=https://lure.sh",
"traefik.http.middlewares.lure-redir.redirectRegex.permanent=true",
"traefik.http.routers.lure-frontend.rule=(Host(`lure.sh`) || Host(`www.lure.sh`) || Host(`lure.elara.ws`)) && !Query(`go-get=1`)",
"traefik.http.routers.lure-frontend.middlewares=lure-redir",
"traefik.http.routers.lure-frontend.tls.certresolver=letsencrypt",
]
}
}
}
constraint {
attribute = "${attr.cpu.arch}"
operator = "set_contains_any"
value = "amd64,arm64,riscv64"
operator = "set_contains_any"
value = "amd64,arm64,riscv64"
}
}