[PATCH] gnu: Add squid.

DoneSubmitted by Vincent Legoll.
Details
2 participants
  • Marius Bakke
  • Vincent Legoll
Owner
unassigned
Severity
normal
V
V
Vincent Legoll wrote on 20 Mar 11:55 +0100
(address . guix-patches@gnu.org)
CAEwRq=rHBhrvhV_aBW2S9V1F_z4jODzr3Tfu83GHX4tZoFredQ@mail.gmail.com
The attached patch adds squid caching proxy so that we can all startsaving precious network bandwidth.
I lightly tested it with the attached squid config file, in foregroundmode, like the following:
# Create temporary test space for squidmkdir /tmp/squid# Create the hashed store directories/gnu/store/szbiglrkvll6qdxcrg3ir0hz8zdc9h5f-squid-4.10/sbin/squid -N-f ./squid.conf -z# Run squid/gnu/store/szbiglrkvll6qdxcrg3ir0hz8zdc9h5f-squid-4.10/sbin/squid -N-f ./squid.conf
# In another shellexport http_proxy=localhost:3128export https_proxy=localhost:3128time wget google.frtime wget google.frless /tmp/squid/access.logless /tmp/squid/cache.logls -lah /tmp/squid/00/00
There's no shepherd ready to run service &config definitions, as I still don't know howto do that.
I'll try to create one, if no one beats me toit, but it may already be useful as-is...
-- Vincent Legoll
Attachment: squid.conf
From 24a81038d315a4bf757eca590c53a16eac005879 Mon Sep 17 00:00:00 2001From: Vincent Legoll <vincent.legoll@gmail.com>Date: Fri, 20 Mar 2020 11:45:11 +0100Subject: [PATCH] gnu: Add squid.
* gnu/packages/networking.scm (squid): New variable.--- gnu/packages/networking.scm | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+)
Toggle diff (74 lines)diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scmindex e9abac2991..6a6e836261 100644--- a/gnu/packages/networking.scm+++ b/gnu/packages/networking.scm@@ -80,8 +80,10 @@ #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages cpp)+; #:use-module (gnu packages cppunit) #:use-module (gnu packages crypto) #:use-module (gnu packages curl)+ #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dejagnu) #:use-module (gnu packages documentation) #:use-module (gnu packages flex)@@ -98,6 +100,7 @@ #:use-module (gnu packages kerberos) #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle)+ #:use-module (gnu packages openldap) #:use-module (gnu packages password-utils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl)@@ -862,6 +865,48 @@ prints timing information for each step of the HTTP request (DNS lookup, TCP connection, TLS handshake and so on) in the terminal.") (license license:expat))) +(define-public squid+ (package+ (name "squid")+ (version "4.10")+ (source+ (origin+ (method url-fetch)+ (uri (string-append "http://www.squid-cache.org/Versions/v4/squid-"+ version ".tar.xz"))+ (sha256+ (base32 "07sz0adv8nkhy797675bpra7lvdkwjq9isw1ddgylhlazl511w4q"))))+ (build-system gnu-build-system)+ (arguments+ '(#:phases+ (modify-phases %standard-phases+ (add-before 'build 'fix-true-path+ (lambda* (#:key inputs #:allow-other-keys)+ (substitute* "test-suite/testheaders.sh"+ (("/bin/true")+ (string-append (assoc-ref inputs "coreutils")+ "/bin/true")))+ #t)))))+ (inputs+ `(("perl" ,perl)+ ("openldap" ,openldap)+ ("linux-pam" ,linux-pam)+ ("libcap" ,libcap)+ ("cyrus-sasl" ,cyrus-sasl)+ ("expat" ,expat)+ ("libxml2" ,libxml2)+ ("openssl" ,openssl)))+ (native-inputs+ `(("cppunit" ,cppunit)+ ("coreutils" ,coreutils) ; test suite needs /bin/true+ ("pkg-config" ,pkg-config)))+ (synopsis "A web caching proxy supporting HTTP, HTTPS, FTP, etc.")+ (description "Squid is a caching proxy for the Web supporting HTTP, HTTPS,+FTP, and more. It reduces bandwidth and improves response times by caching and+reusing frequently-requested web pages.")+ (home-page "http://www.squid-cache.org/")+ (license license:gpl2)))+ (define-public bwm-ng (package (name "bwm-ng")-- 2.25.1
M
M
Marius Bakke wrote on 20 Mar 18:25 +0100
87tv2j7xb2.fsf@devup.no
Vincent Legoll <vincent.legoll@gmail.com> writes:
Toggle quote (3 lines)> The attached patch adds squid caching proxy so that we can all start> saving precious network bandwidth.
Nice, about time! :-)
Toggle quote (28 lines)> I lightly tested it with the attached squid config file, in foreground> mode, like the following:>> # Create temporary test space for squid> mkdir /tmp/squid> # Create the hashed store directories> /gnu/store/szbiglrkvll6qdxcrg3ir0hz8zdc9h5f-squid-4.10/sbin/squid -N> -f ./squid.conf -z> # Run squid> /gnu/store/szbiglrkvll6qdxcrg3ir0hz8zdc9h5f-squid-4.10/sbin/squid -N> -f ./squid.conf>> # In another shell> export http_proxy=localhost:3128> export https_proxy=localhost:3128> time wget google.fr> time wget google.fr> less /tmp/squid/access.log> less /tmp/squid/cache.log> ls -lah /tmp/squid/00/00>> There's no shepherd ready to run service &> config definitions, as I still don't know how> to do that.>> I'll try to create one, if no one beats me to> it, but it may already be useful as-is...
Writing services may seem intimidating at first, but is actually easierthan it looks. I think you'll figure it out fairly quickly. :-)
Toggle quote (7 lines)> From 24a81038d315a4bf757eca590c53a16eac005879 Mon Sep 17 00:00:00 2001> From: Vincent Legoll <vincent.legoll@gmail.com>> Date: Fri, 20 Mar 2020 11:45:11 +0100> Subject: [PATCH] gnu: Add squid.>> * gnu/packages/networking.scm (squid): New variable.
[...]
Toggle quote (2 lines)> +; #:use-module (gnu packages cppunit)
I dropped this leftover from the patch.
[...]
Toggle quote (13 lines)> + (inputs> + `(("perl" ,perl)> + ("openldap" ,openldap)> + ("linux-pam" ,linux-pam)> + ("libcap" ,libcap)> + ("cyrus-sasl" ,cyrus-sasl)> + ("expat" ,expat)> + ("libxml2" ,libxml2)> + ("openssl" ,openssl)))> + (native-inputs> + `(("cppunit" ,cppunit)> + ("coreutils" ,coreutils) ; test suite needs /bin/true
coreutils is already implicitly available, so I removed this input.
Toggle quote (3 lines)> + ("pkg-config" ,pkg-config)))> + (synopsis "A web caching proxy supporting HTTP, HTTPS, FTP, etc.")
I changed this to just "Web caching proxy" to please 'guix lint'.
Toggle quote (6 lines)> + (description "Squid is a caching proxy for the Web supporting HTTP, HTTPS,> +FTP, and more. It reduces bandwidth and improves response times by caching and> +reusing frequently-requested web pages.")> + (home-page "http://www.squid-cache.org/")> + (license license:gpl2)))
The license is actually GPL2+ according to the source code headers.
Applied with these changes, thank you!
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl50/KEACgkQoqBt8qM6VPrDhAgAxZUQvH6MccpnvrxHEwPtzK+EoJpYy66x/Ybbniy5rGzxkzukEuQYh32x9JqjP/NjeN/yJNQ4kRXLtINm/IMXIS1icFDE9DW5M+MoMS2EuNzoDauTHrhS2rRRsINzMhCbJ/qm1mZbk8hKiEFMj2ke5oQn482lE17IUWDR4pMfEJAEq5uVM1vD6bZXlMs9zDum4CYKWqzBCveHmOnx+f+NGwdQGMFp+AyHbqBkAHjeQeE7ziYrzJs1G60yDDY9ZNfGr9gwgBtb63N33kgkEdn5rqilcquowNhB30m165X0ssZS9DanEXvr1daOmK/8f83Tpe7nij7XS0EcW+QdQr5Sog===kLlt-----END PGP SIGNATURE-----
Closed
V
V
Vincent Legoll wrote on 20 Mar 18:35 +0100
(name . Marius Bakke)(address . mbakke@fastmail.com)(address . 40145-done@debbugs.gnu.org)
CAEwRq=oAN_3L-dsDz=13VVejv-R5zHWuXwWicEgToLtcz6V3vQ@mail.gmail.com
Hello,
On Fri, Mar 20, 2020 at 6:25 PM Marius Bakke <mbakke@fastmail.com> wrote:
Toggle quote (8 lines)>> Vincent Legoll <vincent.legoll@gmail.com> writes:>> > The attached patch adds squid caching proxy so that we can> > all start saving precious network bandwidth.>> Nice, about time! :-)
Necessity is the mother of...
Toggle quote (11 lines)> > There's no shepherd ready to run service &> > config definitions, as I still don't know how> > to do that.> >> > I'll try to create one, if no one beats me to> > it, but it may already be useful as-is...>> Writing services may seem intimidating at first, but is> > actually easier> than it looks. I think you'll figure it out fairly quickly. :-)
Currently reading the doc...
Toggle quote (13 lines)> > From 24a81038d315a4bf757eca590c53a16eac005879 Mon Sep 17 00:00:00 2001> > From: Vincent Legoll <vincent.legoll@gmail.com>> > Date: Fri, 20 Mar 2020 11:45:11 +0100> > Subject: [PATCH] gnu: Add squid.> >> > * gnu/packages/networking.scm (squid): New variable.>> [...]>> > +; #:use-module (gnu packages cppunit)>> I dropped this leftover from the patch.
oopsie, I let this one slip, usually I proof-read before sending,looks like I was in a hurry...
Toggle quote (17 lines)> [...]>> > + (inputs> > + `(("perl" ,perl)> > + ("openldap" ,openldap)> > + ("linux-pam" ,linux-pam)> > + ("libcap" ,libcap)> > + ("cyrus-sasl" ,cyrus-sasl)> > + ("expat" ,expat)> > + ("libxml2" ,libxml2)> > + ("openssl" ,openssl)))> > + (native-inputs> > + `(("cppunit" ,cppunit)> > + ("coreutils" ,coreutils) ; test suite needs /bin/true>> coreutils is already implicitly available, so I removed this input.
OK
Toggle quote (5 lines)> The license is actually GPL2+ according to the source code> headers.>> Applied with these changes, thank you!
Thanks for the fixes !
-- Vincent Legoll
Closed
?