shrimply-git
LOW
maintainer korigamik
0 votes
scanned 2026-09-18 21:28:57.026605
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: KorigamiK <korigamik@gmail.com>
2
_pkgname=shrimply
3
pkgname="${_pkgname}-git"
4
pkgver=r422.f6fc8ee9
5
pkgrel=3
6
pkgdesc="A simple, fast GPU-accelerated video editor"
7
arch=('x86_64')
8
url="https://github.com/soirihiroka/shrimply"
9
license=('GPL-3.0-or-later')
10
depends=(
11
'alsa-lib'
12
'ffmpeg'
13
'freetype2'
14
'gtk4'
15
'gtksourceview5'
16
'hicolor-icon-theme'
17
'libadwaita'
18
'libglvnd'
19
'opencv'
20
'openssl'
21
'pipewire'
22
'poppler-glib'
23
'python'
24
'rubberband'
25
'uv'
26
)
27
optdepends=(
28
'nvidia-utils: hardware acceleration for NVIDIA GPUs and CUDA'
29
'cuda: runtime CUDA toolkit and development utilities'
30
'optix: NVIDIA OptiX development headers from AUR (optix-dev-headers)'
31
'shader-slang: system Slang shading language compiler from AUR'
32
)
33
makedepends=(
34
'clang'
35
'cmake'
36
'cuda'
37
'gcc15'
38
'git'
39
'gobject-introspection'
40
'make'
41
'ninja'
42
'pkgconf'
43
'rustup'
44
)
45
provides=("${_pkgname}")
46
conflicts=("${_pkgname}")
47
options=('!debug')
48
49
source=(
50
"${_pkgname}::git+https://github.com/soirihiroka/shrimply.git#branch=main"
51
"shrimply-manim-system-path.patch"
52
)
53
54
sha256sums=(
55
'SKIP'
56
'3d648690fb909f6252b0392d1d5fcbf698d312f1691a4c255707c90131652a9f'
57
)
58
59
pkgver() {
60
cd "${srcdir}/${_pkgname}"
61
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
62
}
63
64
prepare() {
65
cd "${srcdir}/${_pkgname}"
66
67
# OptiX: prefer system package (/usr/include/optix.h); fallback to submodule
68
if [ ! -f /usr/include/optix.h ]; then
69
git submodule update --init external/optix-dev
70
fi
71
72
# Manim: prefer system python manimlib if installed; fallback to submodule
73
if ! python3 -c 'import manimlib' &>/dev/null && [ ! -d /usr/lib/python*/site-packages/manimlib ]; then
74
git submodule update --init external/manim
75
else
76
sed -i '/\[tool\.uv\.sources\]/,+1d' crates/media/visual/manim/manim-bridge/python/pyproject.toml
77
fi
78
79
# External vtracer dependency
80
if [ ! -f external/vtracer/crates/vtracer/Cargo.toml ]; then
81
git submodule update --init external/vtracer
82
fi
83
84
# Apply path patch for installed Manim worker and user cache virtual environment
85
patch -Np1 -i "${srcdir}/shrimply-manim-system-path.patch"
86
87
# Ensure the pinned Rust toolchain is available
88
if ! rustup run nightly-2026-04-03 rustc --version &>/dev/null; then
89
msg2 "Installing required Rust toolchain nightly-2026-04-03..."
90
rustup toolchain install nightly-2026-04-03 --profile minimal
91
fi
92
}
93
94
build() {
95
cd "${srcdir}/${_pkgname}"
96
97
export CARGO_HOME="${CARGO_HOME:-${srcdir}/cargo-home}"
98
export CUDA_HOME="${CUDA_HOME:-/opt/cuda}"
99
export CUDA_TOOLKIT_PATH="${CUDA_TOOLKIT_PATH:-/opt/cuda}"
100
export CUDA_HOST_CXX="${CUDA_HOST_CXX:-g++-15}"
101
export CUDA_ALLOW_UNSUPPORTED_COMPILER=1
102
export CUDA_IMAGE_FORMAT=ptx
103
export CUDA_PTX_TARGET=compute_75
104
export PATH="${CUDA_HOME}/bin:${PATH}"
105
export LIBRARY_PATH="${CUDA_HOME}/lib64/stubs:${LIBRARY_PATH}"
106
export LIBCLANG_PATH="${LIBCLANG_PATH:-/usr/lib}"
107
108
# OptiX headers: prefer Arch package (/usr/include/optix.h)
109
if [ -f /usr/include/optix.h ]; then
110
export OPTIX_ROOT=/usr
111
elif [ -d "${srcdir}/${_pkgname}/external/optix-dev" ]; then
112
export OPTIX_ROOT="${srcdir}/${_pkgname}/external/optix-dev"
113
fi
114
115
# Slang compiler: prefer Arch package (shader-slang) if installed
116
if [ -f /usr/include/shader-slang/slang-com-ptr.h ] && [ -f /usr/lib/libslang.so ]; then
117
export SLANG_INCLUDE_DIR=/usr/include/shader-slang
118
export SLANG_LIBRARY_DIR=/usr/lib
119
elif [ -f /usr/include/slang-com-ptr.h ] && [ -f /usr/lib/libslang.so ]; then
120
export SLANG_INCLUDE_DIR=/usr/include
121
export SLANG_LIBRARY_DIR=/usr/lib
122
else
123
unset SLANG_INCLUDE_DIR
124
unset SLANG_LIBRARY_DIR
125
fi
126
127
make release \
128
CUDA_HOME="${CUDA_HOME}" \
129
CUDA_TOOLKIT_PATH="${CUDA_TOOLKIT_PATH}" \
130
CUDA_HOST_CXX="${CUDA_HOST_CXX}" \
131
CUDA_ALLOW_UNSUPPORTED_COMPILER="${CUDA_ALLOW_UNSUPPORTED_COMPILER}" \
132
CUDA_IMAGE_FORMAT="${CUDA_IMAGE_FORMAT}" \
133
CUDA_PTX_TARGET="${CUDA_PTX_TARGET}" \
134
OPTIX_ROOT="${OPTIX_ROOT}"
135
}
136
137
package() {
138
cd "${srcdir}/${_pkgname}"
139
140
export CARGO_HOME="${CARGO_HOME:-${srcdir}/cargo-home}"
141
export CUDA_HOME="${CUDA_HOME:-/opt/cuda}"
142
export CUDA_TOOLKIT_PATH="${CUDA_TOOLKIT_PATH:-/opt/cuda}"
143
export CUDA_HOST_CXX="${CUDA_HOST_CXX:-g++-15}"
144
export CUDA_ALLOW_UNSUPPORTED_COMPILER=1
145
export CUDA_IMAGE_FORMAT=ptx
146
export CUDA_PTX_TARGET=compute_75
147
export PATH="${CUDA_HOME}/bin:${PATH}"
148
export LIBRARY_PATH="${CUDA_HOME}/lib64/stubs:${LIBRARY_PATH}"
149
export LIBCLANG_PATH="${LIBCLANG_PATH:-/usr/lib}"
150
151
if [ -f /usr/include/optix.h ]; then
152
export OPTIX_ROOT=/usr
153
elif [ -d "${srcdir}/${_pkgname}/external/optix-dev" ]; then
154
export OPTIX_ROOT="${srcdir}/${_pkgname}/external/optix-dev"
155
fi
156
157
if [ -f /usr/include/shader-slang/slang.h ] && [ -f /usr/lib/libslang.so ]; then
158
export SLANG_INCLUDE_DIR=/usr/include/shader-slang
159
export SLANG_LIBRARY_DIR=/usr/lib
160
elif [ -f /usr/include/slang.h ] && [ -f /usr/lib/libslang.so ]; then
161
export SLANG_INCLUDE_DIR=/usr/include
162
export SLANG_LIBRARY_DIR=/usr/lib
163
fi
164
165
make install \
166
PREFIX=/usr \
167
DESTDIR="${pkgdir}" \
168
CUDA_HOME="${CUDA_HOME}" \
169
CUDA_TOOLKIT_PATH="${CUDA_TOOLKIT_PATH}" \
170
CUDA_HOST_CXX="${CUDA_HOST_CXX}" \
171
CUDA_ALLOW_UNSUPPORTED_COMPILER="${CUDA_ALLOW_UNSUPPORTED_COMPILER}" \
172
CUDA_IMAGE_FORMAT="${CUDA_IMAGE_FORMAT}" \
173
CUDA_PTX_TARGET="${CUDA_PTX_TARGET}" \
174
OPTIX_ROOT="${OPTIX_ROOT}"
175
176
# Install Manim python worker runtime files
177
install -dm755 "${pkgdir}/usr/share/shrimply/crates/media/visual/manim/manim-bridge"
178
cp -r "crates/media/visual/manim/manim-bridge/python" "${pkgdir}/usr/share/shrimply/crates/media/visual/manim/manim-bridge/"
179
180
# Install vendored manim source only if fallback submodule was used
181
if [ -d "external/manim/manimlib" ]; then
182
install -dm755 "${pkgdir}/usr/share/shrimply/external"
183
cp -r "external/manim" "${pkgdir}/usr/share/shrimply/external/"
184
fi
185
186
# Install project license
187
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
188
}
189
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-18 21:28:57 | Low | 1 |