macOS
brew install gupnplocal Homebrew formula metadata
sudo port install gupnpMacPorts ports tree · net/gupnp/Portfile · source: api.github.com
brew
Framework for creating UPnP devices and control points. Version 1.6.10 via Homebrew; verified 2026-06-25.
install
brew install gupnplocal Homebrew formula metadata
sudo port install gupnpMacPorts ports tree · net/gupnp/Portfile · source: api.github.com
sudo apk add gupnpAlpine Linux edge package indexes · gupnp · source: dl-cdn.alpinelinux.org
sudo apt install gir1.2-gupnp-1.6Debian stable package indexes · gir1.2-gupnp-1.6 · source: deb.debian.org
sudo dnf install gupnpFedora Rawhide package metadata · gupnp · source: dl.fedoraproject.org
nix profile install nixpkgs#gupnpnixpkgs package indexes · pkgs/by-name/gu/gupnp/package.nix · source: api.github.com
sudo pacman -S gupnpArch Linux sync databases · gupnp · source: geo.mirror.pkgbuild.com
sudo zypper install gupnp-docopenSUSE Tumbleweed package metadata · gupnp-doc · source: download.opensuse.org
overview
Framework for creating UPnP devices and control points
history
GUPnP is GNOME's GObject-based framework for creating UPnP devices and control points. It wraps resource discovery, device description, control, eventing, presentation, and HTTP integration behind GLib-friendly C APIs.
The README says GUPnP was born from frustration with libupnp and its threading model. GUPnP chose a single-threaded asynchronous design integrated with the GLib main loop, aiming to provide libupnp's feature set while hiding much of the UPnP protocol machinery behind object-oriented APIs.
The framework is built from GSSDP for SSDP discovery and announcement plus GUPnP for the UPnP protocol layers. It intentionally leaves higher-level standardized resources, such as MediaServer helpers, to companion libraries including GUPnP AV and related projects.
GNOME release and Git history show GUPnP as a long-lived networking library: the repository has a gupnp-0.10 tag from May 2008, the GNOME archive contains 0.x tarball lines, 1.0.0 was published in September 2016, and the 1.6 branch moved the stack through libsoup3-era maintenance.
GUPnP is packaged across Homebrew, Alpine, Debian/Ubuntu GIR packages, Fedora, MacPorts, Nix, Arch, and openSUSE because it is a shared library used by GNOME and media/networking applications rather than a single end-user program.
Its adoption is coupled to GSSDP, GUPnP AV, GUPnP DLNA, and GUPnP Tools. Distributions often split runtime libraries, introspection bindings, documentation, and tool packages so applications and developers can depend on the minimum needed pieces.
Developers use GUPnP to implement devices and control points that discover UPnP services, fetch device descriptions, invoke service actions, subscribe to events, and expose devices on the network. The official documentation includes both client and server tutorials.
The Homebrew formula exposes `gupnp-binding-tool-1.6`, but the package's main value is library and introspection support for applications using the GUPnP API.
GUPnP matters to package maintainers because it is a classic shared-library stack with ABI/API versioning, GIR bindings, documentation, and companion tools. A small version bump can affect media sharing, device discovery, and GNOME networking tools across a distribution.
It is also a case study in replacing a lower-level C networking library with a GLib-native abstraction that fits desktop event loops and language bindings.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
gupnp-binding-tool-1.6 | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://gitlab.gnome.org/GNOME/gupnp
install metadata
| Package key | brew:gupnp |
|---|---|
| Version | 1.6.10 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/gupnp |
| Homepage | https://gitlab.gnome.org/GNOME/gupnp |
| Repository | https://gitlab.gnome.org/GNOME/gupnp |
| Upstream docs | https://gnome.pages.gitlab.gnome.org/gupnp/docs |
| License | LGPL-2.0-or-later |
| Source archive | https://download.gnome.org/sources/gupnp/1.6/gupnp-1.6.10.tar.xz |
| Last updated | 2026-06-25T13:37:44+02:00 |
| Pulse | updated |
| Dependencies | glib, gssdp, libsoup, libxml2, python@3.14 |
| Build dependencies | docbook-xsl, gobject-introspection, meson, ninja, pkgconf, vala |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | gupnp |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
gir1.2-gupnp-1.6 1.6.8-2
GObject introspection data for the GUPnP library
https://gnome.pages.gitlab.gnome.org/gupnp/docs/
sudo apt install gir1.2-gupnp-1.6libgupnp-1.6-0 1.6.8-2
GObject-based library for UPnP
https://gnome.pages.gitlab.gnome.org/gupnp/docs/
sudo apt install libgupnp-1.6-0libgupnp-1.6-dev 1.6.8-2
GObject-based library for UPnP (development files)
https://gnome.pages.gitlab.gnome.org/gupnp/docs/
sudo apt install libgupnp-1.6-devlibgupnp-doc 1.6.8-2
GObject-based library for UPnP (documentation)
https://gnome.pages.gitlab.gnome.org/gupnp/docs/
sudo apt install libgupnp-docgupnp
nix profile install nixpkgs#gupnpgir1.2-gupnp-1.6 1.6.6-1build3
GObject introspection data for the GUPnP library
http://live.gnome.org/GObjectIntrospection
sudo apt install gir1.2-gupnp-1.6libgupnp-1.6-0 1.6.6-1build3
GObject-based library for UPnP
https://wiki.gnome.org/Projects/GUPnP
sudo apt install libgupnp-1.6-0libgupnp-1.6-dev 1.6.6-1build3
GObject-based library for UPnP (development files)
https://wiki.gnome.org/Projects/GUPnP
sudo apt install libgupnp-1.6-devlibgupnp-doc 1.6.6-1build3
GObject-based library for UPnP (documentation)
https://wiki.gnome.org/Projects/GUPnP
sudo apt install libgupnp-docgupnp 1.6.10-r0
GObject-based UPNP framework
https://gitlab.gnome.org/GNOME/gupnp
sudo apk add gupnpgupnp-dev 1.6.10-r0
GObject-based UPNP framework (development files)
https://gitlab.gnome.org/GNOME/gupnp
sudo apk add gupnp-devgupnp-doc 1.6.10-r0
GObject-based UPNP framework (documentation)
https://gitlab.gnome.org/GNOME/gupnp
sudo apk add gupnp-docgupnp 1.6.10-1.fc45
A framework for creating UPnP devices & control points
sudo dnf install gupnpgupnp-devel 1.6.10-1.fc45
Development package for gupnp
sudo dnf install gupnp-develgupnp-docs 1.6.10-1.fc45
Documentation files for gupnp
sudo dnf install gupnp-docsgupnp 1:1.6.10-1
GObject-based UPNP framework
https://wiki.gnome.org/Projects/GUPnP
sudo pacman -S gupnpsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.