picard: fix eval & build on Darwin with avoiding unsupported dependencies (#515936)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
python312Packages,
|
||||
fetchFromGitHub,
|
||||
|
||||
@@ -9,6 +10,8 @@
|
||||
|
||||
enablePlayback ? true,
|
||||
gst_all_1,
|
||||
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -19,7 +22,9 @@ pythonPackages.buildPythonApplication (finalAttrs: {
|
||||
pname = "picard";
|
||||
# nix-update --commit picard --version-regex 'release-(.*)'
|
||||
version = "2.13.3";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
strictDeps = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "metabrainz";
|
||||
@@ -31,34 +36,60 @@ pythonPackages.buildPythonApplication (finalAttrs: {
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
qt5.wrapQtAppsHook
|
||||
pythonPackages.pytestCheckHook
|
||||
]
|
||||
++ lib.optionals (pyqt5.multimediaEnabled) [
|
||||
gst_all_1.gst-libav
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-vaapi
|
||||
gst_all_1.gstreamer
|
||||
pythonPackages.setuptools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qt5.qtbase
|
||||
]
|
||||
++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform qt5.qtwayland) [
|
||||
qt5.qtwayland
|
||||
]
|
||||
++ lib.optionals (pyqt5.multimediaEnabled) [
|
||||
qt5.qtmultimedia.bin
|
||||
++ lib.optionals (pyqt5.multimediaEnabled) (
|
||||
[
|
||||
qt5.qtmultimedia.bin
|
||||
gst_all_1.gst-libav
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
]
|
||||
++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform gst_all_1.gst-vaapi) [
|
||||
gst_all_1.gst-vaapi
|
||||
]
|
||||
);
|
||||
|
||||
pythonRelaxDeps = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# Should be resolved in the next version
|
||||
"pyobjc-core"
|
||||
"pyobjc-framework-Cocoa"
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
chromaprint
|
||||
discid
|
||||
fasteners
|
||||
markdown
|
||||
mutagen
|
||||
pyjwt
|
||||
pyqt5
|
||||
python-dateutil
|
||||
pyyaml
|
||||
propagatedBuildInputs =
|
||||
with pythonPackages;
|
||||
[
|
||||
charset-normalizer
|
||||
chromaprint
|
||||
discid
|
||||
fasteners
|
||||
markdown
|
||||
mutagen
|
||||
pyjwt
|
||||
pyqt5
|
||||
python-dateutil
|
||||
pyyaml
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
pyobjc-core
|
||||
pyobjc-framework-Cocoa
|
||||
];
|
||||
|
||||
# Not reporting any of these issues because the next upstream version will
|
||||
# include many breaking changes and this might not be relevant.
|
||||
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"test/test_const_appdirs.py::AppPathsTest::test_cache_folder_macos" # - AssertionError: '/nix/var/nix/builds/nix-54642-966088698/.h[33 chars]card' ...
|
||||
"test/test_const_appdirs.py::AppPathsTest::test_config_folder_macos" # - AssertionError: '/nix/var/nix/builds/nix-54642-966088698/.h[38 chars]card' ...
|
||||
"test/test_const_appdirs.py::AppPathsTest::test_plugin_folder_macos" # - AssertionError: '/nix/var/nix/builds/nix-54642-966088698/.h[46 chars]gins' ...
|
||||
"test/test_plugins.py" # Various PermissionError for /var/empty/Library - hopefully will be resolved in the next release.
|
||||
"test/test_utils.py::HiddenFileTest::test_macos" # - FileNotFoundError: [Errno 2] No such file or directory: 'SetFile'
|
||||
];
|
||||
|
||||
setupPyGlobalFlags = [
|
||||
@@ -67,9 +98,10 @@ pythonPackages.buildPythonApplication (finalAttrs: {
|
||||
"--localedir=${placeholder "out"}/share/locale"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
nativeCheckInputs = [
|
||||
pythonPackages.pytestCheckHook
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
doCheck = true;
|
||||
|
||||
# In order to spare double wrapping, we use:
|
||||
|
||||
Reference in New Issue
Block a user