Skip to content

Commit f3cfc52

Browse files
jimmodpgeorge
authored andcommitted
unix-ffi: Move more unix-only packages to unix-ffi.
With the dependencies captured in manifest.py, several packages in python-stdlib were still unix-only due to direct or transitive dependencies on unix-only or ffi modules. Or they just make no sense to run on microcontroller targets. In a few cases (e.g. base64) where possible, the unix dependency could be removed. Updates manifest.py to use the `unix_ffi=True` arg to `require()` for these libraries. Rename re-pcre to re now that unix-ffi is effectively its own namespace. Update unix-ffi/README.md, and strengthen the wording that the unix libraries are unmaintained. Signed-off-by: Jim Mussared <[email protected]>
1 parent ce66e70 commit f3cfc52

File tree

74 files changed

+51
-119
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+51
-119
lines changed

python-stdlib/base64/base64.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def b64decode(s, altchars=None, validate=False):
9696
altchars = _bytes_from_decode_data(altchars)
9797
assert len(altchars) == 2, repr(altchars)
9898
s = s.translate(bytes.maketrans(altchars, b"+/"))
99-
if validate and not re.match(b"^[A-Za-z0-9+/]*={0,2}$", s):
99+
if validate and not re.match(b"^[A-Za-z0-9+/]*=*$", s):
100100
raise binascii.Error("Non-base64 digit found")
101101
return binascii.a2b_base64(s)
102102

python-stdlib/base64/manifest.py

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
metadata(version="3.3.3-4")
22

33
require("binascii")
4-
require("re-pcre")
54
require("struct")
65

76
module("base64.py")

python-stdlib/email.charset/manifest.py

-7
This file was deleted.

python-stdlib/email.feedparser/manifest.py

-8
This file was deleted.

python-stdlib/email.header/manifest.py

-9
This file was deleted.

python-stdlib/email.internal/manifest.py

-15
This file was deleted.

python-stdlib/email.message/manifest.py

-11
This file was deleted.

python-stdlib/email.parser/manifest.py

-8
This file was deleted.

python-stdlib/glob/manifest.py

-7
This file was deleted.

python-stdlib/html.parser/manifest.py

-8
This file was deleted.

python-stdlib/http.client/manifest.py

-10
This file was deleted.

python-stdlib/uu/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
metadata(version="0.5.1")
22

33
require("binascii")
4-
require("os")
4+
require("os.path")
55

66
module("uu.py")

unix-ffi/README.md

+16-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
metadata(version="3.3.3-1")
22

3-
require("re-pcre")
3+
require("re", unix_ffi=True)
44

55
module("_markupbase.py")
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

python-stdlib/email.encoders/manifest.py renamed to unix-ffi/email.encoders/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
require("base64")
44
require("binascii")
55
require("quopri")
6-
require("re-pcre")
6+
require("re", unix_ffi=True)
77
require("string")
88

99
package("email")

