Skip to content

Commit b38c946

Browse files
committed
WIP added 8 new versions of simproctc,rspsim,eclipse_mosaic_allinone -- TODO refresh their requirements!
simproctc: 2.2.1, 2.2.0, 2.1.0 — each with from-release/from-git options, same omnetpp support as 2.0.2 (6.2.*, 6.1.*, 6.0.*) rspsim: 6.3.1, 6.3.0, 6.2.0 — same structure as 6.1.3 including the patch_commands for the ext_socket.h include fix (safe to include even if the upstream has already fixed it) eclipse_mosaic_allinone: 25.2, 25.1 — identical structure to 25.0 with updated version strings and download URLs (eclipse-mosaic-25.1/25.2.tar.gz at the TU Berlin server); same omnetpp 5.5.1 requirement and same patch_commands NOTE: The required_projects for all new entries were copied conservatively from the previous version. The omnetpp compatibility for the newer simproctc and rspsim versions (especially 6.3.* and 6.4.*) has not been tested — those can be added after verification. Same applies to whether the eclipse MOSAIC patch_commands still apply verbatim to 25.1/25.2.\
1 parent f09a15b commit b38c946

1 file changed

Lines changed: 287 additions & 0 deletions

File tree

opp_env/database/external.py

Lines changed: 287 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,108 @@ def get_project_descriptions():
293293
},
294294
},
295295

