Review: hyprgraphics 0.6.0-3
Package Information
| Description | C++ graphics utility library for Hyprland Hyprgraphics is a small C++ library with graphics / resource related utilities used across the hypr* ecosystem. |
|---|---|
| Maintainer | Debian Hyprland Maintainers <team+hyprland@tracker.debian.org> |
| Changed By | Chow Loong Jin <hyperair@debian.org> |
| Sponsor | hyperair@debian.org |
| Distribution | experimental |
| Architecture | any |
| VCS | git: https://salsa.debian.org/hyprland-team/hyprgraphics.git (browse) |
| Popcon Installs | 540 |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/hyprgraphics |
| Uploaded | 2 days ago |
New Package Report
.changes
| Source | hyprgraphics |
|---|---|
| Version | 0.6.0-3 |
| Changed-By | Chow Loong Jin <hyperair@debian.org> |
| Architecture | source amd64 |
| Distribution | experimental |
| Date | Thu, 05 Nov 2026 13:07:17 +0800 |
Changelog
hyprgraphics (0.6.0-3) experimental; urgency=medium . * d/copyright: Fix BSD-3-clause license text . hyprgraphics (0.6.0-2) experimental; urgency=medium . * d/control: Replace libspng-dev dependency with libpng-dev . hyprgraphics (0.6.0-1) experimental; urgency=medium . [ Carl Keinath ] * New upstream version 0.6.0 * d/*.dirs: remove dirs files * Rename package for SONAME bump * migrate to dh-compat 14 * wrap-and-sort debian dir * d/control: append uploaders . [ Chow Loong Jin ] * d/control: Add .pc dependencies to -dev package * d/control: Build-dep on libdav1d-dev
.dsc
| Component | main |
|---|---|
| Package-List | libhyprgraphics-dev deb libdevel optional arch=any libhyprgraphics5 deb libs optional arch=any |
| Section | libdevel |
| Priority | optional |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Source: https://github.com/hyprwm/hyprgraphics
Upstream-Name: hyprgraphics
Upstream-Contact: https://github.com/hyprwm/hyprgraphics/issues
Files:
*
Copyright:
2024-2025 Hypr Development
License: BSD-3-clause
Files:
debian/*
Copyright:
2025 Carl Keinath <carl.keinath@gmail.com>
License: BSD-3-clause
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 0 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 2 days ago.
Report
DFSG NEW review for hyprgraphics version 0.6.0-3
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 0 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: 1 found
Licensing
debian/copyright is DEP-5 with the correct Format URL. Two stanzas: Files: * (2024-2025 Hypr Development, BSD-3-clause) and Files: debian/* (2025 Carl Keinath, BSD-3-clause), the latter overriding the former for packaging, plus one stand-alone BSD-3-clause paragraph whose text reproduces LICENSE word for word. No file in the tree carries a different holder or licence, no third-party licence files exist in subdirectories, and the BSD-3 licence is permissive and DFSG-free. The test images and the symlink fixture are upstream data covered by the catch-all stanza.
Packaging
Clean compat-14 dh packaging: rules uses dh with hardening, both install files are correct, the -dev package depends on every module that the installed pkg-config file's Requires/Requires.private names and on the headers its public headers include, the SONAME bump to 5 is carried through to a matching binary package, an autopkgtest builds and runs upstream's tests against the installed library, and the single quilt patch carries DEP-3 headers. Build-Depends match the CMakeLists' requirements and every name exists in the archive with a satisfying version.
Issues
None.
Verified ◂
- debian/copyright read in full: line 1 is
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/; theFiles: *andFiles: debian/*stanzas and the stand-aloneLicense: BSD-3-clauseparagraph use only fields copyright-format 1.0 defines. - The BSD-3-clause text in debian/copyright matches LICENSE exactly (three clauses and disclaimer), and LICENSE's only holder,
Copyright (c) 2024, Hypr Development, is named in theFiles: *stanza (its2024-2025range is a year detail, not a different holder). BSD-3-clause is not in /usr/share/common-licenses, so the full text is required and is present. - Grepped the whole tree with gitignore disabled for Copyright/(C)/©/SPDX-License-Identifier/Licensed under/Permission is hereby granted/GNU General Public/GNU Lesser/Apache License/Mozilla Public/public domain/All rights reserved: the only hits are in LICENSE and debian/copyright. No source, header, test, nix or CI file carries a copyright or licence notice, and no other LICENSE/COPYING/NOTICE file exists in any subdirectory.
- All upstream paths are matched by
Files: *(DEP-5*matches/and leading dots, so it reaches every subdirectory);debian/*is overridden by its own stanza. NoFiles-Excludedis declared and nothing in the tree is absent from the orig tarball. tests/resource/images/hyprland.jxl(the pre-scan's unrecognised binary, 78.4 KB): a JPEG XL test fixture shipped in hyprgraphics_0.6.0.orig.tar.gz next to hyprland.png/jpg/webp/avif/svg and loaded by tests/image.cpp's directory scan. It is data, not a built or generated artifact; its source form is the image itself, and it is covered by theFiles: *BSD-3-clause stanza.tests/resource/images/hyprland.symlinkis a symlink to hyprland.png (the tarball listing reports the target's size, 345.7 KB) kept to exercise symlinked image paths; same licence as the rest of the fixtures.- No built files are shipped: the tree contains no object files, libraries, bytecode, minified code, archives or PDFs; hyprgraphics.pc is generated at build time from hyprgraphics.pc.in, and flake.lock is upstream's own generated lockfile next to flake.nix. The pre-scan's author check reported every holder it found as named.
- Read all of debian/: control, rules, changelog, copyright, gbp.conf, libhyprgraphics-dev.install, libhyprgraphics5.install, source/format, patches/series, the one patch, tests/control, tests/CMakeLists.txt, tests/upstream-tests, upstream/metadata, salsa-ci.yml.
- Build-Depends cover CMakeLists' pkg_check_modules (libdrm, pixman-1, cairo, pangocairo, hyprutils, libjpeg, libwebp, libmagic, libpng, librsvg-2.0), find_package(OpenGL GLES3), and the optional libjxl/libheif. Checked in the archive: libjxl-dev 0.11.2-5.1, libdav1d-dev 1.5.4-1, libjpeg-dev 1.3.1.3-4, libhyprutils-dev 0.14.3-1 (satisfies
>= 0.2.2). - libhyprgraphics-dev's Depends covers the installed hyprgraphics.pc:
Requires: cairo hyprutils pangocairo glesv2maps to libcairo2-dev, libhyprutils-dev, libpango1.0-dev, libgles-dev, and everyRequires.privatemodule (libdrm, pixman-1, libpng, libjpeg, libwebp, librsvg-2.0, libmagic, libjxl*, libheif) has its -dev package listed; the public headers include <cairo/cairo.h>, <hyprutils/...> and <GLES3/gl32.h>, which those packages provide. - At compat 14 dh_gencontrol adds relationship substvars itself, so libhyprgraphics5 having no Depends field is not a fault. SOVERSION 5 in CMakeLists matches the libhyprgraphics5 package, and the install files split
lib*.soto -dev andlib*.so.*to the library package. - debian/patches/allow-jpeg-loading-on-big-endian.patch has From, Date, Subject, Bug and Origin (DEP-3) and removes the big-endian refusal in src/image/formats/Jpeg.cpp, which is the file the applied tree shows.
- The autopkgtest
upstream-testsworks in $AUTOPKGTEST_TMP (does not write to the source tree), builds the upstream tests from debian/tests/CMakeLists.txt against the installed library, and declares Depends: @, @builddeps@ (which includes build-essential) plus Restrictions: allow-stderr. - Standards-Version 4.7.4 has the same first two components as the reviewing system's Policy 4.7.4.1, so it is current enough to be no issue.
- uscan found the packaged version as the newest upstream release (upstream
0.6.0, packaged0.6.0).
Not confirmed ◂
- The five test image formats under tests/resource/images/ and the simlink fixture were not opened (binary data); their provenance is judged from the project's LICENSE and from their inclusion in the upstream orig tarball, and no third-party notice accompanies them.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader was emailed about the review 2 days ago.
Review Information
accepted — allocated to awm 2 days ago, started 2 days ago, completed 2 days ago.