summaryrefslogtreecommitdiff
path: root/gnu/packages/cpp.scm
diff options
context:
space:
mode:
authorGreg Hogan <code@greghogan.com>2021-11-03 15:22:19 +0000
committerLudovic Courtès <ludo@gnu.org>2022-02-08 13:34:01 +0100
commit7fbb6fe0e1035e2a09fe9ffcd5b91c1586510f99 (patch)
tree86c9089620fd2076c8e2b072d66f58e9c7470def /gnu/packages/cpp.scm
parent4469990f2e4b300781c93dfd41a82c41611842e3 (diff)
gnu: Add bloomberg-bde.
* gnu/packages/cpp.scm (bloomberg-bde): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/cpp.scm')
-rw-r--r--gnu/packages/cpp.scm75
1 files changed, 74 insertions, 1 deletions
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 3bc77ff0177..a77ac84f17a 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -80,7 +80,8 @@
80 #:use-module (gnu packages pulseaudio) 80 #:use-module (gnu packages pulseaudio)
81 #:use-module (gnu packages tls) 81 #:use-module (gnu packages tls)
82 #:use-module (gnu packages web) 82 #:use-module (gnu packages web)
83 #:use-module (gnu packages xml)) 83 #:use-module (gnu packages xml)
84 #:use-module (ice-9 match))
84 85
85(define-public argagg 86(define-public argagg
86 (let ((commit "79e4adfa2c6e2bfbe63da05cc668eb9ad5596748") (revision "0")) 87 (let ((commit "79e4adfa2c6e2bfbe63da05cc668eb9ad5596748") (revision "0"))
@@ -1613,3 +1614,75 @@ validation.")
1613 "This package provides the cmake imports needed to build bloomberg-bde.") 1614 "This package provides the cmake imports needed to build bloomberg-bde.")
1614 (home-page "https://github.com/bloomberg/bde-tools") 1615 (home-page "https://github.com/bloomberg/bde-tools")
1615 (license license:asl2.0)))) 1616 (license license:asl2.0))))
1617
1618(define-public bloomberg-bde
1619 (let ((commit "b6bcc0e24a5862bf77aea7edd831dedf50e21d64"))
1620 (package
1621 (name "bloomberg-bde")
1622 ;; Recent releases are not tagged so commit must be used for checkout.
1623 (version "3.98.0.0")
1624 (source (origin
1625 (method git-fetch)
1626 (uri (git-reference
1627 (url "https://github.com/bloomberg/bde")
1628 (commit commit)))
1629 (file-name (git-file-name name version))
1630 (sha256
1631 (base32
1632 "0y3lipi1lj9qazgc935851r2qsx5aq3vvc4y52jq57riyz8wg3ma"))
1633 (patches
1634 (search-patches
1635 "bloomberg-bde-cmake-module-path.patch"))
1636 ;;(modules '((guix build utils)))
1637 (snippet
1638 `(begin
1639 ;; FIXME: Delete bundled software. The third-party packages
1640 ;; may be patched or modified from upstream sources.
1641 ;;(for-each delete-file-recursively
1642 ;; (list "thirdparty"))
1643 ;; Delete failing tests.
1644 (for-each
1645 delete-file
1646 (list "groups/bal/ball/ball_asyncfileobserver.t.cpp"
1647 "groups/bal/ball/ball_fileobserver2.t.cpp"
1648 "groups/bal/ball/ball_recordstringformatter.t.cpp"
1649 "groups/bal/balst/balst_stacktraceutil.t.cpp"
1650 "groups/bdl/bdlmt/bdlmt_eventscheduler.t.cpp"
1651 "groups/bdl/bdlmt/bdlmt_timereventscheduler.t.cpp"
1652 "groups/bdl/bdls/bdls_filesystemutil.t.cpp"
1653 "groups/bsl/bslh/bslh_hashpair.t.cpp"
1654 "groups/bsl/bsls/bsls_platform.t.cpp"
1655 "groups/bsl/bsls/bsls_stackaddressutil.t.cpp"
1656 "groups/bsl/bsls/bsls_stopwatch.t.cpp"
1657 "groups/bsl/bslstl/bslstl_function_invokerutil.t.cpp"))
1658 #t))))
1659 (build-system cmake-build-system)
1660 (arguments
1661 `(#:parallel-tests? #f ; Test parallelism may fail inconsistently.
1662 ;; Set UFID to build shared libraries. Flag descriptions can be found at
1663 ;; https://bloomberg.github.io/bde-tools/reference/bde_repo.html#ufid
1664 #:configure-flags ,(match %current-system
1665 ((or "i686-linux" "armhf-linux")
1666 ''("-DUFID=opt_dbg_exc_mt_32_shr_cpp17"))
1667 (_
1668 ''("-DUFID=opt_dbg_exc_mt_64_shr_cpp17")))
1669 #:phases
1670 (modify-phases %standard-phases
1671 ;; Explicitly build tests separate from the main build.
1672 (add-after 'build 'build-tests
1673 (lambda* (#:key make-flags #:allow-other-keys)
1674 (apply invoke "make" "all.t"
1675 `(,@(if #:parallel-build?
1676 `("-j" ,(number->string (parallel-job-count)))
1677 '())
1678 ,@make-flags)))))))
1679 (native-inputs
1680 (list bloomberg-bde-tools pkg-config python))
1681 (synopsis "Foundational C++ libraries used at Bloomberg")
1682 (description
1683 "The BDE Development Environment libraries provide an enhanced
1684implementation of STL containers, vocabulary types for representing common
1685concepts (like dates and times), and building blocks for developing
1686multi-threaded applications and network applications.")
1687 (home-page "https://github.com/bloomberg/bde")
1688 (license license:asl2.0))))