nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, lib, fetchzip, substituteAll, bash, jre }:
2
3stdenv.mkDerivation rec {
4 pname = "bonnmotion";
5 version = "3.0.1";
6
7 src = fetchzip {
8 url = "https://sys.cs.uos.de/bonnmotion/src/bonnmotion-${version}.zip";
9 sha256 = "16bjgr0hy6an892m5r3x9yq6rqrl11n91f9rambq5ik1cxjqarxw";
10 };
11
12 patches = [
13 # The software has a non-standard install bash script which kind of works.
14 # However, to make it fully functional, the automatically detection of the
15 # program paths must be substituted with full paths.
16 (substituteAll {
17 src = ./install.patch;
18 inherit bash jre;
19 })
20 ];
21
22 installPhase = ''
23 runHook preInstall
24
25 ./install
26
27 mkdir -p $out/bin $out/share/bonnmotion
28 cp -r ./classes ./lib $out/share/bonnmotion/
29 cp ./bin/bm $out/bin/
30
31 substituteInPlace $out/bin/bm \
32 --replace /build/source $out/share/bonnmotion
33
34 runHook postInstall
35 '';
36
37 meta = with lib; {
38 description = "A mobility scenario generation and analysis tool";
39 longDescription = ''
40 BonnMotion is a Java software which creates and analyzes mobility
41 scenarios and is most commonly used as a tool for the investigation of
42 mobile ad hoc network characteristics. The scenarios can also be exported
43 for several network simulators, such as ns-2, ns-3, GloMoSim/QualNet,
44 COOJA, MiXiM, and ONE.
45 '';
46 homepage = "https://sys.cs.uos.de/bonnmotion/";
47 sourceProvenance = with sourceTypes; [
48 fromSource
49 binaryBytecode # source bundles dependency jars
50 ];
51 license = licenses.gpl2Plus;
52 maintainers = with maintainers; [ oxzi ];
53 };
54}