mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-02-20 17:52:50 +00:00
Merge remote-tracking branch 'origin/master' into 3339-assertutil-python-3
This commit is contained in:
commit
0469c15e5d
@ -329,7 +329,7 @@ jobs:
|
||||
- image: "nixorg/nix:circleci"
|
||||
|
||||
environment:
|
||||
NIX_PATH: "nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-20.03-small.tar.gz"
|
||||
NIX_PATH: "nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-19.09-small.tar.gz"
|
||||
|
||||
steps:
|
||||
- "checkout"
|
||||
|
@ -60,7 +60,8 @@ class mymf(modulefinder.ModuleFinder):
|
||||
self._depgraph[last_caller.__name__].add(fqname)
|
||||
return r
|
||||
|
||||
def load_module(self, fqname, fp, pathname, (suffix, mode, type)):
|
||||
def load_module(self, fqname, fp, pathname, additional_info):
|
||||
(suffix, mode, type) = additional_info
|
||||
r = modulefinder.ModuleFinder.load_module(
|
||||
self, fqname, fp, pathname, (suffix, mode, type))
|
||||
if r is not None:
|
||||
@ -71,7 +72,7 @@ class mymf(modulefinder.ModuleFinder):
|
||||
return {
|
||||
'depgraph': {
|
||||
name: dict.fromkeys(deps, 1)
|
||||
for name, deps in self._depgraph.iteritems()},
|
||||
for name, deps in self._depgraph.items()},
|
||||
'types': self._types,
|
||||
}
|
||||
|
||||
@ -101,20 +102,25 @@ def main(target):
|
||||
filepath = path
|
||||
moduleNames.append(reflect.filenameToModuleName(filepath))
|
||||
|
||||
with tempfile.NamedTemporaryFile() as tmpfile:
|
||||
with tempfile.NamedTemporaryFile("w") as tmpfile:
|
||||
for moduleName in moduleNames:
|
||||
tmpfile.write('import %s\n' % moduleName)
|
||||
tmpfile.flush()
|
||||
mf.run_script(tmpfile.name)
|
||||
|
||||
with open('tahoe-deps.json', 'wb') as outfile:
|
||||
with open('tahoe-deps.json', 'w') as outfile:
|
||||
json_dump(mf.as_json(), outfile)
|
||||
outfile.write('\n')
|
||||
|
||||
ported_modules_path = os.path.join(target, "src", "allmydata", "ported-modules.txt")
|
||||
with open(ported_modules_path) as ported_modules:
|
||||
port_status = dict.fromkeys((line.strip() for line in ported_modules), "ported")
|
||||
with open('tahoe-ported.json', 'wb') as outfile:
|
||||
ported_modules_path = os.path.join(target, "src", "allmydata", "util", "_python3.py")
|
||||
with open(ported_modules_path) as f:
|
||||
ported_modules = {}
|
||||
exec(f.read(), ported_modules, ported_modules)
|
||||
port_status = dict.fromkeys(
|
||||
ported_modules["PORTED_MODULES"] + ported_modules["PORTED_TEST_MODULES"],
|
||||
"ported"
|
||||
)
|
||||
with open('tahoe-ported.json', 'w') as outfile:
|
||||
json_dump(port_status, outfile)
|
||||
outfile.write('\n')
|
||||
|
||||
|
0
newsfragments/3338.minor
Normal file
0
newsfragments/3338.minor
Normal file
35
nix/future.nix
Normal file
35
nix/future.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "future";
|
||||
version = "0.18.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256:0zakvfj87gy6mn1nba06sdha63rn4njm7bhh0wzyrxhcny8avgmi";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Clean single-source support for Python 3 and 2";
|
||||
longDescription = ''
|
||||
python-future is the missing compatibility layer between Python 2 and
|
||||
Python 3. It allows you to use a single, clean Python 3.x-compatible
|
||||
codebase to support both Python 2 and Python 3 with minimal overhead.
|
||||
|
||||
It provides future and past packages with backports and forward ports
|
||||
of features from Python 3 and 2. It also comes with futurize and
|
||||
pasteurize, customized 2to3-based scripts that helps you to convert
|
||||
either Py2 or Py3 code easily to support both Python 2 and 3 in a
|
||||
single clean Py3-style codebase, module by module.
|
||||
'';
|
||||
homepage = https://python-future.org;
|
||||
downloadPage = https://github.com/PythonCharmers/python-future/releases;
|
||||
license = with lib.licenses; [ mit ];
|
||||
maintainers = with lib.maintainers; [ prikhi ];
|
||||
};
|
||||
}
|
@ -10,6 +10,11 @@ self: super: {
|
||||
# NixOS autobahn package has trollius as a dependency, although
|
||||
# it is optional. Trollius is unmaintained and fails on CI.
|
||||
autobahn = python-super.callPackage ./autobahn.nix { };
|
||||
|
||||
# Porting to Python 3 is greatly aided by the future package. A
|
||||
# slightly newer version than appears in nixos 19.09 is helpful.
|
||||
future = python-super.callPackage ./future.nix { };
|
||||
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
, setuptools, setuptoolsTrial, pyasn1, zope_interface
|
||||
, service-identity, pyyaml, magic-wormhole, treq, appdirs
|
||||
, beautifulsoup4, eliot, autobahn, cryptography
|
||||
, html5lib, future, pyutil
|
||||
, html5lib, pyutil
|
||||
}:
|
||||
python.pkgs.buildPythonPackage rec {
|
||||
version = "1.14.0.dev";
|
||||
|
Loading…
x
Reference in New Issue
Block a user