122 lines
2.2 KiB
Nix
122 lines
2.2 KiB
Nix
|
{ lib
|
||
|
, stdenv
|
||
|
, buildFHSEnv
|
||
|
|
||
|
# Required for handling RPM package
|
||
|
, fetchurl
|
||
|
, rpmextract
|
||
|
|
||
|
# Runtime dependencies
|
||
|
, gcc
|
||
|
, openssl
|
||
|
, gtk4
|
||
|
, gtk3
|
||
|
, gtkmm3
|
||
|
, libsoup
|
||
|
, cairomm
|
||
|
, webkitgtk
|
||
|
, libbsd
|
||
|
, libuuid
|
||
|
, glib
|
||
|
, atkmm
|
||
|
, glibmm
|
||
|
, pangomm
|
||
|
, pango
|
||
|
, at-spi2-atk
|
||
|
, cairo
|
||
|
, libsigcxx
|
||
|
, gdk-pixbuf
|
||
|
, procps
|
||
|
, logger
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
pname = "pulse-secure";
|
||
|
version = "22.3r1.0-b18209";
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "Ivanti Pulse-Secure VPN client";
|
||
|
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||
|
license = licenses.unfree;
|
||
|
platforms = [ "x86_64-linux" ];
|
||
|
};
|
||
|
|
||
|
pulse-secure = stdenv.mkDerivation {
|
||
|
inherit pname version meta;
|
||
|
|
||
|
src = fetchurl {
|
||
|
#url = "https://dl.sva.de/pulsesecure/linux/ps-pulse-linux-${version}-64bit-installer.rpm";
|
||
|
url = "https://gml.noaa.gov/aftp/pub/cornwall/VPN%20Client/old/ps-pulse-linux-${version}-64bit-installer.rpm";
|
||
|
hash = "sha256-COKhB7+W1ridXF86O3309b5u1FgxukAfGYMf16Ie4Rs=";
|
||
|
};
|
||
|
|
||
|
unpackPhase = ''
|
||
|
${rpmextract}/bin/rpmextract $src
|
||
|
'';
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
|
||
|
mkdir -p $out
|
||
|
|
||
|
# executables
|
||
|
cp -rv ./opt/pulsesecure/bin $out/bin
|
||
|
|
||
|
# libs
|
||
|
cp -rv ./opt/pulsesecure/lib/dispatch/ $out/lib/
|
||
|
cp -rv ./opt/pulsesecure/lib/JUNS/ $out/lib/
|
||
|
cp -rv ./opt/pulsesecure/lib/dsOpenSSL/ $out/lib/
|
||
|
|
||
|
ls -la $out
|
||
|
ls -la $out/lib
|
||
|
|
||
|
# documentation
|
||
|
cp -rv ./usr/share/man $out/
|
||
|
|
||
|
# Desktop file
|
||
|
mkdir -p $out/share/applications
|
||
|
cp -v ./opt/pulsesecure/resource/pulse.desktop $out/share/applications/
|
||
|
cp -rv ./opt/pulsesecure/resource $out/
|
||
|
|
||
|
# DBUS
|
||
|
mkdir -p $out/share/dbus-1/system.d
|
||
|
cp ./opt/pulsesecure/lib/JUNS/net.psecure.pulse.conf $out/share/dbus-1/system.d/net.psecure.pulse.conf
|
||
|
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
};
|
||
|
in
|
||
|
buildFHSEnv {
|
||
|
inherit meta;
|
||
|
name = pname;
|
||
|
|
||
|
targetPkgs = pkgs: [
|
||
|
pulse-secure
|
||
|
];
|
||
|
|
||
|
multiPkgs = pkgs: [
|
||
|
gcc
|
||
|
openssl
|
||
|
gtk3
|
||
|
gtkmm3
|
||
|
gtk4
|
||
|
libsoup
|
||
|
cairomm
|
||
|
webkitgtk
|
||
|
libbsd
|
||
|
libuuid
|
||
|
glib
|
||
|
atkmm
|
||
|
glibmm
|
||
|
pangomm
|
||
|
pango
|
||
|
at-spi2-atk
|
||
|
cairo
|
||
|
libsigcxx
|
||
|
gdk-pixbuf
|
||
|
];
|
||
|
|
||
|
runScript = "pulseUI";
|
||
|
}
|