On Tue, Mar 7, 2023 at 11:18 PM Alistair Crooks <agc%pkgsrc.org@localhost> wrote:
>
> pkgsrc/mk/plist/shlib-dylib.awk looks for shared objects in the PLIST that match the regexps
>
> /.*\/lib[^\/]+\.so(\.[0-9]+)+$/
> /.*\/lib[^\/]+\.so$/
>
> As neither ladspa-rubberband.so or vamp-rubberband.so starts with "lib" for the directory entry name, they don't get matched
>
> My first thought is to go for a specialised PLIST.Darwin, I think (see also pkgsrc/devel/valgrind/PLIST.Darwin), but there are probably much better ways to do it
What if the regex to rename .so to .dylib didn't require ^lib[^\/]+ in
the basename?
I decided to experiment with removing lib from the regex,
to identify consequences and/or remediation. First I edited
the shlib-dylib.awk file, but I got unexpected results when
installing pkgsrc in a new prefix, so I tried the patch in a
control environment, nb 9.3 amd64, same unexpected
problem, some files are going into a /pkg/ path that is
not part of the prefix. I tried again without the patch.
In a pristine nb 9.3, with current pkgsrc, and --prefix /usr/pkg_
bash dependencies are not detected in the bootstrap prefix,
and the build proceeds to reinstall them into /usr/pkg
I now have two pkgdb, that is a mistake, but I haven't
figured out where the /usr/pkg prefix is hard coded,
or why my bootstrap /usr/pkg_ prefix is not used.
ls /usr/pkg_/pkgdb/ /usr/pkg/pkgdb/
/usr/pkg/pkgdb/:
cwrappers-20220403 digest-20220214 mktools-20220614 pkgdb.byfile.db
/usr/pkg_/pkgdb/:
bmake-20200524nb1 cwrappers-20220403 pkg_install-20211115
bootstrap-mk-files-20230225 mktools-20220614 pkgdb.byfile.db