Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
168 lines
3.4 KiB
Nix
168 lines
3.4 KiB
Nix
{
|
|
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,
|
|
libgbm,
|
|
networkmanager,
|
|
nspr,
|
|
nss,
|
|
openssl,
|
|
pango,
|
|
python3,
|
|
stdenv,
|
|
systemd,
|
|
xdg-utils,
|
|
xorg,
|
|
zlib,
|
|
}:
|
|
|
|
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
|
|
libgbm
|
|
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 = "6.4.2";
|
|
|
|
src = fetchurl {
|
|
url = "https://bin.appgate-sdp.com/${lib.versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
|
|
sha256 = "sha256-xFpBC6X95C01wUfzJ3a0kMz898k6BItkpJLcUmfd7oY=";
|
|
};
|
|
|
|
# just patch interpreter
|
|
autoPatchelfIgnoreMissingDeps = true;
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
|
|
buildInputs = [
|
|
python3
|
|
python3.pkgs.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 "${lib.makeLibraryPath [ stdenv.cc.cc ]}"
|
|
|
|
wrapProgram $out/opt/appgate/appgate-driver \
|
|
--prefix PATH : ${
|
|
lib.makeBinPath [
|
|
iproute2
|
|
networkmanager
|
|
dnsmasq
|
|
]
|
|
} \
|
|
--set LD_LIBRARY_PATH $out/opt/appgate/service
|
|
|
|
# make xdg-open overrideable at runtime
|
|
makeWrapper $out/opt/appgate/Appgate $out/bin/appgate \
|
|
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
|
|
--set LD_LIBRARY_PATH $out/opt/appgate:${lib.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";
|
|
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
|
license = licenses.unfree;
|
|
platforms = platforms.linux;
|
|
maintainers = with maintainers; [ ymatsiuk ];
|
|
mainProgram = "appgate";
|
|
};
|
|
}
|