Bug#835708: plplot: FTBFS: cairo-related files are no more built

2016-09-19 Thread Ole Streicher
Small appendum: Upstream fixed it similarly:

commit cac0198537a260fcb413f7d97301979c2dfaa31c
Author: Raphael Kubo da Costa 
Date:   Sat Jul 16 10:45:25 2016 +0200

pkg-config: Adjust _pkg_check_modules_internal() for CMake 3.6.

CMake commit df97b97 ("FindPkgConfig: optionally create imported
target for the found libraries") has changed the function's signature
again, so add another check and update the call accordingly when using
CMake >= 3.6.0.

Tested by: Alan W. Irwin  on Linux
(Debian Jessie) using

scripts/comprehensive_test.sh

(i.e., a full noninteractive and interactive test for CMake-3.6.0
which is the version of CMake that I used for this test).

There were no obvious build or run-time errors, and the PostScript
difference results had no regressions (i.e., were perfect other
than the long-time ocaml issues).



Bug#835708: plplot: FTBFS: cairo-related files are no more built

2016-09-19 Thread Ole Streicher
Control: tags -1 patch
Control: tags -1 pending

I investigated the bug a bit more. The problem is here, that plplot uses
(in cmake/modules/pkg-config.cmake) a CMake function that is
undocumented and internal to CMake: _pkg_check_modules_internal (WTF?)

This function changed once in 3.1, causing the need of a version
specific switch (debian/patches/cmake-3.1.diff). Now the function API
changed again, specifically in

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=df97b9793#patch2

by adding an additional argument at the third-last position. We
therefore require to extend the switch mentioned above:

  if(CMAKE_VERSION VERSION_LESS "3.1")
_pkg_check_modules_internal(0 0 ${_prefix} "${_package}")
  elseif(CMAKE_VERSION VERSION_LESS "3.6.2")
_pkg_check_modules_internal(0 0 0 0 ${_prefix} "${_package}")
  else(CMAKE_VERSION VERSION_LESS "3.6.2")
_pkg_check_modules_internal(0 0 0 0 0 ${_prefix} "${_package}")
  endif(CMAKE_VERSION VERSION_LESS "3.6.2")

The attached patch replaces the "cmake-3.1.diff" patch that comes with
the current Debian package.

I would try an NMU within the next days (never did that before, so
expect some glitches here ;-) ).

Cheers

Ole
Based on upstream commit 772223c638ecf5dc740c9f3dd7a6883c6d2c83d2 with a slight
tweak to make the patch apply on our version of the source.

commit 772223c638ecf5dc740c9f3dd7a6883c6d2c83d2
Author: Alan W. Irwin 
Date:   Sun Dec 7 09:06:08 2014 -0800

Adjust for internal CMake-3.1 pkg-config change.

There is a report from Greg Jung  that the
internal CMake command

_pkg_check_modules_internal(0 0 ${_prefix} "${_package}")

must be changed to

_pkg_check_modules_internal(0 0 0 0 ${_prefix} "${_package}")

for CMake-3.1 in order to build the cairo device properly.  Accordingly, I have made that adjustment.

Tested by Alan W. Irwin  on Linux using CMake-3.0.2
by building the cairo device.

N.B. currently untested for CMake-3.1.

ToDo:

Extensive tests on CMake-3.1 (once that version is closer to release)
still need to be done since the change in the pkg-config support by
CMake may need other adjustments as well.

--- a/cmake/modules/pkg-config.cmake
+++ b/cmake/modules/pkg-config.cmake
@@ -1,6 +1,6 @@
 # cmake/modules/pkg-config.cmake
 #
-# Copyright (C) 2006  Alan W. Irwin
+# Copyright (C) 2006-2015 Alan W. Irwin
 #
 # This file is part of PLplot.
 #
@@ -94,7 +94,14 @@
 set(_xprefix ${_prefix})
   endif(FORCE_EXTERNAL_STATIC)
   
