graphics/R-cran-patchwork: New port: The Composer of Plots
patchwork expands the ggplot2 API to allow arbitrarily complex
composition of plots by providing mathematical operators for combining
multiple plots.
PR: 296816
Reviewed by: jrm
Approved by: jrm (mentor)
Differential Revision: https://reviews.freebsd.org/D60942
graphics/py-lensfunpy: New port: Lens distortion correction for Python, a
wrapper for lensfun
PR: 299668
Approved by: no need for approval according to bapt@
graphics/tensaku: New port: Screenshot annotation tool for Wayland
Tensaku is a screenshot annotation tool for Wayland compositors. It
opens a captured image in a GTK4 layer-shell editor with arrows, boxes,
text, highlights, blur, and numbered markers, and copies or saves the
result. Omarchy uses it as the editor behind its screenshot shortcuts.
WWW: https://github.com/jondkinney/tensaku
Reported by: jkh (new maintainer)
Pull Request: https://github.com/freebsd/freebsd-ports/pull/630
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
graphics/omasnap: New port: Native Wayland screenshot and annotation overlay for
Hyprland
Omasnap is a native Wayland screenshot and annotation overlay built for
Hyprland and the Omarchy desktop. It captures the screen through the
ext-image-copy-capture protocol, then lets you crop, draw, highlight,
blur, add text, OCR a region with Tesseract, pin snapshots on screen and
copy or save the result.
WWW: https://github.com/omacom/omasnap
Reported by: jkh (new maintainer)
Pull Request: https://github.com/freebsd/freebsd-ports/pull/630
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
graphics/photocraft: Native image editor with layers, masks, type and PSD
support
PhotoCraft is an open-source, native image editor written in Rust that works
the way Photoshop users expect: layers, masks, adjustment layers, layer
styles, type, vectors, brushes and selections, with 8/16/32-bit documents
and layered PSD/PSB files that round-trip. The canvas is composited on the
GPU through wgpu, with a CPU compositor as the reference.
The package also installs photocraft-cli, a headless converter and command
runner for batch work and automation.
graphics/R-cran-plotrix: New port
The plotrix package provides many functions for enhancing R plots:
specialized plot types, axis and legend labeling helpers, and color
scaling and manipulation tools.
graphics/py-pyvista-validation: New port: Validate and standardize array-like
input
PR: 298893
Approved by: Baptiste Daroussin <bapt@FreeBSD.org> (on behalf of portmgr@)
graphics/py-polyxios: New port: Fast 3D file format I/O and processing library
PR: 298876
Approved by: Baptiste Daroussin <bapt@FreeBSD.org> (on behalf of portmgr@)
graphics/py-pylerc: Add py-pylerc 4.2.0
LERC is an open-source image or raster format which supports rapid encoding and
decoding for any pixel type (not just RGB or Byte). Users set the maximum
compression error per pixel while encoding, so the precision of the original
input image is preserved (within user defined error bounds).
This port is the Python binding for LERC (Limited Error Raster Compression).
graphics/R-cran-bmp: New port
bmp provides the ability to read Windows BMP format images in R.
Currently limited to 8 bit greyscale images and 24,32 bit (A)RGB
images. Pure R implementation without external dependencies.
Approved by: fuz (mentor), jrm (mentor)
Reviewed by: fuz (mentor), jrm (mentor), mat (previous revision)
Differential Revision: https://reviews.freebsd.org/D22680
graphics/linux-slang: Add new port
Slang is a shading language that makes it easier to build and maintain large
shader codebases in a modular and extensible fashion, while also maintaining
the highest possible performance on modern GPUs and graphics APIs. Slang is
based on years of collaboration between researchers at NVIDIA, Carnegie Mellon
University, Stanford, MIT, UCSD and the University of Washington.
The Slang shading language is designed to enable real-time graphics developers
to work with large-scale, high-performance shader code.
https://shader-slang.com/
graphics/R-cran-Cairo: New port
R graphics device using the cairographics library for high-quality
vector (PDF, PostScript, SVG) and bitmap (PNG, JPEG, TIFF) output,
plus X11/Win32 display backends.
Reviewed by: fuz, mat (previous revision)
Differential Revision: https://reviews.freebsd.org/D22681
graphics/py-rapidocr: Add New Port
RapidOCR provides the text detection and recognition models of PaddleOCR
converted to ONNX, so they can be run without the PaddlePaddle framework.
Detection locates the text boxes in an image, recognition reads the text
inside them.
cv2 comes from graphics/opencv rather than from the headless wheel, which
conflicts with it and with misc/py-insightface.
WWW: https://github.com/RapidAI/RapidOCR
Sponsored by: Netzkommune GmbH
graphics/py-kaleido: Generate static images for Plotly
Kaleido is a cross-platform library for generating static images for
Plotly's visualization library. After installing it, you can use
fig.write_image("filename.png") to save a plot to a file.
graphics/skia124: New port: Skia library fork used by aseprite
This is a new dependency of graphics/aseprite.
PR: 298270
Approved by: Baptiste Daroussin <bapt@FreeBSD.org> (on behalf of portmgr@)
graphics/py-nokap: New port: Capture screenshots and PDFs from web pages with
headless Chrome
PR: 298268
Approved by: Baptiste Daroussin <bapt@FreeBSD.org> (on behalf of portmgr@)
graphics/py-osmnx: Add py-osmnx 2.1.1
OSMnx is a Python package to easily download, model, analyze, and visualize
street networks and other geospatial features from OpenStreetMap. You can
download and model walking, driving, or biking networks with a single line of
code then analyze and visualize them. You can just as easily work with urban
amenities/points of interest, building footprints, transit stops, elevation
data, street orientations, speed/travel time, and routing.
graphics/py-jbpy: Add py-jbpy 0.6.1
jbpy is a library for reading and writing Joint BIIF Profile files. Including:
- National Imagery Transmission Format (NITF)
- North Atlantic Treaty Organisation (NATO) Secondary Imagery Format (NSIF)
The Joint BIIF Profile is available from the NSG Standards Registry.
graphics/py-neatnet: Add py-neatnet 0.1.6
neatnet offers a set of tools pre-processing of street network geometry aimed at
its simplification. This typically means removal of dual carrieageways,
roundabouts and similar transportation-focused geometries and their replacement
with a new geometry representing the street space via its centerline. The
resulting geometry shall be closer to a morphological representation of space
than the original source, that is typically drawn with transportation in mind
(e.g. OpenStreetMap).
graphics/py-svg.py: Add New Port
Type-safe SVG drawing library for Python.
Required as a runtime dependency of the upcoming
databases/mysql-shell port.
PR: 291004
Sponsored by: Netzkommune GmbH
graphics/virtio_gpu_qemu-kmod: New port - virtio gpu driver for UTMapp/qemu
virtio_gpu_qemu enables a virtual machine running under UTMapp/qemu,
which is configured using virtio for the GPU to run a graphical user
interface through X server.
MFH: 2026Q3
graphics/py-liffile: Add py-liffile 2026.4.11
Liffile is a Python library to read image and metadata from Leica image files:
LIF (Leica Image File), LOF (Leica Object File), XLIF (XML Image File), XLCF
(XML Collection File), XLEF (XML Experiment File), and LIFEXT (Leica Image File
Extension). These files are written by LAS X software to store collections of
images and metadata from microscopy experiments.
net-mgmt/netbox: Create Django 6.0 consumers
* Django 5.2 is currently the "default" version in the ports tree due
its long term support until April 2028. Thus ports that are assigned
to that version will exist until then.
The following ports are required to make the upgrade of
net-mgmt/netbox to the 4.6 release possible because it requires
Django 6.0.
All of the ports listed below were created on the basis of their
respective original ports:
- devel/py-dj60-django-rq
- devel/py-dj60-strawberry-graphql
- graphics/py-dj60-sorl-thumbnail
- www/py-dj60-channels
- www/py-dj60-django-auth-ldap
- www/py-dj60-django-choices-field
- www/py-dj60-django-cors-headers
- www/py-dj60-django-debug-toolbar
- www/py-dj60-django-filter
- www/py-dj60-django-htmx
- www/py-dj60-django-js-asset
- www/py-dj60-django-mptt
- www/py-dj60-django-prometheus
- www/py-dj60-django-redis
- www/py-dj60-django-rich
- www/py-dj60-django-storages
- www/py-dj60-django-tables2
- www/py-dj60-django-taggit
- www/py-dj60-django-timezone-field
- www/py-dj60-djangorestframework
- www/py-dj60-drf-spectacular
- www/py-dj60-drf-spectacular-sidecar
- www/py-dj60-social-auth-app-django
- www/py-dj60-strawberry-graphql-django
graphics/R-cran-venn: New port
A close to zero dependency package to draw and display Venn diagrams up
to 7 sets, and any Boolean union of set intersections.
graphics/R-cran-ggpolypath: New port
Tools for working with polygons with holes in 'ggplot2', with a new 'geom' for
drawing a 'polypath' applying the 'evenodd' or 'winding' rules.
graphics/tippecanoe: Remove port again
Porters Handbook states the following,
"13.15. Marking a Port for Removal with DEPRECATED or EXPIRATION_DATE
Do remember that BROKEN and FORBIDDEN are to be used as a temporary
resort if a port is not working. Permanently broken ports will be removed
from the tree entirely."
pkg-fallout have been reporting failures for at least 4 consecutive
months which isn't "temporary" and it makes no sense to commit a broken
port to the tree. Additionally it's been marked as broken 14 since 2023.
This reverts commit 594238a01cde8388b87f3dffced555bea6ccd002
Pointyhat to: amdmi3
graphics/tippecanoe: revert removal
Please do not remove ports abruptly. Instead, go through a proper
process of first documenting the breakage with unconditional BROKEN
and then scheduling the removal with DEPRECATED/EXPIRATION_DATE.
This reverts commit 4c9bd41bd6fe492b8796ff927d3443ae1f5e58a2.
Pointyhat to: diizzy
graphics/nvidia-drm-*-kmod: Add drm 6.12
Add new ports
graphics/nvidia-drm-612-kmod,
graphics/nvidia-drm-612-kmod-580 and
graphics/nvidia-drm-612-kmod-devel
and add conflicts to
graphics/nvidia-drm-{515|61|66|latest}-kmod{-580|-devel}
following the addition of graphics/drm-612-kmod.
While here, bump
graphics/nvidia-drm-latest-kmod,
graphics/nvidia-drm-latest-kmod-580 and
graphics/nvidia-drm-latest-kmod-devel
following the bump of graphics/drm-latest-kmod from 6.9 to 6.12.
Bump PORTREVISION of other graphics/nvidia-drm-*-kmod*
as of changes in CONFLICTS.
Match DRM driver version selection with graphics/drm-kmod.
Now 6.12 is default for OSVERSION >= 1500509 (stable/15, upcoming 15.1
and main) when installed using graphics/nvidia-drm-kmod{-580|-devel}
ports / pkgs.
PR: 295519
Differential Revision: https://reviews.freebsd.org/D57206
graphics/py-pydeck: New port: Python bindings for deck.gl
pydeck is a set of Python bindings for deck.gl, optimized for data
science use cases.
pydeck provides a way to visualize large-scale datasets in Python,
either in Jupyter notebooks or as standalone HTML files.
https://deckgl.readthedocs.io/https://github.com/visgl/deck.gl/pull/10193
This port required by www/py-streamlit 1.57.0.
PR: 295418
Sponsored by: UNIS Labs
x11/nvidia-driver, x11/nvidia-kmod, x11/linux-nvidia-libs,
graphics/nvidia-drm*-kmod, x11/nvidia-settings, x11/nvidia-xconfig: Update to
595.58.03
Update to latest Production Branch of drivers 595.58.03:
https://www.nvidia.com/en-us/drivers/details/265873/
Linux counterparts for x11/linux-nvidia-libs:
https://www.nvidia.com/en-us/drivers/details/265870/
Also bump -devel variant to match with master ports, as Production
Branch [PB] of drivers have now higher version than New Feature
Branch [NFB] of drivers.
As this update drops a bunch of old (pre-Turing generation of
architectures) GPUs as done in -devel variants updated 20260103,
add -580 variant of legacy branch of driver.
Currently, this is exactly the same version before this update.
(580.142)
PR: 294038
Differential Revision: https://reviews.freebsd.org/D56077
graphics/mmdr: Add new port
Mmdr is a fast native Rust Mermaid diagram renderer. No browser required. Mmdr
renders diagrams 100–1400x faster than mermaid-cli by eliminating browser
overhead. With the built-in font cache (warm after first run), tiny diagrams
reach 500–900x (and --fastText exceeds 1600x).
https://github.com/1jehuang/mermaid-rs-renderer
graphics/egl-wayland2: New port
Introduce graphics/egl-wayland2, Wayland EGL External Platform library
Version 2 that works with NVIDIA drivers 560 and later.
This is a new implementation of the EGL External Platform Library
for Wayland (EGL_KHR_platform_wayland), using the NVIDIA driver's
new platform surface interface (Dma-buf-based), which simplifies
a lot of the library and improves window resizing.
This library can be installed alongside the previous egl-wayland
implementation (graphics/egl-wayland).
The new library has a higher selection priority by default,
so if both are present, then a 560 or later driver will select
the new library, and an older driver will fall back to the old
library.
PR: 293719
Reviewed by: ashafer (versioning)
Differential Revision: https://reviews.freebsd.org/D55798
graphics/lua-qrencode: [NEW PORT] libqrencode wrapper for lua
qrencode is a wrapper of libqrencode with libpng for lua
WWW: https://github.com/vincascm/qrencode
graphics/hdr_histogram: Add hdr_histogram 0.11.9
HdrHistogram_c is a C port of High Dynamic Range (HDR) Histogram. This port
contains a subset of the functionality supported by the Java implementation. The
current supported features are:
- Standard histogram with 64 bit counts (32/16 bit counts not supported)
- All iterator types (all values, recorded, percentiles, linear, logarithmic)
- Histogram serialisation (encoding version 1.2, decoding 1.0-1.2)
- Reader/writer phaser and interval recorder
graphics/py-vulkan: Python binding for Vulkan API
vulkan is a Python extension which supports the Vulkan API. It
leverages power of Vulkan with simplicity of Python. It's a complete
Vulkan wrapper, it keeps the original Vulkan API and try to limit
differences induced by Python.
devel/py-cffi is also needed as a BUILD_DEPENDS (truckman)
PR: 289669
misc/usd: Move to graphics/openusd
Rename to match upstream naming and moved to a more appropriate category
PR: 292497
Approved by: yuri (maintainer, timeout 1 month)
graphics/py-pycairo: rename and update to 1.29.0
Changelog: https://pycairo.readthedocs.io/en/latest/changelog.html#v1-29-0
Notably, experimental support for free-threaded Python (3.13t, soon 3.14t)
Port and PKGNAME renamed to match Python package metadata, and to
properly build with USE_PYTHON=pep517. Test suite also now exposed.
Remove PORTSCOUT since this does not follow the even-odd version
split.
graphics/papers: new port
Papers is a document viewer capable of displaying multiple and single
page document formats like PDF and DejaVu. For more general information
about Papers and how to get started, please visit
https://welcome.gnome.org/app/Papers
PR: 290390