app-emulation/bottles: add 51.6

Signed-off-by: Alfred Wingate <parona@protonmail.com>
This commit is contained in:
Alfred Wingate 2023-06-01 10:05:52 +03:00
parent 2af3814762
commit 03e0572c90
No known key found for this signature in database
GPG Key ID: A12750536B5E7010
3 changed files with 138 additions and 9 deletions

View File

@ -1 +1,2 @@
DIST bottles-51.5.tar.gz 2168592 BLAKE2B 5aee4a6db1f066cfed10262e7af5ec8ec3416583d92095c69e5bc9c8f0c17f083c2eee44dedf79b2405f442e7433b58209cb1b73f47a95ed51aacb24115c54b1 SHA512 5d238d62053d2bdb6ba17cc0e2903b45c9c87f08b0d737264a4d1efa7e10ca9d77fc722333ae91ad4929a5b742a628692601dcc915d4553815d1361d1a0a110e DIST bottles-51.5.tar.gz 2168592 BLAKE2B 5aee4a6db1f066cfed10262e7af5ec8ec3416583d92095c69e5bc9c8f0c17f083c2eee44dedf79b2405f442e7433b58209cb1b73f47a95ed51aacb24115c54b1 SHA512 5d238d62053d2bdb6ba17cc0e2903b45c9c87f08b0d737264a4d1efa7e10ca9d77fc722333ae91ad4929a5b742a628692601dcc915d4553815d1361d1a0a110e
DIST bottles-51.6.tar.gz 2216016 BLAKE2B f023fea67bbc862148ac7f8d9db76cb48bfd291db8999d9a8d6415e2c5b895434bb097663b957e9714617635390eabeeb990e8981eded9f05892c36f97b2cd1c SHA512 0190744b3a99d791ffbd1b7a104565c2fd1f5aa110afe329897d4b29f0f5d669a6ec145468fea85e88b2f20bb2f7f075522760fd7ced94eea1afc0667780b288

View File

