Solène Rapenne <sol...@perso.pw> wrote: > hi, > > this is a port for the graphical interface to the OpenBSD package > manager, https://tildegit.org/solene/AppManager > > While it's not perfect, it does the job and having a bigger userbase > will certainly help polishing it.
I've played around with it, GUIs are not my thing (especially for managing packages) but it works and it's cool. it's fast to search and the heuristics to categorize the packages are handy most of the times correct. A few comments on the port itself: - I don't have a strong reason, but i don't feel like files/ it's the correct place for an image (even if now i see a few images in games/*/files). since you're the upstream too, why don't add the logo in the images/ directory and install it during do-install? - the lang/python module it's mostly unused. for instance it provides MODPY_BIN but the port' makefile use python3 inconditionally. I'd at least drop the custom do-build, set CONFIGURE_STYLE=none so that python.port.mk doesn't interfere and then ALL_TARGET=db so that we have a sane do-build. I think that MODPY_RUNDEP=No is also needed, otherwise python3 is added to the RUN_DEPENDS, and it's not needed AFAICS. I'd also probably try to propagate MODPY_BIN to the makefile. with something like this --- Makefile.orig +++ Makefile @@ -1,5 +1,7 @@ +PYTHON = python3 + db: - python3 ./build_json.py > src/pkg.json + ${PYTHON} ./build_json.py > src/pkg.json run: db godot --path src/ we can then set MAKE_FLAGS to PYTHON=${MODPY_BIN} and have it picking up the right python. (assuming that we care that much, i've got close to 0 experience with the python ecosystem so I've got no clue of how important it is to respect MODPY_BIN.) - nitpick: i'd use SUBST_PROGRAM / SUBST_DATA instead of piling flags to SUBST_CMD. - nitpick: i'd drop the "a" at the start of COMMENT COMMENT = package magare for OpenBSD or even COMMENT = graphical interface to manage/explore OpenBSD packages and then reuse that as pkg/DESCR too. or maybe add a few words there, like the fact that it categorizes the packages in "GUI", "terminal" and "other packages", maybe with a brief description of the heuristic used. I'd be interesting IMHO :) (the current pkg/DESCR is also weirdly formatted btw) - nitpick: there's no need to re-create ${PREFIX}/bin - nitpick: I'd add an `exec' in files/appmanager and use LOCALBASE exec ${LOCALBASE}/bin/godot --src ${TRUEPREFIX}/... - nitpick: i don't remember if the position for @tags is important, but I'd stick them at the end of the PLIST instead that at the top. (or at least i've always seen them at the very bottom.) with this fixed/addressed it's ok op@ to import. I'm attaching a diff against your Makefile P.S.: at startup it logs: ERROR: Error opening file 'res://none'. at: load_image (core/io/image_loader.cpp:55) ERROR: Non-existing or invalid boot splash at 'res://none'. Loading default splash. at: setup2 (main/main.cpp:1372) haven't checked the source (yet) to see if it's wanted or not; just mentioning it. --- Makefile.orig Thu May 12 16:56:37 2022 +++ Makefile Thu May 12 17:13:57 2022 @@ -14,6 +14,7 @@ DISTFILES = appmanager-{}${V}${EXTRACT_SUFX} MODULES = lang/python +MODPY_RUNDEP = No BUILD_DEPENDS = databases/sqlports @@ -25,21 +26,18 @@ WRKSRC = ${WRKDIR}/appmanager -do-build: - cd ${WRKSRC} && pwd && make db +CONFIGURE_STYLE = none +ALL_TARGET = db do-install: - ${INSTALL_DATA_DIR} ${PREFIX}/bin/ ${INSTALL_DATA_DIR} ${PREFIX}/share/AppManager/ ${INSTALL_DATA_DIR} ${PREFIX}/share/applications/ ${INSTALL_DATA_DIR} ${PREFIX}/share/icons/hicolor/128x128/apps/ cp -r ${WRKSRC}/src/* ${PREFIX}/share/AppManager/ ${INSTALL_DATA} ${FILESDIR}/appmanager.png \ ${PREFIX}/share/icons/hicolor/128x128/apps/ - ${SUBST_CMD} -c -m 555 \ - ${FILESDIR}/appmanager ${PREFIX}/bin/appmanager - ${SUBST_CMD} -c -m ${SHAREMODE} -o ${SHAREOWN} -g ${SHAREGRP} \ - ${FILESDIR}/appmanager.desktop \ + ${SUBST_PROGRAM} ${FILESDIR}/appmanager ${PREFIX}/bin/appmanager + ${SUBST_DATA} ${FILESDIR}/appmanager.desktop \ ${PREFIX}/share/applications/appmanager.desktop .include <bsd.port.mk>