net-irc/halloy - 2026.4 (jaredallard)

Search

Package Information

Description:
IRC application written in Rust
Homepage:
https://github.com/squidowl/halloy
License:
GPL-3 Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 UoI-NCSA Unicode-3.0 Unlicense ZLIB

Ebuild Details

Version EAPI Keywords Slot
2026.4 8 0
View Raw Ebuild
# Copyright 2024-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

CRATES="
"

declare -A GIT_CRATES=(
	[cryoglyph]='https://github.com/iced-rs/cryoglyph;1d68895e9c4c9b73739f826e81c2e3012c155cce;cryoglyph-%commit%'
	[dpi]='https://github.com/iced-rs/winit;05b8ff17a06562f0a10bb46e6eaacbe2a95cb5ed;winit-%commit%/dpi'
	[iced]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%'
	[iced_beacon]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/beacon'
	[iced_core]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/core'
	[iced_debug]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/debug'
	[iced_devtools]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/devtools'
	[iced_futures]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/futures'
	[iced_graphics]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/graphics'
	[iced_program]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/program'
	[iced_renderer]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/renderer'
	[iced_runtime]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/runtime'
	[iced_tiny_skia]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/tiny_skia'
	[iced_wgpu]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/wgpu'
	[iced_widget]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/widget'
	[iced_winit]='https://github.com/squidowl/iced;af28bbe8de1dfafa2ebe7a3ac96ebcc87ae05538;iced-%commit%/winit'
	[winit]='https://github.com/iced-rs/winit;05b8ff17a06562f0a10bb46e6eaacbe2a95cb5ed;winit-%commit%'
)

RUST_MIN_VER="1.92.0"

inherit cargo desktop xdg

DESCRIPTION="IRC application written in Rust"
HOMEPAGE="https://github.com/squidowl/halloy"
LICENSE="GPL-3"
# Dependent crate licenses
LICENSE+="
	Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 UoI-NCSA
	Unicode-3.0 Unlicense ZLIB
"
SLOT="0"

IUSE="opengl +vulkan wayland +X"
REQUIRED_USE="
	|| ( opengl vulkan )
	vulkan? ( || ( wayland X ) )
"

if [[ ${PV} = *9999* ]] ; then
	inherit git-r3
	EGIT_REPO_URI="https://github.com/squidowl/halloy"
else
	KEYWORDS="~amd64"
	SRC_URI="
		https://github.com/squidowl/halloy/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
		https://gentoo.rgst.io/updater_artifacts/${CATEGORY}/${PN}/${PV}/crates.tar.xz -> crates-${PV}.tar.xz
		${CARGO_CRATE_URIS}
	"
fi

# https://github.com/iced-rs/iced/blob/master/DEPENDENCIES.md
BDEPEND="
	virtual/pkgconfig
"
DEPEND="
	dev-libs/expat
	dev-libs/openssl
	media-libs/alsa-lib
	media-libs/fontconfig
	media-libs/freetype[X?]
	opengl? ( media-libs/libglvnd[X?] )
	vulkan? ( media-libs/vulkan-loader[wayland?,X?] )
	wayland? ( dev-libs/wayland	)
	X? (
		x11-libs/libX11
		x11-libs/libXcursor
		x11-libs/libXi
		x11-libs/libXrandr
	)
"
RDEPEND="${DEPEND}"

QA_FLAGS_IGNORED="usr/bin/${PN}"

src_unpack() {
	if [[ ${PV} = *9999* ]] ; then
		git-r3_src_unpack
		cargo_live_src_unpack
	else
		cargo_src_unpack
	fi
}

src_configure() {
	if [[ ${PV} != *9999* ]] ; then
		# Fix cargo.eclass handling of patched dependencies
		# https://github.com/squidowl/halloy/blob/2026.2/Cargo.toml#L117-L120
		sed -i "s,'https://github.com/squidowl/iced',crates-io,g" \
			"${ECARGO_HOME}/config.toml" || die
	fi
	cargo_src_configure
}

src_compile() {
	export OPENSSL_NO_VENDOR=1
	export PKG_CONFIG_ALLOW_CROSS=1
	cargo_src_compile
}

src_install() {
	local size
	for size in 24 32 48 64 96 128 256 512; do
		doicon --size ${size} assets/linux/icons/hicolor/${size}x${size}/apps/org.squidowl.${PN}.png
	done

	domenu assets/linux/org.squidowl.${PN}.desktop

	cargo_src_install
}

USE Flags

vulkan
Default: Enabled (+)
X
Default: Enabled (+)

Dependencies

DEPEND

	dev-libs/expat
	dev-libs/openssl
	media-libs/alsa-lib
	media-libs/fontconfig
	media-libs/freetype[X?]
	opengl? ( media-libs/libglvnd[X?] )
	vulkan? ( media-libs/vulkan-loader[wayland?,X?] )
	wayland? ( dev-libs/wayland	)
	X? (
		x11-libs/libX11
		x11-libs/libXcursor
		x11-libs/libXi
		x11-libs/libXrandr
	)

RDEPEND

	dev-libs/expat
	dev-libs/openssl
	media-libs/alsa-lib
	media-libs/fontconfig
	media-libs/freetype[X?]
	opengl? ( media-libs/libglvnd[X?] )
	vulkan? ( media-libs/vulkan-loader[wayland?,X?] )
	wayland? ( dev-libs/wayland	)
	X? (
		x11-libs/libX11
		x11-libs/libXcursor
		x11-libs/libXi
		x11-libs/libXrandr
	)

Manifest for 2026.4

Type File Size Source URLs
DIST crates-2026.4.tar.xz 91511628 bytes https://gentoo.rgst.io/updater_artifacts/${CATEGORY}/halloy/2026.4/crates.tar.xz
DIST halloy-2026.4.tar.gz 9119790 bytes https://github.com/squidowl/halloy/archive/refs/tags/2026.4.tar.gz