devel/qt5-qdoc: fix CMake Config file for doctools

We patch Qt to install into $LOCALBASE/lib/qt5, but the CMake
bits of Qt go into $LOCALBASE; this mismatch of installation-
prefixes means that the CMake Config files are generated with
an incorrect number of "../" components, and end up looking in
the wrong prefix. Symptom is this:

  The package "Qt5DocTools" references the file
     "/usr/lib/qt5/bin/qdoc"

The logic to use the correct path is there, but not selected
when writing out the Config file. Delete all the ones we don't
want, rather than letting qmake / whatever text-substitution tool
is in the build do it.

Suggested by:	tcberner
This commit is contained in:
Adriaan de Groot 2022-02-06 18:43:50 +01:00
parent 66270bc0a5
commit 2c9a938c5b
2 changed files with 33 additions and 0 deletions

View File

@ -1,5 +1,6 @@
PORTNAME= qdoc
PORTVERSION= ${QT5_VERSION}${QT5_KDE_PATCH}
PORTREVISION= 1
CATEGORIES= devel textproc
PKGNAMEPREFIX= qt5-

View File

@ -0,0 +1,32 @@
--- src/qdoc/Qt5DocToolsConfig.cmake.in.orig 2022-02-06 16:38:55 UTC
+++ src/qdoc/Qt5DocToolsConfig.cmake.in
@@ -2,29 +2,7 @@ if (CMAKE_VERSION VERSION_LESS 2.8.3)
message(FATAL_ERROR \"Qt 5 requires at least CMake version 2.8.3\")
endif()
-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
set(_qt5_qdoctools_install_prefix \"$$[QT_INSTALL_PREFIX]\")
-!!ELSE
-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
-# Use original install prefix when loaded through a
-# cross-prefix symbolic link such as /lib -> /usr/lib.
-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5DocTools\" REALPATH)
-if(_realCurr STREQUAL _realOrig)
- get_filename_component(_qt5_qdoctools_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
-else()
- get_filename_component(_qt5_qdoctools_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
-endif()
-unset(_realOrig)
-unset(_realCurr)
-unset(_IMPORT_PREFIX)
-!!ENDIF
-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
-get_filename_component(_qt5_qdoctools_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
-!!ELSE
-set(_qt5_qdoctools_install_prefix \"$$[QT_INSTALL_PREFIX]\")
-!!ENDIF
macro(_qt5_DocTools_check_file_exists file)
if(NOT EXISTS \"${file}\" )