Loading pkgs/applications/networking/localsend/default.nix +57 −33 Original line number Diff line number Diff line { lib, stdenv, appimageTools, fetchurl, undmg }: { lib , stdenv , fetchurl , fetchFromGitHub , flutter , makeDesktopItem , pkg-config , libayatana-appindicator , undmg }: let pname = "localsend"; version = "1.11.1"; version = "1.12.0"; hashes = { x86_64-linux = "sha256-K4M9cks0FNsCLIqQhSgUAz3tRMKng6JkZ/ZfwG2hZJA="; x86_64-darwin = "sha256-Cixo00I4BBAmUnszsz+CxPX3EY175UTufCmwQmIsEgg="; }; linux = flutter.buildFlutterApplication { inherit pname version; srcs = rec { x86_64-linux = fetchurl { url = "https://github.com/localsend/localsend/releases/download/v${version}/LocalSend-${version}-linux-x86-64.AppImage"; hash = hashes.x86_64-linux; }; x86_64-darwin = fetchurl { url = "https://github.com/localsend/localsend/releases/download/v${version}/LocalSend-${version}.dmg"; hash = hashes.x86_64-darwin; }; aarch64-darwin = x86_64-darwin; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; hash = "sha256-mk0CLZP0x/mEixeAig7X41aFgQzs+kZkBJx6T//3ZKY="; }; src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system for package localsend: ${stdenv.hostPlatform.system}"); appimageContents = appimageTools.extract { inherit pname version src; }; sourceRoot = "source/app"; depsListFile = ./deps.json; vendorHash = "sha256-fXzxT7KBi/WT2A5PEIx+B+UG4HWEbMPMsashVQsXdmU="; linux = appimageTools.wrapType2 rec { inherit pname version src meta; nativeBuildInputs = [ pkg-config ]; extraPkgs = p: [ p.ayatana-ido p.libayatana-appindicator p.libayatana-indicator p.libdbusmenu p.libepoxy ]; buildInputs = [ libayatana-appindicator ]; extraInstallCommands = '' mv $out/bin/${pname}-${version} $out/bin/${pname} postInstall = '' mv $out/bin/localsend_app $out/bin/localsend for s in 32 128 256 512; do d=$out/share/icons/hicolor/''${s}x''${s}/apps mkdir -p $d ln -s $out/app/data/flutter_assets/assets/img/logo-''${s}.png $d/localsend.png done mkdir -p $out/share/applications cp $desktopItem/share/applications/*.desktop $out/share/applications substituteInPlace $out/share/applications/*.desktop --subst-var out ''; install -m 444 -D ${appimageContents}/org.localsend.localsend_app.desktop \ $out/share/applications/${pname}.desktop substituteInPlace $out/share/applications/${pname}.desktop \ --replace 'Exec=localsend_app' "Exec=$out/bin/localsend" desktopItem = makeDesktopItem { name = "LocalSend"; exec = "@out@/bin/localsend_app"; icon = "localsend"; desktopName = "LocalSend"; startupWMClass = "localsend"; genericName = "An open source cross-platform alternative to AirDrop"; categories = [ "Network" ]; }; install -m 444 -D ${appimageContents}/localsend.png \ $out/share/icons/hicolor/256x256/apps/localsend.png ''; meta = meta // { mainProgram = "localsend_app"; }; }; darwin = stdenv.mkDerivation { inherit pname version src meta; inherit pname version; src = fetchurl { url = "https://github.com/localsend/localsend/releases/download/v${version}/LocalSend-${version}.dmg"; hash = "sha256-XKYc3lA7x0Tf1Mf3o7D2RYwYDRDVHoSb/lj9PhKzV5U="; }; nativeBuildInputs = [ undmg ]; Loading @@ -53,15 +74,18 @@ let mkdir -p $out/Applications cp -r *.app $out/Applications ''; meta = meta // { sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; platforms = [ "x86_64-darwin" "aarch64-darwin" ]; }; }; meta = with lib; { description = "An open source cross-platform alternative to AirDrop"; homepage = "https://localsend.org/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.mit; maintainers = with maintainers; [ sikmir ]; platforms = builtins.attrNames srcs; }; in if stdenv.isDarwin Loading pkgs/applications/networking/localsend/deps.json 0 → 100644 +2498 −0 File added.Preview size limit exceeded, changes collapsed. Show changes pkgs/applications/networking/localsend/update.sh +2 −6 Original line number Diff line number Diff line #! /usr/bin/env nix-shell #! nix-shell -I nixpkgs=./. -i bash -p curl gnused #! nix-shell -I nixpkgs=./. -i bash -p curl gnused jq set -eou pipefail Loading @@ -16,10 +16,6 @@ fi sed -i "s/version = \".*\"/version = \"${latestVersion}\"/" "$ROOT/default.nix" LINUX_x64_URL="https://github.com/localsend/localsend/releases/download/v${latestVersion}/LocalSend-${latestVersion}-linux-x86-64.AppImage" LINUX_X64_SHA=$(nix hash to-sri --type sha256 $(nix-prefetch-url ${LINUX_x64_URL})) sed -i "0,/x86_64-linux/{s|x86_64-linux = \".*\"|x86_64-linux = \"${LINUX_X64_SHA}\"|}" "$ROOT/default.nix" DARWIN_x64_URL="https://github.com/localsend/localsend/releases/download/v${latestVersion}/LocalSend-${latestVersion}.dmg" DARWIN_X64_SHA=$(nix hash to-sri --type sha256 $(nix-prefetch-url ${DARWIN_x64_URL})) sed -i "0,/x86_64-darwin/{s|x86_64-darwin = \".*\"|x86_64-darwin = \"${DARWIN_X64_SHA}\"|}" "$ROOT/default.nix" sed -i "/darwin/,/hash/{s|hash = \".*\"|hash = \"${DARWIN_X64_SHA}\"|}" "$ROOT/default.nix" pkgs/development/compilers/dart/package-overrides/default.nix +1 −0 Original line number Diff line number Diff line Loading @@ -5,4 +5,5 @@ handy_window = callPackage ./handy-window { }; matrix = callPackage ./matrix { }; olm = callPackage ./olm { }; system_tray = callPackage ./system-tray { }; } pkgs/development/compilers/dart/package-overrides/system-tray/default.nix 0 → 100644 +18 −0 Original line number Diff line number Diff line { libayatana-appindicator }: { ... }: { preBuild ? "" , ... }: { preBuild = preBuild + '' # $PUB_CACHE/hosted is a symlink to a store path. mv $PUB_CACHE/hosted $PUB_CACHE/hosted_copy cp -HR $PUB_CACHE/hosted_copy $PUB_CACHE/hosted substituteInPlace $PUB_CACHE/hosted/pub.dev/system_tray-*/linux/tray.cc \ --replace "libappindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1" ''; } Loading
pkgs/applications/networking/localsend/default.nix +57 −33 Original line number Diff line number Diff line { lib, stdenv, appimageTools, fetchurl, undmg }: { lib , stdenv , fetchurl , fetchFromGitHub , flutter , makeDesktopItem , pkg-config , libayatana-appindicator , undmg }: let pname = "localsend"; version = "1.11.1"; version = "1.12.0"; hashes = { x86_64-linux = "sha256-K4M9cks0FNsCLIqQhSgUAz3tRMKng6JkZ/ZfwG2hZJA="; x86_64-darwin = "sha256-Cixo00I4BBAmUnszsz+CxPX3EY175UTufCmwQmIsEgg="; }; linux = flutter.buildFlutterApplication { inherit pname version; srcs = rec { x86_64-linux = fetchurl { url = "https://github.com/localsend/localsend/releases/download/v${version}/LocalSend-${version}-linux-x86-64.AppImage"; hash = hashes.x86_64-linux; }; x86_64-darwin = fetchurl { url = "https://github.com/localsend/localsend/releases/download/v${version}/LocalSend-${version}.dmg"; hash = hashes.x86_64-darwin; }; aarch64-darwin = x86_64-darwin; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; hash = "sha256-mk0CLZP0x/mEixeAig7X41aFgQzs+kZkBJx6T//3ZKY="; }; src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system for package localsend: ${stdenv.hostPlatform.system}"); appimageContents = appimageTools.extract { inherit pname version src; }; sourceRoot = "source/app"; depsListFile = ./deps.json; vendorHash = "sha256-fXzxT7KBi/WT2A5PEIx+B+UG4HWEbMPMsashVQsXdmU="; linux = appimageTools.wrapType2 rec { inherit pname version src meta; nativeBuildInputs = [ pkg-config ]; extraPkgs = p: [ p.ayatana-ido p.libayatana-appindicator p.libayatana-indicator p.libdbusmenu p.libepoxy ]; buildInputs = [ libayatana-appindicator ]; extraInstallCommands = '' mv $out/bin/${pname}-${version} $out/bin/${pname} postInstall = '' mv $out/bin/localsend_app $out/bin/localsend for s in 32 128 256 512; do d=$out/share/icons/hicolor/''${s}x''${s}/apps mkdir -p $d ln -s $out/app/data/flutter_assets/assets/img/logo-''${s}.png $d/localsend.png done mkdir -p $out/share/applications cp $desktopItem/share/applications/*.desktop $out/share/applications substituteInPlace $out/share/applications/*.desktop --subst-var out ''; install -m 444 -D ${appimageContents}/org.localsend.localsend_app.desktop \ $out/share/applications/${pname}.desktop substituteInPlace $out/share/applications/${pname}.desktop \ --replace 'Exec=localsend_app' "Exec=$out/bin/localsend" desktopItem = makeDesktopItem { name = "LocalSend"; exec = "@out@/bin/localsend_app"; icon = "localsend"; desktopName = "LocalSend"; startupWMClass = "localsend"; genericName = "An open source cross-platform alternative to AirDrop"; categories = [ "Network" ]; }; install -m 444 -D ${appimageContents}/localsend.png \ $out/share/icons/hicolor/256x256/apps/localsend.png ''; meta = meta // { mainProgram = "localsend_app"; }; }; darwin = stdenv.mkDerivation { inherit pname version src meta; inherit pname version; src = fetchurl { url = "https://github.com/localsend/localsend/releases/download/v${version}/LocalSend-${version}.dmg"; hash = "sha256-XKYc3lA7x0Tf1Mf3o7D2RYwYDRDVHoSb/lj9PhKzV5U="; }; nativeBuildInputs = [ undmg ]; Loading @@ -53,15 +74,18 @@ let mkdir -p $out/Applications cp -r *.app $out/Applications ''; meta = meta // { sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; platforms = [ "x86_64-darwin" "aarch64-darwin" ]; }; }; meta = with lib; { description = "An open source cross-platform alternative to AirDrop"; homepage = "https://localsend.org/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.mit; maintainers = with maintainers; [ sikmir ]; platforms = builtins.attrNames srcs; }; in if stdenv.isDarwin Loading
pkgs/applications/networking/localsend/deps.json 0 → 100644 +2498 −0 File added.Preview size limit exceeded, changes collapsed. Show changes
pkgs/applications/networking/localsend/update.sh +2 −6 Original line number Diff line number Diff line #! /usr/bin/env nix-shell #! nix-shell -I nixpkgs=./. -i bash -p curl gnused #! nix-shell -I nixpkgs=./. -i bash -p curl gnused jq set -eou pipefail Loading @@ -16,10 +16,6 @@ fi sed -i "s/version = \".*\"/version = \"${latestVersion}\"/" "$ROOT/default.nix" LINUX_x64_URL="https://github.com/localsend/localsend/releases/download/v${latestVersion}/LocalSend-${latestVersion}-linux-x86-64.AppImage" LINUX_X64_SHA=$(nix hash to-sri --type sha256 $(nix-prefetch-url ${LINUX_x64_URL})) sed -i "0,/x86_64-linux/{s|x86_64-linux = \".*\"|x86_64-linux = \"${LINUX_X64_SHA}\"|}" "$ROOT/default.nix" DARWIN_x64_URL="https://github.com/localsend/localsend/releases/download/v${latestVersion}/LocalSend-${latestVersion}.dmg" DARWIN_X64_SHA=$(nix hash to-sri --type sha256 $(nix-prefetch-url ${DARWIN_x64_URL})) sed -i "0,/x86_64-darwin/{s|x86_64-darwin = \".*\"|x86_64-darwin = \"${DARWIN_X64_SHA}\"|}" "$ROOT/default.nix" sed -i "/darwin/,/hash/{s|hash = \".*\"|hash = \"${DARWIN_X64_SHA}\"|}" "$ROOT/default.nix"
pkgs/development/compilers/dart/package-overrides/default.nix +1 −0 Original line number Diff line number Diff line Loading @@ -5,4 +5,5 @@ handy_window = callPackage ./handy-window { }; matrix = callPackage ./matrix { }; olm = callPackage ./olm { }; system_tray = callPackage ./system-tray { }; }
pkgs/development/compilers/dart/package-overrides/system-tray/default.nix 0 → 100644 +18 −0 Original line number Diff line number Diff line { libayatana-appindicator }: { ... }: { preBuild ? "" , ... }: { preBuild = preBuild + '' # $PUB_CACHE/hosted is a symlink to a store path. mv $PUB_CACHE/hosted $PUB_CACHE/hosted_copy cp -HR $PUB_CACHE/hosted_copy $PUB_CACHE/hosted substituteInPlace $PUB_CACHE/hosted/pub.dev/system_tray-*/linux/tray.cc \ --replace "libappindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1" ''; }