Package: debhelper
Version: 11.5.1
Tags: patch
User: [email protected]
Usertags: rebootstrap
Control: affects -1 + src:qtwebkit-opensource-src

CMAKE_SYSTEM_PROCESSOR usually contains the output of uname -m. For
ppc64el, that is ppc64le. debhelper seeds it from DEB_HOST_GNU_CPU,
which happens to be powerpc64le for ppc64el. qtwebkit-opensource-src
doesn't like that and fails:

| CMake Error at CMakeLists.txt:87 (message):
|   Unknown CPU 'powerpc64le'

The attached patch fixes the value for ppc64el.

Helmut
diff --minimal -Nru debhelper-11.5.1/debian/changelog 
debhelper-11.5.1+nmu1/debian/changelog
--- debhelper-11.5.1/debian/changelog   2018-10-31 22:02:00.000000000 +0100
+++ debhelper-11.5.1+nmu1/debian/changelog      2018-11-10 21:26:52.000000000 
+0100
@@ -1,3 +1,11 @@
+debhelper (11.5.1+nmu1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * cmake buildsystem: Pass the usual CMAKE_SYSTEM_PROCESSOR for ppc64el when
+    cross compiling. (Closes: #-1)
+
+ -- Helmut Grohne <[email protected]>  Sat, 10 Nov 2018 21:26:52 +0100
+
 debhelper (11.5.1) unstable; urgency=medium
 
   * dh_systemd_start: Fix bug introduced in debhelper/11.5 where
diff --minimal -Nru debhelper-11.5.1/lib/Debian/Debhelper/Buildsystem/cmake.pm 
debhelper-11.5.1+nmu1/lib/Debian/Debhelper/Buildsystem/cmake.pm
--- debhelper-11.5.1/lib/Debian/Debhelper/Buildsystem/cmake.pm  2018-10-24 
20:30:33.000000000 +0200
+++ debhelper-11.5.1+nmu1/lib/Debian/Debhelper/Buildsystem/cmake.pm     
2018-11-10 21:26:50.000000000 +0100
@@ -26,6 +26,10 @@
        'hurd'     => 'GNU',
 );
 
+my %GNU_CPU2SYSTEM_PROCESSOR = (
+       'powerpc64le' => 'ppc64le',
+);
+
 my %TARGET_BUILD_SYSTEM2CMAKE_GENERATOR = (
        'makefile' => 'Unix Makefiles',
        'ninja'    => 'Ninja',
@@ -101,7 +105,12 @@
                } else {
                        error("Cannot cross-compile - CMAKE_SYSTEM_NAME not 
known for ${deb_host}");
                }
-               push @flags, "-DCMAKE_SYSTEM_PROCESSOR=" . 
dpkg_architecture_value("DEB_HOST_GNU_CPU");
+               my $gnu_cpu = dpkg_architecture_value("DEB_HOST_GNU_CPU");
+               if (exists($GNU_CPU2SYSTEM_PROCESSOR{$gnu_cpu})) {
+                       push @flags, "-DCMAKE_SYSTEM_PROCESSOR=" . 
$GNU_CPU2SYSTEM_PROCESSOR{$gnu_cpu};
+               } else {
+                       push @flags, "-DCMAKE_SYSTEM_PROCESSOR=${gnu_cpu}";
+               }
                if (not $ENV{CC}) {
                        push @flags, "-DCMAKE_C_COMPILER=" . 
dpkg_architecture_value("DEB_HOST_GNU_TYPE") . "-gcc";
                }

Reply via email to