Unverified Commit 1117d7b9 authored by OTABI Tomoya's avatar OTABI Tomoya Committed by GitHub
Browse files

Merge pull request #235871 from natsukium/maestral/darwin

maestral: enable darwin support
parents 6950489d 83ecbc8f
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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;
  };
}
+21 −2
Original line number Diff line number Diff line
{ 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 ];
  };
}
+62 −0
Original line number Diff line number Diff line
{ 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;
  };
}
+2 −0
Original line number Diff line number Diff line
@@ -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 { };