From b777d784a0cb05a25dfda2c0561fe0af562c922a Mon Sep 17 00:00:00 2001 From: John Darrington Date: Thu, 12 Jun 2014 13:03:53 +0200 Subject: [PATCH] gnu: Add tinyproxy. * gnu/packages/web.scm (tinyproxy): New variable. * gnu/packages/docbook.scm: Remove #:select (tar) --- gnu/packages/docbook.scm | 3 +- gnu/packages/web.scm | 60 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 2 deletions(-) diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index f6d20097e4..29fa409a8c 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -19,8 +19,7 @@ (define-module (gnu packages docbook) #:use-module (gnu packages) #:use-module (gnu packages compression) - #:use-module ((gnu packages base) - #:select (tar)) + #:use-module (gnu packages base) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 4eb39069db..8b48994592 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -27,10 +27,13 @@ #:use-module (guix build-system perl) #:use-module (guix build-system gnu) #:use-module (gnu packages apr) + #:use-module (gnu packages asciidoc) + #:use-module (gnu packages docbook) #:use-module (gnu packages autotools) #:use-module ((gnu packages compression) #:select (zlib)) #:use-module (gnu packages openssl) #:use-module (gnu packages pcre) + #:use-module (gnu packages xml) #:use-module (gnu packages perl)) (define-public httpd @@ -469,3 +472,60 @@ and functions that allow you to write WWW clients. The library also contain modules that are of more general use and even classes that help you implement simple HTTP servers.") (home-page "http://search.cpan.org/~gaas/libwww-perl/"))) + +(define-public tinyproxy + (package + (name "tinyproxy") + (version "1.8.3") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.samba.org/~obnox/" name "/download/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "0vl9igw7vm924rs6d6bkib7zfclxnlf9s8rmml1sfwj7xda9nmdy")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + ;; For the log file, etc. + "--localstatedir=/var") + #:phases + (alist-cons-before + 'build 'pre-build + (lambda* (#:key inputs #:allow-other-keys #:rest args) + ;; This stuff is needed, because without it, xmlint etc tries + ;; to download docbookx.dtd and docbook.xsl from the net + (let ((build (assoc-ref %standard-phases 'build)) + (docbook-xml (assoc-ref inputs "docbook-xml")) + (docbook-xsl (assoc-ref inputs "docbook-xsl")) + (our-catalog "/tmp/docbook-xml.xml")) + (setenv "XML_CATALOG_FILES" our-catalog) + (with-output-to-file our-catalog + (lambda () + (display (string-append + " + + + + +\n")))))) + %standard-phases))) + ;; All of the below are used to generate the documentation + ;; (Should they be propagated inputs of asciidoc ??) + (native-inputs `(("asciidoc" ,asciidoc) + ("libxml2" ,libxml2) + ("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("libxslt" ,libxslt))) + (home-page "https://banu.com/tinyproxy/") + (synopsis "Light-weight HTTP/HTTPS proxy daemon") + (description "Tinyproxy is a light-weight HTTP/HTTPS proxy +daemon. Designed from the ground up to be fast and yet small, it is an ideal +solution for use cases such as embedded deployments where a full featured HTTP +proxy is required, but the system resources for a larger proxy are +unavailable.") + (license l:gpl2+)))