shrimply-git

LOW
maintainer korigamik 0 votes scanned 2026-09-18 21:28:57.026605
View on AUR
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
3pkgname="${_pkgname}-git"
4pkgver=r422.f6fc8ee9
5pkgrel=3
6pkgdesc="A simple, fast GPU-accelerated video editor"
7arch=('x86_64')
8url="https://github.com/soirihiroka/shrimply"
9license=('GPL-3.0-or-later')
10depends=(
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)
27optdepends=(
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)
33makedepends=(
34 'clang'
35 'cmake'
36 'cuda'
37 'gcc15'
38 'git'
39 'gobject-introspection'
40 'make'
41 'ninja'
42 'pkgconf'
43 'rustup'
44)
45provides=("${_pkgname}")
46conflicts=("${_pkgname}")
47options=('!debug')
48
49source=(
50 "${_pkgname}::git+https://github.com/soirihiroka/shrimply.git#branch=main"
51 "shrimply-manim-system-path.patch"
52)
53
54sha256sums=(
55 'SKIP'
56 '3d648690fb909f6252b0392d1d5fcbf698d312f1691a4c255707c90131652a9f'
57)
58
59pkgver() {
60 cd "${srcdir}/${_pkgname}"
61 printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
62}
63
64prepare() {
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
94build() {
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
137package() {
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)SeverityRules
2026-09-18 21:28:57 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion