Hello community, here is the log from the commit of package python-gobject for openSUSE:Factory checked in at 2018-03-24 16:09:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-gobject (Old) and /work/SRC/openSUSE:Factory/.python-gobject.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gobject" Sat Mar 24 16:09:52 2018 rev:71 rq:590344 version:3.28.1 Changes: -------- --- /work/SRC/openSUSE:Factory/python-gobject/python-gobject.changes 2018-03-14 19:28:08.984403758 +0100 +++ /work/SRC/openSUSE:Factory/.python-gobject.new/python-gobject.changes 2018-03-24 16:09:56.955243884 +0100 @@ -1,0 +2,7 @@ +Sat Mar 17 22:45:50 UTC 2018 - [email protected] + +- Update to version 3.28.1: + + Fix a GValue leak (regression) (glgo#GNOME/pygobject#176). + + Various fixes for Python 3.7 (glgo#GNOME/pygobject#170). + +------------------------------------------------------------------- Old: ---- pygobject-3.28.0.tar.xz New: ---- pygobject-3.28.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-gobject.spec ++++++ --- /var/tmp/diff_new_pack.VNRqUc/_old 2018-03-24 16:09:57.539222833 +0100 +++ /var/tmp/diff_new_pack.VNRqUc/_new 2018-03-24 16:09:57.543222688 +0100 @@ -22,7 +22,7 @@ %global __requires_exclude_from ^%{python2_sitearch}/gi/__init__.py|%{python3_sitearch}/gi/__init__.py$ %define _name pygobject Name: python-gobject -Version: 3.28.0 +Version: 3.28.1 Release: 0 Summary: Python bindings for GObject License: LGPL-2.1-or-later ++++++ pygobject-3.28.0.tar.xz -> pygobject-3.28.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/ChangeLog new/pygobject-3.28.1/ChangeLog --- old/pygobject-3.28.0/ChangeLog 2018-03-12 13:16:18.000000000 +0100 +++ new/pygobject-3.28.1/ChangeLog 2018-03-17 19:07:10.000000000 +0100 @@ -1,3 +1,156 @@ +commit ca6918747214484a429c039caed02dd858c307fe +Author: Christoph Reiter <[email protected]> +Date: Sat Mar 17 18:46:05 2018 +0100 + + release + + NEWS | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit ab470a4f02b294ec8f1f11ea30c9ed4625490a52 +Author: Christoph Reiter <[email protected]> +Date: Fri Mar 16 23:48:20 2018 +0100 + + tests: fix glib tests with newest glib + + g_filename_from_utf8() was recently fixed to return filenames + instead of bytes. + See https://bugzilla.gnome.org/show_bug.cgi?id=756128 + + tests/test_glib.py | 21 ++++++++++++++++++++- + 1 file changed, 20 insertions(+), 1 deletion(-) + +commit 76d4503ff856d7cc6e15d45bb82d79c17bda69f7 +Author: Christoph Reiter <[email protected]> +Date: Fri Mar 16 15:17:37 2018 +0100 + + setup.py: don't install tests + + Now that the tests directory has a __init__.py and is a Python package + find_packages() returns it and setup() will install it. + + Instead of using find_packages() hardcode the list of included + packages. + + setup.py | 9 +++++++-- + 1 file changed, 7 insertions(+), 2 deletions(-) + +commit f6c17c998e12a38bbc1c14e43fa969f01fbac46b +Author: Christoph Reiter <[email protected]> +Date: Wed Mar 14 12:31:28 2018 +0100 + + pyg_flags_get_value_names: fix a leak + + PyList_Append() is transfer-none for the value + + gi/pygflags.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +commit 9b4a056bbd7003bdb12f3eaf30524caa8747adb1 +Author: Mathieu Duponchelle <[email protected]> +Date: Tue Mar 13 19:41:20 2018 +0100 + + all around: Fix some assumptions about the size of long + + This was creating various issues on 64-bit Windows, where sizeof(long) + is usually 4. + + gi/pygi-basictype.c | 6 +++--- + gi/pygi-closure.c | 10 +++++----- + gi/pygi-value.c | 2 +- + 3 files changed, 9 insertions(+), 9 deletions(-) + +commit b8bffa925566e561bb6270db5aecbe2b7b70d178 +Author: Mathieu Duponchelle <[email protected]> +Date: Tue Mar 13 19:12:23 2018 +0100 + + GValue override: chain up __del__ + + This was added in d08e244d , which was recently reverted, that + specific bit was however unrelated and still relevant. + + Fix #176 + + gi/overrides/GObject.py | 3 +++ + 1 file changed, 3 insertions(+) + +commit 48171470feccca4c5595a5f28adf6630fca66515 +Author: Christoph Reiter <[email protected]> +Date: Thu Mar 1 16:07:10 2018 +0100 + + gitlab-ci: add Python 3.7.0b2 job + + .gitlab-ci.yml | 5 +++++ + .gitlab-ci/Dockerfile | 1 + + .gitlab-ci/run-docker.sh | 2 ++ + 3 files changed, 8 insertions(+) + +commit a0b633185d1dbb2cfef46f85b6b593c0c296e6f7 +Author: Christoph Reiter <[email protected]> +Date: Sat Mar 10 20:03:33 2018 +0100 + + marshal-cleanup: save and restore exception around cleanup + + With Python 3.7 some Python API in the cleanup path clears exceptions + which makes us return NULL in the end without an error set. + + Make if safe to call the cleanup functions with an error set by + saving and restoring exceptions. + + gi/pygi-marshal-cleanup.c | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + +commit 8eee391694e657a79281707e476b1950a87f4d29 +Author: Christoph Reiter <[email protected]> +Date: Sun Mar 11 13:13:30 2018 +0100 + + _struct_dealloc: handle being called with an error set + + With Python 3.7 it gets called with an error set and tp_dealloc + implementations need to handle that. + Fix by saving and restoring the error. + + gi/pygi-struct.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +commit 7a1b725805b97a037f38c844d107644c780d87b6 +Author: Christoph Reiter <[email protected]> +Date: Sat Mar 10 18:54:28 2018 +0100 + + IntrospectionModule: __path__ should be List[str] and not str + + This fixes a crash when calling help() on the module which got + stricter with + Python 3.7. + + It's a bit questionable why the type has __path__ in the first + place as + that's only meant for packages. But let's leave that for now. + + gi/module.py | 5 +++-- + tests/test_gi.py | 6 ++++-- + 2 files changed, 7 insertions(+), 4 deletions(-) + +commit 2386fb7070dcde591313abb10f3e65d7cef7364f +Author: Christoph Reiter <[email protected]> +Date: Sat Mar 10 18:04:14 2018 +0100 + + tests_gi: Use capture_output() context manager instead of manually + mocking stdout + + tests/helper.py | 2 +- + tests/test_gi.py | 14 +++----------- + 2 files changed, 4 insertions(+), 12 deletions(-) + +commit e0b92c65f4af126f1ba9c924e8e71b958a280a6e +Author: Christoph Reiter <[email protected]> +Date: Mon Mar 12 13:18:34 2018 +0100 + + version bump + + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + commit dde2f66f9d95f4da81230b11317207a1ac08d84e Author: Christoph Reiter <[email protected]> Date: Mon Mar 12 08:36:14 2018 +0100 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/NEWS new/pygobject-3.28.1/NEWS --- old/pygobject-3.28.0/NEWS 2018-03-12 11:01:19.000000000 +0100 +++ new/pygobject-3.28.1/NEWS 2018-03-17 18:45:27.000000000 +0100 @@ -1,3 +1,15 @@ +3.28.1 - 2018-03-17 +------------------- + +* Fix a GValue leak (regression). :issue:`176` + (:user:`Mathieu Duponchelle<mathieudu>`) +* setup.py: don't install the tests package +* Various fixes for 64bit Windows. :mr:`34` + (:user:`Mathieu Duponchelle<mathieudu>`) +* Fix tests with glib 2.56.0 +* Various fixes for Python 3.7. :issue:`170` :mr:`28` + + 3.28.0 - 2018-03-12 ------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/PKG-INFO new/pygobject-3.28.1/PKG-INFO --- old/pygobject-3.28.0/PKG-INFO 2018-03-12 13:16:08.000000000 +0100 +++ new/pygobject-3.28.1/PKG-INFO 2018-03-17 19:07:01.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.0 Name: PyGObject -Version: 3.28.0 +Version: 3.28.1 Summary: Python bindings for GObject Introspection Home-page: https://pygobject.readthedocs.io Author: James Henstridge diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/configure new/pygobject-3.28.1/configure --- old/pygobject-3.28.0/configure 2018-03-12 13:16:01.000000000 +0100 +++ new/pygobject-3.28.1/configure 2018-03-17 19:06:51.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for pygobject 3.28.0. +# Generated by GNU Autoconf 2.69 for pygobject 3.28.1. # # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject>. # @@ -591,8 +591,8 @@ # Identity of this package. PACKAGE_NAME='pygobject' PACKAGE_TARNAME='pygobject' -PACKAGE_VERSION='3.28.0' -PACKAGE_STRING='pygobject 3.28.0' +PACKAGE_VERSION='3.28.1' +PACKAGE_STRING='pygobject 3.28.1' PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=pygobject' PACKAGE_URL='https://wiki.gnome.org/Projects/PyGObject/' @@ -1418,7 +1418,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures pygobject 3.28.0 to adapt to many kinds of systems. +\`configure' configures pygobject 3.28.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1489,7 +1489,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pygobject 3.28.0:";; + short | recursive ) echo "Configuration of pygobject 3.28.1:";; esac cat <<\_ACEOF @@ -1634,7 +1634,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pygobject configure 3.28.0 +pygobject configure 3.28.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1912,7 +1912,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by pygobject $as_me 3.28.0, which was +It was created by pygobject $as_me 3.28.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2290,9 +2290,9 @@ PYGOBJECT_MINOR_VERSION=28 -$as_echo "#define PYGOBJECT_MICRO_VERSION 0" >>confdefs.h +$as_echo "#define PYGOBJECT_MICRO_VERSION 1" >>confdefs.h -PYGOBJECT_MICRO_VERSION=0 +PYGOBJECT_MICRO_VERSION=1 ac_config_headers="$ac_config_headers config.h" @@ -2812,7 +2812,7 @@ # Define the identity of the package. PACKAGE='pygobject' - VERSION='3.28.0' + VERSION='3.28.1' cat >>confdefs.h <<_ACEOF @@ -13894,7 +13894,7 @@ #include <stdlib.h> int -main () +main (void) { unsigned int major, minor, micro; @@ -14838,6 +14838,27 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #ifndef __cplusplus + #error "no C++" + #endif +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_compiler_cxx=yes; +else + ax_compiler_cxx=no; +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + # Always pass -Werror=unknown-warning-option to get Clang to fail on bad # flags, otherwise they are always appended to the warn_cflags variable, and # Clang warns on them for every compilation unit. @@ -15008,7 +15029,7 @@ -for flag in -Wall -Wextra -Wundef -Wnested-externs -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wdeclaration-after-statement -Wformat=2 -Wold-style-definition -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wredundant-decls -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wimplicit-function-declaration -Wreturn-type -Wswitch-enum -Wswitch-default ; do +for flag in -Wall -Wextra -Wundef -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wcast-align -Wformat-nonliteral -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Winline -Wpacked -Wmissing-format-attribute -Wmissing-noreturn -Winit-self -Wredundant-decls -Wmissing-include-dirs -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wdouble-promotion ; do as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5 $as_echo_n "checking whether C compiler accepts $flag... " >&6; } @@ -15079,6 +15100,84 @@ done + if test "$ax_compiler_cxx" = "no" ; then + # C-only flags. Warn in C++ + + + + +for flag in -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init ; do + as_CACHEVAR=`$as_echo "ax_cv_check_cflags_$ax_compiler_flags_test_$flag" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts $flag" >&5 +$as_echo_n "checking whether C compiler accepts $flag... " >&6; } +if eval \${$as_CACHEVAR+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS $ax_compiler_flags_test $flag" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_CACHEVAR=yes" +else + eval "$as_CACHEVAR=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +eval ac_res=\$$as_CACHEVAR + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then : + +if ${WARN_CFLAGS+:} false; then : + + case " $WARN_CFLAGS " in #( + *" $flag "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS already contains \$flag"; } >&5 + (: WARN_CFLAGS already contains $flag) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append WARN_CFLAGS " $flag" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5 + (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + WARN_CFLAGS=$flag + { { $as_echo "$as_me:${as_lineno-$LINENO}: : WARN_CFLAGS=\"\$WARN_CFLAGS\""; } >&5 + (: WARN_CFLAGS="$WARN_CFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + +else + : +fi + +done + + fi fi if test "$ax_enable_compile_warnings" = "error"; then : @@ -15359,7 +15458,461 @@ fi - # macOS linker does not have --as-needed + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--as-needed" >&5 +$as_echo_n "checking whether the linker accepts -Wl,--as-needed... " >&6; } +if ${ax_cv_check_ldflags___Wl___as_needed+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,--as-needed" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___Wl___as_needed=yes +else + ax_cv_check_ldflags___Wl___as_needed=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl___as_needed" >&5 +$as_echo "$ax_cv_check_ldflags___Wl___as_needed" >&6; } +if test "x$ax_cv_check_ldflags___Wl___as_needed" = xyes; then : + + + + + +for flag in -Wl,--as-needed; do + as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5 +$as_echo_n "checking whether the linker accepts $flag... " >&6; } +if eval \${$as_CACHEVAR+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$as_CACHEVAR=yes" +else + eval "$as_CACHEVAR=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +eval ac_res=\$$as_CACHEVAR + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then : + +if ${AM_LDFLAGS+:} false; then : + + case " $AM_LDFLAGS " in #( + *" $flag "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS already contains \$flag"; } >&5 + (: AM_LDFLAGS already contains $flag) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append AM_LDFLAGS " $flag" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5 + (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + AM_LDFLAGS=$flag + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5 + (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + +else + : +fi + +done + + +else + : +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,relro" >&5 +$as_echo_n "checking whether the linker accepts -Wl,-z,relro... " >&6; } +if ${ax_cv_check_ldflags___Wl__z_relro+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,relro" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___Wl__z_relro=yes +else + ax_cv_check_ldflags___Wl__z_relro=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_relro" >&5 +$as_echo "$ax_cv_check_ldflags___Wl__z_relro" >&6; } +if test "x$ax_cv_check_ldflags___Wl__z_relro" = xyes; then : + + + + + +for flag in -Wl,-z,relro; do + as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5 +$as_echo_n "checking whether the linker accepts $flag... " >&6; } +if eval \${$as_CACHEVAR+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$as_CACHEVAR=yes" +else + eval "$as_CACHEVAR=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +eval ac_res=\$$as_CACHEVAR + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then : + +if ${AM_LDFLAGS+:} false; then : + + case " $AM_LDFLAGS " in #( + *" $flag "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS already contains \$flag"; } >&5 + (: AM_LDFLAGS already contains $flag) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append AM_LDFLAGS " $flag" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5 + (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + AM_LDFLAGS=$flag + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5 + (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + +else + : +fi + +done + + +else + : +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,now" >&5 +$as_echo_n "checking whether the linker accepts -Wl,-z,now... " >&6; } +if ${ax_cv_check_ldflags___Wl__z_now+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,now" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___Wl__z_now=yes +else + ax_cv_check_ldflags___Wl__z_now=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_now" >&5 +$as_echo "$ax_cv_check_ldflags___Wl__z_now" >&6; } +if test "x$ax_cv_check_ldflags___Wl__z_now" = xyes; then : + + + + + +for flag in -Wl,-z,now; do + as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5 +$as_echo_n "checking whether the linker accepts $flag... " >&6; } +if eval \${$as_CACHEVAR+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$as_CACHEVAR=yes" +else + eval "$as_CACHEVAR=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +eval ac_res=\$$as_CACHEVAR + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then : + +if ${AM_LDFLAGS+:} false; then : + + case " $AM_LDFLAGS " in #( + *" $flag "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS already contains \$flag"; } >&5 + (: AM_LDFLAGS already contains $flag) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append AM_LDFLAGS " $flag" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5 + (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + AM_LDFLAGS=$flag + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5 + (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + +else + : +fi + +done + + +else + : +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,noexecstack" >&5 +$as_echo_n "checking whether the linker accepts -Wl,-z,noexecstack... " >&6; } +if ${ax_cv_check_ldflags___Wl__z_noexecstack+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,noexecstack" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___Wl__z_noexecstack=yes +else + ax_cv_check_ldflags___Wl__z_noexecstack=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_noexecstack" >&5 +$as_echo "$ax_cv_check_ldflags___Wl__z_noexecstack" >&6; } +if test "x$ax_cv_check_ldflags___Wl__z_noexecstack" = xyes; then : + + + + + +for flag in -Wl,-z,noexecstack; do + as_CACHEVAR=`$as_echo "ax_cv_check_ldflags_$ax_compiler_flags_test_$flag" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts $flag" >&5 +$as_echo_n "checking whether the linker accepts $flag... " >&6; } +if eval \${$as_CACHEVAR+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS $ax_compiler_flags_test $flag" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$as_CACHEVAR=yes" +else + eval "$as_CACHEVAR=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +eval ac_res=\$$as_CACHEVAR + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_CACHEVAR"\" = x"yes"; then : + +if ${AM_LDFLAGS+:} false; then : + + case " $AM_LDFLAGS " in #( + *" $flag "*) : + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS already contains \$flag"; } >&5 + (: AM_LDFLAGS already contains $flag) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } ;; #( + *) : + + as_fn_append AM_LDFLAGS " $flag" + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5 + (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + ;; +esac + +else + + AM_LDFLAGS=$flag + { { $as_echo "$as_me:${as_lineno-$LINENO}: : AM_LDFLAGS=\"\$AM_LDFLAGS\""; } >&5 + (: AM_LDFLAGS="$AM_LDFLAGS") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + +fi + +else + : +fi + +done + + +else + : +fi + + # textonly, retpolineplt not yet + + # macOS and cygwin linker do not have --as-needed { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,--no-as-needed" >&5 $as_echo_n "checking whether the linker accepts -Wl,--no-as-needed... " >&6; } if ${ax_cv_check_ldflags___Wl___no_as_needed+:} false; then : @@ -16931,7 +17484,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by pygobject $as_me 3.28.0, which was +This file was extended by pygobject $as_me 3.28.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -16998,7 +17551,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -pygobject config.status 3.28.0 +pygobject config.status 3.28.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/configure.ac new/pygobject-3.28.1/configure.ac --- old/pygobject-3.28.0/configure.ac 2018-03-12 12:40:20.000000000 +0100 +++ new/pygobject-3.28.1/configure.ac 2018-03-17 18:32:08.000000000 +0100 @@ -18,7 +18,7 @@ dnl the pygobject version number m4_define(pygobject_major_version, 3) m4_define(pygobject_minor_version, 28) -m4_define(pygobject_micro_version, 0) +m4_define(pygobject_micro_version, 1) m4_define(pygobject_version, pygobject_major_version.pygobject_minor_version.pygobject_micro_version) dnl versions of packages we require ... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/gi/module.py new/pygobject-3.28.1/gi/module.py --- old/pygobject-3.28.0/gi/module.py 2018-03-12 11:01:19.000000000 +0100 +++ new/pygobject-3.28.1/gi/module.py 2018-03-12 13:24:13.000000000 +0100 @@ -122,10 +122,11 @@ self._version = version self.__name__ = 'gi.repository.' + namespace - self.__path__ = repository.get_typelib_path(self._namespace) + path = repository.get_typelib_path(self._namespace) + self.__path__ = [path] if _have_py3: # get_typelib_path() delivers bytes, not a string - self.__path__ = self.__path__.decode('UTF-8') + self.__path__ = [path.decode('UTF-8')] if self._version is None: self._version = repository.get_version(self._namespace) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/gi/overrides/GObject.py new/pygobject-3.28.1/gi/overrides/GObject.py --- old/pygobject-3.28.0/gi/overrides/GObject.py 2018-02-16 20:20:23.000000000 +0100 +++ new/pygobject-3.28.1/gi/overrides/GObject.py 2018-03-14 09:19:46.000000000 +0100 @@ -221,6 +221,9 @@ if self._free_on_dealloc and self.g_type != TYPE_INVALID: self.unset() + # We must call base class __del__() after unset. + super(Value, self).__del__() + def set_boxed(self, boxed): # Workaround the introspection marshalers inability to know # these methods should be marshaling boxed types. This is because diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/gi/pygflags.c new/pygobject-3.28.1/gi/pygflags.c --- old/pygobject-3.28.0/gi/pygflags.c 2018-01-10 17:28:50.000000000 +0100 +++ new/pygobject-3.28.1/gi/pygflags.c 2018-03-14 12:28:25.000000000 +0100 @@ -431,9 +431,15 @@ g_assert(G_IS_FLAGS_CLASS(flags_class)); retval = PyList_New(0); - for (i = 0; i < flags_class->n_values; i++) - if ((PYGLIB_PyLong_AsUnsignedLong(self) & flags_class->values[i].value) == flags_class->values[i].value) - PyList_Append(retval, PYGLIB_PyUnicode_FromString(flags_class->values[i].value_name)); + for (i = 0; i < flags_class->n_values; i++) { + PyObject *value_name; + + if ((PYGLIB_PyLong_AsUnsignedLong (self) & flags_class->values[i].value) == flags_class->values[i].value) { + value_name = PYGLIB_PyUnicode_FromString (flags_class->values[i].value_name); + PyList_Append (retval, value_name); + Py_DECREF (value_name); + } + } g_type_class_unref(flags_class); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/gi/pygi-basictype.c new/pygobject-3.28.1/gi/pygi-basictype.c --- old/pygobject-3.28.0/gi/pygi-basictype.c 2018-03-10 19:51:12.000000000 +0100 +++ new/pygobject-3.28.1/gi/pygi-basictype.c 2018-03-14 09:19:46.000000000 +0100 @@ -198,7 +198,7 @@ _pygi_marshal_from_py_gtype (PyObject *py_arg, GIArgument *arg) { - long type_ = pyg_type_from_object (py_arg); + GType type_ = pyg_type_from_object (py_arg); if (type_ == 0) { PyErr_Format (PyExc_TypeError, "Must be gobject.GType, not %s", @@ -206,7 +206,7 @@ return FALSE; } - arg->v_long = type_; + arg->v_size = type_; return TRUE; } @@ -808,7 +808,7 @@ return PyFloat_FromDouble (arg->v_double); case GI_TYPE_TAG_GTYPE: - return pyg_type_wrapper_new ( (GType) arg->v_long); + return pyg_type_wrapper_new ( (GType) arg->v_size); case GI_TYPE_TAG_UNICHAR: return _pygi_marshal_to_py_unichar (arg); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/gi/pygi-closure.c new/pygobject-3.28.1/gi/pygi-closure.c --- old/pygobject-3.28.0/gi/pygi-closure.c 2018-03-11 13:07:37.000000000 +0100 +++ new/pygobject-3.28.1/gi/pygi-closure.c 2018-03-14 09:19:46.000000000 +0100 @@ -84,7 +84,7 @@ *((gdouble *) retval) = arg->v_double; break; case GI_TYPE_TAG_GTYPE: - *((ffi_arg *) retval) = arg->v_ulong; + *((ffi_arg *) retval) = arg->v_size; break; case GI_TYPE_TAG_UNICHAR: *((ffi_arg *) retval) = arg->v_uint32; @@ -149,7 +149,7 @@ *((gint64 *) out_arg) = arg->v_int64; break; case GI_TYPE_TAG_UINT64: - *((glong *) out_arg) = arg->v_uint64; + *((guint64 *) out_arg) = arg->v_uint64; break; case GI_TYPE_TAG_FLOAT: *((gfloat *) out_arg) = arg->v_float; @@ -158,7 +158,7 @@ *((gdouble *) out_arg) = arg->v_double; break; case GI_TYPE_TAG_GTYPE: - *((gulong *) out_arg) = arg->v_ulong; + *((GType *) out_arg) = arg->v_size; break; case GI_TYPE_TAG_UNICHAR: *((guint32 *) out_arg) = arg->v_uint32; @@ -245,10 +245,10 @@ state[i].arg_value.v_uint32 = * (guint32 *) arg_pointer; break; case GI_TYPE_TAG_INT64: - state[i].arg_value.v_int64 = * (glong *) arg_pointer; + state[i].arg_value.v_int64 = * (gint64 *) arg_pointer; break; case GI_TYPE_TAG_UINT64: - state[i].arg_value.v_uint64 = * (glong *) arg_pointer; + state[i].arg_value.v_uint64 = * (guint64 *) arg_pointer; break; case GI_TYPE_TAG_FLOAT: state[i].arg_value.v_float = * (gfloat *) arg_pointer; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/gi/pygi-marshal-cleanup.c new/pygobject-3.28.1/gi/pygi-marshal-cleanup.c --- old/pygobject-3.28.0/gi/pygi-marshal-cleanup.c 2018-03-12 11:01:19.000000000 +0100 +++ new/pygobject-3.28.1/gi/pygi-marshal-cleanup.c 2018-03-12 13:24:13.000000000 +0100 @@ -93,6 +93,11 @@ PyGICallableCache *cache) { gssize i; + PyObject *error_type, *error_value, *error_traceback; + gboolean have_error = !!PyErr_Occurred (); + + if (have_error) + PyErr_Fetch (&error_type, &error_value, &error_traceback); for (i = 0; (gsize)i < _pygi_callable_cache_args_len (cache); i++) { PyGIArgCache *arg_cache = _pygi_callable_cache_get_arg (cache, i); @@ -112,6 +117,9 @@ state->args[i].arg_cleanup_data = NULL; } } + + if (have_error) + PyErr_Restore (error_type, error_value, error_traceback); } void @@ -120,6 +128,11 @@ { GSList *cache_item; guint i = 0; + PyObject *error_type, *error_value, *error_traceback; + gboolean have_error = !!PyErr_Occurred (); + + if (have_error) + PyErr_Fetch (&error_type, &error_value, &error_traceback); /* clean up the return if available */ if (cache->return_cache != NULL) { @@ -156,6 +169,9 @@ i++; cache_item = cache_item->next; } + + if (have_error) + PyErr_Restore (error_type, error_value, error_traceback); } void @@ -164,6 +180,11 @@ gssize failed_arg_index) { gssize i; + PyObject *error_type, *error_value, *error_traceback; + gboolean have_error = !!PyErr_Occurred (); + + if (have_error) + PyErr_Fetch (&error_type, &error_value, &error_traceback); state->failed = TRUE; @@ -195,6 +216,9 @@ } state->args[i].arg_cleanup_data = NULL; } + + if (have_error) + PyErr_Restore (error_type, error_value, error_traceback); } void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/gi/pygi-struct.c new/pygobject-3.28.1/gi/pygi-struct.c --- old/pygobject-3.28.0/gi/pygi-struct.c 2018-03-12 11:01:19.000000000 +0100 +++ new/pygobject-3.28.1/gi/pygi-struct.c 2018-03-12 13:24:13.000000000 +0100 @@ -61,7 +61,14 @@ static void _struct_dealloc (PyGIStruct *self) { - GIBaseInfo *info = _struct_get_info ( (PyObject *) self ); + GIBaseInfo *info; + PyObject *error_type, *error_value, *error_traceback; + gboolean have_error = !!PyErr_Occurred (); + + if (have_error) + PyErr_Fetch (&error_type, &error_value, &error_traceback); + + info = _struct_get_info ( (PyObject *) self ); if (info != NULL && g_struct_info_is_foreign ( (GIStructInfo *) info)) { pygi_struct_foreign_release (info, pyg_pointer_get_ptr (self)); @@ -73,6 +80,9 @@ g_base_info_unref (info); } + if (have_error) + PyErr_Restore (error_type, error_value, error_traceback); + Py_TYPE (self)->tp_free ((PyObject *)self); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/gi/pygi-value.c new/pygobject-3.28.1/gi/pygi-value.c --- old/pygobject-3.28.0/gi/pygi-value.c 2018-01-10 17:28:50.000000000 +0100 +++ new/pygobject-3.28.1/gi/pygi-value.c 2018-03-14 09:19:46.000000000 +0100 @@ -86,7 +86,7 @@ arg.v_double = g_value_get_double (value); break; case GI_TYPE_TAG_GTYPE: - arg.v_long = g_value_get_gtype (value); + arg.v_size = g_value_get_gtype (value); break; case GI_TYPE_TAG_UTF8: case GI_TYPE_TAG_FILENAME: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/m4/ax_compiler_flags_cflags.m4 new/pygobject-3.28.1/m4/ax_compiler_flags_cflags.m4 --- old/pygobject-3.28.0/m4/ax_compiler_flags_cflags.m4 2018-03-12 13:15:47.000000000 +0100 +++ new/pygobject-3.28.1/m4/ax_compiler_flags_cflags.m4 2018-03-17 19:06:37.000000000 +0100 @@ -19,13 +19,14 @@ # LICENSE # # Copyright (c) 2014, 2015 Philip Withnall <[email protected]> +# Copyright (c) 2017, 2018 Reini Urban <[email protected]> # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 14 +#serial 16 AC_DEFUN([AX_COMPILER_FLAGS_CFLAGS],[ AC_REQUIRE([AC_PROG_SED]) @@ -39,6 +40,13 @@ AC_LANG_PUSH([C]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ + [#ifndef __cplusplus + #error "no C++" + #endif]])], + [ax_compiler_cxx=yes;], + [ax_compiler_cxx=no;]) + # Always pass -Werror=unknown-warning-option to get Clang to fail on bad # flags, otherwise they are always appended to the warn_cflags variable, and # Clang warns on them for every compilation unit. @@ -69,18 +77,13 @@ -Wall dnl -Wextra dnl -Wundef dnl - -Wnested-externs dnl -Wwrite-strings dnl -Wpointer-arith dnl -Wmissing-declarations dnl - -Wmissing-prototypes dnl - -Wstrict-prototypes dnl -Wredundant-decls dnl -Wno-unused-parameter dnl -Wno-missing-field-initializers dnl - -Wdeclaration-after-statement dnl -Wformat=2 dnl - -Wold-style-definition dnl -Wcast-align dnl -Wformat-nonliteral dnl -Wformat-security dnl @@ -96,15 +99,32 @@ -Wmissing-include-dirs dnl -Wunused-but-set-variable dnl -Warray-bounds dnl - -Wimplicit-function-declaration dnl -Wreturn-type dnl -Wswitch-enum dnl -Wswitch-default dnl + -Wduplicated-cond dnl + -Wduplicated-branches dnl + -Wlogical-op dnl + -Wrestrict dnl + -Wnull-dereference dnl + -Wdouble-promotion dnl $4 dnl $5 dnl $6 dnl $7 dnl ],ax_warn_cflags_variable,[$ax_compiler_flags_test]) + if test "$ax_compiler_cxx" = "no" ; then + # C-only flags. Warn in C++ + AX_APPEND_COMPILE_FLAGS([ dnl + -Wnested-externs dnl + -Wmissing-prototypes dnl + -Wstrict-prototypes dnl + -Wdeclaration-after-statement dnl + -Wimplicit-function-declaration dnl + -Wold-style-definition dnl + -Wjump-misses-init dnl + ],ax_warn_cflags_variable,[$ax_compiler_flags_test]) + fi ]) AS_IF([test "$ax_enable_compile_warnings" = "error"],[ # "error" flags; -Werror has to be appended unconditionally because diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/m4/ax_compiler_flags_ldflags.m4 new/pygobject-3.28.1/m4/ax_compiler_flags_ldflags.m4 --- old/pygobject-3.28.0/m4/ax_compiler_flags_ldflags.m4 2018-03-12 13:15:47.000000000 +0100 +++ new/pygobject-3.28.1/m4/ax_compiler_flags_ldflags.m4 2018-03-17 19:06:37.000000000 +0100 @@ -19,13 +19,14 @@ # LICENSE # # Copyright (c) 2014, 2015 Philip Withnall <[email protected]> +# Copyright (c) 2017, 2018 Reini Urban <[email protected]> # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 8 +#serial 9 AC_DEFUN([AX_COMPILER_FLAGS_LDFLAGS],[ AX_REQUIRE_DEFINED([AX_APPEND_LINK_FLAGS]) @@ -48,7 +49,25 @@ ax_compiler_flags_test="" ]) - # macOS linker does not have --as-needed + AX_CHECK_LINK_FLAG([-Wl,--as-needed], [ + AX_APPEND_LINK_FLAGS([-Wl,--as-needed], + [AM_LDFLAGS],[$ax_compiler_flags_test]) + ]) + AX_CHECK_LINK_FLAG([-Wl,-z,relro], [ + AX_APPEND_LINK_FLAGS([-Wl,-z,relro], + [AM_LDFLAGS],[$ax_compiler_flags_test]) + ]) + AX_CHECK_LINK_FLAG([-Wl,-z,now], [ + AX_APPEND_LINK_FLAGS([-Wl,-z,now], + [AM_LDFLAGS],[$ax_compiler_flags_test]) + ]) + AX_CHECK_LINK_FLAG([-Wl,-z,noexecstack], [ + AX_APPEND_LINK_FLAGS([-Wl,-z,noexecstack], + [AM_LDFLAGS],[$ax_compiler_flags_test]) + ]) + # textonly, retpolineplt not yet + + # macOS and cygwin linker do not have --as-needed AX_CHECK_LINK_FLAG([-Wl,--no-as-needed], [ ax_compiler_flags_as_needed_option="-Wl,--no-as-needed" ], [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/m4/glib-2.0.m4 new/pygobject-3.28.1/m4/glib-2.0.m4 --- old/pygobject-3.28.0/m4/glib-2.0.m4 2018-03-12 13:15:47.000000000 +0100 +++ new/pygobject-3.28.1/m4/glib-2.0.m4 2018-03-17 19:06:37.000000000 +0100 @@ -1,6 +1,9 @@ # Configure paths for GLIB # Owen Taylor 1997-2001 +# Increment this whenever this file is changed. +#serial 1 + dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject, dnl gthread, or gio is specified in MODULES, pass to pkg-config @@ -90,7 +93,7 @@ #include <stdlib.h> int -main () +main (void) { unsigned int major, minor, micro; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/setup.py new/pygobject-3.28.1/setup.py --- old/pygobject-3.28.0/setup.py 2018-02-14 01:34:50.000000000 +0100 +++ new/pygobject-3.28.1/setup.py 2018-03-17 18:32:08.000000000 +0100 @@ -27,7 +27,7 @@ from email import parser import pkg_resources -from setuptools import setup, find_packages +from setuptools import setup from distutils.core import Extension, Distribution, Command from distutils.errors import DistutilsSetupError from distutils.ccompiler import new_compiler @@ -795,7 +795,12 @@ long_description=long_description, platforms=pkginfo.get_all("Platform"), classifiers=pkginfo.get_all("Classifier"), - packages=find_packages(script_dir), + packages=[ + "pygtkcompat", + "gi", + "gi.repository", + "gi.overrides", + ], ext_modules=[ gi_ext, gi_cairo_ext, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/tests/helper.py new/pygobject-3.28.1/tests/helper.py --- old/pygobject-3.28.0/tests/helper.py 2018-03-12 11:01:19.000000000 +0100 +++ new/pygobject-3.28.1/tests/helper.py 2018-03-12 13:24:13.000000000 +0100 @@ -115,7 +115,7 @@ @contextlib.contextmanager def capture_output(): """ - with capture_output as (stdout, stderr): + with capture_output() as (stdout, stderr): some_action() print(stdout.getvalue(), stderr.getvalue()) """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/tests/test_gi.py new/pygobject-3.28.1/tests/test_gi.py --- old/pygobject-3.28.0/tests/test_gi.py 2018-03-12 11:01:19.000000000 +0100 +++ new/pygobject-3.28.1/tests/test_gi.py 2018-03-17 18:32:08.000000000 +0100 @@ -13,7 +13,6 @@ import gc import weakref import warnings -from io import StringIO, BytesIO import gi import gi.overrides @@ -24,7 +23,7 @@ from gi.repository import GIMarshallingTests from .compathelper import PY2, PY3 -from .helper import capture_exceptions +from .helper import capture_exceptions, capture_output CONSTANT_UTF8 = "const ♥ utf8" @@ -2974,8 +2973,10 @@ class TestModule(unittest.TestCase): def test_path(self): - self.assertTrue(GIMarshallingTests.__path__.endswith('GIMarshallingTests-1.0.typelib'), - GIMarshallingTests.__path__) + path = GIMarshallingTests.__path__ + assert isinstance(path, list) + assert len(path) == 1 + assert path[0].endswith('GIMarshallingTests-1.0.typelib') def test_str(self): self.assertTrue("'GIMarshallingTests' from '" in str(GIMarshallingTests), @@ -2996,16 +2997,9 @@ self.assertTrue(hasattr(item, '__class__')) def test_help(self): - orig_stdout = sys.stdout - try: - if sys.version_info < (3, 0): - sys.stdout = BytesIO() - else: - sys.stdout = StringIO() + with capture_output() as (stdout, stderr): help(GIMarshallingTests) - output = sys.stdout.getvalue() - finally: - sys.stdout = orig_stdout + output = stdout.getvalue() self.assertTrue('SimpleStruct' in output, output) self.assertTrue('Interface2' in output, output) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pygobject-3.28.0/tests/test_glib.py new/pygobject-3.28.1/tests/test_glib.py --- old/pygobject-3.28.0/tests/test_glib.py 2018-02-16 09:17:26.000000000 +0100 +++ new/pygobject-3.28.1/tests/test_glib.py 2018-03-16 23:59:12.000000000 +0100 @@ -14,6 +14,8 @@ from gi.repository import GLib from gi import PyGIDeprecationWarning +from .compathelper import PY3 + class TestGLib(unittest.TestCase): @@ -76,13 +78,30 @@ self.assertEqual(GLib.filename_display_name('foo'), 'foo') self.assertEqual(GLib.filename_display_basename('bar/foo'), 'foo') + def glibfsencode(f): + # the annotations of filename_from_utf8() was changed in + # https://bugzilla.gnome.org/show_bug.cgi?id=756128 + if isinstance(f, bytes): + return f + if os.name == "nt": + if PY3: + return f.encode("utf-8", "surrogatepass") + else: + return f.encode("utf-8") + else: + assert PY3 + return os.fsencode(f) + # this is locale dependent, so we cannot completely verify the result res = GLib.filename_from_utf8(u'aäb') + res = glibfsencode(res) self.assertTrue(isinstance(res, bytes)) self.assertGreaterEqual(len(res), 3) # with explicit length argument - self.assertEqual(GLib.filename_from_utf8(u'aäb', 1), b'a') + res = GLib.filename_from_utf8(u'aäb', 1) + res = glibfsencode(res) + self.assertEqual(res, b'a') def test_uri_extract(self): res = GLib.uri_list_extract_uris('''# some comment
