Merge pull request #235871 from natsukium/maestral/darwin

maestral: enable darwin support
This commit is contained in:
OTABI Tomoya 2024-05-02 00:12:53 +09:00 committed by GitHub
commit 1117d7b91d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 88 additions and 3 deletions

View File

@ -6,6 +6,7 @@
, packaging
, setuptools
, dbus-next
, rubicon-objc
}:
buildPythonPackage rec {
@ -30,6 +31,8 @@ buildPythonPackage rec {
packaging
] ++ lib.optionals stdenv.isLinux [
dbus-next
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
rubicon-objc
];
# no tests available, do the imports check instead
@ -45,6 +48,5 @@ buildPythonPackage rec {
changelog = "https://github.com/samschott/desktop-notifier/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ sfrijters ];
platforms = platforms.linux;
};
}

View File

@ -1,4 +1,5 @@
{ lib
, stdenv
, buildPythonPackage
, fetchFromGitHub
, makePythonPath
@ -17,6 +18,7 @@
, pyro5
, requests
, rich
, rubicon-objc
, setuptools
, survey
, typing-extensions
@ -59,6 +61,8 @@ buildPythonPackage rec {
typing-extensions
watchdog
xattr
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
rubicon-objc
];
makeWrapperArgs = [
@ -71,6 +75,9 @@ buildPythonPackage rec {
pytestCheckHook
];
# ModuleNotFoundError: No module named '_watchdog_fsevents'
doCheck = !(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64);
preCheck = ''
export HOME=$(mktemp -d)
'';
@ -90,6 +97,19 @@ buildPythonPackage rec {
"test_locking_multiprocess"
# OSError: [Errno 95] Operation not supported
"test_move_preserves_xattrs"
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
# maetral daemon does not start but worked in real environment
"test_catching_non_ignored_events"
"test_connection"
"test_event_handler"
"test_fs_ignore_tree_creation"
"test_lifecycle"
"test_notify_level"
"test_notify_snooze"
"test_receiving_events"
"test_remote_exceptions"
"test_start_already_running"
"test_stop"
];
pythonImportsCheck = [
@ -104,7 +124,6 @@ buildPythonPackage rec {
homepage = "https://maestral.app";
changelog = "https://github.com/samschott/maestral/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ peterhoeg sfrijters ];
platforms = platforms.unix;
maintainers = with maintainers; [ natsukium peterhoeg sfrijters ];
};
}

View File

@ -0,0 +1,62 @@
{ lib
, buildPythonPackage
, darwin
, fetchFromGitHub
, pythonOlder
, setuptools
, setuptools-scm
, unittestCheckHook
}:
buildPythonPackage rec {
pname = "rubicon-objc";
version = "0.4.8";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "beeware";
repo = "rubicon-objc";
rev = "refs/tags/v${version}";
hash = "sha256-aFKzLeVYn5u8hTEgXCum3XpZxI7C/Wql41jkWkCF0HQ=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools==69.2.0" "setuptools" \
--replace-fail "setuptools_scm==8.0.4" "setuptools_scm"
'';
build-system = [
setuptools
setuptools-scm
];
preCheck = ''
make -C tests/objc
'';
nativeCheckInputs = [
unittestCheckHook
];
checkInputs = [
darwin.apple_sdk.frameworks.Foundation
];
pythonImportsCheck = [
"rubicon.objc"
];
__darwinAllowLocalNetworking = true;
meta = {
description = "A bridge interface between Python and Objective-C";
homepage = "https://github.com/beeware/rubicon-objc/";
changelog = "https://github.com/beeware/rubicon-objc/releases/tag/v${version}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ natsukium ];
platforms = lib.platforms.darwin;
};
}

View File

@ -13412,6 +13412,8 @@ self: super: with self; {
ruamel-yaml-clib = callPackage ../development/python-modules/ruamel-yaml-clib { };
rubicon-objc = callPackage ../development/python-modules/rubicon-objc { };
rubymarshal = callPackage ../development/python-modules/rubymarshal { };
ruffus = callPackage ../development/python-modules/ruffus { };