-  _pkg_check_modules_internal(0 0 ${_prefix} "${_package}")
+  if(CMAKE_VERSION VERSION_LESS "3.1")
+_pkg_check_modules_internal(0 0 ${_prefix} "${_package}")
+  elseif(CMAKE_VERSION VERSION_LESS "3.6.2")
+_pkg_check_modules_internal(0 0 0 0 ${_prefix} "${_package}")
+  else(CMAKE_VERSION VERSION_LESS "3.6.2")
+_pkg_check_modules_internal(0 0 0 0 0 ${_prefix} "${_package}")
+  endif(CMAKE_VERSION VERSION_LESS "3.6.2")
+
   if(${_prefix}_FOUND)
 cmake_link_flags(${_link_FLAGS} "${${_xprefix}_LDFLAGS}")
 # If libraries cannot be not found, then that is equivalent to whole


Processed: Re: Bug#835708: plplot: FTBFS: cairo-related files are no more built

2016-09-19 Thread Debian Bug Tracking System
Processing control commands:

> tags -1 patch
Bug #835708 [src:plplot] plplot: FTBFS: cairo-related files are no more built
Added tag(s) patch.
> tags -1 pending
Bug #835708 [src:plplot] plplot: FTBFS: cairo-related files are no more built
Added tag(s) pending.

-- 
835708: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835708
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#835708: plplot: FTBFS: cairo-related files are no more built

2016-09-19 Thread Axel Beckert
Hi Ole,

Ole Streicher wrote:
> I compared the current build log with one of the original build logs.

Thanks a lot!

> So, for some reason, the pango libraries are not found anymore.

It seems worse: They're not (properly) looked for anymore (diff marks added
and ordered manually):

- -- Checking for module 'pango'
+ -- Checking for modules ''
+ Must specify package names on the command line [... repeated 14 times)
- --   Found pango, version 1.40.1
+ -- WARNING: pkg-config does not find pango.
- -- Checking for module 'pangoft2'
+ -- Checking for modules ''
+ Must specify package names on the command line [... repeated 14 times]
- --   Found pangoft2, version 1.40.1
+ -- WARNING: pkg-config does not find pangoft2.

So I suspect that already the part which is trying to find some
libraries fails itself by correctly specifying them.

Which again brings us back to the cmake update from 3.6.1-1 to 3.6.2-1
on 27-August-2016...

> pango1.0 1.40.2-1 was uploaded on 2016-08-30 (so, after the bug
> report). However, this may give a hint where to look next...

Will have another look at later then.

Regards, Axel
-- 
 ,''`.  |  Axel Beckert , http://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-|  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE



Bug#835708: plplot: FTBFS: cairo-related files are no more built

2016-09-19 Thread Ole Streicher
I compared the current build log with one of the original build logs.
The critical difference seems to be:

original build (take from arm64 log)


-- Checking for module 'pango'
--   Found pango, version 1.40.1
-- Checking for module 'pangoft2'
--   Found pangoft2, version 1.40.1
-- Found LTDL: /usr/lib/aarch64-linux-gnu/libltdl.so
-- LTDL_INCLUDE_DIR = /usr/include
-- LTDL_LIBRARY_DIR = /usr/lib/aarch64-linux-gnu
-- LTDL_LIBRARIES = /usr/lib/aarch64-linux-gnu/libltdl.so
-- Checking for module 'pangocairo'
--   Found pangocairo, version 1.40.1
-- Not a Windows platform so setting wincairo driver to OFF.


new build (private amd64 log)
=
-- Checking for modules ''
Must specify package names on the command line [... repeated 14 times)
-- WARNING: pkg-config does not find pango.
-- Checking for modules ''
Must specify package names on the command line [... repeated 14 times]
-- WARNING: pkg-config does not find pangoft2.
-- Found LTDL: /usr/lib/x86_64-linux-gnu/libltdl.so
-- LTDL_INCLUDE_DIR = /usr/include
-- LTDL_LIBRARY_DIR = /usr/lib/x86_64-linux-gnu
-- LTDL_LIBRARIES = /usr/lib/x86_64-linux-gnu/libltdl.so
-- Checking for modules ''
Must specify package names on the command line [... repeated 14 times]
includedir =
libdir =
linkflags =
cflags =
-- WARNING: pango and/or cairo not found with pkg-config.
   Disabling cairo drivers.  To enable these drivers you must install
   development versions of pango and cairo and/or set
   the environment variable PKG_CONFIG_PATH appropriately.
-- Not a Windows platform so setting wincairo driver to OFF.

So, for some reason, the pango libraries are not found anymore. pango1.0
1.40.2-1 was uploaded on 2016-08-30 (so, after the bug report). However,
this may give a hint where to look next...

Cheers

Ole