about summary refs log tree commit diff
path: root/pkgs/development/python-modules/av/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/python-modules/av/default.nix')
-rw-r--r--pkgs/development/python-modules/av/default.nix139
1 files changed, 75 insertions, 64 deletions
diff --git a/pkgs/development/python-modules/av/default.nix b/pkgs/development/python-modules/av/default.nix
index b57472867005d..c126a8ab1fc43 100644
--- a/pkgs/development/python-modules/av/default.nix
+++ b/pkgs/development/python-modules/av/default.nix
@@ -1,15 +1,17 @@
-{ lib
-, stdenv
-, buildPythonPackage
-, cython
-, fetchFromGitHub
-, ffmpeg_5-headless
-, numpy
-, pillow
-, pkg-config
-, pytestCheckHook
-, pythonOlder
-, setuptools
+{
+  lib,
+  stdenv,
+  buildPythonPackage,
+  cython,
+  fetchFromGitHub,
+  fetchpatch,
+  ffmpeg_5-headless,
+  numpy,
+  pillow,
+  pkg-config,
+  pytestCheckHook,
+  pythonOlder,
+  setuptools,
 }:
 
 buildPythonPackage rec {
@@ -26,15 +28,22 @@ buildPythonPackage rec {
     hash = "sha256-pCKP+4ZmZCJcG7/Qy9H6aS4svQdgaRA9S1QVNWFYhSQ=";
   };
 
+  patches = [
+    # merged upstream PR: https://github.com/PyAV-Org/PyAV/pull/1387
+    (fetchpatch {
+      name = "use-pkg-config-env-var-fix-cross.patch";
+      url = "https://github.com/PyAV-Org/PyAV/commit/ba7a2c9f716af506838d399e6ed27ed6d64d2435.patch";
+      sha256 = "sha256-oH+g8sVoVCQe6DimRN38VT2GdziriwHYRAhldNxz9/E=";
+    })
+  ];
+
   nativeBuildInputs = [
     cython
     pkg-config
     setuptools
   ];
 
-  buildInputs = [
-    ffmpeg_5-headless
-  ];
+  buildInputs = [ ffmpeg_5-headless ];
 
   preCheck = ''
     # ensure we import the built version
@@ -47,55 +56,57 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = [
-    # urlopen fails during DNS resolution
-    "test_writing_to_custom_io"
-    "test_decode_close_then_use"
-    # Tests that want to download FATE data, https://github.com/PyAV-Org/PyAV/issues/955
-    "test_vobsub"
-    "test_transcode"
-    "test_stream_tuples"
-    "test_stream_seek"
-    "test_stream_probing"
-    "test_seek_start"
-    "test_seek_middle"
-    "test_seek_int64"
-    "test_seek_float"
-    "test_seek_end"
-    "test_roundtrip"
-    "test_reading_from_write_readonl"
-    "test_reading_from_pipe_readonly"
-    "test_reading_from_file"
-    "test_reading_from_buffer"
-    "test_reading_from_buffer_no_see"
-    "test_parse"
-    "test_movtext"
-    "test_encoding_xvid"
-    "test_encoding_tiff"
-    "test_encoding_png"
-    "test_encoding_pcm_s24le"
-    "test_encoding_mpeg4"
-    "test_encoding_mpeg1video"
-    "test_encoding_mp2"
-    "test_encoding_mjpeg"
-    "test_encoding_h264"
-    "test_encoding_dvvideo"
-    "test_encoding_dnxhd"
-    "test_encoding_aac"
-    "test_decoded_video_frame_count"
-    "test_decoded_time_base"
-    "test_decoded_motion_vectors"
-    "test_decode_half"
-    "test_decode_audio_sample_count"
-    "test_data"
-    "test_container_probing"
-    "test_codec_tag"
-    "test_selection"
-  ] ++ lib.optionals (stdenv.isDarwin) [
-    # Segmentation Faults
-    "test_encoding_with_pts"
-    "test_bayer_write"
-  ];
+  disabledTests =
+    [
+      # urlopen fails during DNS resolution
+      "test_writing_to_custom_io"
+      "test_decode_close_then_use"
+      # Tests that want to download FATE data, https://github.com/PyAV-Org/PyAV/issues/955
+      "test_vobsub"
+      "test_transcode"
+      "test_stream_tuples"
+      "test_stream_seek"
+      "test_stream_probing"
+      "test_seek_start"
+      "test_seek_middle"
+      "test_seek_int64"
+      "test_seek_float"
+      "test_seek_end"
+      "test_roundtrip"
+      "test_reading_from_write_readonl"
+      "test_reading_from_pipe_readonly"
+      "test_reading_from_file"
+      "test_reading_from_buffer"
+      "test_reading_from_buffer_no_see"
+      "test_parse"
+      "test_movtext"
+      "test_encoding_xvid"
+      "test_encoding_tiff"
+      "test_encoding_png"
+      "test_encoding_pcm_s24le"
+      "test_encoding_mpeg4"
+      "test_encoding_mpeg1video"
+      "test_encoding_mp2"
+      "test_encoding_mjpeg"
+      "test_encoding_h264"
+      "test_encoding_dvvideo"
+      "test_encoding_dnxhd"
+      "test_encoding_aac"
+      "test_decoded_video_frame_count"
+      "test_decoded_time_base"
+      "test_decoded_motion_vectors"
+      "test_decode_half"
+      "test_decode_audio_sample_count"
+      "test_data"
+      "test_container_probing"
+      "test_codec_tag"
+      "test_selection"
+    ]
+    ++ lib.optionals (stdenv.isDarwin) [
+      # Segmentation Faults
+      "test_encoding_with_pts"
+      "test_bayer_write"
+    ];
 
   disabledTestPaths = [
     # urlopen fails during DNS resolution