Package: src:meson
Version: 0.45.1-1
Severity: serious
Tags: sid buster patch

The java and cross tests fail. and I don't see how these could succeed in the
past.  This package is uploaded including the binary package, so the only
explanation I have is that the tests were disabled during these local builds.
Please don't do that, and do source only uploads instead so you can see what 
fails.

The attached patch fixes the test failures regarding the java and the cross 
tests.

  * Fix javac detection. This cannot have worked in any source only
    upload.
  * Build-depend on g++-arm-linux-gnueabihf. The cross tests call
    gcc/g++ explicitly.
  * Use default-jdk-headless instead of openjdk-8.

 
diff -Nru meson-0.45.1/debian/control meson-0.45.1/debian/control
--- meson-0.45.1/debian/control 2018-03-04 20:53:50.000000000 +0100
+++ meson-0.45.1/debian/control 2018-04-01 09:44:20.000000000 +0200
@@ -29,7 +29,7 @@
   protobuf-compiler <!nocheck>,
   libprotobuf-dev <!nocheck>,
 # OpenJDK does not work on Hurd, so skip the tests.
-  openjdk-8-jdk [!hurd-i386] <!nocheck>,
+  default-jdk-headless [!hurd-i386] <!nocheck>,
   valac <!nocheck>,
   gobject-introspection <!nocheck>,
   libgirepository1.0-dev <!nocheck>,
@@ -57,7 +57,7 @@
   itstool <!nocheck>,
   libgtk-3-dev <!nocheck>,
 # Not available on older releases and only needed for tests
-  c++-compiler-arm-linux-gnueabihf [!armhf] <!nocheck> | bash-doc <!nocheck>,
+  g++-arm-linux-gnueabihf [!armhf] <!nocheck> | bash-doc <!nocheck>,
   valgrind [amd64 i386] <!nocheck>,
   llvm-dev <!nocheck>,
   libsdl2-dev <!nocheck>,
diff -Nru meson-0.45.1/debian/patches/fix-javac-test.diff 
meson-0.45.1/debian/patches/fix-javac-test.diff
--- meson-0.45.1/debian/patches/fix-javac-test.diff     1970-01-01 
01:00:00.000000000 +0100
+++ meson-0.45.1/debian/patches/fix-javac-test.diff     2018-04-01 
09:43:52.000000000 +0200
@@ -0,0 +1,13 @@
+Index: b/mesonbuild/environment.py
+===================================================================
+--- a/mesonbuild/environment.py
++++ b/mesonbuild/environment.py
+@@ -661,7 +661,7 @@ class Environment:
+         except OSError:
+             raise EnvironmentException('Could not execute Java compiler "%s"' 
% ' '.join(exelist))
+         version = search_version(err)
+-        if 'javac' in err:
++        if 'javac' in out or 'javac' in err:
+             return JavaCompiler(exelist, version)
+         raise EnvironmentException('Unknown compiler "' + ' '.join(exelist) + 
'"')
+ 
diff -Nru meson-0.45.1/debian/patches/series meson-0.45.1/debian/patches/series
--- meson-0.45.1/debian/patches/series  2017-08-15 00:26:22.000000000 +0200
+++ meson-0.45.1/debian/patches/series  2018-04-01 09:44:20.000000000 +0200
@@ -1 +1,3 @@
 1-disable-openmpi.patch
+fix-javac-test.diff
+unversioned-armhf-cross.diff
diff -Nru meson-0.45.1/debian/patches/unversioned-armhf-cross.diff 
meson-0.45.1/debian/patches/unversioned-armhf-cross.diff
--- meson-0.45.1/debian/patches/unversioned-armhf-cross.diff    1970-01-01 
01:00:00.000000000 +0100
+++ meson-0.45.1/debian/patches/unversioned-armhf-cross.diff    2018-04-01 
09:44:20.000000000 +0200
@@ -0,0 +1,28 @@
+Index: b/cross/ubuntu-armhf.txt
+===================================================================
+--- a/cross/ubuntu-armhf.txt
++++ b/cross/ubuntu-armhf.txt
+@@ -1,8 +1,8 @@
+ [binaries]
+ # we could set exe_wrapper = qemu-arm-static but to test the case
+ # when cross compiled binaries can't be run we don't do that
+-c = '/usr/bin/arm-linux-gnueabihf-gcc-7'
+-cpp = '/usr/bin/arm-linux-gnueabihf-g++-7'
++c = '/usr/bin/arm-linux-gnueabihf-gcc'
++cpp = '/usr/bin/arm-linux-gnueabihf-g++'
+ rust = ['rustc', '--target', 'arm-unknown-linux-gnueabihf', '-C', 
'linker=/usr/bin/arm-linux-gnueabihf-gcc-7']
+ ar = '/usr/arm-linux-gnueabihf/bin/ar'
+ strip = '/usr/arm-linux-gnueabihf/bin/strip'
+Index: b/run_tests.py
+===================================================================
+--- a/run_tests.py
++++ b/run_tests.py
+@@ -131,7 +131,7 @@ def get_fake_options(prefix):
+     return opts
+ 
+ def should_run_linux_cross_tests():
+-    return shutil.which('arm-linux-gnueabihf-gcc-7') and not 
platform.machine().lower().startswith('arm')
++    return shutil.which('arm-linux-gnueabihf-gcc') and not 
platform.machine().lower().startswith('arm')
+ 
+ def run_configure_inprocess(meson_command, commandlist):
+     old_stdout = sys.stdout

Reply via email to