diff --git a/acct-group/openlinkhub/Manifest b/acct-group/openlinkhub/Manifest new file mode 100644 index 0000000..81fd5eb --- /dev/null +++ b/acct-group/openlinkhub/Manifest @@ -0,0 +1 @@ +EBUILD openlinkhub-0.ebuild 168 BLAKE2B 7fd3a0164b5dad25c097fb37f1135e2675d3b095fe0a20608b0a3d4d85184ab11f4e514db1b2d44e5875665bdf95f9cc45cb386c5411c651c0cd187802e63a5a SHA512 d3457ecb9418180be83866c6a413ce755f7f03600d78603f633e5d5ee9bfef9e6befaf9c514d6ff3a39bd6027d1e283342c591a885635f91e3ba065870ee8ea9 diff --git a/acct-group/openlinkhub/openlinkhub-0.ebuild b/acct-group/openlinkhub/openlinkhub-0.ebuild new file mode 100644 index 0000000..689818b --- /dev/null +++ b/acct-group/openlinkhub/openlinkhub-0.ebuild @@ -0,0 +1,8 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit acct-group + +DESCRIPTION="OpenLinkHub program group" diff --git a/acct-user/openlinkhub/Manifest b/acct-user/openlinkhub/Manifest new file mode 100644 index 0000000..62215ef --- /dev/null +++ b/acct-user/openlinkhub/Manifest @@ -0,0 +1 @@ +EBUILD openlinkhub-0.ebuild 218 BLAKE2B 1854b0130d226e714282c63508684fc094576d4e7fd6d59b278b8a918cffb1e598399ccd2540d527d6bd4469140c2d154042b69430dd92ffc00cf457c555e3d3 SHA512 9e36e66692999191ed42692ab8f8f38fe9557acb3a450a3e53a945eb915563953889463c895dfa31ded0edde18520493e6b289a37879be3262570758bc669088 diff --git a/acct-user/openlinkhub/openlinkhub-0.ebuild b/acct-user/openlinkhub/openlinkhub-0.ebuild new file mode 100644 index 0000000..22dd09c --- /dev/null +++ b/acct-user/openlinkhub/openlinkhub-0.ebuild @@ -0,0 +1,10 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit acct-user + +DESCRIPTION="OpenLinkHub program user" +ACCT_USER_GROUPS=( openlinkhub ) +acct-user_add_deps diff --git a/distfiles/.layout.conf.distfiles.gentoo.org b/distfiles/.layout.conf.distfiles.gentoo.org new file mode 100644 index 0000000..7739de6 --- /dev/null +++ b/distfiles/.layout.conf.distfiles.gentoo.org @@ -0,0 +1,2 @@ +[structure] +0=filename-hash BLAKE2B 8 diff --git a/distfiles/.mirror-cache.json b/distfiles/.mirror-cache.json new file mode 100644 index 0000000..4337a7a --- /dev/null +++ b/distfiles/.mirror-cache.json @@ -0,0 +1 @@ +{"http://distfiles.gentoo.org": [1781804502.2593014, [["filename-hash", "BLAKE2B", "8"]]]} \ No newline at end of file diff --git a/distfiles/openlinkhub-0.8.8.tar.gz b/distfiles/openlinkhub-0.8.8.tar.gz new file mode 100644 index 0000000..3626910 Binary files /dev/null and b/distfiles/openlinkhub-0.8.8.tar.gz differ diff --git a/sys-apps/openlinkhub/Manifest b/sys-apps/openlinkhub/Manifest new file mode 100644 index 0000000..e1c7dce --- /dev/null +++ b/sys-apps/openlinkhub/Manifest @@ -0,0 +1,7 @@ +AUX openlinkhub.confd 176 BLAKE2B 5301872630e14a77b477f83af977863491c2c503690d35bb45fa8d32265c27db7fc9583b61ba8bfa7a2d12b02e18e82842f65c4e326a4ad4d04720ce98320b02 SHA512 632ffc6866fa5e4082b8d6d6229b923dd5a5e01ecb846a6a18c8631ac6b0815b285c7f2290353f2194c21babd5cfd53e22bb61f9daad8330b33e8c18c240366f +AUX openlinkhub.initd 743 BLAKE2B efdc6f9b2c962b386eb776de16ece53d34ccca6360d4e1c7f01ae51da4b1c5f94c26229b3141f9e60f8a991413cb575f9d805c886623c87264fa9f1e64a4ccc7 SHA512 e4d2c8830fc37ddf66b4a1e11a4a40485e589714e7bc312fd5191bd79f03a1bebdec49e8bb2bb0cf575c6e2e918f64f1c27d3c14c40bb202e5c105cc124323f0 +AUX openlinkhub.service 311 BLAKE2B b6366807f0b5268b78388243c91ade1622456eebeea05f00911d3f08838fe6a5f9a2f306c6b0100849e48c51a208ca899ea4ead2cd8b0c58ad0c283ef96961ee SHA512 f6f4077f7970cff54167a613657fdc16a942732c27f60a817dc72d9584774f85e63f43713b2c9eaa9636460a98658ef1f7343c6d593b84ce7755728cf12786ba +AUX openlinkhub.tmpfiles 54 BLAKE2B b9d4baff6c69fc52affed923cc4fc09bd11a5b22bc9954c293f80006f253494c08347693d4ae4260c8b81759e9bc663bf3bdf1e3740af1c706b60b82f8c82ea5 SHA512 32f052480210de470fbe056b85b4ae6054e39fa2c20ca54c737623eb4b3883b5529c8b92f2554272b2ef6baeae15c549f126d958a3bff49bbaa1e463e3a7125f +DIST openlinkhub-0.8.8.tar.gz 5230346 BLAKE2B 0d06c458068c3f06071b799ec74ebfe4ad08e5602fdab9554bcf8b4358d4bab404e3db739d3b75e0c517a3632d3956532660bdfe94d679cb10406e9f9cc9ca36 SHA512 a42b35f8ada4d64a5a9df93944ed19a45b9a2a0ce6b4d17f901712e0dd0f79e00eaa9cd42bf288ba46cf49344ab1fd4bcc33413613ab373e921e2d2abe535b26 +EBUILD openlinkhub-0.8.8.ebuild 1204 BLAKE2B 74793a0e890f50eb38ce29f88da7bd2e0061eaf0ccd9597ff6264fdc205fb0c87d8abe816251f86f1d956039e28d6fb4f775c6e40cf24deaf7d518a4eb43e641 SHA512 65999c917f9e36b6d8802237ccae0499196bf8ba08de1d5beb6cd745ee110b345779079b2c6cc2f213f4efd8ff55b9debfb41117e82f32571874cd066771cd32 +MISC metadata.xml 558 BLAKE2B b5a10bc1b437d1f0dc04125740e065b1821786eb9d832d44f757c031a5a7b24f4c9fe0995cbc0ab169cf46874e6c43ebf7bf2770607bc3d0290a39d61ffbc4a6 SHA512 18bb2abac8ca4923efa55f6757654979c5b37b32a9ce93a390bf5c80feee6a1fac467333b7988d4cf9b7b5b2496236b612c0d40773f8df5a3796efd5392e77f0 diff --git a/sys-apps/openlinkhub/files/openlinkhub.confd b/sys-apps/openlinkhub/files/openlinkhub.confd new file mode 100644 index 0000000..1c24be4 --- /dev/null +++ b/sys-apps/openlinkhub/files/openlinkhub.confd @@ -0,0 +1,6 @@ +# User and group to run OpenLinkHub as +#OPENLINKHUB_USER=openlinkhub +#OPENLINKHUB_GROUP=openlinkhub + +# Working directory for runtime data +#OPENLINKHUB_DIR=/var/lib/openlinkhub diff --git a/sys-apps/openlinkhub/files/openlinkhub.initd b/sys-apps/openlinkhub/files/openlinkhub.initd new file mode 100644 index 0000000..d20c2bd --- /dev/null +++ b/sys-apps/openlinkhub/files/openlinkhub.initd @@ -0,0 +1,29 @@ +#!/sbin/openrc-run +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +: ${OPENLINKHUB_USER:=openlinkhub} +: ${OPENLINKHUB_GROUP:=openlinkhub} +: ${OPENLINKHUB_DIR:=/var/lib/openlinkhub} + +name="OpenLinkHub" +description="Open source interface for iCUE LINK Hub and Corsair AIOs" +command="/usr/bin/openlinkhub" +command_user="${OPENLINKHUB_USER}:${OPENLINKHUB_GROUP}" +command_background="true" +pidfile="/run/${RC_SVCNAME}.pid" +directory="${OPENLINKHUB_DIR}" + +extra_started_commands="reload" +description_reload="Reload OpenLinkHub configuration" + +depend() { + need localmount + use logger +} + +reload() { + ebegin "Reloading ${RC_SVCNAME}" + start-stop-daemon --signal HUP --pidfile "${pidfile}" + eend $? +} diff --git a/sys-apps/openlinkhub/files/openlinkhub.service b/sys-apps/openlinkhub/files/openlinkhub.service new file mode 100644 index 0000000..542921e --- /dev/null +++ b/sys-apps/openlinkhub/files/openlinkhub.service @@ -0,0 +1,14 @@ +[Unit] +Description=Open source interface for iCUE LINK System Hub, Corsair AIOs and Hubs + +[Service] +User=openlinkhub +Group=openlinkhub +WorkingDirectory=/var/lib/openlinkhub +ExecStart=/usr/bin/openlinkhub +ExecReload=/bin/kill -s HUP $MAINPID +Restart=on-failure +RestartSec=5 + +[Install] +WantedBy=multi-user.target diff --git a/sys-apps/openlinkhub/files/openlinkhub.tmpfiles b/sys-apps/openlinkhub/files/openlinkhub.tmpfiles new file mode 100644 index 0000000..d5d10b3 --- /dev/null +++ b/sys-apps/openlinkhub/files/openlinkhub.tmpfiles @@ -0,0 +1 @@ +d /var/lib/openlinkhub 0755 openlinkhub openlinkhub - diff --git a/sys-apps/openlinkhub/metadata.xml b/sys-apps/openlinkhub/metadata.xml new file mode 100644 index 0000000..7993efe --- /dev/null +++ b/sys-apps/openlinkhub/metadata.xml @@ -0,0 +1,16 @@ + + + + + nick@customdesigns.ca + Nick Wiltshire + + + Open source interface for iCUE LINK Hub and other Corsair AIOs and + hubs for Linux. Manage RGB lighting, fan speeds, system metrics, + and peripherals via a web dashboard. + + + jurkovic-nikola/OpenLinkHub + + diff --git a/sys-apps/openlinkhub/openlinkhub-0.8.8.ebuild b/sys-apps/openlinkhub/openlinkhub-0.8.8.ebuild new file mode 100644 index 0000000..8d3fb5c --- /dev/null +++ b/sys-apps/openlinkhub/openlinkhub-0.8.8.ebuild @@ -0,0 +1,54 @@ +# Copyright 2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit go-module systemd tmpfiles udev + +DESCRIPTION="Open source Linux interface for iCUE LINK Hub and Corsair AIOs" +HOMEPAGE="https://openlinkhub.dev" +SRC_URI="https://github.com/jurkovic-nikola/OpenLinkHub/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + acct-group/openlinkhub + acct-user/openlinkhub + media-libs/pipewire + sys-apps/i2c-tools + sys-apps/systemd +" + +BDEPEND=">=dev-lang/go-1.25" + +S="${WORKDIR}/OpenLinkHub-${PV}" + +src_compile() { + export CGO_CFLAGS_ALLOW='-fno-strict-overflow' + ego build -o OpenLinkHub . +} + +src_install() { + newbin OpenLinkHub openlinkhub + + for dir in database static web api; do + insinto /var/lib/openlinkhub/${dir} + doins -r ${dir}/* + done + + udev_newrules 99-${PN}.rules 99-${PN}.rules + systemd_dounit "${FILESDIR}/${PN}.service" + newinitd "${FILESDIR}/${PN}.initd" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + newtmpfiles "${FILESDIR}/${PN}.tmpfiles" ${PN}.conf + + keepdir /var/lib/${PN} + fowners openlinkhub:openlinkhub /var/lib/${PN} +} + +pkg_postinst() { + tmpfiles_process ${PN}.conf + udev_reload +}