1
0
mirror of https://github.com/rclone/rclone.git synced 2025-10-06 05:47:10 +02:00

build: make rclone build with wasip1/wasm as well as js/wasm

Fixes #7831
This commit is contained in:
Nick Craig-Wood
2025-08-20 21:59:37 +01:00
parent 693ca3215f
commit 23e9066b4f
84 changed files with 112 additions and 80 deletions

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
// Package azureblob provides an interface to the Microsoft Azure blob object storage system // Package azureblob provides an interface to the Microsoft Azure blob object storage system
package azureblob package azureblob

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package azureblob package azureblob

View File

@@ -1,6 +1,6 @@
// Test AzureBlob filesystem interface // Test AzureBlob filesystem interface
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package azureblob package azureblob

View File

@@ -1,7 +1,7 @@
// Build for azureblob for unsupported platforms to stop go complaining // Build for azureblob for unsupported platforms to stop go complaining
// about "no buildable Go source files " // about "no buildable Go source files "
//go:build plan9 || solaris || js //go:build plan9 || solaris || js || wasm
// Package azureblob provides an interface to the Microsoft Azure blob object storage system // Package azureblob provides an interface to the Microsoft Azure blob object storage system
package azureblob package azureblob

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
// Package azurefiles provides an interface to Microsoft Azure Files // Package azurefiles provides an interface to Microsoft Azure Files
package azurefiles package azurefiles

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package azurefiles package azurefiles

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package azurefiles package azurefiles

View File

@@ -1,7 +1,7 @@
// Build for azurefiles for unsupported platforms to stop go complaining // Build for azurefiles for unsupported platforms to stop go complaining
// about "no buildable Go source files " // about "no buildable Go source files "
//go:build plan9 || js //go:build plan9 || js || wasm
// Package azurefiles provides an interface to Microsoft Azure Files // Package azurefiles provides an interface to Microsoft Azure Files
package azurefiles package azurefiles

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
// Package cache implements a virtual provider to cache existing remotes. // Package cache implements a virtual provider to cache existing remotes.
package cache package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js && !race //go:build !plan9 && !js && !wasm && !race
package cache_test package cache_test

View File

@@ -1,6 +1,6 @@
// Test Cache filesystem interface // Test Cache filesystem interface
//go:build !plan9 && !js && !race //go:build !plan9 && !js && !wasm && !race
package cache_test package cache_test

View File

@@ -1,7 +1,7 @@
// Build for cache for unsupported platforms to stop go complaining // Build for cache for unsupported platforms to stop go complaining
// about "no buildable Go source files " // about "no buildable Go source files "
//go:build plan9 || js //go:build plan9 || js || wasm
// Package cache implements a virtual provider to cache existing remotes. // Package cache implements a virtual provider to cache existing remotes.
package cache package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js && !race //go:build !plan9 && !js && !wasm && !race
package cache_test package cache_test

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package cache package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package cache package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package cache package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package cache package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package cache package cache

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package cache package cache

View File

@@ -1,5 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
// +build !plan9,!js
package cache package cache

View File

@@ -1,4 +1,4 @@
//go:build windows || plan9 || js || linux //go:build windows || plan9 || js || wasm || linux
package local package local

View File

@@ -1,4 +1,4 @@
//go:build !windows && !plan9 && !js && !linux //go:build !windows && !plan9 && !js && !wasm && !linux
package local package local

View File

@@ -1,4 +1,4 @@
//go:build plan9 || js //go:build plan9 || js || wasm
package local package local

View File

@@ -1,4 +1,4 @@
//go:build !windows && !plan9 && !js //go:build !windows && !plan9 && !js && !wasm
package local package local

View File

@@ -1,4 +1,4 @@
//go:build dragonfly || plan9 || js //go:build dragonfly || plan9 || js || wasm
package local package local

View File

@@ -1,4 +1,4 @@
//go:build !windows && !plan9 && !js //go:build !windows && !plan9 && !js && !wasm
package local package local

View File

