about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/graalvm/001_mx.py.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/graalvm/001_mx.py.patch')
-rw-r--r--nixpkgs/pkgs/development/compilers/graalvm/001_mx.py.patch291
1 files changed, 0 insertions, 291 deletions
diff --git a/nixpkgs/pkgs/development/compilers/graalvm/001_mx.py.patch b/nixpkgs/pkgs/development/compilers/graalvm/001_mx.py.patch
deleted file mode 100644
index 0477c6c556f1..000000000000
--- a/nixpkgs/pkgs/development/compilers/graalvm/001_mx.py.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-diff --git a/mx.py b/mx.py
-index a0b9315..b7d67a0 100755
---- a/mx.py
-+++ b/mx.py
-@@ -238,21 +238,7 @@ def _check_file_with_sha1(path, sha1, sha1path, mustExist=True, newFile=False, l
-             f.write(value or sha1OfFile(path))
- 
-     if exists(path):
--        if sha1Check and sha1:
--            if not _sha1CachedValid() or (newFile and sha1 != _sha1Cached()):
--                logv('Create/update SHA1 cache file ' + sha1path)
--                _writeSha1Cached()
--
--            if sha1 != _sha1Cached():
--                computedSha1 = sha1OfFile(path)
--                if sha1 == computedSha1:
--                    warn('Fixing corrupt SHA1 cache file ' + sha1path)
--                    _writeSha1Cached(computedSha1)
--                    return True
--                if logErrors:
--                    size = os.path.getsize(path)
--                    log_error('SHA1 of {} [size: {}] ({}) does not match expected value ({})'.format(TimeStampFile(path), size, computedSha1, sha1))
--                return False
-+        return True
-     elif mustExist:
-         if logErrors:
-             log_error("'{}' does not exist".format(path))
-@@ -1057,46 +1043,8 @@ class SuiteImport:
-         version = import_dict.get("version")
-         suite_dir = None
-         version_from = import_dict.get("versionFrom")
--        if version_from and version:
--            abort("In import for '{}': 'version' and 'versionFrom' can not be both set".format(name), context=context)
--        if version is None and version_from is None:
--            if not (in_subdir and (importer.vc_dir != importer.dir or isinstance(importer, BinarySuite))):
--                abort("In import for '{}': No version given and not a 'subdir' suite of the same repository".format(name), context=context)
--            if importer.isSourceSuite():
--                suite_dir = join(importer.vc_dir, name)
--            version = importer.version()
--        if urls is None:
--            if not in_subdir:
--                if import_dict.get("subdir") is None and importer.vc_dir != importer.dir:
--                    warn("In import for '{}': No urls given but 'subdir' is not set, assuming 'subdir=True'".format(name), context)
--                    in_subdir = True
--                else:
--                    abort("In import for '{}': No urls given and not a 'subdir' suite".format(name), context=context)
--            return SuiteImport(name, version, None, None, dynamicImport=dynamicImport, in_subdir=in_subdir, version_from=version_from, suite_dir=suite_dir)
--        # urls a list of alternatives defined as dicts
--        if not isinstance(urls, list):
--            abort('suite import urls must be a list', context=context)
--        urlinfos = []
--        mainKind = None
--        for urlinfo in urls:
--            if isinstance(urlinfo, dict) and urlinfo.get('url') and urlinfo.get('kind'):
--                kind = urlinfo.get('kind')
--                if not VC.is_valid_kind(kind):
--                    abort('suite import kind ' + kind + ' illegal', context=context)
--            else:
--                abort('suite import url must be a dict with {"url", kind", attributes', context=context)
--            vc = vc_system(kind)
--            if kind != 'binary':
--                assert not mainKind or mainKind == kind, "Only expecting one non-binary kind"
--                mainKind = kind
--            url = mx_urlrewrites.rewriteurl(urlinfo.get('url'))
--            urlinfos.append(SuiteImportURLInfo(url, kind, vc))
--        vc_kind = None
--        if mainKind:
--            vc_kind = mainKind
--        elif urlinfos:
--            vc_kind = 'binary'
--        return SuiteImport(name, version, urlinfos, vc_kind, dynamicImport=dynamicImport, in_subdir=in_subdir, version_from=version_from, suite_dir=suite_dir)
-+        suite_dir = join(get_env('MX_GIT_CACHE_DIR'), name)
-+        return SuiteImport(name, version, [], None, True, in_subdir=in_subdir, version_from=version_from, suite_dir=suite_dir)
- 
-     @staticmethod
-     def get_source_urls(source, kind=None):
-@@ -1467,8 +1415,6 @@ class Suite(object):
-     :type dists: list[Distribution]
-     """
-     def __init__(self, mxDir, primary, internal, importing_suite, load, vc, vc_dir, dynamicallyImported=False):
--        if primary is True and vc_dir is None:
--            abort("The primary suite must be in a vcs repository")
-         self.imported_by = [] if primary else [importing_suite]
-         self.mxDir = mxDir
-         self.dir = dirname(mxDir)
-@@ -1496,7 +1442,7 @@ class Suite(object):
-         self._outputRoot = None
-         self._preloaded_suite_dict = None
-         self.vc = vc
--        self.vc_dir = vc_dir
-+        self.vc_dir = get_env('MX_GIT_CACHE_DIR')
-         self._preload_suite_dict()
-         self._init_imports()
-         if load:
-@@ -2405,7 +2351,9 @@ class Repository(SuiteConstituent):
- class SourceSuite(Suite):
-     """A source suite"""
-     def __init__(self, mxDir, primary=False, load=True, internal=False, importing_suite=None, dynamicallyImported=False):
--        vc, vc_dir = VC.get_vc_root(dirname(mxDir), abortOnError=False)
-+        vc, vc_dir_test = VC.get_vc_root(dirname(mxDir), abortOnError=False)
-+        vc_dir = get_env('MX_GIT_CACHE_DIR')
-+        warn("LOOKING FOR: " + mxDir)
-         Suite.__init__(self, mxDir, primary, internal, importing_suite, load, vc, vc_dir, dynamicallyImported=dynamicallyImported)
-         logvv("SourceSuite.__init__({}), got vc={}, vc_dir={}".format(mxDir, self.vc, self.vc_dir))
-         self.projects = []
-@@ -2454,17 +2402,7 @@ class SourceSuite(Suite):
-         """
-         Gets the release tag from VC or create a time based once if VC is unavailable
-         """
--        if snapshotSuffix not in self._releaseVersion:
--            _version = self._get_early_suite_dict_property('version')
--            if _version and self.getMxCompatibility().addVersionSuffixToExplicitVersion():
--                if not self.is_release():
--                    _version = _version + '-' + snapshotSuffix
--            if not _version:
--                _version = self.vc.release_version_from_tags(self.vc_dir, self.name, snapshotSuffix=snapshotSuffix)
--            if not _version:
--                _version = 'unknown-{0}-{1}'.format(platform.node(), time.strftime('%Y-%m-%d_%H-%M-%S_%Z'))
--            self._releaseVersion[snapshotSuffix] = _version
--        return self._releaseVersion[snapshotSuffix]
-+        return get_env('version')
- 
-     def scm_metadata(self, abortOnError=False):
-         scm = self.scm
-@@ -2993,12 +2931,35 @@ def _find_suite_import(importing_suite, suite_import, fatalIfMissing=True, load=
-         Attempts to locate an existing suite in the local context
-         Returns the path to the mx.name dir if found else None
-         """
--        if mode == 'binary':
--            # binary suites are always stored relative to the importing suite in mx-private directory
--            return importing_suite._find_binary_suite_dir(suite_import.name)
-+        warn("FAKE CLONE: " + str(suite_import))
-+        if (suite_import.name == "truffle"):
-+            return join(get_env('TMP'), "source", "truffle", "mx.truffle")
-+        if (suite_import.name == "graal-nodejs"):
-+            return join(get_env('MX_GIT_CACHE_DIR'), "graaljs", "graal-nodejs", "mx.graal-nodejs")
-+        if (suite_import.name == "truffleruby"):
-+            return join(get_env('MX_GIT_CACHE_DIR'), "truffleruby", "mx.truffleruby")
-+        if (suite_import.name == "graalpython"):
-+            return join(get_env('MX_GIT_CACHE_DIR'), "graalpython", "mx.graalpython")
-+        if (suite_import.name == "vm"):
-+            return join(get_env('TMP'), "source", "vm", "mx.vm")
-+        if (suite_import.name == "fastr"):
-+            return join(get_env('MX_GIT_CACHE_DIR'), "fastr", "mx.fastr")
-+        if (suite_import.name == "sdk"):
-+            return join(get_env('TMP'), "source", "sdk", "mx.sdk")
-+        if (suite_import.name == "graal-js"):
-+            return join(get_env('MX_GIT_CACHE_DIR'), "graaljs", "graal-js", "mx.graal-js")
-+        if (suite_import.name == "regex"):
-+            return join(get_env('TMP'), "source", "regex", "mx.regex")
-+        if (suite_import.name == "substratevm"):
-+            return join(get_env('TMP'), "source", "substratevm", "mx.substratevm")
-+        if (suite_import.name == "tools"):
-+            return join(get_env('TMP'), "source", "tools", "mx.tools")
-+        if (suite_import.name == "sulong"):
-+            return join(get_env('TMP'), "source", "sulong", "mx.sulong")
-+        if (suite_import.name == "compiler"):
-+            return join(get_env('TMP'), "source", "compiler", "mx.compiler")
-         else:
--            # use the SuiteModel to locate a local source copy of the suite
--            return _suitemodel.find_suite_dir(suite_import)
-+            return join(get_env('MX_GIT_CACHE_DIR'), suite_import.name)
- 
-     def _get_import_dir(url, mode):
-         """Return directory where the suite will be cloned to"""
-@@ -3816,7 +3777,7 @@ def getmtime(name):
-     """
-     Wrapper for builtin open function that handles long path names on Windows.
-     """
--    return os.path.getmtime(_safe_path(name))
-+    return 315532800
- 
- 
- def stat(name):
-@@ -4062,57 +4023,8 @@ def _attempt_download(url, path, jarEntryName=None):
-     return False
- 
- def download(path, urls, verbose=False, abortOnError=True, verifyOnly=False):
--    """
--    Attempts to downloads content for each URL in a list, stopping after the first successful download.
--    If the content cannot be retrieved from any URL, the program is aborted, unless abortOnError=False.
--    The downloaded content is written to the file indicated by `path`.
--    """
--    if not verifyOnly:
--        ensure_dirname_exists(path)
--        assert not path.endswith(os.sep)
--
--    # https://docs.oracle.com/javase/7/docs/api/java/net/JarURLConnection.html
--    jarURLPattern = re.compile('jar:(.*)!/(.*)')
--    verify_errors = {}
--    for url in urls:
--        if not verifyOnly or verbose:
--            log('Downloading ' + url + ' to ' + path)
--        m = jarURLPattern.match(url)
--        jarEntryName = None
--        if m:
--            url = m.group(1)
--            jarEntryName = m.group(2)
--
--        if not _opts.trust_http and (url.lower().startswith('http://') or url.lower().startswith('ftp://')):
--            warn('Downloading from non-https URL {}. Use --trust-http mx option to suppress this warning.'.format(url))
--
--        if verifyOnly:
--            try:
--                conn = _urlopen(url, timeout=10)
--                conn.close()
--            except (IOError, socket.timeout) as e:
--                _suggest_tlsv1_error(e)
--                verify_errors[url] = e
--        else:
--            for i in range(4):
--                if i != 0:
--                    time.sleep(1)
--                    warn('Retry {} to download from {}'.format(i, url))
--                if _attempt_download(url, path, jarEntryName):
--                    return True # Download was successful
--
--    if verifyOnly and len(verify_errors) < len(urls): # verify-mode at least one success -> success
--        return True
--    else: # Either verification error or no download was successful
--        msg = 'Could not download to ' + path + ' from any of the following URLs: ' + ', '.join(urls)
--        if verifyOnly: # verify-mode -> print error details
--            for url, e in verify_errors.items():
--                msg += '\n  ' + url + ': ' + str(e)
--        if abortOnError:
--            abort(msg)
--        else:
--            warn(msg)
--            return False
-+    print("FAKE download(path={} urls={} verbose={} abortOnError={} verifyOnly={})".format(path, urls, verbose, abortOnError, verifyOnly))
-+    return True
- 
- def update_file(path, content, showDiff=False):
-     """
-@@ -7887,30 +7799,6 @@ class PackedResourceLibrary(ResourceLibrary):
- 
-     def get_path(self, resolve):
-         extract_path = _make_absolute(self.extract_path, self.suite.dir)
--        download_path = super(PackedResourceLibrary, self).get_path(resolve)
--        if resolve and self._check_extract_needed(extract_path, download_path):
--            extract_path_tmp = tempfile.mkdtemp(suffix=basename(extract_path), dir=dirname(extract_path))
--            try:
--                # extract archive
--                Extractor.create(download_path).extract(extract_path_tmp)
--                # ensure modification time is up to date
--                os.utime(extract_path_tmp, None)
--                logv("Moving temporary directory {} to {}".format(extract_path_tmp, extract_path))
--                try:
--                    # attempt atomic overwrite
--                    os.rename(extract_path_tmp, extract_path)
--                except OSError:
--                    # clean destination & re-try for cases where atomic overwrite doesn't work
--                    rmtree(extract_path, ignore_errors=True)
--                    os.rename(extract_path_tmp, extract_path)
--            except OSError as ose:
--                # Rename failed. Race with other process?
--                if self._check_extract_needed(extract_path, download_path):
--                    # ok something really went wrong
--                    abort("Extracting {} failed!".format(download_path), context=ose)
--            finally:
--                rmtree(extract_path_tmp, ignore_errors=True)
--
-         return extract_path
- 
-     def _check_download_needed(self):
-@@ -8430,7 +8318,7 @@ class VC(_with_metaclass(ABCMeta, object)):
-         :param str branch: a branch name
-         :param bool abortOnError: if True abort on error
-         """
--        abort(self.kind + " update_to_branch is not implemented")
-+        self.run(['hg', vcdir] + cmd)
- 
-     def is_release_from_tags(self, vcdir, prefix):
-         """
-@@ -8831,7 +8719,7 @@ class HgConfig(VC):
-                 return None
- 
-     def parent_info(self, vcdir, abortOnError=True):
--        out = self.hg_command(vcdir, ["log", "-r", ".", "--template", "{author}|||{date|hgdate}"], abortOnError=abortOnError)
-+        out = _check_output_str(["hg", '-R', vcdir, "log", "-r", ".", "--template", "{author}|||{date|hgdate}"])
-         author, date = out.split("|||")
-         ts, _ = date.split(" ")
-         return self._sanitize_parent_info({
-@@ -14069,6 +13957,7 @@ class Archiver(SafeFileCreation):
- 
-     def _add_zip(self, filename, archive_name, provenance):
-         self._add_provenance(archive_name, provenance)
-+        os.utime(filename, (315532800, 315532800))
-         self.zf.write(filename, archive_name)
- 
-     def _add_str_zip(self, data, archive_name, provenance):