Package Details: djv 3.7.4-1

Git Clone URL: https://aur.archlinux.org/djv.git (read-only, click to copy)
Package Base: djv
Description: Professional media review software for VFX, animation, and film production
Upstream URL: https://grizzlypeak3d.github.io/DJV/
Licenses: BSD-3-Clause
Submitter: N30N
Maintainer: oweissbarth (sfn)
Last Packager: oweissbarth
Votes: 15
Popularity: 0.72
First Submitted: 2009-06-17 04:44 (UTC)
Last Updated: 2026-10-06 20:32 (UTC)

Latest Comments

1 2 3 4 5 6 7 Next › Last »

sfn commented on 2026-08-26 17:07 (UTC)

Hm. I'm looking at updating to the newest version, but I've ran into a couple issues, some I've solved, others not.

  • Dependencies (feather-tk and tlRender) are now build in tree, eliminating the need for dedicated packages but adding to the source array.
  • Latest FFmpeg just removed some deprecated members. Patched.
  • Most problematically, DJV wants a newer version of OTIO than latest release (see etc/SuperBuild/cmake/Modules/BuildOTIO.cmake in tlRender). This causes some superficial issues with macro names changing (patched), but I am yet to resolve a deeper issue where the newer version has changed a struct member from storing a string with the name of a colour to storing individual floating-point components.

