{"id":18095819,"url":"https://github.com/mgord9518/squashfuse-zig","last_synced_at":"2026-02-27T19:01:37.012Z","repository":{"id":112662083,"uuid":"580280147","full_name":"mgord9518/squashfuse-zig","owner":"mgord9518","description":"Read and mount SquashFS archives","archived":false,"fork":false,"pushed_at":"2025-02-20T06:33:28.000Z","size":807,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-13T10:06:27.923Z","etag":null,"topics":["fuse","fuse-filesystem","squashfs","squashfs-image","zig"],"latest_commit_sha":null,"homepage":"","language":"Zig","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgord9518.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-20T06:59:13.000Z","updated_at":"2025-02-20T06:27:20.000Z","dependencies_parsed_at":"2023-09-23T12:07:52.535Z","dependency_job_id":"d0046688-d525-445f-a018-ad2403ebcf10","html_url":"https://github.com/mgord9518/squashfuse-zig","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mgord9518/squashfuse-zig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgord9518%2Fsquashfuse-zig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgord9518%2Fsquashfuse-zig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgord9518%2Fsquashfuse-zig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgord9518%2Fsquashfuse-zig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgord9518","download_url":"https://codeload.github.com/mgord9518/squashfuse-zig/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgord9518%2Fsquashfuse-zig/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260131532,"owners_count":22963447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fuse","fuse-filesystem","squashfs","squashfs-image","zig"],"created_at":"2024-10-31T19:11:29.103Z","updated_at":"2026-02-27T19:01:31.969Z","avatar_url":"https://github.com/mgord9518.png","language":"Zig","funding_links":[],"categories":[],"sub_categories":[],"readme":"# squashfuse-zig\nSquashFS implementation in Zig, modeled after squashfuse\n\nActive/ complete goals:\n - [ ] Library usage in line with Zig stdlib\n    - [ ] (Partial) Dir implementation\n    - [ ] Move Inode methods into Dir and File structs\n    - [ ] File struct\n - [x] Performance; choose the fastest decompression libraries by default\n       (being done for the CLI tool by default via libdeflate)\n - [x] (Partial) Compatibility with existing squashfuse tools\n\nFuture goals:\n - [ ] Writing?\n - [ ] Multithreading\n\nImporting example:\n\n[build.zig.zon](example/build.zig.zon)\n```zig\n.{\n    .name = \"import_example\",\n    .version = \"0.0.0\",\n    .minimum_zig_version = \"0.13.0\",\n\n    .dependencies = .{\n        .squashfuse = .{\n            //.url = \"https://github.com/mgord9518/squashfuse-zig/archive/refs/tags/continuous.tar.gz\",\n            //.hash = \"1220e675672f86be446965d5b779a384c81c7648e385428ed5a8858842cfa38a4e22\",\n            .path = \"../\",\n        },\n    },\n\n    .paths = .{\n        \"build.zig\",\n        \"build.zig.zon\",\n        \"src\",\n        \"README.md\",\n    },\n}\n```\n\n[build.zig](example/build.zig)\n```zig\nconst std = @import(\"std\");\n\npub fn build(b: *std.Build) void {\n    const target = b.standardTargetOptions(.{});\n    const optimize = b.standardOptimizeOption(.{});\n\n    const squashfuse_dep = b.dependency(\"squashfuse\", .{\n        .target = target,\n        .optimize = optimize,\n\n        .zlib_decompressor = .libz_dynamic,\n        .zstd_decompressor = .libzstd_static,\n    });\n\n    const exe = b.addExecutable(.{\n        .name = \"squashfs_inspector\",\n        .root_source_file = b.path(\"src/main.zig\"),\n        .target = target,\n        .optimize = optimize,\n    });\n\n    // libc must be explicitly linked unless all compression libraries are\n    // using Zig implementations\n    exe.linkLibC();\n\n    exe.root_module.addImport(\n        \"squashfuse\",\n        squashfuse_dep.module(\"squashfuse\"),\n    );\n\n    // If a C-ABI compression library is used and isn't linked at runtime,\n    // the libraries must be linked in the build script as well\n    exe.linkLibrary(squashfuse_dep.artifact(\"zstd\"));\n    exe.linkSystemLibrary(\"z\");\n\n    b.installArtifact(exe);\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgord9518%2Fsquashfuse-zig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgord9518%2Fsquashfuse-zig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgord9518%2Fsquashfuse-zig/lists"}