Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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.
  • 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
@@ -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.