gui-apps/vicinae - 0.20.6 (jaredallard)

Search

Package Information

Description:
A focused launcher for your desktop — native, fast, extensible
Homepage:
https://github.com/vicinaehq/vicinae
License:
GPL-3

Ebuild Details

Version EAPI Keywords Slot
0.20.6 8 amd64 arm64 ~x86 0
View Raw Ebuild
# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8
inherit cmake desktop systemd unpacker

VERSION_GIT_HASH="4d775ae58fe0612d60cba99bea42fc8ba2835128"

DESCRIPTION="A focused launcher for your desktop — native, fast, extensible"
HOMEPAGE="https://github.com/vicinaehq/vicinae"
SRC_URI="https://github.com/vicinaehq/vicinae/archive/v${PV}.tar.gz -> ${P}.tar.gz"

LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 arm64 ~x86"

BDEPEND="
app-text/cmark-gfm
dev-build/cmake
dev-libs/qtkeychain
sci-libs/libqalculate
net-libs/nodejs[npm]
dev-qt/qtbase[X]
dev-qt/qtdeclarative
dev-libs/qtkeychain
dev-cpp/rapidfuzz-cpp
sys-libs/minizip-ng
kde-plasma/layer-shell-qt
kde-frameworks/syntax-highlighting
dev-qt/qtsvg
dev-build/ninja
>=sys-devel/gcc-15
sys-libs/zlib[minizip]
>=dev-cpp/glaze-6
"
DEPEND="
dev-libs/protobuf
"
RDEPEND="${DEPEND}"

# TODO(jaredallard): We distribute node_modules fine now, but sadly
# there is native code currently in the node_modules bundle, leading
# towards arch incompats, so we're temporarily disabling.
RESTRICT="network-sandbox"

IUSE="+typescript-extensions lto static"


src_configure() {
  # Attempt to use gcc version 15 if we're detected to be 14.
  if [[ "$("${CC:-gcc}" -dumpversion)" -lt "15" ]]; then
    elog "Forcing usage of GCC 15"
    export CC="/usr/bin/gcc-15"
    export CXX="/usr/bin/g++-15"
  fi

  ts_modules=("api" "extension-manager")
  for module in "${ts_modules[@]}"; do
    pushd "src/typescript/$module" >/dev/null || exit 1
    elog "Installing node_modules for typescript module $module"
    npm ci
    popd >/dev/null || exit 1
  done

  cmake -G Ninja -B build \
    "-DPREFER_STATIC_LIBS=$(usex "static" "ON" "OFF")" \
    "-DLTO=$(usex "lto" "ON" "OFF")" \
    "-DINSTALL_NODE_MODULES=OFF" \
    "-DVICINAE_GIT_TAG=v$PV" \
    "-DVICINAE_GIT_COMMIT_HASH=$VERSION_GIT_HASH" \
    "-DVICINAE_PROVENANCE=ebuild" \
    "-DUSE_SYSTEM_GLAZE=ON" \
    "-DCMAKE_BUILD_TYPE=Release" \
    "-DTYPESCRIPT_EXTENSIONS=$(usex "typescript-extensions" "ON" "OFF")" \
    "-DCMAKE_INSTALL_PREFIX=${D}/usr" \
    "-DINSTALL_BROWSER_NATIVE_HOST=OFF" \
    || die "couldn't configure source"
}

src_compile() {
  cmake --build build || die "cmake build failed"
}

src_install() {
  domenu extra/vicinae.desktop
  systemd_dounit extra/vicinae.service
  cmake --install build || die "cmake install failed"
}

USE Flags

typescript-extensions
Default: Enabled (+)
lto

Dependencies

DEPEND

dev-libs/protobuf

RDEPEND

dev-libs/protobuf

BDEPEND

app-text/cmark-gfm
dev-build/cmake
dev-libs/qtkeychain
sci-libs/libqalculate
net-libs/nodejs[npm]
dev-qt/qtbase[X]
dev-qt/qtdeclarative
dev-libs/qtkeychain
dev-cpp/rapidfuzz-cpp
sys-libs/minizip-ng
kde-plasma/layer-shell-qt
kde-frameworks/syntax-highlighting
dev-qt/qtsvg
dev-build/ninja
>=sys-devel/gcc-15
sys-libs/zlib[minizip]
>=dev-cpp/glaze-6

Manifest for 0.20.6

Type File Size Source URLs
DIST vicinae-0.20.6.tar.gz 15839215 bytes https://github.com/vicinaehq/vicinae/archive/v0.20.6.tar.gz