gnu: qtbase: Add variant that fixes file name handling in CMake macros.
* gnu/packages/patches/qtbase-QTBUG-81715.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/qt.scm (qtbase-patched): New public variable. Signed-off-by: Marius Bakke <mbakke@fastmail.com>
This commit is contained in:
parent
dbf15d86e9
commit
e2546bb472
@ -1355,6 +1355,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
|
||||
%D%/packages/patches/qt4-ldflags.patch \
|
||||
%D%/packages/patches/qtbase-use-TZDIR.patch \
|
||||
%D%/packages/patches/qtbase-QTBUG-81715.patch \
|
||||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
%D%/packages/patches/quagga-reproducible-build.patch \
|
||||
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
|
||||
|
40
gnu/packages/patches/qtbase-QTBUG-81715.patch
Normal file
40
gnu/packages/patches/qtbase-QTBUG-81715.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 8a3fde00bf53d99e9e4853e8ab97b0e1bcf74915 Mon Sep 17 00:00:00 2001
|
||||
From: Joerg Bornemann <joerg.bornemann@qt.io>
|
||||
Date: Wed, 29 Jan 2020 11:06:35 +0100
|
||||
Subject: [PATCH] Fix qt5_make_output_file macro for paths containing dots
|
||||
|
||||
Commit 89bd5a7e broke CMake projects that use dots in their build
|
||||
paths, because the used regular expression matches the directory part
|
||||
of the path as well.
|
||||
|
||||
The regex wants to achieve the same as get_filename_component(...
|
||||
NAME_WLE) which is available since CMake 3.14. Re-implement the
|
||||
NAME_WLE functionality for older CMake versions by using multiple
|
||||
get_filename_component calls.
|
||||
|
||||
Fixes: QTBUG-81715
|
||||
Task-number: QTBUG-80295
|
||||
Change-Id: I2ef053300948f6e1b2c0c5eafac35105f193d4e6
|
||||
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
||||
---
|
||||
|
||||
diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake
|
||||
index 7735e51..b3da640 100644
|
||||
--- a/src/corelib/Qt5CoreMacros.cmake
|
||||
+++ b/src/corelib/Qt5CoreMacros.cmake
|
||||
@@ -59,7 +59,14 @@
|
||||
set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}")
|
||||
string(REPLACE ".." "__" _outfile ${_outfile})
|
||||
get_filename_component(outpath ${_outfile} PATH)
|
||||
- string(REGEX REPLACE "\\.[^.]*$" "" _outfile ${_outfile})
|
||||
+ if(CMAKE_VERSION VERSION_LESS "3.14")
|
||||
+ get_filename_component(_outfile_ext ${_outfile} EXT)
|
||||
+ get_filename_component(_outfile_ext ${_outfile_ext} NAME_WE)
|
||||
+ get_filename_component(_outfile ${_outfile} NAME_WE)
|
||||
+ string(APPEND _outfile ${_outfile_ext})
|
||||
+ else()
|
||||
+ get_filename_component(_outfile ${_outfile} NAME_WLE)
|
||||
+ endif()
|
||||
file(MAKE_DIRECTORY ${outpath})
|
||||
set(${outfile} ${outpath}/${prefix}${_outfile}.${ext})
|
||||
endmacro()
|
@ -598,6 +598,19 @@ developers using C++ or QML, a CSS & JavaScript like language.")
|
||||
developers using C++ or QML, a CSS & JavaScript like language.")
|
||||
(license (list license:lgpl2.1 license:lgpl3))))
|
||||
|
||||
;; This variant fixes a problem with the CMake macros shipped by qtbase. See
|
||||
;; discussion at <https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00308.html>.
|
||||
(define-public qtbase-patched
|
||||
(let ((src (package-source qtbase)))
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit qtbase)
|
||||
(source
|
||||
(origin
|
||||
(inherit src)
|
||||
(patches
|
||||
(append (search-patches "qtbase-QTBUG-81715.patch")
|
||||
(origin-patches src)))))))))
|
||||
|
||||
;; qt used to refer to the monolithic Qt 5.x package
|
||||
(define-deprecated qt qtbase)
|
||||
|
Loading…
Reference in New Issue
Block a user