public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Alfredo Tupone" <tupone@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ada/gprbuild/, dev-ada/gprbuild/files/
Date: Tue, 28 Mar 2017 07:41:50 +0000 (UTC)	[thread overview]
Message-ID: <1490686897.5aba73dd0d66c48ba20fc55151156ca1492c4549.tupone@gentoo> (raw)

commit:     5aba73dd0d66c48ba20fc55151156ca1492c4549
Author:     Tupone Alfredo <tupone <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 28 07:40:26 2017 +0000
Commit:     Alfredo Tupone <tupone <AT> gentoo <DOT> org>
CommitDate: Tue Mar 28 07:41:37 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5aba73dd

dev-ada/gprbuild: Fix executable stack

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 dev-ada/gprbuild/files/gprbuild-2016-gentoo.patch | 162 ++++++++++++++++++++++
 dev-ada/gprbuild/gprbuild-2016.ebuild             |   8 +-
 2 files changed, 167 insertions(+), 3 deletions(-)

diff --git a/dev-ada/gprbuild/files/gprbuild-2016-gentoo.patch b/dev-ada/gprbuild/files/gprbuild-2016-gentoo.patch
new file mode 100644
index 00000000000..952c2c0a69d
--- /dev/null
+++ b/dev-ada/gprbuild/files/gprbuild-2016-gentoo.patch
@@ -0,0 +1,162 @@
+diff -Naur gprbuild-gpl-2016-src.old/src/gprbuild-main.adb gprbuild-gpl-2016-src/src/gprbuild-main.adb
+--- gprbuild-gpl-2016-src.old/src/gprbuild-main.adb	2017-03-28 09:12:24.205058242 +0200
++++ gprbuild-gpl-2016-src/src/gprbuild-main.adb	2017-03-28 09:21:20.495344963 +0200
+@@ -52,7 +52,8 @@
+ with GPR.Tempdir;                use GPR.Tempdir;
+ with GPR.Tree;                   use GPR.Tree;
+ with GPR.Util;                   use GPR.Util;
++with Gprbuild.Sigint_Intercepted;
+ 
+ procedure Gprbuild.Main is
+ 
+    use Stamps;
+@@ -124,11 +124,6 @@
+    pragma Import (C, Install_Int_Handler, "__gnat_install_int_handler");
+    --  Called by Gnatmake to install the SIGINT handler below
+ 
+-   procedure Sigint_Intercepted;
+-   pragma Convention (C, Sigint_Intercepted);
+-   --  Called when the program is interrupted by Ctrl-C to delete the
+-   --  temporary mapping files and configuration pragmas files.
+-
+    No_Object_Check_Switch     : constant String := "--no-object-check";
+    Direct_Import_Only_Switch  : constant String := "--direct-import-only";
+    Indirect_Imports_Switch    : constant String := "--indirect-imports";
+@@ -1616,22 +1611,6 @@
+       end if;
+    end Scan_Arg;
+ 
+-   ------------------------
+-   -- Sigint_Intercepted --
+-   ------------------------
+-
+-   procedure Sigint_Intercepted is
+-   begin
+-      Put_Line ("*** Interrupted ***");
+-      Delete_All_Temp_Files (Project_Tree.Shared);
+-
+-      if Distributed_Mode then
+-         Compilation.Slave.Unregister_Remote_Slaves (From_Signal => True);
+-      end if;
+-
+-      OS_Exit (1);
+-   end Sigint_Intercepted;
+-
+    ----------------
+    -- Initialize --
+    ----------------
+@@ -2293,7 +2272,7 @@
+ 
+    --  And install Ctrl-C handler
+ 
+-   Install_Int_Handler (Sigint_Intercepted'Unrestricted_Access);
++   Install_Int_Handler (Gprbuild.Sigint_Intercepted'Unrestricted_Access);
+ 
+    --  Check command line arguments. These will be overridden when looking
+    --  for the configuration file
+diff -Naur gprbuild-gpl-2016-src.old/src/gprbuild-sigint_intercepted.adb gprbuild-gpl-2016-src/src/gprbuild-sigint_intercepted.adb
+--- gprbuild-gpl-2016-src.old/src/gprbuild-sigint_intercepted.adb	1970-01-01 01:00:00.000000000 +0100
++++ gprbuild-gpl-2016-src/src/gprbuild-sigint_intercepted.adb	2017-03-28 09:20:00.661792854 +0200
+@@ -0,0 +1,20 @@
++------------------------
++-- Sigint_Intercepted --
++------------------------
++
++with Ada.Text_IO;      use Ada.Text_IO;
++with Gpr_Util;                   use Gpr_Util;
++with Gprbuild.Compile;
++with Gprbuild.Compilation.Slave;
++
++procedure Gprbuild.Sigint_Intercepted is
++begin
++   Put_Line ("*** Interrupted ***");
++   Delete_All_Temp_Files (Project_Tree.Shared);
++
++   if Distributed_Mode then
++      Compilation.Slave.Unregister_Remote_Slaves (From_Signal => True);
++   end if;
++
++   OS_Exit (1);
++end Gprbuild.Sigint_Intercepted;
+diff -Naur gprbuild-gpl-2016-src.old/src/gprbuild-sigint_intercepted.ads gprbuild-gpl-2016-src/src/gprbuild-sigint_intercepted.ads
+--- gprbuild-gpl-2016-src.old/src/gprbuild-sigint_intercepted.ads	1970-01-01 01:00:00.000000000 +0100
++++ gprbuild-gpl-2016-src/src/gprbuild-sigint_intercepted.ads	2017-03-28 09:15:35.275616543 +0200
+@@ -0,0 +1,4 @@
++procedure Gprbuild.Sigint_Intercepted;
++pragma Convention (C, Sigint_Intercepted);
++--  Called when the program is interrupted by Ctrl-C to delete the
++--  temporary mapping files and configuration pragmas files.
+diff -Naur gprbuild-gpl-2016-src.old/src/gprinstall-main.adb gprbuild-gpl-2016-src/src/gprinstall-main.adb
+--- gprbuild-gpl-2016-src.old/src/gprinstall-main.adb	2017-03-28 09:12:24.205058242 +0200
++++ gprbuild-gpl-2016-src/src/gprinstall-main.adb	2017-03-28 09:25:36.515709886 +0200
+@@ -42,6 +42,7 @@
+ with Gprinstall.DB;
+ with Gprinstall.Install;
+ with Gprinstall.Uninstall;
++with Gprinstall.Sigint_Intercepted;
+ 
+ procedure Gprinstall.Main is
+ 
+@@ -94,11 +94,6 @@
+    pragma Import (C, Install_Int_Handler, "__gnat_install_int_handler");
+    --  Called by Gnatmake to install the SIGINT handler below
+ 
+-   procedure Sigint_Intercepted;
+-   pragma Convention (C, Sigint_Intercepted);
+-   --  Called when the program is interrupted by Ctrl-C to delete the
+-   --  temporary mapping files and configuration pragmas files.
+-
+    ---------------
+    -- Copyright --
+    ---------------
+@@ -514,17 +509,6 @@
+       end if;
+    end Scan_Arg;
+ 
+-   ------------------------
+-   -- Sigint_Intercepted --
+-   ------------------------
+-
+-   procedure Sigint_Intercepted is
+-   begin
+-      Put_Line ("*** Interrupted ***");
+-      Delete_All_Temp_Files (Project_Tree.Shared);
+-      OS_Exit (1);
+-   end Sigint_Intercepted;
+-
+    ----------------
+    -- Initialize --
+    ----------------
+@@ -862,7 +846,7 @@
+ 
+    --  And install Ctrl-C handler
+ 
+-   Install_Int_Handler (Sigint_Intercepted'Unrestricted_Access);
++   Install_Int_Handler (Gprinstall.Sigint_Intercepted'Unrestricted_Access);
+ 
+    --  Check command line arguments. These will be overridden when looking
+    --  for the configuration file
+diff -Naur gprbuild-gpl-2016-src.old/src/gprinstall-sigint_intercepted.adb gprbuild-gpl-2016-src/src/gprinstall-sigint_intercepted.adb
+--- gprbuild-gpl-2016-src.old/src/gprinstall-sigint_intercepted.adb	1970-01-01 01:00:00.000000000 +0100
++++ gprbuild-gpl-2016-src/src/gprinstall-sigint_intercepted.adb	2017-03-28 09:24:50.307545617 +0200
+@@ -0,0 +1,12 @@
++------------------------
++-- Sigint_Intercepted --
++------------------------
++
++with Ada.Text_IO;      use Ada.Text_IO;
++
++procedure Gprinstall.Sigint_Intercepted is
++begin
++   Put_Line ("*** Interrupted ***");
++   Delete_All_Temp_Files (Project_Tree.Shared);
++   OS_Exit (1);
++end Gprinstall.Sigint_Intercepted;
+diff -Naur gprbuild-gpl-2016-src.old/src/gprinstall-sigint_intercepted.ads gprbuild-gpl-2016-src/src/gprinstall-sigint_intercepted.ads
+--- gprbuild-gpl-2016-src.old/src/gprinstall-sigint_intercepted.ads	1970-01-01 01:00:00.000000000 +0100
++++ gprbuild-gpl-2016-src/src/gprinstall-sigint_intercepted.ads	2017-03-28 09:22:18.462294461 +0200
+@@ -0,0 +1,4 @@
++procedure Gprinstall.Sigint_Intercepted;
++pragma Convention (C, Sigint_Intercepted);
++--  Called when the program is interrupted by Ctrl-C to delete the
++--  temporary mapping files and configuration pragmas files.

diff --git a/dev-ada/gprbuild/gprbuild-2016.ebuild b/dev-ada/gprbuild/gprbuild-2016.ebuild
index 57eee67bea6..03d3c2baa53 100644
--- a/dev-ada/gprbuild/gprbuild-2016.ebuild
+++ b/dev-ada/gprbuild/gprbuild-2016.ebuild
@@ -25,6 +25,8 @@ RDEPEND="${DEPEND}"
 
 S="${WORKDIR}"/${MYP}-src
 
+PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
+
 pkg_setup() {
 	GCC=${ADA:-$(tc-getCC)}
 	local base=$(basename ${GCC})
@@ -53,14 +55,14 @@ src_compile() {
 	incflags="-Isrc -Igpr/src -I${xmlada_src}/sax -I${xmlada_src}/dom \
 		-I${xmlada_src}/schema -I${xmlada_src}/unicode \
 		-I${xmlada_src}/input_sources"
-	${GCC} -c ${CFLAGS} src/gpr_imports.c -o gpr_imports.o
+	${GCC} -c ${CFLAGS} src/gpr_imports.c -o gpr_imports.o || die
 	for bin in ${bin_progs}; do
 		${GNATMAKE} -j$(makeopts_jobs) ${incflags} $ADAFLAGS ${bin}-main \
-			-o ${bin} -largs gpr_imports.o
+			-o ${bin} -largs gpr_imports.o || die
 	done
 	for lib in $lib_progs; do
 		${GNATMAKE} -j$(makeopts_jobs) ${incflags} ${lib} $ADAFLAGS \
-			-largs gpr_imports.o
+			-largs gpr_imports.o || die
 	done
 }
 


             reply	other threads:[~2017-03-28  7:41 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-28  7:41 Alfredo Tupone [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-03-29 19:27 [gentoo-commits] repo/gentoo:master commit in: dev-ada/gprbuild/, dev-ada/gprbuild/files/ Alfredo Tupone
2017-05-07 20:21 Alfredo Tupone
2017-06-22 20:02 Alfredo Tupone
2018-10-14 18:52 Alfredo Tupone
2018-10-27 20:27 Alfredo Tupone
2018-11-26 20:55 Alfredo Tupone
2020-06-09 11:36 Alfredo Tupone
2021-05-12 19:00 Alfredo Tupone
2021-11-13  8:35 Alfredo Tupone
2021-11-25  7:34 Alfredo Tupone
2022-03-19 22:07 Alfredo Tupone

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1490686897.5aba73dd0d66c48ba20fc55151156ca1492c4549.tupone@gentoo \
    --to=tupone@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox