mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
app-misc/openrgb: fix ODR violations
Closes: https://bugs.gentoo.org/945326 Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org> Signed-off-by: Maciej Barć <xgqt@gentoo.org>
This commit is contained in:
committed by
Maciej Barć
parent
3aea924fa6
commit
dccb01aefb
@@ -1 +1,2 @@
|
||||
DIST OpenRGB-0.9-odr.patch 90600 BLAKE2B 1cb0aaab997da90b5cf6fbf1e971cef6848d4372ba021d27efed070ff2c398074d7b79623a1669995bbdaaacae1c5a9ff09344ef0cab7098e9354f95d005b856 SHA512 5f2a5194419d14b97dc2e8ca47a2b9914c01148cfb24d61266a8a9615f6d09509906d7e69d8264ddbde71474955f789925b400f29682d12779c2a3d38a4bd6eb
|
||||
DIST OpenRGB-release_0.9.tar.bz2 28689813 BLAKE2B 9fcf08d5e4d07ffc0f7867516f09044e18ce488bcdd99c8b44e0afe291b8a21a7ba92d6e7fd683ef22462a262004a992621efb59a5df6ed7551f4e9f75843241 SHA512 fb1bdbc7bcbd3bac888be313cfb6403a13d39de659ac6993858f9c1b17ad40e9c4a7d4c7c90682181841db1659a0ee298363c442a7120d43347aaf4485e7dccf
|
||||
|
||||
107
app-misc/openrgb/openrgb-0.9-r2.ebuild
Normal file
107
app-misc/openrgb/openrgb-0.9-r2.ebuild
Normal file
@@ -0,0 +1,107 @@
|
||||
# Copyright 2020-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit check-reqs flag-o-matic qmake-utils udev xdg-utils
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI=${EGIT_REPO_URI:-"https://gitlab.com/CalcProgrammer1/OpenRGB"}
|
||||
else
|
||||
SRC_URI="https://gitlab.com/CalcProgrammer1/OpenRGB/-/archive/release_${PV}/OpenRGB-release_${PV}.tar.bz2
|
||||
https://files.asokolov.org/gentoo/OpenRGB-0.9-odr.patch"
|
||||
S="${WORKDIR}/OpenRGB-release_${PV}"
|
||||
KEYWORDS="~amd64 ~loong ~x86"
|
||||
PATCHES=( "${FILESDIR}"/OpenRGB-0.9-build-system.patch )
|
||||
fi
|
||||
|
||||
DESCRIPTION="Open source RGB lighting control"
|
||||
HOMEPAGE="https://openrgb.org https://gitlab.com/CalcProgrammer1/OpenRGB/"
|
||||
LICENSE="GPL-2"
|
||||
# subslot is OPENRGB_PLUGIN_API_VERSION from
|
||||
# https://gitlab.com/CalcProgrammer1/OpenRGB/-/blob/master/OpenRGBPluginInterface.h
|
||||
SLOT="0/3"
|
||||
|
||||
RDEPEND="
|
||||
dev-cpp/cpp-httplib:=
|
||||
dev-libs/hidapi
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtwidgets:5
|
||||
net-libs/mbedtls:0=
|
||||
virtual/libusb:1
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
dev-cpp/nlohmann_json
|
||||
dev-libs/mdns
|
||||
"
|
||||
BDEPEND="
|
||||
dev-qt/linguist-tools:5
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
PATCHES+=(
|
||||
"${FILESDIR}"/OpenRGB-0.7-r1-udev.patch
|
||||
"${FILESDIR}"/OpenRGB-0.9-udev-check.patch
|
||||
"${DISTDIR}"/OpenRGB-0.9-odr.patch
|
||||
)
|
||||
|
||||
CHECKREQS_DISK_BUILD="2G"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
rm -r dependencies/{httplib,hidapi,libusb,mdns,json,mbedtls}* \
|
||||
|| die "Failed to remove unneded deps"
|
||||
|
||||
rm dependencies/hueplusplus-1.0.0/include/json/json.hpp || die
|
||||
echo "#include <nlohmann/json.hpp>" > dependencies/hueplusplus-1.0.0/include/json/json.hpp || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Some plugins require symbols defined in the main binary.
|
||||
# The upstream build system of plugins bundles OpenRGB as a submodule
|
||||
# instead, and compiles the .cpp file again.
|
||||
append-ldflags -Wl,--export-dynamic
|
||||
|
||||
# > warning: ‘-pipe’ ignored because ‘-save-temps’ specified
|
||||
filter-flags -pipe
|
||||
|
||||
# cpp-httplib >=0.16.0 changed the library name from "httplib" to "cpp-httplib".
|
||||
# See bug: https://bugs.gentoo.org/934576
|
||||
local -a libs=()
|
||||
if has_version "<dev-cpp/cpp-httplib-0.16.0" ; then
|
||||
libs+=( -lhttplib )
|
||||
else
|
||||
libs+=( -lcpp-httplib )
|
||||
fi
|
||||
|
||||
eqmake5 \
|
||||
INCLUDEPATH+="${ESYSROOT}/usr/include/nlohmann" \
|
||||
DEFINES+="OPENRGB_EXTRA_PLUGIN_DIRECTORY=\\\\\"\\\"${EPREFIX}/usr/$(get_libdir)/OpenRGB/plugins\\\\\"\\\"" \
|
||||
LIBS+="${libs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${ED}" install
|
||||
|
||||
dodoc README.md OpenRGB.patch
|
||||
|
||||
rm -r "${ED}"/usr/lib/udev/ || die
|
||||
udev_dorules 60-openrgb.rules
|
||||
|
||||
# This is for plugins. Upstream doesn't install any headers at all.
|
||||
insinto /usr/include/OpenRGB
|
||||
find . -name '*.h' -exec cp --parents '{}' "${ED}/usr/include/OpenRGB/" ';' || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_icon_cache_update
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_icon_cache_update
|
||||
udev_reload
|
||||
}
|
||||
Reference in New Issue
Block a user