This commit is contained in:
Marc
2024-07-27 10:47:49 +02:00
commit 2607b92044
15 changed files with 1002 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
metadata/cache/
metadata/md5-cache/
profiles/use.local.desc
*.swp
*.swo
+1
View File
@@ -0,0 +1 @@
DIST ibus-1.5.30-rc3.tar.gz 4124323 BLAKE2B 7992cf0a036e9ffe472ea90b612d70f457fb581cdef79af040b4d85f76b17f16e02f159cea282cd563f985953adbb3995ef8b750e3aecf33ef597ae786c77a1f SHA512 935a55e1d637f0e3ac9c2be63ae6bf175a4f35954780815b647bbdb097e6187ac8715704b5ff1219a4cf961788fc6b0be8df0adfc9c658967085ac3f4c5526ba
+234
View File
@@ -0,0 +1,234 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit autotools bash-completion-r1 gnome2-utils python-r1 toolchain-funcs vala virtualx
DESCRIPTION="Intelligent Input Bus for Linux / Unix OS"
HOMEPAGE="https://github.com/ibus/ibus/wiki"
MY_PV=$(ver_rs 3 '-')
MY_PV_DERP="${MY_PV}-rc3"
GENTOO_VER=
[[ -n ${GENTOO_VER} ]] && \
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${MY_PV}/${PN}-${MY_PV_DERP}.tar.gz
${GENTOO_PATCHSET_URI}"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="X appindicator +emoji gtk2 +gtk3 +gtk4 +gui +introspection libnotify nls +python systemd test +unicode vala wayland"
RESTRICT="!test? ( test )"
REQUIRED_USE="
appindicator? ( gtk3 )
python? (
${PYTHON_REQUIRED_USE}
introspection
)
test? ( gtk3 )
vala? ( introspection )
X? ( gtk3 )
"
REQUIRED_USE+=" gtk3? ( wayland? ( introspection ) )" # bug 915359
DEPEND="
app-text/iso-codes
>=dev-libs/glib-2.65.0:2
gnome-base/dconf
gnome-base/librsvg:2
sys-apps/dbus[X?]
X? (
x11-libs/libX11
>=x11-libs/libXfixes-6.0.0
)
appindicator? ( dev-libs/libdbusmenu[gtk3?] )
gtk2? ( x11-libs/gtk+:2 )
gtk3? ( x11-libs/gtk+:3 )
gtk4? ( gui-libs/gtk:4 )
gui? (
x11-libs/libX11
x11-libs/libXi
)
introspection? ( dev-libs/gobject-introspection )
libnotify? ( x11-libs/libnotify )
nls? ( virtual/libintl )
python? (
${PYTHON_DEPS}
dev-python/pygobject:3[${PYTHON_USEDEP}]
)
wayland? (
dev-libs/wayland
x11-libs/libxkbcommon
)"
RDEPEND="${DEPEND}
python? (
gui? (
x11-libs/gtk+:3[introspection]
)
)"
BDEPEND="
$(vala_depend)
dev-libs/glib:2
dev-util/glib-utils
virtual/pkgconfig
x11-misc/xkeyboard-config
emoji? (
app-i18n/unicode-cldr
app-i18n/unicode-emoji
)
nls? ( sys-devel/gettext )
test? ( x11-apps/setxkbmap )
unicode? ( app-i18n/unicode-data )"
S=${WORKDIR}/${PN}-${MY_PV_DERP}
src_prepare() {
vala_setup --ignore-use
if ! has_version 'x11-libs/gtk+:3[wayland]'; then
touch ui/gtk3/panelbinding.vala \
ui/gtk3/panel.vala \
ui/gtk3/emojierapp.vala || die
fi
if ! use emoji; then
touch \
tools/main.vala \
ui/gtk3/panel.vala || die
fi
if ! use appindicator; then
touch ui/gtk3/panel.vala || die
fi
if [[ -n ${GENTOO_VER} ]]; then
einfo "Try to apply Gentoo specific patch set"
eapply "${WORKDIR}"/patches-gentoo/*.patch
fi
# for multiple Python implementations
sed -i "s/^\(PYGOBJECT_DIR =\).*/\1/" bindings/Makefile.am || die
# fix for parallel install
sed -i "/^if ENABLE_PYTHON2/,/^endif/d" bindings/pygobject/Makefile.am || die
# require user interaction
sed -i "/^TESTS_C += ibus-\(compose\|keypress\)/d" src/tests/Makefile.am || die
sed -i "/^bash_completion/d" tools/Makefile.am || die
default
eautoreconf
xdg_environment_reset
}
src_configure() {
local unicodedir="${EPREFIX}"/usr/share/unicode
local python_conf=()
if use python; then
python_setup
python_conf+=(
$(use_enable gui setup)
--with-python=${EPYTHON}
)
else
python_conf+=( --disable-setup )
fi
if tc-is-cross-compiler && { use emoji || use unicode; }; then
mkdir -p "${S}-build"
pushd "${S}-build" >/dev/null 2>&1 || die
ECONF_SOURCE=${S} econf_build --enable-static \
--disable-{dconf,gtk{2,3},python-library,shared,xim} \
ISOCODES_{CFLAG,LIB}S=-DSKIP \
$(use_enable emoji emoji-dict) \
$(use_enable unicode unicode-dict) \
$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data")
popd >/dev/null 2>&1 || die
fi
local myconf=(
$(use_enable X xim)
$(use_enable appindicator)
$(use_enable emoji emoji-dict)
$(use_with emoji unicode-emoji-dir "${unicodedir}"/emoji)
$(use_with emoji emoji-annotation-dir "${unicodedir}"/cldr/common/annotations)
$(use_enable gtk2)
$(use_enable gtk3)
$(use_enable gtk4)
$(use_enable gui ui)
$(use_enable introspection)
$(use_enable libnotify)
$(use_enable nls)
$(use_enable systemd systemd-services)
$(use_enable test tests)
$(use_enable unicode unicode-dict)
$(use_with unicode ucd-dir "${EPREFIX}/usr/share/unicode-data")
$(use_enable vala)
$(use_enable wayland)
"${python_conf[@]}"
)
econf "${myconf[@]}"
}
src_compile() {
if tc-is-cross-compiler && { use emoji || use unicode; }; then
emake -C "${S}-build/src" \
$(usex emoji emoji-parser '') \
$(usex unicode unicode-parser '')
emake -C src \
$(usex emoji emoji-parser '') \
$(usex unicode unicode-parser '')
cp \
$(usex emoji "${S}-build/src/emoji-parser" '') \
$(usex unicode "${S}-build/src/unicode-parser" '') \
src || die
fi
emake
}
src_test() {
unset DBUS_SESSION_BUS_ADDRESS
virtx dbus-run-session emake check
}
src_install() {
default
# Remove la files
find "${ED}" -name '*.la' -delete || die
# Remove stray python files generated by the build system
find "${ED}" -name '*.pyc' -exec rm -f {} \; || die
find "${ED}" -name '*.pyo' -exec rm -f {} \; || die
if use python; then
python_install() {
emake -C bindings/pygobject \
pyoverridesdir="$(${EPYTHON} -c 'import gi; print(gi._overridesdir)')" \
DESTDIR="${D}" \
install
python_optimize
}
python_foreach_impl python_install
fi
keepdir /usr/share/ibus/engine
newbashcomp tools/${PN}.bash ${PN}
insinto /etc/X11/xinit/xinput.d
newins xinput-${PN} ${PN}.conf
}
pkg_postinst() {
use gtk2 && gnome2_query_immodules_gtk2
use gtk3 && gnome2_query_immodules_gtk3
xdg_icon_cache_update
gnome2_schemas_update
dconf update
}
pkg_postrm() {
use gtk2 && gnome2_query_immodules_gtk2
use gtk3 && gnome2_query_immodules_gtk3
xdg_icon_cache_update
gnome2_schemas_update
}
+1
View File
@@ -0,0 +1 @@
DIST v0.2.0.tar.gz 4164563 BLAKE2B f0147af312baa45f3f0ee7c94309a328fdda6d4e2f17e95b5a65f0fd754d901ced611ecd5f5f791e795f50312a6d69046bf26451db013ad281286d17b339da28 SHA512 9440fa75751b1b52e52405122fd3b5506f714064a9cfe2e7d0756ba6f324dbdcf0978a018f8748ec5f4f85334626ea664889a3f920e841ff06dfb1d1fd2134c1
+77
View File
@@ -0,0 +1,77 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ECM_HANDBOOK="optional"
ECM_TEST="true"
KFMIN=6.3.0
PVCUT=$(ver_cut 1-3)
QTMIN=6.7.1
inherit ecm plasma.kde.org
DESCRIPTION="The Compositor Modules provide means to create Wayland and X11 compositors"
SRC_URI="https://github.com/winft/como/archive/refs/tags/v0.2.0.tar.gz"
LICENSE="GPL-2+"
SLOT="6"
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
IUSE="accessibility +caps gles2-only lock screencast +shortcuts systemd"
RESTRICT="test"
DEPEND="
>=dev-qt/qtbase-${QTMIN}:6=[accessibility=,gles2-only=,gui,libinput,opengl,widgets]
>=dev-qt/qtdeclarative-${QTMIN}:6
>=dev-qt/qtsensors-${QTMIN}:6
>=dev-qt/qtshadertools-${QTMIN}:6
>=dev-qt/qt5compat-${QTMIN}:6[qml]
>=kde-frameworks/kauth-${KFMIN}:6
>=kde-frameworks/kcolorscheme-${KFMIN}:6
>=kde-frameworks/kconfig-${KFMIN}:6[qml]
>=kde-frameworks/kcoreaddons-${KFMIN}:6
>=kde-frameworks/kcrash-${KFMIN}:6
>=kde-frameworks/kglobalaccel-${KFMIN}:6=[X(+)]
>=kde-frameworks/ki18n-${KFMIN}:6
>=kde-frameworks/kidletime-${KFMIN}:6=[wayland]
>=kde-frameworks/knotifications-${KFMIN}:6
>=kde-frameworks/kpackage-${KFMIN}:6
>=kde-frameworks/ksvg-${KFMIN}:6
>=kde-frameworks/kwidgetsaddons-${KFMIN}:6
>=kde-frameworks/kwindowsystem-${KFMIN}:6=[wayland,X]
>=kde-frameworks/kcmutils-${KFMIN}:6
>=kde-frameworks/knewstuff-${KFMIN}:6
>=kde-frameworks/kservice-${KFMIN}:6
>=kde-frameworks/kxmlgui-${KFMIN}:6
>=kde-frameworks/kdbusaddons-${KFMIN}:6
>=kde-frameworks/kirigami-${KFMIN}:6
>=dev-qt/qtwayland-${QTMIN}:6
>=kde-plasma/breeze-${PVCUT}:6
>=kde-plasma/kwayland-${PVCUT}:6
>=kde-plasma/plasma-activities-${PVCUT}:6
>=kde-plasma/kdecoration-${PVCUT}:6
>=kde-plasma/kscreenlocker-${PVCUT}:6
lock? ( >=kde-plasma/kscreenlocker-${PVCUT}:6 )
>=media-libs/mesa-21.3[egl(+),gbm(+),wayland,X]
>=media-libs/libepoxy-1.3
>=dev-libs/wayland-1.2.0
>=x11-libs/libxkbcommon-1.5.0
>=dev-libs/libinput-1.9
x11-libs/pixman
>=gui-libs/wlroots-0.18.0
x11-libs/libX11
>=x11-libs/libxcb-1.10
dev-libs/libei
media-libs/freetype
media-libs/fontconfig
>=dev-libs/wrapland-0.600.0
x11-base/xwayland[libei]
caps? ( sys-libs/libcap )
media-libs/libqaccessibilityclient:6
"
src_configure() {
ecm_src_configure
}
+1
View File
@@ -0,0 +1 @@
DIST v0.601.0.tar.gz 562166 BLAKE2B 97d762606b950127bb800254191d1ee8d22c98a28d991176dc9aa1f693b135aa1090190d5caa02c8fd246d859cdb5a5bc0ac47779b1831e532f7380d680405b6 SHA512 b70ded2ad40ca63791e24ad576c1d8c581801f44823a39b92b058a85f26403a5924ca11633174f08fe97c2df676132b3c13ae756dbae5dc624bb75bb90fee7d3
+30
View File
@@ -0,0 +1,30 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ECM_HANDBOOK="optional"
ECM_TEST="true"
KFMIN=6.3.0
PVCUT=$(ver_cut 1-3)
QTMIN=6.7.1
inherit ecm plasma.kde.org
DESCRIPTION=" Qt/C++ library wrapping libwayland"
SRC_URI="https://github.com/winft/wrapland/archive/refs/tags/v${PV}.tar.gz"
LICENSE="GPL-2+"
SLOT="6"
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
RESTRICT="test"
DEPEND="
>=dev-qt/qtbase-${QTMIN}:6
>=dev-libs/wayland-1.18.0
>=media-libs/mesa-21.3[egl(+),gbm(+),wayland,X]
dev-cpp/ms-gsl
"
src_configure() {
ecm_src_configure
}
+1
View File
@@ -0,0 +1 @@
DIST v6.1.0.tar.gz 2693171 BLAKE2B 1468f876d7c3e53c4d8d568b218e8f0fe1bada76b556167c7d56f2ccd1e22ee833bea36ec460ebf73f31c071015783a0b525a79bea081205fb5ca5ca317856a6 SHA512 6dee772c06daa113abe974e774d19d59afc2aea4f5d9833b8f1da8f887b66902bbb0f1cadea92b72eeac4ea3f2cbf791a8c1a7d8fd3cc07890ff8f15f69d6541
@@ -0,0 +1,145 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
ECM_HANDBOOK="optional"
ECM_TEST="true"
KFMIN=6.3.0
PVCUT=$(ver_cut 1-3)
QTMIN=6.7.1
inherit ecm plasma.kde.org
DESCRIPTION="Flexible, composited Window Manager for windowing systems on Linux"
SRC_URI="https://github.com/winft/theseus-ship/archive/refs/tags/v${PV}.tar.gz"
LICENSE="GPL-2+"
SLOT="6"
KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
IUSE="accessibility +caps gles2-only lock screencast +shortcuts systemd"
RESTRICT="test"
# qtbase slot op: GuiPrivate use in tabbox
COMMON_DEPEND="
>=dev-libs/como-0.2.0
dev-libs/libei
>=dev-libs/libinput-1.19:=
>=dev-libs/wayland-1.22.0
>=dev-qt/qt5compat-${QTMIN}:6[qml]
>=dev-qt/qtbase-${QTMIN}:6=[accessibility=,gles2-only=,gui,libinput,opengl,widgets]
>=dev-qt/qtdeclarative-${QTMIN}:6
>=dev-qt/qtsensors-${QTMIN}:6
>=dev-qt/qtshadertools-${QTMIN}:6
>=kde-frameworks/kauth-${KFMIN}:6
>=kde-frameworks/kcmutils-${KFMIN}:6
>=kde-frameworks/kcolorscheme-${KFMIN}:6
>=kde-frameworks/kconfig-${KFMIN}:6[qml]
>=kde-frameworks/kconfigwidgets-${KFMIN}:6
>=kde-frameworks/kcoreaddons-${KFMIN}:6
>=kde-frameworks/kcrash-${KFMIN}:6
>=kde-frameworks/kdbusaddons-${KFMIN}:6
>=kde-frameworks/kdeclarative-${KFMIN}:6
>=kde-frameworks/kglobalaccel-${KFMIN}:6=[X(+)]
>=kde-frameworks/kguiaddons-${KFMIN}:6[wayland]
>=kde-frameworks/ki18n-${KFMIN}:6
>=kde-frameworks/kidletime-${KFMIN}:6=[wayland]
>=kde-frameworks/knewstuff-${KFMIN}:6
>=kde-frameworks/knotifications-${KFMIN}:6
>=kde-frameworks/kpackage-${KFMIN}:6
>=kde-frameworks/kservice-${KFMIN}:6
>=kde-frameworks/ksvg-${KFMIN}:6
>=kde-frameworks/kwidgetsaddons-${KFMIN}:6
>=kde-frameworks/kwindowsystem-${KFMIN}:6=[wayland,X]
>=kde-frameworks/kxmlgui-${KFMIN}:6
>=kde-plasma/breeze-${PVCUT}:6
>=kde-plasma/kdecoration-${PVCUT}:6
>=kde-plasma/kwayland-${PVCUT}:6
>=kde-plasma/plasma-activities-${PVCUT}:6
media-libs/fontconfig
media-libs/freetype
media-libs/lcms:2
media-libs/libdisplay-info:=
media-libs/libepoxy
media-libs/libglvnd
>=media-libs/mesa-21.3[egl(+),gbm(+),wayland,X]
virtual/libudev:=
x11-libs/libX11
x11-libs/libXi
>=x11-libs/libdrm-2.4.116
>=x11-libs/libxcb-1.10:=
>=x11-libs/libxcvt-0.1.1
>=x11-libs/libxkbcommon-1.5.0
x11-libs/xcb-util-cursor
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-wm
accessibility? ( media-libs/libqaccessibilityclient:6 )
gles2-only? ( || (
>=media-libs/mesa-24.1.0_rc1[opengl]
<media-libs/mesa-24.1.0_rc1[gles2]
) )
lock? ( >=kde-plasma/kscreenlocker-${PVCUT}:6 )
screencast? ( >=media-video/pipewire-0.3:= )
shortcuts? ( >=kde-plasma/kglobalacceld-${PVCUT}:6 )
"
RDEPEND="${COMMON_DEPEND}
!kde-plasma/kdeplasma-addons:5
!kde-plasma/kwayland-server
>=dev-qt/qtmultimedia-${QTMIN}:6[qml]
|| (
dev-qt/qtmultimedia:6[ffmpeg]
(
dev-qt/qtmultimedia:6[gstreamer]
media-plugins/gst-plugins-soup:1.0
)
)
>=kde-frameworks/kirigami-${KFMIN}:6
>=kde-frameworks/kitemmodels-${KFMIN}:6
>=kde-plasma/libplasma-${PVCUT}:6[wayland(+)]
sys-apps/hwdata
x11-base/xwayland[libei]
"
DEPEND="${COMMON_DEPEND}
>=dev-libs/plasma-wayland-protocols-1.13.0
>=dev-libs/wayland-protocols-1.34
>=dev-qt/qttools-${QTMIN}:6[widgets]
>=dev-qt/qtbase-${QTMIN}:6[concurrent]
>=dev-qt/qtwayland-${QTMIN}:6
x11-base/xorg-proto
x11-libs/xcb-util-image
caps? ( sys-libs/libcap )
test? ( screencast? ( >=kde-plasma/kpipewire-${PVCUT}:6 ) )
"
BDEPEND="
>=dev-qt/qtwayland-${QTMIN}:6
dev-util/wayland-scanner
>=kde-frameworks/kcmutils-${KFMIN}:6
"
PDEPEND=">=kde-plasma/kde-cli-tools-${PVCUT}:*"
src_prepare() {
ecm_src_prepare
# TODO: try to get a build switch upstreamed
if ! use screencast; then
sed -e "s/^pkg_check_modules.*PipeWire/#&/" -i CMakeLists.txt || die
fi
# TODO: try to get a build switch upstreamed
if ! use systemd; then
sed -e "s/^pkg_check_modules.*libsystemd/#&/" -i CMakeLists.txt || die
fi
}
src_configure() {
local mycmakeargs=(
# TODO: KWIN_BUILD_X11?
# KWIN_BUILD_NOTIFICATIONS exists, but kdeclarative still hard-depends on it
$(cmake_use_find_package accessibility QAccessibilityClient6)
$(cmake_use_find_package caps Libcap)
-DKWIN_BUILD_SCREENLOCKER=$(usex lock)
-DKWIN_BUILD_GLOBALSHORTCUTS=$(usex shortcuts)
)
ecm_src_configure
}
+5
View File
@@ -0,0 +1,5 @@
DIST paste-1.0.14.tar.gz 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
DIST proc-macro2-1.0.78.tar.gz 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769
DIST quote-1.0.35.tar.gz 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
DIST syn-2.0.48.tar.gz 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
DIST unicode-ident-1.0.12.tar.gz 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+484
View File
@@ -0,0 +1,484 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=( {15..17} )
LLVM_OPTIONAL=1
PYTHON_COMPAT=( python3_{10..12} )
inherit llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain
MY_P="${P/_/-}"
DESCRIPTION="OpenGL-like graphic library for Linux"
HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/"
SYN_V=2.0.48
#SYN_V=2.0.39
PROC_MACRO2_V=1.0.78
#PROC_MACRO2_V=1.0.70
QUOTE_V=1.0.35
#QUOTE_V=1.0.33
UNICODE_IDENT_V=1.0.12
PASTE_V=1.0.14
NAK_URI="
https://crates.io/api/v1/crates/syn/${SYN_V}/download -> syn-${SYN_V}.tar.gz
https://crates.io/api/v1/crates/proc-macro2/${PROC_MACRO2_V}/download -> proc-macro2-${PROC_MACRO2_V}.tar.gz
https://crates.io/api/v1/crates/quote/${QUOTE_V}/download -> quote-${QUOTE_V}.tar.gz
https://crates.io/api/v1/crates/unicode-ident/${UNICODE_IDENT_V}/download -> unicode-ident-${UNICODE_IDENT_V}.tar.gz
https://crates.io/api/v1/crates/paste/${PASTE_V}/download -> paste-${PASTE_V}.tar.gz
"
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git"
SRC_URI="$NAK_URI"
inherit git-r3
else
SRC_URI="https://archive.mesa3d.org/${MY_P}.tar.xz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
fi
LICENSE="MIT SGI-B-2.0"
SLOT="0"
RESTRICT="!test? ( test )"
RADEON_CARDS="r300 r600 radeon radeonsi"
VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau panfrost v3d vc4 virgl vivante vmware"
for card in ${VIDEO_CARDS}; do
IUSE_VIDEO_CARDS+=" video_cards_${card}"
done
IUSE="${IUSE_VIDEO_CARDS}
cpu_flags_x86_sse2 d3d9 debug gles1 +gles2 +llvm
lm-sensors opencl +opengl osmesa +proprietary-codecs selinux
test unwind vaapi valgrind vdpau vulkan
vulkan-overlay wayland +X xa zink +zstd"
REQUIRED_USE="
d3d9? (
|| (
video_cards_intel
video_cards_r300
video_cards_r600
video_cards_radeonsi
video_cards_nouveau
video_cards_vmware
)
)
llvm? ( ${LLVM_REQUIRED_USE} )
vulkan-overlay? ( vulkan )
video_cards_lavapipe? ( llvm vulkan )
video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) )
video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) )
vdpau? ( X )
xa? ( X )
X? ( gles1? ( opengl ) gles2? ( opengl ) )
zink? ( vulkan || ( opengl gles1 gles2 ) )
"
LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119"
RDEPEND="
>=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}]
>=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}]
unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] )
llvm? (
$(llvm_gen_dep "
sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
opencl? (
dev-util/spirv-llvm-translator:\${LLVM_SLOT}
sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}]
)
")
video_cards_radeonsi? (
virtual/libelf:0=[${MULTILIB_USEDEP}]
)
video_cards_r600? (
virtual/libelf:0=[${MULTILIB_USEDEP}]
)
video_cards_radeon? (
virtual/libelf:0=[${MULTILIB_USEDEP}]
)
)
lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] )
opencl? (
>=virtual/opencl-3
dev-libs/libclc[spirv(-)]
>=dev-util/spirv-tools-1.3.231.0
virtual/libelf:0=
)
vaapi? (
>=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}]
)
vdpau? ( >=x11-libs/libvdpau-1.1:=[${MULTILIB_USEDEP}] )
selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] )
wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] )
${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}]
X? (
>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
>=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}]
>=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
>=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}]
>=x11-libs/libxcb-1.13:=[${MULTILIB_USEDEP}]
x11-libs/libXfixes[${MULTILIB_USEDEP}]
x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}]
)
zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] )
zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
"
for card in ${RADEON_CARDS}; do
RDEPEND="${RDEPEND}
video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] )
"
done
RDEPEND="${RDEPEND}
video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] )
"
DEPEND="${RDEPEND}
video_cards_d3d12? ( >=dev-util/directx-headers-1.611.0[${MULTILIB_USEDEP}] )
valgrind? ( dev-debug/valgrind )
wayland? ( >=dev-libs/wayland-protocols-1.30 )
X? (
x11-libs/libXrandr[${MULTILIB_USEDEP}]
x11-base/xorg-proto
)
"
BDEPEND="
${PYTHON_DEPS}
opencl? (
>=virtual/rust-1.62.0
>=dev-util/bindgen-0.58.0
>=dev-build/meson-1.3.1
)
app-alternatives/yacc
app-alternatives/lex
virtual/pkgconfig
$(python_gen_any_dep ">=dev-python/mako-0.8.0[\${PYTHON_USEDEP}]")
video_cards_intel? (
~dev-util/intel_clc-${PV}
dev-libs/libclc[spirv(-)]
$(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]")
)
vulkan? (
dev-util/glslang
video_cards_nouveau? (
>=dev-util/bindgen-0.58.0
>=dev-util/cbindgen-0.26.0
>=virtual/rust-1.73
)
)
wayland? ( dev-util/wayland-scanner )
"
S="${WORKDIR}/${MY_P}"
EGIT_CHECKOUT_DIR=${S}
QA_WX_LOAD="
x86? (
usr/lib/libglapi.so.0.0.0
usr/lib/libOSMesa.so.8.0.0
usr/lib/libGLX_mesa.so.0.0.0
)"
pkg_pretend() {
if use vulkan; then
if ! use video_cards_d3d12 &&
! use video_cards_freedreno &&
! use video_cards_intel &&
! use video_cards_radeonsi &&
! use video_cards_v3d &&
! use video_cards_nouveau; then
ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, nouveau, or v3d"
fi
fi
if use vaapi; then
if ! use video_cards_d3d12 &&
! use video_cards_r600 &&
! use video_cards_radeonsi &&
! use video_cards_nouveau; then
ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, r600, radeonsi, or nouveau"
fi
fi
if use vdpau; then
if ! use video_cards_d3d12 &&
! use video_cards_r300 &&
! use video_cards_r600 &&
! use video_cards_radeonsi &&
! use video_cards_nouveau; then
ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, r300, r600, radeonsi, or nouveau"
fi
fi
if use xa; then
if ! use video_cards_freedreno &&
! use video_cards_nouveau &&
! use video_cards_vmware; then
ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, nouveau, or vmware"
fi
fi
if ! use llvm; then
use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm"
fi
if use osmesa && ! use llvm; then
ewarn "OSMesa will be slow without enabling USE=llvm"
fi
}
python_check_deps() {
python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" || return 1
if use llvm && use vulkan && use video_cards_intel && use amd64; then
python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1
fi
}
pkg_setup() {
# warning message for bug 459306
if use llvm && has_version sys-devel/llvm[!debug=]; then
ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm"
ewarn "detected! This can cause problems. For details, see bug 459306."
fi
if use video_cards_intel ||
use video_cards_radeonsi; then
if kernel_is -ge 5 11 3; then
CONFIG_CHECK="~KCMP"
elif kernel_is -ge 5 11; then
CONFIG_CHECK="~CHECKPOINT_RESTORE"
elif kernel_is -ge 5 10 20; then
CONFIG_CHECK="~KCMP"
else
CONFIG_CHECK="~CHECKPOINT_RESTORE"
fi
linux-info_pkg_setup
fi
use llvm && llvm-r1_pkg_setup
python-any-r1_pkg_setup
}
src_unpack() {
if [[ ${PV} == 9999 ]]; then
git-r3_src_unpack
fi
if [[ -n ${A} ]]; then
einfo ${A}
unpack ${A}
fi
if use video_cards_nouveau; then
# TODO: What is the correct approach here? subprojects download pull too many packages
#cd ${P}
#meson subprojects download
#cd -
for pkg in syn-${SYN_V} quote-${QUOTE_V} unicode-ident-${UNICODE_IDENT_V} proc-macro2-${PROC_MACRO2_V} paste-${PASTE_V}; do
sub=mesa-${PV}/subprojects
mv ${pkg} ${sub}
cp ${sub}/packagefiles/${pkg%-*}/meson.build ${sub}/${pkg}
sed -i -e "s/directory = \S\+/directory = ${pkg}/" ${sub}/${pkg%-*}.wrap
done
fi
}
src_prepare() {
default
sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \
bin/symbols-check.py || die # bug #830728
}
multilib_src_configure() {
local emesonargs=()
local platforms
use X && platforms+="x11"
use wayland && platforms+=",wayland"
emesonargs+=(-Dplatforms=${platforms#,})
if use video_cards_intel ||
use video_cards_r300 ||
use video_cards_r600 ||
use video_cards_radeonsi ||
use video_cards_nouveau ||
use video_cards_vmware; then
emesonargs+=($(meson_use d3d9 gallium-nine))
else
emesonargs+=(-Dgallium-nine=false)
fi
if use video_cards_d3d12 ||
use video_cards_r600 ||
use video_cards_radeonsi ||
use video_cards_nouveau; then
emesonargs+=($(meson_feature vaapi gallium-va))
use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers )
else
emesonargs+=(-Dgallium-va=disabled)
fi
if use video_cards_d3d12; then
emesonargs+=($(meson_feature vaapi gallium-d3d12-video))
fi
if use video_cards_d3d12 ||
use video_cards_r300 ||
use video_cards_r600 ||
use video_cards_radeonsi ||
use video_cards_nouveau; then
emesonargs+=($(meson_feature vdpau gallium-vdpau))
else
emesonargs+=(-Dgallium-vdpau=disabled)
fi
if use video_cards_freedreno ||
use video_cards_nouveau ||
use video_cards_vmware; then
emesonargs+=($(meson_feature xa gallium-xa))
else
emesonargs+=(-Dgallium-xa=disabled)
fi
if use video_cards_freedreno ||
use video_cards_lima ||
use video_cards_panfrost ||
use video_cards_v3d ||
use video_cards_vc4 ||
use video_cards_vivante; then
gallium_enable -- kmsro
fi
gallium_enable -- swrast
gallium_enable video_cards_freedreno freedreno
gallium_enable video_cards_intel crocus i915 iris
gallium_enable video_cards_lima lima
gallium_enable video_cards_d3d12 d3d12
gallium_enable video_cards_nouveau nouveau
gallium_enable video_cards_panfrost panfrost
gallium_enable video_cards_v3d v3d
gallium_enable video_cards_vc4 vc4
gallium_enable video_cards_virgl virgl
gallium_enable video_cards_vivante etnaviv
gallium_enable video_cards_vmware svga
gallium_enable zink zink
gallium_enable video_cards_r300 r300
gallium_enable video_cards_r600 r600
gallium_enable video_cards_radeonsi radeonsi
if ! use video_cards_r300 && \
! use video_cards_r600; then
gallium_enable video_cards_radeon r300 r600
fi
if use llvm && use opencl; then
PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig"
# See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst
emesonargs+=(
$(meson_native_true gallium-rusticl)
-Drust_std=2021
)
fi
if use vulkan; then
vulkan_enable video_cards_lavapipe swrast
vulkan_enable video_cards_freedreno freedreno
vulkan_enable video_cards_intel intel intel_hasvk
vulkan_enable video_cards_d3d12 microsoft-experimental
vulkan_enable video_cards_radeonsi amd
vulkan_enable video_cards_v3d broadcom
if use video_cards_nouveau; then
vulkan_enable video_cards_nouveau nouveau
if ! multilib_is_native_abi; then
einfo "Applying Gentoo hack for nvk - 1/2"
echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini"
emesonargs+=(
--native-file "${T}"/rust_fix.ini
)
einfo "Applying Gentoo hack for nvk - 2/2"
fi
fi
fi
driver_list() {
local drivers="$(sort -u <<< "${1// /$'\n'}")"
echo "${drivers//$'\n'/,}"
}
local vulkan_layers
use vulkan && vulkan_layers+="device-select"
use vulkan-overlay && vulkan_layers+=",overlay"
emesonargs+=(-Dvulkan-layers=${vulkan_layers#,})
if use opengl || use gles1 || use gles2; then
emesonargs+=(
-Degl=enabled
-Dgbm=enabled
-Dglvnd=true
)
else
emesonargs+=(
-Degl=disabled
-Dgbm=disabled
-Dglvnd=false
)
fi
if use opengl && use X; then
emesonargs+=(-Dglx=dri)
else
emesonargs+=(-Dglx=disabled)
fi
emesonargs+=(
$(meson_use test build-tests)
-Dshared-glapi=enabled
-Ddri3=enabled
-Dexpat=enabled
$(meson_use opengl)
$(meson_feature gles1)
$(meson_feature gles2)
$(meson_feature llvm)
$(meson_feature lm-sensors lmsensors)
$(meson_use osmesa)
$(meson_use selinux)
$(meson_feature unwind libunwind)
$(meson_native_use_feature video_cards_intel intel-rt)
$(meson_feature zstd)
$(meson_use cpu_flags_x86_sse2 sse2)
-Dintel-clc=$(usex video_cards_intel system auto)
-Dvalgrind=$(usex valgrind auto disabled)
-Dvideo-codecs=$(usex proprietary-codecs "all" "all_free")
-Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}")
-Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}")
-Dbuildtype=$(usex debug debug plain)
-Db_ndebug=$(usex debug false true)
)
meson_src_configure
if ! multilib_is_native_abi && use video_cards_nouveau; then
einfo "Applying Gentoo hack for nvk - 2/2"
sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja
fi
}
multilib_src_test() {
meson_src_test -t 100
}
# $1 - VIDEO_CARDS flag (check skipped for "--")
# other args - names of DRI drivers to enable
gallium_enable() {
if [[ $1 == -- ]] || use $1; then
shift
GALLIUM_DRIVERS+=("$@")
fi
}
vulkan_enable() {
if [[ $1 == -- ]] || use $1; then
shift
VULKAN_DRIVERS+=("$@")
fi
}
+3
View File
@@ -0,0 +1,3 @@
masters = gentoo
thin-manifests = true
sign-manifests = false
+1
View File
@@ -0,0 +1 @@
8
+1
View File
@@ -0,0 +1 @@
marc-overlay
@@ -0,0 +1,13 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Virtual for Linux kernel sources"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="firmware"
RDEPEND="
firmware? ( sys-kernel/linux-firmware )
"