aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/high-availability.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/high-availability.scm')
-rw-r--r--gnu/packages/high-availability.scm53
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")