hdrview-git
MEDIUM
maintainer dreieck
0 votes
scanned 2026-09-27 13:18:29.354985
Why flagged
This package was orphaned and re-adopted within the last 30 days — a window where ownership transfers can introduce malicious changes.
Triggered rules
Medium
Recently orphaned & re-adopted
orphaned_readopted
This package was orphaned and re-adopted within the last 30 days — a window where ownership transfers can introduce malicious changes.
PKGBUILD
1
# Maintainer: dreieck (https://aur.archlinux.org/account/dreieck)
2
# Maintainer: Afnan Enayet <afnan at afnan.io>
3
# Contributor: Eric Engestrom (https://aur.archlinux.org/account/1ace)
4
5
_pkgname=hdrview
6
pkgname="${_pkgname}-git"
7
epoch=0
8
pkgver=2.6.0+91.r825.20251210.f9f6e34
9
pkgrel=1
10
pkgdesc='High dynamic range (HDR) image viewer and comparison tool'
11
url='https://github.com/wkjarosz/hdrview'
12
# url='https://wkjarosz.github.io/hdrview/' # This actually is an online version of the software, not a website about the software.
13
arch=(
14
'x86_64'
15
'i686'
16
'aarch64'
17
'armv6h'
18
'armv7h'
19
)
20
license=('BSD-3-Clause')
21
makedepends=(
22
'brotli'
23
'cmake'
24
'dav1d'
25
'ffmpeg'
26
#'fmt' # When not using system packages, this gets downloaded to the build directory.
27
'freetype2>=2.12'
28
'gcc-libs'
29
'git'
30
'glibc'
31
'glfw'
32
'gperftools'
33
'gtest'
34
'highway'
35
#'imath' # When not using system packages, this gets downloaded to the build directory.
36
# 'imgui-git' # Fails to build when 'imgui' is installed. Need to download it locally to build directory.
37
'kvazaar'
38
'lcms2'
39
'libde265'
40
#'libdeflate' # When not using system packages, this gets downloaded to the build directory.
41
'libjpeg'
42
'libwebp'
43
'libx11'
44
'libxext'
45
#'libjxl' # When not using system packages, this gets downloaded to the build directory.
46
'nasm'
47
'ninja'
48
'nlohmann-json'
49
#'openexr' # When not using system packages, this gets downloaded to the build directory.
50
'openjpeg2'
51
#'plutosvg' # When not using system packages, this gets downloaded to the build directory.
52
#'plutovg' # When not using system packages, this gets downloaded to the build directory.
53
'rav1e'
54
'sdl2'
55
#'spdlog' # When not using system packages, this gets downloaded to the build directory.
56
'svt-av1'
57
'uvg266'
58
'vvenc' # Seems to be fixed in `aur/vvenc` (2025-08-25): As of 2025-08-24, vvenc-git is needed because vvenc does not install the file `/usr/lib/cmake/vvenc/vvencTargets-shared.cmake`. See https://aur.archlinux.org/packages/vvenc#comment-1037407.
59
'vvdec'
60
'vulkan-icd-loader'
61
'x265'
62
)
63
depends=(
64
'gcc-libs'
65
'glibc'
66
'glfw'
67
'highway'
68
'libbrotlienc.so' # Provided by 'brotli'
69
'libbrotlidec.so' # Provided by 'brotli'
70
'libbrotlicommon.so' # Provided by 'brotli'
71
'libopenh264.so'
72
'libde265'
73
'libfreetype.so'
74
'libjpeg.so'
75
'liblcms2.so'
76
'libx11'
77
'libxext'
78
'sdl2'
79
'vulkan-icd-loader'
80
)
81
source=(
82
"${_pkgname}::git+https://github.com/wkjarosz/hdrview.git"
83
)
84
sha256sums=(
85
'SKIP'
86
)
87
provides=(
88
"${_pkgname}=${pkgver}"
89
)
90
conflicts=(
91
"${_pkgname}"
92
)
93
if which ccache > /dev/null 2>&1; then
94
options+=('ccache')
95
fi
96
97
_CFLAGSADDITIONS="-w"
98
99
_cpuflag2cmake() {
100
# returns "ON", if the host CPU supports the CPU flag submitted via argument $1. Returns "OFF" otherwise. ("returning" means printing to stdout.)
101
if grep -E '^flags[[:space:]]*:' /proc/cpuinfo | head -n1 | grep -qFwi "$1"; then
102
printf '%s' "ON"
103
else
104
printf '%s' "OFF"
105
fi
106
}
107
108
prepare() {
109
CFLAGS+=" ${_CFLAGSADDITIONS}"
110
CXXFLAGS+=" ${_CFLAGSADDITIONS}"
111
export CFLAGS
112
export CXXFLAGS
113
114
if pacman -Qqi imgui > /dev/null 2>&1; then
115
error "Package 'imgui' is installed. Build fails in that case. Please build in an environment where 'imgui' is not installed."
116
return 99
117
fi
118
119
# Run cmake in `prepare()` since it will download stuff.
120
_cmake_config=(
121
-DBUILD_WEBSITE=OFF
122
-DCMAKE_INSTALL_PREFIX=/usr
123
-DEXEC_INSTALL_PREFIX=/usr/bin
124
-DLIB_INSTALL_DIR=/usr/lib
125
# -DLIB_INSTALL_DIR=/opt/hdrview/lib
126
-DCMAKE_BUILD_TYPE=Release
127
-DCPM_DONT_UPDATE_MODULE_PATH=OFF
128
-DCPM_DOWNLOAD_ALL=OFF
129
-DCPM_LOCAL_PACKAGES_ONLY=OFF
130
-DCPM_USE_LOCAL_PACKAGES=OFF
131
132
# -DBoost_NO_BOOST_CMAKE=OFF
133
# -Dcli11_DIR=/usr/share/cmake/CLI11
134
# -DEGL_INCLUDE_DIRS=/usr/include/EGL
135
# -DEGL_LIBRARIES=/usr/lib
136
137
-DENABLE_CLANG_TIDY=OFF
138
-DENABLE_COVERAGE=OFF
139
-DENABLE_CPPCHECK=OFF
140
-DENABLE_EXPERIMENTAL_FEATURES=ON
141
-DENABLE_EXPERIMENTAL_MINI_FORMAT=OFF
142
-DENABLE_PARALLEL_TILE_DECODING=ON
143
-DENABLE_PLUGIN_LOADING=ON
144
145
-DFETCHCONTENT_FULLY_DISCONNECTED=OFF
146
-DFETCHCONTENT_UPDATES_DISCONNECTED=OFF
147
-DFETCHCONTENT_QUIET=OFF
148
149
-DFMT_CUDA_TEST=OFF
150
-DFMT_DOC=OFF
151
-DFMT_FUZZ=OFF
152
-DFMT_INSTALL=OFF
153
# -DFMT_MODULE=OFF
154
# -DFMT_OS=ON
155
-DFMT_PEDANTIC=OFF
156
-DFMT_TEST=OFF
157
-DFMT_WERROR=OFF
158
159
# -DHDRVIEW_BUILD_UHDR_DEPS=OFF
160
-DHDRVIEW_ENABLE_HEIF=ON
161
-DHDRVIEW_ENABLE_JPEGXL=ON
162
-DHDRVIEW_ENABLE_LIBJPEG=ON
163
-DHDRVIEW_ENABLE_LIBPNG=ON
164
-DHDRVIEW_ENABLE_UHDR=ON
165
# -DHDRVIEW_ICONSET=HDRVIEW_ICONSET_MS
166
# -DHDRVIEW_IGNORE_BREW_PORTS=OFF
167
-DHDRVIEW_PORTABLE_INSTALL=OFF
168
169
-DHELLOIMGUI_ADD_APP_WITH_INSTALL=OFF
170
-DHELLOIMGUI_BUILD_DEMOS=OFF
171
-DHELLOIMGUI_BUILD_DOCS=OFF
172
-DHELLOIMGUI_BUILD_GLFW_OPENGL3_BARE_EXAMPLE=OFF
173
-DHELLOIMGUI_BUILD_IMGUI=ON
174
-DHELLOIMGUI_BUILD_TESTS=OFF
175
-DHELLOIMGUI_DOWNLOAD_FREETYPE_IF_NEEDED=OFF
176
-DHELLOIMGUI_DOWNLOAD_GLFW_IF_NEEDED=OFF
177
-DHELLOIMGUI_DOWNLOAD_SDL_IF_NEEDED=OFF
178
-DHELLOIMGUI_FETCH_IMGUI_TEST_ENGINE=OFF
179
-DHELLOIMGUI_FREETYPE_STATIC=OFF
180
-DHELLOIMGUI_HAS_OPENGL=ON
181
-DHELLOIMGUI_HAS_OPENGL3=ON
182
-DHELLOIMGUI_HAS_VULKAN=ON
183
-DHELLOIMGUI_HEADLESS=OFF
184
-DHELLOIMGUI_INSTALL=OFF
185
-DHELLOIMGUI_STB_IMAGE_IMPLEMENTATION=ON
186
-DHELLOIMGUI_STB_IMAGE_WRITE_IMPLEMENTATION=ON
187
-DHELLOIMGUI_USE_EXTERNAL_JSON=OFF
188
-DHELLOIMGUI_USE_FREETYPE=ON
189
-DHELLOIMGUI_USE_FREETYPE_PLUTOSVG=ON
190
-DHELLOIMGUI_USE_IMGUI_CMAKE_PACKAGE=OFF
191
-DHELLOIMGUI_USE_GLFW3=ON
192
-DHELLOIMGUI_USE_SDL2=ON
193
-DHELLOIMGUI_WITH_IMGUIWS=OFF
194
-DHELLOIMGUI_WITH_NETIMGUI=OFF
195
-DHELLOIMGUI_WITH_TEST_ENGINE=OFF
196
197
-DHWY_CMAKE_HEADER_ONLY=OFF
198
-DHWY_CMAKE_RVV=`_cpuflag2cmake rvv`
199
-DHWY_CMAKE_SSE2=`_cpuflag2cmake sse2`
200
-DHWY_ENABLE_INSTALL=OFF
201
-DHWY_WARNINGS_ARE_ERRORS=OFF
202
-DIMATH_ENABLE_LARGE_STACK=ON
203
-DIMATH_HALF_USE_LOOKUP_TABLE=ON
204
-DIMATH_INSTALL_PKG_CONFIG=OFF
205
-DIMATH_INSTALL_SYM_LINK=OFF
206
-DIMATH_USE_CLANG_TIDY=OFF
207
-DJPEG_INCLUDE_DIR=/usr/include
208
-DJPEG_LIBRARY_DEBUG=/usr/lib/libjpeg.so
209
-DJPEG_LIBRARY_RELEASE=/usr/lib/libjpeg.so
210
211
-DJPEGXL_BUNDLE_LIBPNG=OFF
212
-DJPEGXL_ENABLE_AVX512=`_cpuflag2cmake avx512f`
213
-DJPEGXL_ENABLE_AVX512_SPR=`_cpuflag2cmake avx512_bf16` # Assuming that `avx_bf16` means "AVX-512FP16".
214
-DJPEGXL_ENABLE_AVX512_ZEN4=OFF # Don't know how to test for it.
215
-DJPEGXL_ENABLE_BENCHMARK=OFF
216
-DJPEGXL_ENABLE_BOXES=ON
217
-DJPEGXL_ENABLE_COVERAGE=OFF
218
-DJPEGXL_ENABLE_DEVTOOLS=OFF
219
-DJPEGXL_ENABLE_DOXYGEN=OFF
220
-DJPEGXL_ENABLE_EXAMPLES=OFF
221
-DJPEGXL_ENABLE_FUZZERS=OFF
222
-DJPEGXL_ENABLE_JNI=OFF
223
-DJPEGXL_ENABLE_JPEGLI=OFF
224
-DJPEGXL_ENABLE_JPEGLI_LIBJPEG=OFF
225
-DJPEGXL_ENABLE_MANPAGES=OFF
226
-DJPEGXL_ENABLE_OPENEXR=ON
227
-DJPEGXL_ENABLE_PLUGINS=OFF
228
-DJPEGXL_ENABLE_SIZELESS_VECTORS=ON
229
-DJPEGXL_ENABLE_SJPEG=ON
230
-DJPEGXL_ENABLE_SKCMS=OFF
231
-DJPEGXL_ENABLE_TCMALLOC=ON
232
-DJPEGXL_ENABLE_TOOLS=OFF
233
-DJPEGXL_ENABLE_TRANSCODE_JPEG=ON
234
-DJPEGXL_ENABLE_VIEWERS=OFF
235
-DJPEGXL_ENABLE_WASM_THREADS=ON
236
-DJPEGXL_FORCE_NEON=OFF
237
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON
238
-DJPEGXL_FORCE_SYSTEM_GTEST=ON
239
-DJPEGXL_FORCE_SYSTEM_HWY=ON
240
-DJPEGXL_FORCE_SYSTEM_LCMS2=ON
241
-DJPEGXL_INSTALL_JPEGLI_LIBJPEG=OFF
242
-DJPEGXL_TEST_TOOLS=OFF
243
-DJPEGXL_WARNINGS_AS_ERRORS=OFF
244
245
-DLIBDEFLATE_BUILD_GZIP=OFF
246
-DLIBDEFLATE_BUILD_TESTS=OFF
247
-DLIBDEFLATE_COMPRESSION_SUPPORT=ON
248
-DLIBDEFLATE_DECOMPRESSION_SUPPORT=ON
249
-DLIBDEFLATE_FREESTANDING=OFF
250
-DLIBDEFLATE_GZIP_SUPPORT=ON
251
-DLIBDEFLATE_USE_SHARED_LIB=ON
252
-DLIBDEFLATE_ZLIB_SUPPORT=ON
253
254
-DMATH_LIBRARY=/usr/lib/libm.so
255
-DM_LIBRARY=/usr/lib/libm.so
256
257
-DOPENEXR_BUILD_PYTHON=OFF
258
-DOPENEXR_ENABLE_LARGE_STACK=ON
259
-DOPENEXR_ENABLE_THREADING=ON
260
-DOPENEXR_FORCE_INTERNAL_IMATH=OFF
261
-DOPENEXR_INSTALL_DOCS=OFF
262
-DOPENEXR_INSTALL_PKG_CONFIG=OFF
263
-DOPENEXR_INSTALL_TOOLS=OFF
264
-DOPENEXR_TEST_LIBRARIES=OFF
265
-DOPENEXR_TEST_PYTHON=OFF
266
-DOPENEXR_TEST_TOOLS=OFF
267
-DOPENEXR_USE_CLANG_TIDY=OFF
268
269
-DOpenGL_GL_PREFERENCE=GLVND
270
271
-DPLUTOVG_BUILD_EXAMPLES=OFF
272
273
-DPNG_TOOLS=OFF
274
-DPNG_HARDWARE_OPTIMIZATIONS=ON
275
276
-DPYTHON=OFF
277
278
-DSPDLOG_BUILD_ALL=OFF
279
-DSPDLOG_BUILD_BENCH=OFF
280
-DSPDLOG_BUILD_EXAMPLE=OFF
281
-DSPDLOG_BUILD_EXAMPLE_HO=OFF
282
-DSPDLOG_BUILD_PIC=ON
283
-DSPDLOG_BUILD_SHARED=OFF
284
-DSPDLOG_BUILD_TESTS=OFF
285
-DSPDLOG_BUILD_TESTS_HO=OFF
286
-DSPDLOG_BUILD_WARNINGS=OFF
287
-DSPDLOG_CLOCK_COARSE=OFF
288
-DSPDLOG_DISABLE_DEFAULT_LOGGER=OFF
289
-DSPDLOG_ENABLE_PCH=OFF
290
-DSPDLOG_FMT_EXTERNAL_HO=OFF
291
-DSPDLOG_NO_ATOMIC_LEVELS=OFF
292
-DSPDLOG_NO_EXCEPTIONS=OFF
293
-DSPDLOG_NO_THREAD_ID=OFF
294
-DSPDLOG_NO_TLS=OFF
295
-DSPDLOG_PREVENT_CHILD_FD=OFF
296
-DSPDLOG_SANITIZE_ADDRESS=OFF
297
-DSPDLOG_SYSTEM_INCLUDES=OFF
298
-DSPDLOG_TIDY=OFF
299
-DSPDLOG_USE_STD_FORMAT=OFF
300
-DSPDLOG_WCHAR_FILENAMES=OFF
301
-DSPDLOG_WCHAR_SUPPORT=OFF
302
303
-DUHDR_BUILD_DEPS=OFF
304
-DUHDR_BUILD_JAVA=OFF
305
-DUHDR_ENABLE_GLES=OFF
306
-DUHDR_ENABLE_INTRINSICS=ON
307
-DUHDR_ENABLE_LOGS=OFF
308
-DUHDR_ENABLE_WERROR=OFF
309
-DUHDR_WRITE_ISO=ON
310
-DUHDR_WRITE_XMP=ON
311
312
-DWITH_AOM_DECODER=ON
313
-DWITH_AOM_DECODER_PLUGIN=ON
314
-DWITH_AOM_ENCODER=ON
315
-DWITH_AOM_ENCODER_PLUGIN=ON
316
-DWITH_DAV1D=ON
317
-DWITH_DAV1D_PLUGIN=ON
318
-DWITH_FFMPEG_DECODER=ON
319
-DWITH_FFMPEG_DECODER_PLUGIN=ON
320
-DWITH_HEADER_COMPRESSION=ON
321
-DWITH_JPEG_DECODER=ON
322
-DWITH_JPEG_DECODER_PLUGIN=ON
323
-DWITH_JPEG_ENCODER=ON
324
-DWITH_JPEG_ENCODER_PLUGIN=ON
325
-DWITH_KVAZAAR=ON
326
-DWITH_KVAZAAR_PLUGIN=ON
327
-DWITH_LIBSHARPYUV=ON
328
-DWITH_OPENJPH_ENCODER=OFF
329
-DWITH_OPENJPH_ENCODER_PLUGIN=OFF
330
-DWITH_OpenJPEG_DECODER=ON
331
-DWITH_OpenJPEG_DECODER_PLUGIN=ON
332
-DWITH_OpenJPEG_ENCODER=ON
333
-DWITH_OpenJPEG_ENCODER_PLUGIN=ON
334
-DWITH_RAV1E=ON
335
-DWITH_RAV1E_PLUGIN=ON
336
-DWITH_REDUCED_VISIBILITY=OFF
337
-DWITH_SvtEnc=ON
338
-DWITH_SvtEnc_PLUGIN=ON
339
-DWITH_UNCOMPRESSED_CODEC=ON
340
-DWITH_UVG266=ON
341
-DWITH_UVG266_PLUGIN=ON
342
-DWITH_VVDEC=ON
343
-DWITH_VVDEC_PLUGIN=ON
344
-DWITH_VVENC=ON
345
-DWITH_VVENC_PLUGIN=ON
346
-DWITH_X265=ON
347
-DWITH_X265_PLUGIN=ON
348
349
-DZLIB_VERBOSE=OFF
350
351
-Wno-dev
352
)
353
354
cmake -S "${_pkgname}" -B build \
355
-G Ninja \
356
"${_cmake_config[@]}"
357
358
cd "${_pkgname}"
359
git log > "git.log"
360
}
361
362
pkgver() {
363
cd "$srcdir/${_pkgname}"
364
365
_ver="$(git describe --tags | sed -E 's|-g[0-9a-fA-F]*$||' | sed -E 's|^[vV]||' | tr '-' '+')"
366
_rev="$(git rev-list --count HEAD)"
367
_date="$(git log -1 --date=format:"%Y%m%d" --format="%ad")"
368
_hash="$(git rev-parse --short HEAD)"
369
370
if [ -z "${_ver}" ]; then
371
error "Version could not be determined."
372
return 1
373
else
374
printf '%s' "${_ver}.r${_rev}.${_date}.${_hash}"
375
fi
376
}
377
378
build() {
379
CFLAGS+=" ${_CFLAGSADDITIONS}"
380
CXXFLAGS+=" ${_CFLAGSADDITIONS}"
381
export CFLAGS
382
export CXXFLAGS
383
384
cmake --build build
385
}
386
387
package() {
388
CFLAGS+=" ${_CFLAGSADDITIONS}"
389
CXXFLAGS+=" ${_CFLAGSADDITIONS}"
390
export CFLAGS
391
export CXXFLAGS
392
393
## Install main project
394
DESTDIR="${pkgdir}" cmake --install build
395
396
## Add a lowercase executable symlink
397
ln -svr "${pkgdir}/usr/bin/HDRView" "${pkgdir}/usr/bin/hdrview"
398
399
## Clean up stuff we do not want to install locally
400
#rm -Rf "${pkgdir}/opt/hdrview/lib"
401
# rm -Rf "${pkgdir}/usr/include/glad"
402
# rm -Rf "${pkgdir}/usr/include/hello_imgui"
403
# rm -Rf "${pkgdir}/usr/include/jxl"
404
# rm -Rf "${pkgdir}/usr/include/KHR"
405
# rm -Rf "${pkgdir}/usr/include/libexif"
406
# rm -Rf "${pkgdir}/usr/include/libheif"
407
# rm -Rf "${pkgdir}/usr/include/plutovg"
408
# rm -f "${pkgdir}/usr/include"/imconfig.h
409
# rm -f "${pkgdir}/usr/include"/imgui*.h
410
# rm -f "${pkgdir}/usr/include"/stb_image*.h
411
# rm -f "${pkgdir}/usr/include"/zconf.h
412
# rm -f "${pkgdir}/usr/include"/zlib.h
413
# rm -f "${pkgdir}/usr/lib"/*.a
414
# rm -Rf "${pkgdir}/usr/lib/cmake/hello_imgui"
415
# rm -Rf "${pkgdir}/usr/lib/cmake/libheif"
416
# rm -Rf "${pkgdir}/usr/lib/cmake/plutovg"
417
# rm -Rf "${pkgdir}/usr/lib/cmake/zlib"
418
# rm -Rf "${pkgdir}/usr/lib/libheif"
419
# rm -f "${pkgdir}/usr/lib/pkgconfig"/libexif.pc
420
# rm -f "${pkgdir}/usr/lib/pkgconfig"/libheif.pc
421
# rm -f "${pkgdir}/usr/lib/pkgconfig"/libjxl*.pc
422
# rm -f "${pkgdir}/usr/lib/pkgconfig"/zlib.pc
423
424
rm -Rf "${pkgdir}/usr"/{include,lib}
425
426
rm -Rf "${pkgdir}/usr/assets"
427
rm -Rf "${pkgdir}/usr/share/hello-imgui"
428
rm -f "${pkgdir}/usr"/hello_* rm -f "${pkgdir}/usr"/Hello_*
429
430
431
## Install documentation and license
432
for _docfile in README.md TODO.md git.log; do
433
install -D -m644 -v "$srcdir/${_pkgname}/${_docfile}" "${pkgdir}/usr/share/doc/${_pkgname}/${_docfile}"
434
done
435
install -D -m644 -v "$srcdir/${_pkgname}/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt"
436
}
437
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-27 13:18:29 | Medium | 1 |
| 2026-06-18 16:11:54 | Clean | 0 |