__PREFIX__ expands to PREFIX which includes WRKDIR during fake. One easy fix is to replace it with TRUEPREFIX aka. /usr/local after the fact; that fixes startup via desktop menu entries.
I did not see an easy way to pass the proper prefix to just those .desktop.in files as they seem to be handled during general setup.py install along with all other files. Feedback? OK? Index: Makefile =================================================================== RCS file: /cvs/ports/net/gpodder/Makefile,v diff -u -p -r1.39 Makefile --- Makefile 9 Jan 2024 01:21:47 -0000 1.39 +++ Makefile 8 Feb 2024 10:55:16 -0000 @@ -1,6 +1,7 @@ COMMENT= media aggregator and podcast client MODPY_EGG_VERSION= 3.11.4 +REVISION= 0 GH_ACCOUNT= gpodder GH_PROJECT= gpodder @@ -51,6 +52,8 @@ TEST_TARGET= unittest do-install: cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} DESTDIR=/ ${MAKE_PROGRAM} \ -f ${MAKE_FILE} install + sed -i s,${PREFIX},${TRUEPREFIX}, \ + ${PREFIX}/share/applications/*.desktop ${MODPY_BIN} ${MODPY_LIBDIR}/compileall.py \ ${PREFIX}/share/gpodder/extensions/