python-mcap
LOW
maintainer aarto
0 votes
scanned 2026-10-25 15:42:54.962645
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
Triggered rules
Low
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
PKGBUILD
1
# Maintainer: aarto <aarto@aur.archlinux.org>
2
pkgname=python-mcap
3
pkgver=1.6.0
4
pkgrel=1
5
pkgdesc='Python library for reading and writing MCAP files'
6
arch=('any')
7
url='https://github.com/foxglove/mcap'
8
license=('MIT')
9
depends=('python' 'python-lz4' 'python-zstandard')
10
makedepends=('python-build' 'python-installer' 'python-setuptools' 'python-wheel')
11
checkdepends=('python-pytest')
12
_tag="releases/python/mcap/v$pkgver"
13
_lfs="https://media.githubusercontent.com/media/foxglove/mcap/$_tag"
14
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/$_tag.tar.gz"
15
"$pkgname-$pkgver-demo.mcap::$_lfs/testdata/mcap/demo.mcap"
16
"$pkgname-$pkgver-OneMessage.mcap::$_lfs/tests/conformance/data/OneMessage/OneMessage.mcap")
17
b2sums=('6faec139716f9a4c44e06102961cb4292ade9d02fcf88706d2e57e9631969f9bde258ec29b0973473f27329a307d6a33b3606fde4aaae2b2d6a6373e246d7e2a'
18
'4e28ccbed540e377e63e2705ae9a48469b89107ea966267f0d3c372889633953cf33982c25f3b8e035904716302109313fb5436fcf900a1b53fcaa1734668077'
19
'f1b15ce171c25804eef403e124c4d933e2c25e1260d2eb9c389760d06a1ebc8a2852aca4501c05169763a39e2cf49ba47e38b0929c26b1269ba30cb429fd82bb')
20
_srcroot="mcap-releases-python-mcap-v$pkgver"
21
22
prepare() {
23
cd "$_srcroot"
24
# The GitHub archive ships Git LFS pointers for test data, swap in the real objects
25
cp "$srcdir/$pkgname-$pkgver-demo.mcap" testdata/mcap/demo.mcap
26
cp "$srcdir/$pkgname-$pkgver-OneMessage.mcap" tests/conformance/data/OneMessage/OneMessage.mcap
27
}
28
29
build() {
30
cd "$_srcroot/python/mcap"
31
# TODO: two upstream setuptools warnings, both cosmetic. Still present on main as of 2026-10-23.
32
# * "File '.../python/mcap/README.md' cannot be found": setup.cfg sets
33
# long_description = file: README.md, but upstream never added a README to
34
# python/mcap (the mcap-*-support siblings each have one). The wheel gets an
35
# empty description, same as the 1.6.0 release on PyPI.
36
# * "License classifiers are deprecated": newer setuptools (PEP 639) wants an
37
# SPDX license expression in setup.cfg instead of the
38
# "License :: OSI Approved :: MIT License" classifier.
39
python -m build --wheel --no-isolation
40
}
41
42
check() {
43
# TODO: 4 upstream test warnings, harmless. tests/test_reader.py pipe fixture
44
# closes raw fds behind os.fdopen() objects (EBADF at GC, reported since
45
# Python 3.13, upstream CI runs 3.10). test_explicit_time_range_bounds uses the
46
# deprecated start_time on purpose without pytest.warns().
47
cd "$_srcroot/python/mcap"
48
python -m pytest tests
49
}
50
51
package() {
52
# TODO: namcap warns "Referenced python module 'mcap.opcode.Opcode' is an
53
# uninstalled dependency" for mcap/exceptions.py. False positive.
54
# exceptions.py is the only module importing its own package absolutely
55
# (from mcap.opcode import Opcode), every other module uses relative imports,
56
# which namcap does not flag. namcap checks the dotted name mcap.opcode.Opcode,
57
# and Opcode is a class, not a module, so no file in this package matches it.
58
# Goes away if upstream switches to "from .opcode import Opcode".
59
cd "$_srcroot"
60
python -m installer --destdir="$pkgdir" python/mcap/dist/*.whl
61
install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
62
}
63
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-25 15:42:54 | Low | 1 |