Monday, July 03, 2023

Port for nedit-ng text editor

I've made a first attempt at a port for the editor nedit-ng, a
re-implementation of nedit using Qt instead of motif.

The port is available at: http://op59.net/nedit-ng.tgz

The website for nedit-ng is: https://github.com/eteran/nedit-ng

For now the port uses placeholder version 2023.1rc1, and a hard-coded
git sha. I'm expecting to update things to use a new release from the
maintainer soon.

The port Makefile is just 25 lines and there are no patches.


----


I ran into a few minor issues while making the port:

* I had to get the following patch pushed to the project's
import/CMakeLists.txt:

if(${X11_FOUND})
if(TARGET_PLATFORM_MACOS)
link_directories(/usr/X11/lib)
link_directories(/opt/X11/lib)
endif()
+ if(TARGET_PLATFORM_OPENBSD)
+ link_directories(/usr/X11R6/lib)
+ endif()
endif()

Is there a better way of doing this - for example does cmake on OpenBSD
already know where to find X11 libraries?

* Could /usr/ports/infrastructure/templates/Makefile.template's
CONFIGURE_STYLE section mention cmake?

* Issues in https://www.openbsd.org/faq/ports/guide.html:

5. Fill in DISTNAME

* It wasn't initially clear to me that this must end in a numeric
version number conforming to packages-specs(7).

This would have been useful because getting this wrong caused
obscure errors much later from `make package`, saying:

pkg_create: Can't call method "p" on an undefined value
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2140
'/usr/ports/packages/amd64/all/nedit-ng-a5be3d1e.tgz': @trap
"cd /usr/ports/...) *** Error 2 in .
(/usr/ports/infrastructure/mk/bsd.port.mk:2621
'_internal-package': @case X${_DEPENDS_CACHE} in X)
_DEPENDS_CACHE=$( mktem...) *** Error 2 in
/usr/ports/editors/nedit-ng
(/usr/ports/infrastructure/mk/bsd.port.mk:2600 'package':
@lock=nedit-ng-a5be3d1e; export _LOCKS...)

13. Try setting SEPARATE_BUILD.

* How does one do this?

17. Put a longer description of the port into pkg/DESCR

* I think this is required; perhaps that should have been obvious,
but i got this wrong at first.

22. Create pkg/PLIST

* `make update-plist` failed with `DON'T BUILD PORTS AS ROOT!!!!!`.
Most of the other `make` commands needed to be run as root, so it
might be good to clarify this.



Thanks for any help or suggestions,

- Julian

--
http://op59.net

No comments:

Post a Comment