diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/.ci/osx_ci.sh kivy-2.1.0-dev~daily0+202012120133-4876/.ci/osx_ci.sh --- kivy-2.1.0-dev~daily0+202012110133-4875/.ci/osx_ci.sh 2020-12-11 01:32:08.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/.ci/osx_ci.sh 2020-12-12 01:32:16.000000000 +0000 @@ -75,13 +75,6 @@ } generate_osx_wheels() { - # for some reason wheels sometimes fail to properly generate because both the parent and grandparent - # are named kivy so instead acquire a new grandparent name - root=$(pwd) - cd ~ - mv "$root" kivy_project - cd kivy_project - python3 -m pip install git+http://github.com/tito/osxrelocator python3 -m pip install --upgrade delocate python3 setup.py bdist_wheel @@ -125,9 +118,6 @@ popd delocate-addplat --rm-orig -x 10_9 -x 10_10 dist/*.whl - - cd .. - mv kivy_project "$root" } generate_osx_app_bundle() { diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/.ci/ubuntu_ci.sh kivy-2.1.0-dev~daily0+202012120133-4876/.ci/ubuntu_ci.sh --- kivy-2.1.0-dev~daily0+202012110133-4875/.ci/ubuntu_ci.sh 2020-12-11 01:32:08.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/.ci/ubuntu_ci.sh 2020-12-12 01:32:16.000000000 +0000 @@ -64,11 +64,7 @@ } install_kivy() { - path="$(pwd)" - ln -s "$path" ~/base_kivy - cd ~/base_kivy python3 -m pip install -e "$(pwd)[dev,full]" - cd "$path" } diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/.ci/windows_ci.ps1 kivy-2.1.0-dev~daily0+202012120133-4876/.ci/windows_ci.ps1 --- kivy-2.1.0-dev~daily0+202012110133-4875/.ci/windows_ci.ps1 2020-12-11 01:32:08.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/.ci/windows_ci.ps1 2020-12-12 01:32:16.000000000 +0000 @@ -77,11 +77,7 @@ } function Install-kivy { - $old=(pwd).Path - cmd /c mklink /d "$HOME\kivy" "$old" - cd "$HOME\kivy" python -m pip install -e .[dev,full] - cd "$old" } function Install-kivy-wheel { diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/debian/changelog kivy-2.1.0-dev~daily0+202012120133-4876/debian/changelog --- kivy-2.1.0-dev~daily0+202012110133-4875/debian/changelog 2020-12-11 01:33:44.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/debian/changelog 2020-12-12 01:33:54.000000000 +0000 @@ -1,8 +1,8 @@ -kivy (2.1.0-dev~daily0+202012110133-4875-pkg302~ubuntu20.10.1) groovy; urgency=low +kivy (2.1.0-dev~daily0+202012120133-4876-pkg302~ubuntu20.10.1) groovy; urgency=low * Auto build. - -- Kivy developers Fri, 11 Dec 2020 01:33:44 +0000 + -- Kivy developers Sat, 12 Dec 2020 01:33:54 +0000 kivy (2.1.0-dev) UNRELEASED; urgency=medium diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/debian/git-build-recipe.manifest kivy-2.1.0-dev~daily0+202012120133-4876/debian/git-build-recipe.manifest --- kivy-2.1.0-dev~daily0+202012110133-4875/debian/git-build-recipe.manifest 2020-12-11 01:33:44.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/debian/git-build-recipe.manifest 2020-12-12 01:33:54.000000000 +0000 @@ -1,8 +1,8 @@ -# git-build-recipe format 0.4 deb-version {debversion}~daily0+202012110133-4875-pkg302 -lp:kivy git-commit:0b7b6a19fb7d85a661c9a4b9df8861b6ae162123 +# git-build-recipe format 0.4 deb-version {debversion}~daily0+202012120133-4876-pkg302 +lp:kivy git-commit:4e2cd986ca6bd082c1f1032e31cb6eb88dfdb38b nest-part packaging lp:~thopiekar/kivy/+git/kivy-sdk-packager linux/debian/daily debian git-commit:066bebf95e4f7975f8169119a60be31c8a15310d nest kivycython lp:~kivy-team/cython/+git/cython cython git-commit:5377ae7973bbfa89aa5431fb3e5f5b133231e6ba -nest kivypip lp:~kivy-team/pip/+git/pip pip git-commit:27d8687144bf38cdaeeb1d81aa72c892b1d0ab88 +nest kivypip lp:~kivy-team/pip/+git/pip pip git-commit:0aee48ff1fbc0d60cd973c6929d9afb2bc32b839 nest kivysetuptools lp:~kivy-team/setuptools/+git/setuptools setuptools git-commit:b6bbe236ed0689f50b5148f1172510b975687e62 nest kivywheel lp:~kivy-team/pip/+git/wheel wheel git-commit:64550e15fdbc96d5690dc872257edc859c218068 -nest kivypackaging lp:~kivy-team/kivy/+git/packaging packaging git-commit:7e47a46880a594f17d1b110d388d22e5ead19fc4 +nest kivypackaging lp:~kivy-team/kivy/+git/packaging packaging git-commit:1534da56169d16a5f6b0ba90f748161c717dca9b diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/packaging/CHANGELOG.rst kivy-2.1.0-dev~daily0+202012120133-4876/packaging/CHANGELOG.rst --- kivy-2.1.0-dev~daily0+202012110133-4875/packaging/CHANGELOG.rst 2020-12-11 01:33:43.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/packaging/CHANGELOG.rst 2020-12-12 01:33:54.000000000 +0000 @@ -5,6 +5,8 @@ ~~~~~~~~~~~~ * Revert back to setuptools for compatibility purposes for some Linux distros (:issue:`363`) +* Do not insert an underscore in wheel tags when the interpreter version number + is more than 2 digits (:issue:`372`) 20.7 - 2020-11-28 ~~~~~~~~~~~~~~~~~ diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/packaging/noxfile.py kivy-2.1.0-dev~daily0+202012120133-4876/packaging/noxfile.py --- kivy-2.1.0-dev~daily0+202012110133-4875/packaging/noxfile.py 2020-12-11 01:33:43.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/packaging/noxfile.py 2020-12-12 01:33:54.000000000 +0000 @@ -86,13 +86,14 @@ @nox.session def release(session): package_name = "packaging" - version_file = Path(f"{package_name}/__init__.py") + version_file = Path(f"{package_name}/__about__.py") changelog_file = Path("CHANGELOG.rst") try: release_version = _get_version_from_arguments(session.posargs) except ValueError as e: session.error(f"Invalid arguments: {e}") + return # Check state of working directory and git. _check_working_directory_state(session) diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/packaging/packaging/tags.py kivy-2.1.0-dev~daily0+202012120133-4876/packaging/packaging/tags.py --- kivy-2.1.0-dev~daily0+202012110133-4875/packaging/packaging/tags.py 2020-12-11 01:33:43.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/packaging/packaging/tags.py 2020-12-12 01:33:54.000000000 +0000 @@ -827,11 +827,7 @@ def _version_nodot(version): # type: (PythonVersion) -> str - if any(v >= 10 for v in version): - sep = "_" - else: - sep = "" - return sep.join(map(str, version)) + return "".join(map(str, version)) def sys_tags(**kwargs): diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/packaging/tests/test_tags.py kivy-2.1.0-dev~daily0+202012120133-4876/packaging/tests/test_tags.py --- kivy-2.1.0-dev~daily0+202012110133-4875/packaging/tests/test_tags.py 2020-12-11 01:33:43.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/packaging/tests/test_tags.py 2020-12-12 01:33:54.000000000 +0000 @@ -33,11 +33,6 @@ @pytest.fixture -def is_x86(): - return re.match(r"(i\d86|x86_64)", platform.machine()) is not None - - -@pytest.fixture def manylinux_module(monkeypatch): monkeypatch.setattr(tags, "_get_glibc_version", lambda *args: (2, 20)) module_name = "_manylinux" @@ -195,9 +190,9 @@ "version_info,version_str", [ ((1, 2, 3), "12"), - ((1, 12, 3), "1_12"), - ((11, 2, 3), "11_2"), - ((11, 12, 3), "11_12"), + ((1, 12, 3), "112"), + ((11, 2, 3), "112"), + ((11, 12, 3), "1112"), ((1, 2, 13), "12"), ], ) @@ -503,7 +498,7 @@ linux_platform = list(tags._linux_platforms(is_32bit=False)) assert linux_platform == ["linux_x86_64"] - def test_linux_platforms_manylinux1(self, is_x86, monkeypatch): + def test_linux_platforms_manylinux1(self, monkeypatch): monkeypatch.setattr( tags, "_is_manylinux_compatible", lambda name, *args: name == "manylinux1" ) @@ -514,7 +509,7 @@ arch = platform.machine() assert platforms == ["manylinux1_" + arch, "linux_" + arch] - def test_linux_platforms_manylinux2010(self, is_x86, monkeypatch): + def test_linux_platforms_manylinux2010(self, monkeypatch): monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64") monkeypatch.setattr(platform, "machine", lambda: "x86_64") monkeypatch.setattr(os, "confstr", lambda x: "glibc 2.12", raising=False) @@ -535,7 +530,7 @@ ] assert platforms == expected - def test_linux_platforms_manylinux2014(self, is_x86, monkeypatch): + def test_linux_platforms_manylinux2014(self, monkeypatch): monkeypatch.setattr(distutils.util, "get_platform", lambda: "linux_x86_64") monkeypatch.setattr(platform, "machine", lambda: "x86_64") monkeypatch.setattr(os, "confstr", lambda x: "glibc 2.17", raising=False) @@ -827,20 +822,20 @@ def test_all_args(self): result_iterator = tags.cpython_tags( - (3, 11), ["cp3_11d", "cp3_11"], ["plat1", "plat2"] + (3, 11), ["cp311d", "cp311"], ["plat1", "plat2"] ) result = list(result_iterator) assert result == [ - tags.Tag("cp3_11", "cp3_11d", "plat1"), - tags.Tag("cp3_11", "cp3_11d", "plat2"), - tags.Tag("cp3_11", "cp3_11", "plat1"), - tags.Tag("cp3_11", "cp3_11", "plat2"), - tags.Tag("cp3_11", "abi3", "plat1"), - tags.Tag("cp3_11", "abi3", "plat2"), - tags.Tag("cp3_11", "none", "plat1"), - tags.Tag("cp3_11", "none", "plat2"), - tags.Tag("cp3_10", "abi3", "plat1"), - tags.Tag("cp3_10", "abi3", "plat2"), + tags.Tag("cp311", "cp311d", "plat1"), + tags.Tag("cp311", "cp311d", "plat2"), + tags.Tag("cp311", "cp311", "plat1"), + tags.Tag("cp311", "cp311", "plat2"), + tags.Tag("cp311", "abi3", "plat1"), + tags.Tag("cp311", "abi3", "plat2"), + tags.Tag("cp311", "none", "plat1"), + tags.Tag("cp311", "none", "plat2"), + tags.Tag("cp310", "abi3", "plat1"), + tags.Tag("cp310", "abi3", "plat2"), tags.Tag("cp39", "abi3", "plat1"), tags.Tag("cp39", "abi3", "plat2"), tags.Tag("cp38", "abi3", "plat1"), @@ -910,11 +905,11 @@ assert tags.Tag("cp38", "none", "any") in result def test_abi_defaults_needs_underscore(self, monkeypatch): - monkeypatch.setattr(tags, "_cpython_abis", lambda _1, _2: ["cp3_11"]) + monkeypatch.setattr(tags, "_cpython_abis", lambda _1, _2: ["cp311"]) result = list(tags.cpython_tags((3, 11), platforms=["any"])) - assert tags.Tag("cp3_11", "cp3_11", "any") in result - assert tags.Tag("cp3_11", "abi3", "any") in result - assert tags.Tag("cp3_11", "none", "any") in result + assert tags.Tag("cp311", "cp311", "any") in result + assert tags.Tag("cp311", "abi3", "any") in result + assert tags.Tag("cp311", "none", "any") in result def test_platforms_defaults(self, monkeypatch): monkeypatch.setattr(tags, "_platform_tags", lambda: ["plat1"]) @@ -924,7 +919,7 @@ def test_platforms_defaults_needs_underscore(self, monkeypatch): monkeypatch.setattr(tags, "_platform_tags", lambda: ["plat1"]) result = list(tags.cpython_tags((3, 11), abis=["whatever"])) - assert tags.Tag("cp3_11", "whatever", "plat1") in result + assert tags.Tag("cp311", "whatever", "plat1") in result def test_major_only_python_version(self): result = list(tags.cpython_tags((3,), ["abi"], ["plat"])) @@ -1062,14 +1057,14 @@ ] def test_all_args_needs_underscore(self): - result = list(tags.compatible_tags((3, 11), "cp3_11", ["plat1", "plat2"])) + result = list(tags.compatible_tags((3, 11), "cp311", ["plat1", "plat2"])) assert result == [ - tags.Tag("py3_11", "none", "plat1"), - tags.Tag("py3_11", "none", "plat2"), + tags.Tag("py311", "none", "plat1"), + tags.Tag("py311", "none", "plat2"), tags.Tag("py3", "none", "plat1"), tags.Tag("py3", "none", "plat2"), - tags.Tag("py3_10", "none", "plat1"), - tags.Tag("py3_10", "none", "plat2"), + tags.Tag("py310", "none", "plat1"), + tags.Tag("py310", "none", "plat2"), tags.Tag("py39", "none", "plat1"), tags.Tag("py39", "none", "plat2"), tags.Tag("py38", "none", "plat1"), @@ -1090,10 +1085,10 @@ tags.Tag("py31", "none", "plat2"), tags.Tag("py30", "none", "plat1"), tags.Tag("py30", "none", "plat2"), - tags.Tag("cp3_11", "none", "any"), - tags.Tag("py3_11", "none", "any"), + tags.Tag("cp311", "none", "any"), + tags.Tag("py311", "none", "any"), tags.Tag("py3", "none", "any"), - tags.Tag("py3_10", "none", "any"), + tags.Tag("py310", "none", "any"), tags.Tag("py39", "none", "any"), tags.Tag("py38", "none", "any"), tags.Tag("py37", "none", "any"), @@ -1129,11 +1124,11 @@ def test_default_python_version_needs_underscore(self, monkeypatch): monkeypatch.setattr(sys, "version_info", (3, 11)) - result = list(tags.compatible_tags(interpreter="cp3_11", platforms=["plat"])) + result = list(tags.compatible_tags(interpreter="cp311", platforms=["plat"])) assert result == [ - tags.Tag("py3_11", "none", "plat"), + tags.Tag("py311", "none", "plat"), tags.Tag("py3", "none", "plat"), - tags.Tag("py3_10", "none", "plat"), + tags.Tag("py310", "none", "plat"), tags.Tag("py39", "none", "plat"), tags.Tag("py38", "none", "plat"), tags.Tag("py37", "none", "plat"), @@ -1144,10 +1139,10 @@ tags.Tag("py32", "none", "plat"), tags.Tag("py31", "none", "plat"), tags.Tag("py30", "none", "plat"), - tags.Tag("cp3_11", "none", "any"), - tags.Tag("py3_11", "none", "any"), + tags.Tag("cp311", "none", "any"), + tags.Tag("py311", "none", "any"), tags.Tag("py3", "none", "any"), - tags.Tag("py3_10", "none", "any"), + tags.Tag("py310", "none", "any"), tags.Tag("py39", "none", "any"), tags.Tag("py38", "none", "any"), tags.Tag("py37", "none", "any"), diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/pip/news/9117.bugfix.rst kivy-2.1.0-dev~daily0+202012120133-4876/pip/news/9117.bugfix.rst --- kivy-2.1.0-dev~daily0+202012110133-4875/pip/news/9117.bugfix.rst 1970-01-01 00:00:00.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/pip/news/9117.bugfix.rst 2020-12-12 01:33:16.000000000 +0000 @@ -0,0 +1,2 @@ +New resolver: The "Requirement already satisfied" log is not printed only once +for each package during resolution. diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/pip/src/pip/_internal/resolution/resolvelib/factory.py kivy-2.1.0-dev~daily0+202012120133-4876/pip/src/pip/_internal/resolution/resolvelib/factory.py --- kivy-2.1.0-dev~daily0+202012110133-4875/pip/src/pip/_internal/resolution/resolvelib/factory.py 2020-12-11 01:33:11.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/pip/src/pip/_internal/resolution/resolvelib/factory.py 2020-12-12 01:33:16.000000000 +0000 @@ -96,6 +96,8 @@ self._link_candidate_cache = {} # type: Cache[LinkCandidate] self._editable_candidate_cache = {} # type: Cache[EditableCandidate] + self._installed_candidate_cache = { + } # type: Dict[str, AlreadyInstalledCandidate] if not ignore_installed: self._installed_dists = { @@ -117,7 +119,11 @@ template, # type: InstallRequirement ): # type: (...) -> Candidate - base = AlreadyInstalledCandidate(dist, template, factory=self) + try: + base = self._installed_candidate_cache[dist.key] + except KeyError: + base = AlreadyInstalledCandidate(dist, template, factory=self) + self._installed_candidate_cache[dist.key] = base if extras: return ExtrasCandidate(base, extras) return base diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/setup.cfg kivy-2.1.0-dev~daily0+202012120133-4876/setup.cfg --- kivy-2.1.0-dev~daily0+202012110133-4875/setup.cfg 2020-12-11 01:32:09.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/setup.cfg 2020-12-12 01:32:16.000000000 +0000 @@ -18,6 +18,7 @@ */pyinstaller/*_widget/* plugins = kivy.tools.coverage +concurrency = thread, multiprocessing [options] python_requires = >=3.6 diff -Nru kivy-2.1.0-dev~daily0+202012110133-4875/setup.py kivy-2.1.0-dev~daily0+202012120133-4876/setup.py --- kivy-2.1.0-dev~daily0+202012110133-4875/setup.py 2020-12-11 01:32:09.000000000 +0000 +++ kivy-2.1.0-dev~daily0+202012120133-4876/setup.py 2020-12-12 01:32:16.000000000 +0000 @@ -534,18 +534,6 @@ # ----------------------------------------------------------------------------- # declare flags - -def get_modulename_from_file(filename): - filename = filename.replace(sep, '/') - pyx = '.'.join(filename.split('.')[:-1]) - pyxl = pyx.split('/') - while pyxl[0] != 'kivy': - pyxl.pop(0) - if pyxl[1] == 'kivy': - pyxl.pop(0) - return '.'.join(pyxl) - - def expand(root, *args): return join(root, 'kivy', *args) @@ -999,23 +987,23 @@ return ext_modules for pyx, flags in sources.items(): is_graphics = pyx.startswith('graphics') - pyx = expand(src_path, pyx) + pyx_path = expand(src_path, pyx) depends = [expand(src_path, x) for x in flags.pop('depends', [])] c_depends = [expand(src_path, x) for x in flags.pop('c_depends', [])] if not can_use_cython: # can't use cython, so use the .c files instead. - pyx = '%s.c' % pyx[:-4] + pyx_path = '%s.c' % pyx_path[:-4] if is_graphics: - depends = resolve_dependencies(pyx, depends) + depends = resolve_dependencies(pyx_path, depends) f_depends = [x for x in depends if x.rsplit('.', 1)[-1] in ( 'c', 'cpp', 'm')] - module_name = get_modulename_from_file(pyx) + module_name = '.'.join(['kivy'] + pyx[:-4].split('/')) flags_clean = {'depends': depends} for key, value in flags.items(): if len(value): flags_clean[key] = value ext_modules.append(CythonExtension( - module_name, [pyx] + f_depends + c_depends, **flags_clean)) + module_name, [pyx_path] + f_depends + c_depends, **flags_clean)) return ext_modules