296+
{
297+
"name": "simproctc", "version": "2.2.1",
298+
"description": "Simulation Processing Tool-Chain",
299+
"metadata": {
300+
"catalog_url": "https://omnetpp.org/download-items/SimProcTC.html",
301+
},
302+
"smoke_test_commands": [
303+
r"""if [ "$BUILD_MODE" = "debug" ]; then BUILD_MODE_SUFFIX="_dbg"; fi""",
304+
r"""cd example-simulation && ./example-simulation$BUILD_MODE_SUFFIX -u Cmdenv --sim-time-limit=100s""",
305+
],
306+
"required_projects": {"omnetpp": ["6.2.*", "6.1.*", "6.0.*"]},
307+
"setenv_commands": [
308+
r"""export OPPMAIN_LIB=$OMNETPP_ROOT/lib""",
309+
r"""echo 'Hint: use the `./example_simulation` command in the example-simulation folder.'""",
310+
],
311+
"build_commands": [r"""cd example-simulation && opp_makemake -f && make -j$NIX_BUILD_CORES MODE=$BUILD_MODE"""],
312+
"clean_commands": [r"""make clean MODE=$BUILD_MODE"""],
313+
"options": {
314+
"from-release": {
315+
"option_description": "Install from release tarball on GitHub",
316+
"option_category": "download",
317+
"option_is_default": True,
318+
"download_url": "https://github.com/dreibh/simproctc/archive/refs/tags/simproctc-2.2.1.tar.gz",
319+
},
320+
"from-git": {
321+
"option_description": "Install from git repo on GitHub",
322+
"option_category": "download",
323+
"option_is_default": False,
324+
"git_url": "https://github.com/dreibh/simproctc.git",
325+
"git_branch": "simproctc-2.2.1",
326+
},
327+
},
328+
},
329+
330+
{
331+
"name": "simproctc", "version": "2.2.0",
332+
"description": "Simulation Processing Tool-Chain",
333+
"metadata": {
334+
"catalog_url": "https://omnetpp.org/download-items/SimProcTC.html",
335+
},
336+
"smoke_test_commands": [
337+
r"""if [ "$BUILD_MODE" = "debug" ]; then BUILD_MODE_SUFFIX="_dbg"; fi""",
338+
r"""cd example-simulation && ./example-simulation$BUILD_MODE_SUFFIX -u Cmdenv --sim-time-limit=100s""",
339+
],
340+
"required_projects": {"omnetpp": ["6.2.*", "6.1.*", "6.0.*"]},
341+
"setenv_commands": [
342+
r"""export OPPMAIN_LIB=$OMNETPP_ROOT/lib""",
343+
r"""echo 'Hint: use the `./example_simulation` command in the example-simulation folder.'""",
344+
],
345+
"build_commands": [r"""cd example-simulation && opp_makemake -f && make -j$NIX_BUILD_CORES MODE=$BUILD_MODE"""],
346+
"clean_commands": [r"""make clean MODE=$BUILD_MODE"""],
347+
"options": {
348+
"from-release": {
349+
"option_description": "Install from release tarball on GitHub",
350+
"option_category": "download",
351+
"option_is_default": True,
352+
"download_url": "https://github.com/dreibh/simproctc/archive/refs/tags/simproctc-2.2.0.tar.gz",
353+
},
354+
"from-git": {
355+
"option_description": "Install from git repo on GitHub",
356+
"option_category": "download",
357+
"option_is_default": False,
358+
"git_url": "https://github.com/dreibh/simproctc.git",
359+
"git_branch": "simproctc-2.2.0",
360+
},
361+
},
362+
},
363+
364+
{
365+
"name": "simproctc", "version": "2.1.0",
366+
"description": "Simulation Processing Tool-Chain",
367+
"metadata": {
368+
"catalog_url": "https://omnetpp.org/download-items/SimProcTC.html",
369+
},
370+
"smoke_test_commands": [
371+
r"""if [ "$BUILD_MODE" = "debug" ]; then BUILD_MODE_SUFFIX="_dbg"; fi""",
372+
r"""cd example-simulation && ./example-simulation$BUILD_MODE_SUFFIX -u Cmdenv --sim-time-limit=100s""",
373+
],
374+
"required_projects": {"omnetpp": ["6.2.*", "6.1.*", "6.0.*"]},
375+
"setenv_commands": [
376+
r"""export OPPMAIN_LIB=$OMNETPP_ROOT/lib""",
377+
r"""echo 'Hint: use the `./example_simulation` command in the example-simulation folder.'""",
378+
],
379+
"build_commands": [r"""cd example-simulation && opp_makemake -f && make -j$NIX_BUILD_CORES MODE=$BUILD_MODE"""],
380+
"clean_commands": [r"""make clean MODE=$BUILD_MODE"""],
381+
"options": {
382+
"from-release": {
383+
"option_description": "Install from release tarball on GitHub",
384+
"option_category": "download",
385+
"option_is_default": True,
386+
"download_url": "https://github.com/dreibh/simproctc/archive/refs/tags/simproctc-2.1.0.tar.gz",
387+
},
388+
"from-git": {
389+
"option_description": "Install from git repo on GitHub",
390+
"option_category": "download",
391+
"option_is_default": False,
392+
"git_url": "https://github.com/dreibh/simproctc.git",
393+
"git_branch": "simproctc-2.1.0",
394+
},
395+
},
396+
},
397+
296398
{
297399
"name": "simproctc", "version": "2.0.2",
298400
"description": "Simulation Processing Tool-Chain",
@@ -514,6 +616,111 @@ def get_project_descriptions():
514616
"clean_commands": [r"""make clean MODE=$BUILD_MODE"""]
515617
},
516618

