Index | Thread | Search

From:
Jag Talon <jag@aangat.lahat.computer>
Subject:
Re: [New] graphics/decker
To:
ports@openbsd.org
Cc:
op@omarpolo.com
Date:
Thu, 15 Feb 2024 22:23:20 -0500

Download raw body.

Thread
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/