Date: Sun, 5 Aug 2018 02:26:26 +0000 (UTC) From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r476385 - in head/misc: . ompl ompl/files Message-ID: <201808050226.w752QQFQ090108@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: yuri Date: Sun Aug 5 02:26:26 2018 New Revision: 476385 URL: https://svnweb.freebsd.org/changeset/ports/476385 Log: New port: misc/ompl: Open Motion Planning Library Added: head/misc/ompl/ head/misc/ompl/Makefile (contents, props changed) head/misc/ompl/distinfo (contents, props changed) head/misc/ompl/files/ head/misc/ompl/files/patch-CMakeLists.txt (contents, props changed) head/misc/ompl/files/patch-CMakeModules_CompilerSettings.cmake (contents, props changed) head/misc/ompl/files/patch-src_ompl_tools_benchmark_src_MachineSpecs.cpp (contents, props changed) head/misc/ompl/pkg-descr (contents, props changed) head/misc/ompl/pkg-plist (contents, props changed) Modified: head/misc/Makefile Modified: head/misc/Makefile ============================================================================== --- head/misc/Makefile Sun Aug 5 01:23:35 2018 (r476384) +++ head/misc/Makefile Sun Aug 5 02:26:26 2018 (r476385) @@ -301,6 +301,7 @@ SUBDIR += nsf SUBDIR += numchar SUBDIR += nut + SUBDIR += ompl SUBDIR += ondir SUBDIR += opencyc SUBDIR += openhab2 Added: head/misc/ompl/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/misc/ompl/Makefile Sun Aug 5 02:26:26 2018 (r476385) @@ -0,0 +1,62 @@ +# $FreeBSD$ + +PORTNAME= ompl +DISTVERSION= 1.4.0 +DISTVERSIONSUFFIX= -Source +CATEGORIES= misc comms +MASTER_SITES= http://cdn.bitbucket.org/${PORTNAME}/${PORTNAME}/downloads/ + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Open Motion Planning Library + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +LIB_DEPENDS= libboost_system.so:devel/boost-libs + +USES= cmake:outsource eigen:3 pkgconfig zip +USE_LDCONFIG= yes + +CMAKE_OFF= OMPL_REGISTRATION OMPL_BUILD_TESTS OMPL_BUILD_DEMOS + +OPTIONS_DEFINE= FLANN MORSE OPENDE SPOT TRIANGLE PLANNERARENA +OPTIONS_DEFAULT= FLANN MORSE OPENDE TRIANGLE +OPTIONS_SUB= yes + +FLANN_DESC= Use FLANN for nearest neighbor queries +FLANN_LIB_DEPENDS= libflann.so:math/flann + +MORSE_DESC= Include a plugin for the MORSE Robot Simulation engine +MORSE_BUILD_DEPENDS= morse-robotics>0:misc/morse +MORSE_RUN_DEPENDS= morse-robotics>0:misc/morse + +OPENDE_DESC= Use Open Dynamics Engine for kinodynamic planning +OPENDE_LIB_DEPENDS= libode.so:devel/ode + +SPOT_DESC= Use 'Spot' for creating finite automata from LTL formulae +SPOT_BROKEN= https://bitbucket.org/ompl/ompl/issues/442 +SPOT_USES= compiler:c++14-lang +SPOT_LIB_DEPENDS= libspot.so:math/spot + +TRIANGLE_DESC= Create triangular decompositions of 2D polygons +TRIANGLE_LIB_DEPENDS= libtriangle.so:math/triangle + +PLANNERARENA_DESC= Install plannerarena (depends on R) +PLANNERARENA_BUILD_DEPENDS= Rscript:math/R +PLANNERARENA_RUN_DEPENDS= Rscript:math/R + +.for o in ${OPTIONS_DEFINE:NPLANNERARENA} +post-patch-${o}-off: + @${REINPLACE_CMD} 's|find_package(${o}|#&|i' ${WRKSRC}/CMakeLists.txt +.endfor + +post-patch-PLANNERARENA-off: + @${REINPLACE_CMD} 's|find_program(R_EXEC|#&|' ${WRKSRC}/CMakeLists.txt + +post-patch-SPOT-on: + @${REINPLACE_CMD} 's|-std=c++11|-std=c++14|' ${WRKSRC}/CMakeModules/CompilerSettings.cmake + +post-configure: + @${REINPLACE_CMD} 's|/usr/bin/morse|${LOCALBASE}/bin/morse|' ${BUILD_WRKSRC}/CMakeCache.txt + +.include <bsd.port.mk> Added: head/misc/ompl/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/misc/ompl/distinfo Sun Aug 5 02:26:26 2018 (r476385) @@ -0,0 +1,3 @@ +TIMESTAMP = 1533406416 +SHA256 (ompl-1.4.0-Source.zip) = 3bf745d355bda9c592bd7350ed90759c4994a1a8b025a35994077be29156b0bd +SIZE (ompl-1.4.0-Source.zip) = 23591238 Added: head/misc/ompl/files/patch-CMakeLists.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/misc/ompl/files/patch-CMakeLists.txt Sun Aug 5 02:26:26 2018 (r476385) @@ -0,0 +1,37 @@ +--- CMakeLists.txt.orig 2018-06-24 21:58:25 UTC ++++ CMakeLists.txt +@@ -97,8 +97,8 @@ enable_testing() + set_package_properties(Python PROPERTIES + URL "http://python.org" + PURPOSE "Used for python bindings.") +-find_package(Python QUIET) +-find_boost_python() ++#find_package(Python QUIET) ++#find_boost_python() + + if(PYTHON_FOUND) + set_package_properties(pypy PROPERTIES +@@ -151,7 +151,7 @@ endif() + set_package_properties(spot PROPERTIES + URL "http://spot.lrde.epita.fr" + PURPOSE "Used for constructing finite automata from LTL formulae.") +-find_package(spot) ++#find_package(spot) + if (SPOT_FOUND) + set(OMPL_HAVE_SPOT 1) + include_directories("${SPOT_INCLUDE_DIRS}") +@@ -171,12 +171,12 @@ if(PYTHON_FOUND AND NOT Boost_VERSION VE + endif() + + # R is needed for running Planner Arena locally +-find_program(R_EXEC R) ++#find_program(R_EXEC R) + + add_subdirectory(py-bindings) + add_subdirectory(src) + add_subdirectory(tests) +-add_subdirectory(demos) ++#add_subdirectory(demos) + add_subdirectory(scripts) + add_subdirectory(doc) + Added: head/misc/ompl/files/patch-CMakeModules_CompilerSettings.cmake ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/misc/ompl/files/patch-CMakeModules_CompilerSettings.cmake Sun Aug 5 02:26:26 2018 (r476385) @@ -0,0 +1,26 @@ +--- CMakeModules/CompilerSettings.cmake.orig 2018-08-04 19:52:03 UTC ++++ CMakeModules/CompilerSettings.cmake +@@ -21,12 +21,12 @@ if(CMAKE_COMPILER_IS_GNUCXX) + -Wno-noexcept-type + -Wno-deprecated-declarations) + # prepend optimizion flag (in case the default setting doesn't include one) +- set(CMAKE_CXX_FLAGS_RELEASE "-O3 ${CMAKE_CXX_FLAGS_RELEASE}") ++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + endif(CMAKE_COMPILER_IS_GNUCXX) + if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + add_definitions(-W -Wall -Wextra -Wno-missing-field-initializers -Wno-unused -Wno-unused-parameter -Wno-delete-non-virtual-dtor -Wno-overloaded-virtual -Wno-unknown-pragmas -Qunused-arguments -Wno-deprecated-register -Wno-mismatched-tags -Wno-deprecated-declarations) + # prepend optimizion flag (in case the default setting doesn't include one) +- set(CMAKE_CXX_FLAGS_RELEASE "-O3 ${CMAKE_CXX_FLAGS_RELEASE}") ++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") + endif() + + if(MSVC OR MSVC90 OR MSVC10) +@@ -42,7 +42,7 @@ if(IS_ICPC) + add_definitions(-wd191 -wd411 -wd654 -wd1125 -wd1292 -wd1565 -wd1628 -wd2196) + set(CMAKE_AR "xiar" CACHE STRING "Intel archiver" FORCE) + set(CMAKE_CXX_FLAGS "-pthread" CACHE STRING "Default compile flags" FORCE) +- set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" ++ set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG" + CACHE STRING "Flags used by the C++ compiler during release builds." FORCE) + set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g" CACHE STRING + "Flags used by the C++ compiler during debug builds." FORCE) Added: head/misc/ompl/files/patch-src_ompl_tools_benchmark_src_MachineSpecs.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/misc/ompl/files/patch-src_ompl_tools_benchmark_src_MachineSpecs.cpp Sun Aug 5 02:26:26 2018 (r476385) @@ -0,0 +1,10 @@ +--- src/ompl/tools/benchmark/src/MachineSpecs.cpp.orig 2018-08-04 18:25:01 UTC ++++ src/ompl/tools/benchmark/src/MachineSpecs.cpp +@@ -37,6 +37,7 @@ + #include "ompl/tools/benchmark/MachineSpecs.h" + #include "ompl/util/Console.h" + #include <sstream> ++#include <unistd.h> + + /// @cond IGNORE + Added: head/misc/ompl/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/misc/ompl/pkg-descr Sun Aug 5 02:26:26 2018 (r476385) @@ -0,0 +1,12 @@ +The open motion planning library (OMPL) is a new library for sampling-based +motion planning, which contains implementations of many state-of-the-art +planning algorithms. The library is designed in a way that it allows the user +to easily solve a variety of complex motion planning problems with minimal +input. OMPL facilitates the addition of new motion planning algorithms, and it +can be conveniently interfaced with other software components. A simple +graphical user interface (GUI) built on top of the library, a number of +tutorials, demos, and programming assignments are designed to teach students +about sampling-based motion planning. The library is also available for use +through Robot Operating System (ROS). + +WWW: https://bitbucket.org/ompl/ompl/src/default/ Added: head/misc/ompl/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/misc/ompl/pkg-plist Sun Aug 5 02:26:26 2018 (r476385) @@ -0,0 +1,237 @@ +%%PLANNERARENA%%bin/plannerarena +include/ompl/base/ConstrainedSpaceInformation.h +include/ompl/base/Constraint.h +include/ompl/base/Cost.h +include/ompl/base/DiscreteMotionValidator.h +include/ompl/base/GenericParam.h +include/ompl/base/Goal.h +include/ompl/base/GoalTypes.h +include/ompl/base/MotionValidator.h +include/ompl/base/OptimizationObjective.h +include/ompl/base/Path.h +include/ompl/base/Planner.h +include/ompl/base/PlannerData.h +include/ompl/base/PlannerDataGraph.h +include/ompl/base/PlannerDataStorage.h +include/ompl/base/PlannerStatus.h +include/ompl/base/PlannerTerminationCondition.h +include/ompl/base/PrecomputedStateSampler.h +include/ompl/base/ProblemDefinition.h +include/ompl/base/ProjectionEvaluator.h +include/ompl/base/ScopedState.h +include/ompl/base/SolutionNonExistenceProof.h +include/ompl/base/SpaceInformation.h +include/ompl/base/State.h +include/ompl/base/StateSampler.h +include/ompl/base/StateSamplerArray.h +include/ompl/base/StateSpace.h +include/ompl/base/StateSpaceTypes.h +include/ompl/base/StateStorage.h +include/ompl/base/StateValidityChecker.h +include/ompl/base/TypedSpaceInformation.h +include/ompl/base/TypedStateValidityChecker.h +include/ompl/base/ValidStateSampler.h +include/ompl/base/goals/GoalLazySamples.h +include/ompl/base/goals/GoalRegion.h +include/ompl/base/goals/GoalSampleableRegion.h +include/ompl/base/goals/GoalState.h +include/ompl/base/goals/GoalStates.h +include/ompl/base/objectives/MaximizeMinClearanceObjective.h +include/ompl/base/objectives/MechanicalWorkOptimizationObjective.h +include/ompl/base/objectives/MinimaxObjective.h +include/ompl/base/objectives/PathLengthOptimizationObjective.h +include/ompl/base/objectives/StateCostIntegralObjective.h +include/ompl/base/objectives/VFMechanicalWorkOptimizationObjective.h +include/ompl/base/objectives/VFUpstreamCriterionOptimizationObjective.h +include/ompl/base/samplers/BridgeTestValidStateSampler.h +include/ompl/base/samplers/GaussianValidStateSampler.h +include/ompl/base/samplers/InformedStateSampler.h +include/ompl/base/samplers/MaximizeClearanceValidStateSampler.h +include/ompl/base/samplers/MinimumClearanceValidStateSampler.h +include/ompl/base/samplers/ObstacleBasedValidStateSampler.h +include/ompl/base/samplers/UniformValidStateSampler.h +include/ompl/base/samplers/informed/OrderedInfSampler.h +include/ompl/base/samplers/informed/PathLengthDirectInfSampler.h +include/ompl/base/samplers/informed/RejectionInfSampler.h +include/ompl/base/spaces/DiscreteStateSpace.h +include/ompl/base/spaces/DubinsStateSpace.h +include/ompl/base/spaces/RealVectorBounds.h +include/ompl/base/spaces/RealVectorStateProjections.h +include/ompl/base/spaces/RealVectorStateSpace.h +include/ompl/base/spaces/ReedsSheppStateSpace.h +include/ompl/base/spaces/SE2StateSpace.h +include/ompl/base/spaces/SE3StateSpace.h +include/ompl/base/spaces/SO2StateSpace.h +include/ompl/base/spaces/SO3StateSpace.h +include/ompl/base/spaces/TimeStateSpace.h +include/ompl/base/spaces/WrapperStateSpace.h +include/ompl/base/spaces/constraint/AtlasChart.h +include/ompl/base/spaces/constraint/AtlasStateSpace.h +include/ompl/base/spaces/constraint/ConstrainedStateSpace.h +include/ompl/base/spaces/constraint/ProjectedStateSpace.h +include/ompl/base/spaces/constraint/TangentBundleStateSpace.h +include/ompl/config.h +include/ompl/control/Control.h +include/ompl/control/ControlSampler.h +include/ompl/control/ControlSpace.h +include/ompl/control/ControlSpaceTypes.h +include/ompl/control/DirectedControlSampler.h +include/ompl/control/ODESolver.h +include/ompl/control/PathControl.h +include/ompl/control/PlannerData.h +include/ompl/control/PlannerDataStorage.h +include/ompl/control/SimpleDirectedControlSampler.h +include/ompl/control/SimpleSetup.h +include/ompl/control/SpaceInformation.h +include/ompl/control/StatePropagator.h +include/ompl/control/SteeredControlSampler.h +include/ompl/control/planners/PlannerIncludes.h +include/ompl/control/planners/est/EST.h +include/ompl/control/planners/kpiece/KPIECE1.h +include/ompl/control/planners/ltl/Automaton.h +include/ompl/control/planners/ltl/LTLPlanner.h +include/ompl/control/planners/ltl/LTLProblemDefinition.h +include/ompl/control/planners/ltl/LTLSpaceInformation.h +include/ompl/control/planners/ltl/ProductGraph.h +include/ompl/control/planners/ltl/PropositionalDecomposition.h +include/ompl/control/planners/ltl/World.h +include/ompl/control/planners/pdst/PDST.h +include/ompl/control/planners/rrt/RRT.h +include/ompl/control/planners/sst/SST.h +include/ompl/control/planners/syclop/Decomposition.h +include/ompl/control/planners/syclop/GridDecomposition.h +include/ompl/control/planners/syclop/Syclop.h +include/ompl/control/planners/syclop/SyclopEST.h +include/ompl/control/planners/syclop/SyclopRRT.h +include/ompl/control/spaces/DiscreteControlSpace.h +include/ompl/control/spaces/RealVectorControlSpace.h +include/ompl/datastructures/BinaryHeap.h +include/ompl/datastructures/DynamicSSSP.h +include/ompl/datastructures/GreedyKCenters.h +include/ompl/datastructures/Grid.h +include/ompl/datastructures/GridB.h +include/ompl/datastructures/GridN.h +include/ompl/datastructures/LPAstarOnGraph.h +include/ompl/datastructures/NearestNeighbors.h +include/ompl/datastructures/NearestNeighborsFLANN.h +include/ompl/datastructures/NearestNeighborsGNAT.h +include/ompl/datastructures/NearestNeighborsGNATNoThreadSafety.h +include/ompl/datastructures/NearestNeighborsLinear.h +include/ompl/datastructures/NearestNeighborsSqrtApprox.h +include/ompl/datastructures/PDF.h +include/ompl/datastructures/Permutation.h +include/ompl/extensions/morse/MorseControlSpace.h +include/ompl/extensions/morse/MorseEnvironment.h +include/ompl/extensions/morse/MorseGoal.h +include/ompl/extensions/morse/MorseProjection.h +include/ompl/extensions/morse/MorseSimpleSetup.h +include/ompl/extensions/morse/MorseStatePropagator.h +include/ompl/extensions/morse/MorseStateSpace.h +include/ompl/extensions/morse/MorseStateValidityChecker.h +include/ompl/extensions/morse/MorseTerminationCondition.h +include/ompl/extensions/opende/OpenDEControlSpace.h +include/ompl/extensions/opende/OpenDEEnvironment.h +include/ompl/extensions/opende/OpenDESimpleSetup.h +include/ompl/extensions/opende/OpenDEStatePropagator.h +include/ompl/extensions/opende/OpenDEStateSpace.h +include/ompl/extensions/opende/OpenDEStateValidityChecker.h +include/ompl/extensions/triangle/PropositionalTriangularDecomposition.h +include/ompl/extensions/triangle/TriangularDecomposition.h +include/ompl/geometric/GeneticSearch.h +include/ompl/geometric/HillClimbing.h +include/ompl/geometric/PathGeometric.h +include/ompl/geometric/PathHybridization.h +include/ompl/geometric/PathSimplifier.h +include/ompl/geometric/SimpleSetup.h +include/ompl/geometric/planners/AnytimePathShortening.h +include/ompl/geometric/planners/PlannerIncludes.h +include/ompl/geometric/planners/bitstar/BITstar.h +include/ompl/geometric/planners/bitstar/datastructures/CostHelper.h +include/ompl/geometric/planners/bitstar/datastructures/HelperFunctions.h +include/ompl/geometric/planners/bitstar/datastructures/IdGenerator.h +include/ompl/geometric/planners/bitstar/datastructures/ImplicitGraph.h +include/ompl/geometric/planners/bitstar/datastructures/SearchQueue.h +include/ompl/geometric/planners/bitstar/datastructures/Vertex.h +include/ompl/geometric/planners/cforest/CForest.h +include/ompl/geometric/planners/cforest/CForestStateSampler.h +include/ompl/geometric/planners/cforest/CForestStateSpaceWrapper.h +include/ompl/geometric/planners/est/BiEST.h +include/ompl/geometric/planners/est/EST.h +include/ompl/geometric/planners/est/ProjEST.h +include/ompl/geometric/planners/experience/LightningRetrieveRepair.h +include/ompl/geometric/planners/experience/ThunderRetrieveRepair.h +include/ompl/geometric/planners/fmt/BFMT.h +include/ompl/geometric/planners/fmt/FMT.h +include/ompl/geometric/planners/kpiece/BKPIECE1.h +include/ompl/geometric/planners/kpiece/Discretization.h +include/ompl/geometric/planners/kpiece/KPIECE1.h +include/ompl/geometric/planners/kpiece/LBKPIECE1.h +include/ompl/geometric/planners/pdst/PDST.h +include/ompl/geometric/planners/prm/ConnectionStrategy.h +include/ompl/geometric/planners/prm/LazyPRM.h +include/ompl/geometric/planners/prm/LazyPRMstar.h +include/ompl/geometric/planners/prm/PRM.h +include/ompl/geometric/planners/prm/PRMstar.h +include/ompl/geometric/planners/prm/SPARS.h +include/ompl/geometric/planners/prm/SPARStwo.h +include/ompl/geometric/planners/rrt/BiTRRT.h +include/ompl/geometric/planners/rrt/InformedRRTstar.h +include/ompl/geometric/planners/rrt/LBTRRT.h +include/ompl/geometric/planners/rrt/LazyLBTRRT.h +include/ompl/geometric/planners/rrt/LazyRRT.h +include/ompl/geometric/planners/rrt/RRT.h +include/ompl/geometric/planners/rrt/RRTConnect.h +include/ompl/geometric/planners/rrt/RRTXstatic.h +include/ompl/geometric/planners/rrt/RRTsharp.h +include/ompl/geometric/planners/rrt/RRTstar.h +include/ompl/geometric/planners/rrt/SORRTstar.h +include/ompl/geometric/planners/rrt/TRRT.h +include/ompl/geometric/planners/rrt/VFRRT.h +include/ompl/geometric/planners/rrt/pRRT.h +include/ompl/geometric/planners/sbl/SBL.h +include/ompl/geometric/planners/sbl/pSBL.h +include/ompl/geometric/planners/sst/SST.h +include/ompl/geometric/planners/stride/STRIDE.h +include/ompl/tools/benchmark/Benchmark.h +include/ompl/tools/benchmark/MachineSpecs.h +include/ompl/tools/config/MagicConstants.h +include/ompl/tools/config/SelfConfig.h +include/ompl/tools/debug/PlannerMonitor.h +include/ompl/tools/debug/Profiler.h +include/ompl/tools/experience/ExperienceSetup.h +include/ompl/tools/lightning/DynamicTimeWarp.h +include/ompl/tools/lightning/Lightning.h +include/ompl/tools/lightning/LightningDB.h +include/ompl/tools/multiplan/OptimizePlan.h +include/ompl/tools/multiplan/ParallelPlan.h +include/ompl/tools/thunder/SPARSdb.h +include/ompl/tools/thunder/Thunder.h +include/ompl/tools/thunder/ThunderDB.h +include/ompl/util/ClassForward.h +include/ompl/util/Console.h +include/ompl/util/Deprecation.h +include/ompl/util/DisableCompilerWarning.h +include/ompl/util/Exception.h +include/ompl/util/GeometricEquations.h +include/ompl/util/Hash.h +include/ompl/util/PPM.h +include/ompl/util/ProlateHyperspheroid.h +include/ompl/util/RandomNumbers.h +include/ompl/util/Time.h +lib/libompl.so +lib/libompl.so.1.4.0 +lib/libompl.so.15 +libdata/pkgconfig/ompl.pc +man/man1/ompl_benchmark_statistics.1.gz +%%PLANNERARENA%%man/man1/plannerarena.1.gz +%%DATADIR%%/cmake/omplConfig.cmake +%%DATADIR%%/cmake/omplConfigVersion.cmake +%%DATADIR%%/ompl.conf +%%PLANNERARENA%%%%DATADIR%%/plannerarena/global.R +%%PLANNERARENA%%%%DATADIR%%/plannerarena/plannerarena +%%PLANNERARENA%%%%DATADIR%%/plannerarena/server.R +%%PLANNERARENA%%%%DATADIR%%/plannerarena/ui.R +%%PLANNERARENA%%%%DATADIR%%/plannerarena/www/ga.js +%%PLANNERARENA%%%%DATADIR%%/plannerarena/www/help.md +%%PLANNERARENA%%%%DATADIR%%/plannerarena/www/plannerarena.css +%%PLANNERARENA%%%%DATADIR%%/plannerarena/www/plannerarena.js
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201808050226.w752QQFQ090108>