Loading pkgs/tools/networking/bitmask-vpn/default.nix +41 −45 Original line number Diff line number Diff line Loading @@ -23,9 +23,10 @@ qtwayland, provider ? "riseup", }: let version = "0.24.8"; buildGoModule (finalAttrs: { pname = "${provider}-vpn"; version = "0.24.8"; src = fetchFromGitLab { domain = "0xacab.org"; owner = "leap"; Loading @@ -34,39 +35,6 @@ let leaveDotGit = true; sha256 = "sha256-XUgCVHnTLZXFU+r0s1yuYryWNBJRgQrFlf3g1iRrLWs="; }; # bitmask-root is only used on GNU/Linux # and may one day be replaced by pkg/helper bitmask-root = stdenv.mkDerivation { inherit src version; sourceRoot = "${src.name}/helpers"; pname = "bitmask-root"; nativeBuildInputs = [ python3Packages.wrapPython ]; postPatch = '' substituteInPlace bitmask-root \ --replace 'swhich("ip")' '"${iproute2}/bin/ip"' \ --replace 'swhich("iptables")' '"${iptables}/bin/iptables"' \ --replace 'swhich("ip6tables")' '"${iptables}/bin/ip6tables"' \ --replace 'swhich("sysctl")' '"${procps}/bin/sysctl"' \ --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn substituteInPlace se.leap.bitmask.policy \ --replace /usr/sbin/bitmask-root $out/bin/bitmask-root ''; installPhase = '' runHook preInstall install -m 755 -D -t $out/bin bitmask-root install -m 444 -D -t $out/share/polkit-1/actions se.leap.bitmask.policy wrapPythonPrograms runHook postInstall ''; }; in buildGoModule rec { inherit src version; pname = "${provider}-vpn"; vendorHash = null; patches = [ Loading @@ -90,7 +58,7 @@ buildGoModule rec { --replace "provider = bitmask" "provider = ${provider}" substituteInPlace branding/templates/debian/app.desktop-template \ --replace "Icon=icon" "Icon=${pname}" --replace "Icon=icon" "Icon=${finalAttrs.pname}" patchShebangs gui/build.sh wrapPythonProgramsIn branding/scripts Loading @@ -100,7 +68,7 @@ buildGoModule rec { --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn substituteInPlace pkg/launcher/launcher_linux.go \ --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn \ --replace /usr/sbin/bitmask-root ${bitmask-root}/bin/bitmask-root \ --replace /usr/sbin/bitmask-root ${finalAttrs.passthru.bitmask-root}/bin/bitmask-root \ --replace /usr/bin/lxpolkit /run/wrappers/bin/polkit-agent-helper-1 \ --replace '"polkit-gnome-authentication-agent-1",' '"polkit-gnome-authentication-agent-1","polkitd",' ''; Loading Loading @@ -162,22 +130,50 @@ buildGoModule rec { ''; postInstall = '' install -m 755 -D -t $out/bin build/qt/release/${pname} install -m 755 -D -t $out/bin build/qt/release/${finalAttrs.pname} VERSION=${version} VENDOR_PATH=providers branding/scripts/generate-debian branding/templates/debian/data.json VERSION=${finalAttrs.version} VENDOR_PATH=providers branding/scripts/generate-debian branding/templates/debian/data.json (cd branding/templates/debian && ${python3Packages.python}/bin/python3 generate.py) install -m 444 -D branding/templates/debian/app.desktop $out/share/applications/${pname}.desktop install -m 444 -D providers/${provider}/assets/icon.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg install -m 444 -D branding/templates/debian/app.desktop $out/share/applications/${finalAttrs.pname}.desktop install -m 444 -D providers/${provider}/assets/icon.svg $out/share/icons/hicolor/scalable/apps/${finalAttrs.pname}.svg '' + lib.optionalString stdenv.hostPlatform.isLinux '' install -m 444 -D -t $out/share/polkit-1/actions ${bitmask-root}/share/polkit-1/actions/se.leap.bitmask.policy install -m 444 -D -t $out/share/polkit-1/actions ${finalAttrs.passthru.bitmask-root}/share/polkit-1/actions/se.leap.bitmask.policy ''; # Some tests need access to the Internet: # Post "https://api.black.riseup.net/3/cert": dial tcp: lookup api.black.riseup.net on [::1]:53: read udp [::1]:56553->[::1]:53: read: connection refused doCheck = false; passthru = { inherit bitmask-root; }; passthru = { # bitmask-root is only used on GNU/Linux # and may one day be replaced by pkg/helper bitmask-root = stdenv.mkDerivation { inherit (finalAttrs) src version; sourceRoot = "${finalAttrs.src.name}/helpers"; pname = "bitmask-root"; nativeBuildInputs = [ python3Packages.wrapPython ]; postPatch = '' substituteInPlace bitmask-root \ --replace 'swhich("ip")' '"${iproute2}/bin/ip"' \ --replace 'swhich("iptables")' '"${iptables}/bin/iptables"' \ --replace 'swhich("ip6tables")' '"${iptables}/bin/ip6tables"' \ --replace 'swhich("sysctl")' '"${procps}/bin/sysctl"' \ --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn substituteInPlace se.leap.bitmask.policy \ --replace /usr/sbin/bitmask-root $out/bin/bitmask-root ''; installPhase = '' runHook preInstall install -m 755 -D -t $out/bin bitmask-root install -m 444 -D -t $out/share/polkit-1/actions se.leap.bitmask.policy wrapPythonPrograms runHook postInstall ''; }; }; meta = { description = "Generic VPN client by LEAP"; Loading @@ -188,7 +184,7 @@ buildGoModule rec { a variety of trusted service provider all from one app. Current providers include Riseup Networks and The Calyx Institute, where the former is default. The <literal>${pname}</literal> executable should appear The <literal>${finalAttrs.pname}</literal> executable should appear in your desktop manager's XDG menu or could be launch in a terminal to get an execution log. A new icon should then appear in your systray to control the VPN and configure some options. Loading @@ -199,4 +195,4 @@ buildGoModule rec { # darwin requires apple_sdk >= 10.13 platforms = lib.platforms.linux; }; } }) Loading
pkgs/tools/networking/bitmask-vpn/default.nix +41 −45 Original line number Diff line number Diff line Loading @@ -23,9 +23,10 @@ qtwayland, provider ? "riseup", }: let version = "0.24.8"; buildGoModule (finalAttrs: { pname = "${provider}-vpn"; version = "0.24.8"; src = fetchFromGitLab { domain = "0xacab.org"; owner = "leap"; Loading @@ -34,39 +35,6 @@ let leaveDotGit = true; sha256 = "sha256-XUgCVHnTLZXFU+r0s1yuYryWNBJRgQrFlf3g1iRrLWs="; }; # bitmask-root is only used on GNU/Linux # and may one day be replaced by pkg/helper bitmask-root = stdenv.mkDerivation { inherit src version; sourceRoot = "${src.name}/helpers"; pname = "bitmask-root"; nativeBuildInputs = [ python3Packages.wrapPython ]; postPatch = '' substituteInPlace bitmask-root \ --replace 'swhich("ip")' '"${iproute2}/bin/ip"' \ --replace 'swhich("iptables")' '"${iptables}/bin/iptables"' \ --replace 'swhich("ip6tables")' '"${iptables}/bin/ip6tables"' \ --replace 'swhich("sysctl")' '"${procps}/bin/sysctl"' \ --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn substituteInPlace se.leap.bitmask.policy \ --replace /usr/sbin/bitmask-root $out/bin/bitmask-root ''; installPhase = '' runHook preInstall install -m 755 -D -t $out/bin bitmask-root install -m 444 -D -t $out/share/polkit-1/actions se.leap.bitmask.policy wrapPythonPrograms runHook postInstall ''; }; in buildGoModule rec { inherit src version; pname = "${provider}-vpn"; vendorHash = null; patches = [ Loading @@ -90,7 +58,7 @@ buildGoModule rec { --replace "provider = bitmask" "provider = ${provider}" substituteInPlace branding/templates/debian/app.desktop-template \ --replace "Icon=icon" "Icon=${pname}" --replace "Icon=icon" "Icon=${finalAttrs.pname}" patchShebangs gui/build.sh wrapPythonProgramsIn branding/scripts Loading @@ -100,7 +68,7 @@ buildGoModule rec { --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn substituteInPlace pkg/launcher/launcher_linux.go \ --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn \ --replace /usr/sbin/bitmask-root ${bitmask-root}/bin/bitmask-root \ --replace /usr/sbin/bitmask-root ${finalAttrs.passthru.bitmask-root}/bin/bitmask-root \ --replace /usr/bin/lxpolkit /run/wrappers/bin/polkit-agent-helper-1 \ --replace '"polkit-gnome-authentication-agent-1",' '"polkit-gnome-authentication-agent-1","polkitd",' ''; Loading Loading @@ -162,22 +130,50 @@ buildGoModule rec { ''; postInstall = '' install -m 755 -D -t $out/bin build/qt/release/${pname} install -m 755 -D -t $out/bin build/qt/release/${finalAttrs.pname} VERSION=${version} VENDOR_PATH=providers branding/scripts/generate-debian branding/templates/debian/data.json VERSION=${finalAttrs.version} VENDOR_PATH=providers branding/scripts/generate-debian branding/templates/debian/data.json (cd branding/templates/debian && ${python3Packages.python}/bin/python3 generate.py) install -m 444 -D branding/templates/debian/app.desktop $out/share/applications/${pname}.desktop install -m 444 -D providers/${provider}/assets/icon.svg $out/share/icons/hicolor/scalable/apps/${pname}.svg install -m 444 -D branding/templates/debian/app.desktop $out/share/applications/${finalAttrs.pname}.desktop install -m 444 -D providers/${provider}/assets/icon.svg $out/share/icons/hicolor/scalable/apps/${finalAttrs.pname}.svg '' + lib.optionalString stdenv.hostPlatform.isLinux '' install -m 444 -D -t $out/share/polkit-1/actions ${bitmask-root}/share/polkit-1/actions/se.leap.bitmask.policy install -m 444 -D -t $out/share/polkit-1/actions ${finalAttrs.passthru.bitmask-root}/share/polkit-1/actions/se.leap.bitmask.policy ''; # Some tests need access to the Internet: # Post "https://api.black.riseup.net/3/cert": dial tcp: lookup api.black.riseup.net on [::1]:53: read udp [::1]:56553->[::1]:53: read: connection refused doCheck = false; passthru = { inherit bitmask-root; }; passthru = { # bitmask-root is only used on GNU/Linux # and may one day be replaced by pkg/helper bitmask-root = stdenv.mkDerivation { inherit (finalAttrs) src version; sourceRoot = "${finalAttrs.src.name}/helpers"; pname = "bitmask-root"; nativeBuildInputs = [ python3Packages.wrapPython ]; postPatch = '' substituteInPlace bitmask-root \ --replace 'swhich("ip")' '"${iproute2}/bin/ip"' \ --replace 'swhich("iptables")' '"${iptables}/bin/iptables"' \ --replace 'swhich("ip6tables")' '"${iptables}/bin/ip6tables"' \ --replace 'swhich("sysctl")' '"${procps}/bin/sysctl"' \ --replace /usr/sbin/openvpn ${openvpn}/bin/openvpn substituteInPlace se.leap.bitmask.policy \ --replace /usr/sbin/bitmask-root $out/bin/bitmask-root ''; installPhase = '' runHook preInstall install -m 755 -D -t $out/bin bitmask-root install -m 444 -D -t $out/share/polkit-1/actions se.leap.bitmask.policy wrapPythonPrograms runHook postInstall ''; }; }; meta = { description = "Generic VPN client by LEAP"; Loading @@ -188,7 +184,7 @@ buildGoModule rec { a variety of trusted service provider all from one app. Current providers include Riseup Networks and The Calyx Institute, where the former is default. The <literal>${pname}</literal> executable should appear The <literal>${finalAttrs.pname}</literal> executable should appear in your desktop manager's XDG menu or could be launch in a terminal to get an execution log. A new icon should then appear in your systray to control the VPN and configure some options. Loading @@ -199,4 +195,4 @@ buildGoModule rec { # darwin requires apple_sdk >= 10.13 platforms = lib.platforms.linux; }; } })