Fixed some packaging problems.

This commit is contained in:
Storm Dragon
2026-09-03 14:54:04 -04:00
parent e779ba20ff
commit d4bec38c18
10 changed files with 55 additions and 41 deletions
@@ -4,7 +4,7 @@
pkgbase=cthulhu-git pkgbase=cthulhu-git
pkgname=cthulhu-git pkgname=cthulhu-git
_pkgname=cthulhu _pkgname=cthulhu
pkgver=2026.07.18.r465.g050ae25 pkgver=2026.08.06.r474.ge779ba2
pkgrel=1 pkgrel=1
pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca" pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca"
url="https://git.stormux.org/storm/cthulhu" url="https://git.stormux.org/storm/cthulhu"
@@ -68,7 +68,7 @@ optdepends=(
) )
optdepends_x86_64=( optdepends_x86_64=(
# The helper is x86_64-only, but this package is architecture-independent. # The helper is x86_64-only, but this package is architecture-independent.
'cthulhu-wine-access-git: Wine, Proton, NVDA Controller, and Tolk integration' 'cthulhu-wine-access: Wine, Proton, NVDA Controller, and Tolk integration'
) )
makedepends=( makedepends=(
git git
@@ -10,14 +10,12 @@ url="https://git.stormux.org/storm/cthulhu"
arch=(x86_64) arch=(x86_64)
license=(LGPL-2.1-or-later) license=(LGPL-2.1-or-later)
depends=( depends=(
"cthulhu-git=${pkgver}"
glib2 glib2
wine wine
) )
makedepends=( makedepends=(
cmake cmake
git git
meson
) )
provides=(cthulhu-wine-access) provides=(cthulhu-wine-access)
conflicts=(cthulhu-wine-access) conflicts=(cthulhu-wine-access)
@@ -40,9 +38,12 @@ pkgver() {
} }
build() { build() {
cd "${_pkgname}" local sourceDir="${srcdir}/${_pkgname}"
arch-meson _build -Dwine-access=enabled bash "${sourceDir}/scripts/build-wine-access.sh" \
meson compile -C _build "${sourceDir}/wine-access" \
"${sourceDir}/_build/wine-access-build" \
"${sourceDir}/_build/cthulhu-wine-access.exe" \
"${sourceDir}/_build/cthulhu-wine-access.exe.so"
} }
package() { package() {
@@ -2,30 +2,31 @@
# shellcheck shell=bash disable=SC2034,SC2154,SC2164 # shellcheck shell=bash disable=SC2034,SC2154,SC2164
pkgname=cthulhu-wine-access pkgname=cthulhu-wine-access
pkgver=2026.08.06 pkgver=2026.09.03
pkgrel=1 pkgrel=1
pkgdesc="Optional Wine and Proton accessibility bridge for Cthulhu" pkgdesc="Optional Wine and Proton accessibility bridge for Cthulhu"
url="https://git.stormux.org/storm/cthulhu" url="https://git.stormux.org/storm/cthulhu"
arch=(x86_64) arch=(x86_64)
license=(LGPL-2.1-or-later) license=(LGPL-2.1-or-later)
depends=( depends=(
"cthulhu=${pkgver}"
glib2 glib2
wine wine
) )
makedepends=( makedepends=(
cmake cmake
git git
meson
) )
source=("git+https://git.stormux.org/storm/cthulhu.git#tag=${pkgver}") source=("git+https://git.stormux.org/storm/cthulhu.git#tag=${pkgver}")
sha512sums=('SKIP') sha512sums=('SKIP')
options=(!lto) options=(!lto)
build() { build() {
cd cthulhu local sourceDir="${srcdir}/cthulhu"
arch-meson _build -Dwine-access=enabled bash "${sourceDir}/scripts/build-wine-access.sh" \
meson compile -C _build "${sourceDir}/wine-access" \
"${sourceDir}/_build/wine-access-build" \
"${sourceDir}/_build/cthulhu-wine-access.exe" \
"${sourceDir}/_build/cthulhu-wine-access.exe.so"
} }
package() { package() {
+1 -1
View File
@@ -3,7 +3,7 @@
pkgbase=cthulhu pkgbase=cthulhu
pkgname=cthulhu pkgname=cthulhu
pkgver=2026.08.06 pkgver=2026.09.03
pkgrel=1 pkgrel=1
pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca" pkgdesc="Desktop-agnostic screen reader with plugin system, forked from Orca"
url="https://git.stormux.org/storm/cthulhu" url="https://git.stormux.org/storm/cthulhu"
+1 -1
View File
@@ -6,7 +6,7 @@
cd "$(dirname "$0")" ; CWD=$(pwd) cd "$(dirname "$0")" ; CWD=$(pwd)
PRGNAM=cthulhu PRGNAM=cthulhu
VERSION=${VERSION:-2026.08.06} VERSION=${VERSION:-2026.09.03}
BUILD=${BUILD:-1} BUILD=${BUILD:-1}
TAG=storm TAG=storm
PKGTYPE=txz PKGTYPE=txz
+1 -1
View File
@@ -1,5 +1,5 @@
PRGNAM="cthulhu" PRGNAM="cthulhu"
VERSION="2026.08.06" VERSION="2026.09.03"
HOMEPAGE="https://git.stormux.org/storm/cthulhu" HOMEPAGE="https://git.stormux.org/storm/cthulhu"
DOWNLOAD="https://git.stormux.org/storm/cthulhu.git" DOWNLOAD="https://git.stormux.org/storm/cthulhu.git"
MD5SUM="SKIP" MD5SUM="SKIP"
+1 -1
View File
@@ -6,7 +6,7 @@
cd "$(dirname "$0")" ; CWD=$(pwd) cd "$(dirname "$0")" ; CWD=$(pwd)
PRGNAM=cthulhu PRGNAM=cthulhu
VERSION=${VERSION:-2026.08.06} VERSION=${VERSION:-2026.09.03}
BUILD=${BUILD:-1} BUILD=${BUILD:-1}
TAG=storm TAG=storm
PKGTYPE=txz PKGTYPE=txz
+1 -1
View File
@@ -1,5 +1,5 @@
project('cthulhu', project('cthulhu',
version: '2026.08.06', version: '2026.09.03-master',
meson_version: '>= 1.0.0', meson_version: '>= 1.0.0',
) )
+1 -1
View File
@@ -23,5 +23,5 @@
# Forked from Orca screen reader. # Forked from Orca screen reader.
# Cthulhu project: https://git.stormux.org/storm/cthulhu # Cthulhu project: https://git.stormux.org/storm/cthulhu
version = "2026.08.06" version = "2026.09.03"
codeName = "master" codeName = "master"
+30 -18
View File
@@ -46,25 +46,20 @@ class ArchPkgbuildOptionalWineTests(unittest.TestCase):
} }
self.assertNotIn("wine", dependencyLines) self.assertNotIn("wine", dependencyLines)
def test_main_packages_advertise_matching_optional_helper(self) -> None: def test_main_packages_advertise_interchangeable_optional_helper(self) -> None:
stableContents = self.pkgbuilds[0].read_text(encoding="utf-8") helperDescription = (
"'cthulhu-wine-access: Wine, Proton, NVDA Controller, and Tolk integration'"
)
for pkgbuild in self.pkgbuilds:
with self.subTest(pkgbuild=pkgbuild):
contents = pkgbuild.read_text(encoding="utf-8")
self.assertIn( self.assertIn(
"'cthulhu-wine-access: Wine, Proton, NVDA Controller, and Tolk integration'", helperDescription,
self._array_contents(stableContents, "optdepends_x86_64"), self._array_contents(contents, "optdepends_x86_64"),
) )
self.assertNotIn( self.assertNotIn(
"cthulhu-wine-access", "cthulhu-wine-access",
self._array_contents(stableContents, "optdepends"), self._array_contents(contents, "optdepends"),
)
gitContents = self.pkgbuilds[1].read_text(encoding="utf-8")
self.assertIn(
"'cthulhu-wine-access-git: Wine, Proton, NVDA Controller, and Tolk integration'",
self._array_contents(gitContents, "optdepends_x86_64"),
)
self.assertNotIn(
"cthulhu-wine-access-git",
self._array_contents(gitContents, "optdepends"),
) )
def test_stable_packages_use_current_release_version(self) -> None: def test_stable_packages_use_current_release_version(self) -> None:
@@ -105,14 +100,31 @@ class ArchPkgbuildOptionalWineTests(unittest.TestCase):
def test_stable_helper_has_release_contract(self) -> None: def test_stable_helper_has_release_contract(self) -> None:
contents = self.helperPkgbuilds[0].read_text(encoding="utf-8") contents = self.helperPkgbuilds[0].read_text(encoding="utf-8")
self.assertRegex(contents, r"(?m)^arch=\(x86_64\)$") self.assertRegex(contents, r"(?m)^arch=\(x86_64\)$")
self.assertRegex(contents, r'(?m)^ "cthulhu=\$\{pkgver\}"$')
def test_optional_helper_packages_own_the_wine_dependency(self) -> None: def test_optional_helpers_do_not_depend_on_main_package(self) -> None:
for pkgbuild in self.helperPkgbuilds: for pkgbuild in self.helperPkgbuilds:
with self.subTest(pkgbuild=pkgbuild): with self.subTest(pkgbuild=pkgbuild):
contents = pkgbuild.read_text(encoding="utf-8") contents = pkgbuild.read_text(encoding="utf-8")
self.assertIn("-Dwine-access=enabled", contents) dependencies = self._array_contents(contents, "depends")
self.assertNotRegex(
dependencies,
r"(?m)^\s*['\"]?cthulhu(?:-git)?(?:[<>=].*)?['\"]?\s*$",
)
def test_git_helper_provides_stable_helper_name(self) -> None:
contents = self.helperPkgbuilds[1].read_text(encoding="utf-8")
self.assertRegex(contents, r"(?m)^provides=\(cthulhu-wine-access\)$")
self.assertRegex(contents, r"(?m)^conflicts=\(cthulhu-wine-access\)$")
def test_optional_helper_packages_build_only_the_helper(self) -> None:
for pkgbuild in self.helperPkgbuilds:
with self.subTest(pkgbuild=pkgbuild):
contents = pkgbuild.read_text(encoding="utf-8")
self.assertIn('/scripts/build-wine-access.sh"', contents)
self.assertNotIn("arch-meson", contents)
self.assertRegex(contents, r"(?m)^ wine$") self.assertRegex(contents, r"(?m)^ wine$")
makeDependencies = self._array_contents(contents, "makedepends")
self.assertNotRegex(makeDependencies, r"(?m)^\s*meson\s*$")
def test_optional_helper_packages_disable_lto(self) -> None: def test_optional_helper_packages_disable_lto(self) -> None:
for pkgbuild in self.helperPkgbuilds: for pkgbuild in self.helperPkgbuilds: