[Bug 262318] [NEW PORT] lang/freebasic
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 262318] [NEW PORT] lang/freebasic"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 06 Nov 2023 19:55:14 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262318
--- Comment #3 from Robert Clausecker <fuz@FreeBSD.org> ---
Thank you for revisiting this. I hope you didn't loose to much data.
The port still looks a bit weird in some ways:
- you supply what you say to be an info page, but it looks like it's a man
page. Please treat it as such.
- again, do not hard code gmake. Use ${MAKE} instead. It will resolve to the
correct make command as you have added USES=gmake.
- note that ARCH is armv6 or armv7 for arm, but your code looks like it
expects
it to be arm. Check if you can get that fixed. Same for what you call x86.
On FreeBSD, it's called i386.
- the do-build very weird. I'll see if I can get them simplified.
- instead of REINPLACE_CMD in do-install, it might be better to use the .in
mechanism (cf. § 9.5 Porter's Handbook) to patch in the correct PREFIX,
ARCH and DISTVERSION.
- do not hard-code /usr/local, use PREFIX and LOCALBASE instead (as
appropriate). Your port must not assume anything is found in /usr/local and
must not hard code this path anywhere. Instead, rely on the variables
passed
in by the ports framework. You may want to add USES=localbase, which adds
-L${LOCALBASE}/lib and -I${LOCALBASE}/include to the appropriate variables.
- in inc/crt/errno.bi, why not just #include <errno.h> to get the list of
errno values? This is much more future-proof than copying the list of
values.
- The note you add in lang/freebasic/files/patch-inc_crt_freebsd_ctype.bi
contradicts the LGPL license the port is supposed to have. Also, by adding
this file to the port, you have already distributed it apart from the
FreeBASIC distribution. Please remove the note or bring it into compliance
with the license. Same for the other notes.
- Please remove -Wfatal-errors from the Makefile. Future compiler versions
may
have different error messages and we don't want the port to stop building
because the compiler feels like warning about some random irrelevant thing.
Same goes for -Werror and similar.
- Do not override the CFLAGS you receive from the environment, only ever
append
to them. Ports must obey CFLAGS given to them by the user or the ports
framework. Same for CPPFLAGS, LDFLAGS, etc.
- Do not set CC in your port. Instead use whatever value CC has been set to
by
the ports framework. If you need gcc to build this port, add USE_GCC=yes to
the port makefile, which will cause it to select a version of gcc. Do not
try to guess what the compiler is.
- Do not set prefix. Obey whatever value PREFIX has been set to by the port
framework. This value may or may not be /usr/local.
- if you need commands like dos2unix installed, make sure to add them to
BUILD_DEPENDS. All dependencies of the port must be listed there. I
recommend you use Poudriere to build-test the port. Poudriere builds the
port in a jail that only has the listed dependencies installed, making it
easy to check if you forgot any.
- instead of running dos2unix in your makefile, you can add USES=dos2unix to
the port makefile, which will automatically convert all line endings in the
project. See § 17.19 Porter's Handbook for details.
- to use ncurses, add USES=ncurses to the port makefile. Your port MUST obey
NCURSESINC, NCURSESLIB, NCURSESRPATH, etc. (see Mk/Uses/ncurses.mk) to find
the correct ncurses. There can be multiple copies of the library installed
and only the one these variables indicate is correct.
- please remove WWW: from pkg-descr and instead add a WWW variable to the port
Makefile. This is another ecent change in the port framework.
--
You are receiving this mail because:
You are the assignee for the bug.