gnu: Add bloomberg-bde.
* gnu/packages/cpp.scm (bloomberg-bde): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
4469990f2e
commit
7fbb6fe0e1
@ -912,6 +912,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \
|
||||
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
|
||||
%D%/packages/patches/binutils-CVE-2021-45078.patch \
|
||||
%D%/packages/patches/bloomberg-bde-cmake-module-path.patch \
|
||||
%D%/packages/patches/bloomberg-bde-tools-fix-install-path.patch \
|
||||
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
|
||||
%D%/packages/patches/byobu-writable-status.patch \
|
||||
|
@ -80,7 +80,8 @@
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public argagg
|
||||
(let ((commit "79e4adfa2c6e2bfbe63da05cc668eb9ad5596748") (revision "0"))
|
||||
@ -1613,3 +1614,75 @@ validation.")
|
||||
"This package provides the cmake imports needed to build bloomberg-bde.")
|
||||
(home-page "https://github.com/bloomberg/bde-tools")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public bloomberg-bde
|
||||
(let ((commit "b6bcc0e24a5862bf77aea7edd831dedf50e21d64"))
|
||||
(package
|
||||
(name "bloomberg-bde")
|
||||
;; Recent releases are not tagged so commit must be used for checkout.
|
||||
(version "3.98.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bloomberg/bde")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y3lipi1lj9qazgc935851r2qsx5aq3vvc4y52jq57riyz8wg3ma"))
|
||||
(patches
|
||||
(search-patches
|
||||
"bloomberg-bde-cmake-module-path.patch"))
|
||||
;;(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
;; FIXME: Delete bundled software. The third-party packages
|
||||
;; may be patched or modified from upstream sources.
|
||||
;;(for-each delete-file-recursively
|
||||
;; (list "thirdparty"))
|
||||
;; Delete failing tests.
|
||||
(for-each
|
||||
delete-file
|
||||
(list "groups/bal/ball/ball_asyncfileobserver.t.cpp"
|
||||
"groups/bal/ball/ball_fileobserver2.t.cpp"
|
||||
"groups/bal/ball/ball_recordstringformatter.t.cpp"
|
||||
"groups/bal/balst/balst_stacktraceutil.t.cpp"
|
||||
"groups/bdl/bdlmt/bdlmt_eventscheduler.t.cpp"
|
||||
"groups/bdl/bdlmt/bdlmt_timereventscheduler.t.cpp"
|
||||
"groups/bdl/bdls/bdls_filesystemutil.t.cpp"
|
||||
"groups/bsl/bslh/bslh_hashpair.t.cpp"
|
||||
"groups/bsl/bsls/bsls_platform.t.cpp"
|
||||
"groups/bsl/bsls/bsls_stackaddressutil.t.cpp"
|
||||
"groups/bsl/bsls/bsls_stopwatch.t.cpp"
|
||||
"groups/bsl/bslstl/bslstl_function_invokerutil.t.cpp"))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:parallel-tests? #f ; Test parallelism may fail inconsistently.
|
||||
;; Set UFID to build shared libraries. Flag descriptions can be found at
|
||||
;; https://bloomberg.github.io/bde-tools/reference/bde_repo.html#ufid
|
||||
#:configure-flags ,(match %current-system
|
||||
((or "i686-linux" "armhf-linux")
|
||||
''("-DUFID=opt_dbg_exc_mt_32_shr_cpp17"))
|
||||
(_
|
||||
''("-DUFID=opt_dbg_exc_mt_64_shr_cpp17")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Explicitly build tests separate from the main build.
|
||||
(add-after 'build 'build-tests
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "all.t"
|
||||
`(,@(if #:parallel-build?
|
||||
`("-j" ,(number->string (parallel-job-count)))
|
||||
'())
|
||||
,@make-flags)))))))
|
||||
(native-inputs
|
||||
(list bloomberg-bde-tools pkg-config python))
|
||||
(synopsis "Foundational C++ libraries used at Bloomberg")
|
||||
(description
|
||||
"The BDE Development Environment libraries provide an enhanced
|
||||
implementation of STL containers, vocabulary types for representing common
|
||||
concepts (like dates and times), and building blocks for developing
|
||||
multi-threaded applications and network applications.")
|
||||
(home-page "https://github.com/bloomberg/bde")
|
||||
(license license:asl2.0))))
|
||||
|
16
gnu/packages/patches/bloomberg-bde-cmake-module-path.patch
Normal file
16
gnu/packages/patches/bloomberg-bde-cmake-module-path.patch
Normal file
@ -0,0 +1,16 @@
|
||||
This package requires CMAKE_MODULE_PATH be set by the calling process. This
|
||||
patch uses the CMAKE_PREFIX_PATH passed from Guix as the search path for
|
||||
locating the bloomberg-bde-tools CMake modules.
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1,8 +1,6 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
-if (NOT CMAKE_MODULE_PATH)
|
||||
- message(FATAL "Please specify path to BDE cmake modules.")
|
||||
-endif()
|
||||
+string(REPLACE ":" "cmake/;" CMAKE_MODULE_PATH "$ENV{CMAKE_PREFIX_PATH}cmake/")
|
||||
|
||||
get_filename_component(repoName ${CMAKE_CURRENT_LIST_DIR} NAME)
|
||||
|
Loading…
Reference in New Issue
Block a user