* fix(packaging): declare python3-pysocks in deb and rpm deps #909 added PySocks as a runtime dependency for SOCKS5 proxy support but only covered the AUR PKGBUILD — the nfpm deb and rpm packages never declared python3-pysocks, so test_every_project_dependency_is_covered_in_both_formats fails on main and on every PR's merge check. Add it to both depends lists and the test's DEB/RPM_PROVIDES maps. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> * fix(packaging): deb name is python3-socks Debian/Ubuntu package PySocks as python3-socks (1.7.1+dfsg); the rpm name stays python3-pysocks — Fedora's python3-socks is a different library (python-socks). Verified in debian:12, ubuntu:24.04 and fedora:42 containers. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --------- Co-authored-by: Jatin K Malik <jk.malik@yahoo.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
111 lines
3.5 KiB
YAML
111 lines
3.5 KiB
YAML
# One nfpm config for both the .deb and the .rpm.
|
|
#
|
|
# Do not run nfpm on this file directly: build.sh assembles the payload tree
|
|
# this config expects (./payload and ./pkg-doc next to the directory it runs
|
|
# nfpm from) and sets the VOCA_* variables the fields below expand.
|
|
#
|
|
# Packaging stays thin on purpose (#600): the interpreter, GTK, PyGObject and
|
|
# the gi typelibs come from the distribution, and so do every Python
|
|
# dependency the distros package. Only pywhispercpp and pynput are vendored —
|
|
# pywhispercpp is not packaged by Debian or Fedora at all, and pynput is
|
|
# missing from Fedora — both under /usr/lib/vocalinux/vendor/, on sys.path via
|
|
# the launcher in /usr/bin/vocalinux. Vendoring the pywhispercpp wheel per
|
|
# supported CPython is what keeps the package free of a bundled interpreter.
|
|
#
|
|
# Version: VOCA_VERSION is the tag without its leading v and without a
|
|
# prerelease suffix; VOCA_PRERELEASE carries that suffix (empty for stable).
|
|
# nfpm maps a prerelease to 0.19.0~beta-1, which orders before the stable
|
|
# 0.19.0-1 in both formats.
|
|
|
|
name: vocalinux
|
|
arch: ${VOCA_ARCH}
|
|
platform: linux
|
|
version: ${VOCA_VERSION}
|
|
release: 1
|
|
prerelease: ${VOCA_PRERELEASE}
|
|
section: utils
|
|
priority: optional
|
|
maintainer: "Jatin K Malik <jatinkrmalik@gmail.com>"
|
|
description: |
|
|
Free, offline voice dictation for Linux. Hold the push-to-talk key,
|
|
transcribe speech locally (whisper.cpp by default), and type into the
|
|
focused window. GTK, PyGObject and the interpreter come from the
|
|
distribution; pywhispercpp and pynput are vendored under
|
|
/usr/lib/vocalinux/vendor because neither distro packages them.
|
|
homepage: https://github.com/VocaHQ/vocalinux
|
|
license: AGPL-3.0-only
|
|
|
|
contents:
|
|
# The staged payload tree: /usr/lib/vocalinux/{app,vendor}, the launchers in
|
|
# /usr/bin, the desktop file and the hicolor icon. build.sh writes it.
|
|
- src: ./payload/
|
|
dst: /
|
|
type: tree
|
|
|
|
# License placement differs between the formats: Debian policy wants the
|
|
# copyright file under /usr/share/doc, Fedora marks /usr/share/licenses.
|
|
- src: ./pkg-doc/LICENSE
|
|
dst: /usr/share/doc/vocalinux/copyright
|
|
packager: deb
|
|
- src: ./pkg-doc/LICENSE
|
|
dst: /usr/share/licenses/vocalinux/LICENSE
|
|
packager: rpm
|
|
|
|
overrides:
|
|
deb:
|
|
depends:
|
|
- python3 (>= 3.11)
|
|
- python3-gi
|
|
- python3-gi-cairo
|
|
- gir1.2-gtk-3.0
|
|
- gir1.2-ayatanaappindicator3-0.1
|
|
- python3-numpy
|
|
- python3-requests
|
|
- python3-tqdm
|
|
- python3-platformdirs
|
|
- python3-psutil
|
|
- python3-evdev
|
|
- python3-pyaudio
|
|
- python3-socks
|
|
- python3-xlib
|
|
recommends:
|
|
# Host tools the injectors fall back through; install.d documents the
|
|
# same set for install.sh. The app runs without them on degraded paths.
|
|
- xdotool
|
|
- wtype
|
|
- ydotool
|
|
- wl-clipboard
|
|
- xclip
|
|
- xsel
|
|
# IBus engine (Wayland text injection): typelib plus the daemon itself.
|
|
- gir1.2-ibus-1.0
|
|
- ibus
|
|
# Desktop notifications.
|
|
- gir1.2-notify-0.7
|
|
rpm:
|
|
depends:
|
|
- python3 >= 3.11
|
|
- python3-gobject
|
|
- python3-cairo
|
|
- gtk3
|
|
- libayatana-appindicator-gtk3
|
|
- python3-numpy
|
|
- python3-requests
|
|
- python3-tqdm
|
|
- python3-platformdirs
|
|
- python3-psutil
|
|
- python3-evdev
|
|
- python3-pyaudio
|
|
- python3-pysocks
|
|
- python3-xlib
|
|
recommends:
|
|
- xdotool
|
|
- wtype
|
|
- ydotool
|
|
- wl-clipboard
|
|
- xclip
|
|
- xsel
|
|
# ibus carries the IBus-1.0 typelib itself on Fedora.
|
|
- ibus
|
|
- libnotify
|