1{ lib
2, stdenv
3, fetchFromGitHub
4, fetchpatch
5, autoreconfHook
6, perl
7, nixosTests
8, withDebug ? false
9}:
10
11stdenv.mkDerivation rec {
12 pname = "tinyproxy";
13 version = "1.11.1";
14
15 src = fetchFromGitHub {
16 sha256 = "sha256-tipFXh9VG5auWTI2/IC5rwMQFls7aZr6dkzhYTZZkXM=";
17 rev = version;
18 repo = "tinyproxy";
19 owner = "tinyproxy";
20 };
21
22 patches = [
23 (fetchpatch {
24 name = "CVE-2022-40468.patch";
25 url = "https://github.com/tinyproxy/tinyproxy/commit/3764b8551463b900b5b4e3ec0cd9bb9182191cb7.patch";
26 sha256 = "sha256-P0c4mUK227ld3703ss5MQhi8Vo2QVTCVXhKmc9fcufk=";
27 })
28 ];
29
30 # perl is needed for man page generation.
31 nativeBuildInputs = [ autoreconfHook perl ];
32
33 configureFlags = lib.optionals withDebug [ "--enable-debug" ]; # Enable debugging support code and methods.
34 passthru.tests = { inherit (nixosTests) tinyproxy; };
35
36 meta = with lib; {
37 homepage = "https://tinyproxy.github.io/";
38 description = "A light-weight HTTP/HTTPS proxy daemon for POSIX operating systems";
39 license = licenses.gpl2Only;
40 platforms = platforms.all;
41 maintainers = [ maintainers.carlosdagos ];
42 };
43}