about summary refs log tree commit diff
path: root/pkgs/development/compilers/nim/extra-mangling.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers/nim/extra-mangling.patch')
-rw-r--r--pkgs/development/compilers/nim/extra-mangling.patch48
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 '.':