Package rosdep :: Module macports
[frames] | no frames]

Source Code for Module rosdep.macports

 1  #!/usr/bin/env python 
 2  # Copyright (c) 2009, Willow Garage, Inc. 
 3  # All rights reserved. 
 4  #  
 5  # Redistribution and use in source and binary forms, with or without 
 6  # modification, are permitted provided that the following conditions are met: 
 7  #  
 8  #     * Redistributions of source code must retain the above copyright 
 9  #       notice, this list of conditions and the following disclaimer. 
10  #     * Redistributions in binary form must reproduce the above copyright 
11  #       notice, this list of conditions and the following disclaimer in the 
12  #       documentation and/or other materials provided with the distribution. 
13  #     * Neither the name of the Willow Garage, Inc. nor the names of its 
14  #       contributors may be used to endorse or promote products derived from 
15  #       this software without specific prior written permission. 
16  #  
17  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
18  # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
19  # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
20  # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
21  # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
22  # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
23  # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
24  # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
25  # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
26  # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
27  # POSSIBILITY OF SUCH DAMAGE. 
28   
29  # Author Tully Foote/tfoote@willowgarage.com 
30   
31  import os 
32   
33  import rosdep.base_rosdep 
34  from rosdep.linux_helpers import * 
35   
36  ###### Macports SPECIALIZATION ######################### 
37 -def port_detect(p):
38 cmd = ['port', 'installed', p] 39 pop = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 40 (std_out, std_err) = pop.communicate() 41 42 return (std_out.count("(active)") > 0)
43
44 -class Macports(rosdep.base_rosdep.RosdepBaseOS):
45 - def check_presence(self):
46 filename = "/usr/bin/sw_vers" 47 if os.path.exists(filename): 48 return True 49 return False
50
51 - def get_version(self):
52 return "macports" # macports is a rolling release and isn't versionsed
53
54 - def get_name(self):
55 return "macports"
56
57 - def strip_detected_packages(self, packages):
58 return [p for p in packages if not port_detect(p)]
59
60 - def generate_package_install_command(self, packages, default_yes):
61 if len(packages) < 1: 62 return "#No packages to install" 63 return "#Packages\nsudo port install " + ' '.join(packages)
64 65 ###### END Macports SPECIALIZATION ######################## 66