agrellum
2017-11-10 818cbc4542f779bb1e6e8dba9cd64b75f976aca8
vala: update to 0.36.7, use gcc and fix tests

2 files added
1 files modified
474 ■■■■■ changed files
components/developer/vala/Makefile 16 ●●●● patch | view | raw | blame | history
components/developer/vala/patches/tests.patch 167 ●●●●● patch | view | raw | blame | history
components/developer/vala/test/results-all.master 291 ●●●●● patch | view | raw | blame | history
components/developer/vala/Makefile
@@ -25,8 +25,7 @@
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME=     vala
COMPONENT_VERSION=  0.36.4
COMPONENT_REVISION= 2
COMPONENT_VERSION=  0.36.7
COMPONENT_LICENSE=  LGPL2.1
COMPONENT_FMRI=     developer/vala
COMPONENT_SUMMARY=  Vala programming language
@@ -35,7 +34,7 @@
COMPONENT_SRC=      $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE=  $(COMPONENT_SRC).tar.xz
COMPONENT_ARCHIVE_HASH= \
    sha256:e9f23ce711c1a72ce664d10946fbc5953f01b0b7f2a3562e7a01e362d86de059
    sha256:32527182e9345d08be34ab85409b5bb9672f9b83d96813fb07689a1d4ab9f002
COMPONENT_ARCHIVE_URL=  http://download.gnome.org/sources/vala/0.36/$(COMPONENT_ARCHIVE)
include $(WS_MAKE_RULES)/prep.mk
@@ -44,9 +43,20 @@
PATH=$(PATH.gnu)
COMPONENT_PRE_CONFIGURE_ACTION = ($(CLONEY) $(SOURCE_DIR) $(@D))
CONFIGURE_SCRIPT = $(@D)/configure
CONFIGURE_OPTIONS  +=  --disable-static
CONFIGURE_OPTIONS  +=  --enable-shared
COMPONENT_TEST_ENV += CC=$(CC)
COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
COMPONENT_TEST_TRANSFORMS += \
    '-ne "/^PASS:/p" ' \
    '-ne "/^FAIL:/p" ' \
    '-ne "/^TOTAL:/p" '
# common targets
build:      $(BUILD_32_and_64)
components/developer/vala/patches/tests.patch
New file
@@ -0,0 +1,167 @@
--- vala-0.36.6/tests/testrunner.sh    Sun Oct  8 10:39:01 2017
+++ vala-0.36.6/tests/testrunner.sh.new    Wed Nov  8 10:53:07 2017
@@ -19,6 +19,7 @@
 #
 # Author:
 #     Jürg Billeter <j@bitron.ch>
+# This version patched to run on OpenIndiana by Jason Martin
 builddir=$PWD
 topbuilddir=$builddir/..
@@ -29,7 +30,34 @@
 export G_DEBUG=fatal_warnings
 VALAC=$topbuilddir/compiler/valac$EXEEXT
-VALAFLAGS="$VALAFLAGS --vapidir $vapidir --disable-warnings --main main --save-temps -X -g -X -O0 -X -pipe -X -lm -X -DGETTEXT_PACKAGE=\"valac\" -X -Werror=return-type -X -Werror=init-self -X -Werror=implicit -X -Werror=sequence-point -X -Werror=return-type -X -Werror=uninitialized -X -Werror=pointer-arith -X -Werror=int-to-pointer-cast -X -Werror=pointer-to-int-cast -X -Wformat -X -Werror=format-security -X -Werror=format-nonliteral -X -Werror=redundant-decls -X -Werror=int-conversion"
+# OpenIndiana add -v flag for extra logging
+# Removed -X -Werror=int-conversion, not an option with oi gcc (GCC) 4.9.4
+# Removed -X -Werror=int-to-pointer-cast and -X -Werror=pointer-to-int-cast
+#  for BUILD_32_and_64 test compares
+VALAFLAGS="$VALAFLAGS \
+    -v \
+    --vapidir \
+    $vapidir \
+    --disable-warnings \
+    --main main \
+    --save-temps \
+    -X -g \
+    -X -O0 \
+    -X -pipe \
+    -X -lm \
+    -X -DGETTEXT_PACKAGE=\"valac\" \
+    -X -Werror=return-type \
+    -X -Werror=init-self \
+    -X -Werror=implicit \
+    -X -Werror=sequence-point \
+    -X -Werror=return-type \
+    -X -Werror=uninitialized \
+    -X -Werror=pointer-arith \
+    -X -Wformat \
+    -X -Werror=format-security \
+    -X -Werror=format-nonliteral \
+    -X -Werror=redundant-decls"
+
 VAPIGEN=$topbuilddir/vapigen/vapigen$EXEEXT
 VAPIGENFLAGS="--vapidir $vapidir"
