mirror of
https://github.com/lopsided98/nix-ros-overlay.git
synced 2025-06-11 18:24:50 +03:00
rosdep: 0.15.2 -> 0.17.1
This commit is contained in:
parent
b19650b862
commit
e7b209ecc5
2 changed files with 4 additions and 143 deletions
|
@ -1,137 +0,0 @@
|
|||
From 1b330943f355486b4952f9dc1feb2bb27cce4dfc Mon Sep 17 00:00:00 2001
|
||||
From: Ben Wolsieffer <benwolsieffer@gmail.com>
|
||||
Date: Thu, 14 Mar 2019 17:30:55 -0400
|
||||
Subject: [PATCH] Add support for Nix/NixOS
|
||||
|
||||
---
|
||||
src/rosdep2/__init__.py | 5 +--
|
||||
src/rosdep2/platforms/arch.py | 9 ++---
|
||||
src/rosdep2/platforms/nix.py | 62 +++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 70 insertions(+), 6 deletions(-)
|
||||
create mode 100644 src/rosdep2/platforms/nix.py
|
||||
|
||||
diff --git a/src/rosdep2/__init__.py b/src/rosdep2/__init__.py
|
||||
index 115fc15..3beb0a0 100644
|
||||
--- a/src/rosdep2/__init__.py
|
||||
+++ b/src/rosdep2/__init__.py
|
||||
@@ -59,8 +59,9 @@ def create_default_installer_context(verbose=False):
|
||||
from .platforms import arch
|
||||
from .platforms import cygwin
|
||||
from .platforms import debian
|
||||
- from .platforms import openembedded
|
||||
from .platforms import gentoo
|
||||
+ from .platforms import nix
|
||||
+ from .platforms import openembedded
|
||||
from .platforms import opensuse
|
||||
from .platforms import osx
|
||||
from .platforms import pip
|
||||
@@ -70,7 +71,7 @@ def create_default_installer_context(verbose=False):
|
||||
from .platforms import slackware
|
||||
from .platforms import source
|
||||
|
||||
- platform_mods = [alpine, arch, cygwin, debian, gentoo, openembedded, opensuse, osx, redhat, slackware, freebsd]
|
||||
+ platform_mods = [alpine, arch, cygwin, debian, gentoo, nix, openembedded, opensuse, osx, redhat, slackware, freebsd]
|
||||
installer_mods = [source, pip, gem] + platform_mods
|
||||
|
||||
context = InstallerContext()
|
||||
diff --git a/src/rosdep2/platforms/arch.py b/src/rosdep2/platforms/arch.py
|
||||
index c03e2f1..6aaf4f4 100644
|
||||
--- a/src/rosdep2/platforms/arch.py
|
||||
+++ b/src/rosdep2/platforms/arch.py
|
||||
@@ -29,10 +29,11 @@
|
||||
|
||||
import subprocess
|
||||
|
||||
+from rospkg.os_detect import OS_ARCH
|
||||
+
|
||||
from ..installers import PackageManagerInstaller
|
||||
from .source import SOURCE_INSTALLER
|
||||
|
||||
-ARCH_OS_NAME = 'arch'
|
||||
PACMAN_INSTALLER = 'pacman'
|
||||
|
||||
|
||||
@@ -41,9 +42,9 @@ def register_installers(context):
|
||||
|
||||
|
||||
def register_platforms(context):
|
||||
- context.add_os_installer_key(ARCH_OS_NAME, SOURCE_INSTALLER)
|
||||
- context.add_os_installer_key(ARCH_OS_NAME, PACMAN_INSTALLER)
|
||||
- context.set_default_os_installer_key(ARCH_OS_NAME, lambda self: PACMAN_INSTALLER)
|
||||
+ context.add_os_installer_key(OS_ARCH, SOURCE_INSTALLER)
|
||||
+ context.add_os_installer_key(OS_ARCH, PACMAN_INSTALLER)
|
||||
+ context.set_default_os_installer_key(OS_ARCH, lambda self: PACMAN_INSTALLER)
|
||||
|
||||
|
||||
def pacman_detect_single(p):
|
||||
diff --git a/src/rosdep2/platforms/nix.py b/src/rosdep2/platforms/nix.py
|
||||
new file mode 100644
|
||||
index 0000000..c6c21b9
|
||||
--- /dev/null
|
||||
+++ b/src/rosdep2/platforms/nix.py
|
||||
@@ -0,0 +1,62 @@
|
||||
+# Copyright (c) 2009, Willow Garage, Inc.
|
||||
+# All rights reserved.
|
||||
+#
|
||||
+# Redistribution and use in source and binary forms, with or without
|
||||
+# modification, are permitted provided that the following conditions are met:
|
||||
+#
|
||||
+# * Redistributions of source code must retain the above copyright
|
||||
+# notice, this list of conditions and the following disclaimer.
|
||||
+# * Redistributions in binary form must reproduce the above copyright
|
||||
+# notice, this list of conditions and the following disclaimer in the
|
||||
+# documentation and/or other materials provided with the distribution.
|
||||
+# * Neither the name of the Willow Garage, Inc. nor the names of its
|
||||
+# contributors may be used to endorse or promote products derived from
|
||||
+# this software without specific prior written permission.
|
||||
+#
|
||||
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
+# POSSIBILITY OF SUCH DAMAGE.
|
||||
+
|
||||
+# Author Ben Wolsieffer/benwolsieffer@gmail.com
|
||||
+import subprocess
|
||||
+
|
||||
+from rospkg.os_detect import OS_NIXOS
|
||||
+
|
||||
+from ..installers import PackageManagerInstaller
|
||||
+
|
||||
+NIX_INSTALLER = 'nix'
|
||||
+
|
||||
+
|
||||
+def register_installers(context):
|
||||
+ context.set_installer(NIX_INSTALLER, NixInstaller())
|
||||
+
|
||||
+
|
||||
+def register_platforms(context):
|
||||
+ context.add_os_installer_key(OS_NIXOS, NIX_INSTALLER)
|
||||
+ context.set_default_os_installer_key(OS_NIXOS, lambda self: NIX_INSTALLER)
|
||||
+
|
||||
+
|
||||
+def nix_detect(packages):
|
||||
+ # Say that all packages are installed, because Nix handles installation
|
||||
+ # automatically
|
||||
+ return packages
|
||||
+
|
||||
+
|
||||
+class NixInstaller(PackageManagerInstaller):
|
||||
+
|
||||
+ def __init__(self):
|
||||
+ super(NixInstaller, self).__init__(nix_detect)
|
||||
+
|
||||
+ def get_install_command(self, resolved, interactive=True, reinstall=False, quiet=False):
|
||||
+ raise NotImplementedError('Nix does not support installing packages through ROS')
|
||||
+
|
||||
+ def get_version_strings(self):
|
||||
+ return subprocess.check_output(('nix', '--version'))
|
||||
--
|
||||
2.22.0
|
||||
|
|
@ -1,20 +1,18 @@
|
|||
{ buildPythonPackage, fetchPypi, catkin-pkg, rospkg, pyyaml, rosdistro }:
|
||||
{ buildPythonPackage, fetchPypi, catkin-pkg, rospkg, pyyaml, rosdistro, setuptools }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "rosdep";
|
||||
version = "0.15.2";
|
||||
version = "0.17.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1zyx1f31fb80b0q7fz5kc1px4882c42p5ag0985xxsl1glvy4mhl";
|
||||
sha256 = "1vxbjfj60lkg8b9m8kcv0v1bvi355xs53np27pdjlil27j53sxm9";
|
||||
};
|
||||
|
||||
patches = [ ./0001-Add-support-for-Nix-NixOS.patch ];
|
||||
|
||||
# Tries to download files
|
||||
doCheck = false;
|
||||
|
||||
propagatedBuildInputs = [ catkin-pkg rospkg pyyaml rosdistro ];
|
||||
propagatedBuildInputs = [ catkin-pkg rospkg pyyaml rosdistro setuptools ];
|
||||
|
||||
meta = {
|
||||
description = "Package manager abstraction tool for ROS";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue