diff --git a/pkgs/tools/networking/tinyproxy/default.nix b/pkgs/tools/networking/tinyproxy/default.nix new file mode 100644 index 000000000000..8ecc85544354 --- /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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 94fe1349f8d5..87b822fd7aa8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5452,6 +5452,8 @@ with pkgs; tiny8086 = callPackage ../applications/virtualization/8086tiny { }; + tinyproxy = callPackage ../tools/networking/tinyproxy {}; + tio = callPackage ../tools/misc/tio { }; tldr = callPackage ../tools/misc/tldr { };