diff --git a/pkgs/by-name/pe/persepolis/0001-Allow-building-on-darwin.patch b/pkgs/by-name/pe/persepolis/0001-Allow-building-on-darwin.patch deleted file mode 100644 index 46790103f3d1..000000000000 --- a/pkgs/by-name/pe/persepolis/0001-Allow-building-on-darwin.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- - setup.py | 13 +++++-------- - 1 file changed, 5 insertions(+), 8 deletions(-) - -diff --git a/setup.py b/setup.py -index 985d28d..933f3df 100755 ---- a/setup.py -+++ b/setup.py -@@ -24,13 +24,9 @@ import shutil - # finding os platform - os_type = platform.system() - --if os_type == 'Linux' or os_type == 'FreeBSD' or os_type == 'OpenBSD': -- from setuptools import setup, Command, find_packages -- setuptools_available = True -- print(os_type + " detected!") --else: -- print('This script is only work for GNU/Linux or BSD!') -- sys.exit(1) -+from setuptools import setup, Command, find_packages -+setuptools_available = True -+print(os_type + " detected!") - - # Checking dependencies! - not_installed = '' -@@ -139,7 +136,7 @@ if sys.argv[1] == "test": - - DESCRIPTION = 'Persepolis Download Manager' - --if os_type == 'Linux': -+if os_type in ['Linux', 'Darwin']: - DATA_FILES = [ - ('/usr/share/man/man1/', ['man/persepolis.1.gz']), - ('/usr/share/applications/', ['xdg/com.github.persepolisdm.persepolis.desktop']), --- -2.39.3 (Apple Git-145) - diff --git a/pkgs/by-name/pe/persepolis/0002-Fix-startup-crash-on-darwin.patch b/pkgs/by-name/pe/persepolis/0002-Fix-startup-crash-on-darwin.patch deleted file mode 100644 index 50252c8cd72a..000000000000 --- a/pkgs/by-name/pe/persepolis/0002-Fix-startup-crash-on-darwin.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- - persepolis/scripts/mac_notification.py | 25 +++++++++---------------- - 1 file changed, 9 insertions(+), 16 deletions(-) - -diff --git a/persepolis/scripts/mac_notification.py b/persepolis/scripts/mac_notification.py -index 4d69929..9a9a7cf 100644 ---- a/persepolis/scripts/mac_notification.py -+++ b/persepolis/scripts/mac_notification.py -@@ -15,20 +15,13 @@ - - # native notification on mac! needs Xcode (latest version) installed and pyobjc - # library from pip --import Foundation --import AppKit --import objc -- --NSUserNotification = objc.lookUpClass('NSUserNotification') --NSUserNotificationCenter = objc.lookUpClass('NSUserNotificationCenter') -- -- - def notifyMac(title, subtitle, info_text, delay=0): -- notification = NSUserNotification.alloc().init() -- notification.setTitle_(title) -- notification.setSubtitle_(subtitle) -- notification.setInformativeText_(info_text) -- notification.setDeliveryDate_(Foundation.NSDate.dateWithTimeInterval_sinceDate_( -- delay, Foundation.NSDate.date())) -- NSUserNotificationCenter.defaultUserNotificationCenter( -- ).scheduleNotification_(notification) -+ print(f""" -+Warning: Persepolis was installed from nixpkgs, which currently breaks notifications -+ on macOS. Until https://github.com/NixOS/nixpkgs/issues/105156 is resolved, -+ this cannot be fixed. The notification that should've been displayed was: -+ -+ title: {title} -+ subtitle: {subtitle} -+ info_text: {info_text} -+ """) --- -2.39.3 (Apple Git-145) - diff --git a/pkgs/by-name/pe/persepolis/package.nix b/pkgs/by-name/pe/persepolis/package.nix index 0aa47b37fe17..3105cd8621f3 100644 --- a/pkgs/by-name/pe/persepolis/package.nix +++ b/pkgs/by-name/pe/persepolis/package.nix @@ -8,39 +8,33 @@ , libnotify , pulseaudio , sound-theme-freedesktop +, pkg-config +, meson +, ninja }: python3.pkgs.buildPythonApplication rec { pname = "persepolis"; - version = "4.0.0"; + version = "4.0.1"; + format = "other"; src = fetchFromGitHub { owner = "persepolisdm"; repo = "persepolis"; - rev = "refs/tags/${version}"; - hash = "sha256-2S6s/tWhI9RBFA26jkwxYTGeaok8S8zv/bY+Zr8TOak="; + rev = "57dc9d438bb3f126070a17c7a3677c45ea4dd332"; + hash = "sha256-7OXAITFQJ2/aY0QmqlAo7if7cY7+T3j6PUjfJJV8Z2Q="; }; patches = [ # Upstream does currently not allow building from source on macOS. These patches can likely # be removed if https://github.com/persepolisdm/persepolis/issues/943 is fixed upstream - ./0001-Allow-building-on-darwin.patch - ./0002-Fix-startup-crash-on-darwin.patch ./0003-Search-PATH-for-aria2c-on-darwin.patch ./0004-Search-PATH-for-ffmpeg-on-darwin.patch ]; postPatch = '' - sed -i "s|'persepolis = persepolis.__main__'|'persepolis = persepolis.scripts.persepolis:main'|" setup.py - - # Automatically answer yes to all interactive questions during setup - substituteInPlace setup.py --replace-fail "answer = input(" "answer = 'y'#" - - # Ensure dependencies with hard-coded FHS paths are properly detected - substituteInPlace setup.py --replace-fail "isdir(notifications_path)" "isdir('${sound-theme-freedesktop}/share/sounds/freedesktop')" - - # Fix oversight in test script (can be removed once https://github.com/persepolisdm/persepolis/pull/942 is merged upstream) - substituteInPlace setup.py --replace-fail "sys.exit('0')" "sys.exit(0)" + # Ensure dependencies with hard-coded FHS dependencies are properly detected + substituteInPlace check_dependencies.py --replace-fail "isdir(notifications_path)" "isdir('${sound-theme-freedesktop}/share/sounds/freedesktop')" ''; postInstall = '' @@ -50,7 +44,7 @@ python3.pkgs.buildPythonApplication rec { # prevent double wrapping dontWrapQtApps = true; - nativeBuildInputs = [ qt5.wrapQtAppsHook ]; + nativeBuildInputs = [ meson ninja pkg-config qt5.wrapQtAppsHook ]; # feed args to wrapPythonApp makeWrapperArgs = [