On 2020/12/21 12:05, joshua stein wrote:
> SyncTERM is a BBS terminal program with lots of features.

: diff dc4fde7aa1c4036ccebf62b44d24003e25253271 /usr/ports/mystuff
: blob - 91eac5d8f890230efc81f1ec74f922025a99668d
: file + comms/syncterm/Makefile
: --- comms/syncterm/Makefile
: +++ comms/syncterm/Makefile
: @@ -2,25 +2,27 @@
:  
:  COMMENT=     BBS terminal program
:  
: -PKGNAME=     syncterm-1.1
: -DISTNAME=    ${PKGNAME}-src
: +DISTNAME=    syncterm-1.1
:  HOMEPAGE=    http://syncterm.bbsdev.net/
:  
: -EXTRACT_SUFX=        .tgz
: +EXTRACT_SUFX=        -src.tgz

since this unpacks to WRKDIR/syncterm-1.1 this is a neater way to handle
it than setting WRKDIST (historically you couldn't rely on PKGNAME in this
way as it had p0/p1/... added for port updates; that isn't the case any
more as there's some special handling in ports infrastructure, but it
still feels wrong to an old porter to use it like this ;)

:  MASTER_SITES=        ${MASTER_SITE_SOURCEFORGE:=syncterm/}
:  
:  # GPLv2
:  PERMIT_PACKAGE=      Yes
:  
: -WANTLIB +=   c curses m ossaudio pthread util
: +# sdl2 is dlopen()'d
: +WANTLIB +=   SDL2 c curses m ossaudio pthread util

list SDL2 in WANTLIB to make sure that updates to SDL2 trigger an update
of this; although it's dlopen()'d it is still built against the SDL headers

:  
:  CATEGORIES=  comms net
:  
:  USE_GMAKE=   Yes
: +NO_TEST=     Yes

"make test" tries to build test.c (and fails with missing symbols from
X libraries); even if it's setup to run it doesn't seem all that useful
as a test anyway so probably simplest to just disable tests for the
port
: -BUILD_DEPENDS=       devel/sdl2
: -# SDL gets dlopen'd at runtime
: -RUN_DEPENDS= ${LIB_DEPENDS}
:  
: +LIB_DEPENDS= devel/sdl2

LIB_DEPENDS wasn't set so setting RUN_DEPENDS=${LIB_DEPENDS} didn't do
anything.

the best way we have to handle this case with dlopen()'d a library is to
set in LIB_DEPENDS+WANTLIB with a warning that it's "Extra".

: +RUN_DEPENDS= devel/desktop-file-utils \
: +             x11/gtk+3,-guic
: +

needs listing to provide @tag handling for the tags that "make plist"
automatically adds. the alternative if you don't like the extra
dependencies is to rm the icon and desktop files in post-install,
chances are these will already be present on any "desktop-ish" system
already though, and it's convenient for people using desktop environments
that handle these files.

:  MAKE_FILE=   GNUmakefile
:  MAKE_FLAGS=  RELEASE=1 \
:               WITHOUT_CRYPTLIB=1 \
: @@ -31,7 +33,7 @@ CFLAGS+=    -DN_CURSES_LIB -D_XOPEN_SOURCE_EXTENDED=1
:  
:  FAKE_FLAGS=  PREFIX=${PREFIX}
:  
: -WRKDIST=     ${WRKDIR}/${PKGNAME}/src/syncterm
: +WRKSRC=              ${WRKDIST}/src/syncterm


WRKDIST is the "source unpacks here" dir and apart from anything else is
used as the base dir for patches; there's a forced -O2 which ought to be
patched away (added in my updated tar)

WRKSRC is "cd to this dir before building" which is what's needed here

:  
:  post-install:
:       gzip -d ${PREFIX}/man/man1/syncterm.1.gz
: 

this updated version is ok with me to import..

Attachment: syncterm.tgz
Description: application/tar-gz

Reply via email to