python-stdlib/email.utils/email/utils.py renamed to unix-ffi/email.utils/email/utils.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,10 @@ def make_msgid(idstring=None, domain=None):
215215
"""
216216
timeval = time.time()
217217
utcdate = time.strftime("%Y%m%d%H%M%S", time.gmtime(timeval))
218-
pid = os.getpid()
218+
if hasattr(os, "getpid"):
219+
pid = os.getpid()
220+
else:
221+
pid = 0
219222
randint = random.randrange(100000)
220223
if idstring is None:
221224
idstring = ""
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
metadata(version="3.3.3-2")
22

3-
require("os")
4-
require("re-pcre")
3+
require("os", unix_ffi=True)
4+
require("re", unix_ffi=True)
55
require("base64")
66
require("random")
77
require("datetime")
8-
require("urllib.parse")
8+
require("urllib.parse", unix_ffi=True)
99
require("warnings")
1010
require("quopri")
11-
require("email.charset")
11+
require("email.charset", unix_ffi=True)
1212

1313
package("email")

unix-ffi/fcntl/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
# Originally written by Paul Sokolovsky.
44

5-
require("ffilib")
5+
require("ffilib", unix_ffi=True)
66

77
module("fcntl.py")
File renamed without changes.
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
metadata(version="3.3.3-1")
22

3-
require("os")
3+
require("os", unix_ffi=True)
44

55
module("getopt.py")

unix-ffi/gettext/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
# Originally written by Riccardo Magliocchetti.
44

5-
require("ffilib")
5+
require("ffilib", unix_ffi=True)
66

77
module("gettext.py")
File renamed without changes.
File renamed without changes.

unix-ffi/machine/manifest.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
# Originally written by Paul Sokolovsky.
44

5-
require("ffilib")
6-
require("os")
7-
require("signal")
5+
require("ffilib", unix_ffi=True)
6+
require("os", unix_ffi=True)
7+
require("signal", unix_ffi=True)
88

99
package("machine")

unix-ffi/multiprocessing/manifest.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
# Originally written by Paul Sokolovsky.
44

5-
require("os")
6-
require("select")
5+
require("os", unix_ffi=True)
6+
require("select", unix_ffi=True)
77
require("pickle")
88

99
module("multiprocessing.py")

unix-ffi/os/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# Originally written by Paul Sokolovsky.
44

5-
require("ffilib")
5+
require("ffilib", unix_ffi=True)
66
require("errno")
77
require("stat")
88

unix-ffi/pwd/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
# Originally written by Riccardo Magliocchetti.
44

5-
require("ffilib")
5+
require("ffilib", unix_ffi=True)
66

77
module("pwd.py")

unix-ffi/re-pcre/manifest.py renamed to unix-ffi/re/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
# Originally written by Paul Sokolovsky.
44

5-
require("ffilib")
5+
require("ffilib", unix_ffi=True)
66

77
module("re.py")
File renamed without changes.
File renamed without changes.

unix-ffi/select/manifest.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# Originally written by Paul Sokolovsky.
44

5-
require("os")
6-
require("ffilib")
5+
require("os", unix_ffi=True)
6+
require("ffilib", unix_ffi=True)
77

88
module("select.py")

unix-ffi/signal/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
# Originally written by Paul Sokolovsky.
44

5-
require("ffilib")
5+
require("ffilib", unix_ffi=True)
66

77
module("signal.py")
File renamed without changes.
File renamed without changes.

unix-ffi/sqlite3/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
# Originally written by Paul Sokolovsky.
44

5-
require("ffilib")
5+
require("ffilib", unix_ffi=True)
66

77
module("sqlite3.py")

unix-ffi/time/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
metadata(version="0.5")
22

3-
require("ffilib")
3+
require("ffilib", unix_ffi=True)
44

55
module("time.py")
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
metadata(version="3.3.3-3")
22

3-
require("getopt")
3+
require("getopt", unix_ffi=True)
44
require("itertools")
55
# require("linecache") TODO
6-
require("time")
6+
require("time", unix_ffi=True)
77
require("traceback")
88

99
module("timeit.py")
File renamed without changes.

unix-ffi/ucurses/manifest.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
# Originally written by Paul Sokolovsky.
44

5-
require("os")
6-
require("tty")
7-
require("select")
5+
require("os", unix_ffi=True)
6+
require("tty", unix_ffi=True)
7+
require("select", unix_ffi=True)
88

99
package("ucurses")
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
metadata(version="0.9.0")
22

3-
require("argparse")
3+
require("argparse", unix_ffi=True)
44
require("fnmatch")
55

66
module("unittest.py")
File renamed without changes.

python-stdlib/urllib.parse/manifest.py renamed to unix-ffi/urllib.parse/manifest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
metadata(version="0.5.2")
22

3-
require("re-pcre")
3+
require("re", unix_ffi=True)
44
require("collections")
55
require("collections.defaultdict")
66

0 commit comments

Comments
 (0)