def unpack_holder(self, d):
    d = listify(d)
    newd = []
    for i in d:
        if isinstance(i, list):
            i = self.unpack_holder(i)
        elif hasattr(i, 'held_object'):
            i = i.held_object
        for t in ['dependencies', 'link_with', 'include_directories', 'sources']:
            if hasattr(i, t):
                setattr(i, t, self.unpack_holder(getattr(i, t)))
        newd.append(i)
    return newd
def unpack_holder(self, d):
    d = listify(d)
    newd = []
    for i in d:
        if isinstance(i, list):
            i = self.unpack_holder(i)
        elif hasattr(i, 'held_object'):
            i = i.held_object
        for t in ['dependencies', 'link_with', 'include_directories', 'sources']:
            if hasattr(i, t):
                setattr(i, t, self.unpack_holder(getattr(i, t)))
        newd.append(i)
    return newd