diff options
author | Conrad Kostecki <conikost@gentoo.org> | 2024-01-14 02:20:47 +0100 |
---|---|---|
committer | Conrad Kostecki <conikost@gentoo.org> | 2024-01-14 02:32:04 +0100 |
commit | 59c90b123081511039e385ae5fe179ef63a8cac4 (patch) | |
tree | f18909145817f8d142427280527a424242e8c2b0 /app-misc/ebusd | |
parent | www-client/chromium: drop 120.0.6099.71 (diff) | |
download | gentoo-59c90b123081511039e385ae5fe179ef63a8cac4.tar.gz gentoo-59c90b123081511039e385ae5fe179ef63a8cac4.tar.bz2 gentoo-59c90b123081511039e385ae5fe179ef63a8cac4.zip |
app-misc/ebusd: new package, add 23.3
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
Diffstat (limited to 'app-misc/ebusd')
-rw-r--r-- | app-misc/ebusd/Manifest | 1 | ||||
-rw-r--r-- | app-misc/ebusd/ebusd-23.3.ebuild | 100 | ||||
-rw-r--r-- | app-misc/ebusd/files/ebusd-23.3-cxxflags.patch | 28 | ||||
-rw-r--r-- | app-misc/ebusd/files/ebusd-23.3-docs.patch | 27 | ||||
-rw-r--r-- | app-misc/ebusd/files/ebusd-23.3-gcc13.patch | 60 | ||||
-rw-r--r-- | app-misc/ebusd/files/ebusd-23.3-gentoo.patch | 13 | ||||
-rw-r--r-- | app-misc/ebusd/files/ebusd-23.3-htmlpath.patch | 20 | ||||
-rw-r--r-- | app-misc/ebusd/files/ebusd.confd | 5 | ||||
-rw-r--r-- | app-misc/ebusd/files/ebusd.initd | 20 | ||||
-rw-r--r-- | app-misc/ebusd/files/ebusd.service | 13 | ||||
-rw-r--r-- | app-misc/ebusd/metadata.xml | 22 |
11 files changed, 309 insertions, 0 deletions
diff --git a/app-misc/ebusd/Manifest b/app-misc/ebusd/Manifest new file mode 100644 index 000000000000..d3d06c704d6f --- /dev/null +++ b/app-misc/ebusd/Manifest @@ -0,0 +1 @@ +DIST ebusd-23.3.tar.gz 583788 BLAKE2B c61bf76e0c451672432689aeaf10b317adb52729ea0872cb01dca22e1f7ac12091d287dd082b87361ce37846b1d74c869588964f3dc71e82ffd00c4555e27150 SHA512 acf155d36e99db1c9c2ff04eabbfddba8493f2566b6691f609c86af0e42e3cb0594618fd51e874e475cfc7b9c742d1e010099f38e19c21f52c953ebcfb0f2ea2 diff --git a/app-misc/ebusd/ebusd-23.3.ebuild b/app-misc/ebusd/ebusd-23.3.ebuild new file mode 100644 index 000000000000..eb2fca01442b --- /dev/null +++ b/app-misc/ebusd/ebusd-23.3.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +DESCRIPTION="Daemon for communication with eBUS heating systems" +HOMEPAGE=" + https://ebusd.de + https://github.com/john30/ebusd +" +SRC_URI="https://github.com/john30/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+contrib doc knx mqtt +ssl test" +RESTRICT="!test? ( test )" + +DEPEND=" + dev-libs/openssl:0= + mqtt? ( app-misc/mosquitto ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + doc? ( + app-text/doxygen + media-gfx/graphviz + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-23.3-cxxflags.patch" + "${FILESDIR}/${PN}-23.3-docs.patch" + "${FILESDIR}/${PN}-23.3-gcc13.patch" + "${FILESDIR}/${PN}-23.3-gentoo.patch" + "${FILESDIR}/${PN}-23.3-htmlpath.patch" +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # KNXd is currently not packaged in Gentoo + local myeconfargs=( + $(use_with contrib) + $(use_with doc docs) + $(use_with knx) + $(use_with mqtt) + $(use_with ssl) + + --localstatedir="${EPREFIX}/var" + --without-knxd + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + default + + if use test; then + pushd src/lib/ebus/test || die + emake + popd || die + + if use contrib; then + pushd src/lib/ebus/contrib/test || die + emake + popd || die + fi + fi +} + +src_test() { + pushd src/lib/ebus/test || die + ./test_filereader >/dev/null && \ + ./test_data >/dev/null && \ + ./test_message >/dev/null && \ + ./test_symbol >/dev/null && \ + einfo "standard: OK!" || die + popd || die + + if use contrib; then + pushd src/lib/ebus/contrib/test || die + ./test_contrib >/dev/null && einfo "contrib: OK!" || die + popd || die + fi +} + +src_install() { + default + use doc && dodoc -r docs/html + newinitd "${FILESDIR}"/ebusd.initd ebusd + newconfd "${FILESDIR}"/ebusd.confd ebusd + systemd_dounit "${FILESDIR}"/ebusd.service +} diff --git a/app-misc/ebusd/files/ebusd-23.3-cxxflags.patch b/app-misc/ebusd/files/ebusd-23.3-cxxflags.patch new file mode 100644 index 000000000000..97b843d05ea2 --- /dev/null +++ b/app-misc/ebusd/files/ebusd-23.3-cxxflags.patch @@ -0,0 +1,28 @@ +From 6c2d102544f45856fb14484a3fc763822ff03376 Mon Sep 17 00:00:00 2001 +From: Conrad Kostecki <conikost@gentoo.org> +Date: Sat, 13 Jan 2024 21:33:28 +0100 +Subject: [PATCH] configure.ac: quote CXXFLAGS + +CXXCLAGS needs to be quote, as otherwise the test could fail on some +CXXFLAGS like '-mfpmath=sse,387' + +test: syntax error: `-mfpmath=sse,387' unexpected + +Signed-off-by: Conrad Kostecki <conikost@gentoo.org> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 90368e04..0469eb20 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -8,7 +8,7 @@ AC_CONFIG_AUX_DIR([build]) + AC_CONFIG_MACRO_DIR([m4]) + AC_GNU_SOURCE + +-if test -z $CXXFLAGS; then ++if test -z "${CXXFLAGS}"; then + CXXFLAGS="-fpic -Wall -Wno-unused-function -Wextra -g -O2" + fi + AC_PROG_CXX([g++-6 g++-5 g++-4.9 g++-4.8 g++]) diff --git a/app-misc/ebusd/files/ebusd-23.3-docs.patch b/app-misc/ebusd/files/ebusd-23.3-docs.patch new file mode 100644 index 000000000000..d8014fe53cd5 --- /dev/null +++ b/app-misc/ebusd/files/ebusd-23.3-docs.patch @@ -0,0 +1,27 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -47,6 +47,13 @@ + if test "x$with_contrib" != "xno"; then + AC_DEFINE_UNQUOTED(HAVE_CONTRIB, [1], [Defined if contributed sources are enabled.]) + fi ++AC_ARG_WITH(docs, AS_HELP_STRING([--without-docs], [disable generation of docs]), [], [with_docs=yes]) ++if test "x$with_docs" != "xno"; then ++ AC_CHECK_PROGS([HAVE_DOXYGEN], [doxygen], []) ++ if test -z "$HAVE_DOXYGEN"; then ++ AC_MSG_WARN([Doxygen not found - continuing without Doxygen support.]) ++ fi ++fi + AC_ARG_WITH(ebusfeed, AS_HELP_STRING([--with-ebusfeed], [enable inclusion of ebusfeed tool]), [with_ebusfeed=yes], []) + AM_CONDITIONAL([WITH_EBUSFEED], [test "x$with_ebusfeed" == "xyes"]) + AC_ARG_WITH(mqtt, AS_HELP_STRING([--without-mqtt], [disable support for MQTT handling]), [], [with_mqtt=yes]) +@@ -156,10 +163,6 @@ + else + AC_DEFINE(REVISION, "[m4_esyscmd_s([git describe --always 2>/dev/null || (date +p%Y%m%d)])]", [The revision of the package.]) + fi +-AC_CHECK_PROGS([HAVE_DOXYGEN], [doxygen], []) +-if test -z "$HAVE_DOXYGEN"; then +- AC_MSG_WARN([Doxygen not found - continuing without Doxygen support.]) +-fi + + AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$HAVE_DOXYGEN"]) + AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([docs/Doxyfile])]) diff --git a/app-misc/ebusd/files/ebusd-23.3-gcc13.patch b/app-misc/ebusd/files/ebusd-23.3-gcc13.patch new file mode 100644 index 000000000000..fcdff55e714e --- /dev/null +++ b/app-misc/ebusd/files/ebusd-23.3-gcc13.patch @@ -0,0 +1,60 @@ +From 3384f3780087bd6b94d46bf18cdad18201ad516c Mon Sep 17 00:00:00 2001 +From: John <ebusd@ebusd.eu> +Date: Sat, 30 Dec 2023 17:38:19 +0100 +Subject: [PATCH] add missed includes as reported by gcc13 + +--- + src/ebusd/mqttclient.h | 1 + + src/ebusd/mqttclient_mosquitto.h | 1 + + src/lib/ebus/device.h | 1 + + src/lib/ebus/transport.h | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/src/ebusd/mqttclient.h b/src/ebusd/mqttclient.h +index 5309d31a..965647ba 100755 +--- a/src/ebusd/mqttclient.h ++++ b/src/ebusd/mqttclient.h +@@ -19,6 +19,7 @@ + #ifndef EBUSD_MQTTCLIENT_H_ + #define EBUSD_MQTTCLIENT_H_ + ++#include <cstdint> + #include <list> + #include <map> + #include <string> +diff --git a/src/ebusd/mqttclient_mosquitto.h b/src/ebusd/mqttclient_mosquitto.h +index d749b60b..e08ca5eb 100755 +--- a/src/ebusd/mqttclient_mosquitto.h ++++ b/src/ebusd/mqttclient_mosquitto.h +@@ -21,6 +21,7 @@ + + #include "ebusd/mqttclient.h" + #include <mosquitto.h> ++#include <ctime> + #include <list> + #include <map> + #include <string> +diff --git a/src/lib/ebus/device.h b/src/lib/ebus/device.h +index d4224017..8da116a7 100755 +--- a/src/lib/ebus/device.h ++++ b/src/lib/ebus/device.h +@@ -19,6 +19,7 @@ + #ifndef LIB_EBUS_DEVICE_H_ + #define LIB_EBUS_DEVICE_H_ + ++#include <cstdint> + #include <string> + #include "lib/ebus/result.h" + #include "lib/ebus/transport.h" +diff --git a/src/lib/ebus/transport.h b/src/lib/ebus/transport.h +index ec4c2319..ba3a8324 100755 +--- a/src/lib/ebus/transport.h ++++ b/src/lib/ebus/transport.h +@@ -21,6 +21,7 @@ + + #include <unistd.h> + #include <termios.h> ++#include <cstdint> + #include <string> + #include "lib/ebus/result.h" + #include "lib/ebus/symbol.h" diff --git a/app-misc/ebusd/files/ebusd-23.3-gentoo.patch b/app-misc/ebusd/files/ebusd-23.3-gentoo.patch new file mode 100644 index 000000000000..9c5e518e269c --- /dev/null +++ b/app-misc/ebusd/files/ebusd-23.3-gentoo.patch @@ -0,0 +1,13 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -145,8 +145,8 @@ + src/lib/knx/Makefile + ])]) + +-AC_DEFINE_UNQUOTED(PACKAGE_PIDFILE, "${localstatedir}/run/${PACKAGE_NAME}.pid", [The path and name of the PID file.]) +-AC_DEFINE_UNQUOTED(PACKAGE_LOGFILE, "${localstatedir}/log/${PACKAGE_NAME}.log", [The path and name of the log file.]) ++AC_DEFINE_UNQUOTED(PACKAGE_PIDFILE, "${localstatedir}/run/${PACKAGE_NAME}/${PACKAGE_NAME}.pid", [The path and name of the PID file.]) ++AC_DEFINE_UNQUOTED(PACKAGE_LOGFILE, "${localstatedir}/log/${PACKAGE_NAME}/${PACKAGE_NAME}.log", [The path and name of the log file.]) + AC_DEFINE(SCAN_VERSION, "[m4_esyscmd_s([sed -e 's#^\([0-9]*\.[0-9]*\).*#\1#' -e 's#\.\([0-9]\)$#0\1#' -e 's#\.##' VERSION])]", [The version of the package formatted for the scan result.]) + AC_DEFINE(PACKAGE_VERSION_MAJOR, [m4_esyscmd_s([sed -e 's#^\([0-9]*\)\..*$#\1#' VERSION])], [The major version of the package.]) + AC_DEFINE(PACKAGE_VERSION_MINOR, [m4_esyscmd_s([sed -e 's#^.*\.\([0-9]*\)$#\1#' VERSION])], [The minor version of the package.]) diff --git a/app-misc/ebusd/files/ebusd-23.3-htmlpath.patch b/app-misc/ebusd/files/ebusd-23.3-htmlpath.patch new file mode 100644 index 000000000000..abd2e87e5c93 --- /dev/null +++ b/app-misc/ebusd/files/ebusd-23.3-htmlpath.patch @@ -0,0 +1,20 @@ +--- a/src/ebusd/main_args.cpp ++++ b/src/ebusd/main_args.cpp +@@ -79,7 +79,7 @@ + .port = 8888, + .localOnly = false, + .httpPort = 0, +- .htmlPath = "/var/" PACKAGE "/html", ++ .htmlPath = "/var/lib" PACKAGE "/html", + .updateCheck = true, + + .logFile = PACKAGE_LOGFILE, +@@ -199,7 +199,7 @@ + {"port", 'p', "PORT", 0, "Listen for command line connections on PORT [8888]"}, + {"localhost", O_LOCAL, nullptr, 0, "Listen for command line connections on 127.0.0.1 interface only"}, + {"httpport", O_HTTPPT, "PORT", 0, "Listen for HTTP connections on PORT, 0 to disable [0]"}, +- {"htmlpath", O_HTMLPA, "PATH", 0, "Path for HTML files served by HTTP port [/var/ebusd/html]"}, ++ {"htmlpath", O_HTMLPA, "PATH", 0, "Path for HTML files served by HTTP port [/var/lib/ebusd/html]"}, + {"updatecheck", O_UPDCHK, "MODE", 0, "Set automatic update check to MODE (on|off) [on]"}, + + {nullptr, 0, nullptr, 0, "Log options:"}, diff --git a/app-misc/ebusd/files/ebusd.confd b/app-misc/ebusd/files/ebusd.confd new file mode 100644 index 000000000000..2abae6bece1c --- /dev/null +++ b/app-misc/ebusd/files/ebusd.confd @@ -0,0 +1,5 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Options to pass to ebusd (run "ebusd --help" for more info) +EBUSD_OPTS="--scanconfig" diff --git a/app-misc/ebusd/files/ebusd.initd b/app-misc/ebusd/files/ebusd.initd new file mode 100644 index 000000000000..e0ef5fca9623 --- /dev/null +++ b/app-misc/ebusd/files/ebusd.initd @@ -0,0 +1,20 @@ +#!/sbin/openrc-run +# Copyright 1999-2024 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/ebusd" +command_args="${EBUSD_OPTS}" +ebusd_path="/var/lib/ebusd" +html_path="${ebusd_path}/html" +logfile_path="/var/log/ebusd" +logfile="${pidfile_path}/ebusd.log" +name="eBUS daemon" +pidfile_path="/run/ebusd" +pidfile="${pidfile_path}/ebusd.pid" + +start_pre() { + checkpath -d -q "${ebusd_path}" "${html_path}" + checkpath -d -q "${logfile_path}" + checkpath -d -q "${pidfile_path}" + checkpath -f -q "${logfile}" +} diff --git a/app-misc/ebusd/files/ebusd.service b/app-misc/ebusd/files/ebusd.service new file mode 100644 index 000000000000..b66f443524a8 --- /dev/null +++ b/app-misc/ebusd/files/ebusd.service @@ -0,0 +1,13 @@ +[Unit] +Description=eBUS daemon +After=network-online.target + +[Service] +Type=forking +User=ebusd +Group=ebusd +ExecStart=/usr/bin/ebusd ${EBUSD_OPTS} +Restart=always + +[Install] +WantedBy=multi-user.target diff --git a/app-misc/ebusd/metadata.xml b/app-misc/ebusd/metadata.xml new file mode 100644 index 000000000000..8ea2abcad648 --- /dev/null +++ b/app-misc/ebusd/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <longdescription> + Ebusd is a daemon for handling communication with eBUS devices + connected to a 2-wire bus system. The "energy bus" is used by + numerous heating systems. + </longdescription> + <use> + <flag name="contrib">Compile and install additional user contribued plugins.</flag> + <flag name="knx">Enable support for connecting to KNX.</flag> + <flag name="mqtt">Enable support for connecting to MQTT.</flag> + </use> + <upstream> + <bugs-to>https://github.com/john30/ebusd/issues</bugs-to> + <remote-id type="github">john30/ebusd</remote-id> + </upstream> +</pkgmetadata> |