pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: patch for current audio/rubberband



...In March I was able to brute force patch audio/rubberband (and audio/vamp-plugin-sdk) for a package-install of rubberband-3.2.0, but I was never able to figure out how to fix it suitably for an upstream patch. The packages build fine, they just need some mv, ln, or cp work to fixup the .dylib vs .so on Darwin, to pass the PLIST checks. --I don't remember exactly how I did it but it was a mess.

The package has a relatively complex build, with devel/meson and devel/ninja-build deps, but with the pkgsrc-2023Q3 tag, everything works, except of course the PLIST issue.

so is this a pkgsrc or upstream issue? What's the best way to get it fixed?

=> Checking for missing run-time search paths in vamp-plugin-sdk-2.10.0nb3
ERROR: lib/libvamp-hostsdk.3.10.0.dylib: relative library path: libvamp-hostsdk.so
ERROR: lib/libvamp-hostsdk.3.10.0.dylib: missing library: libvamp-hostsdk.so
ERROR: lib/libvamp-sdk-dynamic.2.10.0.dylib: relative library path: libvamp-sdk.so
ERROR: lib/libvamp-sdk-dynamic.2.10.0.dylib: missing library: libvamp-sdk.so
ERROR: lib/vamp/vamp-example-plugins.so: relative library path: examples/vamp-example-plugins.so
ERROR: lib/vamp/vamp-example-plugins.so: missing library: examples/vamp-example-plugins.so
*** Error code 1

Stop.
bmake[2]: stopped in /opt/pkgsrc-current/audio/vamp-plugin-sdk
*** Error code 1

Stop.
bmake[1]: stopped in /opt/pkgsrc-current/audio/vamp-plugin-sdk
*** Error code 1

Stop.
bmake: stopped in /opt/pkgsrc-current/audio/rubberband

On Sat, Mar 11, 2023 at 10:09 PM George Georgalis <george%galis.org@localhost> wrote:
maybe packages should not create a LOCALBASE if it doesn't exist?
isn't that highly likely (guaranteed?) a mistake, if the dir is not created
by bootstrap? if LOCALBASE is not set, perhaps it could be determined:

$(which bmake | sed 's,/bin/bmake$,,')

else PKG_FAIL_REASON="cannot determine LOCALBASE, no bmake in PATH"

That would better interact with bootstrap --prefix; vs LOCALBASE/etc/mk.conf
being an example and requiring a /etc/mk.conf source of truth, depending on the
bootstrap --prefix?

/usr/pkg/etc/mk.conf as a config, unless it is an example, seems unnecessarily fragile.

On Sat, Mar 11, 2023 at 11:14 AM George Georgalis <george%galis.org@localhost> wrote:
On Thu, Mar 9, 2023 at 3:23 PM George Georgalis <george%galis.org@localhost> wrote:
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.

minimal install
ftp https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.xz
ftp https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.3/amd64/binary/sets/comp.tar.xz
tar -C / -xzf comp.tar.xz
tar -C /usr -xzf pkgsrc.tar.xz

cd /usr/pkgsrc && cvs update -Pd
cd /usr/pkgsrc \
  && ./bootstrap/bootstrap --prefix /usr/pkg_ --prefer-pkgsrc yes \
    --make-jobs 6 --unprivileged
export PATH=$PATH:/usr/pkg_/bin
cd /usr/pkgsrc/shells/bash && make install
...manual break

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


--
George Georgalis, (415) 894-2710, http://www.galis.org/



--
George Georgalis, (415) 894-2710, http://www.galis.org/



--
George Georgalis, (415) 894-2710, http://www.galis.org/





Home | Main Index | Thread Index | Old Index