Package: src:dbusada
Followup-For: Bug #875818

Hello.
The attached patch fixes both issues, and removes the now unused
stdarg_h.ads.
It compiles on amd64, i386 and armel.
From: Nicolas Boulenguez <nico...@debian.org>
Subject: Remove dangling references from g++ generated code. Closes: #875818.

--- a/debian/patches/refresh-thin.diff
+++ b/debian/patches/refresh-thin.diff
@@ -20,7 +20,7 @@ Author: Nicolas Boulenguez <nico...@debian.org>
  	gnatmake $(GMAKE_OPTS) -Pd_bus_ada_examples -XLIBRARY_KIND=static
  
  install: install_lib install_$(LIBRARY_KIND)
-@@ -79,9 +79,37 @@
+@@ -79,9 +79,48 @@
  	@rm -rf $(OBJDIR)
  	@rm -rf $(LIBDIR)
  	@rm -rf $(DOCDIR)
@@ -47,8 +47,13 @@ Author: Nicolas Boulenguez <nico...@debian.org>
 +	$(CXX) --dump-ada-spec $(dbus_h) `pkg-config --cflags $(dbus_lib)`
 +  # Remove unused file.
 +	rm -f $@/*_dbus_syntax_h.ads
-+  # Fix an error.
-+	sed -i '/^   subtype nullptr_t is ;  --/d' $@/stddef_h.ads
++	rm -f $@/stdarg_h.ads
++  # Removed a wrongly generated definition and a reference to an
++  # ungenerated type.  Neither one is used in dbusada.
++	sed -i \
++	  -e '/^   subtype nullptr_t is ;  --/d' \
++	  -e '/uu_float128/d' \
++	  $@/stddef_h.ads
 +  # Remove arch, path or version dependent prefixes.
 +	cd $@ && for i in *dbus_dbus_*; do \
 +	  mv $$i `echo $$i | sed 's/.*dbus_dbus_/dbus_/'`; \
@@ -58,5 +63,11 @@ Author: Nicolas Boulenguez <nico...@debian.org>
 +	sed -i '/^with Interfaces\.C; use Interfaces\.C;$$/d' \
 +	  $@/dbus_memory_h.ads \
 +	  $@/dbus_pending_call_h.ads \
-+	  $@/dbus_shared_h.ads \
-+	  $@/stdarg_h.ads
++	  $@/dbus_shared_h.ads
++  # On arm processors, g++-7 generates a reference to starg_h.Class_va_list,
++  # but does not generate the referenced package.
++  # Remove the function using this reference, dbusada does not use it.
++	sed -i \
++	  -e '/^with stdarg_h;$$/d' \
++	  -e '/^   function dbus_message_\(append\|get\)_args_valist$$/{:l;N;/\n$$/d;bl}' \
++	  $@/dbus_message_h.ads

Reply via email to