mattleon | Builds on my orangepi 5 with 8GB ram:
$ nix build nixpkgs#python3Packages.chacha20poly1305-reuseable -L --rebuild
python3.12-chacha20poly1305-reuseable> Sourcing python-remove-tests-dir-hook
python3.12-chacha20poly1305-reuseable> Sourcing python-catch-conflicts-hook.sh
python3.12-chacha20poly1305-reuseable> Sourcing python-remove-bin-bytecode-hook.sh
python3.12-chacha20poly1305-reuseable> Sourcing pypa-build-hook
python3.12-chacha20poly1305-reuseable> Using pypaBuildPhase
python3.12-chacha20poly1305-reuseable> Sourcing python-runtime-deps-check-hook
python3.12-chacha20poly1305-reuseable> Using pythonRuntimeDepsCheckHook
python3.12-chacha20poly1305-reuseable> Sourcing pypa-install-hook
python3.12-chacha20poly1305-reuseable> Using pypaInstallPhase
python3.12-chacha20poly1305-reuseable> Sourcing python-imports-check-hook.sh
python3.12-chacha20poly1305-reuseable> Using pythonImportsCheckPhase
python3.12-chacha20poly1305-reuseable> Sourcing python-namespaces-hook
python3.12-chacha20poly1305-reuseable> Sourcing python-catch-conflicts-hook.sh
python3.12-chacha20poly1305-reuseable> Sourcing pytest-check-hook
python3.12-chacha20poly1305-reuseable> Using pytestCheckPhase
python3.12-chacha20poly1305-reuseable> Running phase: unpackPhase
python3.12-chacha20poly1305-reuseable> unpacking source archive /nix/store/156x0bsp82cqq2ni86cmjlzbyv651rx9-source
python3.12-chacha20poly1305-reuseable> source root is source
python3.12-chacha20poly1305-reuseable> setting SOURCE_DATE_EPOCH to timestamp 315619200 of file source/tests/test_init.py
python3.12-chacha20poly1305-reuseable> Running phase: patchPhase
python3.12-chacha20poly1305-reuseable> Running phase: updateAutotoolsGnuConfigScriptsPhase
python3.12-chacha20poly1305-reuseable> Running phase: configurePhase
python3.12-chacha20poly1305-reuseable> no configure script, doing nothing
python3.12-chacha20poly1305-reuseable> Running phase: buildPhase
python3.12-chacha20poly1305-reuseable> Executing pypaBuildPhase
python3.12-chacha20poly1305-reuseable> Creating a wheel...
python3.12-chacha20poly1305-reuseable> * Getting build dependencies for wheel...
python3.12-chacha20poly1305-reuseable> * Building wheel...
python3.12-chacha20poly1305-reuseable> Successfully built chacha20poly1305_reuseable-0.13.2-py3-none-any.whl
python3.12-chacha20poly1305-reuseable> Finished creating a wheel...
python3.12-chacha20poly1305-reuseable> /build/source/dist /build/source
python3.12-chacha20poly1305-reuseable> Unpacking to: unpacked/chacha20poly1305_reuseable-0.13.2...OK
python3.12-chacha20poly1305-reuseable> Repacking wheel as ./chacha20poly1305_reuseable-0.13.2-py3-none-any.whl...OK
python3.12-chacha20poly1305-reuseable> /build/source
python3.12-chacha20poly1305-reuseable> Finished executing pypaBuildPhase
python3.12-chacha20poly1305-reuseable> Running phase: pythonRuntimeDepsCheckHook
python3.12-chacha20poly1305-reuseable> Executing pythonRuntimeDepsCheck
python3.12-chacha20poly1305-reuseable> Checking runtime dependencies for chacha20poly1305_reuseable-0.13.2-py3-none-any.whl
python3.12-chacha20poly1305-reuseable> Finished executing pythonRuntimeDepsCheck
python3.12-chacha20poly1305-reuseable> Running phase: installPhase
python3.12-chacha20poly1305-reuseable> Executing pypaInstallPhase
python3.12-chacha20poly1305-reuseable> Successfully installed chacha20poly1305_reuseable-0.13.2-py3-none-any.whl
python3.12-chacha20poly1305-reuseable> Finished executing pypaInstallPhase
python3.12-chacha20poly1305-reuseable> Running phase: pythonOutputDistPhase
python3.12-chacha20poly1305-reuseable> Executing pythonOutputDistPhase
python3.12-chacha20poly1305-reuseable> Finished executing pythonOutputDistPhase
python3.12-chacha20poly1305-reuseable> Running phase: fixupPhase
python3.12-chacha20poly1305-reuseable> shrinking RPATHs of ELF executables and libraries in /nix/store/954kj2rfvh4zxifr0w168f8z0k388hb4-python3.12-chacha20poly1305-reuseable-0.13.2
python3.12-chacha20poly1305-reuseable> checking for references to /build/ in /nix/store/954kj2rfvh4zxifr0w168f8z0k388hb4-python3.12-chacha20poly1305-reuseable-0.13.2...
python3.12-chacha20poly1305-reuseable> patching script interpreter paths in /nix/store/954kj2rfvh4zxifr0w168f8z0k388hb4-python3.12-chacha20poly1305-reuseable-0.13.2
python3.12-chacha20poly1305-reuseable> stripping (with command strip and flags -S -p) in /nix/store/954kj2rfvh4zxifr0w168f8z0k388hb4-python3.12-chacha20poly1305-reuseable-0.13.2/lib
python3.12-chacha20poly1305-reuseable> shrinking RPATHs of ELF executables and libraries in /nix/store/rp3ydhkprz2b8mjiayap6dnplqdsamf2-python3.12-chacha20poly1305-reuseable-0.13.2-dist
python3.12-chacha20poly1305-reuseable> checking for references to /build/ in /nix/store/rp3ydhkprz2b8mjiayap6dnplqdsamf2-python3.12-chacha20poly1305-reuseable-0.13.2-dist...
python3.12-chacha20poly1305-reuseable> patching script interpreter paths in /nix/store/rp3ydhkprz2b8mjiayap6dnplqdsamf2-python3.12-chacha20poly1305-reuseable-0.13.2-dist
python3.12-chacha20poly1305-reuseable> Executing pythonRemoveTestsDir
python3.12-chacha20poly1305-reuseable> Finished executing pythonRemoveTestsDir
python3.12-chacha20poly1305-reuseable> Running phase: installCheckPhase
python3.12-chacha20poly1305-reuseable> no Makefile or custom installCheckPhase, doing nothing
python3.12-chacha20poly1305-reuseable> Running phase: pythonCatchConflictsPhase
python3.12-chacha20poly1305-reuseable> Running phase: pythonRemoveBinBytecodePhase
python3.12-chacha20poly1305-reuseable> Running phase: pythonImportsCheckPhase
python3.12-chacha20poly1305-reuseable> Executing pythonImportsCheckPhase
python3.12-chacha20poly1305-reuseable> Check whether the following modules can be imported: chacha20poly1305_reuseable
python3.12-chacha20poly1305-reuseable> Running phase: pytestCheckPhase
python3.12-chacha20poly1305-reuseable> Executing pytestCheckPhase
python3.12-chacha20poly1305-reuseable> ============================= test session starts ==============================
python3.12-chacha20poly1305-reuseable> platform linux -- Python 3.12.5, pytest-8.3.2, pluggy-1.5.0 -- /nix/store/6iq3nhgdyp8a5wzwf097zf2mn4zyqxr6-python3-3.12.5/bin/python3.12
python3.12-chacha20poly1305-reuseable> cachedir: .pytest_cache
python3.12-chacha20poly1305-reuseable> rootdir: /build/source
python3.12-chacha20poly1305-reuseable> configfile: pyproject.toml
python3.12-chacha20poly1305-reuseable> collected 10 items
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_data_too_large PASSED [ 10%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_generate_key PASSED [ 20%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_bad_key PASSED [ 30%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_params_not_bytes_encrypt[nonce0-data-] PASSED [ 40%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_params_not_bytes_encrypt[000000000000-data1-] PASSED [ 50%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_params_not_bytes_encrypt[000000000000-data-associated_data2] PASSED [ 60%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_nonce_not_12_bytes PASSED [ 70%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_decrypt_data_too_short PASSED [ 80%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_associated_data_none_equal_to_empty_bytestring PASSED [ 90%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_buffer_protocol PASSED [100%]
python3.12-chacha20poly1305-reuseable> ============================== 10 passed in 2.19s ==============================
python3.12-chacha20poly1305-reuseable> Finished executing pytestCheckPhase
python3.12-chacha20poly1305-reuseable> Running phase: pytestcachePhase
python3.12-chacha20poly1305-reuseable> Running phase: pytestRemoveBytecodePhase
⏎
matth@orangutan ~> nix build nixpkgs/master#python3Packages.chacha20poly1305-reuseable -L --rebuild
python3.12-chacha20poly1305-reuseable> Sourcing python-remove-tests-dir-hook
python3.12-chacha20poly1305-reuseable> Sourcing python-catch-conflicts-hook.sh
python3.12-chacha20poly1305-reuseable> Sourcing python-remove-bin-bytecode-hook.sh
python3.12-chacha20poly1305-reuseable> Sourcing pypa-build-hook
python3.12-chacha20poly1305-reuseable> Using pypaBuildPhase
python3.12-chacha20poly1305-reuseable> Sourcing python-runtime-deps-check-hook
python3.12-chacha20poly1305-reuseable> Using pythonRuntimeDepsCheckHook
python3.12-chacha20poly1305-reuseable> Sourcing pypa-install-hook
python3.12-chacha20poly1305-reuseable> Using pypaInstallPhase
python3.12-chacha20poly1305-reuseable> Sourcing python-imports-check-hook.sh
python3.12-chacha20poly1305-reuseable> Using pythonImportsCheckPhase
python3.12-chacha20poly1305-reuseable> Sourcing python-namespaces-hook
python3.12-chacha20poly1305-reuseable> Sourcing python-catch-conflicts-hook.sh
python3.12-chacha20poly1305-reuseable> Sourcing pytest-check-hook
python3.12-chacha20poly1305-reuseable> Using pytestCheckPhase
python3.12-chacha20poly1305-reuseable> Running phase: unpackPhase
python3.12-chacha20poly1305-reuseable> unpacking source archive /nix/store/156x0bsp82cqq2ni86cmjlzbyv651rx9-source
python3.12-chacha20poly1305-reuseable> source root is source
python3.12-chacha20poly1305-reuseable> setting SOURCE_DATE_EPOCH to timestamp 315619200 of file source/tests/test_init.py
python3.12-chacha20poly1305-reuseable> Running phase: patchPhase
python3.12-chacha20poly1305-reuseable> Running phase: updateAutotoolsGnuConfigScriptsPhase
python3.12-chacha20poly1305-reuseable> Running phase: configurePhase
python3.12-chacha20poly1305-reuseable> no configure script, doing nothing
python3.12-chacha20poly1305-reuseable> Running phase: buildPhase
python3.12-chacha20poly1305-reuseable> Executing pypaBuildPhase
python3.12-chacha20poly1305-reuseable> Creating a wheel...
python3.12-chacha20poly1305-reuseable> * Getting build dependencies for wheel...
python3.12-chacha20poly1305-reuseable> * Building wheel...
python3.12-chacha20poly1305-reuseable> Successfully built chacha20poly1305_reuseable-0.13.2-py3-none-any.whl
python3.12-chacha20poly1305-reuseable> Finished creating a wheel...
python3.12-chacha20poly1305-reuseable> /build/source/dist /build/source
python3.12-chacha20poly1305-reuseable> Unpacking to: unpacked/chacha20poly1305_reuseable-0.13.2...OK
python3.12-chacha20poly1305-reuseable> Repacking wheel as ./chacha20poly1305_reuseable-0.13.2-py3-none-any.whl...OK
python3.12-chacha20poly1305-reuseable> /build/source
python3.12-chacha20poly1305-reuseable> Finished executing pypaBuildPhase
python3.12-chacha20poly1305-reuseable> Running phase: pythonRuntimeDepsCheckHook
python3.12-chacha20poly1305-reuseable> Executing pythonRuntimeDepsCheck
python3.12-chacha20poly1305-reuseable> Checking runtime dependencies for chacha20poly1305_reuseable-0.13.2-py3-none-any.whl
python3.12-chacha20poly1305-reuseable> Finished executing pythonRuntimeDepsCheck
python3.12-chacha20poly1305-reuseable> Running phase: installPhase
python3.12-chacha20poly1305-reuseable> Executing pypaInstallPhase
python3.12-chacha20poly1305-reuseable> Successfully installed chacha20poly1305_reuseable-0.13.2-py3-none-any.whl
python3.12-chacha20poly1305-reuseable> Finished executing pypaInstallPhase
python3.12-chacha20poly1305-reuseable> Running phase: pythonOutputDistPhase
python3.12-chacha20poly1305-reuseable> Executing pythonOutputDistPhase
python3.12-chacha20poly1305-reuseable> Finished executing pythonOutputDistPhase
python3.12-chacha20poly1305-reuseable> Running phase: fixupPhase
python3.12-chacha20poly1305-reuseable> shrinking RPATHs of ELF executables and libraries in /nix/store/7lbydv0jfprbf7vrl0bghg2mqlpnd20m-python3.12-chacha20poly1305-reuseable-0.13.2
python3.12-chacha20poly1305-reuseable> checking for references to /build/ in /nix/store/7lbydv0jfprbf7vrl0bghg2mqlpnd20m-python3.12-chacha20poly1305-reuseable-0.13.2...
python3.12-chacha20poly1305-reuseable> patching script interpreter paths in /nix/store/7lbydv0jfprbf7vrl0bghg2mqlpnd20m-python3.12-chacha20poly1305-reuseable-0.13.2
python3.12-chacha20poly1305-reuseable> stripping (with command strip and flags -S -p) in /nix/store/7lbydv0jfprbf7vrl0bghg2mqlpnd20m-python3.12-chacha20poly1305-reuseable-0.13.2/lib
python3.12-chacha20poly1305-reuseable> shrinking RPATHs of ELF executables and libraries in /nix/store/c83bm46qdj50w9h4w5kgx6dkm6hki2jf-python3.12-chacha20poly1305-reuseable-0.13.2-dist
python3.12-chacha20poly1305-reuseable> checking for references to /build/ in /nix/store/c83bm46qdj50w9h4w5kgx6dkm6hki2jf-python3.12-chacha20poly1305-reuseable-0.13.2-dist...
python3.12-chacha20poly1305-reuseable> patching script interpreter paths in /nix/store/c83bm46qdj50w9h4w5kgx6dkm6hki2jf-python3.12-chacha20poly1305-reuseable-0.13.2-dist
python3.12-chacha20poly1305-reuseable> Executing pythonRemoveTestsDir
python3.12-chacha20poly1305-reuseable> Finished executing pythonRemoveTestsDir
python3.12-chacha20poly1305-reuseable> Running phase: installCheckPhase
python3.12-chacha20poly1305-reuseable> no Makefile or custom installCheckPhase, doing nothing
python3.12-chacha20poly1305-reuseable> Running phase: pythonCatchConflictsPhase
python3.12-chacha20poly1305-reuseable> Running phase: pythonRemoveBinBytecodePhase
python3.12-chacha20poly1305-reuseable> Running phase: pythonImportsCheckPhase
python3.12-chacha20poly1305-reuseable> Executing pythonImportsCheckPhase
python3.12-chacha20poly1305-reuseable> Check whether the following modules can be imported: chacha20poly1305_reuseable
python3.12-chacha20poly1305-reuseable> Running phase: pytestCheckPhase
python3.12-chacha20poly1305-reuseable> Executing pytestCheckPhase
python3.12-chacha20poly1305-reuseable> ============================= test session starts ==============================
python3.12-chacha20poly1305-reuseable> platform linux -- Python 3.12.6, pytest-8.3.2, pluggy-1.5.0 -- /nix/store/pv8p76ihrnqf81xan9qnv53ks84wmp07-python3-3.12.6/bin/python3.12
python3.12-chacha20poly1305-reuseable> cachedir: .pytest_cache
python3.12-chacha20poly1305-reuseable> rootdir: /build/source
python3.12-chacha20poly1305-reuseable> configfile: pyproject.toml
python3.12-chacha20poly1305-reuseable> collected 10 items
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_data_too_large PASSED [ 10%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_generate_key PASSED [ 20%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_bad_key PASSED [ 30%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_params_not_bytes_encrypt[nonce0-data-] PASSED [ 40%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_params_not_bytes_encrypt[000000000000-data1-] PASSED [ 50%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_params_not_bytes_encrypt[000000000000-data-associated_data2] PASSED [ 60%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_nonce_not_12_bytes PASSED [ 70%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_decrypt_data_too_short PASSED [ 80%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_associated_data_none_equal_to_empty_bytestring PASSED [ 90%]
python3.12-chacha20poly1305-reuseable> tests/test_init.py::TestChaCha20Poly1305Reusable::test_buffer_protocol PASSED [100%]
python3.12-chacha20poly1305-reuseable> ============================== 10 passed in 2.44s ==============================
python3.12-chacha20poly1305-reuseable> Finished executing pytestCheckPhase
python3.12-chacha20poly1305-reuseable> Running phase: pytestcachePhase
python3.12-chacha20poly1305-reuseable> Running phase: pytestRemoveBytecodePhase
| 15:00:01 |
mattleon | I spun up a jellyfin container on my orange pi 5 on nixos, and it logged this:
Oct 16 19:03:17 orangutan jellyfin[1380]: [23:03:17] [INF] [4] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Found ffmpeg version 6.0.1
Oct 16 19:03:17 orangutan jellyfin[1380]: [23:03:17] [INF] [4] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available decoders: ["libdav1d", "av1", "av1_rkmpp", "h264", "h264_rkmpp", "hevc", "hevc_rkmpp", "mpeg1_rkmpp", "mpeg2video", "mpeg2_rkmpp", "mpeg4", "mpeg4_rkmpp", "msmpeg4", "vp8", "vp8_rkmpp", "libvpx", "vp9", "vp9_rkmpp", "libvpx-vp9", "aac", "ac3", "dca", "flac", "mp3", "truehd"]
Oct 16 19:03:17 orangutan jellyfin[1380]: [23:03:17] [INF] [4] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available encoders: ["libsvtav1", "libx264", "h264_v4l2m2m", "h264_rkmpp", "libx265", "hevc_rkmpp", "mpeg4", "msmpeg4", "libvpx", "libvpx-vp9", "aac", "libfdk_aac", "ac3", "alac", "dca", "flac", "libmp3lame", "libopus", "truehd", "libvorbis", "srt"]
Oct 16 19:03:17 orangutan jellyfin[1380]: [23:03:17] [INF] [4] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available filters: ["overlay_opencl", "overlay_rkrga", "scale_opencl", "scale_rkrga", "tonemap_opencl", "vpp_rkrga", "zscale", "alphasrc"]
Oct 16 19:03:17 orangutan jellyfin[1380]: [23:03:17] [WRN] [4] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: scale_cuda with option Output format (default "same") is not available
Oct 16 19:03:17 orangutan jellyfin[1380]: [23:03:17] [WRN] [4] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: tonemap_cuda with option GPU accelerated HDR to SDR tonemapping is not available
Oct 16 19:03:18 orangutan jellyfin[1380]: [23:03:18] [WRN] [4] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: overlay_vaapi with option Action to take when encountering EOF from secondary input is not available
Oct 16 19:03:18 orangutan jellyfin[1380]: [23:03:18] [WRN] [4] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Filter: overlay_vulkan with option Action to take when encountering EOF from secondary input is not available
Oct 16 19:03:18 orangutan jellyfin[1380]: [23:03:18] [INF] [4] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: Available hwaccel types: ["drm", "opencl", "rkmpp"]
Oct 16 19:03:18 orangutan jellyfin[1380]: [23:03:18] [INF] [4] MediaBrowser.MediaEncoding.Encoder.MediaEncoder: FFmpeg: /usr/lib/jellyfin-ffmpeg/ffmpeg
Oct 16 19:03:18 orangutan jellyfin[1380]: [23:03:18] [INF] [4] Emby.Server.Implementations.ApplicationHost: ServerId: 75f42f46993e44689bc26fe7756194d4
Notably, it does appear to support hardware av1, h264, h265, vp8, and vp9 decoding, and h264 and h265 encoding (the "_rkmpp" suffix denotes rockchip hw acceleration)
| 23:07:18 |