Ok, I tested on i386 (Asus EeePC) and it's working well! Since it's only been tested on i386 and amd64, I'm limiting it to those two archs for now.

I attached the new tarball. Ok with everyone?

On 2/15/24 5:20 PM, Omar Polo wrote:
not exactly, it's silghtly more tricky.  don't want to sound like a
RTFM, but bsd.port.mk(5) has a better description for COMPILER and
COMPILER_LANGS that I could ever give :)

Ah I completely missed this documentation I was mostly guessing what the variables meant this makes much more sense. Of course, OpenBSD has all the docs for things! Thank you for pointing that out.

BUILD_DEPENDS is used to track the dependencies needed to build the
thing, like build tools etc.  In this case, only bash and vim (xxd) are
build depends.

When a port provides a library it is listed in LIB_DEPENDS, since it's
both a BUILD_DEPENDS and a RUN_DEPENDs.  But it's also a bit more
special.

Libraries needed by a port are tracked since the resulting package may
need to be reinstalled when a library it depends on is updated, even if
the package itself didn't change the version.  (thats why, after a
popular library, maybe even libc, is 'bumped' a few days later pkg_add
will reinstall almost all packages)

WANTLIB lists the exact libraries names the binaries included in this
port link to, and contains both stuff from base and from ports.

Finding the value for LIB_DEPENDS and WANTLIB can be aid by `make
port-lib-depends-check', which will report all the missing LIB_DEPENDS
(unreachable - pkglocate can be used to know the package name from the
libraries reported by make) and gives you some WANTLIB lines that can be
copy-pasted in the makefile.

Some edge case (like libraries installed in non-default paths or
libraries linked statically) may need some manual handling, but for the
vast majority of ports it's quite simple and automatic.

Good to know thank you I didn't know about this! I'm not familiar with C
build systems so still learning!

in a nutsell, `make foo && make bar && make baz` is equivalent to `make
foo bar baz` (at least with one job, using -j may invalidate this
assumption.)

Also, if you really have to roll your own do-build, starting from the
default one is reccommended.  (it's documented in bsd.port.mk(5), see the
build description -- `:t build ENTER' when reading the manpage)

Omg this is gold thank you for taking the time to explain it! I'll use this as a reference for future work!

--
Jag Talon (he/him)

https://jagtalon.net/
https://weirder.earth/@jag
https://aangat.lahat.computer/

Attachment: decker.tar.gz
Description: application/gzip

Reply via email to