diff --git a/README.md b/README.md index 5678d36..e14a747 100644 --- a/README.md +++ b/README.md @@ -81,8 +81,9 @@ companion supplies menu and standard Edit hooks for 32-bit applications, without ## Build -On Arch Linux, the [PKGBUILD](distro-packages/ArchLinux/wine-access-git/README.md) -provides package-managed installation and upgrades. Choose one installation +On Arch Linux, the [release package](distro-packages/ArchLinux/wine-access/README.md) +and [development package](distro-packages/ArchLinux/wine-access-git/README.md) +provide package-managed installation and upgrades. Choose one installation method to avoid a local copy taking precedence over the system package. The convenience script builds in `./build`. Running it as a user installs to diff --git a/VERSION b/VERSION index 7387f12..9a9b567 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2026.10.23 +2026.10.31 diff --git a/distro-packages/ArchLinux/wine-access-git/PKGBUILD b/distro-packages/ArchLinux/wine-access-git/PKGBUILD index 89f2575..10f752c 100644 --- a/distro-packages/ArchLinux/wine-access-git/PKGBUILD +++ b/distro-packages/ArchLinux/wine-access-git/PKGBUILD @@ -1,6 +1,6 @@ # Maintainer: Storm Dragon pkgname=wine-access-git -pkgver=r61.g17052c5 +pkgver=r63.g0763498 pkgrel=1 pkgdesc='Wine accessibility helper with MSAA, NVDA Controller, and Tolk compatibility for screen readers' arch=('x86_64') diff --git a/distro-packages/ArchLinux/wine-access-git/README.md b/distro-packages/ArchLinux/wine-access-git/README.md deleted file mode 100644 index ee773f4..0000000 --- a/distro-packages/ArchLinux/wine-access-git/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# Arch Linux package - -Run from this directory: - -```sh -makepkg -si -``` - -The source uses the maintained repository's public HTTPS URL. Git sources -include committed files only. - -The package installs the Winelib launcher, its sidecar, both native menu hook -DLLs, and the 32-bit menu host -under `/usr/libexec/wine-access/`. It provides and conflicts with `wine-access`. - -## Orca extension - -The package also installs a shared copy of the extension under -`/usr/share/wine-access/orca/wine_access/` and its instructions under -`/usr/share/doc/wine-access/orca/README.md`. Orca 51 or later is an optional -dependency; Cthulhu users do not need to install it. - -Orca currently scans each user's extension directory rather than a system -extension directory. To use the packaged copy, run these commands as the user -who runs Orca: - -```sh -mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/orca/extensions" -ln -sT /usr/share/wine-access/orca/wine_access \ - "${XDG_DATA_HOME:-$HOME/.local/share}/orca/extensions/wine_access" -orca --approve-extension wine_access -``` - -Restart Orca afterward. If an earlier `wine_access` copy exists in that user -directory, move it aside first; the link command does not replace existing -files or directories. Package upgrades update the shared extension. Approve -it again whenever its contents change, then restart Orca. - -Only one reader's helper can serve a Wine desktop/prefix at a time. Stop -Cthulhu's Wine helper before using Orca for that prefix; disable the Orca -extension before switching back to Cthulhu. - -## Helper discovery - -Use this package for subsequent updates rather than also installing through -`build.sh`. If an earlier local installation exists under -`~/.local/libexec/wine-access`, remove it with `./build.sh -r` from the project -root before using the package: readers may prefer that local copy. For the older -`~/.local/libexec/cthulhu/wine` layout, use the old version of `build.sh -r`. Do not -remove package-owned system files with `build.sh -r`. - -If your reader does not discover the system -location automatically, set this in the environment of the reader's service: - -```sh -export CTHULHU_WINE_ACCESS_HELPER=/usr/libexec/wine-access/wine-access.exe -``` - -The helper requires a running reader implementing its Wine D-Bus protocol; -see the project README for reader selection and endpoint overrides. diff --git a/distro-packages/ArchLinux/wine-access/PKGBUILD b/distro-packages/ArchLinux/wine-access/PKGBUILD new file mode 100644 index 0000000..8648d3b --- /dev/null +++ b/distro-packages/ArchLinux/wine-access/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: Storm Dragon +pkgname=wine-access +pkgver=2026.10.31 +pkgrel=1 +pkgdesc='Wine accessibility helper with MSAA, NVDA Controller, and Tolk compatibility for screen readers' +arch=('x86_64') +url='https://git.stormux.org/storm/wine-access' +license=('LGPL-2.1-or-later') +depends=('glib2' 'wine' 'libxcb') +makedepends=('cmake' 'git' 'pkgconf' 'mingw-w64-gcc') +optdepends=('orca>=51: Orca screen reader integration') +conflicts=('wine-access-git') +# Wine's import generation needs native object symbols, which LTO hides. +options=('!lto') + +source=('wine-access::git+https://git.stormux.org/storm/wine-access.git#tag=2026.10.31') +sha256sums=('SKIP') + +build() { + cmake -S "$srcdir/wine-access" -B "$srcdir/build" \ + -DCMAKE_TOOLCHAIN_FILE="$srcdir/wine-access/winelib-toolchain.cmake" \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBEXECDIR=libexec \ + -DWINE_ACCESS_INSTALL_DIR:PATH=libexec/wine-access + cmake --build "$srcdir/build" +} + +package() { + DESTDIR="$pkgdir" cmake --install "$srcdir/build" + + # CMake installs these artifacts as files; Wine's launcher must be executable. + chmod 755 "$pkgdir/usr/libexec/wine-access/wine-access.exe" + install -Dm644 "$srcdir/wine-access/README.md" \ + "$pkgdir/usr/share/doc/wine-access/README.md" + install -Dm644 "$srcdir/wine-access/orca/README.md" \ + "$pkgdir/usr/share/doc/wine-access/orca/README.md" + + # Orca discovers user extensions only. Users link this package-owned copy + # into their extension directory and approve it in their own session. + local extension_file + for extension_file in "$srcdir/wine-access/orca/wine_access/"*.py; do + install -Dm644 "$extension_file" \ + "$pkgdir/usr/share/wine-access/orca/wine_access/${extension_file##*/}" + done +}