mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-12 06:06:53 -05:00
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
3 changed files with 54 additions and 0 deletions
|
@ -1355,6 +1355,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
|
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
|
||||||
%D%/packages/patches/qt4-ldflags.patch \
|
%D%/packages/patches/qt4-ldflags.patch \
|
||||||
%D%/packages/patches/qtbase-use-TZDIR.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/qtscript-disable-tests.patch \
|
||||||
%D%/packages/patches/quagga-reproducible-build.patch \
|
%D%/packages/patches/quagga-reproducible-build.patch \
|
||||||
%D%/packages/patches/quickswitch-fix-dmenu-check.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 @@ (define-public qtbase
|
||||||
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))))
|
(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
|
;; qt used to refer to the monolithic Qt 5.x package
|
||||||
(define-deprecated qt qtbase)
|
(define-deprecated qt qtbase)
|
||||||
|
|
Loading…
Reference in a new issue