summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/docbook.scm3
-rw-r--r--gnu/packages/web.scm60
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
+                          "<?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+)))