{"id":15487434,"url":"https://github.com/werediver/fmtlib_pio","last_synced_at":"2025-03-28T16:15:29.644Z","repository":{"id":69241500,"uuid":"378666672","full_name":"werediver/fmtlib_pio","owner":"werediver","description":"A way to publish fmtlib/fmt as a PlatformIO library","archived":false,"fork":false,"pushed_at":"2021-06-26T13:37:12.000Z","size":5,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-19T07:52:45.292Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/werediver.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2021-06-20T14:35:10.000Z","updated_at":"2023-05-12T15:05:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"4f5ef005-83fd-48cd-b858-847e3b484e6d","html_url":"https://github.com/werediver/fmtlib_pio","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/werediver%2Ffmtlib_pio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/werediver%2Ffmtlib_pio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/werediver%2Ffmtlib_pio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/werediver%2Ffmtlib_pio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/werediver","download_url":"https://codeload.github.com/werediver/fmtlib_pio/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246059336,"owners_count":20717085,"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":[],"created_at":"2024-10-02T06:40:26.683Z","updated_at":"2025-03-28T16:15:29.619Z","avatar_url":"https://github.com/werediver.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PlatformIO fmt](https://img.shields.io/badge/dynamic/json?color=brightgreen\u0026label=PlatformIO\u0026prefix=fmt%20\u0026query=%24.versions%5B0%5D.name\u0026url=https%3A%2F%2Fapi.registry.platformio.org%2Fv3%2Fpackages%2Fwerediver%2Flibrary%2Ffmt)](https://platformio.org/lib/show/12455/fmt)\n\n# fmtlib_pio\n\nThis repository contains a [PlatformIO library manifest](https://docs.platformio.org/en/latest//librarymanager/config.html) template for [fmtlib/fmt](https://github.com/fmtlib/fmt) (a modern C++ string formatting library) and a shell-script to fetch an fmt release and publish it to the [PlatformIO library registry](https://platformio.org/lib).\n\n## Usage\n\nMake sure you have a [PlatformIO account](https://docs.platformio.org/en/latest//plus/pio-account.html) and you are logged-in.\n\nCheck [fmtlib/fmt/releases](https://github.com/fmtlib/fmt/releases) and choose a version you want to publish as a PlatformIO library.\n\nRun `./mk_fmtlib_pio.sh x.y.z` substituting the actual version for `x.y.z`.\n\nThe script downloads the archived source-code for the specified release version, unpacks it into `fmt-x.y.z` directory, and copies the manifest template into the same directory substituting the actual data for placeholders (currently only the version).\n\nNow is a good time to test the combination of the new release and the manifest by building a PlatformIO library archive with [pio package pack](https://docs.platformio.org/en/latest//core/userguide/package/cmd_pack.html) and trying it out in a test project ([pio lib install](https://docs.platformio.org/en/latest/core/userguide/lib/cmd_install.html) can install libraries from archives).\n\n## Limitations\n\nAs of [v8.0.0](https://github.com/fmtlib/fmt/releases/tag/8.0.0) fmt introduced a C++20 module definition in [src/fmt.cc](https://github.com/fmtlib/fmt/blob/9e8b86fd2d9806672cc73133d21780dd182bfd24/src/fmt.cc). Because C++20 support is currently [not as mature](https://web.archive.org/web/20210607125616/https://en.cppreference.com/w/cpp/compiler_support/20) comparing to older standards, this file is excluded from the library.\n\nAs of [v7.1.3](https://github.com/fmtlib/fmt/releases/tag/7.1.3) fmt includes one module requiring POSIX interfaces: [src/os.cc](https://github.com/fmtlib/fmt/blob/7bdf0628b1276379886c7f6dda2cef2b3b374f0b/src/os.cc), [include/fmt/os.h](https://github.com/fmtlib/fmt/blob/7bdf0628b1276379886c7f6dda2cef2b3b374f0b/include/fmt/os.h). Because PlatformIO is an embedded development platform and majority of embedded targets don't have a POSIX-compatible OS on-board, these files are excluded from the library.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwerediver%2Ffmtlib_pio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwerediver%2Ffmtlib_pio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwerediver%2Ffmtlib_pio/lists"}