mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-13 14:40:21 -05:00
gnu: CMake: Update to 3.20.2.
* gnu/packages/cmake.scm (%common-disabled-tests): Don't disable BootstrapTest. (cmake-bootstrap): Update to 3.20.2. [source](modules, snippet): Move from here ... (cmake-minimal)[source]: ... to here. * gnu/packages/patches/mariadb-cmake-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/databases.scm (mariadb)[source](patches): Add it.
This commit is contained in:
parent
9e729d9a2f
commit
1539af46d0
4 changed files with 55 additions and 55 deletions
|
@ -1375,6 +1375,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/mailutils-fix-uninitialized-variable.patch \
|
%D%/packages/patches/mailutils-fix-uninitialized-variable.patch \
|
||||||
%D%/packages/patches/make-impure-dirs.patch \
|
%D%/packages/patches/make-impure-dirs.patch \
|
||||||
%D%/packages/patches/mariadb-CVE-2021-27928.patch \
|
%D%/packages/patches/mariadb-CVE-2021-27928.patch \
|
||||||
|
%D%/packages/patches/mariadb-cmake-compat.patch \
|
||||||
%D%/packages/patches/mars-install.patch \
|
%D%/packages/patches/mars-install.patch \
|
||||||
%D%/packages/patches/mars-sfml-2.3.patch \
|
%D%/packages/patches/mars-sfml-2.3.patch \
|
||||||
%D%/packages/patches/maxima-defsystem-mkdir.patch \
|
%D%/packages/patches/maxima-defsystem-mkdir.patch \
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||||
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
|
;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org>
|
||||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
|
@ -123,9 +123,7 @@ (define %common-disabled-tests
|
||||||
;; This test requires 'ldconfig' which is not available in Guix.
|
;; This test requires 'ldconfig' which is not available in Guix.
|
||||||
"RunCMake.install"
|
"RunCMake.install"
|
||||||
;; This test fails for unknown reason.
|
;; This test fails for unknown reason.
|
||||||
"RunCMake.file-GET_RUNTIME_DEPENDENCIES"
|
"RunCMake.file-GET_RUNTIME_DEPENDENCIES"))
|
||||||
;; This test requires the bundled libuv.
|
|
||||||
"BootstrapTest"))
|
|
||||||
|
|
||||||
(define %preserved-third-party-files
|
(define %preserved-third-party-files
|
||||||
'(;; 'Source/cm_getdate.c' includes archive_getdate.c wholesale, so it must
|
'(;; 'Source/cm_getdate.c' includes archive_getdate.c wholesale, so it must
|
||||||
|
@ -140,7 +138,7 @@ (define %preserved-third-party-files
|
||||||
(define-public cmake-bootstrap
|
(define-public cmake-bootstrap
|
||||||
(package
|
(package
|
||||||
(name "cmake-bootstrap")
|
(name "cmake-bootstrap")
|
||||||
(version "3.19.2")
|
(version "3.20.2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://cmake.org/files/v"
|
(uri (string-append "https://cmake.org/files/v"
|
||||||
|
@ -148,49 +146,7 @@ (define-public cmake-bootstrap
|
||||||
"/cmake-" version ".tar.gz"))
|
"/cmake-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1w67w0ak6vf37501dlz9yhnzlvvpw1w10n2nm3hi7yxp4cxzvq73"))
|
"0kjlb7sxbwg8z4027c3jjcmyjh9d36p0r9d4nqxynyaijz5nxkxf"))
|
||||||
(modules '((guix build utils)
|
|
||||||
(ice-9 ftw)))
|
|
||||||
(snippet
|
|
||||||
`(begin
|
|
||||||
;; CMake bundles its dependencies in the "Utilities" directory.
|
|
||||||
;; Delete those to ensure the system libraries are used.
|
|
||||||
(define preserved-files
|
|
||||||
'(,@%preserved-third-party-files
|
|
||||||
;; Use the bundled JsonCpp during bootstrap to work around
|
|
||||||
;; a circular dependency. TODO: JsonCpp can be built with
|
|
||||||
;; Meson instead of CMake, but meson-build-system currently
|
|
||||||
;; does not support cross-compilation.
|
|
||||||
"Utilities/cmjsoncpp"
|
|
||||||
;; LibUV is required to bootstrap the initial build system.
|
|
||||||
"Utilities/cmlibuv"))
|
|
||||||
|
|
||||||
(file-system-fold (lambda (dir stat result) ;enter?
|
|
||||||
(or (string=? "Utilities" dir) ;init
|
|
||||||
;; The bundled dependencies are
|
|
||||||
;; distinguished by having a "cm"
|
|
||||||
;; prefix to their upstream names.
|
|
||||||
(and (string-prefix? "Utilities/cm" dir)
|
|
||||||
(not (member dir preserved-files)))))
|
|
||||||
(lambda (file stat result) ;leaf
|
|
||||||
(unless (or (member file preserved-files)
|
|
||||||
;; Preserve top-level files.
|
|
||||||
(string=? "Utilities"
|
|
||||||
(dirname file)))
|
|
||||||
(delete-file file)))
|
|
||||||
(const #t) ;down
|
|
||||||
(lambda (dir stat result) ;up
|
|
||||||
(when (equal? (scandir dir) '("." ".."))
|
|
||||||
(rmdir dir)))
|
|
||||||
(const #t) ;skip
|
|
||||||
(lambda (file stat errno result)
|
|
||||||
(format (current-error-port)
|
|
||||||
"warning: failed to delete ~a: ~a~%"
|
|
||||||
file (strerror errno)))
|
|
||||||
#t
|
|
||||||
"Utilities"
|
|
||||||
lstat)
|
|
||||||
#t))
|
|
||||||
(patches (search-patches "cmake-curl-certificates.patch"))))
|
(patches (search-patches "cmake-curl-certificates.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -290,13 +246,38 @@ (define-public cmake-minimal
|
||||||
(name "cmake-minimal")
|
(name "cmake-minimal")
|
||||||
(source (origin
|
(source (origin
|
||||||
(inherit (package-source cmake-bootstrap))
|
(inherit (package-source cmake-bootstrap))
|
||||||
|
;; Purge CMakes bundled dependencies as they are no longer needed.
|
||||||
|
(modules '((ice-9 ftw)))
|
||||||
(snippet
|
(snippet
|
||||||
(match (origin-snippet (package-source cmake-bootstrap))
|
`(begin
|
||||||
((_ _ exp ...)
|
(define preserved-files ',%preserved-third-party-files)
|
||||||
;; Now we can delete the remaining software bundles.
|
|
||||||
(append `(begin
|
(file-system-fold (lambda (dir stat result) ;enter?
|
||||||
(define preserved-files ',%preserved-third-party-files))
|
(or (string=? "Utilities" dir) ;init
|
||||||
exp))))))
|
;; The bundled dependencies are
|
||||||
|
;; distinguished by having a "cm"
|
||||||
|
;; prefix to their upstream names.
|
||||||
|
(and (string-prefix? "Utilities/cm" dir)
|
||||||
|
(not (member dir preserved-files)))))
|
||||||
|
(lambda (file stat result) ;leaf
|
||||||
|
(unless (or (member file preserved-files)
|
||||||
|
;; Preserve top-level files.
|
||||||
|
(string=? "Utilities"
|
||||||
|
(dirname file)))
|
||||||
|
(delete-file file)))
|
||||||
|
(const #t) ;down
|
||||||
|
(lambda (dir stat result) ;up
|
||||||
|
(when (equal? (scandir dir) '("." ".."))
|
||||||
|
(rmdir dir)))
|
||||||
|
(const #t) ;skip
|
||||||
|
(lambda (file stat errno result)
|
||||||
|
(format (current-error-port)
|
||||||
|
"warning: failed to delete ~a: ~a~%"
|
||||||
|
file (strerror errno)))
|
||||||
|
#t
|
||||||
|
"Utilities"
|
||||||
|
lstat)
|
||||||
|
#t))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("jsoncpp" ,jsoncpp)
|
`(("jsoncpp" ,jsoncpp)
|
||||||
,@(package-inputs cmake-bootstrap)))
|
,@(package-inputs cmake-bootstrap)))
|
||||||
|
|
|
@ -716,7 +716,8 @@ (define-public mariadb
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1s3vfm73911cddjhgpcbkya6nz7ag2zygg56qqzwscn5ybv28j7b"))
|
"1s3vfm73911cddjhgpcbkya6nz7ag2zygg56qqzwscn5ybv28j7b"))
|
||||||
(patches (search-patches "mariadb-CVE-2021-27928.patch"))
|
(patches (search-patches "mariadb-CVE-2021-27928.patch"
|
||||||
|
"mariadb-cmake-compat.patch"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
|
|
17
gnu/packages/patches/mariadb-cmake-compat.patch
Normal file
17
gnu/packages/patches/mariadb-cmake-compat.patch
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
Fix if statement that triggers syntax error in CMake 3.20 and later.
|
||||||
|
|
||||||
|
Taken from upstream:
|
||||||
|
https://github.com/mariadb-corporation/mariadb-connector-c/commit/242cab8c
|
||||||
|
|
||||||
|
diff --git a/libmariadb/cmake/ConnectorName.cmake b/libmariadb/cmake/ConnectorName.cmake
|
||||||
|
--- a/libmariadb/cmake/ConnectorName.cmake
|
||||||
|
+++ b/libmariadb/cmake/ConnectorName.cmake
|
||||||
|
@@ -22,7 +22,7 @@ IF(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||||
|
SET(MACHINE_NAME "x64")
|
||||||
|
ELSE()
|
||||||
|
SET(MACHINE_NAME "32")
|
||||||
|
- END()
|
||||||
|
+ ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
SET(product_name "mysql-connector-c-${CPACK_PACKAGE_VERSION}-${PLATFORM_NAME}${CONCAT_SIGN}${MACHINE_NAME}")
|
Loading…
Reference in a new issue