Created attachment 250339 [details] New port py-apprise 1.7.6 Good evening, The upcoming build of news/sabnzbd (4.3.0) requires an additional python module, apprise, to build and run so I thought I'd submit a port in preparation for this as I did not see one available. Please review my work and let me know if there's anything I should correct. I'm very new to porting work so please be thorough. Thanks, Nick
Created attachment 250340 [details] New port py-apprise 1.7.6 v2 I left some garbage in the Makefile that didn't need to be there to the best of my knowledge. Fixed.
Created attachment 250341 [details] Poudriere build log Build log from poudriere attached
Created attachment 250342 [details] New port py-apprise 1.7.6 v3 This time how about I READ the file before I upload it, hm?
Created attachment 250343 [details] New port py-apprise 1.7.6 v4 Small change to Makefile as yaml is a apprise requirement and not a sabnzbd requirement.
Created attachment 250344 [details] New port py-apprise 1.7.6 v5 Added modules from requirements.txt for apprise
Created attachment 250345 [details] Poudriere build log for v5
Created attachment 250346 [details] New port py-apprise 1.7.6 v6 Add py-paho-mqtt listed in sabnzbd requirements for py-apprise, but not listed in apprise requirements.txt. How should this be handled? As an option? In the sabnzbd Makefile? Or is it fine since py-apprise is new and only going to be required by sabnzbd 4.3.0?
Created attachment 250409 [details] New port py-apprise 1.7.6 v7 Update to Makefile and pkg-desc with reccomendations from 'portlint -A', 'portfmt -D Makefile' and 'portclippy Makefile' Thanks
Created attachment 250410 [details] Poudriere build log for v7
I think this software isn't 'news', see https://docs.freebsd.org/en/books/porters-handbook/book/#porting-categories Maybe better choice is "net-im". And should add the new port entry into net-im/Makefile.
Another suggestions: COMMENT: get it from project page (eg. from "About"). It is independent from sabnzbd. PORTVERSION: use DISTVERSION instead (https://docs.freebsd.org/en/books/porters-handbook/book/#makefile-versions)
Created attachment 250538 [details] New port py-apprise 1.7.6 v8 Updated with Zsolt's recommendations.
*** Bug 266074 has been marked as a duplicate of this bug. ***
https://reviews.freebsd.org/D45169
Created attachment 250662 [details] New port py-apprise 1.7.6 v9 Somehow lost the PyYAML dependency in the shuffle. Readded.
I'm not a porting expert, but I think RUN depends (python requirements.txt) need to be installed for the port to run correctly and BUILD depends (python dev-requirements.txt) are what are required to run the build. I think that ports are supposed to follow upstream options, so options will need to be defined for the plugins mqtt, fcm, simplepush and growl (these are the only plugins that require additional dependencies). Because py-paho-mqtt is optional for this port it will need to be added to the sabnzbd run depends, since it is required for that port. RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}click>0:devel/py-click@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}markdown>0:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests-oauthlib>0:www/py-requests-oauthlib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}yaml>=0:devel/py-yaml@${PY_FLAVOR} BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Babel>=0:devel/py-babel@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} OPTIONS_DEFINE= MQTT FCM SIMPLEPUSH GROWL MQTT_DESC= A wrapper for MQTT Notifications MQTT_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}paho-mqtt>0:net/py-paho-mqtt@${PY_FLAVOR} FCM_DESC= A wrapper for Google's Firebase Cloud Messaging Notifications FCM_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cryptography>0:security/py-cryptography@${PY_FLAVOR} SIMPLEPUSH_DESC= A wrapper for SimplePush Notifications SIMPLEPUSH_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cryptography>0:security/py-cryptography@${PY_FLAVOR} GROWL_DESC= A wrapper for Growl Notifications GROWL_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gntp>0:net/py-gntp@${PY_FLAVOR}
Created attachment 250711 [details] New port py-apprise 1.8.0 When you are right, you are right. I've added your suggestions Matt and updated to 1.8.0 besides. Thanks for helping make the best port available! Zsolt, should the phabricator be updated, or since it shares the same bones as this one will it be fine?
Created attachment 250712 [details] Poudriere build log for 1.8.0
(In reply to Nicholas Kirby from comment #17) The optional dependencies are small so I think doesn't need introduce options - instead should add them as runtime dependencies. So the user install it from repository and can use it in every case (oob).
Created attachment 250891 [details] New port py-apprise 1.8.0 v2 diff updated/corrected to be in line with Zsolt's reccomendations. Added a depends on py-paho-mqtt being updated to 2.1.0 because that should fix the functionality issue that has been keeping this port on hold. To be clear, requirements for py-apprise on the guthub still have py-paho-mqtt set at 1.6.1, but the changes to 2.1.0 should allow it to work with the newer version regardless as it will assume v1 API calls by default. Thanks again
Created attachment 250897 [details] New port py-apprise 1.8.0 v3 Put babel back as a build dep, not a run dep.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=64ba2ee00a82abf271a8902b72b00d5cb4ea0fa0 commit 64ba2ee00a82abf271a8902b72b00d5cb4ea0fa0 Author: Nicholas Kirby <nick@kirby.cx> AuthorDate: 2024-06-16 05:23:36 +0000 Commit: Zsolt Udvari <uzsolt@FreeBSD.org> CommitDate: 2024-06-16 05:27:04 +0000 net-im/py-apprise: new port: send notifications Apprise allows you to send a notification to almost all of the most popular notification services available to us today such as: Telegram, Discord, Slack, Amazon SNS, Gotify, etc. PR: 278707 Differential Revision: https://reviews.freebsd.org/D45169 net-im/Makefile | 1 + net-im/py-apprise/Makefile (new) | 32 ++++++++++++++++++++++++++++++++ net-im/py-apprise/distinfo (new) | 3 +++ net-im/py-apprise/pkg-descr (new) | 3 +++ 4 files changed, 39 insertions(+)
I add NO_ARCH=yes and pytest to USES because of "make test". Committed, thanks!