Skip to content

Commit

Permalink
openfortivpn: allow config in /etc/openfortivpn
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
peterhoeg committed Sep 18, 2020
1 parent 441a7da commit 371b002
Showing 1 changed file with 29 additions and 15 deletions.
44 changes: 29 additions & 15 deletions pkgs/tools/networking/openfortivpn/default.nix
Original file line number Diff line number Diff line change
@@ -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;
};
}

0 comments on commit 371b002

Please sign in to comment.