From df2f1a85106a52596eaf152dfcd9225bf674dcf2 Mon Sep 17 00:00:00 2001 From: Yongun Seong Date: Thu, 18 Jan 2024 22:41:04 +0900 Subject: openvpn: cleanup unnecessary generic function --- pkgs/tools/networking/openvpn/default.nix | 103 ++++++++++++------------------ pkgs/top-level/all-packages.nix | 3 +- 2 files changed, 41 insertions(+), 65 deletions(-) diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix index 1a83209aefd4b..46fa0be29c701 100644 --- a/pkgs/tools/networking/openvpn/default.nix +++ b/pkgs/tools/networking/openvpn/default.nix @@ -2,7 +2,6 @@ , stdenv , fetchurl , pkg-config -, iproute2 , libcap_ng , libnl , lz4 @@ -18,73 +17,51 @@ }: let - inherit (lib) versionOlder optional optionals optionalString; - - generic = { version, sha256, extraBuildInputs ? [ ] }: - let - withIpRoute = stdenv.isLinux && (versionOlder version "2.5.4"); - in - stdenv.mkDerivation - rec { - pname = "openvpn"; - inherit version; + inherit (lib) optional optionals optionalString; +in +stdenv.mkDerivation (finalAttrs: { + pname = "openvpn"; + version = "2.6.8"; - src = fetchurl { - url = "https://swupdate.openvpn.net/community/releases/${pname}-${version}.tar.gz"; - inherit sha256; - }; + src = fetchurl { + url = "https://swupdate.openvpn.net/community/releases/openvpn-${finalAttrs.version}.tar.gz"; + hash = "sha256-Xt4VZcim2IAQD38jUxen7p7qg9UFLbVUfxOp52r3gF0="; + }; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ pkg-config ]; - buildInputs = [ lz4 lzo ] - ++ optionals stdenv.isLinux [ libcap_ng libnl pam ] - ++ optional withIpRoute iproute2 - ++ optional useSystemd systemd - ++ optional pkcs11Support pkcs11helper - ++ extraBuildInputs; + buildInputs = [ lz4 lzo openssl ] + ++ optionals stdenv.isLinux [ libcap_ng libnl pam ] + ++ optional useSystemd systemd + ++ optional pkcs11Support pkcs11helper; - configureFlags = optionals withIpRoute [ - "--enable-iproute2" - "IPROUTE=${iproute2}/sbin/ip" - ] - ++ optional useSystemd "--enable-systemd" - ++ optional pkcs11Support "--enable-pkcs11" - ++ optional stdenv.isDarwin "--disable-plugin-auth-pam"; + configureFlags = optional useSystemd "--enable-systemd" + ++ optional pkcs11Support "--enable-pkcs11" + ++ optional stdenv.isDarwin "--disable-plugin-auth-pam"; - # We used to vendor the update-systemd-resolved script inside libexec, - # but a separate package was made, that uses libexec/openvpn. Copy it - # into libexec in case any consumers expect it to be there even though - # they should use the update-systemd-resolved package instead. - postInstall = '' - mkdir -p $out/share/doc/openvpn/examples - cp -r sample/sample-{config-files,keys,scripts}/ $out/share/doc/openvpn/examples - '' + optionalString useSystemd '' - install -Dm555 -t $out/libexec ${update-systemd-resolved}/libexec/openvpn/* - ''; + # We used to vendor the update-systemd-resolved script inside libexec, + # but a separate package was made, that uses libexec/openvpn. Copy it + # into libexec in case any consumers expect it to be there even though + # they should use the update-systemd-resolved package instead. + postInstall = '' + mkdir -p $out/share/doc/openvpn/examples + cp -r sample/sample-{config-files,keys,scripts}/ $out/share/doc/openvpn/examples + '' + optionalString useSystemd '' + install -Dm555 -t $out/libexec ${update-systemd-resolved}/libexec/openvpn/* + ''; - enableParallelBuilding = true; + enableParallelBuilding = true; - meta = with lib; { - description = "A robust and highly flexible tunneling application"; - mainProgram = "openvpn"; - downloadPage = "https://openvpn.net/community-downloads/"; - homepage = "https://openvpn.net/"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ viric peterhoeg ]; - platforms = platforms.unix; - }; - }; + passthru.tests = { + inherit (nixosTests) initrd-network-openvpn systemd-initrd-networkd-openvpn; + }; -in -{ - openvpn = (generic { - version = "2.6.8"; - sha256 = "sha256-Xt4VZcim2IAQD38jUxen7p7qg9UFLbVUfxOp52r3gF0="; - extraBuildInputs = [ openssl ]; - }).overrideAttrs - (_: { - passthru.tests = { - inherit (nixosTests) initrd-network-openvpn systemd-initrd-networkd-openvpn; - }; - }); -} + meta = with lib; { + description = "A robust and highly flexible tunneling application"; + downloadPage = "https://openvpn.net/community-downloads/"; + homepage = "https://openvpn.net/"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ viric peterhoeg ]; + platforms = platforms.unix; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ef6243e254c3a..27b3805f6344c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11672,8 +11672,7 @@ with pkgs; opentsdb = callPackage ../tools/misc/opentsdb { }; - inherit (callPackages ../tools/networking/openvpn {}) - openvpn; + openvpn = callPackage ../tools/networking/openvpn {}; openvpn3 = callPackage ../tools/networking/openvpn3 { }; -- cgit 1.4.1