summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <daniel.silverstone@codethink.co.uk>2019-02-06 13:45:23 +0000
committerBenjamin Schubert <ben.c.schubert@gmail.com>2019-02-06 17:30:13 +0000
commit335ef2b84e1c11e4b2186153bfed3347d46f69ec (patch)
treea7160ada4951442e2531e609d925c2682518b131
parent256bcde5e09848f62b3621c4db0e56440d293889 (diff)
downloadbuildstream-335ef2b84e1c11e4b2186153bfed3347d46f69ec.tar.gz
loadelement.py: Switch from roaringbitmap to pyroaring
The licence for roaringbitmap was not compatible. pyroaring is a similar project which is MIT licensed and is slightly better on memory too. Signed-off-by: Daniel Silverstone <daniel.silverstone@codethink.co.uk>
-rw-r--r--buildstream/_loader/loadelement.py6
-rw-r--r--requirements/requirements.in4
-rw-r--r--requirements/requirements.txt4
3 files changed, 5 insertions, 9 deletions
diff --git a/buildstream/_loader/loadelement.py b/buildstream/_loader/loadelement.py
index 465d97f2c..17154ee64 100644
--- a/buildstream/_loader/loadelement.py
+++ b/buildstream/_loader/loadelement.py
@@ -21,7 +21,7 @@
from collections.abc import Mapping
from itertools import count
-from roaringbitmap import RoaringBitmap, ImmutableRoaringBitmap # pylint: disable=no-name-in-module
+from pyroaring import BitMap, FrozenBitMap # pylint: disable=no-name-in-module
# BuildStream toplevel imports
from .._exceptions import LoadError, LoadErrorReason
@@ -123,7 +123,7 @@ class LoadElement():
if self._dep_cache:
return
- self._dep_cache = RoaringBitmap()
+ self._dep_cache = BitMap()
for dep in self.dependencies:
elt = dep.element
@@ -137,7 +137,7 @@ class LoadElement():
# And we depend on everything this element depends on
self._dep_cache.update(elt._dep_cache)
- self._dep_cache = ImmutableRoaringBitmap(self._dep_cache)
+ self._dep_cache = FrozenBitMap(self._dep_cache)
# _extract_depends_from_node():
diff --git a/requirements/requirements.in b/requirements/requirements.in
index 9e55084dc..45e7b8075 100644
--- a/requirements/requirements.in
+++ b/requirements/requirements.in
@@ -13,6 +13,4 @@ psutil
# See issues #571 and #790.
ruamel.yaml >= 0.15.41, < 0.15.52
setuptools
-# (Potentially) short-term need for roaring bitmaps for the
-# loader dependency sorting
-roaringbitmap
+pyroaring
diff --git a/requirements/requirements.txt b/requirements/requirements.txt
index fa21c48b7..115879ad9 100644
--- a/requirements/requirements.txt
+++ b/requirements/requirements.txt
@@ -13,9 +13,7 @@ psutil==5.4.8
# See issues #571 and #790.
ruamel.yaml==0.15.51
setuptools==39.0.1
-# (Potentially) short-term need for roaring bitmaps for the
-# loader dependency sorting
-roaringbitmap==0.6
+pyroaring==0.2.6
## The following requirements were added by pip freeze:
MarkupSafe==1.1.0
six==1.12.0