gnu: Add bloomberg-bde-tools.

* gnu/packages/cpp.scm (bloomberg-bde-tools): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Greg Hogan 2021-11-03 15:20:51 +00:00 committed by Ludovic Courtès
parent 6207da50e2
commit 4469990f2e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 125 additions and 1 deletions

View file

@ -912,6 +912,7 @@ dist_patch_DATA = \
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \ %D%/packages/patches/binutils-mingw-w64-timestamp.patch \
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \ %D%/packages/patches/binutils-mingw-w64-deterministic.patch \
%D%/packages/patches/binutils-CVE-2021-45078.patch \ %D%/packages/patches/binutils-CVE-2021-45078.patch \
%D%/packages/patches/bloomberg-bde-tools-fix-install-path.patch \
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \ %D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
%D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \ %D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \

View file

@ -14,7 +14,7 @@
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2020-2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute> ;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
@ -48,6 +48,7 @@ (define-module (gnu packages cpp)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix modules) #:use-module (guix modules)
@ -1585,3 +1586,30 @@ (define-public simdjson
validation.") validation.")
(home-page "https://github.com/simdjson/simdjson") (home-page "https://github.com/simdjson/simdjson")
(license license:asl2.0))) (license license:asl2.0)))
(define-public bloomberg-bde-tools
(let ((commit "094885bd177e0159232d4e6a060a04edb1edd786"))
(package
(name "bloomberg-bde-tools")
;; Recent releases are not tagged so commit must be used for checkout.
(version "3.97.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/bloomberg/bde-tools")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0mbbai73z8amh23ah3wy35kmy612380yr5wg89mic60qwqmpqb02"))
(patches
(search-patches
"bloomberg-bde-tools-fix-install-path.patch"))))
(build-system copy-build-system)
;; Unable to be an inline dependency of bloomberg-bde due to patch.
(properties '((hidden? . #t)))
(synopsis "Tools for developing and building libraries modeled on BDE")
(description
"This package provides the cmake imports needed to build bloomberg-bde.")
(home-page "https://github.com/bloomberg/bde-tools")
(license license:asl2.0))))

View file

@ -0,0 +1,95 @@
Install shared libraries into "lib". Do not create symbolic links to static
libraries since only shared libraries are built.
--- a/cmake/layers/ufid.cmake
+++ b/cmake/layers/ufid.cmake
@@ -6,10 +6,7 @@ bde_prefixed_override(ufid project_setup_install_opts)
function(ufid_project_setup_install_opts proj)
bde_assert_no_extra_args()
- set(libPath "bin/so")
- if (${bde_ufid_is_64})
- string(APPEND libPath "/64")
- endif()
+ set(libPath "lib")
bde_struct_create(
installOpts
@@ -86,13 +83,6 @@ function(bde_create_ufid_symlink uor installOpts)
"${symlinkPrefix}/${symlinkDir}/${libLinkName}"
)
- install(
- CODE
- "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \
- ${symlinkVal} ${symlinkFile})"
- COMPONENT "${component}-symlinks"
- )
-
# This code creates compatibility symlinks
# WARNING: This is custom logic that has nothing to do with our build system.
# Some external build systems expect to find a variaty of ufids in dpkg.
@@ -110,14 +100,6 @@ function(bde_create_ufid_symlink uor installOpts)
symlinkFile
"${symlinkPrefix}/${symlinkDir}/${libLinkName}"
)
-
- # IMPORTANT: symlinkFile is the same as above!
- install(
- CODE
- "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \
- ${symlinkVal} ${symlinkFile})"
- COMPONENT "${component}-symlinks"
- )
endif()
if (${bde_ufid_is_pic})
@@ -134,14 +116,6 @@ function(bde_create_ufid_symlink uor installOpts)
"${symlinkPrefix}/${symlinkDir}/${libLinkName}"
)
- # IMPORTANT: symlinkFile is the same as above!
- install(
- CODE
- "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \
- ${symlinkVal} ${symlinkFile})"
- COMPONENT "${component}-pic-symlink-hack"
- )
-
# And another one for "64" - remove "pic", add "64"
if (${bde_ufid_is_64})
set(temp_ufid_flags ${install_ufid_flags})
@@ -157,14 +131,6 @@ function(bde_create_ufid_symlink uor installOpts)
symlinkFile
"${symlinkPrefix}/${symlinkDir}/${libLinkName}"
)
-
- # IMPORTANT: symlinkFile is the same as above!
- install(
- CODE
- "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \
- ${symlinkVal} ${symlinkFile})"
- COMPONENT "${component}-pic-symlink-hack"
- )
endif()
endif()
@@ -177,18 +143,5 @@ function(bde_create_ufid_symlink uor installOpts)
symlinkReleaseFile
"${symlinkPrefix}/${symlinkDir}/${libReleaseLinkName}"
)
- install(
- CODE
- "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \
- ${symlinkVal} ${symlinkReleaseFile})"
- COMPONENT "${component}-release-symlink"
- )
- install(
- CODE
- "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \
- ${symlinkVal} ${symlinkReleaseFile})"
- COMPONENT "release-symlink"
- EXCLUDE_FROM_ALL
- )
endif()
endfunction()