# Install libxspf with Homebrew, apk, MacPorts, zypper

C++ library for XSPF playlist reading and writing. Version 1.2.1 via Homebrew; verified 2026-06-19.

## Install

```sh
sudo av install brew:libxspf
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libxspf
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libxspf
```

  Evidence: MacPorts ports tree: devel/libxspf/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add libxspf
```

  Evidence: Alpine Linux edge package indexes: libxspf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- zypper (92%):

```sh
sudo zypper install libxspf-devel
```

  Evidence: openSUSE Tumbleweed package metadata: libxspf-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:libxspf
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libxspf>
- **Version:** 1.2.1
- **Source summary:** C++ library for XSPF playlist reading and writing
- **Homepage:** <https://libspiff.sourceforge.net/>
- **Repository:** <https://gitlab.xiph.org/xiph/libxspf>
- **Upstream docs:** <https://libspiff.sourceforge.net/doc/html>
- **License:** BSD-3-Clause
- **Source archive:** <https://downloads.sourceforge.net/project/libspiff/Sources/1.2.1/libxspf-1.2.1.tar.bz2>
- **Last updated:** 2026-06-19T12:32:39-07:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- xspf_check (cli)
- xspf_strip (cli)
- xspf_check (alias)
- xspf_strip (alias)

## Dependencies

- uriparser

## Build dependencies

- cpptest
- pkgconf

## Uses from macOS

- expat

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, catalina, monterey, sonoma, ventura

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.2.1
- Package-manager updated: 2026-06-19
- Local data: ok
- Upstream repository: https://libspiff.sourceforge.net/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

libxspf is a small Xiph.Org C++ library for reading and writing XSPF playlists, the XML Shareable Playlist Format pronounced spiff.

### Project history

XSPF was standardized as an open XML playlist format under the Xiph.Org umbrella. The specification describes a format intended to avoid every music player inventing its own XML playlist vocabulary.

The library was first developed as libSpiff and reached 1.0.0 on September 21, 2008. On February 21, 2009, the 1.1.0 release renamed libSpiff to libxspf, added a pkg-config file, and reorganized the Autotools build.

### Adoption history

libxspf served the practical side of XSPF adoption: it gave media applications a parser, writer, C bindings, examples, and validation-oriented command-line tools for XSPF versions 0 and 1. Its releases mostly track ABI, build-system, compiler, and documentation polish rather than a broad application platform.

### How it is used

The project README presents libxspf as an integration library for applications that need to read or write XSPF playlist files. The generated documentation walks through reading playlists and receiving playlist and track callbacks, while the Homebrew package exposes xspf_check and xspf_strip for validation and cleanup workflows.

### Why package nerds care

libxspf is niche, but it is a classic package-manager fossil from the XML media-format era: a small C++ library built around Expat, uriparser, pkg-config, Doxygen docs, and a named open format from Xiph rather than a player-specific playlist file.

### Timeline

- 2005-01: XSPF Version 1 was published by the Playlist Ad-Hoc Group under the Xiph.Org XSPF site.
- 2008-09-21: libSpiff 1.0.0 was released.
- 2009-02-21: Version 1.1.0 renamed libSpiff to libxspf.
- 2009-03-07: Version 1.2.0 added xspf_parse_memory to the C bindings.
- 2021-05-29: Version 1.2.1 refreshed build-system compatibility and fixed compiler issues.

### Related projects

- XSPF is the format that libxspf implements. Xiph.Org hosts the project. Expat and uriparser are important dependencies in the library history, and libcpptest appears in its test-suite history.

### Sources

- <https://gitlab.xiph.org/xiph/libxspf/-/raw/master/ChangeLog>
- <https://gitlab.xiph.org/xiph/libxspf/-/raw/master/README>
- <https://libspiff.sourceforge.net/doc/html/>
- <https://www.xspf.org/spec>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** libxspf
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- apk - libxspf - 1.2.1-r3: normalized package name match | Alpine Linux edge package indexes: libxspf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Brings XSPF playlist reading and writing support to C++ application | https://libspiff.sourceforge.net/
- apk - libxspf-dev - 1.2.1-r3: normalized package name match | Alpine Linux edge package indexes: libxspf-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Brings XSPF playlist reading and writing support to C++ application (development files) | https://libspiff.sourceforge.net/
- zypper - libxspf-devel - 1.2.1-2.2: normalized package name match | openSUSE Tumbleweed package metadata: libxspf-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Brings XSPF playlist read and write support to C++ apps | http://libspiff.sourceforge.net/
- zypper - libxspf4 - 1.2.1-2.2: normalized package name match | openSUSE Tumbleweed package metadata: libxspf4 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Provides XSPF playlist reading and writing support | http://libspiff.sourceforge.net/
- MacPorts - libxspf: normalized package name match | MacPorts ports tree: devel/libxspf/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [uriparser](https://www.automicvault.com/pkg/brew/uriparser/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [podofo](https://www.automicvault.com/pkg/brew/podofo/) - Shares av.db curated category or tags: c-plus-plus, cli, library, media.
- [freealut](https://www.automicvault.com/pkg/brew/freealut/) - Shares av.db curated category or tags: cli, library, media.
- [gifsicle](https://www.automicvault.com/pkg/brew/gifsicle/) - Shares av.db curated category or tags: cli, library, media.
- [rubberband](https://www.automicvault.com/pkg/brew/rubberband/) - Shares av.db curated category or tags: cli, library, media.
- [smpeg](https://www.automicvault.com/pkg/brew/smpeg/) - Shares av.db curated category or tags: cli, library, media.
- [exact-image](https://www.automicvault.com/pkg/brew/exact-image/) - Shares av.db curated category or tags: c-plus-plus, cli, library, media.
- [glbinding](https://www.automicvault.com/pkg/brew/glbinding/) - Shares av.db curated category or tags: c-plus-plus, cli, library, media.
- [imlib2](https://www.automicvault.com/pkg/brew/imlib2/) - Shares av.db curated category or tags: cli, library, media.
- [ezstream](https://www.automicvault.com/pkg/brew/ezstream/) - Local package facts share a topical domain. Shared terms: cli, media.
- [ffmpeg2theora](https://www.automicvault.com/pkg/brew/ffmpeg2theora/) - Local package facts share a topical domain. Shared terms: cli, media.
- [icecast](https://www.automicvault.com/pkg/brew/icecast/) - Local package facts share a topical domain. Shared terms: cli, media.

## Combined YAML source

View the package source record on GitHub. [combined/libxspf.yml](https://github.com/automic-vault/db/blob/main/combined/libxspf.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
