diff options
Diffstat (limited to 'pkgs/tools/networking')
6 files changed, 7 insertions, 241 deletions
diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix index 5c7b3ecb1d355..d5f658641efd8 100644 --- a/pkgs/tools/networking/openssh/common.nix +++ b/pkgs/tools/networking/openssh/common.nix @@ -33,6 +33,7 @@ , withPAM ? stdenv.hostPlatform.isLinux , dsaKeysSupport ? false , linkOpenssl ? true +, isNixos ? stdenv.hostPlatform.isLinux }: stdenv.mkDerivation { @@ -77,6 +78,12 @@ stdenv.mkDerivation { unset LD ''; + env = lib.optionalAttrs isNixos { + # openssh calls passwd to allow the user to reset an expired password, but nixos + # doesn't ship it at /usr/bin/passwd. + PATH_PASSWD_PROG = "/run/wrappers/bin/passwd"; + }; + # I set --disable-strip because later we strip anyway. And it fails to strip # properly when cross building. configureFlags = [ diff --git a/pkgs/tools/networking/persepolis/0001-Allow-building-on-darwin.patch b/pkgs/tools/networking/persepolis/0001-Allow-building-on-darwin.patch deleted file mode 100644 index 4ddd18bbd4687..0000000000000 --- a/pkgs/tools/networking/persepolis/0001-Allow-building-on-darwin.patch +++ /dev/null @@ -1,45 +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 = '' -@@ -100,6 +96,7 @@ else: - print('paplay is found!') - - # sound-theme-freedesktop -+notifications_path = '' - if os_type == 'Linux': - notifications_path = '/usr/share/sounds/freedesktop/stereo/' - elif os_type == 'FreeBSD' or os_type == 'OpenBSD': -@@ -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/tools/networking/persepolis/0002-Fix-startup-crash-on-darwin.patch b/pkgs/tools/networking/persepolis/0002-Fix-startup-crash-on-darwin.patch deleted file mode 100644 index 50252c8cd72a8..0000000000000 --- a/pkgs/tools/networking/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/tools/networking/persepolis/0003-Search-PATH-for-aria2c-on-darwin.patch b/pkgs/tools/networking/persepolis/0003-Search-PATH-for-aria2c-on-darwin.patch deleted file mode 100644 index ab3c957ef4b19..0000000000000 --- a/pkgs/tools/networking/persepolis/0003-Search-PATH-for-aria2c-on-darwin.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- - persepolis/scripts/download.py | 10 +--------- - 1 file changed, 1 insertion(+), 9 deletions(-) - -diff --git a/persepolis/scripts/download.py b/persepolis/scripts/download.py -index aaabb35..69676d3 100644 ---- a/persepolis/scripts/download.py -+++ b/persepolis/scripts/download.py -@@ -72,16 +72,8 @@ def startAria(): - - # in macintosh - elif os_type == 'Darwin': -- if aria2_path == "" or aria2_path == None or os.path.isfile(str(aria2_path)) == False: -- -- cwd = sys.argv[0] -- current_directory = os.path.dirname(cwd) -- aria2d = os.path.join(current_directory, 'aria2c') - -- else: -- aria2d = aria2_path -- -- subprocess.Popen([aria2d, '--no-conf', -+ subprocess.Popen(['aria2c', '--no-conf', - '--enable-rpc', '--rpc-listen-port=' + str(port), - '--rpc-max-request-size=2M', - '--rpc-listen-all', '--quiet=true'], --- -2.39.3 (Apple Git-145) - diff --git a/pkgs/tools/networking/persepolis/0004-Search-PATH-for-ffmpeg-on-darwin.patch b/pkgs/tools/networking/persepolis/0004-Search-PATH-for-ffmpeg-on-darwin.patch deleted file mode 100644 index 800f7bddd4086..0000000000000 --- a/pkgs/tools/networking/persepolis/0004-Search-PATH-for-ffmpeg-on-darwin.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- - persepolis/scripts/mainwindow.py | 2 +- - persepolis/scripts/useful_tools.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/persepolis/scripts/mainwindow.py b/persepolis/scripts/mainwindow.py -index d21f3f4..a0e3674 100644 ---- a/persepolis/scripts/mainwindow.py -+++ b/persepolis/scripts/mainwindow.py -@@ -161,7 +161,7 @@ class CheckVersionsThread(QThread): - - else: - pipe = subprocess.Popen( -- [ffmpeg_path, '-version'], -+ ['ffmpeg', '-version'], - stdout=subprocess.PIPE, - stdin=subprocess.PIPE, - stderr=subprocess.PIPE, -diff --git a/persepolis/scripts/useful_tools.py b/persepolis/scripts/useful_tools.py -index b780967..31733eb 100644 ---- a/persepolis/scripts/useful_tools.py -+++ b/persepolis/scripts/useful_tools.py -@@ -342,7 +342,7 @@ def muxer(parent, video_finder_dictionary): - current_directory = os.path.dirname(cwd) - ffmpeg_path = os.path.join(current_directory, 'ffmpeg') - -- pipe = subprocess.Popen([ffmpeg_path, '-i', video_file_path, -+ pipe = subprocess.Popen(['ffmpeg', '-i', video_file_path, - '-i', audio_file_path, - '-c', 'copy', - '-shortest', --- -2.39.3 (Apple Git-145) - diff --git a/pkgs/tools/networking/persepolis/default.nix b/pkgs/tools/networking/persepolis/default.nix deleted file mode 100644 index b3b084c225964..0000000000000 --- a/pkgs/tools/networking/persepolis/default.nix +++ /dev/null @@ -1,92 +0,0 @@ -{ lib -, stdenv -, buildPythonApplication -, fetchFromGitHub -, aria2 -, ffmpeg -, libnotify -, pulseaudio -, psutil -, pyqt5 -, requests -, setproctitle -, setuptools -, sound-theme-freedesktop -, wrapQtAppsHook -, yt-dlp -}: - -buildPythonApplication rec { - pname = "persepolis"; - version = "3.2.0"; - - src = fetchFromGitHub { - owner = "persepolisdm"; - repo = "persepolis"; - rev = version; - sha256 = "1rh7q432ynbysapsd075nif975ync71icpb71x2mb4j8jx1vzs45"; - }; - - # see: https://github.com/persepolisdm/persepolis/blob/3.2.0/setup.py#L130 - doCheck = false; - - preBuild= - # Make setup automatic - '' - substituteInPlace setup.py --replace "answer = input(" "answer = 'y'#" - '' + - # Replace abandoned youtube-dl with maintained fork yt-dlp. Fixes https://github.com/persepolisdm/persepolis/issues/930, - # can be removed if that issue is fixed and/or https://github.com/persepolisdm/persepolis/pull/936 is merged - '' - substituteInPlace setup.py ./persepolis/scripts/video_finder_addlink.py --replace \ - "import youtube_dl" "import yt_dlp as youtube_dl" - ''; - - patches = lib.optionals stdenv.isDarwin [ - # Upstream is abandonware, the last commit to master was on 2021-08-26. - # If it is forked or picked up again, consider upstreaming these patches. - ./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|/usr/share/sounds/freedesktop/stereo/|${sound-theme-freedesktop}/share/sounds/freedesktop/stereo/|' setup.py - sed -i "s|'persepolis = persepolis.__main__'|'persepolis = persepolis.scripts.persepolis:main'|" setup.py - ''; - - postInstall = '' - mkdir -p $out/share/applications - cp $src/xdg/com.github.persepolisdm.persepolis.desktop $out/share/applications - ''; - - # prevent double wrapping - dontWrapQtApps = true; - nativeBuildInputs = [ wrapQtAppsHook ]; - - # feed args to wrapPythonApp - makeWrapperArgs = [ - "--prefix PATH : ${lib.makeBinPath [ aria2 ffmpeg libnotify ]}" - "\${qtWrapperArgs[@]}" - ]; - - propagatedBuildInputs = [ - pulseaudio - psutil - pyqt5 - requests - setproctitle - setuptools - sound-theme-freedesktop - yt-dlp - ]; - - meta = with lib; { - description = "Persepolis Download Manager is a GUI for aria2"; - mainProgram = "persepolis"; - homepage = "https://persepolisdm.github.io/"; - license = licenses.gpl3; - maintainers = with maintainers; [ iFreilicht ]; - }; -} |