summaryrefslogtreecommitdiff
path: root/dev-python/ujson
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-03-03 10:28:17 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-03-03 10:28:17 +0000
commitd99093fb4bb5652015c06274d64083daa2439e4f (patch)
treecf61513204d97974179580065e85df5c8009087c /dev-python/ujson
parent463397cf1e064185110fe57c568d73f99a06f5d1 (diff)
gentoo resync : 03.03.2021
Diffstat (limited to 'dev-python/ujson')
-rw-r--r--dev-python/ujson/Manifest12
-rw-r--r--dev-python/ujson/files/ujson-1.35-fix-for-overflowing-long.patch84
-rw-r--r--dev-python/ujson/files/ujson-1.35-fix-ordering-of-orderdict.patch122
-rw-r--r--dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch73
-rw-r--r--dev-python/ujson/files/ujson-1.35-standard-handling-of-none.patch77
-rw-r--r--dev-python/ujson/files/ujson-1.35-test-depricationwarning.patch11
-rw-r--r--dev-python/ujson/files/ujson-1.35-use-static-where-possible.patch591
-rw-r--r--dev-python/ujson/ujson-1.35-r1.ebuild37
-rw-r--r--dev-python/ujson/ujson-4.0.1.ebuild24
-rw-r--r--dev-python/ujson/ujson-4.0.2.ebuild2
10 files changed, 2 insertions, 1031 deletions
diff --git a/dev-python/ujson/Manifest b/dev-python/ujson/Manifest
index 911205048c91..8f843bb172ec 100644
--- a/dev-python/ujson/Manifest
+++ b/dev-python/ujson/Manifest
@@ -1,13 +1,3 @@
-AUX ujson-1.35-fix-for-overflowing-long.patch 2630 BLAKE2B 39bb394773d6cf8b395701d32b4e8afc6de09c901c4e22e38ba78c37788b0e6ed69c28c3782e2a196e00ee22f21b1c93579ced48d968a5c346b6ba16ecbbe199 SHA512 1006a559fba644985663acbf3a94b8485511a0b137e96191c15f791ef1b84824dfd3d26ffb7de3bcecd011ab94e04b46e2ffbdf90766cb95c11be9c508cfc847
-AUX ujson-1.35-fix-ordering-of-orderdict.patch 4046 BLAKE2B 24d5bc9401ec44939f355aff06cabb7e2a52f8dc41dff419e48d2d84c64c40fcfc786131f9973c1ba804d110443ec8af621602ecc33ca17a47b82036bf9ebf57 SHA512 e3c392a4298f65154549f077c55da7b78d6e9085a217b3ef574ccec4d9f0466f5d0901c039afb1fb44b1e26042881abc5007eb045a3594ee365c09f46443d134
-AUX ujson-1.35-sort_keys-segfault.patch 2360 BLAKE2B 774cd15a52a333456e0f7a4996d111123aa315c41c7e6d01f2618ca459227ae74458202b899d6676a8f03e229056759d1e3c0d36a7204cfd8ce947787a010b38 SHA512 aac5b264187be10cbfb2d128f1a415fd0d841a728b7c1975232e5fe37fc042b19aae084e9c807eb5c23b1fe8306565bb2867543c08d88c2abcf474401644f114
-AUX ujson-1.35-standard-handling-of-none.patch 2563 BLAKE2B 55a2ad075f7ed348ec4f92727e9bfab2c41a734412706102e1b0df8c04f969d4273354cdb570b3334a4bcb7ec3cdef7c1c836405345165e129ab82a0f53f8f35 SHA512 3d3b7a3dc3d055c4c3cc94acdced6d5b154bfe23ff371230924f5ac7ea982997b2d404dc643c53e606c76b41a5d8c41d506d3f5d3adcc6cd61633f7dbaf3e30e
-AUX ujson-1.35-test-depricationwarning.patch 369 BLAKE2B 9fbc92d557049d8790b664ef60a908b99f6cd657c5ade674979f1b05e4c61dbb514eba09d3727c6c61eddc5b08fde5043cdd2af0477c996d9fe9bb43a4838380 SHA512 71fc8012f1701a35def3d7533d8d8d4133550dd57bd22b11e1dcd2806d25e185678f047cc1fe61a35132ed1d546d1411d452bb0e7af66aefe9b53a99b5ef3c66
-AUX ujson-1.35-use-static-where-possible.patch 19904 BLAKE2B dcf5691a43dd068635f6be23b9dc5c3a7ff2d9a66c836dc75954f7625f7aef4d55e06e90f3c030f8bc2f4db80b34cb540e09183939880bbf32225bc23c58f3fa SHA512 fe96f88cde477bfdc63ad5cf360ab6c63e2cf00c192a8d70d80340b7e39820ca53554a775c8f32b7ca43259e9f299fe38ebaf4aa64ef12c035bf23085f5b5789
-DIST ujson-1.35.tar.gz 192027 BLAKE2B 320058e7142f2264bee8b02a411bedb3b32d1c2fc86157eb47272f75cb401e6c75ce7d9e3dba5092cd1db99dbded8804347d4c7be11eaedb47bc8b4b8125fbd3 SHA512 931d8f574fc4920c9ded48369774666060e951f40982606ce9f1d9de3420004042af7d797075a54d92a2b25c4f313572a5e1a30f3bc8ce387ef8f3881193eee7
-DIST ujson-4.0.1.tar.gz 7128868 BLAKE2B 159496bfa2b7efff744c1f725c5a8c362c6baac20518d440e5827ec8af1a9a77b4e060126d9b35b39baae079f7092e64d49d0cd23a637174a4bca261203939d6 SHA512 11fb28166afab30e29d71070c91cfb78245eed704a769bf6fb0871c267135fac3fa1042c4ac875dcb870f8a00615e6bcc8fdcd0168edd5ccbae6437605b4df0d
DIST ujson-4.0.2.tar.gz 7129106 BLAKE2B 8ebf68c6bac65100baeee4f95f175ada09ba48b9efe1876b7b1ff2c3cf87d1a50d8300a981fd97eac73e4c5a70af1b7fddcd468aa6067aac8a2e44133f397057 SHA512 ece12d4407cb7cdb647597ff7fc32e4390fc4c790c59e764da5c5644e5dec470c48cb6a6aaa18429cb713643e5205c5d26b2d2d2195bc90f3a171615d3dbd80d
-EBUILD ujson-1.35-r1.ebuild 921 BLAKE2B 0aa75603e374f38cb7f62718597eafe2b3b1baefb45ffdd3fd26c073399c14bbddf6c69e2e6a34607660b1ed1bfa0ad807c5155d4655f40c8382856baaa2a57b SHA512 cd1cc7f86aeebaf5000a114372045c7e04c395e9dda76362e5c549ae9d65824f2156329e048a730a4fef5482a667f1fe01d2136e2f4939e4156574e6a5469655
-EBUILD ujson-4.0.1.ebuild 581 BLAKE2B 9f4856cec5864247e5f6b4534fa19ffe9e092994c7cbec36d70f0df8b0cd2ea721ab1e1c41d9e7b8ac39e94754169cf2bdc8b43415f77147eca6b34d32438566 SHA512 c0da72fdef65bae733f0920050db37d2c7dad051f15398f463012fdd70c2d6e144b820156d3986d8768f7239ade934bd89fe8ff6663d588cc330c3fd968ee626
-EBUILD ujson-4.0.2.ebuild 547 BLAKE2B 6677f0c78e64e1150d4c85d338ff7182ef81f090b852f472b10181d9aad92b16767cae741acf3f0f2334d47a692549f0f02546e44279e0a66dcd7fccb6c32f22 SHA512 2ec675c15a469e46a8a5ba15da5f57f71b454c02061e998c7788f55c3cbf91ed8ba13137558502b2bcf735972bcaf2fb8895ebe84312d0e1ddb5017b1f8b6696
+EBUILD ujson-4.0.2.ebuild 543 BLAKE2B f1e3d5946f7964f4088d019b6a851935e06b9e1ce241335fa798d1621de9b4426a490f9d59ada01b7d1a2ac47e78c3035a5f41b9e2e7947de49d3adb752948bf SHA512 eeb3502ff893ab0962a2adc5551e0406bf09fc9cd1d04bff8b5ac3b8d398049804a5738e95e2e4358c0d823b7aa9e24272e2b4472c68cf226641bc8d59f230f5
MISC metadata.xml 432 BLAKE2B 9218fa7b4dcf0c44ae1d5b30869a2f8981dc03714245aa258de0552e5f27de7cc359acdcb8d22da82069bcf465a91ac7d4401f111cf52abedbe4451e08d67153 SHA512 485e866809b2704a344436f956dd242b8720ecf46daf53a7a64fcf8a5edd3b3915faf59d48da4224b361ba35f7ab8c346e16b0a037cf8846d663d175486bed8f
diff --git a/dev-python/ujson/files/ujson-1.35-fix-for-overflowing-long.patch b/dev-python/ujson/files/ujson-1.35-fix-for-overflowing-long.patch
deleted file mode 100644
index 98659ce1722b..000000000000
--- a/dev-python/ujson/files/ujson-1.35-fix-for-overflowing-long.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-commit 409c6d4006fdea27e746ea397124f98c92a41a92
-Author: Joakim Hamren <joakim.hamren@gmail.com>
-Date: Sat Feb 4 04:21:05 2017 +0100
-
- Fix for overflowing long causing invalid json
-
- This was caused by checking for "__json__" using PyObject_HasAttrString
- which clears the error set by a previous long overflow. Thus this was dependent
- on the order of processing of dict items, which explains why it was
- seemingly random as the dict items are likely ordered by a hash of
- the key.
-
- This fixes GH224 and GH240.
-
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index 8133fb5..adea2f6 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -226,6 +226,21 @@ static void *PyDateToINT64(JSOBJ _obj, JSONTypeContext *tc, void *outValue, size
- return NULL;
- }
-
-+static int PyHasAttrStringPreserveErr(PyObject *obj, const char *attr)
-+{
-+ int res;
-+ PyObject *excType = NULL, *excValue, *excTraceback;
-+
-+ if (!PyErr_Occurred())
-+ return PyObject_HasAttrString(obj, "__json__");
-+
-+ PyErr_Fetch(&excType, &excValue, &excTraceback);
-+ res = PyObject_HasAttrString(obj, "__json__");
-+ PyErr_Restore(excType, excValue, excTraceback);
-+
-+ return res;
-+}
-+
- static int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- PyObject *item;
-@@ -471,21 +486,21 @@ static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- GET_TC(tc)->itemName = PyUnicode_AsUTF8String (GET_TC(tc)->itemName);
- }
- else
-- if (!PyString_Check(GET_TC(tc)->itemName))
-- {
-- GET_TC(tc)->itemName = PyObject_Str(GET_TC(tc)->itemName);
-+ if (!PyString_Check(GET_TC(tc)->itemName))
-+ {
-+ GET_TC(tc)->itemName = PyObject_Str(GET_TC(tc)->itemName);
- #if PY_MAJOR_VERSION >= 3
-- itemNameTmp = GET_TC(tc)->itemName;
-- GET_TC(tc)->itemName = PyUnicode_AsUTF8String (GET_TC(tc)->itemName);
-- Py_DECREF(itemNameTmp);
-+ itemNameTmp = GET_TC(tc)->itemName;
-+ GET_TC(tc)->itemName = PyUnicode_AsUTF8String (GET_TC(tc)->itemName);
-+ Py_DECREF(itemNameTmp);
- #endif
-- }
-- else
-- {
-- Py_INCREF(GET_TC(tc)->itemName);
-- }
-- PRINTMARK();
-- return 1;
-+ }
-+ else
-+ {
-+ Py_INCREF(GET_TC(tc)->itemName);
-+ }
-+ PRINTMARK();
-+ return 1;
- }
-
- static void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-@@ -728,7 +743,7 @@ static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObject
- return;
- }
- else
-- if (PyString_Check(obj) && !PyObject_HasAttrString(obj, "__json__"))
-+ if (PyString_Check(obj) && !PyHasAttrStringPreserveErr(obj, "__json__"))
- {
- PRINTMARK();
- pc->PyTypeToJSON = PyStringToUTF8; tc->type = JT_UTF8;
diff --git a/dev-python/ujson/files/ujson-1.35-fix-ordering-of-orderdict.patch b/dev-python/ujson/files/ujson-1.35-fix-ordering-of-orderdict.patch
deleted file mode 100644
index 37270d41e3b1..000000000000
--- a/dev-python/ujson/files/ujson-1.35-fix-ordering-of-orderdict.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-commit c9f8318bd823ae9d44797b6b881a2b3e22cdbade
-Author: Joakim Hamren <joakim.hamren@gmail.com>
-Date: Tue Feb 7 02:02:38 2017 +0100
-
- Fix for incorrect order when using OrderedDict
-
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index abe6588..9e6a390 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -253,8 +253,13 @@ static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- GET_TC(tc)->itemName = NULL;
- }
-
-+ if (!(GET_TC(tc)->itemName = PyIter_Next(GET_TC(tc)->iterator)))
-+ {
-+ PRINTMARK();
-+ return 0;
-+ }
-
-- if (!PyDict_Next ( (PyObject *)GET_TC(tc)->dictObj, &GET_TC(tc)->index, &GET_TC(tc)->itemName, &GET_TC(tc)->itemValue))
-+ if (!(GET_TC(tc)->itemValue = PyObject_GetItem(GET_TC(tc)->dictObj, GET_TC(tc)->itemName)))
- {
- PRINTMARK();
- return 0;
-@@ -295,6 +300,7 @@ static void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- Py_DECREF(GET_TC(tc)->itemName);
- GET_TC(tc)->itemName = NULL;
- }
-+ Py_CLEAR(GET_TC(tc)->iterator);
- Py_DECREF(GET_TC(tc)->dictObj);
- PRINTMARK();
- }
-@@ -425,20 +431,23 @@ static char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outL
-
- static void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
- {
-- if (enc->sortKeys) {
-+ pc->dictObj = dictObj;
-+ if (enc->sortKeys)
-+ {
- pc->iterEnd = SortedDict_iterEnd;
- pc->iterNext = SortedDict_iterNext;
- pc->iterGetValue = SortedDict_iterGetValue;
- pc->iterGetName = SortedDict_iterGetName;
-+ pc->index = 0;
- }
-- else {
-+ else
-+ {
- pc->iterEnd = Dict_iterEnd;
- pc->iterNext = Dict_iterNext;
- pc->iterGetValue = Dict_iterGetValue;
- pc->iterGetName = Dict_iterGetName;
-+ pc->iterator = PyObject_GetIter(dictObj);
- }
-- pc->dictObj = dictObj;
-- pc->index = 0;
- }
-
- static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
-@@ -446,7 +455,8 @@ static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObject
- PyObject *obj, *objRepr, *exc;
- TypeContext *pc;
- PRINTMARK();
-- if (!_obj) {
-+ if (!_obj)
-+ {
- tc->type = JT_INVALID;
- return;
- }
-diff --git a/tests/tests.py b/tests/tests.py
-index cd928e6..b7e46af 100644
---- a/tests/tests.py
-+++ b/tests/tests.py
-@@ -10,6 +10,8 @@ import json
- import math
- import time
- import pytz
-+from collections import OrderedDict
-+
- if six.PY2:
- import unittest2 as unittest
- else:
-@@ -383,6 +385,10 @@ class UltraJSONTests(unittest.TestCase):
- input = -float('inf')
- self.assertRaises(OverflowError, ujson.encode, input)
-
-+ def test_encodeOrderedDict(self):
-+ input = OrderedDict([(1, 1), (0, 0), (8, 8), (2, 2)])
-+ self.assertEqual('{"1":1,"0":0,"8":8,"2":2}', ujson.encode(input))
-+
- def test_decodeJibberish(self):
- input = "fdsa sda v9sa fdsa"
- self.assertRaises(ValueError, ujson.decode, input)
-@@ -668,7 +674,7 @@ class UltraJSONTests(unittest.TestCase):
- d = {u'key': JSONTest()}
- output = ujson.encode(d)
- dec = ujson.decode(output)
-- self.assertEquals(dec, {u'key': output_text})
-+ self.assertEqual(dec, {u'key': output_text})
-
- def test_object_with_json_unicode(self):
- # If __json__ returns a string, then that string
-@@ -681,7 +687,7 @@ class UltraJSONTests(unittest.TestCase):
- d = {u'key': JSONTest()}
- output = ujson.encode(d)
- dec = ujson.decode(output)
-- self.assertEquals(dec, {u'key': output_text})
-+ self.assertEqual(dec, {u'key': output_text})
-
- def test_object_with_complex_json(self):
- # If __json__ returns a string, then that string
-@@ -694,7 +700,7 @@ class UltraJSONTests(unittest.TestCase):
- d = {u'key': JSONTest()}
- output = ujson.encode(d)
- dec = ujson.decode(output)
-- self.assertEquals(dec, {u'key': obj})
-+ self.assertEqual(dec, {u'key': obj})
-
- def test_object_with_json_type_error(self):
- # __json__ must return a string, otherwise it should raise an error.
diff --git a/dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch b/dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch
deleted file mode 100644
index 7239bca3e238..000000000000
--- a/dev-python/ujson/files/ujson-1.35-sort_keys-segfault.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-commit 870ee48fe109c289033cd0b7543b6f5ea4e6f128
-Author: Joakim Hamren <joakim.hamren@gmail.com>
-Date: Sat Feb 4 01:07:52 2017 +0100
-
- Fixes for sort_keys bug and a typo.
-
- - Fixed segfault when using sort_keys=True on dict with unorderable keys (GH247)
-
- - Fixed refcount becoming negative when using sort_keys=True (GH243)
-
- - Fixed compile error when defining JSON_NO_EXTRA_WHITESPACE
- caused by a wrongly named variable. (GH245)
-
-diff --git a/lib/ultrajsonenc.c b/lib/ultrajsonenc.c
-index cb10024..1bfa8f4 100644
---- a/lib/ultrajsonenc.c
-+++ b/lib/ultrajsonenc.c
-@@ -717,7 +717,7 @@ static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t c
- {
- const char *value;
- char *objName;
-- int count;
-+ int count, res;
- JSOBJ iterObj;
- size_t szlen;
- JSONTypeContext tc;
-@@ -796,7 +796,7 @@ static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t c
- {
- Buffer_AppendCharUnchecked (enc, ',');
- #ifndef JSON_NO_EXTRA_WHITESPACE
-- Buffer_AppendCharUnchecked (buffer, ' ');
-+ Buffer_AppendCharUnchecked (enc, ' ');
- #endif
- Buffer_AppendIndentNewlineUnchecked (enc);
- }
-@@ -823,8 +823,16 @@ static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t c
- Buffer_AppendCharUnchecked (enc, '{');
- Buffer_AppendIndentNewlineUnchecked (enc);
-
-- while (enc->iterNext(obj, &tc))
-+ while ((res = enc->iterNext(obj, &tc)))
- {
-+ if(res < 0)
-+ {
-+ enc->iterEnd(obj, &tc);
-+ enc->endTypeContext(obj, &tc);
-+ enc->level--;
-+ return;
-+ }
-+
- if (count > 0)
- {
- Buffer_AppendCharUnchecked (enc, ',');
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index 1960d40..8133fb5 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -537,6 +537,7 @@ static int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- // Sort the list.
- if (PyList_Sort(items) < 0)
- {
-+ PyErr_SetString(PyExc_ValueError, "unorderable keys");
- goto error;
- }
-
-@@ -607,7 +608,6 @@ static void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- GET_TC(tc)->itemName = NULL;
- GET_TC(tc)->itemValue = NULL;
-- Py_DECREF(GET_TC(tc)->newObj);
- Py_DECREF(GET_TC(tc)->dictObj);
- PRINTMARK();
- }
diff --git a/dev-python/ujson/files/ujson-1.35-standard-handling-of-none.patch b/dev-python/ujson/files/ujson-1.35-standard-handling-of-none.patch
deleted file mode 100644
index e2b7b9103f48..000000000000
--- a/dev-python/ujson/files/ujson-1.35-standard-handling-of-none.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit ac4637fbc4e72bd59f221d9bba19127820d21023
-Author: Joakim Hamren <joakim.hamren@gmail.com>
-Date: Sat Feb 4 16:36:14 2017 +0100
-
- Following std json handling of None dict key
-
- Previously a None dict item key would be outputted in JSON as "None".
- To better align with the standard json module this was changed to output
- "null". There's no proper representation of null object keys in JSON so
- this is implementation specific but it seems more natural to follow
- suit when it can be done without a significant performance hit.
-
- Added and used branch prediction macros (LIKELY/UNLIKELY) as well.
-
-diff --git a/lib/ultrajson.h b/lib/ultrajson.h
-index 6c1dbc1..ca82a29 100644
---- a/lib/ultrajson.h
-+++ b/lib/ultrajson.h
-@@ -117,6 +117,14 @@ typedef uint32_t JSUINT32;
-
- #define INLINE_PREFIX inline
-
-+#ifdef __GNUC__
-+#define LIKELY(x) __builtin_expect(!!(x), 1)
-+#define UNLIKELY(x) __builtin_expect(!!(x), 0)
-+#else
-+#define LIKELY(x) (x)
-+#define UNLIKELY(x) (x)
-+#endif
-+
- typedef uint8_t JSUINT8;
- typedef uint16_t JSUTF16;
- typedef uint32_t JSUTF32;
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index adea2f6..41d4289 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -488,6 +488,12 @@ static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- else
- if (!PyString_Check(GET_TC(tc)->itemName))
- {
-+ if (UNLIKELY(GET_TC(tc)->itemName == Py_None))
-+ {
-+ GET_TC(tc)->itemName = PyString_FromString("null");
-+ return 1;
-+ }
-+
- GET_TC(tc)->itemName = PyObject_Str(GET_TC(tc)->itemName);
- #if PY_MAJOR_VERSION >= 3
- itemNameTmp = GET_TC(tc)->itemName;
-@@ -743,7 +749,7 @@ static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObject
- return;
- }
- else
-- if (PyString_Check(obj) && !PyHasAttrStringPreserveErr(obj, "__json__"))
-+ if (PyString_Check(obj) && LIKELY(!PyHasAttrStringPreserveErr(obj, "__json__")))
- {
- PRINTMARK();
- pc->PyTypeToJSON = PyStringToUTF8; tc->type = JT_UTF8;
-@@ -837,7 +843,7 @@ ISITERABLE:
- }
- */
-
-- if (PyObject_HasAttrString(obj, "toDict"))
-+ if (UNLIKELY(PyObject_HasAttrString(obj, "toDict")))
- {
- PyObject* toDictFunc = PyObject_GetAttrString(obj, "toDict");
- PyObject* tuple = PyTuple_New(0);
-@@ -863,7 +869,7 @@ ISITERABLE:
- return;
- }
- else
-- if (PyObject_HasAttrString(obj, "__json__"))
-+ if (UNLIKELY(PyObject_HasAttrString(obj, "__json__")))
- {
- PyObject* toJSONFunc = PyObject_GetAttrString(obj, "__json__");
- PyObject* tuple = PyTuple_New(0);
diff --git a/dev-python/ujson/files/ujson-1.35-test-depricationwarning.patch b/dev-python/ujson/files/ujson-1.35-test-depricationwarning.patch
deleted file mode 100644
index 6ce987581c4f..000000000000
--- a/dev-python/ujson/files/ujson-1.35-test-depricationwarning.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ujson-1.35.orig/tests/tests.py 2017-04-14 18:14:36.298345782 -0700
-+++ ujson-1.35/tests/tests.py 2017-04-14 18:14:47.899947795 -0700
-@@ -702,7 +702,7 @@
-
- output = ujson.encode(ObjectTest())
- dec = ujson.decode(output)
-- self.assertEquals(dec, {})
-+ self.assertEqual(dec, {})
-
- def test_toDict(self):
- d = {"key": 31337}
diff --git a/dev-python/ujson/files/ujson-1.35-use-static-where-possible.patch b/dev-python/ujson/files/ujson-1.35-use-static-where-possible.patch
deleted file mode 100644
index 7ce5d44e0e7a..000000000000
--- a/dev-python/ujson/files/ujson-1.35-use-static-where-possible.patch
+++ /dev/null
@@ -1,591 +0,0 @@
-commit 6cf6c7ff25c883349e8e9e5468e61498358e2e91
-Author: WGH <wgh@torlan.ru>
-Date: Sat Aug 27 17:34:22 2016 +0300
-
- added "static" to C functions, where possible
-
- 1. It reduces clutter in symbol table.
- 2. It fixes issues with C99 inline semantics for functions
- marked as inline (#237, #180, #222), which manifests
- when compiled with GCC>=5.
-
-diff --git a/lib/ultrajsondec.c b/lib/ultrajsondec.c
-index 21a732e..19efc60 100644
---- a/lib/ultrajsondec.c
-+++ b/lib/ultrajsondec.c
-@@ -66,7 +66,7 @@ struct DecoderState
- JSONObjectDecoder *dec;
- };
-
--JSOBJ FASTCALL_MSVC decode_any( struct DecoderState *ds) FASTCALL_ATTR;
-+static JSOBJ FASTCALL_MSVC decode_any( struct DecoderState *ds) FASTCALL_ATTR;
- typedef JSOBJ (*PFN_DECODER)( struct DecoderState *ds);
-
- static JSOBJ SetError( struct DecoderState *ds, int offset, const char *message)
-@@ -76,13 +76,13 @@ static JSOBJ SetError( struct DecoderState *ds, int offset, const char *message)
- return NULL;
- }
-
--double createDouble(double intNeg, double intValue, double frcValue, int frcDecimalCount)
-+static double createDouble(double intNeg, double intValue, double frcValue, int frcDecimalCount)
- {
- static const double g_pow10[] = {1.0, 0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001,0.0000001, 0.00000001, 0.000000001, 0.0000000001, 0.00000000001, 0.000000000001, 0.0000000000001, 0.00000000000001, 0.000000000000001};
- return (intValue + (frcValue * g_pow10[frcDecimalCount])) * intNeg;
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
- {
- char *end;
- double value;
-@@ -99,7 +99,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decodePreciseFloat(struct DecoderState *ds)
- return ds->dec->newDouble(ds->prv, value);
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_numeric (struct DecoderState *ds)
- {
- int intNeg = 1;
- int mantSize = 0;
-@@ -309,7 +309,7 @@ BREAK_EXP_LOOP:
- return ds->dec->newDouble (ds->prv, createDouble( (double) intNeg, (double) intValue , frcValue, decimalCount) * pow(10.0, expValue * expNeg));
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_true ( struct DecoderState *ds)
- {
- char *offset = ds->start;
- offset ++;
-@@ -329,7 +329,7 @@ SETERROR:
- return SetError(ds, -1, "Unexpected character found when decoding 'true'");
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_false ( struct DecoderState *ds)
- {
- char *offset = ds->start;
- offset ++;
-@@ -351,7 +351,7 @@ SETERROR:
- return SetError(ds, -1, "Unexpected character found when decoding 'false'");
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_null ( struct DecoderState *ds)
- {
- char *offset = ds->start;
- offset ++;
-@@ -371,7 +371,7 @@ SETERROR:
- return SetError(ds, -1, "Unexpected character found when decoding 'null'");
- }
-
--FASTCALL_ATTR void FASTCALL_MSVC SkipWhitespace(struct DecoderState *ds)
-+static FASTCALL_ATTR void FASTCALL_MSVC SkipWhitespace(struct DecoderState *ds)
- {
- char *offset = ds->start;
-
-@@ -422,7 +422,7 @@ static const JSUINT8 g_decoderLookup[256] =
- /* 0xf0 */ 4, 4, 4, 4, 4, 4, 4, 4, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR, DS_UTFLENERROR,
- };
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
- {
- JSUTF16 sur[2] = { 0 };
- int iSur = 0;
-@@ -672,7 +672,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_string ( struct DecoderState *ds)
- }
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
- {
- JSOBJ itemValue;
- JSOBJ newObj;
-@@ -736,7 +736,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_array(struct DecoderState *ds)
- }
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
- {
- JSOBJ itemName;
- JSOBJ itemValue;
-@@ -819,7 +819,7 @@ FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_object( struct DecoderState *ds)
- }
- }
-
--FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_any(struct DecoderState *ds)
-+static FASTCALL_ATTR JSOBJ FASTCALL_MSVC decode_any(struct DecoderState *ds)
- {
- for (;;)
- {
-diff --git a/lib/ultrajsonenc.c b/lib/ultrajsonenc.c
-index 6c1b120..f330171 100644
---- a/lib/ultrajsonenc.c
-+++ b/lib/ultrajsonenc.c
-@@ -112,7 +112,7 @@ static void SetError (JSOBJ obj, JSONObjectEncoder *enc, const char *message)
- /*
- FIXME: Keep track of how big these get across several encoder calls and try to make an estimate
- That way we won't run our head into the wall each call */
--void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
-+static void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
- {
- size_t curSize = enc->end - enc->start;
- size_t newSize = curSize * 2;
-@@ -148,7 +148,7 @@ void Buffer_Realloc (JSONObjectEncoder *enc, size_t cbNeeded)
- enc->end = enc->start + newSize;
- }
-
--FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value)
-+static FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (char *outputOffset, unsigned short value)
- {
- *(outputOffset++) = g_hexChars[(value & 0xf000) >> 12];
- *(outputOffset++) = g_hexChars[(value & 0x0f00) >> 8];
-@@ -156,7 +156,7 @@ FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC Buffer_AppendShortHexUnchecked (c
- *(outputOffset++) = g_hexChars[(value & 0x000f) >> 0];
- }
-
--int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, const char *end)
-+static int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, const char *end)
- {
- char *of = (char *) enc->offset;
-
-@@ -260,7 +260,7 @@ int Buffer_EscapeStringUnvalidated (JSONObjectEncoder *enc, const char *io, cons
- }
- }
-
--int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end)
-+static int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char *io, const char *end)
- {
- JSUTF32 ucs;
- char *of = (char *) enc->offset;
-@@ -498,19 +498,19 @@ int Buffer_EscapeStringValidated (JSOBJ obj, JSONObjectEncoder *enc, const char
- #define Buffer_AppendCharUnchecked(__enc, __chr) \
- *((__enc)->offset++) = __chr; \
-
--FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse(char* begin, char* end)
-+static FASTCALL_ATTR INLINE_PREFIX void FASTCALL_MSVC strreverse(char* begin, char* end)
- {
- char aux;
- while (end > begin)
- aux = *end, *end-- = *begin, *begin++ = aux;
- }
-
--void Buffer_AppendIndentNewlineUnchecked(JSONObjectEncoder *enc)
-+static void Buffer_AppendIndentNewlineUnchecked(JSONObjectEncoder *enc)
- {
- if (enc->indent > 0) Buffer_AppendCharUnchecked(enc, '\n');
- }
-
--void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
-+static void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
- {
- int i;
- if (enc->indent > 0)
-@@ -519,7 +519,7 @@ void Buffer_AppendIndentUnchecked(JSONObjectEncoder *enc, JSINT32 value)
- Buffer_AppendCharUnchecked(enc, ' ');
- }
-
--void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
-+static void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
- {
- char* wstr;
- JSUINT32 uvalue = (value < 0) ? -value : value;
-@@ -535,7 +535,7 @@ void Buffer_AppendIntUnchecked(JSONObjectEncoder *enc, JSINT32 value)
- enc->offset += (wstr - (enc->offset));
- }
-
--void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
-+static void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
- {
- char* wstr;
- JSUINT64 uvalue = (value < 0) ? -value : value;
-@@ -551,7 +551,7 @@ void Buffer_AppendLongUnchecked(JSONObjectEncoder *enc, JSINT64 value)
- enc->offset += (wstr - (enc->offset));
- }
-
--void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
-+static void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
- {
- char* wstr;
- JSUINT64 uvalue = value;
-@@ -566,7 +566,7 @@ void Buffer_AppendUnsignedLongUnchecked(JSONObjectEncoder *enc, JSUINT64 value)
- enc->offset += (wstr - (enc->offset));
- }
-
--int Buffer_AppendDoubleUnchecked(JSOBJ obj, JSONObjectEncoder *enc, double value)
-+static int Buffer_AppendDoubleUnchecked(JSOBJ obj, JSONObjectEncoder *enc, double value)
- {
- /* if input is larger than thres_max, revert to exponential */
- const double thres_max = (double) 1e16 - 1;
-@@ -714,7 +714,7 @@ Handle integration functions returning NULL here */
- FIXME:
- Perhaps implement recursion detection */
-
--void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName)
-+static void encode(JSOBJ obj, JSONObjectEncoder *enc, const char *name, size_t cbName)
- {
- const char *value;
- char *objName;
-diff --git a/python/JSONtoObj.c b/python/JSONtoObj.c
-index 79d9f1a..6cef088 100644
---- a/python/JSONtoObj.c
-+++ b/python/JSONtoObj.c
-@@ -43,7 +43,7 @@ http://www.opensource.apple.com/source/tcl/tcl-14/tcl/license.terms
- //#define PRINTMARK() fprintf(stderr, "%s: MARK(%d)\n", __FILE__, __LINE__)
- #define PRINTMARK()
-
--void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
-+static void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
- {
- PyDict_SetItem (obj, name, value);
- Py_DECREF( (PyObject *) name);
-@@ -51,59 +51,59 @@ void Object_objectAddKey(void *prv, JSOBJ obj, JSOBJ name, JSOBJ value)
- return;
- }
-
--void Object_arrayAddItem(void *prv, JSOBJ obj, JSOBJ value)
-+static void Object_arrayAddItem(void *prv, JSOBJ obj, JSOBJ value)
- {
- PyList_Append(obj, value);
- Py_DECREF( (PyObject *) value);
- return;
- }
-
--JSOBJ Object_newString(void *prv, wchar_t *start, wchar_t *end)
-+static JSOBJ Object_newString(void *prv, wchar_t *start, wchar_t *end)
- {
- return PyUnicode_FromWideChar (start, (end - start));
- }
-
--JSOBJ Object_newTrue(void *prv)
-+static JSOBJ Object_newTrue(void *prv)
- {
- Py_RETURN_TRUE;
- }
-
--JSOBJ Object_newFalse(void *prv)
-+static JSOBJ Object_newFalse(void *prv)
- {
- Py_RETURN_FALSE;
- }
-
--JSOBJ Object_newNull(void *prv)
-+static JSOBJ Object_newNull(void *prv)
- {
- Py_RETURN_NONE;
- }
-
--JSOBJ Object_newObject(void *prv)
-+static JSOBJ Object_newObject(void *prv)
- {
- return PyDict_New();
- }
-
--JSOBJ Object_newArray(void *prv)
-+static JSOBJ Object_newArray(void *prv)
- {
- return PyList_New(0);
- }
-
--JSOBJ Object_newInteger(void *prv, JSINT32 value)
-+static JSOBJ Object_newInteger(void *prv, JSINT32 value)
- {
- return PyInt_FromLong( (long) value);
- }
-
--JSOBJ Object_newLong(void *prv, JSINT64 value)
-+static JSOBJ Object_newLong(void *prv, JSINT64 value)
- {
- return PyLong_FromLongLong (value);
- }
-
--JSOBJ Object_newUnsignedLong(void *prv, JSUINT64 value)
-+static JSOBJ Object_newUnsignedLong(void *prv, JSUINT64 value)
- {
- return PyLong_FromUnsignedLongLong (value);
- }
-
--JSOBJ Object_newDouble(void *prv, double value)
-+static JSOBJ Object_newDouble(void *prv, double value)
- {
- return PyFloat_FromDouble(value);
- }
-diff --git a/python/objToJSON.c b/python/objToJSON.c
-index 04a4575..1960d40 100644
---- a/python/objToJSON.c
-+++ b/python/objToJSON.c
-@@ -226,7 +226,7 @@ static void *PyDateToINT64(JSOBJ _obj, JSONTypeContext *tc, void *outValue, size
- return NULL;
- }
-
--int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- PyObject *item;
-
-@@ -242,21 +242,21 @@ int Tuple_iterNext(JSOBJ obj, JSONTypeContext *tc)
- return 1;
- }
-
--void Tuple_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void Tuple_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- }
-
--JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ Tuple_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->itemValue;
- }
-
--char *Tuple_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *Tuple_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- return NULL;
- }
-
--int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- PyObject *item;
-
-@@ -282,7 +282,7 @@ int Iter_iterNext(JSOBJ obj, JSONTypeContext *tc)
- return 1;
- }
-
--void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- if (GET_TC(tc)->itemValue)
- {
-@@ -297,17 +297,17 @@ void Iter_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- }
- }
-
--JSOBJ Iter_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ Iter_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->itemValue;
- }
-
--char *Iter_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *Iter_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- return NULL;
- }
-
--void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- if (GET_TC(tc)->itemValue)
- {
-@@ -325,7 +325,7 @@ void Dir_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- PRINTMARK();
- }
-
--int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
-+static int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
- {
- PyObject *obj = (PyObject *) _obj;
- PyObject *itemValue = GET_TC(tc)->itemValue;
-@@ -401,20 +401,20 @@ int Dir_iterNext(JSOBJ _obj, JSONTypeContext *tc)
- return 1;
- }
-
--JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ Dir_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- PRINTMARK();
- return GET_TC(tc)->itemValue;
- }
-
--char *Dir_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *Dir_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- PRINTMARK();
- *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
- return PyString_AS_STRING(GET_TC(tc)->itemName);
- }
-
--int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- if (GET_TC(tc)->index >= GET_TC(tc)->size)
- {
-@@ -427,16 +427,16 @@ int List_iterNext(JSOBJ obj, JSONTypeContext *tc)
- return 1;
- }
-
--void List_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void List_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- }
-
--JSOBJ List_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ List_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->itemValue;
- }
-
--char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- return NULL;
- }
-@@ -447,7 +447,7 @@ char *List_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- // itemValue is borrowed from object (which is dict). No refCounting
- //=============================================================================
-
--int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- #if PY_MAJOR_VERSION >= 3
- PyObject* itemNameTmp;
-@@ -488,7 +488,7 @@ int Dict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- return 1;
- }
-
--void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- if (GET_TC(tc)->itemName)
- {
-@@ -499,18 +499,18 @@ void Dict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- PRINTMARK();
- }
-
--JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ Dict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->itemValue;
- }
-
--char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *Dict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
- return PyString_AS_STRING(GET_TC(tc)->itemName);
- }
-
--int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int SortedDict_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- PyObject *items = NULL, *item = NULL, *key = NULL, *value = NULL;
- Py_ssize_t i, nitems;
-@@ -603,7 +603,7 @@ error:
- return -1;
- }
-
--void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- GET_TC(tc)->itemName = NULL;
- GET_TC(tc)->itemValue = NULL;
-@@ -612,19 +612,19 @@ void SortedDict_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- PRINTMARK();
- }
-
--JSOBJ SortedDict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ SortedDict_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->itemValue;
- }
-
--char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *SortedDict_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- *outLen = PyString_GET_SIZE(GET_TC(tc)->itemName);
- return PyString_AS_STRING(GET_TC(tc)->itemName);
- }
-
-
--void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
-+static void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
- {
- if (enc->sortKeys) {
- pc->iterEnd = SortedDict_iterEnd;
-@@ -642,7 +642,7 @@ void SetupDictIter(PyObject *dictObj, TypeContext *pc, JSONObjectEncoder *enc)
- pc->index = 0;
- }
-
--void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
-+static void Object_beginTypeContext (JSOBJ _obj, JSONTypeContext *tc, JSONObjectEncoder *enc)
- {
- PyObject *obj, *exc, *iter;
- TypeContext *pc;
-@@ -929,7 +929,7 @@ INVALID:
- return;
- }
-
--void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
-+static void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
- {
- Py_XDECREF(GET_TC(tc)->newObj);
-
-@@ -937,33 +937,33 @@ void Object_endTypeContext(JSOBJ obj, JSONTypeContext *tc)
- tc->prv = NULL;
- }
-
--const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen)
-+static const char *Object_getStringValue(JSOBJ obj, JSONTypeContext *tc, size_t *_outLen)
- {
- return GET_TC(tc)->PyTypeToJSON (obj, tc, NULL, _outLen);
- }
-
--JSINT64 Object_getLongValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSINT64 Object_getLongValue(JSOBJ obj, JSONTypeContext *tc)
- {
- JSINT64 ret;
- GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
- return ret;
- }
-
--JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSUINT64 Object_getUnsignedLongValue(JSOBJ obj, JSONTypeContext *tc)
- {
- JSUINT64 ret;
- GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
- return ret;
- }
-
--JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSINT32 Object_getIntValue(JSOBJ obj, JSONTypeContext *tc)
- {
- JSINT32 ret;
- GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
- return ret;
- }
-
--double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc)
-+static double Object_getDoubleValue(JSOBJ obj, JSONTypeContext *tc)
- {
- double ret;
- GET_TC(tc)->PyTypeToJSON (obj, tc, &ret, NULL);
-@@ -975,22 +975,22 @@ static void Object_releaseObject(JSOBJ _obj)
- Py_DECREF( (PyObject *) _obj);
- }
-
--int Object_iterNext(JSOBJ obj, JSONTypeContext *tc)
-+static int Object_iterNext(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->iterNext(obj, tc);
- }
-
--void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc)
-+static void Object_iterEnd(JSOBJ obj, JSONTypeContext *tc)
- {
- GET_TC(tc)->iterEnd(obj, tc);
- }
-
--JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
-+static JSOBJ Object_iterGetValue(JSOBJ obj, JSONTypeContext *tc)
- {
- return GET_TC(tc)->iterGetValue(obj, tc);
- }
-
--char *Object_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
-+static char *Object_iterGetName(JSOBJ obj, JSONTypeContext *tc, size_t *outLen)
- {
- return GET_TC(tc)->iterGetName(obj, tc, outLen);
- }
diff --git a/dev-python/ujson/ujson-1.35-r1.ebuild b/dev-python/ujson/ujson-1.35-r1.ebuild
deleted file mode 100644
index 389113fbc471..000000000000
--- a/dev-python/ujson/ujson-1.35-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Ultra fast JSON encoder and decoder for Python"
-HOMEPAGE="https://pypi.org/project/ujson/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-sort_keys-segfault.patch"
- "${FILESDIR}/${P}-use-static-where-possible.patch"
- "${FILESDIR}/${P}-fix-for-overflowing-long.patch"
- "${FILESDIR}/${P}-standard-handling-of-none.patch"
- "${FILESDIR}/${P}-fix-ordering-of-orderdict.patch"
- "${FILESDIR}/${P}-test-depricationwarning.patch"
-)
-
-python_test() {
- "${PYTHON}" tests/tests.py || die
-}
diff --git a/dev-python/ujson/ujson-4.0.1.ebuild b/dev-python/ujson/ujson-4.0.1.ebuild
deleted file mode 100644
index b6555cc8fa73..000000000000
--- a/dev-python/ujson/ujson-4.0.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{7..9} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Ultra fast JSON encoder and decoder for Python"
-HOMEPAGE="https://pypi.org/project/ujson/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]
- test? ( dev-python/pytz[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ujson/ujson-4.0.2.ebuild b/dev-python/ujson/ujson-4.0.2.ebuild
index cf43a19546ea..555f2bbcce49 100644
--- a/dev-python/ujson/ujson-4.0.2.ebuild
+++ b/dev-python/ujson/ujson-4.0.2.ebuild
@@ -12,7 +12,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 x86 ~amd64-linux ~x86-linux"
BDEPEND="
dev-python/setuptools_scm[${PYTHON_USEDEP}]