games-util/vinegar - 1.9.4 (bentoo)

Search

Install

Install this version:

emerge -a =games-util/vinegar-1.9.4

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =games-util/vinegar-1.9.4

Or alternatively:

emerge --autounmask-write -a =games-util/vinegar-1.9.4

Package Information

Description:
Open-source, configurable, fast bootstrapper for running Roblox Studio on Linux
Homepage:
https://vinegarhq.org https://github.com/vinegarhq/vinegar
License:
GPL-3 BSD-2 Apache-2.0 BSD GPL-3 LGPL-2.1 MIT

Ebuild Details

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

EAPI=8

inherit go-module toolchain-funcs xdg

DESCRIPTION="Open-source, configurable, fast bootstrapper for running Roblox Studio on Linux"
HOMEPAGE="https://vinegarhq.org https://github.com/vinegarhq/vinegar"
# The release tarball ships vendor/, so no separate Go dependency tarball.
SRC_URI="https://github.com/vinegarhq/vinegar/releases/download/v${PV}/${PN}-v${PV}.tar.xz"
S="${WORKDIR}/${PN}-v${PV}"

LICENSE="GPL-3 BSD-2"
# Dependent (vendored, statically linked) Go module licenses
LICENSE+=" Apache-2.0 BSD GPL-3 LGPL-2.1 MIT"
SLOT="0"
# Roblox Studio only exists as a Windows x86_64 binary run under Wine, so an
# arm64 build would install a launcher with nothing it can launch.
KEYWORDS="~amd64"

# GTK4/libadwaita are not linked: puregotk dlopen()s them at runtime, so the
# compiler never sees them and only RDEPEND keeps them on the system.
# hwdata: without a local pci.ids, pcidb downloads it on every start.
RDEPEND="
	dev-libs/glib:2
	gui-libs/gtk:4
	>=gui-libs/libadwaita-1.6:1
	media-libs/graphene
	media-libs/vulkan-loader
	sys-apps/hwdata
	x11-libs/cairo
	x11-libs/gdk-pixbuf:2
	x11-libs/pango
"
DEPEND="dev-util/vulkan-headers"
BDEPEND="
	>=dev-lang/go-1.26
	dev-libs/glib:2
	sys-devel/gettext
	virtual/pkgconfig
"

src_compile() {
	# Upstream's rule for the Vulkan layer drops CXXFLAGS and LDFLAGS.
	$(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} -shared -fPIC \
		-Wl,-soname,libVkLayer_VINEGAR_VinegarLayer.so \
		$($(tc-getPKG_CONFIG) --cflags vulkan) \
		layer/vinegar_layer.cpp -o layer/libVkLayer_VINEGAR_VinegarLayer.so || die

	# Drop upstream's -s -w: Portage strips and splits debug info itself.
	emake GO_LDFLAGS="-X main.LocaleDir=${EPREFIX}/usr/share/locale" vinegar
}

src_test() {
	ego test ./...
}

src_install() {
	# The Vulkan layer manifest names its library without a path, so the
	# loader resolves it through the linker search path. Upstream's /usr/lib
	# is not on that path on a multilib amd64 system.
	emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" \
		LIBPREFIX="${EPREFIX}/usr/$(get_libdir)" \
		GO_LDFLAGS="-X main.LocaleDir=${EPREFIX}/usr/share/locale" \
		install
	einstalldocs
}

pkg_postinst() {
	xdg_pkg_postinst

	elog "By default Vinegar downloads its own Wine build (Kombucha) and DXVK"
	elog "into the user's data directory on first run. To use a system Wine"
	elog "instead, set 'wineroot' under [studio] in"
	elog "~/.config/vinegar/config.toml to an absolute path such as"
	elog "${EROOT}/usr/lib/wine-staging-<version>."
}

Inherited Eclasses

xdg

Dependencies

DEPEND

dev-util/vulkan-headers

RDEPEND

	dev-libs/glib:2
	gui-libs/gtk:4
	>=gui-libs/libadwaita-1.6:1
	media-libs/graphene
	media-libs/vulkan-loader
	sys-apps/hwdata
	x11-libs/cairo
	x11-libs/gdk-pixbuf:2
	x11-libs/pango

BDEPEND

	>=dev-lang/go-1.26
	dev-libs/glib:2
	sys-devel/gettext
	virtual/pkgconfig

Manifest for 1.9.4

Type File Size Source URLs
DIST vinegar-v1.9.4.tar.xz 4484776 bytes https://github.com/vinegarhq/vinegar/releases/download/v1.9.4/vinegar-v1.9.4.tar.xz