mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-24 11:39:46 -05:00
gnu: cmake-minimal: Remove bundled jsoncpp.
* gnu/packages/cmake.scm (cmake-minimal)[source](snippet): New field. Purge bundled jsoncpp. [inputs]: Add JSONCPP. [arguments]: Adjust accordingly. * gnu/packages/serialization.scm (jsoncpp)[arguments]: For native builds, use CMAKE-BOOTSTRAP.
This commit is contained in:
parent
7c1ea9316a
commit
b5fc075d01
2 changed files with 21 additions and 4 deletions
|
@ -42,9 +42,11 @@ (define-module (gnu packages cmake)
|
||||||
#:use-module (gnu packages file)
|
#:use-module (gnu packages file)
|
||||||
#:use-module (gnu packages libevent)
|
#:use-module (gnu packages libevent)
|
||||||
#:use-module (gnu packages ncurses)
|
#:use-module (gnu packages ncurses)
|
||||||
|
#:use-module (gnu packages serialization)
|
||||||
#:use-module (gnu packages sphinx)
|
#:use-module (gnu packages sphinx)
|
||||||
#:use-module (gnu packages texinfo)
|
#:use-module (gnu packages texinfo)
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml)
|
||||||
|
#:use-module (ice-9 match)
|
||||||
#:use-module (srfi srfi-1))
|
#:use-module (srfi srfi-1))
|
||||||
|
|
||||||
;;; The "bootstrap" CMake. It is used to build the inputs of 'cmake-minimal'
|
;;; The "bootstrap" CMake. It is used to build the inputs of 'cmake-minimal'
|
||||||
|
@ -71,7 +73,6 @@ (define-public cmake-bootstrap
|
||||||
;; "cmcompress"
|
;; "cmcompress"
|
||||||
"cmcurl"
|
"cmcurl"
|
||||||
"cmexpat"
|
"cmexpat"
|
||||||
;; "cmjsoncpp"
|
|
||||||
;; "cmlibarchive"
|
;; "cmlibarchive"
|
||||||
"cmliblzma"
|
"cmliblzma"
|
||||||
;; "cmlibuv"
|
;; "cmlibuv"
|
||||||
|
@ -88,7 +89,7 @@ (define-public cmake-bootstrap
|
||||||
(string-append "--parallel=" parallel-job-count)
|
(string-append "--parallel=" parallel-job-count)
|
||||||
(string-append "--prefix=" out)
|
(string-append "--prefix=" out)
|
||||||
"--system-libs"
|
"--system-libs"
|
||||||
"--no-system-jsoncpp" ; FIXME: Circular dependency.
|
"--no-system-jsoncpp"
|
||||||
;; By default, the man pages and other docs land
|
;; By default, the man pages and other docs land
|
||||||
;; in PREFIX/man and PREFIX/doc, but we want them
|
;; in PREFIX/man and PREFIX/doc, but we want them
|
||||||
;; in share/{man,doc}. Note that unlike
|
;; in share/{man,doc}. Note that unlike
|
||||||
|
@ -202,9 +203,21 @@ (define-public cmake-minimal
|
||||||
(package
|
(package
|
||||||
(inherit cmake-bootstrap)
|
(inherit cmake-bootstrap)
|
||||||
(name "cmake-minimal")
|
(name "cmake-minimal")
|
||||||
|
(source (origin
|
||||||
|
(inherit (package-source cmake-bootstrap))
|
||||||
|
(snippet
|
||||||
|
(match (origin-snippet (package-source cmake-bootstrap))
|
||||||
|
((begin exp ...)
|
||||||
|
(append '(begin (delete-file-recursively "Utilities/cmjsoncpp"))
|
||||||
|
exp))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("curl" ,curl)
|
`(("curl" ,curl)
|
||||||
,@(alist-delete "curl" (package-native-inputs cmake-bootstrap))))))
|
("jsoncpp" ,jsoncpp)
|
||||||
|
,@(alist-delete "curl" (package-native-inputs cmake-bootstrap))))
|
||||||
|
(arguments
|
||||||
|
(substitute-keyword-arguments (package-arguments cmake-bootstrap)
|
||||||
|
((#:configure-flags flags ''())
|
||||||
|
`(delete "--no-system-jsoncpp" ,flags))))))
|
||||||
|
|
||||||
;;; The "user-facing" CMake, now with manuals and HTML documentation.
|
;;; The "user-facing" CMake, now with manuals and HTML documentation.
|
||||||
(define-public cmake
|
(define-public cmake
|
||||||
|
|
|
@ -40,6 +40,7 @@ (define-module (gnu packages serialization)
|
||||||
#:use-module (gnu packages boost)
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
|
#:use-module (gnu packages cmake)
|
||||||
#:use-module (gnu packages cpp)
|
#:use-module (gnu packages cpp)
|
||||||
#:use-module (gnu packages databases)
|
#:use-module (gnu packages databases)
|
||||||
#:use-module (gnu packages documentation)
|
#:use-module (gnu packages documentation)
|
||||||
|
@ -296,7 +297,10 @@ (define-public jsoncpp
|
||||||
"037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg"))))
|
"037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES")))
|
`(#:configure-flags '("-DBUILD_SHARED_LIBS:BOOL=YES")
|
||||||
|
,@(if (%current-target-system)
|
||||||
|
'()
|
||||||
|
`(#:cmake ,cmake-bootstrap))))
|
||||||
(synopsis "C++ library for interacting with JSON")
|
(synopsis "C++ library for interacting with JSON")
|
||||||
(description "JsonCpp is a C++ library that allows manipulating JSON values,
|
(description "JsonCpp is a C++ library that allows manipulating JSON values,
|
||||||
including serialization and deserialization to and from strings. It can also
|
including serialization and deserialization to and from strings. It can also
|
||||||
|
|
Loading…
Reference in a new issue