diff --git a/x11/Makefile b/x11/Makefile index 8446e6234114..05d85a937c50 100644 --- a/x11/Makefile +++ b/x11/Makefile @@ -265,6 +265,7 @@ SUBDIR += polybar SUBDIR += printscreen SUBDIR += props + SUBDIR += py-caffeine-ng SUBDIR += py-pyvirtualdisplay SUBDIR += py-qt4-opengl SUBDIR += py-qt5-opengl diff --git a/x11/py-caffeine-ng/Makefile b/x11/py-caffeine-ng/Makefile new file mode 100644 index 000000000000..0066e19dc8ab --- /dev/null +++ b/x11/py-caffeine-ng/Makefile @@ -0,0 +1,67 @@ +# $FreeBSD$ + +PORTNAME= caffeine-ng +DISTVERSION= 3.4.2 +CATEGORIES= x11 python +MASTER_SITES= CHEESESHOP +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= tagattie@yandex.com +COMMENT= Tray bar app to temporarily inhibit screensaver and sleep mode + +LICENSE= GPLv3+ LGPL3+ +LICENSE_COMB= multi +LICENSE_FILE_GPLv3+ = ${WRKSRC}/LICENCE +LICENSE_FILE_LGPL3+ = ${WRKSRC}/LGPL + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>0:devel/py-setuptools_scm@${PY_FLAVOR} +LIB_DEPENDS= libappindicator3.so:devel/libappindicator \ + libnotify.so:devel/libnotify +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}docopt>=0.6.2:devel/py-docopt@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}ewmh>=0.1.4:devel/py-ewmh@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}xdg>=0.25:devel/py-xdg@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setproctitle>=1.1.10:devel/py-setproctitle@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0.29.0:devel/py-wheel@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dbus>0:devel/py-dbus@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tox>0:devel/py-tox@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}flake8>0:devel/py-flake8@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}flake8-import-order>0:devel/py-flake8-import-order@${PY_FLAVOR} + +USES= desktop-file-utils gettext-tools gnome python:3.3+ +USE_GNOME= gdkpixbuf2 gtk30 pygobject3 +USE_PYTHON= autoplist concurrent distutils + +NO_ARCH= yes + +GLIB_SCHEMAS= net.launchpad.caffeine.gschema.xml +INSTALLS_ICONS= yes + +OPTIONS_DEFINE= DOCS + +PORTDOCS= README.rst + +REINPLACE_ARGS= -i "" + +SCHEMASDIR= share/glib-2.0/schemas + +post-patch: + ${REINPLACE_CMD} -e 's|/usr|${LOCALBASE}|g; s|/etc|${LOCALBASE}/etc|g' \ + ${WRKSRC}/setup.py \ + ${WRKSRC}/share/applications/*.desktop + +post-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/${SCHEMASDIR} +.for schema in ${GLIB_SCHEMAS} + ${INSTALL_DATA} ${WRKSRC}/${SCHEMASDIR}/${schema} ${STAGEDIR}${PREFIX}/${SCHEMASDIR} +.endfor + +post-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} +.for doc in ${PORTDOCS} + ${INSTALL_MAN} ${WRKSRC}/${doc} ${STAGEDIR}${DOCSDIR} +.endfor + +do-test: + cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m tox + +.include diff --git a/x11/py-caffeine-ng/distinfo b/x11/py-caffeine-ng/distinfo new file mode 100644 index 000000000000..5a8ac366c63e --- /dev/null +++ b/x11/py-caffeine-ng/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1547976230 +SHA256 (caffeine-ng-3.4.2.tar.gz) = 9cf843f9359b4b8cdb2ad4a14bb433641a100e25206274eb638c494765d56816 +SIZE (caffeine-ng-3.4.2.tar.gz) = 145797 diff --git a/x11/py-caffeine-ng/files/patch-caffeine_main.py b/x11/py-caffeine-ng/files/patch-caffeine_main.py new file mode 100644 index 000000000000..9ab9d14be7e6 --- /dev/null +++ b/x11/py-caffeine-ng/files/patch-caffeine_main.py @@ -0,0 +1,13 @@ +--- caffeine/main.py.orig 2018-05-17 01:08:07 UTC ++++ caffeine/main.py +@@ -412,8 +412,8 @@ def main(): + GObject.threads_init() + + # register the process id as 'caffeine' +- libc = ctypes.cdll.LoadLibrary('libc.so.6') +- libc.prctl(15, 'caffeine', 0, 0, 0) ++ # libc = ctypes.cdll.LoadLibrary('libc.so.6') ++ # libc.prctl(15, 'caffeine', 0, 0, 0) + + arguments = docopt(__doc__, version=__version__) + diff --git a/x11/py-caffeine-ng/files/patch-setup.py b/x11/py-caffeine-ng/files/patch-setup.py new file mode 100644 index 000000000000..2b17389cd4db --- /dev/null +++ b/x11/py-caffeine-ng/files/patch-setup.py @@ -0,0 +1,24 @@ +--- setup.py.orig 2018-05-17 01:08:07 UTC ++++ setup.py +@@ -7,14 +7,18 @@ from setuptools import find_packages, setup + + + def get_data_files(): ++ # Let FreeBSD port handle glib schema file to avoid plist error ++ black_list = ['net.launchpad.caffeine.gschema.xml'] + data_files = [] + + for path, dirs, files in walk('share'): + target_path = os.path.join('/usr', path) + +- data_files.append(( +- target_path, [os.path.join(path, f) for f in files] +- )) ++ tl = [os.path.join(path, f) for f in files if f not in black_list] ++ if tl != []: ++ data_files.append(( ++ target_path, tl ++ )) + + data_files.append( + ("/etc/xdg/autostart", ["share/applications/caffeine.desktop"]) diff --git a/x11/py-caffeine-ng/pkg-descr b/x11/py-caffeine-ng/pkg-descr new file mode 100644 index 000000000000..a5eef4fc2eb7 --- /dev/null +++ b/x11/py-caffeine-ng/pkg-descr @@ -0,0 +1,6 @@ +Caffeine is a little daemon that sits in your systray, and prevents +the screensaver from showing up, or the system from going to sleep. It +does so when an application is fullscreened (eg: youtube), or when you +click on the systray icon (which you can do, when, eg: reading). + +WWW: https://github.com/caffeine-ng/caffeine-ng