| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- { stdenv, cmake, pkgconfig, openssl, nspr, nss, zlib, sqlite, zip, debug ? false }:
- rec {
- badvpn = (
- let
- compileFlags = "-O3 ${stdenv.lib.optionalString (!debug) "-DNDEBUG"}";
- in
- stdenv.mkDerivation {
- name = "badvpn";
-
- src = stdenv.lib.cleanSource ./.;
-
- nativeBuildInputs = [ cmake pkgconfig ];
- buildInputs = [ openssl nspr nss ];
-
- NIX_CFLAGS_COMPILE = "-I${nspr.crossDrv.dev}/include/nspr -I${nss.crossDrv.dev}/include/nss -ggdb";
- NIX_CFLAGS_LINK = ["-ggdb"];
-
- preConfigure = ''
- cmakeFlagsArray=( "-DCMAKE_BUILD_TYPE=" "-DCMAKE_C_FLAGS=${compileFlags}" "-DCMAKE_SYSTEM_NAME=Windows" );
- '';
-
- postInstall = ''
- for lib in eay32; do
- cp ${openssl.crossDrv.bin}/bin/lib$lib.dll $out/bin/
- done
- for lib in nspr4 plc4 plds4; do
- cp ${nspr.crossDrv.out}/lib/lib$lib.dll $out/bin/
- done
- for lib in nss3 nssutil3 smime3 ssl3 softokn3 freebl3; do
- cp ${nss.crossDrv.out}/lib/$lib.dll $out/bin/
- done
- cp ${zlib.crossDrv.out}/bin/zlib1.dll $out/bin/
- cp ${sqlite.crossDrv.out}/bin/libsqlite3-0.dll $out/bin/
- _linkDLLs() { true; }
- '';
-
- dontCrossStrip = true;
- }).crossDrv;
-
- badvpnZip = stdenv.mkDerivation {
- name = "badvpn.zip";
- unpackPhase = "true";
- nativeBuildInputs = [ zip ];
- installPhase = ''
- mkdir badvpn-win32
- ln -s ${badvpn}/bin badvpn-win32/bin
- zip -q -r $out badvpn-win32
- '';
- };
- }
|