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