diff --git a/pkgs/desktops/cinnamon/default.nix b/pkgs/desktops/cinnamon/default.nix index e406da2b8e5..00029bb1fc4 100644 --- a/pkgs/desktops/cinnamon/default.nix +++ b/pkgs/desktops/cinnamon/default.nix @@ -29,4 +29,5 @@ lib.makeScope pkgs.newScope (self: with self; { mint-y-icons = callPackage ./mint-y-icons { }; muffin = callPackage ./muffin { }; xapps = callPackage ./xapps { }; + warpinator = callPackage ./warpinator { }; }) diff --git a/pkgs/desktops/cinnamon/warpinator/default.nix b/pkgs/desktops/cinnamon/warpinator/default.nix new file mode 100644 index 00000000000..279b046be9f --- /dev/null +++ b/pkgs/desktops/cinnamon/warpinator/default.nix @@ -0,0 +1,79 @@ +{ fetchFromGitHub +, stdenv +, gobject-introspection +, meson +, ninja +, python3 +, gtk3 +, gdk-pixbuf +, wrapGAppsHook +, gettext +, polkit +, glib +}: + +python3.pkgs.buildPythonApplication rec { + pname = "warpinator"; + version = "1.0.8"; + + format = "other"; + doCheck = false; + + src = fetchFromGitHub { + owner = "linuxmint"; + repo = pname; + rev = version; + sha256 = "0n1b50j2w76qnhfj5yg5q2j7fgxr9gbmzpazmbml4q41h8ybcmxm"; + }; + + nativeBuildInputs = [ + meson + ninja + gobject-introspection + wrapGAppsHook + gettext + polkit # for its gettext + ]; + + buildInputs = [ + glib + gtk3 + gdk-pixbuf + ]; + + propagatedBuildInputs = with python3.pkgs; [ + grpcio-tools + protobuf + pygobject3 + setproctitle + xapp + zeroconf + grpcio + setuptools + cryptography + pynacl + netifaces + ]; + + postPatch = '' + chmod +x install-scripts/* + patchShebangs . + + find . -type f -exec sed -i \ + -e s,/usr/libexec/warpinator,$out/libexec/warpinator,g \ + {} + + ''; + + preFixup = '' + # these get loaded via import from bin, so don't need wrapping + chmod -x+X $out/libexec/warpinator/*.py + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/linuxmint/warpinator"; + description = "Share files across the LAN"; + license = licenses.gpl3plus; + platforms = platforms.linux; + maintainers = [ maintainers.mkg20001 ]; + }; +}