Le Sat, Apr 16, 2022 at 10:11:11PM +0200, Volker Schlecht a écrit : > Hi, > > so here's my shot at the octave update. There are some remaining failing > tests (they have been failing in 5.2.0 as well), that are due to Octave > banking on some specific behaviors of GNU libstdc++ ... (un)fortunately > these are all documented: > > https://lists.gnu.org/archive/html/octave-maintainers/2018-04/msg00152.html > > The most disturbing one is the difference in parsing imaginary parts of > complex numbers, so using dlmread or str2double is badly broken on systems > building with libc++: > > https://bugs.llvm.org/show_bug.cgi?id=17782 > > That's not a regression vs. the 5.2.0 port - it's been in there as well. > > I added a dependency on gtar, because Octave assumes either bsdtar or GNU > tar, and enforcing GNU tar seemed to be the most straightforward way of > addressing that.
thanks for all the details on the failing tests & the gtar thing, its much clearer now. i've tried your diff and it fails to package here, some tests are apparently installed in the wrong dir ? Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@cell/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@char/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@double/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@function_handle/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@int16/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@int32/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@int64/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@int8/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@logical/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@single/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@struct/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@uint16/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@uint32/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@uint64/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/@uint8/tbcover.m does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/bc-overloads.tst does not exist Error: /usr/obj/ports/octave-7.1.0/fake-amd64/usr/local/share/octave/7.1.0/etc/tests/fixed/build/pobj/octave-7.1.0/build-amd64/test/tbcover.m does not exist > +# Some tests fail when a tilde doesn't expand to a home directory > +TEST_ENV = HOME="${WRKSRC}" tb@ commented on this and said this should be PORTHOME=${WRKSRC}, so i've done that locally and it failed to package => the below chunk of PLIST is wrong :) > +share/octave/${VERSION}/etc/tests/fixed/build/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@cell/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@cell/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@char/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@char/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@double/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@double/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@function_handle/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@function_handle/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@int16/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@int16/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@int32/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@int32/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@int64/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@int64/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@int8/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@int8/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@logical/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@logical/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@single/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@single/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@struct/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@struct/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@uint16/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@uint16/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@uint32/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@uint32/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@uint64/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@uint64/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@uint8/ > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/@uint8/tbcover.m > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/bc-overloads.tst > +share/octave/${VERSION}/etc/tests/fixed/build/pobj/octave-${VERSION}/build-amd64/test/tbcover.m with PORTHOME=${WRKSRC}, make update-plist changes all those to share/octave/${VERSION}/etc/tests/fixed/usr/obj/ports/octave-${VERSION}/build-amd64/test/ which is also deeply wrong :) those specific tests installation needs proper fixing... Landry