add fluxengine

This commit is contained in:
Mario Fetka
2023-07-10 19:43:00 +02:00
parent 9079259fcc
commit 29aac420c4
17 changed files with 355 additions and 92 deletions

View File

@@ -0,0 +1,4 @@
DIST bottles-51.5.tar.gz 2168592 BLAKE2B 5aee4a6db1f066cfed10262e7af5ec8ec3416583d92095c69e5bc9c8f0c17f083c2eee44dedf79b2405f442e7433b58209cb1b73f47a95ed51aacb24115c54b1 SHA512 5d238d62053d2bdb6ba17cc0e2903b45c9c87f08b0d737264a4d1efa7e10ca9d77fc722333ae91ad4929a5b742a628692601dcc915d4553815d1361d1a0a110e
EBUILD bottles-51.5.ebuild 3276 BLAKE2B bf7b7980a3f0703f37b6fc46a6294b1347c1ee21204be488b7b9486f1b22d7f7dee17a0f0aa68326f7b07ca111d9642b20f1cf3e658cd1ddde6b093b2a83ccaa SHA512 288c48cd366874d5a246e931d67b33a076f388ac7db94a0ce37ebfb8636c29b23fc4a78eee9bc6a58fc4ad1aac36f00c8989fedb64a73b7364bd03b44e4dfd39
EBUILD bottles-9999.ebuild 3276 BLAKE2B bf7b7980a3f0703f37b6fc46a6294b1347c1ee21204be488b7b9486f1b22d7f7dee17a0f0aa68326f7b07ca111d9642b20f1cf3e658cd1ddde6b093b2a83ccaa SHA512 288c48cd366874d5a246e931d67b33a076f388ac7db94a0ce37ebfb8636c29b23fc4a78eee9bc6a58fc4ad1aac36f00c8989fedb64a73b7364bd03b44e4dfd39
MISC metadata.xml 361 BLAKE2B 2e06ad1de23d0a780764bb124bec58dd093ba76d4d4e006355b1edf74b7c7f5f6e272fb6b48f3e787b6afc4037b0477d02b8892dd489370fa5296e3be6ba4d96 SHA512 cd61671bca61241c488f88996f2585c177759e762da1181b70816fc886b54d0d52b02af5421ed8f10f5ce0abc32d2b7de106efd48c39e466104483d379ecc637

View File

@@ -0,0 +1,120 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# todo patool, icoextract
PYTHON_COMPAT=( python3_{9..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}"
# tests are quite pointless as they check static files and releases are tagged with them still failing
RESTRICT="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/pygobject[${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/pycurl[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/vkbasalt-cli[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
')
"
BDEPEND="
${PYTHON_DEPS}
dev-util/blueprint-compiler
dev-libs/glib:2
sys-devel/gettext
test? (
dev-libs/appstream
dev-libs/glib
dev-util/desktop-file-utils
)
"
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/"
}
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

@@ -0,0 +1,120 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# todo patool, icoextract
PYTHON_COMPAT=( python3_{9..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}"
# tests are quite pointless as they check static files and releases are tagged with them still failing
RESTRICT="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/pygobject[${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/pycurl[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
dev-python/vkbasalt-cli[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
')
"
BDEPEND="
${PYTHON_DEPS}
dev-util/blueprint-compiler
dev-libs/glib:2
sys-devel/gettext
test? (
dev-libs/appstream
dev-libs/glib
dev-util/desktop-file-utils
)
"
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/"
}
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

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>xgqt@protonmail.com</email>
<name>Maciej Barć</name>
</maintainer>
<upstream>
<remote-id type="github">bottlesdevs/Bottles</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1 @@
EBUILD fluxengine-9999.ebuild 2005 BLAKE2B 9f39387bcf1ceb532ec02db8326393e64a86aff450169f4785691b9108e0fcad127d3fd99e1aca3fb14d9a282a05f96b4e91072fd6a969a110c6b310378604b5 SHA512 38e26183d1c5954d6459a863d0a7a98a43e7f1ab67ab3a442f9d348a3371d2abb4d359bfbebc08693f431c44b0639bb997f1ae7070b3fa83faae9101c1b7a1d2

View File

@@ -0,0 +1,69 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
WX_GTK_VER="3.0-gtk3"
inherit toolchain-funcs wxwidgets xdg udev desktop
if [[ ${PV} = 9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/davidgiven/fluxengine.git"
else
#SRC_URI="http://debian.trikaliotis.net/opencbm/opencbm_${PV}-1.tar.gz"
#SRC_URI="http://www.trikaliotis.net/Download/opencbm-${PV}/opencbm-${PV}-source.tar.bz2"
SRC_URI="https://github.com/OpenCBM/OpenCBM/archive/v${PV//./_}.tar.gz -> opencbm-${PV}-source.tar.gz
https://github.com/OpenCBM/nibtools/archive/master.tar.gz -> nibtools-${PV}-source.tar.gz"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
fi
DESCRIPTION="The FluxEngine is a very cheap USB floppy disk interface capable of reading and writing exotic non-PC floppy disk formats"
HOMEPAGE="https://github.com/davidgiven/fluxengine"
LICENSE="MIT"
SLOT="0"
IUSE="doc"
DEPEND="dev-util/xxd
dev-lang/lua
dev-libs/protobuf
dev-libs/libfmt
dev-db/sqlite
sys-libs/zlib
sys-apps/systemd"
S="${WORKDIR}"/fluxengine-${PV//./_}
BUILD_TARGETS="all"
#src_prepare() {
# eapply_user
#}
src_compile() {
emake DESTDIR="${D}" CC="$(tc-getCC)" AR="$(tc-getAR)" CXX="$(tc-getCXX)" PREFIX="/usr"
#emake -j1 -f LINUX/Makefile CC="$(tc-getCC)" AR="$(tc-getAR)" LIBDIR="/usr/$(get_libdir)" all || die "make fail
#emake -j1 -f LINUX/Makefile CC="$(tc-getCC)" AR="$(tc-getAR)" LIBDIR="/usr/$(get_libdir)" opencbm || die "make fail"
}
src_install() {
#dodir lib/udev/rules.d
#dodir etc/opencbm.conf.d
#dodir usr/lib/opencbm
emake DESTDIR="${D}" PREFIX="/usr" install
#exeinto usr/lib/opencbm
#doexe opencbm/LINUX/plugin_helper_tools
#newexe debian/install_plugin.sh install_plugin
#insinto lib/udev/rules.d
#newins opencbm/sys/linux/45-opencbm-xa1541.rules 45-opencbm-xa1541.rules
#rm -rf "${D}"/var
newicon extras/icon.png ${PN}.png
make_desktop_entry ${PN}-gui "Flux Engine" ${PN}
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}