blob: f67f687b0adab61d0507a4fe1583038adbc48ec3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit 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"
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:=
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
)
src_prepare() {
default
rm -r dependencies/{httplib,hidapi,libusb,mdns,json,mbedtls}* \
|| die "Failed to remove unneded deps"
}
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
eqmake5 \
INCLUDEPATH+="${ESYSROOT}/usr/include/nlohmann" \
DEFINES+="OPENRGB_EXTRA_PLUGIN_DIRECTORY=\\\\\"\\\"${EPREFIX}/usr/$(get_libdir)/OpenRGB/plugins\\\\\"\\\"" \
LIBS+=-lhttplib
}
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
}
|