[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#844367: Debian local ada patches need an update for GCC 7



Package: src:gcc-7
Followup-For: Bug #844367

Please apply this fixed libgnatvsn-with-gnat-7-safe.diff.  It only
handles cosmetic issues, applies on 7-20170226-1 and builds with
DEB_BUILD_OPTIONS="lang=ada nocheck noopt nostrap nolang=...".

Please ignore libgnatvsn-with-gnat-7.diff, it requires some review and
minimal testing.
Description: trivial fixes for gcc-7/7-20170129-1
 Remove obsolete references to libgnatprj, but keep existing
 references to libgnatvsn as it will be restored.
 .
 Drop obsolete and unapplied ada-default-project-path.diff.
 .
 debian/copyright must be regenerated from the updated copyright.in.
 .
 Remove libgnatvsn7.overrides, currently unused and replaced with a
 more simple solution once libgnatvsn is restored.
Author: Nicolas Boulenguez <nicolas@debian.org>

--- a/debian/copyright.in
+++ b/debian/copyright.in
@@ -48,7 +48,6 @@ gcc-@BV@-source                  The sources with patches
 
 Ada:
 libgnatvsn-dev, libgnatvsn@BV@   GNAT version library
-libgnatprj-dev, libgnatprj@BV@   GNAT Project Manager library
 
 C:
 cpp-@BV@, cpp-@BV@-doc            GNU C Preprocessor
@@ -116,9 +115,6 @@ Runtime Library Exception (included in this file):
  - Various config files in gcc/config/ used in runtime libraries.
  - libvtv
 
-In contrast, libgnatprj is licensed under the terms of the pure GNU
-General Public License.
-
 The libbacktrace library is licensed under the following terms:
 
 Redistribution and use in source and binary forms, with or without
--- a/debian/gnatprj.gpr
+++ /dev/null
@@ -1,32 +0,0 @@
---  Project file for use with GNAT
---  Copyright (c) 2005, 2008 Ludovic Brenta <ludovic@ludovic-brenta.org>
---
---  This program is free software; you can redistribute it and/or modify
---  it under the terms of the GNU General Public License as published by
---  the Free Software Foundation; either version 3 of the License, or
---  (at your option) any later version.
---
---  This program is distributed in the hope that it will be useful,
---  but WITHOUT ANY WARRANTY; without even the implied warranty of
---  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
---  GNU General Public License for more details.
---
---  This project file is designed to help build applications that use
---  GNAT project files.  Here is an example of how to use this project file:
---
---  with "gnatprj";
---  project Example is
---     for Object_Dir use "obj";
---     for Exec_Dir use ".";
---     for Main use ("example");
---  end Example;
-
-with "gnatvsn.gpr";
-project Gnatprj is
-   for Library_Name use "gnatprj";
-   for Library_Dir use "/usr/lib";
-   for Library_Kind use "dynamic";
-   for Source_Dirs use ("/usr/share/ada/adainclude/gnatprj");
-   for Library_ALI_Dir use "/usr/lib/ada/adalib/gnatprj";
-   for Externally_Built use "true";
-end Gnatprj;
--- a/debian/libgnatprj7.overrides
+++ /dev/null
@@ -1 +0,0 @@
-libgnatprj7 binary: missing-dependency-on-libc
--- a/debian/libgnatvsn7.overrides
+++ /dev/null
@@ -1 +0,0 @@
-libgnatvsn7 binary: missing-dependency-on-libc
--- a/debian/rules.d/binary-ada.mk
+++ b/debian/rules.d/binary-ada.mk
@@ -32,8 +32,6 @@ d_gnatsjlj	= debian/$(p_gnatsjlj)
 d_lgnat	= debian/$(p_lgnat)
 d_lgnatvsn = debian/$(p_lgnatvsn)
 d_lgnatvsn_dev = debian/$(p_lgnatvsn_dev)
-d_lgnatprj = debian/$(p_lgnatprj)
-d_lgnatprj_dev = debian/$(p_lgnatprj_dev)
 d_gnatd	= debian/$(p_gnatd)
 
 GNAT_TOOLS = gnat gnatbind gnatchop gnatclean gnatfind gnatkr gnatlink \
@@ -241,7 +239,7 @@ endif
 	find $(d_gnat) -name '*.ali' | xargs chmod 444
 	$(cross_shlibdeps) dh_shlibdeps -p$(p_gnat) \
 		$(call shlibdirs_to_search, \
-			$(p_lgcc) $(p_lgnat) $(p_lgnatvsn) $(p_lgnatprj) \
+			$(p_lgcc) $(p_lgnat) $(p_lgnatvsn) \
 		,)
 	echo $(p_gnat) >> debian/arch_binaries
 
--- a/debian/rules.patch
+++ b/debian/rules.patch
@@ -117,10 +117,6 @@ debian_patches += ada-arm
 # there should be no harm to always apply these, except for new GCC versions
 #ifeq ($(with_ada),yes)
 
-# FIXME: needs an update
-#  debian_patches += \
-#	ada-default-project-path
-
   debian_patches += \
 	ada-driver-check \
 	ada-gcc-name \
--- a/debian/rules2
+++ b/debian/rules2
@@ -2181,12 +2181,10 @@ ifneq ($(with_libgnat),yes)
 	rm -f $(d)/$(gcc_lib_dir)/adalib/lib*.so*
 endif
 
-# FIXME: libgnatprj and libgnatvsn need proper configury/Makefiles
+# FIXME: libgnatvsn needs proper configure/Makefile
 ifeq ($(DEB_CROSS),yes)
   ifeq ($(with_ada),yes)
-	for i in 'libgnatprj*' 'libgnatvsn*'; do \
-	  mv $(d)/$(PF)/lib/$$i $(d)/$(usr_lib)/. || true; \
-	done
+	mv $(d)/$(PF)/lib/libgnatvsn* $(d)/$(usr_lib)/. || true
   endif
 endif
 
--- a/debian/patches/ada-default-project-path.diff
+++ /dev/null
@@ -1,134 +0,0 @@
-# DP: - Change the default search path for project files to the one specified
-# DP:   by the Debian Policy for Ada: /usr/share/ada/adainclude.
-
-Index: b/src/gcc/ada/Make-generated.in
-===================================================================
---- a/src/gcc/ada/Make-generated.in
-+++ b/src/gcc/ada/Make-generated.in
-@@ -76,6 +76,7 @@ $(ADA_GEN_SUBDIR)/stamp-sdefault : $(src
- 	$(ECHO) "   S2 : constant String := \"$(ADA_RTL_OBJ_DIR)/\";" >>tmp-sdefault.adb
- 	$(ECHO) "   S3 : constant String := \"$(target_noncanonical)/\";" >>tmp-sdefault.adb
- 	$(ECHO) "   S4 : constant String := \"$(libsubdir)/\";" >>tmp-sdefault.adb
-+	$(ECHO) "   S5 : constant String := \"/usr/share/ada/adainclude/\";" >>tmp-sdefault.adb
- 	$(ECHO) "   function Include_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
- 	$(ECHO) "   begin" >>tmp-sdefault.adb
- 	$(ECHO) "      return Relocate_Path (S0, S1);" >>tmp-sdefault.adb
-@@ -92,6 +93,10 @@ $(ADA_GEN_SUBDIR)/stamp-sdefault : $(src
- 	$(ECHO) "   begin" >>tmp-sdefault.adb
- 	$(ECHO) "      return Relocate_Path (S0, S4);" >>tmp-sdefault.adb
- 	$(ECHO) "   end Search_Dir_Prefix;" >>tmp-sdefault.adb
-+	$(ECHO) "   function Project_Dir_Prefix return String_Ptr is" >>tmp-sdefault.adb
-+	$(ECHO) "   begin" >>tmp-sdefault.adb
-+	$(ECHO) "      return Relocate_Path (S0, S5);" >>tmp-sdefault.adb
-+	$(ECHO) "   end Project_Dir_Prefix;" >>tmp-sdefault.adb
- 	$(ECHO) "end Sdefault;" >> tmp-sdefault.adb
- 	$(MOVE_IF_CHANGE) tmp-sdefault.adb $(ADA_GEN_SUBDIR)/sdefault.adb
- 	touch $(ADA_GEN_SUBDIR)/stamp-sdefault
-Index: b/src/gcc/ada/prj-env.adb
-===================================================================
---- a/src/gcc/ada/prj-env.adb
-+++ b/src/gcc/ada/prj-env.adb
-@@ -1877,6 +1877,7 @@ package body Prj.Env is
-       Target_Name  : String;
-       Runtime_Name : String := "")
-    is
-+      pragma Unreferenced (Target_Name);
-       Add_Default_Dir : Boolean := Target_Name /= "-";
-       First           : Positive;
-       Last            : Positive;
-@@ -2075,82 +2076,9 @@ package body Prj.Env is
- 
-       --  Set the initial value of Current_Project_Path
- 
--      if Add_Default_Dir then
--         if Sdefault.Search_Dir_Prefix = null then
--
--            --  gprbuild case
--
--            Prefix := new String'(Executable_Prefix_Path);
--
--         else
--            Prefix := new String'(Sdefault.Search_Dir_Prefix.all
--                                  & ".." & Dir_Separator
--                                  & ".." & Dir_Separator
--                                  & ".." & Dir_Separator
--                                  & ".." & Dir_Separator);
--         end if;
--
--         if Prefix.all /= "" then
--            if Target_Name /= "" then
--
--               if Runtime_Name /= "" then
--                  if Base_Name (Runtime_Name) = Runtime_Name then
--
--                     --  $prefix/$target/$runtime/lib/gnat
--                     Add_Target;
--                     Add_Str_To_Name_Buffer
--                       (Runtime_Name & Directory_Separator &
--                          "lib" & Directory_Separator & "gnat");
--
--                     --  $prefix/$target/$runtime/share/gpr
--                     Add_Target;
--                     Add_Str_To_Name_Buffer
--                       (Runtime_Name & Directory_Separator &
--                          "share" & Directory_Separator & "gpr");
--
--                  else
--                     Runtime :=
--                       new String'(Normalize_Pathname (Runtime_Name));
--
--                     --  $runtime_dir/lib/gnat
--                     Add_Str_To_Name_Buffer
--                       (Path_Separator & Runtime.all & Directory_Separator &
--                        "lib" & Directory_Separator & "gnat");
--
--                     --  $runtime_dir/share/gpr
--                     Add_Str_To_Name_Buffer
--                       (Path_Separator & Runtime.all & Directory_Separator &
--                        "share" & Directory_Separator & "gpr");
--                  end if;
--               end if;
--
--               --  $prefix/$target/lib/gnat
--
--               Add_Target;
--               Add_Str_To_Name_Buffer
--                 ("lib" & Directory_Separator & "gnat");
--
--               --  $prefix/$target/share/gpr
--
--               Add_Target;
--               Add_Str_To_Name_Buffer
--                 ("share" & Directory_Separator & "gpr");
--            end if;
--
--            --  $prefix/share/gpr
--
--            Add_Str_To_Name_Buffer
--              (Path_Separator & Prefix.all & "share"
--               & Directory_Separator & "gpr");
--
--            --  $prefix/lib/gnat
--
--            Add_Str_To_Name_Buffer
--              (Path_Separator & Prefix.all & "lib"
--               & Directory_Separator & "gnat");
--         end if;
--
--         Free (Prefix);
-+      if Add_Default_Dir and Sdefault.Project_Dir_Prefix /= null then
-+         Add_Str_To_Name_Buffer (Path_Separator
-+                                 & Sdefault.Project_Dir_Prefix.all);
-       end if;
- 
-       Self.Path := new String'(Name_Buffer (1 .. Name_Len));
-Index: b/src/gcc/ada/sdefault.ads
-===================================================================
---- a/src/gcc/ada/sdefault.ads
-+++ b/src/gcc/ada/sdefault.ads
-@@ -35,4 +35,5 @@ package Sdefault is
-    function Object_Dir_Default_Name  return String_Ptr;
-    function Target_Name              return String_Ptr;
-    function Search_Dir_Prefix        return String_Ptr;
-+   function Project_Dir_Prefix       return String_Ptr;
- end Sdefault;

Reply to: