aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2016-07-19 15:41:36 -0400
committerWladimir J. van der Laan <laanwj@gmail.com>2016-07-20 09:11:41 +0200
commit1fe7f404078121ad370ec955aa23befa322549bb (patch)
tree87f3888fd7254e1c8060789b5c7a2a2918cf6863
parentd6bb231a9fa902b5d7a719f8cbcba34c6a7a57cf (diff)
build: fix non-deterministic biplist
The non-deterministic ordering produced by biplist ends up in the .DS_Store file that is included in the OSX dmg. Github-Pull: #8373 Rebased-From: 3b3ce25df6cc84cd1e75a7ec20fc7da8d2ef76e0
-rw-r--r--depends/packages/native_biplist.mk5
-rw-r--r--depends/patches/native_biplist/sorted_list.patch29
2 files changed, 34 insertions, 0 deletions
diff --git a/depends/packages/native_biplist.mk b/depends/packages/native_biplist.mk
index eb8672d556..3c6e8900f6 100644
--- a/depends/packages/native_biplist.mk
+++ b/depends/packages/native_biplist.mk
@@ -4,6 +4,11 @@ $(package)_download_path=https://pypi.python.org/packages/source/b/biplist
$(package)_file_name=biplist-$($(package)_version).tar.gz
$(package)_sha256_hash=b57cadfd26e4754efdf89e9e37de87885f9b5c847b2615688ca04adfaf6ca604
$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages
+$(package)_patches=sorted_list.patch
+
+define $(package)_preprocess_cmds
+ patch -p1 < $($(package)_patch_dir)/sorted_list.patch
+endef
define $(package)_build_cmds
python setup.py build
diff --git a/depends/patches/native_biplist/sorted_list.patch b/depends/patches/native_biplist/sorted_list.patch
new file mode 100644
index 0000000000..89abdb1b71
--- /dev/null
+++ b/depends/patches/native_biplist/sorted_list.patch
@@ -0,0 +1,29 @@
+--- a/biplist/__init__.py 2014-10-26 19:03:11.000000000 +0000
++++ b/biplist/__init__.py 2016-07-19 19:30:17.663521999 +0000
+@@ -541,7 +541,7 @@
+ return HashableWrapper(n)
+ elif isinstance(root, dict):
+ n = {}
+- for key, value in iteritems(root):
++ for key, value in sorted(iteritems(root)):
+ n[self.wrapRoot(key)] = self.wrapRoot(value)
+ return HashableWrapper(n)
+ elif isinstance(root, list):
+@@ -616,7 +616,7 @@
+ elif isinstance(obj, dict):
+ size = proc_size(len(obj))
+ self.incrementByteCount('dictBytes', incr=1+size)
+- for key, value in iteritems(obj):
++ for key, value in sorted(iteritems(obj)):
+ check_key(key)
+ self.computeOffsets(key, asReference=True)
+ self.computeOffsets(value, asReference=True)
+@@ -714,7 +714,7 @@
+ keys = []
+ values = []
+ objectsToWrite = []
+- for key, value in iteritems(obj):
++ for key, value in sorted(iteritems(obj)):
+ keys.append(key)
+ values.append(value)
+ for key in keys: