diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index f6d20097e47d02bc3de11cef5ae0e7f6f1c5f06a..29fa409a8ce104e4cb888b6080746181d64bde1c 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 4eb39069db046a9ffc073530bc24bc54adb0d1dd..8b489945925f4c2efd62e8a8f6187399f4ca6cce 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -27,10 +27,13 @@ (define-module (gnu packages web) #: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 @@ (define-public perl-libwww 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 + "<?xml version=\"1.0\"?> +<!DOCTYPE catalog PUBLIC \"-//OASIS//DTD XML Catalogs V1.0//EN\" +\"file:///usr/share/xml/schema/xml-core/catalog.dtd\"> +<catalog xmlns=\"urn:oasis:names:tc:entity:xmlns:xml:catalog\"> +<system systemId=\"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\" +uri=\"file://" docbook-xml "/xml/dtd/docbook/docbookx.dtd\"/> +<system systemId=\"http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\" +uri=\"file://" docbook-xsl "/xml/xsl/docbook-xsl-1.72.0/manpages/docbook.xsl\"/> +</catalog>\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+)))