---
Function {
    argument: None,
    arguments: FunctionArguments {
        arguments: [
            FunctionArgument {
                identifier: "perl",
                default: None,
            },
            FunctionArgument {
                identifier: "netpbm",
                default: None,
            },
            FunctionArgument {
                identifier: "ghostscript",
                default: None,
            },
            FunctionArgument {
                identifier: "makeWrapper",
                default: None,
            },
            FunctionArgument {
                identifier: "fetchFromGitHub",
                default: None,
            },
            FunctionArgument {
                identifier: "stdenv",
                default: None,
            },
            FunctionArgument {
                identifier: "lib",
                default: None,
            },
        ],
        ellipsis: false,
    },
    definition: FunctionApplication {
        function: PropertyAccess {
            expression: Variable {
                identifier: "stdenv",
                position: (5, 1),
            },
            attribute_path: AttributePath {
                attributes: [
                    Raw {
                        content: "mkDerivation",
                        position: (5, 8),
                    },
                ],
            },
            default: None,
        },
        arguments: [
            Map {
                bindings: [
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "pname",
                                    position: (6, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "latex2html",
                                    position: (6, 12),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "version",
                                    position: (7, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "2022",
                                    position: (7, 14),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "src",
                                    position: (9, 3),
                                },
                            ],
                        },
                        FunctionApplication {
                            function: Variable {
                                identifier: "fetchFromGitHub",
                                position: (9, 9),
                            },
                            arguments: [
                                Map {
                                    bindings: [
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "owner",
                                                        position: (10, 5),
                                                    },
                                                ],
                                            },
                                            Variable {
                                                identifier: "pname",
                                                position: (10, 13),
                                            },
                                        ),
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "repo",
                                                        position: (11, 5),
                                                    },
                                                ],
                                            },
                                            Variable {
                                                identifier: "pname",
                                                position: (11, 12),
                                            },
                                        ),
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "rev",
                                                        position: (12, 5),
                                                    },
                                                ],
                                            },
                                            String {
                                                parts: [
                                                    Raw {
                                                        content: "v",
                                                        position: (12, 12),
                                                    },
                                                    Expression {
                                                        expression: Variable {
                                                            identifier: "version",
                                                            position: (12, 15),
                                                        },
                                                    },
                                                ],
                                            },
                                        ),
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "sha256",
                                                        position: (13, 5),
                                                    },
                                                ],
                                            },
                                            String {
                                                parts: [
                                                    Raw {
                                                        content: "sha256-a+OFBNMtP6mDqg1k9rjDLEJhZDM+zdRpPbn3aeC+Qks=",
                                                        position: (13, 15),
                                                    },
                                                ],
                                            },
                                        ),
                                    ],
                                    recursive: false,
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "buildInputs",
                                    position: (16, 3),
                                },
                            ],
                        },
                        List {
                            elements: [
                                Variable {
                                    identifier: "ghostscript",
                                    position: (16, 19),
                                },
                                Variable {
                                    identifier: "netpbm",
                                    position: (16, 31),
                                },
                                Variable {
                                    identifier: "perl",
                                    position: (16, 38),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "nativeBuildInputs",
                                    position: (18, 3),
                                },
                            ],
                        },
                        List {
                            elements: [
                                Variable {
                                    identifier: "makeWrapper",
                                    position: (18, 25),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "configurePhase",
                                    position: (20, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "./configure \\\n  --prefix=\"$out\" \\\n  --without-mktexlsr \\\n  --with-texpath=$out/share/texmf/tex/latex/html\n",
                                    position: (21, 1),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "postInstall",
                                    position: (27, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "for p in $out/bin/{latex2html,pstoimg}; do \\\n  wrapProgram $p --add-flags '--tmp=\"",
                                    position: (28, 1),
                                },
                                Raw {
                                    content: "$",
                                    position: (29, 42),
                                },
                                Raw {
                                    content: "{TMPDIR:-/tmp}\"'\ndone\n",
                                    position: (29, 45),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "meta",
                                    position: (33, 3),
                                },
                            ],
                        },
                        With {
                            expression: Variable {
                                identifier: "lib",
                                position: (33, 15),
                            },
                            target: Map {
                                bindings: [
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "description",
                                                    position: (34, 5),
                                                },
                                            ],
                                        },
                                        String {
                                            parts: [
                                                Raw {
                                                    content: "LaTeX-to-HTML translator",
                                                    position: (34, 20),
                                                },
                                            ],
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "longDescription",
                                                    position: (35, 5),
                                                },
                                            ],
                                        },
                                        String {
                                            parts: [
                                                Raw {
                                                    content: "A Perl program that translates LaTeX into HTML (HyperText Markup\nLanguage), optionally creating separate HTML files corresponding to each\nunit (e.g., section) of the document. LaTeX2HTML proceeds by interpreting\nLaTeX (to the best of its abilities). It contains definitions from a wide\nvariety of classes and packages, and users may add further definitions by\nwriting Perl scripts that provide information about class/package\ncommands.\n",
                                                    position: (36, 1),
                                                },
                                            ],
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "homepage",
                                                    position: (45, 5),
                                                },
                                            ],
                                        },
                                        String {
                                            parts: [
                                                Raw {
                                                    content: "https://www.ctan.org/pkg/latex2html",
                                                    position: (45, 17),
                                                },
                                            ],
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "license",
                                                    position: (47, 5),
                                                },
                                            ],
                                        },
                                        PropertyAccess {
                                            expression: Variable {
                                                identifier: "licenses",
                                                position: (47, 15),
                                            },
                                            attribute_path: AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "gpl2",
                                                        position: (47, 24),
                                                    },
                                                ],
                                            },
                                            default: None,
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "platforms",
                                                    position: (48, 5),
                                                },
                                            ],
                                        },
                                        With {
                                            expression: Variable {
                                                identifier: "platforms",
                                                position: (48, 22),
                                            },
                                            target: BinaryOperation {
                                                operator: Concatenation,
                                                operands: [
                                                    Variable {
                                                        identifier: "linux",
                                                        position: (48, 33),
                                                    },
                                                    Variable {
                                                        identifier: "darwin",
                                                        position: (48, 42),
                                                    },
                                                ],
                                            },
                                        },
                                    ),
                                    KeyValue(
                                        AttributePath {
                                            attributes: [
                                                Raw {
                                                    content: "maintainers",
                                                    position: (49, 5),
                                                },
                                            ],
                                        },
                                        With {
                                            expression: Variable {
                                                identifier: "maintainers",
                                                position: (49, 24),
                                            },
                                            target: List {
                                                elements: [
                                                    Variable {
                                                        identifier: "yurrriq",
                                                        position: (49, 39),
                                                    },
                                                ],
                                            },
                                        },
                                    ),
                                ],
                                recursive: false,
                            },
                        },
                    ),
                ],
                recursive: true,
            },
        ],
    },
}