619+
{
620+
"name": "rspsim", "version": "6.3.1",
621+
"metadata": {
622+
"catalog_url": "https://omnetpp.org/download-items/RSPSIM.html",
623+
},
624+
"description": "Simulation model of the IETF Reliable Server Pooling (RSerPool) architecture",
625+
"smoke_test_commands": [
626+
r"""if [ "$BUILD_MODE" = "debug" ]; then BUILD_MODE_SUFFIX="_dbg"; fi""",
627+
r"""cd model && ./model$BUILD_MODE_SUFFIX test1.ini -u Cmdenv""",
628+
],
629+
"required_projects": {"omnetpp": ["6.2.*", "6.1.*", "6.0.*"]}, # with omnetpp 5.7.*: error: no type named 'cValue' in namespace 'omnetpp'
630+
"patch_commands": [
631+
r"""sed -i -E 's|<ext_socket.h>|\"ext_socket.h\"|' model/poolelementnode-template.h""",
632+
r"""sed -i -E 's|<ext_socket.h>|\"ext_socket.h\"|' model/transportaddressblock.c""",
633+
],
634+
"build_commands": [r"""cd model && opp_makemake -f && make -j$NIX_BUILD_CORES MODE=$BUILD_MODE && cd ../toolchain/tools && make"""],
635+
"setenv_commands": [r"""echo 'Hint: Use `./model` command in the model folder. For example: ./model test1.ini'"""],
636+
"clean_commands": [r"""make clean MODE=$BUILD_MODE"""],
637+
"options": {
638+
"from-release": {
639+
"option_description": "Install from release tarball on GitHub",
640+
"option_category": "download",
641+
"option_is_default": True,
642+
"download_url": "https://github.com/dreibh/rspsim/archive/refs/tags/rspsim-6.3.1.tar.gz",
643+
},
644+
"from-git": {
645+
"option_description": "Install from git repo on GitHub",
646+
"option_category": "download",
647+
"option_is_default": False,
648+
"git_url": "https://github.com/dreibh/rspsim.git",
649+
"git_branch": "rspsim-6.3.1",
650+
},
651+
},
652+
},
653+
654+
{
655+
"name": "rspsim", "version": "6.3.0",
656+
"metadata": {
657+
"catalog_url": "https://omnetpp.org/download-items/RSPSIM.html",
658+
},
659+
"description": "Simulation model of the IETF Reliable Server Pooling (RSerPool) architecture",
660+
"smoke_test_commands": [
661+
r"""if [ "$BUILD_MODE" = "debug" ]; then BUILD_MODE_SUFFIX="_dbg"; fi""",
662+
r"""cd model && ./model$BUILD_MODE_SUFFIX test1.ini -u Cmdenv""",
663+
],
664+
"required_projects": {"omnetpp": ["6.2.*", "6.1.*", "6.0.*"]}, # with omnetpp 5.7.*: error: no type named 'cValue' in namespace 'omnetpp'
665+
"patch_commands": [
666+
r"""sed -i -E 's|<ext_socket.h>|\"ext_socket.h\"|' model/poolelementnode-template.h""",
667+
r"""sed -i -E 's|<ext_socket.h>|\"ext_socket.h\"|' model/transportaddressblock.c""",
668+
],
669+
"build_commands": [r"""cd model && opp_makemake -f && make -j$NIX_BUILD_CORES MODE=$BUILD_MODE && cd ../toolchain/tools && make"""],
670+
"setenv_commands": [r"""echo 'Hint: Use `./model` command in the model folder. For example: ./model test1.ini'"""],
671+
"clean_commands": [r"""make clean MODE=$BUILD_MODE"""],
672+
"options": {
673+
"from-release": {
674+
"option_description": "Install from release tarball on GitHub",
675+
"option_category": "download",
676+
"option_is_default": True,
677+
"download_url": "https://github.com/dreibh/rspsim/archive/refs/tags/rspsim-6.3.0.tar.gz",
678+
},
679+
"from-git": {
680+
"option_description": "Install from git repo on GitHub",
681+
"option_category": "download",
682+
"option_is_default": False,
683+
"git_url": "https://github.com/dreibh/rspsim.git",
684+
"git_branch": "rspsim-6.3.0",
685+
},
686+
},
687+
},
688+
689+
{
690+
"name": "rspsim", "version": "6.2.0",
691+
"metadata": {
692+
"catalog_url": "https://omnetpp.org/download-items/RSPSIM.html",
693+
},
694+
"description": "Simulation model of the IETF Reliable Server Pooling (RSerPool) architecture",
695+
"smoke_test_commands": [
696+
r"""if [ "$BUILD_MODE" = "debug" ]; then BUILD_MODE_SUFFIX="_dbg"; fi""",
697+
r"""cd model && ./model$BUILD_MODE_SUFFIX test1.ini -u Cmdenv""",
698+
],
699+
"required_projects": {"omnetpp": ["6.2.*", "6.1.*", "6.0.*"]}, # with omnetpp 5.7.*: error: no type named 'cValue' in namespace 'omnetpp'
700+
"patch_commands": [
701+
r"""sed -i -E 's|<ext_socket.h>|\"ext_socket.h\"|' model/poolelementnode-template.h""",
702+
r"""sed -i -E 's|<ext_socket.h>|\"ext_socket.h\"|' model/transportaddressblock.c""",
703+
],
704+
"build_commands": [r"""cd model && opp_makemake -f && make -j$NIX_BUILD_CORES MODE=$BUILD_MODE && cd ../toolchain/tools && make"""],
705+
"setenv_commands": [r"""echo 'Hint: Use `./model` command in the model folder. For example: ./model test1.ini'"""],
706+
"clean_commands": [r"""make clean MODE=$BUILD_MODE"""],
707+
"options": {
708+
"from-release": {
709+
"option_description": "Install from release tarball on GitHub",
710+
"option_category": "download",
711+
"option_is_default": True,
712+
"download_url": "https://github.com/dreibh/rspsim/archive/refs/tags/rspsim-6.2.0.tar.gz",
713+
},
714+
"from-git": {
715+
"option_description": "Install from git repo on GitHub",
716+
"option_category": "download",
717+
"option_is_default": False,
718+
"git_url": "https://github.com/dreibh/rspsim.git",
719+
"git_branch": "rspsim-6.2.0",
720+
},
721+
},
722+
},
723+
517724
{
518725
"name": "rspsim", "version": "6.1.3",
519726
"metadata": {
@@ -2715,6 +2922,86 @@ def get_project_descriptions():
27152922
"clean_commands": [r"""make clean MODE=$BUILD_MODE"""],
27162923
},
27172924

2925+
{
2926+
# TODO make the browser visualization work
2927+
# only in debug; this version needs patched INET
2928+
"name": "eclipse_mosaic_allinone", "version": "25.2",
2929+
"required_projects": {"omnetpp": ["5.5.1"]},
2930+
"metadata": {
2931+
"catalog_url": "https://omnetpp.org/download-items/EclipseMosaic.html",
2932+
},
2933+
"description": "Eclipse Mosaic co-simulation framework. This version downloads its own copy of INET, and does not use one installed by opp_env.",
2934+
"nix_packages": ["protobuf", "temurin-bin", "sumo", "unzip", "util-linux", "wget"],
2935+
"smoke_test_commands": [
2936+
r"""if [ "$BUILD_MODE" = "debug" ]; then ./mosaic.sh -s Tiergarten; fi""",
2937+
r"""if [ "$BUILD_MODE" = "release" ]; then echo 'This project is currently only built and tested in debug mode.'; fi""",
2938+
],
2939+
"download_commands": [
2940+
r"""mkdir eclipse_mosaic_allinone-25.2""",
2941+
r"""cd eclipse_mosaic_allinone-25.2""",
2942+
r"""curl -L -o src.tar.gz https://www.dcaiti.tu-berlin.de/research/simulation/download/get/eclipse-mosaic-25.2.tar.gz --progress-bar""",
2943+
r"""tar -xzf src.tar.gz""",
2944+
r"""rm src.tar.gz""",
2945+
],
2946+
"patch_commands": [
2947+
r"""sed -i 's|gcc-debug|clang-debug|g' bin/fed/omnetpp/omnet_installer.sh""",
2948+
r"""sed -i 's|"omnetpp": false|"omnetpp": true|g' scenarios/Tiergarten/scenario_config.json""",
2949+
r"""sed -i 's|ln -s|ln -s -f|g' bin/fed/omnetpp/omnet_installer.sh""",
2950+
],
2951+
"setenv_commands": [
2952+
r"""export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OMNETPP_ROOT/lib""",
2953+
r"""echo 'Hint: use the `./mosaic.sh` command to run a scenario. For example: `./mosaic.sh -s Tiergarten`. Note: the browser visualization (`-v` argument of `mosaic.sh`) might not work in opp_env. To use it, open `tools/web/visualization.html` in a browser.'""",
2954+
],
2955+
"build_commands": [
2956+
r"""if [ "$BUILD_MODE" = "debug" ]; then cd bin/fed/omnetpp; ./omnet_installer.sh -so --installation-type DEVELOPER -j$NIX_BUILD_CORES --quiet; fi""",
2957+
r"""if [ "$BUILD_MODE" = "release" ]; then echo 'This projects is currently only built in debug mode.'; fi""",
2958+
],
2959+
"clean_commands": [
2960+
r"""if [ "$BUILD_MODE" = "debug" ]; then cd bin/fed/omnetpp; rm -rf inet inet_src omnetpp-federate omnetpp_federate_src *.zip *.gz *.tgz; fi""",
2961+
r"""if [ "$BUILD_MODE" = "release" ]; then echo 'This projects is currently only built in debug mode.'; fi""",
2962+
],
2963+
},
2964+
2965+
{
2966+
# TODO make the browser visualization work
2967+
# only in debug; this version needs patched INET
2968+
"name": "eclipse_mosaic_allinone", "version": "25.1",
2969+
"required_projects": {"omnetpp": ["5.5.1"]},
2970+
"metadata": {
2971+
"catalog_url": "https://omnetpp.org/download-items/EclipseMosaic.html",
2972+
},
2973+
"description": "Eclipse Mosaic co-simulation framework. This version downloads its own copy of INET, and does not use one installed by opp_env.",
2974+
"nix_packages": ["protobuf", "temurin-bin", "sumo", "unzip", "util-linux", "wget"],
2975+
"smoke_test_commands": [
2976+
r"""if [ "$BUILD_MODE" = "debug" ]; then ./mosaic.sh -s Tiergarten; fi""",
2977+
r"""if [ "$BUILD_MODE" = "release" ]; then echo 'This project is currently only built and tested in debug mode.'; fi""",
2978+
],
2979+
"download_commands": [
2980+
r"""mkdir eclipse_mosaic_allinone-25.1""",
2981+
r"""cd eclipse_mosaic_allinone-25.1""",
2982+
r"""curl -L -o src.tar.gz https://www.dcaiti.tu-berlin.de/research/simulation/download/get/eclipse-mosaic-25.1.tar.gz --progress-bar""",
2983+
r"""tar -xzf src.tar.gz""",
2984+
r"""rm src.tar.gz""",
2985+
],
2986+
"patch_commands": [
2987+
r"""sed -i 's|gcc-debug|clang-debug|g' bin/fed/omnetpp/omnet_installer.sh""",
2988+
r"""sed -i 's|"omnetpp": false|"omnetpp": true|g' scenarios/Tiergarten/scenario_config.json""",
2989+
r"""sed -i 's|ln -s|ln -s -f|g' bin/fed/omnetpp/omnet_installer.sh""",
2990+
],
2991+
"setenv_commands": [
2992+
r"""export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OMNETPP_ROOT/lib""",
2993+
r"""echo 'Hint: use the `./mosaic.sh` command to run a scenario. For example: `./mosaic.sh -s Tiergarten`. Note: the browser visualization (`-v` argument of `mosaic.sh`) might not work in opp_env. To use it, open `tools/web/visualization.html` in a browser.'""",
2994+
],
2995+
"build_commands": [
2996+
r"""if [ "$BUILD_MODE" = "debug" ]; then cd bin/fed/omnetpp; ./omnet_installer.sh -so --installation-type DEVELOPER -j$NIX_BUILD_CORES --quiet; fi""",
2997+
r"""if [ "$BUILD_MODE" = "release" ]; then echo 'This projects is currently only built in debug mode.'; fi""",
2998+
],
2999+
"clean_commands": [
3000+
r"""if [ "$BUILD_MODE" = "debug" ]; then cd bin/fed/omnetpp; rm -rf inet inet_src omnetpp-federate omnetpp_federate_src *.zip *.gz *.tgz; fi""",
3001+
r"""if [ "$BUILD_MODE" = "release" ]; then echo 'This projects is currently only built in debug mode.'; fi""",
3002+
],
3003+
},
3004+
27183005
{
27193006
# TODO make the browser visualization work
27203007
# only in debug; this version needs patched INET

0 commit comments

Comments
 (0)