summary refs log tree commit diff
path: root/pkgs/tools/networking/tinyproxy/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/networking/tinyproxy/default.nix')
-rw-r--r--pkgs/tools/networking/tinyproxy/default.nix56
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/tools/networking/tinyproxy/default.nix b/pkgs/tools/networking/tinyproxy/default.nix
new file mode 100644
index 00000000000..8ecc8554435
--- /dev/null
+++ b/pkgs/tools/networking/tinyproxy/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchFromGitHub, automake, autoreconfHook, asciidoc, libxml2,
+  libxslt, docbook_xsl }:
+
+stdenv.mkDerivation rec{
+  name = "tinyproxy-${version}";
+  version = "1.8.4";
+
+  src = fetchFromGitHub {
+    sha256 = "043mfqin5bsba9igm1lqbkp2spibk4j3niyjqc868cnzgx60709c";
+    rev = "${version}";
+    repo = "tinyproxy";
+    owner = "tinyproxy";
+  };
+
+  nativeBuildInputs = [ autoreconfHook asciidoc libxml2 libxslt docbook_xsl ];
+
+  # -z flag is not supported in darwin
+  preAutoreconf = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace configure.ac --replace \
+          'LDFLAGS="-Wl,-z,defs $LDFLAGS"' \
+          'LDFLAGS="-Wl, $LDFLAGS"'
+  '';
+
+  # See: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=154624
+  postConfigure = ''
+    substituteInPlace docs/man5/Makefile --replace \
+          "-f manpage" \
+          "--xsltproc-opts=--nonet \\
+           -f manpage \\
+           -L"
+    substituteInPlace docs/man8/Makefile --replace \
+          "-f manpage" \
+          "--xsltproc-opts=--nonet \\
+           -f manpage \\
+           -L"
+  '';
+
+  configureFlags = [
+    "--disable-debug"      # Turn off debugging
+    "--enable-xtinyproxy"  # Compile in support for the XTinyproxy header, which is sent to any web server in your domain.
+    "--enable-filter"      # Allows Tinyproxy to filter out certain domains and URLs.
+    "--enable-upstream"    # Enable support for proxying connections through another proxy server.
+    "--enable-transparent" # Allow Tinyproxy to be used as a transparent proxy daemon.
+    "--enable-reverse"     # Enable reverse proxying.
+  ] ++
+  # See: https://github.com/tinyproxy/tinyproxy/issues/1
+  stdenv.lib.optional stdenv.isDarwin "--disable-regexcheck";
+
+  meta = with stdenv.lib; {
+    homepage = https://tinyproxy.github.io/;
+    description = "A light-weight HTTP/HTTPS proxy daemon for POSIX operating systems";
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = [ maintainers.carlosdagos ];
+  };
+}