unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [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).