From 66b5055b955256f0131b225ad40e95671034daef Mon Sep 17 00:00:00 2001 From: Patrick Callahan Date: Sat, 26 Mar 2016 11:16:09 -0700 Subject: [PATCH] gazebo: init at 6.5.1 and 7.0.0 --- .../science/robotics/gazebo/6.nix | 8 ++ .../science/robotics/gazebo/default.nix | 81 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 14 ++++ 3 files changed, 103 insertions(+) create mode 100644 pkgs/applications/science/robotics/gazebo/6.nix create mode 100644 pkgs/applications/science/robotics/gazebo/default.nix diff --git a/pkgs/applications/science/robotics/gazebo/6.nix b/pkgs/applications/science/robotics/gazebo/6.nix new file mode 100644 index 00000000000..0d1aa4a9085 --- /dev/null +++ b/pkgs/applications/science/robotics/gazebo/6.nix @@ -0,0 +1,8 @@ +{ stdenv, fetchurl, callPackage, ignition, gazeboSimulator, ... } @ args: + +callPackage ./default.nix (args // rec { + version = "6.5.1"; + src-sha256 = "96260aa23f1a1f24bc116f8e359d31f3bc65011033977cb7fb2c64d574321908"; + sdformat = gazeboSimulator.sdformat3; +}) + diff --git a/pkgs/applications/science/robotics/gazebo/default.nix b/pkgs/applications/science/robotics/gazebo/default.nix new file mode 100644 index 00000000000..1b71e45eb82 --- /dev/null +++ b/pkgs/applications/science/robotics/gazebo/default.nix @@ -0,0 +1,81 @@ +{ stdenv, fetchurl, cmake, pkgconfig, boost, protobuf, freeimage + , boost-build, boost_process + , xorg_sys_opengl, tbb, ogre, tinyxml-2 + , libtar, glxinfo, libusb, libxslt, ruby, ignition + , pythonPackages, utillinux + + # these deps are hidden; cmake doesn't catch them + , gazeboSimulator, sdformat ? gazeboSimulator.sdformat, curl, tinyxml, kde4, x11 + , withIgnitionTransport ? true + , libav, withLibAvSupport ? true + , openal, withAudioSupport ? false + , withQuickBuild ? false, withHeadless ? false, withLowMemorySupport ? false + , doxygen, withDocs ? true + , bullet, withBulletEngineSupport ? false + , graphviz, withModelEditorSchematicView ? true # graphviz needed for this view + , gdal, withDigitalElevationTerrainsSupport ? true + , gts, withConstructiveSolidGeometrySupport ? true + , hdf5, withHdf5Support ? true + , version ? "7.0.0" + , src-sha256 ? "127q2g93kvmak2b6vhl13xzg56h09v14s4pki8wv7aqjv0c3whbl" + , ... +}: with stdenv.lib; + +stdenv.mkDerivation rec { + inherit version; + name = "gazebo-${version}"; + + src = fetchurl { + url = "http://osrf-distributions.s3.amazonaws.com/gazebo/releases/${name}.tar.bz2"; + sha256 = src-sha256; + }; + + enableParallelBuilding = true; # gazebo needs this so bad + cmakeFlags = [] + ++ optional withQuickBuild [ "-DENABLE_TESTS_COMPILATION=False" ] + ++ optional withLowMemorySupport [ "-DUSE_LOW_MEMORY_TESTS=True" ] + ++ optional withHeadless [ "-DENABLE_SCREEN_TESTS=False" ]; + + buildInputs = [ + #cmake pkgconfig boost protobuf + freeimage + xorg_sys_opengl + tbb + ogre + tinyxml-2 + libtar + glxinfo + libusb + libxslt + ignition.math2 + sdformat + pythonPackages.pyopengl + + # TODO: add these hidden deps to cmake configuration & submit upstream + curl + tinyxml + x11 + kde4.qt4 + ] ++ optional stdenv.isLinux utillinux # on Linux needs uuid/uuid.h + ++ optional withDocs doxygen + ++ optional withLibAvSupport libav #TODO: package rubygem-ronn and put it here + ++ optional withAudioSupport openal + ++ optional withBulletEngineSupport bullet + ++ optional withIgnitionTransport ignition.transport + ++ optional withModelEditorSchematicView graphviz + ++ optional withDigitalElevationTerrainsSupport gdal + ++ optional withConstructiveSolidGeometrySupport gts + ++ optional withHdf5Support hdf5; + + nativeBuildInputs = [ cmake pkgconfig ]; + + propagatedNativeBuildInputs = [ boost boost-build boost_process protobuf ]; + + meta = with stdenv.lib; { + homepage = http://gazebosim.org/; + description = "Multi-robot simulator for outdoor environments"; + license = licenses.asl20; + maintainers = with maintainers; [ pxc ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a45fd4d72b7..e4dd0c5127f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1578,7 +1578,21 @@ in sdformat3 = callPackage ../development/libraries/sdformat/3.nix { }; sdformat4 = callPackage ../development/libraries/sdformat { }; + + gazebo6 = callPackage ../applications/science/robotics/gazebo/6.nix { }; + + gazebo6-headless = callPackage ../applications/science/robotics/gazebo/6.nix { withHeadless = true; }; + + gazebo7 = callPackage ../applications/science/robotics/gazebo { }; + + gazebo7-headless = callPackage ../applications/science/robotics/gazebo { withHeadless = true; }; + }; + + # at present, Gazebo 7.0.0 does not match Gazebo 6.5.1 for compatibility + gazebo = gazeboSimulator.gazebo6; + + gazebo-headless = gazeboSimulator.gazebo6-headless; gbdfed = callPackage ../tools/misc/gbdfed { gtk = gtk2;