summaryrefslogtreecommitdiff
path: root/dev-ada/gps
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-ada/gps
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-ada/gps')
-rw-r--r--dev-ada/gps/Manifest9
-rw-r--r--dev-ada/gps/files/gps-2017-gentoo.patch339
-rw-r--r--dev-ada/gps/files/gps-2018-gentoo.patch87
-rw-r--r--dev-ada/gps/gps-2017.ebuild79
-rw-r--r--dev-ada/gps/gps-2018.ebuild78
-rw-r--r--dev-ada/gps/metadata.xml13
6 files changed, 605 insertions, 0 deletions
diff --git a/dev-ada/gps/Manifest b/dev-ada/gps/Manifest
new file mode 100644
index 000000000000..b5fef0b0a68c
--- /dev/null
+++ b/dev-ada/gps/Manifest
@@ -0,0 +1,9 @@
+AUX gps-2017-gentoo.patch 13283 BLAKE2B 91b546a0ad1f78fc087980b1366f2e3d22bcc9584df7b975d99122b51a6251ec87532c904411cf4cd95c6898e7a9217a8429cf0157db0f8ad6aef94fed778361 SHA512 82caf18d500d10f6841140f57528726e1dd6d115e5ad6538442af80abe0068b98f137fc35027ded1ef3603e3c7003de0f1ff4cc7eb93d6d8863909fa61fc635b
+AUX gps-2018-gentoo.patch 3372 BLAKE2B 22128eca9a779dc7bc9659d27f439e881570342d8057e8bad9c1a99600a120f193c4d662d089846aefb8ac0c21cc60c68027c8c997dcbd140c390bc61d760007 SHA512 1c27b56d89c9edea301dfdbfd47d52ab1449805da888c6709115e6d43a8d6270cb57b56f2a18863dcc74f241aaa7e57c12d076cd0bffbd175df519033cb635e9
+DIST gnat-gpl-2017-x86_64-linux-bin.tar.gz 496338280 BLAKE2B b3eee6d311fb9c20bc8fa7217c0731ca1e91ced38700df1d63d91a16c3fa28dfd44c7c8e867c3a857b88e4f0c8b2a7200fb6a8a630b8403538c4784f8914d1a5 SHA512 01a8f3be9b7b7e83cc5bd4a45137b1d35c6448bc22a88bcaf5d312cd63e11081b6b2fe9f09ad2a27d8f0b6471fc5c1a99573bf3bcee1589329054074eaeef04f
+DIST gps-gpl-2017-src.tar.gz 41216830 BLAKE2B 51ca89c38fa81888a9cf1831cf97f7e0ad72c444328a29063249a4fe72bbdc8357552d470872e9fbbeaf349ef0427b59fa41a0efb56200a07a9426343c731a57 SHA512 101ecef7f183de1da0c2b09d77f284a5e8c5ae56f34a897c8d471e79fe9a2832742608ff5251197ba2a52b5d9dfee6c6937fc22cd55f6d8f38359b070393cb64
+DIST gps-gpl-2018-src.tar.gz 40541905 BLAKE2B abe38dd23d9afede27b4ec8294e3245c12d52d60491b6e7c1b2d120a6f1e5d808fdcfb648e72da31376e2de176f7a039c5493341ad295db33b6a1ce44bb64096 SHA512 da0eaa85eb753f215354c9765272d85378f36ebe207314bab9211642f9d9b505a3d05cdec9de6964ae9139c4f8942a29e06c72db32b2aeb053a694e9c982e470
+DIST libadalang-tools-gpl-2018-src.tar.gz 19938182 BLAKE2B 34104f3bc43c165a9b74ba8c0c03ee2f34686bcd06b5ced730f70f654d8b808e129a85566e081830b4f20304c793eefe0af81b56984cf06190302ad2f6a419be SHA512 a1176575944cd88b9da5f4e9f03caa1a4d09358df71e6a91300d0b35c2a843d0ea1a77fbd93e7b7f16cef1b978022ee20991f5c2ff74f7d05878c3de1220f2b5
+EBUILD gps-2017.ebuild 1946 BLAKE2B 8f1619962738e8d1fe5a60baa3b63bc0318441b95234c0a667d12ad88040a62635b8b46ec94f3598e583dd33a3d88b2bb1f3dcbb191a1c3007eb9efc007144b8 SHA512 67c410fb567b5b82fce282803f5b6292b0b8b221a4f554eab11dd097229e88d614716ee212bf83695721e254892666b1231073d8616da3f2584f3e187fecfc5d
+EBUILD gps-2018.ebuild 1873 BLAKE2B d2c57775c79786768d82914f7c39679107f9130845c42fa62b9b471604dffe93a25550114d20b34577cdd7e7bd8ca6067782c9a85255dc3b75588c002f7ab54f SHA512 69c90e7005c0c474bb73ca20908fc2869f35960f340f365be79bbcaa5f37c5f727f61f2ffc75703105a211a69b25e3ccb7996f602656729861a5ce2b2fbadd50
+MISC metadata.xml 438 BLAKE2B 105849097d35788d4178db05bd3c9ab5b17eb94bee320d0dfc2914889a3764824f53950f674a4d1488b649a344729e03bb8eacda9896636a632b1288a0abf07c SHA512 2bf4e76aab6f461c501b34fee6fbf719715af34e2af827daee3a145de31b96b5568009a21daaa4269a19386b0be45dd419710e926505bda7763312c809864aae
diff --git a/dev-ada/gps/files/gps-2017-gentoo.patch b/dev-ada/gps/files/gps-2017-gentoo.patch
new file mode 100644
index 000000000000..631e6dc92ef9
--- /dev/null
+++ b/dev-ada/gps/files/gps-2017-gentoo.patch
@@ -0,0 +1,339 @@
+--- gps-9999/aclocal.m4.old 2017-05-13 21:59:20.129039064 +0200
++++ gps-9999/aclocal.m4 2017-05-13 22:02:12.637234659 +0200
+@@ -37,7 +37,7 @@
+ HAVE_GNAT_PROJECT_$1=yes
+ else
+ # Try with "gnatls", in case gprls was not available
+- if AC_TRY_COMMAND([gnat ls -Pconftest.gpr system.ads > /dev/null 2>conftest.out])
++ if AC_TRY_COMMAND([@GNAT@ ls -Pconftest.gpr system.ads > /dev/null 2>conftest.out])
+ then
+ HAVE_GNAT_PROJECT_$1=yes
+ else
+@@ -156,7 +156,7 @@
+
+ AC_DEFUN(AM_PATH_GNAT,
+ [
+- AC_PATH_PROG(GNATMAKE, gnatmake, no)
++ AC_PATH_PROG(GNATMAKE, @GNATMAKE@, no)
+
+ if test x$GNATMAKE = xno ; then
+ AC_MSG_ERROR(I could not find gnatmake. See the file 'INSTALL' for more details.)
+@@ -279,7 +279,7 @@
+ AC_MSG_RESULT($GTK_PREFIX $GLIB_PREFIX $ATK_PREFIX $PANGO_PREFIX $CAIRO_PREFIX)
+ fi
+
+- AC_PATH_PROG(GNATDRV, gnat, no)
++ AC_PATH_PROG(GNATDRV, @GNAT@, no)
+ min_gtk_version=ifelse([$1], ,2.0.0,$1)
+ AC_MSG_CHECKING(for GtkAda - version >= $min_gtk_version)
+ GTKADA_PRJ=`$GNATDRV ls -vP1 -Pgtkada 2>&1 | grep gtkada.gpr | grep Parsing | cut -d'"' -f2 | head -1`
+--- gps-gps-17.0/templates_parser/templates_parser.gpr.old 2017-05-18 21:34:42.892039427 +0200
++++ gps-gps-17.0/templates_parser/templates_parser.gpr 2017-05-18 21:35:16.661512990 +0200
+@@ -55,7 +55,7 @@
+
+ end Naming;
+
+- Common_Options := ("-gnat05");
++ Common_Options := ("-gnat05", "-fPIC");
+ -- Common options used for the Debug and Release modes
+
+ Debug_Options :=
+--- gps-gps-17.0/shared.gpr.in.old 2017-05-18 21:35:56.475892075 +0200
++++ gps-gps-17.0/shared.gpr.in 2017-05-18 21:36:24.972447550 +0200
+@@ -24,7 +24,7 @@
+ end IDE;
+
+ package Compiler is
+- Common := ("-g", "-gnat12");
++ Common := ("-g", "-gnat12", "-fPIC");
+ Optimize := ();
+
+ case OS is
+@@ -83,6 +83,7 @@
+ when "false" =>
+ null;
+ end case;
++ for Driver use External ("CC", "gcc");
+ end Linker;
+
+ end Shared;
+--- gps-gps-17.0/common/common_with_xmlada.gpr.in.old 2017-05-18 21:37:25.302506085 +0200
++++ gps-gps-17.0/common/common_with_xmlada.gpr.in 2017-05-18 21:37:58.472988222 +0200
+@@ -13,7 +13,7 @@
+ for Switches ("Ada") use Shared.Compiler'Switches ("Ada");
+ for Switches ("C") use Shared.Compiler'Switches ("C");
+ for Switches ("test_htables.adb") use ("-g", "-O2", "-gnatwue");
+- for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg");
++ for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg", "-fPIC");
+
+ No_Checks := ("-g", "-O2", "-gnat2012", "-gnatpn");
+
+--- gps-gps-17.0/common/common_no_xmlada.gpr.in.old 2017-05-18 21:37:31.406410812 +0200
++++ gps-gps-17.0/common/common_no_xmlada.gpr.in 2017-05-18 21:38:14.796733359 +0200
+@@ -12,7 +12,7 @@
+ for Switches ("Ada") use Shared.Compiler'Switches ("Ada");
+ for Switches ("C") use Shared.Compiler'Switches ("C");
+ for Switches ("test_htables.adb") use ("-g", "-O2", "-gnatwue");
+- for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg");
++ for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg", "-fPIC");
+
+ No_Checks := ("-g", "-O2", "-gnat2012", "-gnatpn");
+
+--- gps-gps-17.0/widgets/widgets.gpr.old 2017-05-18 22:26:05.117847006 +0200
++++ gps-gps-17.0/widgets/widgets.gpr 2017-05-18 22:21:01.646368091 +0200
+@@ -12,6 +12,7 @@
+ package Compiler extends Shared.Compiler is
+ for Switches ("C") use
+ Shared.Compiler'Switches ("C") & GnatColl_Gtk.Gtk_Include;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package IDE renames Shared.IDE;
+--- gps-gps-17.0/cli/Makefile.old 2017-05-19 08:07:44.591042479 +0200
++++ gps-gps-17.0/cli/Makefile 2017-05-19 08:08:50.086991123 +0200
+@@ -1,8 +1,9 @@
+ GPRBUILD=gprbuild
+ GPRCLEAN=gprclean
++GPRBUILD_FLAGS=0
+
+ all default:
+- $(GPRBUILD) -p -Pcli
++ $(GPRBUILD) $(GPRBUILD_FLAGS) -p -Pcli
+
+ clean:
+ $(GPRCLEAN) -q -r -Pcli
+--- gps-gps-17.0/gps/gps.gpr.old 2017-05-19 09:24:19.438123599 +0200
++++ gps-gps-17.0/gps/gps.gpr 2017-05-19 09:24:58.639492518 +0200
+@@ -75,7 +75,7 @@
+ end case;
+ for Switches ("Ada") use Linker'Switches ("Ada")
+ & Shared.Linker'Switches ("Ada");
+-
++ for Driver use External ("CC", "gcc");
+ -- for Switches ("Ada") use ("-lgmem");
+ -- for Switches ("Ada") use ("-pg");
+ end Linker;
+--- gps-gps-17.0/testsuite/Makefile.old 2017-05-19 11:08:48.966913663 +0200
++++ gps-gps-17.0/testsuite/Makefile 2017-05-19 11:06:17.245366714 +0200
+@@ -1,5 +1,6 @@
+ GPRBUILD=gprbuild
+ GPRCLEAN=gprclean
++GPRBUILD_FLAGS=
+
+ SYS := $(shell gcc -dumpmachine)
+ ifeq ($(OS),Windows_NT)
+@@ -14,7 +14,7 @@
+ endif
+
+ all default: package
+- $(GPRBUILD) -P testsuite_drivers.gpr -m -XOS=${OS} -j0 -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable
++ $(GPRBUILD) $(GPRBUILD_FLAGS) -P testsuite_drivers.gpr -m -XOS=${OS} -j0 -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable
+
+ package:
+ mkdir -p share/doc
+--- gps-gps-17.0/testsuite/testsuite_drivers.gpr.old 2017-05-19 11:21:20.645705481 +0200
++++ gps-gps-17.0/testsuite/testsuite_drivers.gpr 2017-05-19 11:15:42.163206405 +0200
+@@ -10,6 +10,10 @@
+ for Object_Dir use "obj";
+ for Exec_Dir use "bin";
+
++ package Compiler is
++ for Switches ("Ada") use ("-fPIC");
++ end Compiler;
++
+ package Builder is
+ for Switches ("Ada") use ("-gnat12", "-ws", "-g", "-j0", "-m", "-gnaty");
+ end Builder;
+--- gps-gps-17.0/Makefile.in.old 2017-05-19 11:49:47.172018411 +0200
++++ gps-gps-17.0/Makefile.in 2017-05-19 11:50:24.653412280 +0200
+@@ -10,7 +10,7 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_DATA = @INSTALL_DATA@
+ GNATCOLL_INSTALL = @GNATCOLL_INSTALL@
+-prefix = @prefix@
++prefix = $(DESTDIR)@prefix@
+ bindir = $(prefix)/bin
+ sharedir = $(prefix)/share
+ examplesdir = $(prefix)/share/examples/gps
+--- gps-gps-17.0/docs/Makefile.in.old 2017-05-19 11:54:52.805076624 +0200
++++ gps-gps-17.0/docs/Makefile.in 2017-05-19 11:55:24.332566945 +0200
+@@ -1,4 +1,4 @@
+-prefix = @prefix@
++prefix = $(DESTDIR)@prefix@
+ docdir = $(prefix)/share/doc/gps
+ sharedir = $(prefix)/share/gps
+
+--- gps-gpl-2017-src/share/support/core/gnat_help_menus.py.old 2017-11-23 21:41:11.897912345 +0100
++++ gps-gpl-2017-src/share/support/core/gnat_help_menus.py 2017-11-23 21:44:53.019038030 +0100
+@@ -25,7 +25,7 @@
+ # GPRbuild
+ 'gprbuild': {"GPR Tools User's Guide":
+ ('gprbuild/html/gprbuild_ug.html', 'GPR/')},
+- 'gnatls': {
++ '@GNATLS@': {
+ # Ada RMs
+ "Ada 2005 Reference Manual": ('gnat/html/arm05.html', 'Ada/'),
+ "Ada 2012 Reference Manual": ('gnat/html/arm12.html', 'Ada/'),
+@@ -86,8 +86,8 @@
+
+ for exec_name in _DOC_ENTRIES.keys():
+ executable = exec_name
+- if exec_name == 'gnatls' and GPS.get_target():
+- executable = '{}-gnatls'.format(GPS.get_target())
++ if exec_name == '@GNATLS@' and GPS.get_target():
++ executable = '{}-@GNATLS@'.format(GPS.get_target())
+ ex = os_utils.locate_exec_on_path(executable)
+ if ex:
+ for descr, tup in _DOC_ENTRIES[exec_name].iteritems():
+--- gps-gpl-2017-src/share/support/core/toolchains.py.old 2017-11-23 21:46:11.969652447 +0100
++++ gps-gpl-2017-src/share/support/core/toolchains.py 2017-11-23 21:47:21.723427305 +0100
+@@ -16,11 +16,11 @@
+ nullified by using an empty value in the corresponding tag
+ -->
+ <toolchain_default>
+- <gnat_driver>gnat</gnat_driver>
+- <gnat_list>gnatls</gnat_list>
++ <gnat_driver>@GNAT@</gnat_driver>
++ <gnat_list>@GNATLS@</gnat_list>
+ <debugger>gdb</debugger>
+ <cpp_filt>c++filt</cpp_filt>
+- <compiler lang="ada">gnatmake</compiler>
++ <compiler lang="ada">@GNATMAKE@</compiler>
+ <compiler lang="c">gcc</compiler>
+ <compiler lang="c++">g++</compiler>
+ <compiler lang="asm">gcc</compiler>
+--- gps-gpl-2017-src/share/support/core/projects.py.old 2017-11-23 21:49:13.477462632 +0100
++++ gps-gpl-2017-src/share/support/core/projects.py 2017-11-23 21:51:53.774640693 +0100
+@@ -143,7 +143,7 @@
+ <string />
+ </index>
+ <specialized_index value="Ada">
+- <choice default="true" >gnatmake</choice>
++ <choice default="true" >@GNATMAKE@</choice>
+ </specialized_index>
+ </project_attribute>
+
+@@ -163,7 +163,7 @@
+ description="The gnatls command used to find where the Ada run time files are installed (including optional arguments, e.g. gnatls --RTS=sjlj)."
+ hide_in="all"
+ label="Gnatls">
+- <choice default="true" >gnatls</choice>
++ <choice default="true" >@GNATLS@</choice>
+ <string />
+ </project_attribute>
+
+@@ -175,7 +175,7 @@
+ description="The gnat driver used to run the various commands associated with the GNAT toolchain."
+ hide_in="all"
+ label="Gnat">
+- <choice default="true" >gnat</choice>
++ <choice default="true" >@GNAT@</choice>
+ <string />
+ </project_attribute>
+
+--- gps-gpl-2017-src/cli/src/gps-cli_utils.adb.old 2017-11-23 22:00:22.716652753 +0100
++++ gps-gpl-2017-src/cli/src/gps-cli_utils.adb 2017-11-23 22:01:19.885640611 +0100
+@@ -166,7 +166,7 @@
+
+ -- Set GNAT version
+ Kernel.Registry.Environment.Set_Path_From_Gnatls
+- ("gnatls", GNAT_Version);
++ ("@GNATLS@", GNAT_Version);
+ end Create_Kernel_Context;
+
+ ----------------------------
+--- gps-gpl-2017-src/toolchains_editor/core/src/toolchains.adb.old 2017-11-23 22:02:52.819994229 +0100
++++ gps-gpl-2017-src/toolchains_editor/core/src/toolchains.adb 2017-11-23 22:07:20.326248295 +0100
+@@ -309,12 +309,13 @@
+ else
+ Set_Command
+ (Tc, GNAT_Driver,
+- To_String (Full_Path) & "gnat",
++ To_String (Full_Path) & "@GNAT@",
+ From_Default,
+ Is_Default_Path);
+ Set_Command
+ (Tc, GNAT_List,
+- To_String (Full_Path) & "gnatls",
++ To_String (Full_Path) &
++ "@GNATLS@",
+ From_Default,
+ Is_Default_Path);
+ Set_Command
+@@ -728,10 +728,10 @@
+ begin
+ case Name is
+ when GNAT_List =>
+- return "gnatls";
++ return "@GNATLS@";
+
+ when GNAT_Driver =>
+- return "gnat";
++ return "@GNAT@";
+
+ when Debugger =>
+ return "gdb";
+@@ -2000,15 +2000,18 @@
+ Manager => Toolchain_Manager (Manager),
+ Refs => 0);
+
+- Set_Command (Native_Toolchain, GNAT_Driver, "gnat", From_Default, True);
+- Set_Command (Native_Toolchain, GNAT_List, "gnatls", From_Default, True);
++ Set_Command (Native_Toolchain, GNAT_Driver,
++ "@GNAT@", From_Default, True);
++ Set_Command (Native_Toolchain, GNAT_List,
++ "@GNATLS@", From_Default, True);
+ Set_Command (Native_Toolchain, Debugger, "gdb", From_Default, True);
+ Set_Command (Native_Toolchain, CPP_Filt, "c++filt", From_Default, True);
+
+ Compute_Predefined_Paths (Native_Toolchain);
+
+ if Get_Compiler (Native_Toolchain, "Ada") = No_Compiler then
+- Add_Compiler (Native_Toolchain, "Ada", "gnatmake", From_Default);
++ Add_Compiler (Native_Toolchain, "Ada",
++ "@GNATMAKE@", From_Default);
+ end if;
+
+ if Get_Compiler (Native_Toolchain, "C") = No_Compiler then
+--- gps-gpl-2017-src/gps/Makefile.old 2017-12-10 20:29:18.267622400 +0100
++++ gps-gpl-2017-src/gps/Makefile 2017-12-10 20:29:34.564312700 +0100
+@@ -45,7 +45,8 @@
+ for f in ../kernel/generated/*; do cat $$f | tr -d '\015' > $$f-aux; mv -f $$f-aux $$f; done
+ endif
+ $(GPRBUILD) $(GPRBUILD_FLAGS) -m -p -ws -XTP_TASKING=No_Tasking \
+- $(GPRBUILD_BUILD_TYPE_FLAGS) -Pgps -largs `pkg-config gmodule-2.0 --libs`
++ $(GPRBUILD_BUILD_TYPE_FLAGS) -Pgps -largs `pkg-config gmodule-2.0 --libs` \
++ -cargs:Ada $(ADAFLAGS) -cargs:C ${CFLAGS}
+
+ resources:
+ ifeq ($(OS),Windows_NT)
+--- gps-gpl-2017-src/common/common_no_xmlada.gpr.in.old 2017-12-10 20:48:13.986166250 +0100
++++ gps-gpl-2017-src/common/common_no_xmlada.gpr.in 2017-12-10 20:48:29.654872055 +0100
+@@ -22,6 +22,7 @@
+ for Switches ("dynamic_arrays.adb") use No_Checks;
+ when "Debug" =>
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Naming is
+--- gps-gpl-2017-src/common/common_with_xmlada.gpr.in.old 2017-12-10 20:48:37.352727540 +0100
++++ gps-gpl-2017-src/common/common_with_xmlada.gpr.in 2017-12-10 20:48:50.423482155 +0100
+@@ -23,6 +23,7 @@
+ for Switches ("dynamic_arrays.adb") use No_Checks;
+ when "Debug" =>
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Binder is
+--- gps-gpl-2017-src/shared.gpr.in.old 2017-12-10 20:52:51.117967249 +0100
++++ gps-gpl-2017-src/shared.gpr.in 2017-12-10 20:53:15.627507886 +0100
+@@ -56,6 +56,7 @@
+ );
+ for Switches ("C") use Optimize & ("-g", "-O2");
+ end case;
++ for Driver ("C") use External ("CC", "gcc");
+ end Compiler;
+
+ package Binder is
diff --git a/dev-ada/gps/files/gps-2018-gentoo.patch b/dev-ada/gps/files/gps-2018-gentoo.patch
new file mode 100644
index 000000000000..d03a01111223
--- /dev/null
+++ b/dev-ada/gps/files/gps-2018-gentoo.patch
@@ -0,0 +1,87 @@
+--- a/gps/Makefile 2018-07-09 20:27:34.950424490 +0200
++++ b/gps/Makefile 2018-07-09 20:37:39.510558817 +0200
+@@ -47,7 +47,7 @@
+ for f in ../kernel/generated/*; do cat $$f | tr -d '\015' > $$f-aux; mv -f $$f-aux $$f; done
+ endif
+ $(GPRBUILD) $(GPRBUILD_FLAGS) -m -p -ws \
+- $(GPRBUILD_BUILD_TYPE_FLAGS) -Pgps -largs `pkg-config gmodule-2.0 --libs`
++ $(GPRBUILD_BUILD_TYPE_FLAGS) -Pgps -largs `pkg-config gmodule-2.0 --libs` -lpython2.7
+
+ resources:
+ ifeq ($(OS),Windows_NT)
+--- a/testsuite/Makefile 2018-07-09 21:45:48.115937491 +0200
++++ b/testsuite/Makefile 2018-07-09 21:46:15.896547268 +0200
+@@ -13,7 +13,7 @@
+ endif
+
+ all default: package
+- $(GPRBUILD) -P testsuite_drivers.gpr -m -XOS=${OS} -j0 -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable
++ $(GPRBUILD) -P testsuite_drivers.gpr -m -XOS=${OS} -j0 -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable -largs -lpython2.7
+
+ package:
+ mkdir -p share/doc
+--- a/Makefile.in 2018-07-09 21:51:08.422550386 +0200
++++ b/Makefile.in 2018-07-09 21:51:32.187225891 +0200
+@@ -10,7 +10,7 @@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_DATA = @INSTALL_DATA@
+ GNATCOLL_INSTALL = @GNATCOLL_INSTALL@
+-prefix = @prefix@
++prefix = $(DESTDIR)@prefix@
+ bindir = $(prefix)/bin
+ sharedir = $(prefix)/share
+ examplesdir = $(prefix)/share/examples/gps
+--- a/docs/Makefile.in 2018-07-09 21:53:33.074572729 +0200
++++ b/docs/Makefile.in 2018-07-09 21:53:52.149311484 +0200
+@@ -1,4 +1,4 @@
+-prefix = @prefix@
++prefix = $(DESTDIR)@prefix@
+ docdir = $(prefix)/share/doc/gps
+ sharedir = $(prefix)/share/gps
+
+--- a/share/support/core/toolchains.py 2018-07-11 12:15:18.758674244 +0200
++++ b/share/support/core/toolchains.py 2018-07-11 12:20:20.389220849 +0200
+@@ -16,11 +16,11 @@
+ nullified by using an empty value in the corresponding tag
+ -->
+ <toolchain_default>
+- <gnat_driver>gnat</gnat_driver>
+- <gnat_list>gnatls</gnat_list>
++ <gnat_driver>@GNAT@</gnat_driver>
++ <gnat_list>@GNATLS@</gnat_list>
+ <debugger>gdb</debugger>
+ <cpp_filt>c++filt</cpp_filt>
+- <compiler lang="ada">gnatmake</compiler>
++ <compiler lang="ada">@GNATMAKE@</compiler>
+ <compiler lang="c">gcc</compiler>
+ <compiler lang="c++">g++</compiler>
+ <compiler lang="asm">gcc</compiler>
+--- a/share/support/core/projects.py 2018-07-11 13:49:29.631289680 +0200
++++ b/share/support/core/projects.py 2018-07-11 13:51:46.568252607 +0200
+@@ -146,7 +146,7 @@
+ <string />
+ </index>
+ <specialized_index value="Ada">
+- <choice default="true" >gnatmake</choice>
++ <choice default="true" >@GNATMAKE@</choice>
+ </specialized_index>
+ </project_attribute>
+
+@@ -166,7 +166,7 @@
+ description="The gnatls command used to find where the Ada run time files are installed (including optional arguments, e.g. gnatls --RTS=sjlj)."
+ hide_in="all"
+ label="Gnatls">
+- <choice default="true" >gnatls</choice>
++ <choice default="true" >@GNATLS@</choice>
+ <string />
+ </project_attribute>
+
+@@ -178,7 +178,7 @@
+ description="The gnat driver used to run the various commands associated with the GNAT toolchain."
+ hide_in="all"
+ label="Gnat">
+- <choice default="true" >gnat</choice>
++ <choice default="true" >@GNAT@</choice>
+ <string />
+ </project_attribute>
+
diff --git a/dev-ada/gps/gps-2017.ebuild b/dev-ada/gps/gps-2017.ebuild
new file mode 100644
index 000000000000..6156e0dde66c
--- /dev/null
+++ b/dev-ada/gps/gps-2017.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit python-single-r1 autotools desktop
+
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="The GNAT Programming Studio"
+HOMEPAGE="http://libre.adacore.com/tools/gps/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed03b
+ -> ${MYP}.tar.gz
+ doc? ( http://mirrors.cdn.adacore.com/art/591c6d80c7a447af2deed1d7
+ -> gnat-gpl-2017-x86_64-linux-bin.tar.gz )"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-ada/gnatcoll-2017[gtk,iconv,pygobject,sqlite,static-libs,tools]
+ >=dev-ada/gtkada-2017
+ dev-ada/libadalang
+ dev-libs/gobject-introspection
+ dev-libs/libffi
+ sys-devel/clang:=
+ x11-themes/adwaita-icon-theme
+ x11-themes/hicolor-icon-theme
+ dev-python/pep8[${PYTHON_USEDEP}]
+ dev-python/jedi[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}"
+
+RESTRICT="test"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ default
+ GCC_PV=6.3.0
+ mv configure.{in,ac} || die
+ sed -i \
+ -e "s:@GNATMAKE@:${CHOST}-gnatmake-${GCC_PV}:g" \
+ -e "s:@GNAT@:${CHOST}-gnat-${GCC_PV}:g" \
+ -e "s:@GNATLS@:${CHOST}-gnatls-${GCC_PV}:g" \
+ aclocal.m4 \
+ share/support/core/gnat_help_menus.py \
+ share/support/core/toolchains.py \
+ share/support/core/projects.py \
+ cli/src/gps-cli_utils.adb \
+ toolchains_editor/core/src/toolchains.adb \
+ || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-clang=$(llvm-config --libdir)
+}
+
+src_compile() {
+ ADAFLAGS+=" -fno-strict-aliasing"
+ emake GPRBUILD_FLAGS="-v ${MAKEOPTS} \
+ -XLIBRARY_TYPE=relocatable \
+ -XXMLADA_BUILD=relocatable"
+}
+
+src_install() {
+ default
+ if use doc; then
+ insinto /usr/share/doc
+ doins -r "${WORKDIR}"/gnat-gpl-2017-x86_64-linux-bin/share/doc/gnat
+ fi
+ make_desktop_entry "${PN}" "GPS" "${EPREFIX}/usr/share/gps/icons/hicolor/32x32/apps/gps_32.png" "Development;IDE;"
+}
diff --git a/dev-ada/gps/gps-2018.ebuild b/dev-ada/gps/gps-2018.ebuild
new file mode 100644
index 000000000000..e67c569534ff
--- /dev/null
+++ b/dev-ada/gps/gps-2018.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+inherit python-single-r1 autotools desktop
+
+MYP=${PN}-gpl-${PV}-src
+
+DESCRIPTION="The GNAT Programming Studio"
+HOMEPAGE="http://libre.adacore.com/tools/gps/"
+SRC_URI="http://mirrors.cdn.adacore.com/art/5b0cf627c7a4475261f97ceb
+ -> ${MYP}.tar.gz
+ http://mirrors.cdn.adacore.com/art/5b0819dfc7a447df26c27a59 ->
+ libadalang-tools-gpl-2018-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="${PYTHON_DEPS}
+ || (
+ >=dev-ada/gnatcoll-2017[gtk,iconv,pygobject,sqlite,static-libs,tools]
+ (
+ dev-ada/gnatcoll-db[gnatcoll_db2ada,gnatinspect,xref]
+ dev-ada/gnatcoll-bindings[python]
+ )
+ )
+ >=dev-ada/gtkada-2017
+ dev-ada/libadalang
+ dev-libs/gobject-introspection
+ dev-libs/libffi
+ sys-devel/clang:=
+ x11-themes/adwaita-icon-theme
+ x11-themes/hicolor-icon-theme
+ dev-python/pep8[${PYTHON_USEDEP}]
+ dev-python/jedi[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}"
+
+RESTRICT="test"
+
+S="${WORKDIR}"/${MYP}
+
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
+src_prepare() {
+ GCC_PV=7.3.1
+ default
+ sed -i \
+ -e "s:@GNATMAKE@:${CHOST}-gnatmake-${GCC_PV}:g" \
+ -e "s:@GNAT@:${CHOST}-gnat-${GCC_PV}:g" \
+ -e "s:@GNATLS@:${CHOST}-gnatls-${GCC_PV}:g" \
+ share/support/core/toolchains.py \
+ share/support/core/projects.py \
+ || die
+ mv "${WORKDIR}"/libadalang-tools-src laltools
+}
+
+src_configure() {
+ econf \
+ GNATMAKE=/usr/bin/gnatmake-7.3.1 \
+ GNATDRV=/usr/bin/gnat-7.3.1 \
+ --with-clang=$(llvm-config --libdir)
+}
+
+src_compile() {
+ emake -C gps GPRBUILD_FLAGS="-v ${MAKEOPTS}" \
+ Build=Production
+ gprbuild -v -p -Pcli/cli.gpr -XLIBRARY_TYPE=relocatable
+ emake -C testsuite
+}
+
+src_install() {
+ default
+ make_desktop_entry "${PN}" "GPS" "${EPREFIX}/usr/share/gps/icons/hicolor/32x32/apps/gps_32.png" "Development;IDE;"
+}
diff --git a/dev-ada/gps/metadata.xml b/dev-ada/gps/metadata.xml
new file mode 100644
index 000000000000..eb9ac43cfff3
--- /dev/null
+++ b/dev-ada/gps/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <longdescription lang="en">
+ GPS is a lightweight, extensible IDE, intended to develop
+ high-integrity software in Ada and SPARK, with support for C and C++
+ as well.
+ </longdescription>
+</pkgmetadata>