---
Function {
    argument: None,
    arguments: FunctionArguments {
        arguments: [
            FunctionArgument {
                identifier: "libXxf86vm",
                default: None,
            },
            FunctionArgument {
                identifier: "libpng",
                default: None,
            },
            FunctionArgument {
                identifier: "libxml2",
                default: None,
            },
            FunctionArgument {
                identifier: "libX11",
                default: None,
            },
            FunctionArgument {
                identifier: "cmake",
                default: None,
            },
            FunctionArgument {
                identifier: "zlib",
                default: None,
            },
            FunctionArgument {
                identifier: "freeglut",
                default: None,
            },
            FunctionArgument {
                identifier: "libGL",
                default: None,
            },
            FunctionArgument {
                identifier: "libGLU",
                default: None,
            },
            FunctionArgument {
                identifier: "libjpeg",
                default: None,
            },
            FunctionArgument {
                identifier: "fetchurl",
                default: None,
            },
            FunctionArgument {
                identifier: "stdenv",
                default: None,
            },
            FunctionArgument {
                identifier: "lib",
                default: None,
            },
        ],
        ellipsis: false,
    },
    definition: FunctionApplication {
        function: PropertyAccess {
            expression: Variable {
                identifier: "stdenv",
                position: (16, 1),
            },
            attribute_path: AttributePath {
                attributes: [
                    Raw {
                        content: "mkDerivation",
                        position: (16, 8),
                    },
                ],
            },
            default: None,
        },
        arguments: [
            Map {
                bindings: [
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "pname",
                                    position: (17, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "freepv",
                                    position: (17, 12),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "version",
                                    position: (18, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "0.3.0",
                                    position: (18, 14),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "src",
                                    position: (20, 3),
                                },
                            ],
                        },
                        FunctionApplication {
                            function: Variable {
                                identifier: "fetchurl",
                                position: (20, 9),
                            },
                            arguments: [
                                Map {
                                    bindings: [
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "url",
                                                        position: (21, 5),
                                                    },
                                                ],
                                            },
                                            String {
                                                parts: [
                                                    Raw {
                                                        content: "mirror://sourceforge/freepv/freepv-",
                                                        position: (21, 12),
                                                    },
                                                    Expression {
                                                        expression: Variable {
                                                            identifier: "version",
                                                            position: (21, 49),
                                                        },
                                                    },
                                                    Raw {
                                                        content: ".tar.gz",
                                                        position: (21, 57),
                                                    },
                                                ],
                                            },
                                        ),
                                        KeyValue(
                                            AttributePath {
                                                attributes: [
                                                    Raw {
                                                        content: "sha256",
                                                        position: (22, 5),
                                                    },
                                                ],
                                            },
                                            String {
                                                parts: [
                                                    Raw {
                                                        content: "1w19abqjn64w47m35alg7bcdl1p97nf11zn64cp4p0dydihmhv56",
                                                        position: (22, 15),
                                                    },
                                                ],
                                            },
                                        ),
                                    ],
                                    recursive: false,
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "nativeBuildInputs",
                                    position: (25, 3),
                                },
                            ],
                        },
                        List {
                            elements: [
                                Variable {
                                    identifier: "cmake",
                                    position: (25, 25),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "buildInputs",
                                    position: (26, 3),
                                },
                            ],
                        },
                        List {
                            elements: [
                                Variable {
                                    identifier: "libjpeg",
                                    position: (26, 19),
                                },
                                Variable {
                                    identifier: "libGLU",
                                    position: (26, 27),
                                },
                                Variable {
                                    identifier: "libGL",
                                    position: (26, 34),
                                },
                                Variable {
                                    identifier: "freeglut",
                                    position: (26, 40),
                                },
                                Variable {
                                    identifier: "zlib",
                                    position: (26, 49),
                                },
                                Variable {
                                    identifier: "libX11",
                                    position: (26, 54),
                                },
                                Variable {
                                    identifier: "libxml2",
                                    position: (26, 61),
                                },
                                Variable {
                                    identifier: "libpng",
                                    position: (26, 69),
                                },
                                Variable {
                                    identifier: "libXxf86vm",
                                    position: (26, 76),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "postPatch",
                                    position: (28, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "sed -i -e '/GECKO/d' CMakeLists.txt\nsed -i -e '/mozilla/d' src/CMakeLists.txt\nsed -i -e '1i \\\n  #include <cstdio>' src/libfreepv/OpenGLRenderer.cpp\nsed -i -e '1i \\\n  #include <cstring>' src/libfreepv/Image.cpp\nsubstituteInPlace src/libfreepv/Action.h \\\n  --replace NULL nullptr\nsubstituteInPlace src/libfreepv/pngReader.cpp \\\n  --replace png_set_gray_1_2_4_to_8 png_set_expand_gray_1_2_4_to_8\n",
                                    position: (29, 1),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "NIX_CFLAGS_COMPILE",
                                    position: (41, 3),
                                },
                            ],
                        },
                        String {
                            parts: [
                                Raw {
                                    content: "-fpermissive -Wno-narrowing",
                                    position: (41, 25),
                                },
                            ],
                        },
                    ),
                    KeyValue(
                        AttributePath {
                            attributes: [
                                Raw {
                                    content: "meta",
                                    position: (43, 3),
                                },
                            ],
                        },
                        Map {
                            bindings: [
                                KeyValue(
                                    AttributePath {
                                        attributes: [
                                            Raw {
                                                content: "description",
                                                position: (44, 5),
                                            },
                                        ],
                                    },
                                    String {
                                        parts: [
                                            Raw {
                                                content: "Open source panorama viewer using GL",
                                                position: (44, 20),
                                            },
                                        ],
                                    },
                                ),
                                KeyValue(
                                    AttributePath {
                                        attributes: [
                                            Raw {
                                                content: "homepage",
                                                position: (45, 5),
                                            },
                                        ],
                                    },
                                    String {
                                        parts: [
                                            Raw {
                                                content: "http://freepv.sourceforge.net/",
                                                position: (45, 17),
                                            },
                                        ],
                                    },
                                ),
                                KeyValue(
                                    AttributePath {
                                        attributes: [
                                            Raw {
                                                content: "license",
                                                position: (46, 5),
                                            },
                                        ],
                                    },
                                    List {
                                        elements: [
                                            PropertyAccess {
                                                expression: Variable {
                                                    identifier: "lib",
                                                    position: (46, 17),
                                                },
                                                attribute_path: AttributePath {
                                                    attributes: [
                                                        Raw {
                                                            content: "licenses",
                                                            position: (46, 21),
                                                        },
                                                        Raw {
                                                            content: "lgpl21",
                                                            position: (46, 30),
                                                        },
                                                    ],
                                                },
                                                default: None,
                                            },
                                        ],
                                    },
                                ),
                            ],
                            recursive: false,
                        },
                    ),
                ],
                recursive: true,
            },
        ],
    },
}