@ -0,0 +1,124 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
inherit gnome2-utils python-single-r1 meson xdg optfeature
DESCRIPTION="Run Windows software and games on Linux"
HOMEPAGE="https://usebottles.com/"
if [[ "${PV}" == "9999" ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/bottlesdevs/Bottles/"
else
SRC_URI="https://github.com/bottlesdevs/Bottles/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/Bottles-${PV}"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3"
SLOT="0"
IUSE="test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
# Very annoying to figure out the deps
# Script for getting python modules:
# https://gitlab.com/Parona/my-scripts/-/blob/master/scripts/python_deps.sh
# Runtime programs needed can be quickly found with:
# grep -r "shutil.which"
# But look at context to gauge if they are optional or not
#
# BDPEPEND dependencies can be thankfully gathered from the meson.build files
# DEPEND are instrospection files which can be found as such
# find . -name "*.blp" -exec grep -Eh "^using " {} + | sed 's/using \([A-Za-z]*\) \([0-9.]*\);/\1-\2.typelib/'
# And in similar vein find runtime required introspection files, similar deal with getting typelib file as above
# grep -r "gi.require_version
# vkbasalt could be optional but vkbasalt-cli isnt
# It could work without wine but(!) it still requires all the runtime dependencies for wine
# so easier to depend on wine to get it for free
DEPEND="
gui-libs/gtk:4[introspection]
gui-libs/libadwaita[introspection]
"
RDEPEND="
${PYTHON_DEPS}
${DEPEND}
app-arch/cabextract
app-arch/p7zip
gui-libs/gtksourceview[introspection]
media-gfx/imagemagick
>=sys-libs/glibc-2.32
virtual/wine
x11-apps/xdpyinfo
$(python_gen_cond_dep '
app-arch/patool[${PYTHON_USEDEP}]
dev-python/FVS[${PYTHON_USEDEP}]
dev-python/icoextract[${PYTHON_USEDEP}]
dev-python/markdown[${PYTHON_USEDEP}]
dev-python/orjson[${PYTHON_USEDEP}]
dev-python/pathvalidate[${PYTHON_USEDEP}]
dev-python/pefile[${PYTHON_USEDEP}]
dev-python/pycairo[${PYTHON_USEDEP}]
dev-python/pycurl[${PYTHON_USEDEP}]
dev-python/pygobject[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/vkbasalt-cli[${PYTHON_USEDEP}]
dev-python/wheel[${PYTHON_USEDEP}]
')
"
BDEPEND="
${PYTHON_DEPS}
dev-util/blueprint-compiler
dev-libs/glib:2
sys-devel/gettext
test? (
$(python_gen_cond_dep '
dev-python/pytest[${PYTHON_USEDEP}]
')
)
"
pkg_setup() {
python-single-r1_pkg_setup
}
src_configure() {
if [[ "${PV}" == "9999" ]]; then
local emesonargs=(
-Ddevel=true
)
fi
meson_src_configure
}
src_install() {
meson_src_install
python_optimize "${D}/usr/share/bottles/"
python_fix_shebang "${D}/usr/"
}
src_test() {
epytest
}
pkg_preinst() {
xdg_pkg_preinst
gnome2_schemas_savelist
}
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
optfeature "gamemode support" games-util/gamemode
optfeature "gamescope support" games-util/gamescope
optfeature "vmtouch support" dev-utils/vmtouch
#optfeature "MangoHub support" games-util/mangohub
#optfeature "obs-vkcapture support" media-video/obs-vkcapture
}

View File

@ -3,8 +3,7 @@
EAPI=8 EAPI=8
# todo patool, icoextract PYTHON_COMPAT=( python3_{10..11} )
PYTHON_COMPAT=( python3_{9..10} )
inherit gnome2-utils python-single-r1 meson xdg optfeature inherit gnome2-utils python-single-r1 meson xdg optfeature
DESCRIPTION="Run Windows software and games on Linux" DESCRIPTION="Run Windows software and games on Linux"
@ -24,8 +23,7 @@ SLOT="0"
IUSE="test" IUSE="test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}" REQUIRED_USE="${PYTHON_REQUIRED_USE}"
# tests are quite pointless as they check static files and releases are tagged with them still failing RESTRICT="!test? ( test )"
RESTRICT="test"
# Very annoying to figure out the deps # Very annoying to figure out the deps
# Script for getting python modules: # Script for getting python modules:
@ -61,16 +59,18 @@ RDEPEND="
$(python_gen_cond_dep ' $(python_gen_cond_dep '
app-arch/patool[${PYTHON_USEDEP}] app-arch/patool[${PYTHON_USEDEP}]
dev-python/FVS[${PYTHON_USEDEP}] dev-python/FVS[${PYTHON_USEDEP}]
dev-python/pygobject[${PYTHON_USEDEP}]
dev-python/icoextract[${PYTHON_USEDEP}] dev-python/icoextract[${PYTHON_USEDEP}]
dev-python/markdown[${PYTHON_USEDEP}] dev-python/markdown[${PYTHON_USEDEP}]
dev-python/orjson[${PYTHON_USEDEP}] dev-python/orjson[${PYTHON_USEDEP}]
dev-python/pathvalidate[${PYTHON_USEDEP}] dev-python/pathvalidate[${PYTHON_USEDEP}]
dev-python/pefile[${PYTHON_USEDEP}] dev-python/pefile[${PYTHON_USEDEP}]
dev-python/pycairo[${PYTHON_USEDEP}]
dev-python/pycurl[${PYTHON_USEDEP}] dev-python/pycurl[${PYTHON_USEDEP}]
dev-python/pygobject[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}]
dev-python/vkbasalt-cli[${PYTHON_USEDEP}] dev-python/vkbasalt-cli[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}] dev-python/wheel[${PYTHON_USEDEP}]
') ')
" "
BDEPEND=" BDEPEND="
@ -79,9 +79,9 @@ BDEPEND="
dev-libs/glib:2 dev-libs/glib:2
sys-devel/gettext sys-devel/gettext
test? ( test? (
dev-libs/appstream $(python_gen_cond_dep '
dev-libs/glib dev-python/pytest[${PYTHON_USEDEP}]
dev-util/desktop-file-utils ')
) )
" "
@ -104,6 +104,10 @@ src_install() {
python_fix_shebang "${D}/usr/" python_fix_shebang "${D}/usr/"
} }
src_test() {
epytest
}
pkg_preinst() { pkg_preinst() {
xdg_pkg_preinst xdg_pkg_preinst
gnome2_schemas_savelist gnome2_schemas_savelist