Something went wrong. Try again.
What happens if I push all of nixpkgs
Something went wrong. Try again.
24 kB · 576 lines
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577diff --git a/LICENSE.cpython b/LICENSE.cpythonnew file mode 100644index 0000000..14603b9--- /dev/null+++ b/LICENSE.cpython@@ -0,0 +1,277 @@+A. HISTORY OF THE SOFTWARE+==========================++Python was created in the early 1990s by Guido van Rossum at Stichting+Mathematisch Centrum (CWI, see https://www.cwi.nl) in the Netherlands+as a successor of a language called ABC. Guido remains Python's+principal author, although it includes many contributions from others.++In 1995, Guido continued his work on Python at the Corporation for+National Research Initiatives (CNRI, see https://www.cnri.reston.va.us)+in Reston, Virginia where he released several versions of the+software.++In May 2000, Guido and the Python core development team moved to+BeOpen.com to form the BeOpen PythonLabs team. In October of the same+year, the PythonLabs team moved to Digital Creations, which became+Zope Corporation. In 2001, the Python Software Foundation (PSF, see+https://www.python.org/psf/) was formed, a non-profit organization+created specifically to own Python-related Intellectual Property.+Zope Corporation was a sponsoring member of the PSF.++All Python releases are Open Source (see https://opensource.org for+the Open Source Definition). Historically, most, but not all, Python+releases have also been GPL-compatible; the table below summarizes+the various releases.++ Release Derived Year Owner GPL-+ from compatible? (1)++ 0.9.0 thru 1.2 1991-1995 CWI yes+ 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes+ 1.6 1.5.2 2000 CNRI no+ 2.0 1.6 2000 BeOpen.com no+ 1.6.1 1.6 2001 CNRI yes (2)+ 2.1 2.0+1.6.1 2001 PSF no+ 2.0.1 2.0+1.6.1 2001 PSF yes+ 2.1.1 2.1+2.0.1 2001 PSF yes+ 2.1.2 2.1.1 2002 PSF yes+ 2.1.3 2.1.2 2002 PSF yes+ 2.2 and above 2.1.1 2001-now PSF yes++Footnotes:++(1) GPL-compatible doesn't mean that we're distributing Python under+ the GPL. All Python licenses, unlike the GPL, let you distribute+ a modified version without making your changes open source. The+ GPL-compatible licenses make it possible to combine Python with+ other software that is released under the GPL; the others don't.++(2) According to Richard Stallman, 1.6.1 is not GPL-compatible,+ because its license has a choice of law clause. According to+ CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1+ is "not incompatible" with the GPL.++Thanks to the many outside volunteers who have worked under Guido's+direction to make these releases possible.+++B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON+===============================================================++Python software and documentation are licensed under the+Python Software Foundation License Version 2.++Starting with Python 3.8.6, examples, recipes, and other code in+the documentation are dual licensed under the PSF License Version 2+and the Zero-Clause BSD license.++Some software incorporated into Python is under different licenses.+The licenses are listed with code falling under that license.+++PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2+--------------------------------------------++1. This LICENSE AGREEMENT is between the Python Software Foundation+("PSF"), and the Individual or Organization ("Licensee") accessing and+otherwise using this software ("Python") in source or binary form and+its associated documentation.++2. Subject to the terms and conditions of this License Agreement, PSF hereby+grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,+analyze, test, perform and/or display publicly, prepare derivative works,+distribute, and otherwise use Python alone or in any derivative version,+provided, however, that PSF's License Agreement and PSF's notice of copyright,+i.e., "Copyright (c) 2001-2024 Python Software Foundation; All Rights Reserved"+are retained in Python alone or in any derivative version prepared by Licensee.++3. In the event Licensee prepares a derivative work that is based on+or incorporates Python or any part thereof, and wants to make+the derivative work available to others as provided herein, then+Licensee hereby agrees to include in any such work a brief summary of+the changes made to Python.++4. PSF is making Python available to Licensee on an "AS IS"+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT+INFRINGE ANY THIRD PARTY RIGHTS.++5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON+FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.++6. This License Agreement will automatically terminate upon a material+breach of its terms and conditions.++7. Nothing in this License Agreement shall be deemed to create any+relationship of agency, partnership, or joint venture between PSF and+Licensee. This License Agreement does not grant permission to use PSF+trademarks or trade name in a trademark sense to endorse or promote+products or services of Licensee, or any third party.++8. By copying, installing or otherwise using Python, Licensee+agrees to be bound by the terms and conditions of this License+Agreement.+++BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0+-------------------------------------------++BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1++1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an+office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the+Individual or Organization ("Licensee") accessing and otherwise using+this software in source or binary form and its associated+documentation ("the Software").++2. Subject to the terms and conditions of this BeOpen Python License+Agreement, BeOpen hereby grants Licensee a non-exclusive,+royalty-free, world-wide license to reproduce, analyze, test, perform+and/or display publicly, prepare derivative works, distribute, and+otherwise use the Software alone or in any derivative version,+provided, however, that the BeOpen Python License is retained in the+Software, alone or in any derivative version prepared by Licensee.++3. BeOpen is making the Software available to Licensee on an "AS IS"+basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT+INFRINGE ANY THIRD PARTY RIGHTS.++4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE+SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS+AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY+DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.++5. This License Agreement will automatically terminate upon a material+breach of its terms and conditions.++6. This License Agreement shall be governed by and interpreted in all+respects by the law of the State of California, excluding conflict of+law provisions. Nothing in this License Agreement shall be deemed to+create any relationship of agency, partnership, or joint venture+between BeOpen and Licensee. This License Agreement does not grant+permission to use BeOpen trademarks or trade names in a trademark+sense to endorse or promote products or services of Licensee, or any+third party. As an exception, the "BeOpen Python" logos available at+http://www.pythonlabs.com/logos.html may be used according to the+permissions granted on that web page.++7. By copying, installing or otherwise using the software, Licensee+agrees to be bound by the terms and conditions of this License+Agreement.+++CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1+---------------------------------------++1. This LICENSE AGREEMENT is between the Corporation for National+Research Initiatives, having an office at 1895 Preston White Drive,+Reston, VA 20191 ("CNRI"), and the Individual or Organization+("Licensee") accessing and otherwise using Python 1.6.1 software in+source or binary form and its associated documentation.++2. Subject to the terms and conditions of this License Agreement, CNRI+hereby grants Licensee a nonexclusive, royalty-free, world-wide+license to reproduce, analyze, test, perform and/or display publicly,+prepare derivative works, distribute, and otherwise use Python 1.6.1+alone or in any derivative version, provided, however, that CNRI's+License Agreement and CNRI's notice of copyright, i.e., "Copyright (c)+1995-2001 Corporation for National Research Initiatives; All Rights+Reserved" are retained in Python 1.6.1 alone or in any derivative+version prepared by Licensee. Alternately, in lieu of CNRI's License+Agreement, Licensee may substitute the following text (omitting the+quotes): "Python 1.6.1 is made available subject to the terms and+conditions in CNRI's License Agreement. This Agreement together with+Python 1.6.1 may be located on the internet using the following+unique, persistent identifier (known as a handle): 1895.22/1013. This+Agreement may also be obtained from a proxy server on the internet+using the following URL: http://hdl.handle.net/1895.22/1013".++3. In the event Licensee prepares a derivative work that is based on+or incorporates Python 1.6.1 or any part thereof, and wants to make+the derivative work available to others as provided herein, then+Licensee hereby agrees to include in any such work a brief summary of+the changes made to Python 1.6.1.++4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS"+basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT+INFRINGE ANY THIRD PARTY RIGHTS.++5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON+1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1,+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.++6. This License Agreement will automatically terminate upon a material+breach of its terms and conditions.++7. This License Agreement shall be governed by the federal+intellectual property law of the United States, including without+limitation the federal copyright law, and, to the extent such+U.S. federal law does not apply, by the law of the Commonwealth of+Virginia, excluding Virginia's conflict of law provisions.+Notwithstanding the foregoing, with regard to derivative works based+on Python 1.6.1 that incorporate non-separable material that was+previously distributed under the GNU General Public License (GPL), the+law of the Commonwealth of Virginia shall govern this License+Agreement only as to issues arising under or with respect to+Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this+License Agreement shall be deemed to create any relationship of+agency, partnership, or joint venture between CNRI and Licensee. This+License Agreement does not grant permission to use CNRI trademarks or+trade name in a trademark sense to endorse or promote products or+services of Licensee, or any third party.++8. By clicking on the "ACCEPT" button where indicated, or by copying,+installing or otherwise using Python 1.6.1, Licensee agrees to be+bound by the terms and conditions of this License Agreement.++ ACCEPT+++CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2+--------------------------------------------------++Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam,+The Netherlands. All rights reserved.++Permission to use, copy, modify, and distribute this software and its+documentation for any purpose and without fee is hereby granted,+provided that the above copyright notice appear in all copies and that+both that copyright notice and this permission notice appear in+supporting documentation, and that the name of Stichting Mathematisch+Centrum or CWI not be used in advertising or publicity pertaining to+distribution of the software without specific, written prior+permission.++STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO+THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND+FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE+FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.++ZERO-CLAUSE BSD LICENSE FOR CODE IN THE PYTHON DOCUMENTATION+----------------------------------------------------------------------++Permission to use, copy, modify, and/or distribute this software for any+purpose with or without fee is hereby granted.++THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR+PERFORMANCE OF THIS SOFTWARE.diff --git a/nose/importer.py b/nose/importer.pyindex e677658..77099eb 100644--- a/nose/importer.py+++ b/nose/importer.py@@ -7,9 +7,10 @@ the builtin importer. import logging import os import sys+import tokenize from nose.config import Config--from imp import find_module, load_module, acquire_lock, release_lock+from importlib import _imp+from importlib import machinery log = logging.getLogger(__name__) @@ -20,6 +21,244 @@ except AttributeError: return (os.path.normcase(os.path.realpath(src)) == os.path.normcase(os.path.realpath(dst))) +################################################################################+# BEGIN IMPORTLIB SHIMS+################################################################################++# Adapted from the CPython 3.11 imp.py code.+# Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Python Software Foundation; All Rights Reserved+# Originally licensed under the PSLv2 (see LICENSE.cpython) and incorporated under the LGPL 2.1 (see lgpl.txt).++try:+ from _imp import create_dynamic+except ImportError:+ # Platform doesn't support dynamic loading.+ create_dynamic = None++from importlib._bootstrap import _ERR_MSG, _exec, _load, _builtin_from_name+from importlib._bootstrap_external import SourcelessFileLoader++from importlib import machinery+from importlib import util+import importlib+import os+import sys+import tokenize+import types+++SEARCH_ERROR = 0+PY_SOURCE = 1+PY_COMPILED = 2+C_EXTENSION = 3+PY_RESOURCE = 4+PKG_DIRECTORY = 5+C_BUILTIN = 6+PY_FROZEN = 7+PY_CODERESOURCE = 8+IMP_HOOK = 9+++def get_suffixes():+ extensions = [(s, 'rb', C_EXTENSION) for s in machinery.EXTENSION_SUFFIXES]+ source = [(s, 'r', PY_SOURCE) for s in machinery.SOURCE_SUFFIXES]+ bytecode = [(s, 'rb', PY_COMPILED) for s in machinery.BYTECODE_SUFFIXES]++ return extensions + source + bytecode+++class _HackedGetData:++ """Compatibility support for 'file' arguments of various load_*()+ functions."""++ def __init__(self, fullname, path, file=None):+ super().__init__(fullname, path)+ self.file = file++ def get_data(self, path):+ """Gross hack to contort loader to deal w/ load_*()'s bad API."""+ if self.file and path == self.path:+ # The contract of get_data() requires us to return bytes. Reopen the+ # file in binary mode if needed.+ if not self.file.closed:+ file = self.file+ if 'b' not in file.mode:+ file.close()+ if self.file.closed:+ self.file = file = open(self.path, 'rb')++ with file:+ return file.read()+ else:+ return super().get_data(path)+++class _LoadSourceCompatibility(_HackedGetData, machinery.SourceFileLoader):++ """Compatibility support for implementing load_source()."""+++def load_source(name, pathname, file=None):+ loader = _LoadSourceCompatibility(name, pathname, file)+ spec = util.spec_from_file_location(name, pathname, loader=loader)+ if name in sys.modules:+ module = _exec(spec, sys.modules[name])+ else:+ module = _load(spec)+ # To allow reloading to potentially work, use a non-hacked loader which+ # won't rely on a now-closed file object.+ module.__loader__ = machinery.SourceFileLoader(name, pathname)+ module.__spec__.loader = module.__loader__+ return module+++class _LoadCompiledCompatibility(_HackedGetData, SourcelessFileLoader):++ """Compatibility support for implementing load_compiled()."""+++def load_compiled(name, pathname, file=None):+ loader = _LoadCompiledCompatibility(name, pathname, file)+ spec = util.spec_from_file_location(name, pathname, loader=loader)+ if name in sys.modules:+ module = _exec(spec, sys.modules[name])+ else:+ module = _load(spec)+ # To allow reloading to potentially work, use a non-hacked loader which+ # won't rely on a now-closed file object.+ module.__loader__ = SourcelessFileLoader(name, pathname)+ module.__spec__.loader = module.__loader__+ return module+++def load_package(name, path):+ if os.path.isdir(path):+ extensions = (machinery.SOURCE_SUFFIXES[:] ++ machinery.BYTECODE_SUFFIXES[:])+ for extension in extensions:+ init_path = os.path.join(path, '__init__' + extension)+ if os.path.exists(init_path):+ path = init_path+ break+ else:+ raise ValueError('{!r} is not a package'.format(path))+ spec = util.spec_from_file_location(name, path,+ submodule_search_locations=[])+ if name in sys.modules:+ return _exec(spec, sys.modules[name])+ else:+ return _load(spec)+++def load_module(name, file, filename, details):+ """++ Load a module, given information returned by find_module().++ The module name must include the full package name, if any.++ """+ suffix, mode, type_ = details+ if mode and (not mode.startswith('r') or '+' in mode):+ raise ValueError('invalid file open mode {!r}'.format(mode))+ elif file is None and type_ in {PY_SOURCE, PY_COMPILED}:+ msg = 'file object required for import (type code {})'.format(type_)+ raise ValueError(msg)+ elif type_ == PY_SOURCE:+ return load_source(name, filename, file)+ elif type_ == PY_COMPILED:+ return load_compiled(name, filename, file)+ elif type_ == PKG_DIRECTORY:+ return load_package(name, filename)+ elif type_ == C_BUILTIN:+ return init_builtin(name)+ elif type_ == PY_FROZEN:+ return _imp.init_frozen(name)+ else:+ msg = "Don't know how to import {} (type code {})".format(name, type_)+ raise ImportError(msg, name=name)+++def find_module(name, path=None):+ """++ Search for a module.++ If path is omitted or None, search for a built-in, frozen or special+ module and continue search in sys.path. The module name cannot+ contain '.'; to search for a submodule of a package, pass the+ submodule name and the package's __path__.++ """+ if not isinstance(name, str):+ raise TypeError("'name' must be a str, not {}".format(type(name)))+ elif not isinstance(path, (type(None), list)):+ # Backwards-compatibility+ raise RuntimeError("'path' must be None or a list, "+ "not {}".format(type(path)))++ if path is None:+ if _imp.is_builtin(name):+ return None, None, ('', '', C_BUILTIN)+ elif _imp.is_frozen(name):+ return None, None, ('', '', PY_FROZEN)+ else:+ path = sys.path++ for entry in path:+ package_directory = os.path.join(entry, name)+ for suffix in ['.py', machinery.BYTECODE_SUFFIXES[0]]:+ package_file_name = '__init__' + suffix+ file_path = os.path.join(package_directory, package_file_name)+ if os.path.isfile(file_path):+ return None, package_directory, ('', '', PKG_DIRECTORY)+ for suffix, mode, type_ in get_suffixes():+ file_name = name + suffix+ file_path = os.path.join(entry, file_name)+ if os.path.isfile(file_path):+ break+ else:+ continue+ break # Break out of outer loop when breaking out of inner loop.+ else:+ raise ImportError(_ERR_MSG.format(name), name=name)++ encoding = None+ if 'b' not in mode:+ with open(file_path, 'rb') as file:+ encoding = tokenize.detect_encoding(file.readline)[0]+ file = open(file_path, mode, encoding=encoding)+ return file, file_path, (suffix, mode, type_)+++def reload(module):+ """++ Reload the module and return it.++ The module must have been successfully imported before.++ """+ return importlib.reload(module)+++def init_builtin(name):+ """++ Load and return a built-in module by name, or None is such module doesn't+ exist+ """+ try:+ return _builtin_from_name(name)+ except ImportError:+ return None+++################################################################################+# END IMPORTLIB SHIMS+################################################################################+ class Importer(object): """An importer class that does only path-specific imports. That@@ -73,7 +312,7 @@ class Importer(object): else: part_fqname = "%s.%s" % (part_fqname, part) try:- acquire_lock()+ _imp.acquire_lock() log.debug("find module part %s (%s) in %s", part, part_fqname, path) fh, filename, desc = find_module(part, path)@@ -95,7 +334,7 @@ class Importer(object): finally: if fh: fh.close()- release_lock()+ _imp.release_lock() if parent: setattr(parent, part, mod) if hasattr(mod, '__path__'):diff --git a/nose/result.py b/nose/result.pyindex f974a14..228a42c 100644--- a/nose/result.py+++ b/nose/result.py@@ -13,7 +13,7 @@ try: # 2.7+ from unittest.runner import _TextTestResult except ImportError:- from unittest import _TextTestResult+ from unittest import TextTestResult as _TextTestResult from nose.config import Config from nose.util import isclass, ln as _ln # backwards compat