summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-misc')
-rw-r--r--app-misc/fhem/Manifest1
-rw-r--r--app-misc/fhem/fhem-5.9.ebuild104
-rw-r--r--app-misc/fhem/files/fhem.service13
-rw-r--r--app-misc/fhem/files/fhem.tmpfiles1
4 files changed, 119 insertions, 0 deletions
diff --git a/app-misc/fhem/Manifest b/app-misc/fhem/Manifest
index 2e890afbf592..36c01254018b 100644
--- a/app-misc/fhem/Manifest
+++ b/app-misc/fhem/Manifest
@@ -1 +1,2 @@
DIST fhem-5.8.tar.gz 22139481 BLAKE2B 444b041b591d3c960036a262e6eb3fda026d4b229a21df16d7817c32a1fd57282a7fbe5559164b760bd9cfad314c2977e7d6f611320d35be090cdb9df66fb8fd SHA512 6cfaa14288ce553a2418db4cb47c719f2d5edbccbde9e76f221cd47cf8a175a67125031c4971f9f9972b218fc709a267757c2abefe6a33be47eb4bb45e23be57
+DIST fhem-5.9.tar.gz 23267499 BLAKE2B c2c2e4ab21f82fbe67c9e99aed4d1edd6db889aedac0611b5ba2873667520c4aa63d8553e014563f6f6ee58c5792ae1735853f58c8f4ef0599583b2ed23a9efe SHA512 9f75058e698fc33ec64081695db3eb2511f686dedc3107c87d4377f655c8b204892c6f61141de28970f2ed3f8cef5d24124d17ee20ee71a9eb9318bb17335bb8
diff --git a/app-misc/fhem/fhem-5.9.ebuild b/app-misc/fhem/fhem-5.9.ebuild
new file mode 100644
index 000000000000..622c74eac409
--- /dev/null
+++ b/app-misc/fhem/fhem-5.9.ebuild
@@ -0,0 +1,104 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="7"
+
+inherit systemd user
+
+DESCRIPTION="A GPL'd perl server for house automation"
+HOMEPAGE="https://www.fhem.de/"
+SRC_URI="https://www.fhem.de/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86"
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="doc"
+
+RDEPEND="dev-perl/Crypt-CBC
+ dev-perl/Device-SerialPort
+ dev-perl/Digest-CRC
+ dev-perl/JSON"
+
+DEPEND="media-gfx/pngcrush"
+
+pkg_setup() {
+ enewgroup fhem
+ enewuser fhem -1 -1 /opt/fhem fhem
+}
+
+src_prepare() {
+ default
+
+ # Allow install path to be set by DESTDIR in Makefile
+ sed -i -e 's,^\(BINDIR=\),\1'\$\(DESTDIR\)',' Makefile || die
+
+ # Remove docs in Makefile, as they will be installed manually
+ sed -i -e 's/docs//g' Makefile || die
+ sed -i -e '/README_DEMO.txt/d' Makefile || die
+
+ # Remove manpage in Makefile, as it will be installed manually
+ sed -i -e '/fhem.pl.1/d' Makefile || die
+
+ # Remove lcd4linux binaries, as they are provied by app-misc/lcd4linux
+ rm -r contrib/lcd4linux || die
+
+ # Remove log dir, as it will be replaced with a symlink
+ rm -r log || die
+
+ # Fix fhemicon_darksmall.png, as it reports "broken IDAT window length"
+ # Reported to Upstream: https://forum.fhem.de/index.php/topic,86238.0.html
+ pngcrush -fix -force -ow www/images/default/fhemicon_darksmall.png || die
+
+ cp "${FILESDIR}"/fhem.cfg fhem.cfg || die
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ local DOCS=(
+ "CHANGED"
+ "HISTORY"
+ "MAINTAINER.txt"
+ "README.SVN"
+ "README_DEMO.txt"
+ "docs"/*.txt
+ "docs"/*.patch
+ "docs"/*.pdf
+ "docs/changelog"
+ "docs/copyright"
+ "docs/dotconfig"
+ "docs/fhem.odg.readme"
+ "docs/LIESMICH.update-thirdparty"
+ "docs"/README*
+ "docs/X10"
+ )
+
+ if use doc; then
+ local DOCS+=( "docs/X10" )
+ local HTML_DOCS=( "docs/"*.eps "docs/"*.html "docs"/*.jpg "docs"/*.js "docs"/*.odg "docs/"*.png "docs/km271" )
+ fi
+
+ diropts -o fhem -g fhem
+ keepdir "/var/lib/fhem"
+ keepdir "/var/log/fhem"
+ diropts
+
+ dosym ../../var/lib/fhem /opt/fhem/data
+ dosym ../../var/log/fhem /opt/fhem/log
+
+ default
+
+ newinitd "${FILESDIR}"/fhem.initd fhem
+
+ systemd_dounit "${FILESDIR}"/fhem.service
+ systemd_newtmpfilesd "${FILESDIR}"/fhem.tmpfiles fhem.conf
+
+ newman docs/fhem.man fhem.pl.1
+
+ echo 'CONFIG_PROTECT="/opt/fhem /var/lib/fhem"' > "${T}"/99fhem || die
+ doenvd "${T}"/99fhem
+
+ fowners fhem:fhem /opt/fhem/fhem.cfg
+}
diff --git a/app-misc/fhem/files/fhem.service b/app-misc/fhem/files/fhem.service
new file mode 100644
index 000000000000..697a10179d40
--- /dev/null
+++ b/app-misc/fhem/files/fhem.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=FHEM
+After=network-online.target
+
+[Service]
+Type=simple
+User=fhem
+Group=fhem
+WorkingDirectory=/opt/fhem
+ExecStart=/opt/fhem/fhem.pl /opt/fhem/fhem.cfg
+
+[Install]
+WantedBy=multi-user.target
diff --git a/app-misc/fhem/files/fhem.tmpfiles b/app-misc/fhem/files/fhem.tmpfiles
new file mode 100644
index 000000000000..bccf63774dee
--- /dev/null
+++ b/app-misc/fhem/files/fhem.tmpfiles
@@ -0,0 +1 @@
+d /run/fhem 0700 fhem fhem - -