aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorng0 <ng0@libertad.pw>2017-02-14 19:09:35 +0000
committerKei Kebreau <kei@openmailbox.org>2017-03-04 14:18:38 -0500
commit3190c307f95fc5f289c1aa8a3955a58e1a5ca4b2 (patch)
tree6521d284cd118cc39dbb635eb44818b164e253d6 /gnu
parent885227386855e446e653d958c38b6bbcfc2a24ca (diff)
downloadgnu-guix-3190c307f95fc5f289c1aa8a3955a58e1a5ca4b2.tar
gnu-guix-3190c307f95fc5f289c1aa8a3955a58e1a5ca4b2.tar.gz
gnu: Add hiawatha.
* gnu/packages/web.scm (hiawatha): New variable. Signed-off-by: Kei Kebreau <kei@openmailbox.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/web.scm55
1 files changed, 55 insertions, 0 deletions
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index f63a3eb9da..dab30df13d 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -4410,6 +4410,61 @@ developers can integrate into their applications to make use of the
functions of Tidy.")
(license l:bsd-3)))
+(define-public hiawatha
+ (package
+ (name "hiawatha")
+ (version "10.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.hiawatha-webserver.org/files/"
+ "hiawatha-" version ".tar.gz"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; We use our packaged mbedtls, so delete the included copy.
+ '(delete-file-recursively "mbedtls"))
+ (sha256
+ (base32
+ "0m2llzm72s29c32abnj03532m85fawvi8ybjpx6s3mgvx2yvq3p4"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; No tests included
+ #:configure-flags (list (string-append "-DUSE_SYSTEM_MBEDTLS=on")
+ (string-append "-DENABLE_TOMAHAWK=on")
+ (string-append "-DWEBROOT_DIR="
+ (assoc-ref %outputs "out")
+ "/share/hiawatha/html"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'remove-empty-dirs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ ;; The directories in "var" are empty, remove them.
+ (delete-file-recursively (string-append out "/var"))
+ #t)))
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; Make sure 'hiawatha' finds 'mbedtls'.
+ (let* ((out (assoc-ref outputs "out"))
+ (sbin (string-append out "/sbin"))
+ (mbed (assoc-ref inputs "mbedtls-apache")))
+ (wrap-program (string-append sbin "/hiawatha")
+ `("PATH" ":" prefix (,mbed)))))))))
+ (inputs
+ ;; TODO: package "hiawatha-monitor", an optional dependency of "hiawatha"
+ `(("mbedtls-apache" ,mbedtls-apache) ;Hiawatha includes this version.
+ ("zlib" ,zlib)
+ ("libxslt" ,libxslt)
+ ("libxml2" ,libxml2)))
+ (home-page "https://www.hiawatha-webserver.org")
+ (synopsis "Webserver with focus on security")
+ (description
+ "Hiawatha has been written with security in mind. This resulted in a
+highly secure webserver in both code and features. Hiawatha can stop SQL
+injections, XSS and CSRF attacks and exploit attempts. Via a specially
+crafted monitoring tool, you can keep track of all your webservers.")
+ (license l:gpl2)))
+
(define-public qutebrowser
(package
(name "qutebrowser")