@@ -1,4 +1,4 @@
//go:build windows || plan9 || js //go:build windows || plan9 || js || wasm
package local package local

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
// Package oracleobjectstorage provides an interface to the OCI object storage system. // Package oracleobjectstorage provides an interface to the OCI object storage system.
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,7 +1,7 @@
// Build for oracleobjectstorage for unsupported platforms to stop go complaining // Build for oracleobjectstorage for unsupported platforms to stop go complaining
// about "no buildable Go source files " // about "no buildable Go source files "
//go:build plan9 || solaris || js //go:build plan9 || solaris || js || wasm
// Package oracleobjectstorage provides an interface to the OCI object storage system. // Package oracleobjectstorage provides an interface to the OCI object storage system.
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !solaris && !js //go:build !plan9 && !solaris && !js && !wasm
package oracleobjectstorage package oracleobjectstorage

View File

@@ -1,3 +1,5 @@
//go:build !wasm
// Package protondrive implements the Proton Drive backend // Package protondrive implements the Proton Drive backend
package protondrive package protondrive

View File

@@ -1,3 +1,5 @@
//go:build !wasm
package protondrive_test package protondrive_test
import ( import (

View File

@@ -0,0 +1,7 @@
// Build for sftp for unsupported platforms to stop go complaining
// about "no buildable Go source files "
//go:build wasm
// Package protondrive implements the Proton Drive backend
package protondrive

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
// Package qingstor provides an interface to QingStor object storage // Package qingstor provides an interface to QingStor object storage
// Home: https://www.qingcloud.com/ // Home: https://www.qingcloud.com/

View File

@@ -1,6 +1,6 @@
// Test QingStor filesystem interface // Test QingStor filesystem interface
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package qingstor package qingstor

View File

@@ -1,7 +1,7 @@
// Build for unsupported platforms to stop go complaining // Build for unsupported platforms to stop go complaining
// about "no buildable Go source files " // about "no buildable Go source files "
//go:build plan9 || js //go:build plan9 || js || wasm
// Package qingstor provides an interface to QingStor object storage // Package qingstor provides an interface to QingStor object storage
// Home: https://www.qingcloud.com/ // Home: https://www.qingcloud.com/

View File

@@ -1,6 +1,6 @@
// Upload object to QingStor // Upload object to QingStor
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package qingstor package qingstor

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
// Package sftp provides a filesystem interface using github.com/pkg/sftp // Package sftp provides a filesystem interface using github.com/pkg/sftp
package sftp package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package sftp package sftp

View File

@@ -1,6 +1,6 @@
// Test Sftp filesystem interface // Test Sftp filesystem interface
//go:build !plan9 //go:build !plan9 && !wasm
package sftp_test package sftp_test

View File

@@ -1,7 +1,7 @@
// Build for sftp for unsupported platforms to stop go complaining // Build for sftp for unsupported platforms to stop go complaining
// about "no buildable Go source files " // about "no buildable Go source files "
//go:build plan9 //go:build plan9 || wasm
// Package sftp provides a filesystem interface using github.com/pkg/sftp // Package sftp provides a filesystem interface using github.com/pkg/sftp
package sftp package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package sftp package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package sftp package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package sftp package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package sftp package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package sftp package sftp

View File

@@ -74,6 +74,7 @@ var osarches = []string{
"plan9/amd64", "plan9/amd64",
"solaris/amd64", "solaris/amd64",
"js/wasm", "js/wasm",
"wasip1/wasm",
} }
// Special environment flags for a given arch // Special environment flags for a given arch

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
// Package cachestats provides the cachestats command. // Package cachestats provides the cachestats command.
package cachestats package cachestats

View File

@@ -1,7 +1,7 @@
// Build for cache for unsupported platforms to stop go complaining // Build for cache for unsupported platforms to stop go complaining
// about "no buildable Go source files " // about "no buildable Go source files "
//go:build plan9 || js //go:build plan9 || js || wasm
// Package cachestats provides the cachestats command. // Package cachestats provides the cachestats command.
package cachestats package cachestats

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package mountlib package mountlib

View File

@@ -1,4 +1,4 @@
//go:build plan9 || js //go:build plan9 || js || wasm
package mountlib package mountlib

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
// Package ncdu implements a text based user interface for exploring a remote // Package ncdu implements a text based user interface for exploring a remote
package ncdu package ncdu

View File

@@ -1,7 +1,7 @@
// Build for ncdu for unsupported platforms to stop go complaining // Build for ncdu for unsupported platforms to stop go complaining
// about "no buildable Go source files " // about "no buildable Go source files "
//go:build plan9 || js //go:build plan9 || js || wasm
// Package ncdu implements a text based user interface for exploring a remote // Package ncdu implements a text based user interface for exploring a remote
package ncdu package ncdu

View File

@@ -1,4 +1,4 @@
//go:build !windows && !plan9 && !js && !noselfupdate //go:build !windows && !plan9 && !js && !wasm && !noselfupdate
package selfupdate package selfupdate

View File

@@ -1,4 +1,4 @@
//go:build (plan9 || js) && !noselfupdate //go:build (plan9 || js || wasm) && !noselfupdate
package selfupdate package selfupdate

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package sftp package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package sftp package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package sftp package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package sftp package sftp

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
// Package sftp implements an SFTP server to serve an rclone VFS // Package sftp implements an SFTP server to serve an rclone VFS
package sftp package sftp

View File

@@ -3,7 +3,7 @@
// //
// We skip tests on platforms with troublesome character mappings // We skip tests on platforms with troublesome character mappings
//go:build !windows && !darwin && !plan9 //go:build !windows && !darwin && !plan9 && !wasm
package sftp package sftp

View File

@@ -1,7 +1,7 @@
// Build for sftp for unsupported platforms to stop go complaining // Build for sftp for unsupported platforms to stop go complaining
// about "no buildable Go source files " // about "no buildable Go source files "
//go:build plan9 //go:build plan9 || wasm
// Package sftp implements an SFTP server to serve an rclone VFS // Package sftp implements an SFTP server to serve an rclone VFS
package sftp package sftp

View File

@@ -1,6 +1,6 @@
// Daemonization stub for non-Unix platforms (common definitions) // Daemonization stub for non-Unix platforms (common definitions)
//go:build windows || plan9 || js //go:build windows || plan9 || js || wasm
package fs package fs

View File

@@ -1,6 +1,6 @@
// Daemonization interface for Unix platforms (common definitions) // Daemonization interface for Unix platforms (common definitions)
//go:build !windows && !plan9 && !js //go:build !windows && !plan9 && !js && !wasm
package fs package fs

View File

@@ -1,4 +1,4 @@
//go:build !plan9 //go:build !plan9 && !wasm
package fserrors package fserrors

View File

@@ -0,0 +1,21 @@
//go:build wasm
package fserrors
import (
"syscall"
)
func init() {
retriableErrors = append(retriableErrors,
syscall.EPIPE,
syscall.ETIMEDOUT,
syscall.ECONNREFUSED,
//syscall.EHOSTDOWN,
syscall.EHOSTUNREACH,
syscall.ECONNABORTED,
syscall.EAGAIN,
//syscall.EWOULDBLOCK,
syscall.ECONNRESET,
)
}

View File

@@ -1,6 +1,6 @@
// Log the panic under unix to the log file // Log the panic under unix to the log file
//go:build !windows && !solaris && !plan9 && !js //go:build !windows && !solaris && !plan9 && !js && !wasm
package log package log

View File

@@ -2,7 +2,7 @@
// //
// This library exports the core rc functionality // This library exports the core rc functionality
//go:build js //go:build js || wasm
package main package main

View File

@@ -1,4 +1,4 @@
//go:build illumos || js || plan9 || solaris //go:build illumos || js || wasm || plan9 || solaris
package diskusage package diskusage

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
// Package kv provides key/value database. // Package kv provides key/value database.
package kv package kv

View File

@@ -1,4 +1,4 @@
//go:build !plan9 && !js //go:build !plan9 && !js && !wasm
package kv package kv

View File

@@ -1,4 +1,4 @@
//go:build plan9 || js //go:build plan9 || js || wasm
// Package kv provides key/value database. // Package kv provides key/value database.
package kv package kv

View File

@@ -1,7 +1,7 @@
// Package mmap implements a large block memory allocator using // Package mmap implements a large block memory allocator using
// anonymous memory maps. // anonymous memory maps.
//go:build !plan9 && !windows && !js //go:build !plan9 && !windows && !js && !wasm
package mmap package mmap

View File

@@ -1,6 +1,6 @@
// Fallback Alloc and Free for unsupported OSes // Fallback Alloc and Free for unsupported OSes
//go:build plan9 || js //go:build plan9 || js || wasm
package mmap package mmap

View File

@@ -1,4 +1,4 @@
//go:build !js //go:build !js && !wasm
package terminal package terminal

View File

@@ -1,4 +1,4 @@
//go:build js //go:build js || wasm
package terminal package terminal