Package Details: winboat-git r297.c317316-2

Git Clone URL: https://aur.archlinux.org/winboat-git.git (read-only, click to copy)
Package Base: winboat-git
Description: Run Windows apps on Linux with seamless integration
Upstream URL: https://www.winboat.app
Licenses: MIT
Conflicts: winboat
Provides: winboat
Submitter: matthewq337
Maintainer: matthewq337
Last Packager: matthewq337
Votes: 0
Popularity: 0.000000
First Submitted: 2025-08-30 07:12 (UTC)
Last Updated: 2026-01-23 20:28 (UTC)

Latest Comments

Wyytts commented on 2026-05-29 05:39 (UTC)

I tested a local PKGBUILD fix for the current winboat-git package on CachyOS/Arch.

The current package built for me, but it produced a broken/blank WinBoat window when built through npm. The upstream project build flow is Bun-based, and rebuilding the package with Bun fixed it.

I also hit a native usb / node-addon-api rebuild issue that required C++17 for std::string_view.

Tested successfully with:

rm -f winboat-git-*.pkg.tar.*
rm -rf pkg src
makepkg -Cfsri

Confirmed the build used:

bun install
bun run build:linux-gs

and Vite produced the renderer assets successfully:

build/renderer/index.html
build/renderer/assets/*.js

Suggested PKGBUILD changes:

diff --git a/PKGBUILD b/PKGBUILD
index 7afd9e3..e5461a1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,7 +10,7 @@ license=('MIT')
 provides=(${_pkgname})
 conflicts=(${_pkgname})
 depends=('libxcrypt-compat' 'electron' 'freerdp' 'gtk3' 'alsa-lib' 'nss')
-makedepends=('zip' 'npm' 'go' 'git' 'imagemagick')
+makedepends=('zip' 'bun' 'go' 'git' 'imagemagick')
 optdepends=('docker: To use docker as a container runtime' 'podman-compose: To use podman as a container runtime')
 options=("!strip" "!debug")
 source=("git+https://github.com/tibixdev/winboat.git" "winboat.install")
@@ -29,15 +29,32 @@ sed -i 's/"rpm",//g' electron-builder.json
 }
 build() {
   cd "$_pkgname"
-  export npm_config_cache="$srcdir/npm_cache"
+
+  export BUN_INSTALL_CACHE_DIR="$srcdir/bun_cache"
   export GOPATH="$srcdir/gopath"
+
+  # Fix node-gyp rebuild of node_modules/usb / node-addon-api.
+  # node-addon-api requires C++17 for std::string_view / if constexpr.
+  export CXXFLAGS="${CXXFLAGS} -std=gnu++17"
+  export CXX="g++"
+
   export CGO_CPPFLAGS="${CPPFLAGS}"
   export CGO_CFLAGS="${CFLAGS}"
   export CGO_CXXFLAGS="${CXXFLAGS}"
   export CGO_LDFLAGS="${LDFLAGS}"
   export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
-  npm i
-  npm run build:linux-gs
+
+  if [[ -f bun.lock || -f bun.lockb ]]; then
+    bun install --frozen-lockfile
+  else
+    bun install
+  fi
+
+  bun run build:linux-gs
+
+  # Fail the package if the renderer did not actually build.
+  test -s build/renderer/index.html
+  find build/renderer/assets -type f -name "*.js" | grep -q .

   # Clean module cache for makepkg -C
   go clean -modcache
@@ -49,7 +66,7 @@ package() {
   cp -a dist/linux-unpacked/* "$pkgdir/opt/$_pkgname/"

   install -d "$pkgdir/usr/bin"
-  ln -s "opt/$_pkgname/$_pkgname" "$pkgdir/usr/bin/$_pkgname"
+  ln -s "/opt/$_pkgname/$_pkgname" "$pkgdir/usr/bin/$_pkgname"

Note: my local diff also contained an auto-updated pkgver/pkgrel hunk from makepkg, but I intentionally left that out here because the maintainer should not need to manually copy that part for a -git package.

matthewq337 commented on 2026-01-23 20:30 (UTC)

@aozaki fixed, thanks

aozaki commented on 2026-01-23 11:33 (UTC) (edited on 2026-01-23 11:43 (UTC) by aozaki)

Failed to build logs: npm ci can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with npm install before continuing.

change to npm i fix it

matthewq337 commented on 2026-01-23 06:32 (UTC)

@w568w fixed, thanks

w568w commented on 2025-11-14 11:23 (UTC)

Since v0.9.0-alpha2, WinBoat has supported Podman (and podman-compose) as an alternative to Docker (and docker-compose).

So docker-compose is not longer a requirement if podman-compose has been installed.

Because docker-compose and its podman counterpart do NOT provide a common metapacakge, maybe you'd like to add a setting item to the PKGBUILD, like this one?

matthewq337 commented on 2025-08-30 19:34 (UTC)

@sy0xff, fixed thanks

sy0xff commented on 2025-08-30 19:21 (UTC)

Hi, seems like the license file is not found now.

install: cannot stat '../LICENSE': No such file or directory

matthewq337 commented on 2025-08-30 17:48 (UTC)

@AzhamProdLive fixed, thanks

AzhamProdLive commented on 2025-08-30 09:16 (UTC)

Hello, the LICENSE file doesn't pass the validity check when building the program, can you check the checksum and correct it if possible ?