Install this version:
emerge -a =dev-db/valentina-studio-bin-17.5.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-db/valentina-studio-bin-17.5.0
Or alternatively:
emerge --autounmask-write -a =dev-db/valentina-studio-bin-17.5.0
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 17.5.0 | 8 | -* ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop xdg
# Upstream versions the release directory by major.minor (e.g. "17.5") and
# the .deb basename by major only (e.g. "vstudio_x64_17_lin.deb"); the
# actual binary's internal version is the full three-component PV.
MY_PV_DIR="${PV%.*}"
MY_PV_MAJOR="${PV%%.*}"
DESCRIPTION="GUI client for DuckDB, ValentinaDB, MongoDB, MySQL, PostgreSQL, MSSQL & SQLite"
HOMEPAGE="
https://www.valentina-db.com/en/valentina-studio-overview
https://www.valentina-db.com/en/studio/download
"
SRC_URI="
amd64? (
https://valentina-db.com/download/prev_releases/${MY_PV_DIR}/lin_64/vstudio_x64_${MY_PV_MAJOR}_lin.deb
-> ${P}_amd64.deb
)
"
S="${WORKDIR}"
LICENSE="Valentina-EULA"
SLOT="0"
KEYWORDS="-* ~amd64"
# Proprietary binary blob: cannot redistribute, ships prebuilt ELFs (Qt6,
# ICU, Valentina runtime, DB drivers) that must NOT be stripped.
RESTRICT="bindist mirror strip"
# Runtime deps. The bundle ships its own Qt6, ICU, OpenSSL and Valentina
# runtime under /opt/VStudio/{qt,vcomponents,lib}, so only the libraries
# those prebuilt ELFs actually link against on the host are listed here.
# Derived from ldd on vstudio, libQt6XcbQpa.so.6, libQt6WaylandClient.so.6
# and the bundled driver/plugin .so files.
RDEPEND="
app-arch/bzip2
app-arch/zstd
dev-libs/double-conversion
dev-libs/expat
dev-libs/glib:2
dev-libs/libb2
dev-libs/libffi
dev-libs/libpcre2
dev-libs/wayland
media-gfx/graphite2
media-libs/fontconfig
media-libs/freetype
media-libs/harfbuzz
media-libs/libglvnd
media-libs/libpng:0/16
media-libs/md4c
sys-apps/dbus
sys-apps/systemd
sys-apps/util-linux
virtual/zlib
x11-libs/libX11
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libxcb
x11-libs/libxkbcommon
x11-libs/xcb-util
x11-libs/xcb-util-cursor
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
"
BDEPEND="
app-arch/xz-utils
"
# Skip QA on the prebuilt blob tree.
QA_PREBUILT="opt/VStudio/*"
QA_FLAGS_IGNORED="opt/VStudio/.*"
src_unpack() {
local deb="${DISTDIR}/${P}_amd64.deb"
mkdir -p "${S}" || die
cd "${S}" || die
ar x "${deb}" || die "ar x failed on ${deb}"
unpack ./data.tar.xz
}
src_install() {
# Application tree: /opt/VStudio/...
# cp -a preserves the executable bits on the bundled ELFs (the main
# vstudio binary, Qt6 libs, ICU, OpenSSL, driver/plugin .so files,
# pg_dump, pg_restore).
insinto /opt
# `insinto` + `doins` would clobber file modes; copy by hand instead.
mkdir -p "${ED}/opt" || die
cp -a "${S}/opt/VStudio" "${ED}/opt/" || die "Failed to install /opt/VStudio tree"
# Convenience symlinks on PATH. We ship two basenames so that
# .desktop-aware launchers (which read Name=) and dmenu/wmenu-run
# style PATH launchers (which only see basenames) both surface the
# package under a name the user would actually type. Qt resolves the
# symlink before locating qt.conf, so the bundled Plugins path keeps
# working regardless of which symlink is invoked.
dosym ../../opt/VStudio/vstudio /usr/bin/vstudio
dosym ../../opt/VStudio/vstudio /usr/bin/valentina-studio
# Desktop file. Upstream's Icon= uses an absolute path under /opt and
# its Name/GenericName are both the cryptic "VStudio", so launcher
# search by "valentina" or "studio" finds nothing. Rewrite to a
# logical icon name (so themes apply) and to the product's real name
# (so launchers surface it), then install the upstream 128x128 PNG
# into hicolor.
local desktop="${S}/usr/share/applications/vstudio.desktop"
[[ -f "${desktop}" ]] || die "expected desktop file missing: ${desktop}"
sed -i \
-e 's|^Icon=/opt/VStudio/Resources/vstudio\.png$|Icon=vstudio|' \
-e 's|^Name=VStudio$|Name=Valentina Studio|' \
-e 's|^GenericName\(\[[^]]*\]\)\?=VStudio$|GenericName\1=Database Manager|' \
"${desktop}" \
|| die "sed on desktop file failed"
domenu "${desktop}"
newicon -s 128 "${S}/opt/VStudio/Resources/vstudio.png" vstudio.png
}
pkg_postinst() {
xdg_pkg_postinst
elog ""
elog "Valentina Studio Free Edition requires a no-cost serial number"
elog "from Paradigma Software. On first launch the GUI shows a"
elog "registration dialog; alternatively, order one in advance at:"
elog " https://valentina-db.com/en/store/vstudio"
elog ""
}
app-arch/bzip2 app-arch/zstd dev-libs/double-conversion dev-libs/expat dev-libs/glib:2 dev-libs/libb2 dev-libs/libffi dev-libs/libpcre2 dev-libs/wayland media-gfx/graphite2 media-libs/fontconfig media-libs/freetype media-libs/harfbuzz media-libs/libglvnd media-libs/libpng:0/16 media-libs/md4c sys-apps/dbus sys-apps/systemd sys-apps/util-linux virtual/zlib x11-libs/libX11 x11-libs/libXau x11-libs/libXdmcp x11-libs/libxcb x11-libs/libxkbcommon x11-libs/xcb-util x11-libs/xcb-util-cursor x11-libs/xcb-util-image x11-libs/xcb-util-keysyms x11-libs/xcb-util-renderutil x11-libs/xcb-util-wm
app-arch/xz-utils
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | valentina-studio-bin-17.5.0_amd64.deb | 97634514 bytes | https://valentina-db.com/download/prev_releases/17.5/lin_64/vstudio_x64_17_lin.deb |