Package Details: gamepad-osk-git r53.67beaf6-1

Git Clone URL: https://aur.archlinux.org/gamepad-osk-git.git (read-only, click to copy)
Package Base: gamepad-osk-git
Description: Gamepad-controlled on-screen keyboard for Linux
Upstream URL: https://github.com/0x90shell/gamepad-osk
Licenses: MIT
Conflicts: gamepad-osk, gamepad-osk-bin
Provides: gamepad-osk
Submitter: 0x90shell
Maintainer: 0x90shell
Last Packager: 0x90shell
Votes: 0
Popularity: 0.000000
First Submitted: 2026-04-06 03:57 (UTC)
Last Updated: 2026-06-17 19:25 (UTC)

Latest Comments

0x90shell commented on 2026-06-17 19:30 (UTC)

Good catch on the symptom, but the cause isn't a missing repo. In source=("${pkgname}::git+${url}.git") the part before :: is just the local folder makepkg clones into, not the repo it clones from. It pulls the real upstream into a folder named gamepad-osk-git, the same name as the pkgbase.

With plain makepkg that source lands as a subdir of the build dir, so it works, which is why it's built fine for a while. But under a tool with a shared SRCDEST like yours at /var/cache/packages/builds, the source clone target and the pkgbase checkout resolve to the same path. makepkg then finds the AUR checkout sitting there, sees it isn't a clone of upstream, and bails.

Renaming the checkout to gamepad-osk via _pkgname (your change) makes the source folder differ from the pkgbase name, so it can't collide in either setup. Pushed as r53.67beaf6, builds and passes check() clean. Thanks.

Zetta1_Reid0 commented on 2026-06-16 06:34 (UTC) (edited on 2026-06-16 06:37 (UTC) by Zetta1_Reid0)

Here is a fix:

# Maintainer: 0x90shell
_pkgname=gamepad-osk
pkgname=${_pkgname}-git
pkgver=r53.67beaf6
pkgrel=1
pkgdesc="Gamepad-controlled on-screen keyboard for Linux"
arch=('x86_64' 'aarch64')
url="https://github.com/0x90shell/gamepad-osk"
license=('MIT')
depends=('sdl3' 'sdl3_ttf' 'wayland' 'libx11' 'ttf-promptfont')
makedepends=('git' 'go' 'libx11' 'wayland' 'wlr-protocols')
provides=('gamepad-osk')
conflicts=('gamepad-osk' 'gamepad-osk-bin')
source=("${_pkgname}::git+${url}.git")
sha256sums=('SKIP')
install=gamepad-osk-git.install

pkgver() {
  cd "$_pkgname"
  printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

build() {
  cd "$_pkgname"
  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"
  go build -o gamepad-osk .
}

check() {
  cd "$_pkgname"
  go test ./...
}

package() {
  cd "$_pkgname"
  install -Dm755 gamepad-osk "$pkgdir/usr/bin/gamepad-osk"
  install -Dm644 config.example "$pkgdir/usr/share/gamepad-osk/config"
  install -Dm644 gamepad-osk.service "$pkgdir/usr/lib/systemd/user/gamepad-osk.service"
  install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$_pkgname/LICENSE"
  install -Dm644 README.md "$pkgdir/usr/share/doc/gamepad-osk/README.md"
  install -Dm644 gamepad-osk.udev "$pkgdir/usr/lib/udev/rules.d/80-gamepad-osk.rules"
}

Original tries to clone gamepad-osk-git that does not exists.

/var/cache/packages/builds/gamepad-osk-git is not a clone of https://github.com/0x90shell/gamepad-osk.git

error: failed to download sources for 'gamepad-osk-git-r50.dbdfc16-1': error: packages failed to build: gamepad-osk-git-r50.dbdfc16-1