fix(void): carry python3-pysocks and constrain the audio and SOCKS floors
CI / security (pull_request) Successful in 1m13s
CI / lint (pull_request) Successful in 23s
CI / ai-review (pull_request) Successful in 8s

Void's stock python3-PyAudio (0.2.12_5) and python3-pysocks (1.7.0_8) sit
below the project floors (pyaudio>=0.2.13, PySocks>=1.7.1). voculinux
depended on both by bare name, which an installed stock package already
satisfies, so a user who had the stock packages was never upgraded.

- add packaging/void/srcpkgs/python3-pysocks: PySocks 1.7.1 from the PyPI
  sdist that uv.lock pins (sha256 3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0)
- voculinux depends on python3-PyAudio>=0.2.14_1 and python3-pysocks>=1.7.1_1
- the install smoke installs the stock packages first, then voculinux, and
  fails unless each reads back as its carried pkgver
- tests: each constraint must name its carried template's current version
  and revision; the stock version must sit below the floor; the depends
  parser refuses malformed tokens instead of stripping them
- docs: "Version floors" in packaging/void/README.md; a pointer in
  docs/RELEASE_PROCESS.md

Refs #16
This commit is contained in:
2026-11-06 21:32:33 +05:30
parent b47a65c91e
commit 06b7b79664
10 changed files with 240 additions and 38 deletions
@@ -0,0 +1,20 @@
# Template file for 'python3-pysocks'
# Carried for the personal repository: Void's python3-pysocks is 1.7.0, below
# the project floor PySocks>=1.7.1 (pyproject.toml). The version and checksum
# are the PyPI sdist that uv.lock pins. See packaging/void/README.md.
pkgname=python3-pysocks
version=1.7.1
revision=1
build_style=python3-module
hostmakedepends="python3-setuptools"
depends="python3"
short_desc="Python3 SOCKS client module"
maintainer="Orphaned <orphan@voidlinux.org>"
license="BSD-3-Clause"
homepage="https://github.com/Anorov/PySocks"
distfiles="${PYPI_SITE}/P/PySocks/PySocks-${version}.tar.gz"
checksum=3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0
post_install() {
vlicense LICENSE
}
+6 -1
View File
@@ -15,7 +15,12 @@ makedepends="python3-devel"
# direct typing on niri, wl-clipboard (wl-copy, wl-paste) for clipboard
# paths, xdotool for X11 and the XWayland fallback, pulseaudio-utils for
# pactl source listing. ibus is not a dependency: it is excluded on niri.
depends="python3 python3-gobject python3-cairo gtk+3 libayatana-appindicator gobject-introspection python3-numpy python3-requests python3-pysocks python3-psutil python3-evdev python3-xlib python3-tqdm python3-platformdirs python3-PyAudio python3-pynput python3-pywhispercpp pipewire wtype wl-clipboard xdotool pulseaudio-utils"
# python3-PyAudio and python3-pysocks are version-constrained. Void's stock
# packages (0.2.12_5, 1.7.0_8) sit below the project floors, and a bare name is
# already satisfied by a stock package a user has installed, so it would never
# be upgraded to the carried template. Each >= names the carried template's
# version and revision; tests/test_void_app_template.py keeps them in step.
depends="python3 python3-gobject python3-cairo gtk+3 libayatana-appindicator gobject-introspection python3-numpy python3-requests python3-pysocks>=1.7.1_1 python3-psutil python3-evdev python3-xlib python3-tqdm python3-platformdirs python3-PyAudio>=0.2.14_1 python3-pynput python3-pywhispercpp pipewire wtype wl-clipboard xdotool pulseaudio-utils"
short_desc="Free, offline voice dictation for Linux"
maintainer="Xavier Karma <xavier@bongbetic.com>"
license="AGPL-3.0-only"