Created
September 30, 2019 05:45
-
-
Save breakds/9909feca67b3e1b7d1d58304a1a0cfaa to your computer and use it in GitHub Desktop.
Packaging ROS on Nix
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Check https://github.com/airalab/airapkgs/blob/nixos-unstable/pkgs/development/ros-modules/catkin/default.nix | |
{ lib, pkgs, stdenv, fetchFromGitHub, callPackage, | |
python2Packages, ... }: | |
let | |
pname = "catkin"; | |
version = "0.7.18"; | |
subversion = "1"; | |
rosdistro = "kinetic"; | |
python-tools = callPackage ../python-tools {}; | |
in stdenv.mkDerivation { | |
name = "${pname}-${version}"; | |
NIX_DEBUG = 2; | |
src = fetchFromGitHub { | |
owner = "ros-gbp"; | |
repo = "${pname}-release"; | |
rev = "release/${rosdistro}/${pname}/${version}-${subversion}"; | |
sha256 = "1hqzc58piv241ik2az0wbx4adcflihprfzf0zhrdcm40yzh2md3x"; | |
}; | |
cmakeFlags = "-DCATKIN_ENABLE_TESTING=OFF -DSETUPTOOLS_DEB_LAYOUT=OFF"; | |
propagatedBuildInputs = [ python-tools pkgs.pkgconfig pkgs.cmake ]; | |
patchPhase = '' | |
sed -i 's/PYTHON_EXECUTABLE/SHELL/' ./cmake/catkin_package_xml.cmake | |
sed -i 's|#!/usr/bin/env bash|#!${stdenv.shell}|' ./cmake/templates/setup.bash.in | |
sed -i 's|#!/usr/bin/env sh|#!${stdenv.shell}|' ./cmake/templates/setup.sh.in | |
sed -i 's|#!/usr/bin/env sh|#!${stdenv.shell}|' ./cmake/templates/env.sh.in | |
sed -i 's|#!/bin/sh|#!${stdenv.shell}|' ./cmake/templates/python_distutils_install.sh.in | |
sed -i 's|#!/usr/bin/env|#!${stdenv.shell}|' ./cmake/templates/python_distutils_install.sh.in | |
sed -i 's|#!/usr/bin/env python|#!${python-tools}/bin/python|' ./cmake/parse_package_xml.py | |
''; | |
meta = { | |
homepage = "http://wiki.ros.org/catkin"; | |
description = "A CMake-based build system that is used to build all packages in ROS"; | |
license = lib.licenses.bsd3; | |
}; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment