diff options
| author | Loic Guegan <manzerberdes@gmx.com> | 2019-05-04 11:52:18 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerberdes@gmx.com> | 2019-05-04 11:52:18 +0200 |
| commit | f9d8e59ebbd697948f718f295bafa492f2d0947c (patch) | |
| tree | 48afa04c008a537476d3b70081385baa83cb952a /ns3-simulations/nix/default.nix | |
| parent | bc6b033b0b622234e9be24b45e25f70ef8f76829 (diff) | |
Simplify nix source code
Diffstat (limited to 'ns3-simulations/nix/default.nix')
| -rw-r--r-- | ns3-simulations/nix/default.nix | 61 |
1 files changed, 57 insertions, 4 deletions
diff --git a/ns3-simulations/nix/default.nix b/ns3-simulations/nix/default.nix index 04134fb..62dea05 100644 --- a/ns3-simulations/nix/default.nix +++ b/ns3-simulations/nix/default.nix @@ -1,5 +1,58 @@ -with (import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/19.03.tar.gz") {}); -rec { - ns3 = callPackage ./ns3 { inherit stdenv; inherit fetchurl; inherit python; inherit gsl; }; - simulator = callPackage ./simulator { inherit stdenv; inherit ns3; }; +{ + pkgs ? (import (fetchTarball "https://github.com/NixOS/nixpkgs/archive/19.03.tar.gz") {}) +}: + +with pkgs; rec { + + ns3 = stdenv.mkDerivation rec { + ##### Configure NIX ##### + name="ns3"; + sourceRoot="ns-allinone-3.29/ns-3.29/"; # Since we have 2 source tarball (ns-3 & ECOFEN) nix need to know which one to use + + ##### Fetch ns-3 And ECOFEN ##### + src = [ + (fetchurl { + url = https://www.nsnam.org/releases/ns-allinone-3.29.tar.bz2; + sha256 = "0m9dpmby116qk1m4x645i1p92syn30yzn9dgxxji5i25g30abpsd"; + }) + + (fetchurl { + url = http://people.irisa.fr/Anne-Cecile.Orgerie/ECOFEN/ecofen-v2.tar.bz2; + sha256 = "1dnmm20ihas6hwwb8qbx8sr3h66nrg8h55x6f2aqpf3xima29dyh"; + }) + ]; + + ##### Configure Dependencies ##### + buildInputs= [ python gsl ]; + + ##### Configure Phases ##### + postUnpack=''mv ecofen-module-v2 ${sourceRoot}/contrib/ecofen''; + configurePhase='' + export CXXFLAGS="-Wall -g -O0" # Don't treat warning as error when compiling ns-3 + python2 waf configure + ''; + buildPhase=''python2 waf''; + installPhase='' + mkdir -p $out/include + cp -r ./build/lib $out/ + cp -r ./build/ns3 $out/include + ''; + }; + + simulator= stdenv.mkDerivation rec { + ##### Configure NIX ##### + name="simulator"; + src=./simulator; + + ##### Export ns3 location ##### + NS3_PATH=ns3; + + ##### Configure Phases ##### + buildPhase=''make''; + installPhase='' + mkdir -p $out/bin + install -D -t $out/bin simulator + ''; + + }; } |
