-
-
Save dmjio/b5d91fb97b2e0184ed0d2ecfbf01cc94 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ pkgs ? import <nixpkgs> { config.allowUnfree = true; } }: | |
let | |
app = pkgs.stdenv.mkDerivation rec { | |
name = "anyconnect"; | |
src = ./vpn; | |
buildInputs = with pkgs; [ makeWrapper autoPatchelfHook libxml2 webkitgtk libsoup gtk2-x11 networkmanager ]; | |
installPhase = '' | |
ls -lah | |
mkdir -p $out/{bin/plugins,lib,profile,script,help} | |
mkdir -p $out/share/icons/hicolor/{48x48,128x128} | |
mkdir -p $out/share/applications | |
cp *.so* $out/lib | |
cp libvpnipsec.so $out/bin/plugins | |
cp libacfeedback.so $out/bin/plugins | |
ln -s $out/lib/libaccurl.so.4.5.0 $out/lib/libaccurl.so.4 | |
cp vpn* $out/bin | |
cp ac* $out/bin | |
cp cisco* $out/ | |
cp OpenSource.html $out | |
cp -v *.xml $out | |
cp manifesttool_vpn $out/bin | |
cp AnyConnectProfile.xsd $out/profile | |
cp AnyConnectLocalPolicy.xsd $out | |
cp update.txt $out | |
cp license.txt $out | |
cp *.pem $out | |
cp -r resources $out | |
mkdir -p $out/.cisco/certificates/ca | |
cp *.pem $out/.cisco/certificates/ca | |
cp -v $out/resources/vpnui48.png $out/share/icons/hicolor/48x48/apps | |
cp -v $out/resources/vpnui128.png $out/share/icons/hicolor/128x128/apps | |
cp -v cisco-anyconnect.desktop $out/share/applications | |
cp -v cisco-anyconnect.directory $out/share/applications | |
cp -v cisco-anyconnect.menu $out/share/applications | |
${pkgs.patchelf}/bin/patchelf --add-needed ${pkgs.networkmanager}/lib/libnm.so $out/bin/vpnagentd | |
wrapProgram $out/bin/vpnagentd \ | |
--set LD_PRELOAD "${pkgs.libredirect}/lib/libredirect.so" \ | |
--set NIX_REDIRECTS /opt/cisco/anyconnect/=$out/:/opt/.cisco/=$out/.cisco/ | |
wrapProgram $out/bin/vpnui \ | |
--set LD_PRELOAD "${pkgs.libredirect}/lib/libredirect.so" \ | |
--set NIX_REDIRECTS /opt/cisco/anyconnect/=$out/:/opt/.cisco/=$out/.cisco/ | |
''; | |
}; | |
in | |
{ | |
pkg = pkgs.makeDesktopItem | |
{ name = "Cisco AnyConnect Secure Mobility Client"; | |
exec = "${app}/bin/vpnui"; | |
desktopName = "AnyConnect"; | |
genericName = "anyconnect"; | |
categories = "Network"; | |
icon = ./vpn/resources/vpnui128.png; | |
}; | |
inherit app; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment