Subject: Re: [bug#40145] [PATCH] gnu: Add squid.
From: Marius Bakke <[email-masked]>
To: Vincent Legoll <[email-masked]>, [email-masked]
Date: Fri, 20 Mar 2020 18:25:53 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Vincent Legoll <[email-masked]> writes:

> The attached patch adds squid caching proxy so that we can all start
> saving precious network bandwidth.

Nice, about time!  :-)

> 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 easier
than it looks.  I think you'll figure it out fairly quickly.  :-)

> From 24a81038d315a4bf757eca590c53a16eac005879 Mon Sep 17 00:00:00 2001
> From: Vincent Legoll <[email-masked]>
> 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.

[...]

> +    (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.

> +       ("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'.

> +    (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!