* [bug#39587] [PATCH] gnu: Add haproxy.
@ 2020-02-13 9:06 Brice Waegeneire
2020-02-13 9:26 ` Jelle Licht
2020-02-13 12:49 ` [bug#39587] [PATCH v2] " Brice Waegeneire
0 siblings, 2 replies; 6+ messages in thread
From: Brice Waegeneire @ 2020-02-13 9:06 UTC (permalink / raw)
To: 39587
* gnu/packages/networking.scm (haproxy): New variable.
---
gnu/packages/networking.scm | 45 +++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index ed339524c0..d411fc7a26 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2019 Daniel Schaefer <git@danielschaefer.me>
;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -64,6 +65,7 @@
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
+ #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages adns)
@@ -2853,3 +2855,46 @@ cables.")
(license:non-copyleft ; slirpvde
"file://COPYING.slirpvde"
"See COPYING.slirpvde in the distribution.")))))
+
+(define-public haproxy
+ (package
+ (name "haproxy")
+ (version "2.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.haproxy.org/download/"
+ (version-major+minor version)
+ "/src/haproxy-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0n8bw3d6gikr8c56ycrvksp1sl0b4yfzp19867cxkl3l0daqwrxv"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (let* ((out (assoc-ref %outputs "out")))
+ (list (string-append "PREFIX=" out)
+ (string-append "SBINDIR=" out "/bin")
+ (string-append "DOCDIR=" out "/share/" ,name)
+ "TARGET=linux-glibc"
+ "USE_LUA=1"
+ "USE_OPENSSL=1"
+ "USE_ZLIB=1"
+ "USE_PCRE_2=1"))
+ #:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ `(("lua" ,lua)
+ ("openssl" ,openssl)
+ ("pcre2" ,pcre2)
+ ("zlib" ,zlib)))
+ (home-page "https://www.haproxy.org/")
+ (synopsis "Reliable, high performance TCP/HTTP load balancer")
+ (description "HAProxy is a free, very fast and reliable solution offering
+high availability, load balancing, and proxying for TCP and HTTP-based
+applications. It is particularly suited for web sites crawling under very
+high loads while needing persistence or Layer7 processing. Supporting tens of
+thousands of connections is clearly realistic with todays hardware.")
+ (license (list license:gpl2+
+ license:lgpl2.1))))
--
2.25.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#39587] [PATCH] gnu: Add haproxy.
2020-02-13 9:06 [bug#39587] [PATCH] gnu: Add haproxy Brice Waegeneire
@ 2020-02-13 9:26 ` Jelle Licht
2020-02-13 10:29 ` Brice Waegeneire
2020-02-13 12:49 ` [bug#39587] [PATCH v2] " Brice Waegeneire
1 sibling, 1 reply; 6+ messages in thread
From: Jelle Licht @ 2020-02-13 9:26 UTC (permalink / raw)
To: Brice Waegeneire, 39587
Hi Brice,
Brice Waegeneire <brice@waegenei.re> writes:
> [...]
> +
> +(define-public haproxy
> + (package
> + (name "haproxy")
> + (version "2.1.3")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append "https://www.haproxy.org/download/"
> + (version-major+minor version)
> + "/src/haproxy-" version ".tar.gz"))
> + (sha256
> + (base32
> + "0n8bw3d6gikr8c56ycrvksp1sl0b4yfzp19867cxkl3l0daqwrxv"))))
> + (build-system gnu-build-system)
> + (arguments
> + `(#:make-flags
> + (let* ((out (assoc-ref %outputs "out")))
> + (list (string-append "PREFIX=" out)
> + (string-append "SBINDIR=" out "/bin")
Is there any particular reason to pass '/bin' instead of the (default)
'/sbin' here?
> + (string-append "DOCDIR=" out "/share/" ,name)
> + "TARGET=linux-glibc"
> + "USE_LUA=1"
> + "USE_OPENSSL=1"
> + "USE_ZLIB=1"
> + "USE_PCRE_2=1"))
> + #:tests? #f ; no tests
It seems there are some tests included with haproxy using something
called 'VTest', in `scripts/run-regtests.sh' for example.
> + #:phases
> + (modify-phases %standard-phases
> + (delete 'configure))))
> + (inputs
> + `(("lua" ,lua)
> + ("openssl" ,openssl)
> + ("pcre2" ,pcre2)
> + ("zlib" ,zlib)))
> + (home-page "https://www.haproxy.org/")
> + (synopsis "Reliable, high performance TCP/HTTP load balancer")
> + (description "HAProxy is a free, very fast and reliable solution offering
> +high availability, load balancing, and proxying for TCP and HTTP-based
> +applications. It is particularly suited for web sites crawling under very
> +high loads while needing persistence or Layer7 processing. Supporting tens of
> +thousands of connections is clearly realistic with todays hardware.")
> + (license (list license:gpl2+
> + license:lgpl2.1))))
^ haproxy header files are licensed under
lgpl2.1+, at least according to `doc/coding-style.txt'
Thanks for working on this!
- Jelle
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#39587] [PATCH] gnu: Add haproxy.
2020-02-13 9:26 ` Jelle Licht
@ 2020-02-13 10:29 ` Brice Waegeneire
2020-02-13 12:34 ` Jelle Licht
0 siblings, 1 reply; 6+ messages in thread
From: Brice Waegeneire @ 2020-02-13 10:29 UTC (permalink / raw)
To: Jelle Licht; +Cc: 39587, Guix-patches
On 2020-02-13 09:26, Jelle Licht wrote:
> Is there any particular reason to pass '/bin' instead of the
> (default)
> '/sbin' here?
I wrongly though it wasn't used in Guix. It'll be removed.
> It seems there are some tests included with haproxy using something
> called 'VTest', in `scripts/run-regtests.sh' for example.
Those are regression tests, are they really useful for us?
>> + (license (list license:gpl2+
>> + license:lgpl2.1))))
> ^ haproxy header files are licensed under
> lgpl2.1+, at least according to
> `doc/coding-style.txt'
The include files I opened, where « [...] version 2.1 exclusively. ».
I'll append lgpl2.1+ for the header files without a license header.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#39587] [PATCH] gnu: Add haproxy.
2020-02-13 10:29 ` Brice Waegeneire
@ 2020-02-13 12:34 ` Jelle Licht
0 siblings, 0 replies; 6+ messages in thread
From: Jelle Licht @ 2020-02-13 12:34 UTC (permalink / raw)
To: Brice Waegeneire; +Cc: 39587, Guix-patches
Brice Waegeneire <brice@waegenei.re> writes:
> On 2020-02-13 09:26, Jelle Licht wrote:
>> Is there any particular reason to pass '/bin' instead of the
>> (default)
>> '/sbin' here?
> I wrongly though it wasn't used in Guix. It'll be removed.
>
>> It seems there are some tests included with haproxy using something
>> called 'VTest', in `scripts/run-regtests.sh' for example.
> Those are regression tests, are they really useful for us?
I guess not :-)
>>> + (license (list license:gpl2+
>>> + license:lgpl2.1))))
>> ^ haproxy header files are licensed under
>> lgpl2.1+, at least according to
>> `doc/coding-style.txt'
> The include files I opened, where « [...] version 2.1 exclusively. ».
> I'll append lgpl2.1+ for the header files without a license header.
Good catch then!
^ permalink raw reply [flat|nested] 6+ messages in thread
* [bug#39587] [PATCH v2] gnu: Add haproxy.
2020-02-13 9:06 [bug#39587] [PATCH] gnu: Add haproxy Brice Waegeneire
2020-02-13 9:26 ` Jelle Licht
@ 2020-02-13 12:49 ` Brice Waegeneire
2020-02-14 15:54 ` Jelle Licht
1 sibling, 1 reply; 6+ messages in thread
From: Brice Waegeneire @ 2020-02-13 12:49 UTC (permalink / raw)
To: 39587
* gnu/packages/networking.scm (haproxy): New variable.
---
Keep haproxy binary in /sbin, add lgpl2.1+ license and explain why the test
are disabled.
gnu/packages/networking.scm | 45 +++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index ed339524c0..dd0c7010c5 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2019 Daniel Schaefer <git@danielschaefer.me>
;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -64,6 +65,7 @@
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
+ #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages adns)
@@ -2853,3 +2855,46 @@ cables.")
(license:non-copyleft ; slirpvde
"file://COPYING.slirpvde"
"See COPYING.slirpvde in the distribution.")))))
+
+(define-public haproxy
+ (package
+ (name "haproxy")
+ (version "2.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.haproxy.org/download/"
+ (version-major+minor version)
+ "/src/haproxy-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0n8bw3d6gikr8c56ycrvksp1sl0b4yfzp19867cxkl3l0daqwrxv"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (let* ((out (assoc-ref %outputs "out")))
+ (list (string-append "PREFIX=" out)
+ (string-append "DOCDIR=" out "/share/" ,name)
+ "TARGET=linux-glibc"
+ "USE_LUA=1"
+ "USE_OPENSSL=1"
+ "USE_ZLIB=1"
+ "USE_PCRE_2=1"))
+ #:tests? #f ; there is only regression tests, using varnishtest
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ `(("lua" ,lua)
+ ("openssl" ,openssl)
+ ("pcre2" ,pcre2)
+ ("zlib" ,zlib)))
+ (home-page "https://www.haproxy.org/")
+ (synopsis "Reliable, high performance TCP/HTTP load balancer")
+ (description "HAProxy is a free, very fast and reliable solution offering
+high availability, load balancing, and proxying for TCP and HTTP-based
+applications. It is particularly suited for web sites crawling under very
+high loads while needing persistence or Layer7 processing. Supporting tens of
+thousands of connections is clearly realistic with todays hardware.")
+ (license (list license:gpl2+
+ license:lgpl2.1
+ license:lgpl2.1+))))
--
2.25.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [bug#39587] [PATCH v2] gnu: Add haproxy.
2020-02-13 12:49 ` [bug#39587] [PATCH v2] " Brice Waegeneire
@ 2020-02-14 15:54 ` Jelle Licht
0 siblings, 0 replies; 6+ messages in thread
From: Jelle Licht @ 2020-02-14 15:54 UTC (permalink / raw)
To: Brice Waegeneire, 39587
Hey Brice,
I pushed your commit as 96945cabe038cd02c2d76e8821d264626fcc999a to
master with the following cosmetic nitpicks:
Brice Waegeneire <brice@waegenei.re> writes:
> [...]
> + (arguments
> + `(#:make-flags
> + (let* ((out (assoc-ref %outputs "out")))
> + (list (string-append "PREFIX=" out)
> + (string-append "DOCDIR=" out "/share/" ,name)
> + "TARGET=linux-glibc"
> + "USE_LUA=1"
> + "USE_OPENSSL=1"
> + "USE_ZLIB=1"
> + "USE_PCRE_2=1"))
> + #:tests? #f ; there is only regression tests, using varnishtest
^are
> [...]
> + (description "HAProxy is a free, very fast and reliable solution offering
> +high availability, load balancing, and proxying for TCP and HTTP-based
> +applications. It is particularly suited for web sites crawling under very
> +high loads while needing persistence or Layer7 processing. Supporting tens of
> +thousands of connections is clearly realistic with todays hardware.")
^today's
> [...]
Thanks again for packaging this!
- Jelle
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-02-14 15:55 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-13 9:06 [bug#39587] [PATCH] gnu: Add haproxy Brice Waegeneire
2020-02-13 9:26 ` Jelle Licht
2020-02-13 10:29 ` Brice Waegeneire
2020-02-13 12:34 ` Jelle Licht
2020-02-13 12:49 ` [bug#39587] [PATCH v2] " Brice Waegeneire
2020-02-14 15:54 ` Jelle Licht
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).