gnu: cmake: Use 'modify-phases'.
* gnu/packages/cmake.scm (cmake)[arguments]: Use 'modify-phases'.
This commit is contained in:
parent
28b49c0791
commit
6e261af1e7
@ -50,67 +50,62 @@
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:phases (alist-cons-before
|
||||
'configure 'patch-bin-sh
|
||||
(lambda _
|
||||
;; Replace "/bin/sh" by the right path in... a lot of
|
||||
;; files.
|
||||
(substitute*
|
||||
'("Modules/CompilerId/Xcode-3.pbxproj.in"
|
||||
"Modules/CompilerId/Xcode-1.pbxproj.in"
|
||||
"Modules/CompilerId/Xcode-2.pbxproj.in"
|
||||
"Modules/CPack.RuntimeScript.in"
|
||||
"Source/cmakexbuild.cxx"
|
||||
"Source/cmGlobalXCodeGenerator.cxx"
|
||||
"Source/CTest/cmCTestBatchTestHandler.cxx"
|
||||
"Source/cmLocalUnixMakefileGenerator3.cxx"
|
||||
"Source/cmExecProgramCommand.cxx"
|
||||
"Utilities/cmbzip2/Makefile-libbz2_so"
|
||||
"Utilities/Release/release_cmake.cmake"
|
||||
"Utilities/cmlibarchive/libarchive/\
|
||||
archive_write_set_format_shar.c"
|
||||
"Tests/CMakeLists.txt"
|
||||
"Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
|
||||
(("/bin/sh") (which "sh"))))
|
||||
(alist-cons-before
|
||||
'configure 'set-paths
|
||||
(lambda _
|
||||
;; Help cmake's bootstrap process to find system libraries
|
||||
(begin
|
||||
(setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
|
||||
(setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
|
||||
;; Get verbose output from failed tests
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "TRUE")))
|
||||
(alist-replace
|
||||
'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero? (system*
|
||||
"./configure"
|
||||
(string-append "--prefix=" out)
|
||||
"--system-libs"
|
||||
"--no-system-jsoncpp" ; not packaged yet
|
||||
;; By default, the man pages and other docs land
|
||||
;; in PREFIX/man and PREFIX/doc, but we want them
|
||||
;; in share/{man,doc}. Note that unlike
|
||||
;; autoconf-generated configure scripts, cmake's
|
||||
;; configure prepends "PREFIX/" to what we pass
|
||||
;; to --mandir and --docdir.
|
||||
"--mandir=share/man"
|
||||
,(string-append
|
||||
"--docdir=share/doc/cmake-"
|
||||
(version-major+minor version))))))
|
||||
(alist-cons-after
|
||||
'unpack 'remove-libarchive-version-test
|
||||
; This test check has been failing consistantly over
|
||||
; libarchive 3.2.x and cmake 3.4.x and 3.5.x so we
|
||||
; disable it for now
|
||||
(lambda _
|
||||
(substitute*
|
||||
"Tests/CMakeOnly/AllFindModules/CMakeLists.txt"
|
||||
(("LibArchive") ""))
|
||||
#t)
|
||||
%standard-phases))))))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'patch-bin-sh
|
||||
(lambda _
|
||||
;; Replace "/bin/sh" by the right path in... a lot of
|
||||
;; files.
|
||||
(substitute*
|
||||
'("Modules/CompilerId/Xcode-3.pbxproj.in"
|
||||
"Modules/CompilerId/Xcode-1.pbxproj.in"
|
||||
"Modules/CompilerId/Xcode-2.pbxproj.in"
|
||||
"Modules/CPack.RuntimeScript.in"
|
||||
"Source/cmakexbuild.cxx"
|
||||
"Source/cmGlobalXCodeGenerator.cxx"
|
||||
"Source/CTest/cmCTestBatchTestHandler.cxx"
|
||||
"Source/cmLocalUnixMakefileGenerator3.cxx"
|
||||
"Source/cmExecProgramCommand.cxx"
|
||||
"Utilities/cmbzip2/Makefile-libbz2_so"
|
||||
"Utilities/Release/release_cmake.cmake"
|
||||
"Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c"
|
||||
"Tests/CMakeLists.txt"
|
||||
"Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
|
||||
(("/bin/sh") (which "sh")))))
|
||||
(add-before 'configure 'set-paths
|
||||
(lambda _
|
||||
;; Help cmake's bootstrap process to find system libraries
|
||||
(begin
|
||||
(setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH"))
|
||||
(setenv "CMAKE_INCLUDE_PATH" (getenv "C_INCLUDE_PATH"))
|
||||
;; Get verbose output from failed tests
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "TRUE"))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(zero? (system*
|
||||
"./configure"
|
||||
(string-append "--prefix=" out)
|
||||
"--system-libs"
|
||||
"--no-system-jsoncpp" ; not packaged yet
|
||||
;; By default, the man pages and other docs land
|
||||
;; in PREFIX/man and PREFIX/doc, but we want them
|
||||
;; in share/{man,doc}. Note that unlike
|
||||
;; autoconf-generated configure scripts, cmake's
|
||||
;; configure prepends "PREFIX/" to what we pass
|
||||
;; to --mandir and --docdir.
|
||||
"--mandir=share/man"
|
||||
,(string-append
|
||||
"--docdir=share/doc/cmake-"
|
||||
(version-major+minor version)))))))
|
||||
(add-after 'unpack 'remove-libarchive-version-test
|
||||
; This test check has been failing consistantly over libarchive 3.2.x
|
||||
; and cmake 3.4.x and 3.5.x so we disable it for now
|
||||
(lambda _
|
||||
(substitute*
|
||||
"Tests/CMakeOnly/AllFindModules/CMakeLists.txt"
|
||||
(("LibArchive") ""))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("file" ,file)
|
||||
("curl" ,curl)
|
||||
|
Loading…
Reference in New Issue
Block a user