openrv-git
maintainer meepzh
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The pip install is used solely to install aqtinstall, a tool to fetch official Qt binaries, which is a legitimate build dependency; no untrusted remote code is executed.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The pip install is used solely to install aqtinstall, a tool to fetch official Qt binaries, which is a legitimate build dependency; no untrusted remote code is executed.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
pip install of an external package
pip_install_external
`pip install <package>` fetches an unpinned package from PyPI at build time, outside source=() and makepkg's checksums.
-
PKGBUILD:126
pip install aqtinstall
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Robert Zhou <meep dot aur at meepzh dot com>
2
3
pkgname=openrv-git
4
pkgver=3.0.0.r430.94f9412
5
pkgrel=1
6
pkgdesc="aka Open RV, an image and sequence viewer for VFX and animation artists"
7
arch=('x86_64')
8
url='https://github.com/AcademySoftwareFoundation/OpenRV'
9
license=('Apache' 'custom')
10
depends=('alsa-lib' 'libaio' 'mesa' 'tk' 'tcsh' 'opencl-icd-loader' 'glu' 'nss'
11
'libxcomposite' 'libxcursor' 'xcb-util-keysyms' 'libxrandr' 'libva'
12
'xcb-util-wm' 'xcb-util-renderutil' 'libxkbcommon-x11' 'libvdpau' 'libxtst'
13
'libva' 'xcb-util-keysyms' 'libnsl' 'xcb-util-image' 'libcups' 'libpulse')
14
makedepends=('cmake>=3.24' 'git' 'opencl-headers' 'nasm' 'python-pip' 'meson'
15
'openssl-1.1' 'patchelf')
16
provides=('openrv')
17
options=(!strip)
18
source=('git+https://github.com/AcademySoftwareFoundation/OpenRV.git'
19
'git+https://github.com/shotgunsoftware/openrv-WFObj.git'
20
'git+https://github.com/shotgunsoftware/openrv-pub.git'
21
'git+https://github.com/shotgunsoftware/openrv-oiio.git'
22
'ffmpeg.patch'
23
'ocio.patch'
24
'ocio.h.patch'
25
'ocio_install_yaml-cpp.patch'
26
'ocio_yaml-cpp.patch'
27
'oiio.patch'
28
'externalpackages.patch'
29
'glew-lib64.patch'
30
'jpegturbo-lib64.patch'
31
'pyside6.patch'
32
'pyside6_build_main.patch')
33
b2sums=('SKIP'
34
'SKIP'
35
'SKIP'
36
'SKIP'
37
'006aafc6da23e045967968ffdfbe905436e05f66957e951917bcfc9aca9f515f9fcc2935884d7629ccaf1061ef64531356a2c89b07cad19fdc7f0bba8a7cd123'
38
'95f6cff1b9026ad1b9bdd9845c7fc646dcff5b78728bff312605e9d3b0ee0616defd89e9125f9784d8aa532047b67339f4d6a3a984ece819790d10ba06f8d605'
39
'c9ef45dfec9f5566fd9f6ab387907b73bb500ea1627f183cc5bbff6b9fb8419d67faa018c39f8f1f78d6164976a313b83842e584873069d17cefa40cdcdb4c22'
40
'f5d463d66fadff1d8d9fc7fadd04f5b723bc24a5530dce916e881e812d5e5d701bcbfbcaff6331ef94612028a82b3275fb309dfee292d12800ba4118ddd8c6eb'
41
'de1b4b59c5bfac9a9c9196a2775f83185c8d7901c6e9910408481bd0f057b5e9dc7d8b9cef31743a3a394881775f4959d4a991b22a9ea65a0bbedf2e3945fbaa'
42
'4d6b004ae837a636bdaf3c97ca0e67feab3c9792548f9d515ff6cef8ee854d716703174aa4349905b9ed078a28ebc4a6f41166f855e3d4068d7b9de4555ebdb9'
43
'83132f08eacfa5684d7adbcba60981e53e908025a31b6e39196a13a74a543d346fdcdbc95eb339bfc2c149c100ead760e7d0609afb275481d30a6c190782e8bb'
44
'ab830c1bcae5a35a3c3efc7f09776837a5b0b3d53cb7a42db5fad052635e848a79013617c97abdba2ce51fd41a593f8dde216e52e73e0bc3a7f4e608a22d165b'
45
'31ae9ab03451ac06771ae3d07d6b07ce86ea38494bea9d25c49940493a2a7e38db5267a5c4043a9811590ca236d3c9735376f4ab2c529b4565c33e57ee2b6448'
46
'7eb73c1463fc59ad122cc6dcec795530f1331d754f7c9e1ed849d7b41d1bfe85fa6c84b2ffa1cfcdca247ee13d04b5d89a6d4d7e08c8f40cf39b9a3dc4cd1b52'
47
'6ba80a7830666c4b7c79e51647bb71548324aa06c4785e7f806c5ab98105ebc18e7db218cc2a77b38865f54a6bd54c5b45f46fd1b1aaef5202a1c4967f6247fd')
48
49
pkgver() {
50
cd OpenRV
51
! cmake . >/dev/null 2>&1
52
! cmakelistsver=$(! cmake --system-information |
53
awk -F= '$1~/RV_MAJOR_VERSION:STRING/{MAJOR=$2; next} \
54
/RV_MINOR_VERSION:STRING/{MINOR=$2; next} \
55
/RV_REVISION_NUMBER:STRING/{print MAJOR "." MINOR "." $2}')
56
git clean -f -d >/dev/null 2>&1
57
printf "%s.r%s.%s" $cmakelistsver "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
58
}
59
60
prepare() {
61
cd OpenRV
62
63
git submodule init
64
git config submodule.src/lib/files/WFObj.url "$srcdir/openrv-WFObj"
65
git config submodule.src/pub.url "$srcdir/openrv-pub"
66
git config submodule.src/lib/oiio.url "$srcdir/openrv-oiio"
67
git -c protocol.file.allow=always submodule update
68
69
# Use lib instead of lib64
70
find cmake -type f -exec sed -i "s/lib64/lib/g" {} \;
71
sed -i "s/lib64/lib/g" src/build/make_openssl.py
72
sed -i "s/lib64/lib/g" src/build/make_python.py
73
sed -i '/-rpath/a\ \ \ \ \ \ \ \ configure_args.append("--libdir=lib")' src/build/make_openssl.py
74
patch --forward --strip=1 --input="$srcdir/glew-lib64.patch"
75
patch --forward --strip=1 --input="$srcdir/jpegturbo-lib64.patch"
76
77
# Fix build errors that occur on Arch
78
patch --forward --strip=1 --input="$srcdir/ffmpeg.patch" # Use the same version of ffmpeg from the Arch-provided ffmpeg and fix build errors
79
patch --forward --strip=1 --input="$srcdir/ocio.patch" # Include cstdint, force yaml-cpp static library build
80
patch --forward --strip=1 --input="$srcdir/oiio.patch" # Update OIIO version to fix build errors and force matching fmt build
81
patch --forward --strip=1 --input="$srcdir/pyside6.patch" # Force usage of OpenRV's Python installation for shiboken
82
sed -i 's/HAVE_MREMAP 1/HAVE_MREMAP 0/g' src/pub/nedmalloc/malloc.c.h
83
sed -i 's/s->pcrc_32_tab = get_crc_table()/s->pcrc_32_tab = (const unsigned long *)get_crc_table()/g' src/pub/minizip/unzip.c
84
sed -i 's/char\* tagList = \&/char\* tagList = \(char\*\)\&/g' src/pub/FTGL/FTVectoriser.cpp
85
sed -i 's/"--enable-shared",/"--enable-shared", "ax_cv_c_float_words_bigendian=no",/' src/build/make_python.py
86
sed -i /aja.cmake/d cmake/dependencies/CMakeLists.txt # Requires libajantv2, which is hardware-specific and requires an update in the AUR
87
echo " " > src/plugins/output/AJADevices/CMakeLists.txt
88
sed -i '/TwkGLFMesa/d' src/lib/graphics/CMakeLists.txt # Requires OSMesa, only available through legacy support in mesa-amber
89
sed -i '/(MovieRV)/d' src/lib/image/CMakeLists.txt # Software-based MovieRV uses TwkGLFMesa
90
sed -i '/rvio_sw/d' src/bin/imgtools/CMakeLists.txt # rvio_sw uses MovieRV
91
92
# Options
93
# sed -i '/(NON_FREE_ENCODERS_TO_DISABLE/a "nvenc"' cmake/dependencies/ffmpeg.cmake # Uncomment if not using nvidia
94
# sed -i '/"aac"/d' cmake/dependencies/ffmpeg.cmake # Re-enable non-free aac in ffmpeg
95
96
# Update rvcmds.sh
97
sed -i 's/pip install --user/pip install/' rvcmds.sh # Install to venv
98
sed -i -E 's/alias (\w+)="(.+)"/\1() { \2; };/' rvcmds.sh # Convert aliases to PKGBUILD-callable functions
99
sed -i 's,\\"${CMAKE_GENERATOR}\\","${CMAKE_GENERATOR}",' rvcmds.sh
100
# Pass CMake defines to rvcmds.sh:
101
# * Use latest dependencies in CY2024 and FFmpeg 7
102
# * Copy cherry-picks from Arch-provided ffmpeg
103
sed -i "s/{WIN_PERL};/{WIN_PERL} -DRV_FFMPEG=7 "'"'"-DRV_FFMPEG_PATCH_COMMAND_STEP=git cherry-pick -n bcfbf2bac8f9eeeedc407b40596f5c7aaa0d5b47 d0facac679faf45d3356dff2e2cb382580d7a521"'"'";/" rvcmds.sh
104
sed -i 's/--target ;/--target $1;/' rvcmds.sh
105
sed -i 's/ctest /ctest --exclude-regex ".*(ALSASafe|io_oiio).*" /' rvcmds.sh # ALSASafe uses Rv::Option, removed OpenVDB from OIIO
106
# sed -i 's/--parallel=8/--parallel=1/' rvcmds.sh # May help with debugging
107
}
108
109
build() {
110
cd OpenRV
111
# export CMAKE_GENERATOR="Unix Makefiles" # Uncomment to not use Ninja
112
python -m venv .
113
source bin/activate
114
115
# Check for a suitable Qt installation, currently mirroring the rvcmds script
116
local qt_arch="gcc_64"
117
local qt_version="6.5.3"
118
local qt_home=$(find ~/Qt*/6.5* -maxdepth 4 -type d -path "*/$qt_arch" | sort -V | tail -n 1)
119
if [ -z "$qt_home" ]; then
120
qt_home=$(find "$srcdir/Qt/$qt_version" -maxdepth 4 -type d -path "*/$qt_arch" | sort -V | tail -n 1)
121
fi
122
if [ -z "$qt_home" ]; then
123
# If not, use aqtinstall to download it, mirroring the official OpenRV Dockerfiles
124
# Thank you michimussato for the suggestion!
125
if ! pip show aqtinstall &> /dev/null; then
126
pip install aqtinstall
127
fi
128
local qt_modules="debug_info qt3d qt5compat qtcharts qtconnectivity qtdatavis3d qtgrpc qthttpserver \
129
qtimageformats qtlanguageserver qtlocation qtlottie qtmultimedia qtnetworkauth qtpdf \
130
qtpositioning qtquick3d qtquick3dphysics qtquickeffectmaker qtquicktimeline \
131
qtremoteobjects qtscxml qtsensors qtserialbus qtserialport qtshadertools qtspeech \
132
qtvirtualkeyboard qtwaylandcompositor qtwebchannel qtwebengine qtwebsockets qtwebview"
133
local qt_archives="icu qtbase qtdeclarative qtsvg qttools qttranslations qtwayland"
134
python -m aqt install-qt linux desktop $qt_version $qt_arch -O "$srcdir/Qt" \
135
-m ${qt_modules} \
136
--archives ${qt_archives}
137
qt_home="$srcdir/Qt/$qt_version/$qt_arch"
138
fi
139
140
QT_HOME="$qt_home" source rvcmds.sh
141
CMAKE_POLICY_VERSION_MINIMUM=3.5 QT_HOME="$qt_home" rvbootstrap
142
}
143
144
check() {
145
cd OpenRV
146
source rvcmds.sh
147
rvtest
148
}
149
150
package() {
151
cd OpenRV
152
install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
153
mkdir -p "$pkgdir/opt/openrv"
154
export RV_INST="$pkgdir/opt/openrv"
155
source rvcmds.sh
156
rvinst
157
}
158
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |