From 3814051d4728a1e79b702fb88cd8a8625ed14727 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Tue, 29 Jul 2025 21:11:58 -0400 Subject: [PATCH] New package: nanovna-saver-0.7.3 --- .../patches/pep517-backend.patch | 17 +++++++++++ .../nanovna-saver/patches/pyside-tools.patch | 24 ++++++++++++++++ srcpkgs/nanovna-saver/template | 28 +++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 srcpkgs/nanovna-saver/patches/pep517-backend.patch create mode 100644 srcpkgs/nanovna-saver/patches/pyside-tools.patch create mode 100644 srcpkgs/nanovna-saver/template diff --git a/srcpkgs/nanovna-saver/patches/pep517-backend.patch b/srcpkgs/nanovna-saver/patches/pep517-backend.patch new file mode 100644 index 00000000000..f77a735ea7d --- /dev/null +++ b/srcpkgs/nanovna-saver/patches/pep517-backend.patch @@ -0,0 +1,17 @@ +don't use the custom backend, we do the ui compilation in pre_build + +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -69,11 +69,7 @@ + "setuptools>=64", + "setuptools-scm>=8" + ] +-# build-backend = 'setuptools.build_meta' +-# in-tree build backend, wrapper around setuptools, just to run ui-compile task +-# See also https://setuptools.pypa.io/en/latest/build_meta.html#dynamic-build-dependencies-and-other-build-meta-tweaks +-build-backend = "setuptools_wrapper" +-backend-path = ["src/tools"] ++build-backend = 'setuptools.build_meta' + + [tool.setuptools.exclude-package-data] + "*" = ['*.png', '*.ui', '*.qrc' ] diff --git a/srcpkgs/nanovna-saver/patches/pyside-tools.patch b/srcpkgs/nanovna-saver/patches/pyside-tools.patch new file mode 100644 index 00000000000..c628f04fedb --- /dev/null +++ b/srcpkgs/nanovna-saver/patches/pyside-tools.patch @@ -0,0 +1,24 @@ +pyside6-$tool is equivalent to $tool -g python + +--- a/src/tools/ui_compile.py ++++ b/src/tools/ui_compile.py +@@ -19,7 +19,9 @@ + python_name = f"{ui_file_name.replace('.ui', '')}.py" + + cmd = [ +- "pyside6-uic", ++ "/usr/lib/qt6/libexec/uic", ++ "-g", ++ "python", + str(ui_file), + "-o", + str(dir / python_name), +@@ -36,7 +36,7 @@ + ui_file_name = qrc_file.name + python_name = f"{ui_file_name.replace('.qrc', '')}_rc.py" + +- cmd = ["pyside6-rcc", str(qrc_file), "-o", str(dir / python_name)] ++ cmd = ["/usr/lib/qt6/libexec/rcc", "-g", "python", str(qrc_file), "-o", str(dir / python_name)] + print(f"{' '.join(cmd)}") + subprocess.run(cmd, check=True) + diff --git a/srcpkgs/nanovna-saver/template b/srcpkgs/nanovna-saver/template new file mode 100644 index 00000000000..01e58e1be0c --- /dev/null +++ b/srcpkgs/nanovna-saver/template @@ -0,0 +1,28 @@ +# Template file for 'nanovna-saver' +pkgname=nanovna-saver +version=0.7.3 +revision=1 +build_style=python3-pep517 +hostmakedepends="python3-setuptools python3-setuptools_scm python3-pyside6 qt6-base" +depends="python3-pyserial python3-pyside6 python3-numpy python3-scipy" +checkdepends="python3-pytest python3-pytest-cov ${depends}" +short_desc="Tool for reading, displaying and saving data from the NanoVNA" +maintainer="classabbyamp " +license="GPL-3.0-or-later" +homepage="https://github.com/NanoVNA-Saver/nanovna-saver" +changelog="https://github.com/NanoVNA-Saver/nanovna-saver/releases" +distfiles="https://github.com/NanoVNA-Saver/nanovna-saver/archive/refs/tags/v${version}.tar.gz" +checksum=932a9d54e6cdf3a7ee4fd9e5c75f8721b5a249b1de320feefb013de293717cd1 + +export SETUPTOOLS_SCM_PRETEND_VERSION="${version}" + +pre_build() { + python src/tools/ui_compile.py + rm -r src/tools +} + +post_install() { + vman docs/man/NanoVNASaver.1 + vinstall NanoVNASaver.desktop 0644 usr/share/applications + vinstall NanoVNASaver_48x48.png 0644 usr/share/icons/hicolor/48x48/apps NanoVNASaver_48x48.png +}