diff options
author | Peter Hoeg <peter@hoeg.com> | 2020-09-09 11:41:19 +0800 |
---|---|---|
committer | Peter Hoeg <peter@hoeg.com> | 2020-10-05 14:48:10 +0800 |
commit | b55e4b764dbee941538aec1a5e33cc5fbf8b9be6 (patch) | |
tree | 4fdc8620dc9505a45039d35c7061caf4fc177e26 /pkgs/tools/networking/openfortivpn | |
parent | f4e6fecebcaa11bbcd2bcdb68d8c35b94a7e02a0 (diff) |
openfortivpn: allow config in /etc/openfortivpn
openfortivpn would look in the nix store for config files, which obviously doesn't work, so make it go to /etc/openfortivpn instead so we *can* configure it system-wide. Also add systemd units on Linux.
Diffstat (limited to 'pkgs/tools/networking/openfortivpn')
-rw-r--r-- | pkgs/tools/networking/openfortivpn/default.nix | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/pkgs/tools/networking/openfortivpn/default.nix b/pkgs/tools/networking/openfortivpn/default.nix index 40fc9e9066253..0a1680bfdb569 100644 --- a/pkgs/tools/networking/openfortivpn/default.nix +++ b/pkgs/tools/networking/openfortivpn/default.nix @@ -1,34 +1,48 @@ -{ stdenv, fetchFromGitHub, autoreconfHook, openssl, ppp, pkgconfig }: +{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig +, openssl, ppp +, systemd ? null }: -with stdenv.lib; +let + withSystemd = stdenv.isLinux && !(systemd == null); -let repo = "openfortivpn"; - version = "1.14.1"; - -in stdenv.mkDerivation { - name = "${repo}-${version}"; +in +stdenv.mkDerivation rec { + pname = "openfortivpn"; + version = "1.14.1"; src = fetchFromGitHub { owner = "adrienverge"; - inherit repo; + repo = pname; rev = "v${version}"; sha256 = "1r9lp19fmqx9dw33j5967ydijbnacmr80mqnhbbxyqiw4k5c10ds"; }; + # we cannot write the config file to /etc and as we don't need the file, so drop it + postPatch = '' + substituteInPlace Makefile.am \ + --replace '$(DESTDIR)$(confdir)' /tmp + ''; + nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ openssl ppp ]; - NIX_CFLAGS_COMPILE = "-Wno-error=unused-function"; + buildInputs = [ + openssl ppp + ] + ++ lib.optional withSystemd systemd; - configureFlags = [ "--with-pppd=${ppp}/bin/pppd" ]; + configureFlags = [ + "--sysconfdir=/etc" + "--with-pppd=${ppp}/bin/pppd" + ] + ++ lib.optional withSystemd "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"; enableParallelBuilding = true; - meta = { + meta = with stdenv.lib; { description = "Client for PPP+SSL VPN tunnel services"; homepage = "https://github.com/adrienverge/openfortivpn"; - license = stdenv.lib.licenses.gpl3; - maintainers = [ stdenv.lib.maintainers.madjar ]; - platforms = with stdenv.lib.platforms; linux ++ darwin; + license = licenses.gpl3; + maintainers = with maintainers; [ madjar ]; + platforms = with platforms; linux ++ darwin; }; } |