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>

Reply via email to