diff options
author | Raghav Gururajan <rg@raghavgururajan.name> | 2021-02-25 19:45:04 -0500 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2021-03-20 17:48:56 +0100 |
commit | 7f7ad800b08a89bcfe451085d8a93179d684b03c (patch) | |
tree | dbbec97d49d7c7ba1c1059ef49f2279781723b04 /gnu | |
parent | f5e69549ba5d6efcd03f4f50f771a8a76ed73c5b (diff) | |
download | guix-7f7ad800b08a89bcfe451085d8a93179d684b03c.tar.gz |
gnu: Add qhttp.
* gnu/packages/web.scm (qhttp): New variable. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/web.scm | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 643de6ad6a..b3be3b734e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -77,6 +77,7 @@ #:use-module (guix build-system ant) #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system go) @@ -170,6 +171,79 @@ #:use-module (gnu packages xml) #:use-module ((srfi srfi-1) #:select (delete-duplicates))) +(define-public qhttp + (package + (name "qhttp") + (version "3.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/azadkuh/qhttp") + (commit (string-append "version-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cx23g4y4k4v9p5ph6h7gfhp8sfy1gcdv1g6bl44hppar1y0zfdq")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no target + #:imported-modules + ((guix build copy-build-system) + ,@%gnu-build-system-modules) + #:modules + (((guix build copy-build-system) #:prefix copy:) + (guix build gnu-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "commondir.pri" + (("\\$\\$PRJDIR/xbin") + (string-append (assoc-ref outputs "out") "/lib")) + (("-L") + "-lhttp_parser -L") + (("\\$\\$PRJDIR/3rdparty") + "")) + (substitute* "src/src.pro" + (("SOURCES \\+= \\$\\$PRJDIR/3rdparty/http-parser/http_parser.c") + "") + (("HEADERS \\+= \\$\\$PRJDIR/3rdparty/http-parser/http_parser.h") + "")) + (substitute* '("src/private/qhttpbase.hpp" "src/qhttpabstracts.cpp") + (("http-parser/http_parser.h") + "http_parser.h")) + #t)) + (replace 'configure + (lambda _ (invoke "qmake"))) + (replace 'install + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("src" "include" + #:include-regexp ("\\.hpp$"))) + args))) + (add-after 'install 'remove-examples + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion + (string-append (assoc-ref outputs "out") "/lib") + (for-each delete-file + (list + "basic-server" + "helloworld" + "postcollector"))) + #t))))) + (inputs + `(("http-parser" ,http-parser) + ("qtbase" ,qtbase))) + (home-page "https://github.com/azadkuh/qhttp/") + (synopsis "Qt-based HTTP Library") + (description + "Qhttp is a light-weight and asynchronous HTTP library +(both server & client) in Qt5 and C++14.") + (license license:expat))) + (define-public httpd (package (name "httpd") |