@@ -114,26 +142,28 @@
 }
 testdir=_test
-rm -rf $testdir
-mkdir $testdir
-cd $testdir
+passed=0
+failed=0
-echo -n -e "TEST: Building...\033[72G"
+echo "TEST: Building...\n"
-cat << "EOF" > checkall
-all=0
-fail=0
-EOF
+for testfile in "$@"; do
+    PACKAGES=gio-2.0
+    # quick hack to get this test to pass; remove when test changes
+    if [ "$testfile" = "dbus/enum-string-marshalling.vala" ]; then
+        PACKAGES="$PACKAGES gio-unix-2.0"
+    fi
+    SOURCEFILES=
+    cd $builddir
+    rm -rf $testdir
+    mkdir $testdir
+    cd $testdir
-cat << "EOF" > main.vala
+    cat << "EOF" > main.vala
 void main (string[] args) {
     switch (args[1]) {
 EOF
-PACKAGES=gio-2.0
-SOURCEFILES=
-for testfile in "$@"; do
-    rm -f prepare check
     echo 'set -e' >> prepare
     case "$testfile" in
@@ -172,7 +202,7 @@
                         INHEADER=0
                     fi
                 else
-                    if echo "$line" | grep -q "^[A-Za-z]\+:"; then
+                    if echo "$line" | grep -q "^[A-Za-z]*:"; then
                         sourceend
                         PART=$(($PART + 1))
                         INHEADER=1
@@ -189,27 +219,7 @@
     esac
     cat prepare check > $ns.check
-    cat << EOF >> checkall
-echo -n -e "  /$testpath: \033[72G"
-((all++))
-if bash $ns.check &>log; then
-    echo -e "\033[0;32mOK\033[m"
-else
-    ((fail++))
-    echo -e "\033[0;31mFAIL\033[m"
-    cat log
-fi
-EOF
-done
-cat << "EOF" >> checkall
-if [ $fail -eq 0 ]; then
-    echo "All $all tests passed"
-else
-    echo "$fail of $all tests failed"
-    exit 1
-fi
-EOF
 cat << "EOF" >> main.vala
     default: assert_not_reached ();
@@ -217,23 +227,25 @@
 }
 EOF
-cat $SOURCEFILES >> main.vala
+    if [ -n "$SOURCEFILES" ]
+    then
+        cat $SOURCEFILES >> main.vala
+        if ! $VALAC $VALAFLAGS -o test$EXEEXT $([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 printf "%s" " --pkg=") main.vala &>log; then
+            cat log
+        fi
+    fi
-if $VALAC $VALAFLAGS -o test$EXEEXT $([ -z "$PACKAGES" ] || echo $PACKAGES | xargs -n 1 echo -n " --pkg") main.vala &>log; then
-    echo -e "\033[0;32mOK\033[m"
-else
-    echo -e "\033[0;31mFAIL\033[m"
-    cat log
+    if bash $ns.check &>log; then
+        echo "PASS: /$testfile"
+        ((passed++))
+    else
+        echo "FAIL: /$testfile"
+        ((failed++))
+        cat log
+    fi
-    cd $builddir
-    exit 1
-fi
+done
-if bash checkall; then
-    cd $builddir
-    rm -rf $testdir
-else
-    cd $builddir
-    exit 1
-fi
+echo "TOTAL: passed $passed of $# tests and failed $failed"
+cd $builddir
components/developer/vala/test/results-all.master
New file
@@ -0,0 +1,291 @@
PASS: /basic-types/integers.vala
PASS: /basic-types/escape-chars.vala
PASS: /basic-types/floats.vala
PASS: /basic-types/strings.vala
PASS: /basic-types/arrays.vala
PASS: /basic-types/pointers.vala
PASS: /basic-types/sizeof.vala
PASS: /basic-types/bug571486.vala
PASS: /basic-types/bug591552.vala
PASS: /basic-types/bug595751.vala
PASS: /basic-types/bug596637.vala
PASS: /basic-types/bug596785.vala
PASS: /basic-types/bug632322.vala
PASS: /basic-types/bug643612.vala
PASS: /basic-types/bug644046.vala
PASS: /basic-types/bug647222.vala
PASS: /basic-types/bug648364.vala
PASS: /basic-types/bug650993.vala
PASS: /basic-types/bug652380.vala
PASS: /basic-types/bug655908.vala
PASS: /basic-types/bug659975.vala
PASS: /basic-types/bug678791.vala
PASS: /basic-types/bug686336.vala
PASS: /basic-types/bug729907.vala
PASS: /basic-types/bug731017.vala
PASS: /basic-types/bug756376.vala
PASS: /basic-types/bug761307.vala
PASS: /basic-types/bug761736.vala
PASS: /basic-types/bug771626.test
PASS: /basic-types/bug772426.vala
PASS: /basic-types/bug777697.test
PASS: /basic-types/bug787152.vala
PASS: /basic-types/bug788775.vala
PASS: /chainup/class-base.vala
PASS: /chainup/class-base-foo.vala
PASS: /chainup/class-object.vala
PASS: /chainup/class-this.vala
PASS: /chainup/class-this-foo.vala
PASS: /chainup/no-chainup.vala
PASS: /chainup/struct-base.vala
PASS: /chainup/struct-base-foo.vala
PASS: /chainup/struct-this.vala
PASS: /chainup/struct-this-foo.vala
PASS: /pointers/bug590641.vala
PASS: /namespaces.vala
PASS: /methods/lambda.vala
PASS: /methods/closures.vala
PASS: /methods/prepostconditions.vala
PASS: /methods/symbolresolution.vala
PASS: /methods/bug595538.vala
PASS: /methods/bug596726.vala
PASS: /methods/bug597426.vala
PASS: /methods/bug598738.vala
PASS: /methods/bug599892.vala
PASS: /methods/bug613483.vala
PASS: /methods/bug620673.vala
PASS: /methods/bug622570.vala
PASS: /methods/bug626783.vala
PASS: /methods/bug639054.vala
PASS: /methods/bug642350.vala
PASS: /methods/bug642885.vala
PASS: /methods/bug642899.vala
PASS: /methods/bug646345.vala
PASS: /methods/bug648030.test
PASS: /methods/bug648320.vala
PASS: /methods/bug649562.vala
PASS: /methods/bug652098.vala
FAIL: /methods/bug653391.vala
PASS: /methods/bug653908.vala
PASS: /methods/bug663210.vala
PASS: /methods/bug710862.vala
PASS: /methods/bug723009.vala
PASS: /methods/bug723195.vala
PASS: /methods/bug726347.vala
PASS: /methods/bug736235.vala
PASS: /methods/bug737222.vala
PASS: /methods/bug743877.vala
PASS: /methods/bug771964.vala
PASS: /methods/bug774060.vala
PASS: /methods/bug775466.test
PASS: /methods/bug781061.vala
PASS: /methods/generics.vala
PASS: /methods/printf-invalid.test
PASS: /methods/printf-constructor.vala
PASS: /methods/printf-constructor-invalid.test
PASS: /control-flow/break.vala
PASS: /control-flow/expressions-conditional.vala
PASS: /control-flow/for.vala
PASS: /control-flow/foreach.vala
PASS: /control-flow/nested-conditional.vala
PASS: /control-flow/switch.vala
PASS: /control-flow/sideeffects.vala
PASS: /control-flow/bug628336.vala
PASS: /control-flow/bug639482.vala
PASS: /control-flow/bug652549.vala
PASS: /control-flow/bug661985.vala
PASS: /control-flow/bug665904.vala
PASS: /control-flow/bug691514.vala
PASS: /control-flow/bug736774-1.vala
FAIL: /control-flow/bug736774-2.vala
PASS: /enums/enum_only.vala
PASS: /enums/enums.vala
PASS: /enums/flags.vala
PASS: /enums/bug673879.vala
PASS: /enums/bug763831.vala
PASS: /enums/bug780050.vala
PASS: /structs/struct_only.vala
PASS: /structs/structs.vala
PASS: /structs/gvalue.vala
PASS: /structs/bug530605.vala
PASS: /structs/bug572091.vala
PASS: /structs/bug583603.vala
PASS: /structs/bug595587.vala
PASS: /structs/bug596144.vala
PASS: /structs/bug603056.vala
PASS: /structs/bug606202.vala
PASS: /structs/bug609642.vala
PASS: /structs/bug613513.vala
PASS: /structs/bug613825.vala
PASS: /structs/bug621176.vala
PASS: /structs/bug622422.vala
PASS: /structs/bug623092.vala
PASS: /structs/bug651441.vala
PASS: /structs/bug654646.vala
PASS: /structs/bug654753.vala
PASS: /structs/bug656693.vala
PASS: /structs/bug657378.vala
PASS: /structs/bug658048.vala
PASS: /structs/bug660426.vala
PASS: /structs/bug661945.vala
PASS: /structs/bug667890.vala
PASS: /structs/bug669580.vala
PASS: /structs/bug685177.vala
PASS: /structs/bug686190.vala
PASS: /structs/bug690380.vala
PASS: /structs/bug694140.vala
PASS: /structs/bug749952.vala
PASS: /structs/bug775761.vala
PASS: /structs/bug777194.vala
PASS: /delegates/casting.vala
PASS: /delegates/delegates.vala
PASS: /delegates/reference_transfer.vala
PASS: /delegates/bug539166.vala
PASS: /delegates/bug595610.vala
PASS: /delegates/bug595639.vala
PASS: /delegates/bug638415.vala
PASS: /delegates/bug639751.vala
PASS: /delegates/bug659778.vala
PASS: /delegates/bug683925.vala
PASS: /delegates/bug703804.vala
PASS: /delegates/bug761360.vala
PASS: /delegates/bug772204.test
PASS: /objects/chainup.vala
PASS: /objects/classes.vala
PASS: /objects/constructors.vala
PASS: /objects/generics.vala
PASS: /objects/fields.vala
PASS: /objects/interfaces.vala
PASS: /objects/methods.vala
PASS: /objects/properties.vala
PASS: /objects/regex.vala
PASS: /objects/signals.vala
PASS: /objects/test-025.vala
PASS: /objects/test-026.vala
PASS: /objects/test-029.vala
PASS: /objects/test-034.vala
PASS: /objects/bug566909.vala
PASS: /objects/bug588203.vala
PASS: /objects/bug589928.vala
PASS: /objects/bug593260.vala
PASS: /objects/bug596621.vala
PASS: /objects/bug597155.vala
PASS: /objects/bug597161.vala
PASS: /objects/bug603491.test
PASS: /objects/bug613486.vala
PASS: /objects/bug613840.vala
PASS: /objects/bug620675.vala
PASS: /objects/bug620706.vala
PASS: /objects/bug624594.vala
PASS: /objects/bug626038.vala
PASS: /objects/bug628639.vala
PASS: /objects/bug631267.vala
PASS: /objects/bug634782.vala
PASS: /objects/bug641418-1.test
PASS: /objects/bug641418-2.test
PASS: /objects/bug641418-3.test
PASS: /objects/bug641828.vala
PASS: /objects/bug642809.vala
PASS: /objects/bug643711.vala
PASS: /objects/bug644938.vala
PASS: /objects/bug646362.vala
PASS: /objects/bug646792.vala
PASS: /objects/bug647018.vala
PASS: /objects/bug653138.vala
PASS: /objects/bug654702.vala
PASS: /objects/bug663134.vala
PASS: /objects/bug664529.vala
PASS: /objects/bug667668.vala
PASS: /objects/bug681356.vala
PASS: /objects/bug683646.vala
PASS: /objects/bug695671.vala
PASS: /objects/bug701978.vala
PASS: /objects/bug702736.vala
PASS: /objects/bug702846.vala
PASS: /objects/bug731547.vala
PASS: /objects/bug751338.vala
PASS: /objects/bug758816.vala
PASS: /objects/bug760031.test
PASS: /objects/bug764481.vala
PASS: /objects/bug767092.test
PASS: /objects/bug768823.test
PASS: /objects/bug773956-1.test
PASS: /objects/bug773956-2.test
PASS: /objects/bug615830-1.test
PASS: /objects/bug615830-2.test
PASS: /objects/bug766739.vala
PASS: /objects/bug778632.vala
PASS: /objects/bug779038-1.test
PASS: /objects/bug779038-2.test
PASS: /objects/bug779038-3.test
PASS: /objects/bug779219.vala
PASS: /objects/bug779955.vala
PASS: /objects/bug783897.vala
PASS: /objects/bug788964.vala
PASS: /errors/errors.vala
PASS: /errors/bug567181.vala
PASS: /errors/bug579101.vala
PASS: /errors/bug596228.vala
PASS: /errors/bug623049.vala
PASS: /errors/bug639589.vala
PASS: /errors/bug651145.vala
PASS: /errors/bug778224.vala
PASS: /asynchronous/bug595735.vala
PASS: /asynchronous/bug595755.vala
PASS: /asynchronous/bug596177.vala
PASS: /asynchronous/bug596861.vala
PASS: /asynchronous/bug597294.vala
PASS: /asynchronous/bug598677.vala
PASS: /asynchronous/bug598697.vala
PASS: /asynchronous/bug598698.vala
PASS: /asynchronous/bug599568.vala
PASS: /asynchronous/bug600827.vala
PASS: /asynchronous/bug601558.vala
PASS: /asynchronous/bug613484.vala
PASS: /asynchronous/bug620740.vala
PASS: /asynchronous/bug639591.vala
PASS: /asynchronous/bug640721.vala
PASS: /asynchronous/bug641182.vala
PASS: /asynchronous/bug646945.vala
PASS: /asynchronous/bug652252.vala
PASS: /asynchronous/bug653861.vala
PASS: /asynchronous/bug654336.vala
PASS: /asynchronous/bug654337.vala
PASS: /asynchronous/bug659886.vala
PASS: /asynchronous/bug661961.vala
PASS: /asynchronous/bug710103.vala
PASS: /asynchronous/bug741929.vala
PASS: /asynchronous/bug742621.vala
PASS: /asynchronous/bug762819.vala
PASS: /asynchronous/bug777242.vala
PASS: /asynchronous/bug783543.vala
PASS: /asynchronous/closures.vala
PASS: /asynchronous/generator.vala
PASS: /asynchronous/yield.vala
PASS: /dbus/basic-types.test
PASS: /dbus/arrays.test
PASS: /dbus/structs.test
PASS: /dbus/errors.test
PASS: /dbus/async.test
PASS: /dbus/async-errors.test
PASS: /dbus/enum-string-marshalling.vala
PASS: /dbus/signals.test
PASS: /dbus/filedescriptor.test
FAIL: /dbus/filedescriptor-errors.test
PASS: /dbus/dicts.test
PASS: /dbus/bug596862.vala
PASS: /dbus/bug602003.test
PASS: /dbus/bug782719.test
PASS: /dbus/rawvariants.test
PASS: /gir/bug651773.test
PASS: /gir/bug667751.test
PASS: /gir/bug742012.test
PASS: /gir/bug788775.test
PASS: /gir/array-fixed-length.test
PASS: /gir/delegate-alias-without-target.test
PASS: /annotations/deprecated.vala
PASS: /annotations/description.vala
PASS: /annotations/noaccessormethod.test
TOTAL: passed 285 of 288 tests and failed 3
PASS: /nullability/bug611223.vala
TOTAL: passed 1 of 1 tests and failed 0