Building dev-haskell/time-1.1.4 with FEATURES="test" results in the following output from emerge (unpack, configure and compile steps have been elided): Registering time-1.1.4... >>> Source compiled. * >>> Test phase [cabal test]: dev-haskell/time-1.1.4 setup: test: does not exist * ERROR: dev-haskell/time-1.1.4 failed: * cabal test failed Reproducible: Always Steps to Reproduce: 1. Enable the test feature. 2. emerge =dev-haskell/time-1.1.4 Actual Results: dev-haskell/time fails to make it past its test phase. Expected Results: The package should have built successfully. Note: the package builds successfully without FEATURES="test" set. Here's the build log: [33;01m*[0m CPV: dev-haskell/time-1.1.4 [32;01m*[0m REPO: gentoo [32;01m*[0m USE: elibc_glibc kernel_linux test userland_GNU x86 >>> Unpacking source... >>> Unpacking time-1.1.4.tar.gz to /var/tmp/portage/dev-haskell/time-1.1.4/work >>> Source unpacked in /var/tmp/portage/dev-haskell/time-1.1.4/work >>> Compiling source in /var/tmp/portage/dev-haskell/time-1.1.4/work/time-1.1.4 ... [32;01m*[0m Using cabal-1.8.0.2. [1 of 1] Compiling Main ( /var/tmp/portage/dev-haskell/time-1.1.4/work/time-1.1.4/Setup.hs, /var/tmp/portage/dev-haskell/time-1.1.4/work/time-1.1.4/Setup.o ) Linking setup ... Configuring time-1.1.4... Dependency base ==4.*: using base-4.1.0.0 Dependency old-locale -any: using old-locale-1.0.0.1 Using Cabal-1.8.0.2 compiled by ghc-6.10 Using compiler: ghc-6.10.4 Using install prefix: /usr Binaries installed in: /usr/bin Libraries installed in: /usr/lib/time-1.1.4/ghc-6.10.4 Private binaries installed in: /usr/libexec Data files installed in: /usr/share/time-1.1.4/ghc-6.10.4 Documentation installed in: /usr/share/doc/time-1.1.4 Using alex version 2.3.2 found on system at: /usr/bin/alex Using ar found on system at: /usr/bin/ar No c2hs found No cpphs found No ffihugs found Using gcc version 4.4.3 found on system at: /usr/bin/gcc Using ghc version 6.10.4 given by user at: /usr/bin/ghc Using ghc-pkg version 6.10.4 given by user at: /usr/bin/ghc-pkg No greencard found Using haddock version 2.4.2 found on system at: /usr/bin/haddock Using happy version 1.18.4 found on system at: /usr/bin/happy No hmake found Using hsc2hs version 0.67 found on system at: /usr/bin/hsc2hs No hscolour found No hugs found No jhc found Using ld found on system at: /usr/bin/ld No lhc found No lhc-pkg found No nhc98 found Using pkg-config version 0.23 found on system at: /usr/bin/pkg-config Using ranlib found on system at: /usr/bin/ranlib Using strip found on system at: /usr/bin/strip Using tar found on system at: /bin/tar sh configure --with-compiler=/usr/bin/ghc --with-hc-pkg=/usr/bin/ghc-pkg --prefix=/usr --libdir=/usr/lib --datadir=/usr/share/ checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking time.h usability... yes checking time.h presence... yes checking for time.h... yes checking for gmtime_r... yes checking for localtime_r... yes checking whether struct tm is in sys/time.h or time.h... time.h checking for struct tm.tm_zone... yes checking whether time.h and sys/time.h may both be included... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking whether altzone is declared... no configure: creating ./config.status config.status: creating include/HsTimeConfig.h config.status: include/HsTimeConfig.h is unchanged Preprocessing library time-1.1.4... Building time-1.1.4... [ 1 of 24] Compiling Data.Time.Clock.CTimeval ( Data/Time/Clock/CTimeval.hs, dist/build/Data/Time/Clock/CTimeval.o ) [ 2 of 24] Compiling Data.Time.Clock.Scale ( Data/Time/Clock/Scale.hs, dist/build/Data/Time/Clock/Scale.o ) [ 3 of 24] Compiling Data.Time.Calendar.Days ( Data/Time/Calendar/Days.hs, dist/build/Data/Time/Calendar/Days.o ) [ 4 of 24] Compiling Data.Time.Clock.UTC ( Data/Time/Clock/UTC.hs, dist/build/Data/Time/Clock/UTC.o ) [ 5 of 24] Compiling Data.Time.Calendar.Private ( Data/Time/Calendar/Private.hs, dist/build/Data/Time/Calendar/Private.o ) [ 6 of 24] Compiling Data.Time.Calendar.JulianYearDay ( Data/Time/Calendar/JulianYearDay.hs, dist/build/Data/Time/Calendar/JulianYearDay.o ) [ 7 of 24] Compiling Data.Time.Clock.POSIX ( Data/Time/Clock/POSIX.hs, dist/build/Data/Time/Clock/POSIX.o ) [ 8 of 24] Compiling Data.Time.Clock.UTCDiff ( Data/Time/Clock/UTCDiff.hs, dist/build/Data/Time/Clock/UTCDiff.o ) [ 9 of 24] Compiling Data.Time.Clock ( Data/Time/Clock.hs, dist/build/Data/Time/Clock.o ) [10 of 24] Compiling Data.Time.LocalTime.TimeZone ( Data/Time/LocalTime/TimeZone.hs, dist/build/Data/Time/LocalTime/TimeZone.o ) [11 of 24] Compiling Data.Time.LocalTime.TimeOfDay ( Data/Time/LocalTime/TimeOfDay.hs, dist/build/Data/Time/LocalTime/TimeOfDay.o ) [12 of 24] Compiling Data.Time.Calendar.OrdinalDate ( Data/Time/Calendar/OrdinalDate.hs, dist/build/Data/Time/Calendar/OrdinalDate.o ) [13 of 24] Compiling Data.Time.Calendar.WeekDate ( Data/Time/Calendar/WeekDate.hs, dist/build/Data/Time/Calendar/WeekDate.o ) [14 of 24] Compiling Data.Time.Calendar.MonthDay ( Data/Time/Calendar/MonthDay.hs, dist/build/Data/Time/Calendar/MonthDay.o ) [15 of 24] Compiling Data.Time.Calendar.Julian ( Data/Time/Calendar/Julian.hs, dist/build/Data/Time/Calendar/Julian.o ) [16 of 24] Compiling Data.Time.Calendar.Gregorian ( Data/Time/Calendar/Gregorian.hs, dist/build/Data/Time/Calendar/Gregorian.o ) [17 of 24] Compiling Data.Time.Calendar ( Data/Time/Calendar.hs, dist/build/Data/Time/Calendar.o ) [18 of 24] Compiling Data.Time.Calendar.Easter ( Data/Time/Calendar/Easter.hs, dist/build/Data/Time/Calendar/Easter.o ) [19 of 24] Compiling Data.Time.LocalTime.LocalTime ( Data/Time/LocalTime/LocalTime.hs, dist/build/Data/Time/LocalTime/LocalTime.o ) [20 of 24] Compiling Data.Time.LocalTime ( Data/Time/LocalTime.hs, dist/build/Data/Time/LocalTime.o ) [21 of 24] Compiling Data.Time.Clock.TAI ( Data/Time/Clock/TAI.hs, dist/build/Data/Time/Clock/TAI.o ) [22 of 24] Compiling Data.Time.Format.Parse ( Data/Time/Format/Parse.hs, dist/build/Data/Time/Format/Parse.o ) [23 of 24] Compiling Data.Time.Format ( Data/Time/Format.hs, dist/build/Data/Time/Format.o ) [24 of 24] Compiling Data.Time ( Data/Time.hs, dist/build/Data/Time.o ) Registering time-1.1.4... >>> Source compiled. [32;01m*[0m >>> Test phase [cabal test]: dev-haskell/time-1.1.4 setup: test: does not exist [31;01m*[0m ERROR: dev-haskell/time-1.1.4 failed: [31;01m*[0m cabal test failed [31;01m*[0m [31;01m*[0m Call stack: [31;01m*[0m ebuild.sh, line 54: Called src_test [31;01m*[0m environment, line 1637: Called haskell-cabal_src_test [31;01m*[0m environment, line 1388: Called die [31;01m*[0m The specific snippet of code: [31;01m*[0m ./setup test || die "cabal test failed"; [31;01m*[0m [31;01m*[0m If you need support, post the output of 'emerge --info =dev-haskell/time-1.1.4', [31;01m*[0m the complete build log and the output of 'emerge -pqv =dev-haskell/time-1.1.4'. [31;01m*[0m The complete build log is located at '/var/tmp/portage/dev-haskell/time-1.1.4/temp/build.log'. [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/dev-haskell/time-1.1.4/temp/environment'. [31;01m*[0m S: '/var/tmp/portage/dev-haskell/time-1.1.4/work/time-1.1.4' and here's emerge --info: Portage 2.1.8.3 (default/linux/x86/10.0, gcc-4.4.3, glibc-2.11-r1, 2.6.33-gentoo i686) ================================================================= System uname: Linux-2.6.33-gentoo-i686-Intel-R-_Core-TM-_Duo_CPU_L2400_@_1.66GHz-with-gentoo-2.0.1 Timestamp of tree: Sat, 10 Apr 2010 00:00:01 +0000 app-shells/bash: 4.1_p5 dev-java/java-config: 2.1.10 dev-lang/python: 2.4.4-r15, 2.5.4-r3, 2.6.5-r1, 3.1.2-r1 dev-python/pycrypto: 2.1.0 dev-util/cmake: 2.8.1 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.6.1-r1 sys-apps/sandbox: 2.2 sys-devel/autoconf: 2.13, 2.65 sys-devel/automake: 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1 sys-devel/gcc: 4.3.4, 4.4.3 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6b virtual/os-headers: 2.6.33 ACCEPT_KEYWORDS="x86 ~x86" ACCEPT_LICENSE="* -@EULA dlj-1.1 PUEL" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=prescott -pipe -ggdb" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/bind /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O2 -march=prescott -pipe -ggdb" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests distlocks fixpackages metadata-transfer news parallel-fetch protect-owned sandbox sfperms splitdebug strict test unmerge-logs unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LDFLAGS="-Wl,-O1" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage/layman/x11 /usr/local/portage/layman/kde /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl acpi alsa avahi bash-completion berkdb bluetooth bzip2 caps cdr cli consolekit cracklib crypt cups cxx dbus dri dvd ffmpeg flac fortran gdbm gpm gtk hal iconv ieee1394 inotify ipv6 java jpeg kde kerberos lame ldap lua lzma mad matroska mmx modules mp3 mudflap mysql ncurses networkmanager nls nptl nptlonly offensive ogg opengl openmp pam pcmcia pcre perl png policykit postgres pppd pulseaudio python qt qt3support qt4 readline reflection samba sasl sdl semantic-desktop session slp sndfile speex spell spl sse sse2 sse3 ssl svg sysfs tcpd theora tiff truetype udev unicode upnp usb v4l2 vim-syntax vorbis wifi win32codecs wireless x86 xattr xinerama xml xorg xv xvid zeroconf zlib" ALSA_CARDS="hda-intel usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
*sigh* this is because the test support for the haskell-cabal eclass is still experimental, and obviously fails for packages that either don't have a test class or don't expose it via the cabal file.
(In reply to comment #1) > *sigh* this is because the test support for the haskell-cabal eclass is still > experimental, and obviously fails for packages that either don't have a test > class or don't expose it via the cabal file. Things are not so bad. Default cabal hooks define empty (successful) test. The problem is in cabal's autoconf hooks, which imply 'test' binary for 'cabal test' feature. I've pushed RESTRICT=test in time-1.1.4 ebuild in overlay: http://code.haskell.org/gentoo/gentoo-haskell/dev-haskell/time/time-1.1.4.ebuild Portage tree will likely need that RESTRICT in all ebuilds.
> Portage tree will likely need that RESTRICT in all ebuilds. I meant 'in all _time_ ebuilds' Looked slightly closer and found out it's a time's fault: http://www.haskell.org/pipermail/libraries/2010-April/013489.html Other autoconf based (like dev-haskell/x11) pass (noop) tests successfully
Tests are disabled in tree for dev-haskell/time. Someone should help upstream to make them properly.