summaryrefslogtreecommitdiff
path: root/dev-ada/langkit/files/langkit-2017-gentoo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-ada/langkit/files/langkit-2017-gentoo.patch')
-rw-r--r--dev-ada/langkit/files/langkit-2017-gentoo.patch80
1 files changed, 80 insertions, 0 deletions
diff --git a/dev-ada/langkit/files/langkit-2017-gentoo.patch b/dev-ada/langkit/files/langkit-2017-gentoo.patch
new file mode 100644
index 000000000000..ecb7ce6e74dd
--- /dev/null
+++ b/dev-ada/langkit/files/langkit-2017-gentoo.patch
@@ -0,0 +1,80 @@
+--- langkit-gps-src/langkit/templates/project_file.mako.old 2017-07-11 14:19:12.841221846 +0200
++++ langkit-gps-src/langkit/templates/project_file.mako 2017-07-11 14:12:39.104981170 +0200
+@@ -82,9 +82,11 @@
+ for Default_Switches ("Ada") use
+ Common_Ada_Cargs & ("-g", "-O0", "-gnatwe", "-gnata");
+
+- for Default_Switches ("C") use Common_C_Cargs & ("-g3", "-O0");
++ for Default_Switches ("C") use Common_C_Cargs &
++ ("-g3", "-O0", "-fPIC");
+
+- for Switches ("quex_lexer.c") use Common_C_Cargs & ("-g0", "-O0");
++ for Switches ("quex_lexer.c") use Common_C_Cargs &
++ ("-g0", "-O0", "-fPIC");
+ -- This file is *huge* and the debugging information for it harms
+ -- Valgrind runs. We almost never have to debug this file so
+ -- this is acceptable.
+@@ -111,6 +111,7 @@
+ -- ... and this prevents OOM on other platforms
+ end case;
+ end case;
++ for Driver ("C") use External ("GCC", "gcc");
+ end Compiler;
+
+ package Binder is
+--- langkit-gps-src/langkit/compile_context.py.old 2017-12-13 22:12:38.689143125 +0100
++++ langkit-gps-src/langkit/compile_context.py 2017-12-13 22:13:02.446737994 +0100
+@@ -1171,8 +1171,7 @@
+ # the Quex specification changed from last build.
+ if generate_lexer and self.cache.is_stale('quex_specification',
+ quex_spec):
+- quex_py_file = path.join(os.environ["QUEX_PATH"], "quex-exe.py")
+- subprocess.check_call([sys.executable, quex_py_file, "-i",
++ subprocess.check_call(["quex", "-i",
+ quex_file,
+ "-o", "quex_lexer",
+ "--buffer-element-size", "4",
+--- langkit-gps-src/langkit/templates/pkg_analysis_body_ada.mako.old 2017-12-26 20:47:28.461617512 +0100
++++ langkit-gps-src/langkit/templates/pkg_analysis_body_ada.mako 2017-12-26 20:47:58.912060490 +0100
+@@ -2196,7 +2196,7 @@
+ -- printing them.
+
+ function Hash (S : Lexical_Env) return Hash_Type is
+- (Hash_Type (To_Integer (S.all'Address)));
++ (Hash_Type'Mod (To_Integer (S.all'Address)));
+
+ package Address_To_Id_Maps is new Ada.Containers.Hashed_Maps
+ (Lexical_Env, Integer, Hash, "=");
+--- a/testsuite/testsuite_support/__init__.py.old 2018-05-02 21:40:04.977442020 +0200
++++ b/testsuite/testsuite_support/__init__.py 2018-05-02 21:40:45.422759387 +0200
+@@ -68,6 +68,7 @@
+ # to build it in parallel.
+ if not self.global_env['options'].disable_tear_up_builds:
+- p = Run(['gprbuild', '-p', '-f', '-P',
++ p = Run(['gprbuild', '-p', '-f', '-XLIBRARY_TYPE=relocatable',
++ '-XXMLADA_BUILD=relocatable', '-P',
+ os.path.join(self.root_dir, '..', 'langkit', 'support',
+ 'langkit_support.gpr')], output=PIPE)
+ report(p, "Langkit support")
+--- a/testsuite/testsuite_support/langkit_support_driver.py.old 2018-05-03 08:01:20.019944992 +0200
++++ b/testsuite/testsuite_support/langkit_support_driver.py 2018-05-03 08:02:50.146430288 +0200
+@@ -36,5 +36,7 @@
+ ))
+
+ self.run_and_check(['gprbuild', '-p', '-P', 'p.gpr', '-gnata',
++ '-XLIBRARY_TYPE=relocatable',
++ '-XXMLADA_BUILD=relocatable',
+ '-cargs', '-O0', '-g'])
+ self.run_and_check(['./{}'.format(source[:-4])])
++++ a/testsuite/testsuite_support/adalog_driver.py.old 2018-05-03 08:14:30.998698722 +0200
+--- b/testsuite/testsuite_support/adalog_driver.py 2018-05-03 08:16:48.275417176 +0200
+@@ -41,6 +41,8 @@
+ )
+ ))
+
+- self.run_and_check(['gprbuild', '-p', '-P', 'p.gpr', '-cargs', '-O0',
++ self.run_and_check(['gprbuild', '-p', '-XLIBRARY_TYPE=relocatable',
++ '-XXMLADA_BUILD=relocatable',
++ '-P', 'p.gpr', '-cargs', '-O0',
+ '-g'])
+ self.run_and_check(['./{}'.format(source[:-4])])