diff options
Diffstat (limited to 'gnu/packages/high-availability.scm')
-rw-r--r-- | gnu/packages/high-availability.scm | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm index 108ea553ef..ad6db537e5 100644 --- a/gnu/packages/high-availability.scm +++ b/gnu/packages/high-availability.scm @@ -1,4 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2022 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -34,8 +36,10 @@ #:use-module (gnu packages glib) #:use-module (gnu packages hardware) #:use-module (gnu packages linux) + #:use-module (gnu packages lua) #:use-module (gnu packages networking) #:use-module (gnu packages nss) + #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages rsync) @@ -45,13 +49,60 @@ #:use-module (gnu packages xml) #:use-module (gnu packages) #:use-module (guix build-system gnu) - #:use-module (guix gexp) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:)) +(define-public haproxy + (package + (name "haproxy") + (version "2.7.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.haproxy.org/download/" + (version-major+minor version) + "/src/haproxy-" version ".tar.gz")) + (sha256 + (base32 "00j5lwvrf8lgfid3108gclxbd46v3mnd4lh0lw4l0nn3f0rf9ip2")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; there are only regression tests, using varnishtest + #:make-flags + #~(list "LUA_LIB_NAME=lua" + "TARGET=linux-glibc" + "USE_LUA=1" + "USE_OPENSSL=1" + "USE_PCRE2=1" + "USE_PCRE2_JIT=1" + "USE_PROMEX=1" + "USE_ZLIB=1" + (string-append "CC=" #$(cc-for-target)) + (string-append "DOCDIR=" #$output "/share/" #$name) + (string-append "LUA_INC=" #$(this-package-input "lua") "/include") + (string-append "LUA_LIB=" #$(this-package-input "lua") "/lib") + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) + (inputs + (list lua openssl pcre2 zlib)) + (home-page "https://www.haproxy.org/") + (synopsis "Reliable, high performance TCP/HTTP load balancer") + (description "HAProxy offers @acronym{HA, high availability}, load +balancing, and proxying for TCP and HTTP-based applications. It is particularly +suited to Web sites crawling under very high loads while needing persistence or +Layer 7 processing. Supporting tens of thousands of connections is clearly +realistic with today's hardware.") + (license (list license:gpl2+ + license:lgpl2.1 + license:lgpl2.1+)))) + (define-public libqb (package (name "libqb") |