summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc/openrgb/openrgb-0.9.ebuild')
-rw-r--r--app-misc/openrgb/openrgb-0.9.ebuild93
1 files changed, 93 insertions, 0 deletions
diff --git a/app-misc/openrgb/openrgb-0.9.ebuild b/app-misc/openrgb/openrgb-0.9.ebuild
new file mode 100644
index 000000000000..9c15691b3b6b
--- /dev/null
+++ b/app-misc/openrgb/openrgb-0.9.ebuild
@@ -0,0 +1,93 @@
+# Copyright 2020-2023 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"
+ 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
+)
+
+CHECKREQS_DISK_BUILD="2G"
+
+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
+}