summary refs log tree commit diff
path: root/pkgs/tools/networking/easyrsa/default.nix
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-01-05 21:55:33 +0300
committerNikolay Amiantov <ab@fmap.me>2016-01-10 07:28:55 +0300
commitc2b70e6147320093a0d850c6a5c3d8e3a1b28101 (patch)
treea4d242c09d64ff486696db4e0fa0576ddc486007 /pkgs/tools/networking/easyrsa/default.nix
parentded1a55b8dd42ff08870ca60e0cf45e25209971a (diff)
downloadnixlib-c2b70e6147320093a0d850c6a5c3d8e3a1b28101.tar
nixlib-c2b70e6147320093a0d850c6a5c3d8e3a1b28101.tar.gz
nixlib-c2b70e6147320093a0d850c6a5c3d8e3a1b28101.tar.bz2
nixlib-c2b70e6147320093a0d850c6a5c3d8e3a1b28101.tar.lz
nixlib-c2b70e6147320093a0d850c6a5c3d8e3a1b28101.tar.xz
nixlib-c2b70e6147320093a0d850c6a5c3d8e3a1b28101.tar.zst
nixlib-c2b70e6147320093a0d850c6a5c3d8e3a1b28101.zip
easyrsa: 2.2.0 -> 3.0.0
Diffstat (limited to 'pkgs/tools/networking/easyrsa/default.nix')
-rw-r--r--pkgs/tools/networking/easyrsa/default.nix62
1 files changed, 28 insertions, 34 deletions
diff --git a/pkgs/tools/networking/easyrsa/default.nix b/pkgs/tools/networking/easyrsa/default.nix
index e49c32aac704..2b41f8ca1d3c 100644
--- a/pkgs/tools/networking/easyrsa/default.nix
+++ b/pkgs/tools/networking/easyrsa/default.nix
@@ -1,39 +1,33 @@
-{ stdenv, fetchurl, autoconf, automake111x, makeWrapper
-, gnugrep, openssl}:
-
-stdenv.mkDerivation rec {
-  name = "easyrsa-2.2.0";
-
-  src = fetchurl {
-    url = "https://github.com/OpenVPN/easy-rsa/archive/v2.2.0.tar.gz";
-    sha256 = "1xq4by5frb6ikn53ss3y8v7ss639dccxfq8jfrbk07ynkmk668qk";
+{ stdenv, fetchFromGitHub, openssl }:
+
+let
+  version = "3.0.0";
+in stdenv.mkDerivation rec {
+  name = "easyrsa-${version}";
+
+  src = fetchFromGitHub {
+    owner = "OpenVPN";
+    repo = "easy-rsa";
+    rev = "v${version}";
+    sha256 = "0wbdv3wmqwm5680rpb971l56xiw49adpicqshk3vhfmpvqzl4dbs";
   };
 
-  # Copy missing files and autoreconf
-  preConfigure = ''
-    cp ${automake111x}/share/automake/install-sh .
-    cp ${automake111x}/share/automake/missing .
-
-    autoreconf
-  '';
-
-  preBuild = ''
-    mkdir -p $out/share/easy-rsa
-  '';
-
-  nativeBuildInputs = [ autoconf makeWrapper automake111x ];
-  buildInputs = [ gnugrep openssl];
-
-  # Make sane defaults and patch default config vars
-  postInstall = ''
-    cp $out/share/easy-rsa/openssl-1.0.0.cnf $out/share/easy-rsa/openssl.cnf
-    for prog in $(find "$out/share/easy-rsa" -executable -type f); do
-      makeWrapper "$prog" "$out/bin/$(basename $prog)" \
-        --set EASY_RSA "$out/share/easy-rsa" \
-        --set OPENSSL "${openssl}/bin/openssl" \
-        --set GREP "${gnugrep}/bin/grep"
-    done
-    sed -i "/EASY_RSA=\|OPENSSL=\|GREP=/d" $out/share/easy-rsa/vars
+  patches = [ ./fix-paths.patch ];
+
+  installPhase = ''
+    mkdir -p $out/share/easyrsa
+    cp -r easyrsa3/{openssl*.cnf,x509-types,vars.example} $out/share/easyrsa
+    install -D -m755 easyrsa3/easyrsa $out/bin/easyrsa
+    substituteInPlace $out/bin/easyrsa \
+      --subst-var out \
+      --subst-var-by openssl ${openssl}/bin/openssl
+
+    # Helper utility
+    cat > $out/bin/easyrsa-init <<EOF
+    #!${stdenv.shell} -e
+    cp -r $out/share/easyrsa/* .
+    EOF
+    chmod +x $out/bin/easyrsa-init
   '';
 
   meta = with stdenv.lib; {