From 034f7ad1b2ffb9283cecc1e529cd7c7a0f964d5d Mon Sep 17 00:00:00 2001 From: David Seifert Date: Sat, 7 Jan 2017 12:07:11 +0200 Subject: sci-libs/fftw: Fix parallel test failure Gentoo-bug: 603352 * Also conditionally delete .la files Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- sci-libs/fftw/fftw-2.1.5-r9.ebuild | 9 +- .../fftw/files/fftw-2.1.5-parallel-tests.patch | 105 +++++++++++++++++++++ 2 files changed, 112 insertions(+), 2 deletions(-) create mode 100644 sci-libs/fftw/files/fftw-2.1.5-parallel-tests.patch (limited to 'sci-libs') diff --git a/sci-libs/fftw/fftw-2.1.5-r9.ebuild b/sci-libs/fftw/fftw-2.1.5-r9.ebuild index 1251bd41b8c0..71fe48fe3959 100644 --- a/sci-libs/fftw/fftw-2.1.5-r9.ebuild +++ b/sci-libs/fftw/fftw-2.1.5-r9.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -27,6 +27,7 @@ PATCHES=( "${FILESDIR}"/${P}-no-test.patch "${FILESDIR}"/${P}-cc.patch "${FILESDIR}"/${P}-texinfo5.1.patch + "${FILESDIR}"/${P}-parallel-tests.patch ) pkg_pretend() { @@ -116,7 +117,7 @@ src_test() { } src_install () { - use doc && HTML_DOCS=( doc/{*.html,*.gif} ) + use doc && HTML_DOCS=( doc/*.{html,gif} ) multibuild_foreach_variant run_in_build_dir default_src_install doheader fortran/fftw_f77.i @@ -130,4 +131,8 @@ src_install () { done } create_fftw_symlinks $(usex float s d) + + if ! use static-libs; then + find "${D}" -name '*.la' -delete || die + fi } diff --git a/sci-libs/fftw/files/fftw-2.1.5-parallel-tests.patch b/sci-libs/fftw/files/fftw-2.1.5-parallel-tests.patch new file mode 100644 index 000000000000..b92e6dad299c --- /dev/null +++ b/sci-libs/fftw/files/fftw-2.1.5-parallel-tests.patch @@ -0,0 +1,105 @@ +Fix failure of parallel test suite. This is due to +misspecification of the test suite, which requires +first compiling $(check_PROGRAMS) and only then +running $(TESTS): + +* check-am: all-am +* $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) +* $(MAKE) $(AM_MAKEFLAGS) check-TESTS + +The old build system never specified $(TESTS) and +erroneously made the check target depend on the +two tests. +See also: https://bugs.gentoo.org/show_bug.cgi?id=603352 + +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -12,22 +12,7 @@ + rfftw_test_LDADD = $(RFFTWDIR)/lib@FFTW_PREFIX@rfftw.la \ + $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la + +-check: fftw-tests rfftw-tests ++TESTS = myfftwtests.sh myrfftwtests.sh + +-fftw-tests: fftw_test +- ./fftw_test -p 0 +- ./fftw_test -x 128 -a 0 +- ./fftw_test -x 32 -a 2 +- ./fftw_test -x 100 -r 0 +- @echo "--------------------------------------------------------------" +- @echo " FFTW complex-complex transforms passed tests!" +- @echo "--------------------------------------------------------------" +- +-rfftw-tests: rfftw_test +- ./rfftw_test -p 0 +- ./rfftw_test -x 128 -a 0 +- ./rfftw_test -x 32 -a 2 +- ./rfftw_test -x 100 -r 0 +- @echo "--------------------------------------------------------------" +- @echo " RFFTW real-complex transforms passed tests!" +- @echo "--------------------------------------------------------------" ++TEST_EXTENSIONS = .sh ++SH_LOG_COMPILER = $(SHELL) +--- a/tests/myfftwtests.sh ++++ b/tests/myfftwtests.sh +@@ -0,0 +1,4 @@ ++./fftw_test -p 0 && \ ++./fftw_test -x 128 -a 0 && \ ++./fftw_test -x 32 -a 2 && \ ++./fftw_test -x 100 -r 0 +--- a/tests/myrfftwtests.sh ++++ b/tests/myrfftwtests.sh +@@ -0,0 +1,4 @@ ++./rfftw_test -p 0 && \ ++./rfftw_test -x 128 -a 0 && \ ++./rfftw_test -x 32 -a 2 && \ ++./rfftw_test -x 100 -r 0 +--- a/threads/fftw_threads_test_check.sh ++++ b/threads/fftw_threads_test_check.sh +@@ -0,0 +1,4 @@ ++./fftw_threads_test 1 -x 100 -r 0 && \ ++./fftw_threads_test 2 -x 100 -r 0 && \ ++./fftw_threads_test 3 -x 100 -r 0 && \ ++./fftw_threads_test 10 -x 100 -r 0 +--- a/threads/Makefile.am ++++ b/threads/Makefile.am +@@ -78,29 +78,7 @@ + # incorrect. Just disable autoheader + AUTOHEADER=echo + +-check: @FFTW_THREADS_PROGLIST@ +- @set fnord $(MAKEFLAGS); amf=$$2; \ +- list='@FFTW_THREADS_PROGLIST@'; for prog in $$list; do \ +- target="$$prog""-check"; \ +- echo "Making $$target"; \ +- ($(MAKE) $$target) \ +- || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ +- done && test -z "$$fail" ++TESTS = fftw_threads_test_check.sh rfftw_threads_test_check.sh + +-fftw_threads_test-check: fftw_threads_test +- ./fftw_threads_test 1 -x 100 -r 0 +- ./fftw_threads_test 2 -x 100 -r 0 +- ./fftw_threads_test 3 -x 100 -r 0 +- ./fftw_threads_test 10 -x 100 -r 0 +- @echo "--------------------------------------------------------------" +- @echo " FFTW complex-complex threads transforms passed tests!" +- @echo "--------------------------------------------------------------" +- +-rfftw_threads_test-check: rfftw_threads_test +- ./rfftw_threads_test 1 -x 100 -r 0 +- ./rfftw_threads_test 2 -x 100 -r 0 +- ./rfftw_threads_test 3 -x 100 -r 0 +- ./rfftw_threads_test 10 -x 100 -r 0 +- @echo "--------------------------------------------------------------" +- @echo " RFFTW real-complex threads transforms passed tests!" +- @echo "--------------------------------------------------------------" ++TEST_EXTENSIONS = .sh ++SH_LOG_COMPILER = $(SHELL) +--- a/threads/rfftw_threads_test_check.sh ++++ b/threads/rfftw_threads_test_check.sh +@@ -0,0 +1,4 @@ ++./rfftw_threads_test 1 -x 100 -r 0 && \ ++./rfftw_threads_test 2 -x 100 -r 0 && \ ++./rfftw_threads_test 3 -x 100 -r 0 && \ ++./rfftw_threads_test 10 -x 100 -r 0 -- cgit v1.2.3