Current changes are as follows (build doesn't work):

$ git diff PKGBUILD
diff --git a/PKGBUILD b/PKGBUILD
index 7830b12..ac19c0b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,40 +4,58 @@
 # Contributor: bartus <arch-user-repository]a[bartus.33mail.com

 pkgname=djv
-pkgver=3.4.2
-pkgrel=2
+pkgver=3.5.0
+tlRender_ver=0.19.0
+feather_tk_ver=0.10.0
+pkgrel=1
 pkgdesc="Professional media review software for VFX, animation, and film production"
 arch=("x86_64")
 url="https://grizzlypeak3d.github.io/DJV/"
 license=('BSD-3-Clause')
 groups=()
-depends=('ffmpeg' 'freetype2' 'glm' 'libjpeg-turbo' 'libpng' 'libtiff' 'opencolorio' 'openexr>=3.0.0' 'python' 'rtaudio' 'zlib' 'tl-render')
+depends=('ffmpeg' 'freetype2' 'glm' 'nlohmann-json' 'libjpeg-turbo' 'libpng' 'libtiff' 'opencolorio' 'opentimelineio' 'openexr>=3.0.0' 'python' 'rtaudio' 'zlib')
 makedepends=('cmake')
 replaces=()
 backup=()
 options=()
 source=("${pkgname}-${pkgver}.tgz::https://github.com/grizzlypeak3d/${pkgname^^}/archive/$pkgver.tar.gz"
+    "tlRender-${tlRender_ver}.tgz::https://github.com/grizzlypeak3d/tlRender/archive/${tlRender_ver}.tar.gz"
+    "feather-tk-${feather_tk_ver}.tgz::https://github.com/grizzlypeak3d/feather-tk/archive/${feather_tk_ver}.tar.gz"
        "djv.desktop"
        "djv.sh"
        "FindZLIBNG.cmake")
 noextract=()
-sha256sums=('6e6c7b2065d6cc6c0582485909477aefdadb96775de33fc59699e627c4ab8a2b'
+sha256sums=('19b85c27d2ef4efaab096510121885322792f18dad099bfa72d8a79f679b306e'
+            'a44ec9f41297462febddc651caabec273c4077ac37cf9b236c17624aeb615396'
+            '089b151517807e1ba0e3fa71f889e0781372fa76dfa064380b17b9643f8d2465'
             'ca440bc9c1713e9edb17ed5adc0456441e69af25f803c834427f23a6991e2eca'
             'e2bb0b7ebccd1e645d9a62f0c6dadafb94705766c787a2ea38b91b1da4e95cf7'
             '2dd0e684b08cbbf8412129331eb33c61a2df7996bb3cbb6c89842dd27349f1f9')

 prepare() {
        mv FindZLIBNG.cmake ${pkgname^^}-${pkgver}/cmake/Modules/FindZLIBNG.cmake #Fix a bug where it looks for ZLIBNG not ZLIB-NG
+
+       # in tree dependencies
+    mv -T "${srcdir}/tlRender-${tlRender_ver}" "${srcdir}/${pkgname^^}-${pkgver}/deps/tlRender"
+    mv -T "${srcdir}/feather-tk-${feather_tk_ver}" "${srcdir}/${pkgname^^}-${pkgver}/deps/tlRender/deps/ftk"
+
+    # this patch fixes a series of obscure json and ambiguity issues arising from the OTIO version mismatch,
+    # but not the fundamental changes to marker colours
+    sed 's|OPENTIME_VERSION_NS|OPENTIME_VERSION|g' -i ${srcdir}/${pkgname^^}-${pkgver}/deps/tlRender/lib/tlRender/Core{/Time.{h,cpp},Test/TimeTest.{h,cpp}}
+
+    # ffmpeg removed some depreceated struct members so we to patch them with C++ lambdas
+    sed 's|avCodec->pix_fmts|[\&]() {AVPixelFormat *pix_fmts = NULL; int count = 0; avcodec_get_supported_config(NULL, avCodec, AV_CODEC_CONFIG_PIX_FORMAT, 0, (const void**)\&pix_fmts, \&count); return count > 0 ? pix_fmts : NULL;}()|g' -i ${srcdir}/${pkgname^^}-${pkgver}/deps/tlRender/lib/tlRender/IO/FFmpegWrite.cpp
+       sed 's|avAudioCodec->sample_fmts|[\&]() {AVSampleFormat *sample_fmts = NULL; int count = 0; avcodec_get_supported_config(NULL, avAudioCodec, AV_CODEC_CONFIG_SAMPLE_FORMAT, 0, (const void**)\&sample_fmts, \&count); return count > 0 ? sample_fmts : NULL;}()|g' -i ${srcdir}/${pkgname^^}-${pkgver}/deps/tlRender/lib/tlRender/IO/FFmpegWrite.cpp
+       sed 's|avAudioCodec->supported_samplerates|[\&]() {int *sample_rates = NULL; int count = 0; avcodec_get_supported_config(NULL, avAudioCodec, AV_CODEC_CONFIG_SAMPLE_RATE, 0, (const void**)\&sample_rates, \&count); return count > 0 ? sample_rates : NULL;}()|g' -i ${srcdir}/${pkgname^^}-${pkgver}/deps/tlRender/lib/tlRender/IO/FFmpegWrite.cpp
 }

 build() {
-
-       cmake -S "${pkgname^^}-${pkgver}" -B ${pkgname^^}-Release \
-               -DCMAKE_BUILD_TYPE=Release \
+       cmake -S "${pkgname^^}-${pkgver}" -B ${pkgname^^} \
+               -DCMAKE_BUILD_TYPE=None \
                -DCMAKE_INSTALL_PREFIX="" \
                -DCMAKE_INSTALL_RPATH=""

-       cmake --build ${pkgname^^}-Release --parallel
+       cmake --build ${pkgname^^} --parallel
 }

 package() {

sfn commented on 2025-10-15 06:35 (UTC)

Cool! Thank you for your help too!

oweissbarth commented on 2025-10-14 18:35 (UTC)

I updated the package. Thanks for your help and thanks for making me co-maintainer feather-tk and tl-render. I pushed a minor update to those as well to set the lto flag in CXXFLAGS as well. I have added you as a co-maintainer for djv as well.

sfn commented on 2025-10-12 17:36 (UTC) (edited on 2025-10-12 17:37 (UTC) by sfn)

I (think I) managed to get everything working. tlRender and feather-tk are both already in the AUR; you should be a co-maintainer so feel free to make any improvements/fix any issues. My working build of djv is available at https://gitlab.com/SFN.eu/djv, it's a new commit based on the tree in this repo. Thank you for the help and information!

sfn commented on 2025-10-09 10:35 (UTC)

Many thanks! I will see what I can do

oweissbarth commented on 2025-10-08 19:30 (UTC)

I have created repo with the current state https://github.com/oweissbarth/djv-aur It also contains some basic notes.

sfn commented on 2025-10-07 07:58 (UTC) (edited on 2025-10-07 13:08 (UTC) by sfn)

(Sorry for spelling everything out, I'm also trying to organise my thoughts) DJV only really depends on tlRender and some system libs, tlRender depends on

Do you want to share the progress you have made on tlRender, if so how?

oweissbarth commented on 2025-10-06 20:40 (UTC)

Hi, I have been working on and off towards a system build of DJV 3. I have created a pkgbuild for feather-tk (dependency of tlRender) and was working on the pkgbuild for tlRender (dependency of DJV). There was some problem related to some confusion between zlib and zlib-ng. Unfortunately my time is quite limited right now. Any help is much appreciated.

sfn commented on 2025-10-06 13:23 (UTC)

Hello! What is the maintenance status of this package? I'm more than happy to help get it up-to-date and I would like to use it.

kizzycat commented on 2024-02-21 19:05 (UTC)

doesn't build with latest rtaudio 6.0.1

src/DJV-2.0.8/lib/djvAV/AudioSystem.cpp: In member function ‘void djv::AV::Audio::System::_init(const std::shared_ptr<djv::Core::Context>&)’:
src/DJV-2.0.8/lib/djvAV/AudioSystem.cpp:62:36: error: ‘const struct RtAudio::DeviceInfo’ has no member named ‘probed’
   62 |                         if (rtInfo.probed)
      |                                    ^~~~~~

after downgrading to rtaudio 5.2.0 via the rtaudio5-exp aur package it builds successfully on my system.

not sure the best way to address this, it seems upstream they've just pinned rtaudio to a specific tag (as per this commit message https://github.com/darbyjohnston/DJV/commit/f1242caaa00413ef0e7409de05aebe548a799a5f). if anyone is inspired to try patching djv to build with rtaudio 6, here is a pr of a similar patch on an unrelated project which might be helpful to reference: https://github.com/AlexandreRouma/SDRPlusPlus/pull/1284