~ruther/guix-local

0860b612f25361de198c59a82ce474a126e417af — Maxim Cournoyer 2 years ago 6f20c8d
gnu: restinio: Update to 0.7.1.

* gnu/packages/networking.scm (restinio): Update to 0.7.1.
[arguments] <configure-flags>: Remove RESTINIO_FIND_DEPS,
RESTINIO_USE_EXTERNAL_HTTP_PARSER and RESTINIO_USE_EXTERNAL_SOBJECTIZER
configure flags.  Add -DRESTINIO_DEP_LLHTTP=system, -DRESTINIO_DEP_FMT=system,
-DRESTINIO_DEP_EXPECTED_LITE=system and -DRESTINIO_WITH_SOBJECTIZER=OFF.
<phases>: Add use-system-catch2.
[native-inputs]: Remove clara.  Replace catch2 with catch2-3.
[propagated-inputs]: Replace http-parser with llhttp.
(restinio-0.6): New variable.
(opendht) [propagated-inputs]: Replace restinio with restinio-0.6.

Change-Id: Id69fde5e2c476d7e44b8dd6e065c489314707c31
1 files changed, 91 insertions(+), 49 deletions(-)

M gnu/packages/networking.scm
M gnu/packages/networking.scm => gnu/packages/networking.scm +91 -49
@@ 3695,56 3695,98 @@ communication over HTTP.")
    (license license:agpl3+)))

(define-public restinio
  ;; Temporarily use an unreleased commit, which includes fixes to be able to
  ;; run the test suite in the resolver-less Guix build environment.
  (let ((revision "0")
        (commit "eda471ec3a2815965ca02ec93a1124a342b7601d"))
    (package
      (name "restinio")
      (version (git-version "0.6.18" revision commit))
      (source (origin
                (method git-fetch)
                (uri (git-reference
                      (url "https://github.com/Stiffstream/restinio")
                      (commit commit)))
                (file-name (git-file-name name version))
                (sha256
                 (base32
                  "0f4w7714r0ic7csgxydw2vzfh35ssk34pns9jycmc08dzc3r7whb"))))
      (build-system cmake-build-system)
      (arguments
       (list
        #:configure-flags #~(list "-DRESTINIO_FIND_DEPS=ON"
                                  "-DRESTINIO_INSTALL=ON"
                                  "-DRESTINIO_TEST=ON"
                                  "-DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON"
                                  "-DRESTINIO_USE_EXTERNAL_SOBJECTIZER=ON")
        #:phases
        #~(modify-phases %standard-phases
            (add-after 'unpack 'change-directory
              (lambda _
                (chdir "dev"))))))
      (native-inputs
       (list catch2
             clara
             json-dto))
      (inputs
       (list openssl
             sobjectizer))
      (propagated-inputs
       ;; These are all #include'd by restinio's .hpp header files.
       (list asio
             fmt
             http-parser
             pcre
             pcre2
             zlib))
      (home-page "https://stiffstream.com/en/products/restinio.html")
      (synopsis "C++14 library that gives you an embedded HTTP/Websocket server")
      (description "RESTinio is a header-only C++14 library that gives you an embedded
  (package
    (name "restinio")
    (version "0.7.1")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/Stiffstream/restinio")
                    (commit (string-append "v." version))))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "06p9gcnzgynsgfxxa1lk58pq5755px7sn00x2xh21qjnspwld1sy"))))
    (build-system cmake-build-system)
    (arguments
     (list
      #:configure-flags
      #~(list "-DRESTINIO_INSTALL=ON"
              "-DRESTINIO_TEST=ON"
              "-DRESTINIO_DEP_LLHTTP=system"
              "-DRESTINIO_DEP_FMT=system"
              "-DRESTINIO_DEP_EXPECTED_LITE=system"
              "-DRESTINIO_DEP_CATCH2=system"
              ;; No support to use a system provided so_5
              ;; (see:
              ;; https://github.com/Stiffstream/restinio/issues/207).
              "-DRESTINIO_WITH_SOBJECTIZER=OFF")
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'unpack 'change-directory
            (lambda _
              (chdir "dev")))
          (add-after 'change-directory 'use-system-catch2
            ;; It's not currently possible to select a system-provided catch2,
            ;; so patch the build system (see:
            ;; https://github.com/Stiffstream/restinio/issues/208).
            (lambda _
              (substitute* "CMakeLists.txt"
                (("add_subdirectory\\(catch2\\)")
                 "find_package(Catch2 REQUIRED)")))))))
    (native-inputs
     (list catch2-3
           expected-lite
           json-dto))
    (inputs
     (list openssl
           sobjectizer))
    (propagated-inputs
     ;; These are all #include'd by restinio's .hpp header files.
     (list asio
           fmt
           llhttp
           pcre
           pcre2
           zlib))
    (home-page "https://stiffstream.com/en/products/restinio.html")
    (synopsis "C++14 library that gives you an embedded HTTP/Websocket server")
    (description "RESTinio is a header-only C++14 library that gives you an embedded
HTTP/Websocket server.  It is based on standalone version of ASIO
and targeted primarily for asynchronous processing of HTTP-requests.")
      (license license:bsd-3))))
    (license license:bsd-3)))

(define-public restinio-0.6
  (package
    (inherit restinio)
    (name "restinio")
    (version "0.6.19")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/Stiffstream/restinio")
                    (commit (string-append "v." version))))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "1qrb1qr075r5059w984c4slgpsiwv94j6fmi9naa5l48dbi1p7jz"))))
    (arguments
     (list
      #:configure-flags #~(list "-DRESTINIO_FIND_DEPS=ON"
                                "-DRESTINIO_INSTALL=ON"
                                "-DRESTINIO_TEST=ON"
                                "-DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON"
                                "-DRESTINIO_USE_EXTERNAL_SOBJECTIZER=ON")
      #:phases
      #~(modify-phases %standard-phases
          (add-after 'unpack 'change-directory
            (lambda _
              (chdir "dev"))))))
    (native-inputs (list catch2 clara json-dto))
    ;; These are all #include'd by restinio's .hpp header files.
    (propagated-inputs
     (modify-inputs (package-propagated-inputs restinio)
       (replace "llhttp" http-parser)))))

(define-public opendht
  (package


@@ 3830,7 3872,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
           readline))
    (propagated-inputs
     (list msgpack                      ;included in several installed headers
           restinio                     ;included in opendht/http.h
           restinio-0.6                 ;included in opendht/http.h
           ;; The following are listed in the 'Requires.private' field of
           ;; opendht.pc:
           argon2