From bf211cf6c305dcc6bdc8b026c345cf59142b19db Mon Sep 17 00:00:00 2001 From: aucub <78630225+aucub@users.noreply.github.com> Date: Tue, 21 Jan 2025 19:08:49 +0800 Subject: [PATCH 1/2] localsend: refactor --- pkgs/by-name/lo/localsend/package.nix | 31 +++++++++++++++++++-------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/lo/localsend/package.nix b/pkgs/by-name/lo/localsend/package.nix index 648ea6c6fb6c..af1fca2790c8 100644 --- a/pkgs/by-name/lo/localsend/package.nix +++ b/pkgs/by-name/lo/localsend/package.nix @@ -21,9 +21,9 @@ let inherit pname version; src = fetchFromGitHub { - owner = pname; - repo = pname; - rev = "v${version}"; + owner = "localsend"; + repo = "localsend"; + tag = "v${version}"; hash = "sha256-9nW1cynvRgX565ZupR+ogfDH9Qem+LQH4XZupVsrEWo="; }; @@ -37,7 +37,6 @@ let }; nativeBuildInputs = [ - pkg-config copyDesktopItems ]; @@ -52,18 +51,28 @@ let ''; extraWrapProgramArgs = '' - --prefix LD_LIBRARY_PATH : "$out/app/${pname}/lib" + --prefix LD_LIBRARY_PATH : $out/app/localsend/lib ''; desktopItems = [ (makeDesktopItem { name = "LocalSend"; - exec = "localsend_app"; + exec = "localsend_app %U"; icon = "localsend"; desktopName = "LocalSend"; startupWMClass = "localsend_app"; genericName = "An open source cross-platform alternative to AirDrop"; - categories = [ "Network" ]; + categories = [ + "GTK" + "FileTransfer" + "Utility" + ]; + keywords = [ + "Sharing" + "LAN" + "Files" + ]; + startupNotify = true; }) ]; @@ -93,12 +102,17 @@ let sourceRoot = "."; installPhase = '' + runHook preInstall + mkdir -p $out/Applications - cp -r *.app $out/Applications + cp -r LocalSend.app $out/Applications makeBinaryWrapper $out/Applications/LocalSend.app/Contents/MacOS/LocalSend $out/bin/localsend + + runHook postInstall ''; meta = metaCommon // { + mainProgram = "localsend"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; platforms = [ "x86_64-darwin" @@ -111,7 +125,6 @@ let description = "Open source cross-platform alternative to AirDrop"; homepage = "https://localsend.org/"; license = lib.licenses.mit; - mainProgram = "localsend"; maintainers = with lib.maintainers; [ sikmir linsui From 8bd04ce7b565c9d84834842db0a3a906c9eb787c Mon Sep 17 00:00:00 2001 From: aucub <78630225+aucub@users.noreply.github.com> Date: Tue, 21 Jan 2025 21:04:32 +0800 Subject: [PATCH 2/2] localsend: fix autostart --- pkgs/by-name/lo/localsend/package.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/lo/localsend/package.nix b/pkgs/by-name/lo/localsend/package.nix index af1fca2790c8..3b7c25d55682 100644 --- a/pkgs/by-name/lo/localsend/package.nix +++ b/pkgs/by-name/lo/localsend/package.nix @@ -7,7 +7,6 @@ makeDesktopItem, copyDesktopItems, nixosTests, - pkg-config, libayatana-appindicator, undmg, makeBinaryWrapper, @@ -36,6 +35,11 @@ let pasteboard = "sha256-lJA5OWoAHfxORqWMglKzhsL1IFr9YcdAQP/NVOLYB4o="; }; + postPatch = '' + substituteInPlace lib/util/native/autostart_helper.dart \ + --replace-fail 'Exec=''${Platform.resolvedExecutable}' "Exec=localsend_app" + ''; + nativeBuildInputs = [ copyDesktopItems ];