# Install libgsf with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

I/O abstraction library for dealing with structured file formats. Version 1.14.58 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:libgsf
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install libgsf
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install libgsf
```

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

### Linux

- apk (92%):

```sh
sudo apk add libgsf
```

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

- Debian apt (92%):

```sh
sudo apt install gir1.2-gsf-1
```

  Evidence: Debian stable package indexes: gir1.2-gsf-1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install libgsf
```

  Evidence: Fedora Rawhide package metadata: libgsf from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#libgsf
```

  Evidence: nixpkgs package indexes: pkgs/by-name/li/libgsf/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S libgsf
```

  Evidence: Arch Linux sync databases: libgsf from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install gsf-office-thumbnailer
```

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

## Package facts

- **Package key:** brew:libgsf
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/libgsf>
- **Version:** 1.14.58
- **Source summary:** I/O abstraction library for dealing with structured file formats
- **Homepage:** <https://gitlab.gnome.org/GNOME/libgsf>
- **Repository:** <https://gitlab.gnome.org/GNOME/libgsf>
- **Upstream docs:** <https://gnome.pages.gitlab.gnome.org/libgsf/api>
- **License:** LGPL-2.1-only
- **Source archive:** <https://download.gnome.org/sources/libgsf/1.14/libgsf-1.14.58.tar.xz>
- **Last updated:** 2026-06-25T13:37:51+02:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- gsf (cli)
- gsf-office-thumbnailer (cli)
- gsf-vba-dump (cli)
- gsf (alias)
- gsf-office-thumbnailer (alias)
- gsf-vba-dump (alias)

## Dependencies

- gettext
- glib

## Build dependencies

- pkgconf

## Uses from macOS

- bzip2
- libxml2

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.14.58
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://gitlab.gnome.org/GNOME/libgsf
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

libgsf is the GNOME Structured File Library, an I/O abstraction for compound and structured file formats such as Microsoft OLE2, ZIP/JAR, gzip, bzip, OpenDocument-related streams, metadata, and thumbnails. It came out of Gnumeric's need for maintainable spreadsheet file-format infrastructure.

### Project history

The libgsf README says the project was started by Jody Goldberg and aims to provide an efficient, extensible I/O abstraction for dealing with different structured file formats. The GTK-Doc manual adds that it began in 2002 as part of the Gnumeric project, replacing libole2 for Microsoft Excel file handling because libole2 had become difficult to maintain and generalize.

The GitLab repository history includes an initial backup commit dated 2002-05-23. Since then, the 1.14 series has continued as a quiet GNOME infrastructure library with fixes for OLE2 edge cases, large files, ZIP64 behavior, thumbnailing, introspection, fuzzed-file crashes, and metadata handling.

### Adoption history

libgsf was adopted through GNOME Office and file-format tooling rather than as a famous end-user command. It is infrastructure for applications that need structured file reading and writing without duplicating OLE, ZIP, compression, metadata, and stream code.

The Homebrew package exposes command-line tools such as gsf, gsf-office-thumbnailer, and gsf-vba-dump, showing the library's practical packaging surface: archive-like inspection, office document thumbnails, and VBA extraction/debugging around compound document formats.

### How it is used

Developers use libgsf through its C API to read and write structured files and streams. The reference manual groups APIs around basic I/O, stream sources, ZIP files, compression, MS OLE2, metadata, OASIS Open Document support, and related utilities.

Packagers ship it for applications that depend on GNOME/GLib-style structured file handling. Its release notes show continued attention to malformed files and very large OLE/ZIP cases, which are exactly the edge cases shared libraries are meant to centralize.

### Why package nerds care

libgsf is a small dependency with a long tail: most users do not ask for it by name, but office-file importers, thumbnailers, and data tools benefit from one shared implementation of gnarly container formats.

It is package-nerd significant because it demonstrates the GNOME/GLib style of extracting reusable infrastructure from an application. Gnumeric needed better Excel container handling; the result became a general library that distributions can patch, fuzz, and update once.

### Timeline

- 2002: The reference manual says GSF started as part of Gnumeric to replace libole2 for Microsoft Excel file handling.
- 2002-05-23: The GitLab repository records the initial backup commit.
- 2016: Release 1.14.38 fixed BSD test compatibility and ZIP64 behavior.
- 2024: Release 1.14.53 fixed integer overflows affecting memory allocation and improved OLE/OpenDocument handling.
- 2026: Release 1.14.57 fixed problems with OLE files larger than 4 GB and improved gzip, bzip, and ZIP handling for 4 GB and larger reads and writes.

### Related projects

- Gnumeric is the spreadsheet project from which libgsf emerged.
- libole2 is the older library that GSF replaced for Gnumeric's Excel file handling.
- GLib, GNOME, GTK-Doc, OLE2, ZIP, OpenDocument, and office thumbnailing tools are part of the surrounding ecosystem.

### Sources

- <https://gitlab.gnome.org/GNOME/libgsf>
- <https://gitlab.gnome.org/GNOME/libgsf/-/raw/master/NEWS>
- <https://gitlab.gnome.org/GNOME/libgsf/-/raw/master/README>
- <https://gnome.pages.gitlab.gnome.org/libgsf/api/index.html>


## 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:** libgsf
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - gir1.2-gsf-1 - 1.14.53-1: normalized package name match | Debian stable package indexes: gir1.2-gsf-1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GObject introspection data for the Structured File Library | http://projects.gnome.org/libgsf/
- Debian apt - libgsf-1-114 - 1.14.53-1: normalized package name match | Debian stable package indexes: libgsf-1-114 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Structured File Library - runtime version | http://projects.gnome.org/libgsf/
- Debian apt - libgsf-1-common - 1.14.53-1: normalized package name match | Debian stable package indexes: libgsf-1-common from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Structured File Library - common files | http://projects.gnome.org/libgsf/
- Debian apt - libgsf-1-dev - 1.14.53-1: normalized package name match | Debian stable package indexes: libgsf-1-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Structured File Library - development files | http://projects.gnome.org/libgsf/
- Debian apt - libgsf-bin - 1.14.53-1: normalized package name match | Debian stable package indexes: libgsf-bin from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Structured File Library - programs | http://projects.gnome.org/libgsf/
- Nix - libgsf: normalized package name match | nixpkgs package indexes: pkgs/by-name/li/libgsf/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - gir1.2-gsf-1 - 1.14.51-2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: gir1.2-gsf-1 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | GObject introspection data for the Structured File Library | http://projects.gnome.org/libgsf/
- Ubuntu apt - libgsf-1-114 - 1.14.51-2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgsf-1-114 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Structured File Library - runtime version | http://projects.gnome.org/libgsf/
- Ubuntu apt - libgsf-1-common - 1.14.51-2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgsf-1-common from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Structured File Library - common files | http://projects.gnome.org/libgsf/
- Ubuntu apt - libgsf-1-dev - 1.14.51-2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgsf-1-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Structured File Library - development files | http://projects.gnome.org/libgsf/
- Ubuntu apt - libgsf-bin - 1.14.51-2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: libgsf-bin from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Structured File Library - programs | http://projects.gnome.org/libgsf/
- apk - libgsf - 1.14.58-r0: normalized package name match | Alpine Linux edge package indexes: libgsf from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Utility library for reading and writing structured file formats | https://gitlab.gnome.org/GNOME/libgsf
- apk - libgsf-dev - 1.14.58-r0: normalized package name match | Alpine Linux edge package indexes: libgsf-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Utility library for reading and writing structured file formats (development files) | https://gitlab.gnome.org/GNOME/libgsf
- apk - libgsf-doc - 1.14.58-r0: normalized package name match | Alpine Linux edge package indexes: libgsf-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Utility library for reading and writing structured file formats (documentation) | https://gitlab.gnome.org/GNOME/libgsf
- apk - libgsf-lang - 1.14.58-r0: normalized package name match | Alpine Linux edge package indexes: libgsf-lang from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Languages for package libgsf | https://gitlab.gnome.org/GNOME/libgsf
- dnf - libgsf - 1.14.58-1.fc45: normalized package name match | Fedora Rawhide package metadata: libgsf from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | GNOME Structured File library | https://gitlab.gnome.org/GNOME/libgsf/


## 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.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [glib](https://www.automicvault.com/pkg/brew/glib/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [gnumeric](https://www.automicvault.com/pkg/brew/gnumeric/) - Popular package that depends on this formula.
- [libpst](https://www.automicvault.com/pkg/brew/libpst/) - Popular package that depends on this formula.
- [libwpd](https://www.automicvault.com/pkg/brew/libwpd/) - Popular package that depends on this formula.
- [msitools](https://www.automicvault.com/pkg/brew/msitools/) - Popular package that depends on this formula.
- [wv](https://www.automicvault.com/pkg/brew/wv/) - Popular package that depends on this formula.
- [wv2](https://www.automicvault.com/pkg/brew/wv2/) - Popular package that depends on this formula.
- [json-glib](https://www.automicvault.com/pkg/brew/json-glib/) - Shares av.db curated category or tags: cli, developer-tools, glib, gnome.
- [libdazzle](https://www.automicvault.com/pkg/brew/libdazzle/) - Shares av.db curated category or tags: cli, developer-tools, glib, gnome.
- [libhandy](https://www.automicvault.com/pkg/brew/libhandy/) - Shares av.db curated category or tags: c-library, cli, developer-tools, gnome.
- [libxml2](https://www.automicvault.com/pkg/brew/libxml2/) - Shares av.db curated category or tags: c-library, cli, developer-tools, gnome.
- [libxslt](https://www.automicvault.com/pkg/brew/libxslt/) - Shares av.db curated category or tags: c-library, cli, developer-tools, gnome.
- [apr](https://www.automicvault.com/pkg/brew/apr/) - Shares av.db curated category or tags: c-library, cli, developer-tools.
- [apr-util](https://www.automicvault.com/pkg/brew/apr-util/) - Shares av.db curated category or tags: c-library, cli, developer-tools.
- [blueprint-compiler](https://www.automicvault.com/pkg/brew/blueprint-compiler/) - Shares av.db curated category or tags: cli, developer-tools, gnome.
- [gspell](https://www.automicvault.com/pkg/brew/gspell/) - Local package facts share a topical domain. Shared terms: cli, developer, developer-tools, gettext, glib.

## Combined YAML source

View the package source record on GitHub. [combined/libgsf.yml](https://github.com/automic-vault/db/blob/main/combined/libgsf.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
