diff options
Diffstat (limited to 'pkgs/development/compilers/nim/extra-mangling.patch')
-rw-r--r-- | pkgs/development/compilers/nim/extra-mangling.patch | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/pkgs/development/compilers/nim/extra-mangling.patch b/pkgs/development/compilers/nim/extra-mangling.patch deleted file mode 100644 index b68f7033994d..000000000000 --- a/pkgs/development/compilers/nim/extra-mangling.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/compiler/modulepaths.nim b/compiler/modulepaths.nim -index e80ea3fa6..8ecf27a85 100644 ---- a/compiler/modulepaths.nim -+++ b/compiler/modulepaths.nim -@@ -70,6 +70,13 @@ proc checkModuleName*(conf: ConfigRef; n: PNode; doLocalError=true): FileIndex = - else: - result = fileInfoIdx(conf, fullPath) - -+proc rot13(result: var string) = -+ for i, c in result: -+ case c -+ of 'a'..'m', 'A'..'M': result[i] = char(c.uint8 + 13) -+ of 'n'..'z', 'N'..'Z': result[i] = char(c.uint8 - 13) -+ else: discard -+ - proc mangleModuleName*(conf: ConfigRef; path: AbsoluteFile): string = - ## Mangle a relative module path to avoid path and symbol collisions. - ## -@@ -78,9 +85,11 @@ proc mangleModuleName*(conf: ConfigRef; path: AbsoluteFile): string = - ## - ## Example: - ## `foo-#head/../bar` becomes `@foo-@hhead@s..@sbar` -- "@m" & relativeTo(path, conf.projectPath).string.multiReplace( -+ result = "@m" & relativeTo(path, conf.projectPath).string.multiReplace( - {$os.DirSep: "@s", $os.AltSep: "@s", "#": "@h", "@": "@@", ":": "@c"}) -+ rot13(result) - - proc demangleModuleName*(path: string): string = - ## Demangle a relative module path. - result = path.multiReplace({"@@": "@", "@h": "#", "@s": "/", "@m": "", "@c": ":"}) -+ rot13(result) -diff --git a/compiler/msgs.nim b/compiler/msgs.nim -index 3f386cc61..054f7f647 100644 ---- a/compiler/msgs.nim -+++ b/compiler/msgs.nim -@@ -659,8 +659,10 @@ proc uniqueModuleName*(conf: ConfigRef; fid: FileIndex): string = - for i in 0..<trunc: - let c = rel[i] - case c -- of 'a'..'z': -- result.add c -+ of 'a'..'m': -+ result.add char(c.uint8 + 13) -+ of 'n'..'z': -+ result.add char(c.uint8 - 13) - of {os.DirSep, os.AltSep}: - result.add 'Z' # because it looks a bit like '/' - of '.': |