Skip to content

Commit

Permalink
Better README
Browse files Browse the repository at this point in the history
  • Loading branch information
deluan committed Oct 11, 2024
1 parent c6b5942 commit 9ac69e4
Showing 1 changed file with 41 additions and 4 deletions.
45 changes: 41 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,45 @@
# TagLib statically cross-compiled

[![Last Release](https://img.shields.io/github/v/release/navidrome/cross-taglib?logo=github&label=latest&style=flat-square)](https://github.com/navidrome/cross-taglib/releases)
![Build](https://img.shields.io/github/actions/workflow/status/navidrome/cross-taglib/ci.yml?branch=main&logo=github&style=flat-square)
[![TagLib](https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fnavidrome%2Fcross-taglib%2Fmaster%2F.version&query=%24.TAGLIB_VERSION&label=TagLib&color=brightgreen)](https://github.com/taglib/taglib/releases)
[![Last Release](https://img.shields.io/github/v/release/navidrome/cross-taglib?logo=github&label=latest&style=flat-square)](https://github.com/navidrome/cross-taglib/releases)

## Purpose

This repository provides a statically cross-compiled version of [TagLib](https://taglib.org), a library for reading and
editing metadata of several popular audio formats. This project requires [Docker or Docker Desktop](https://docker.com)
to work locally

## Supported platforms
This table shows the platforms and architectures supported by this project. To build for a specific platform, use
the `make build` command with the `PLATFORM` variable set to the desired platform

| Platform | Param to `make` |
|---------------|-----------------|
| Linux AMD64 | linux/amd64 |
| Linux 386 | linux/386 |
| Linux ARM64 | linux/arm64 |
| Linux ARMv7 | linux/arm/v7 |
| Linux ARMv6 | linux/arm/v6 |
| Linux ARMv5 | linux/arm/v5 |
| Windows AMD64 | windows/amd64 |
| Windows 386 | windows/386 |
| macOS AMD64 | darwin/amd64 |
| macOS ARM64 | darwin/arm64 |


## Tasks

### Build locally

- `make build` - Will build for all supported platforms
- `make build PLATFORM=linux/amd64` - Will build for a specific platform
- `make update` - Will update the TagLib version in the `.version` file. After updating, you should build locally to
ensure everything is working, and then commit and push the changes.

### Release

To release a new version, just push a new tag in the format `vX.Y.Z-C`. This will trigger a GitHub Actions workflow that
will build and release the binaries for all supported platforms.

This repository contains a Dockerfile to build a statically cross-compiled version of [TagLib](https://taglib.org) for
multiple platforms.
The version represents the TagLib version + a counter. For example, `v2.0.2-1` represents the first release based on
TagLib 2.0.2.

0 comments on commit 9ac69e4

Please sign in to comment.