def METHOD_NAME(tmpdir_factory):
    # Windows does not support symbolic links
    if IS_WINDOWS:
        return
    pkg_dir = tmpdir_factory.mktemp("package")
    src_dir = pkg_dir.mkdir("src")
    src_dir.join("main.cpp").write("#include <stdio.h>")
    pkg_dir.mkdir("include").join("main.h").write("#ifndef")
    src_dir.join("main.h").mksymlinkto(os.path.join("..", "include", "main.h"))
    pkg_dir.join("library.json").write('{"name": "bar", "version": "2.0.0"}')
    tarball = pkg_dir.join("bar.tar.gz")
    with tarfile.open(str(tarball), "w:gz") as tar:
        for item in pkg_dir.listdir():
            tar.add(str(item), str(item.relto(pkg_dir)))
    p = PackagePacker(str(tarball))
    assert p.pack(str(pkg_dir)).endswith("bar-2.0.0.tar.gz")
    with tarfile.open(os.path.join(str(pkg_dir), "bar-2.0.0.tar.gz"), "r:gz") as tar:
        assert set(tar.getnames()) == set(
            ["include/main.h", "library.json", "src/main.cpp", "src/main.h"]
        )
        m = tar.getmember("src/main.h")
        assert m.issym()