diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix b/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix new file mode 100644 index 000000000000..e894572dd78c --- /dev/null +++ b/nixpkgs/pkgs/applications/networking/appgate-sdp/default.nix @@ -0,0 +1,160 @@ +{ alsa-lib +, at-spi2-atk +, at-spi2-core +, atk +, autoPatchelfHook +, cairo +, cups +, curl +, dbus +, dnsmasq +, dpkg +, expat +, fetchurl +, gdk-pixbuf +, glib +, gtk3 +, icu +, iproute2 +, krb5 +, lib +, libdrm +, libsecret +, libuuid +, libxcb +, libxkbcommon +, lttng-ust +, makeWrapper +, mesa +, networkmanager +, nspr +, nss +, openssl +, pango +, procps +, python37 +, python37Packages +, stdenv +, systemd +, xdg-utils +, xorg +, zlib +}: +with lib; +let + deps = [ + alsa-lib + at-spi2-atk + at-spi2-core + atk + cairo + cups + curl + dbus + expat + gdk-pixbuf + glib + gtk3 + icu + krb5 + libdrm + libsecret + libuuid + libxcb + libxkbcommon + lttng-ust + mesa + nspr + nss + openssl + pango + stdenv.cc.cc + systemd + xorg.libX11 + xorg.libXScrnSaver + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrandr + xorg.libXrender + xorg.libXtst + xorg.libxkbfile + xorg.libxshmfence + zlib + ]; +in +stdenv.mkDerivation rec { + pname = "appgate-sdp"; + version = "5.4.2"; + + src = fetchurl { + url = "https://bin.appgate-sdp.com/${versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb"; + sha256 = "sha256-wAhcTRO/Cd4MG1lfPNDq92yGcu3NOfymucddy92VaXo="; + }; + + # just patch interpreter + autoPatchelfIgnoreMissingDeps = true; + dontConfigure = true; + dontBuild = true; + + buildInputs = [ + python37 + python37Packages.dbus-python + ]; + + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + dpkg + ]; + + unpackPhase = '' + dpkg-deb -x $src $out + ''; + + installPhase = '' + cp -r $out/usr/share $out/share + + substituteInPlace $out/lib/systemd/system/appgate-dumb-resolver.service \ + --replace "/opt/" "$out/opt/" + + substituteInPlace $out/lib/systemd/system/appgatedriver.service \ + --replace "/opt/" "$out/opt/" \ + --replace "InaccessiblePaths=/mnt /srv /boot /media" "InaccessiblePaths=-/mnt -/srv -/boot -/media" + + substituteInPlace $out/lib/systemd/system/appgate-resolver.service \ + --replace "/usr/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq" \ + --replace "/opt/" "$out/opt/" + + substituteInPlace $out/opt/appgate/linux/nm.py \ + --replace "/usr/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq" + + substituteInPlace $out/opt/appgate/linux/set_dns \ + --replace "/etc/appgate.conf" "$out/etc/appgate.conf" + + wrapProgram $out/opt/appgate/service/createdump \ + --set LD_LIBRARY_PATH "${makeLibraryPath [ stdenv.cc.cc ]}" + + wrapProgram $out/opt/appgate/appgate-driver \ + --prefix PATH : ${makeBinPath [ iproute2 networkmanager dnsmasq ]} \ + --set LD_LIBRARY_PATH $out/opt/appgate/service + + makeWrapper $out/opt/appgate/Appgate $out/bin/appgate \ + --prefix PATH : ${makeBinPath [ xdg-utils ]} \ + --set LD_LIBRARY_PATH $out/opt/appgate:${makeLibraryPath deps} + + wrapProgram $out/opt/appgate/linux/set_dns --set PYTHONPATH $PYTHONPATH + ''; + + meta = with lib; { + description = "Appgate SDP (Software Defined Perimeter) desktop client"; + homepage = "https://www.appgate.com/support/software-defined-perimeter-support"; + license = licenses.unfree; + platforms = platforms.linux; + maintainers = with maintainers; [ ymatsiuk ]; + }; +} + |