guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gnu: Add varnish.


From: Ricardo Wurmus
Subject: Re: [PATCH] gnu: Add varnish.
Date: Sun, 27 Nov 2016 16:11:54 +0100
User-agent: mu4e 0.9.16; emacs 25.1.1

Marius Bakke <address@hidden> writes:

> * gnu/packages/web.scm (varnish): New variable.

[…]

> +         (add-after 'install 'wrap-binary
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (varnishd (string-append out "/sbin/varnishd"))
> +                    (PATH (string-append (assoc-ref inputs "binutils") 
> "/bin"))
> +                    (LIBRARY_PATH (string-append (assoc-ref inputs "glibc") 
> "/lib")))
> +               ;; Add binutils to PATH so gcc finds the 'as' executable.
> +               (wrap-program varnishd
> +                 `("PATH" ":" prefix (,PATH)))
> +               ;; Without this, we get an error such as "ld: cannot find 
> crti.o"
> +               ;; when compiling VCL.
> +               (wrap-program varnishd
> +                 `("LIBRARY_PATH" ":" prefix (,LIBRARY_PATH)))
> +               #t))))))

What is VCL?  Is it always compiled from scratch at runtime?

> +    (inputs
> +     `(("binutils" ,binutils)
> +       ("gcc" ,gcc)
> +       ("glibc" ,glibc/linux)

These three inputs are implicitly available as native inputs when using
the gnu-build-system.  Should varnish get a gcc-toolchain as a runtime
input instead of these three separate inputs?

> +       ("jemalloc" ,jemalloc)
> +       ("ncurses" ,ncurses)
> +       ("pcre" ,pcre)
> +       ("python" ,python-wrapper)
> +       ("readline" ,readline)))
> +    (home-page "https://www.varnish-cache.org/";)
> +    (synopsis "High-performance caching HTTP reverse proxy")
> +    (description
> +     "Varnish is a web application accelerator.  It acts as a caching
> +reverse proxy and load balancer.  You install it in front of any server
> +that speaks HTTP and configure it to cache the contents through an
> +extensive configuration language.")
> +    (license (list l:bsd-2           ; Main distribution.
> +                   l:zlib            ; lib/libvgz/*
> +                   l:public-domain   ; bin/varnishncsa/as64.c, 
> include/miniobj.h
> +                   l:bsd-3           ; include/vqueue.h, 
> lib/libvarnishcompat/daemon.c
> +                   l:expat           ; doc/html/_static/underscore.js
> +                   l:gpl2+))))       ; doc/html/_static/jquery.js is dual 
> MIT/GPL2+

Very nice!

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
http://elephly.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]