From 7f9b68f732f002e2aca3b43a87392cc0cc59bcc13c8bdafe6d819e96e28ee4fa Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 3 Apr 2014 20:45:13 +0000 Subject: [PATCH] Accepting request 228664 from GNOME:Next Push GNOME:Next - GNOME 3.12.0 OBS-URL: https://build.opensuse.org/request/show/228664 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gobject-introspection?expand=0&rev=136 --- gi-find-deps.sh | 29 ++++++++++- gobject-introspection-1.38.0.tar.xz | 3 -- gobject-introspection-1.40.0.tar.xz | 3 ++ gobject-introspection.changes | 81 ++++++++++++++++++++++++++++- gobject-introspection.spec | 11 ++-- gobjectintrospection.attr | 2 +- 6 files changed, 119 insertions(+), 10 deletions(-) delete mode 100644 gobject-introspection-1.38.0.tar.xz create mode 100644 gobject-introspection-1.40.0.tar.xz diff --git a/gi-find-deps.sh b/gi-find-deps.sh index 9a6f646..bec6674 100644 --- a/gi-find-deps.sh +++ b/gi-find-deps.sh @@ -44,8 +44,23 @@ while read file; do done } +function gresources_requires { +# GNOME is embedding .js files into ELF binaries for faster startup. +# As a result, we need to extract them and re'run the scanner over the +# embedded files. +# We extract all the gresources embedded in ELF binaries and start +# gi-find-deps.sh recusively over the extracted file list. +tmpdir=$(mktemp -d) +for resource in $($gresourcecmd list "$1" 2>/dev/null); do + mkdir -p $tmpdir/$(dirname $resource) + $gresourcecmd extract "$1" $resource > $tmpdir/$resource +done +find $tmpdir -type f | sh $0 -R +rm -rf "$tmpdir" +} + function python_requires { - for module in $(grep -h -P "from gi\.repository import (\w+)" $1 | sed -e 's:#.*::' -e 's:raise ImportError.*::' -e 's:.*"from gi.repository import Foo".*::' | sed -e 's,from gi.repository import,,' -r -e 's:\s+$::g' -e 's:\s+as\s+\w+::g' -e 's:,: :g'); do + for module in $(grep -h -P "from gi\.repository import (\w+)" $1 | sed -e 's:#.*::' -e 's:raise ImportError.*::' -e 's:.*"from gi.repository import .*".*::' | sed -e 's,from gi.repository import,,' -r -e 's:\s+$::g' -e 's:\s+as\s+\w+::g' -e 's:,: :g'); do split_name_version $module print_req_prov # Temporarly disabled... this is not true if the python code is written for python3... And there seems no real 'way' to identify this. @@ -168,11 +183,17 @@ while read file; do *.typelib) typelib_requires "$file" ;; + *.gresource) + gresources_requires "$file" + ;; *) case $(file -b $file) in Python\ script*) python_requires "$file" ;; + *ELF*) + gresources_requires "$file" + ;; esac ;; esac @@ -203,6 +224,12 @@ for path in \ export GI_TYPELIB_PATH=$GI_TYPELIB_PATH:$path done +if which gresource >/dev/null 2>&1; then + gresourcecmd=$(which gresource 2>/dev/null) +else + grsourcecmd="false" +fi + if inList "$x64bitarch" "${HOSTTYPE}"; then shlib_64="()(64bit)" fi diff --git a/gobject-introspection-1.38.0.tar.xz b/gobject-introspection-1.38.0.tar.xz deleted file mode 100644 index 4ffb1c4..0000000 --- a/gobject-introspection-1.38.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3575e5d353c17a567fdf7ffaaa7aebe9347b5b0eee8e69d612ba56a9def67d73 -size 1226324 diff --git a/gobject-introspection-1.40.0.tar.xz b/gobject-introspection-1.40.0.tar.xz new file mode 100644 index 0000000..6529cd0 --- /dev/null +++ b/gobject-introspection-1.40.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96ea75e9679083e7fe39a105e810e2ead2d708abf189a5ba420bfccfffa24e98 +size 1286424 diff --git a/gobject-introspection.changes b/gobject-introspection.changes index a736eb3..1b00b54 100644 --- a/gobject-introspection.changes +++ b/gobject-introspection.changes @@ -1,3 +1,82 @@ +------------------------------------------------------------------- +Wed Mar 26 19:11:35 UTC 2014 - zaitor@opensuse.org + +- Update to version 1.40.0: + + Lots of fixes to docwriter/gjs. + + g-ir-compiler: Add support for callback fields on GObjects. + + Update tests. + + Misc bugfixes. + + Updated documentations. + +------------------------------------------------------------------- +Fri Feb 28 17:13:36 UTC 2014 - dimstar@opensuse.org + +- gi-find-deps.sh: more gresource scanning (bnc#866267): + + Add *.gresource to gobjectintrospection.attr + + Parse *.gresource files the same way we already handle ELF + binaries with gresources embedded. + +------------------------------------------------------------------- +Wed Feb 19 18:49:19 UTC 2014 - zaitor@opensuse.org + +- Update to version 1.39.90: + + Update glib annotations from git master. + + Fix errors parsing OSX 10.9 headers. + + gi-tester: Don't use negative substring parameters. + + scanner: + - Improve compatibility with OS X. + - Report __inline__ as the inline token. + + docwriter: Don't render private nodes. + + Add test passing an owned boxed structure to a callback. + +------------------------------------------------------------------- +Thu Feb 13 19:31:34 UTC 2014 - dimstar@opensuse.org + +- gi-find-deps.sh: Support gresource scanning: + + Add *.so to gobjectintrospection.attr: those files can contain + gresources, which in fact could be javascript code, requiring + typelibs (seen since gnome-shell 3.11.5 for example). + + Introduce gresource_requires function in gi-find-deps.sh, which + extracts the javascript gresources from ELF binaries and scans + them for typelib dependencies. + +------------------------------------------------------------------- +Thu Feb 13 08:23:27 UTC 2014 - dimstar@opensuse.org + +- Pass --enable-doctool to configure: enable g-ir-doctool. +- Add python-Mako BuildRequires: dependency to build g-ir-doctool. + +------------------------------------------------------------------- +Tue Feb 4 18:28:48 UTC 2014 - dimstar@opensuse.org + +- gi-find-deps.sh: be more resilient in detecting examples: the + string "from gi.repository import *" inside quotes does not need + to be parsed. + +------------------------------------------------------------------- +Sun Jan 26 13:36:26 UTC 2014 - zaitor@opensuse.org + +- Update to version 1.39.3: + + Update glib annotations. + + scannerlexer: Fix bad unref. + + Rework The Visual Studio 2008 and 2010 Build Process. + + Correct a Library Name. + + giobjectinfo: Add missing transfer annotation to find_signal(). + + tests: Switch two more uses to LOG_COMPILER to fix + parallel-tests. + + Bugs fixed: bgo#719566. bgo#720063, bgo#720066, bgo#720063, + bgo#720713, bgo#721177, bgo#581525, bgo#721477, bgo#722104. + +------------------------------------------------------------------- +Wed Dec 4 20:57:38 UTC 2013 - dimstar@opensuse.org + +- Update to version 1.39.0: + + Updated glib annotations. + + Bugs fixed: bgo#571648, bgo#640812, bgo#676133, bgo#688375, + bgo#688897, bgo#698367, bgo#700025, bgo#708445, bgo#709462, + bgo#709796, bgo#710320, bgo#710560, bgo#710561, bgo#710562, + bgo#711153, bgo#711157, bgo#711541, bgo#712211. + ------------------------------------------------------------------- Wed Dec 4 13:13:34 CET 2013 - mls@suse.de @@ -151,7 +230,7 @@ Tue Nov 13 14:33:07 UTC 2012 - dimstar@opensuse.org - Refactored gi-find-deps.sh: the various requires extraction methods are split in functions, which allows to execute the same function on different patterns. This helps us insofar as we need - to be able to check files in /usr/bin and want to habe them + to be able to check files in /usr/bin and want to have them processed the same way as other files. Needed for example by accerciser, where /usr/bin/accerciser is a python script with stricter gi requirements (Wcnk 3.0). diff --git a/gobject-introspection.spec b/gobject-introspection.spec index d6b5206..3d65c64 100644 --- a/gobject-introspection.spec +++ b/gobject-introspection.spec @@ -1,7 +1,7 @@ # # spec file for package gobject-introspection # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: gobject-introspection -Version: 1.38.0 +Version: 1.40.0 Release: 0 # FIXME: Find a way to identify if we need python3-gobject or python-gobject from gi-find-deps.sh. # FIXME: when bgo#629930 gets fixed, move the appropriate pkg-config files to the main package and rename the devel package to libgirepository-devel @@ -25,7 +25,7 @@ Summary: GObject Introspection Tools License: LGPL-2.1+ and GPL-2.0+ Group: Development/Libraries/GNOME Url: http://live.gnome.org/GObjectIntrospection -Source0: http://download.gnome.org/sources/gobject-introspection/1.38/%{name}-%{version}.tar.xz +Source0: http://download.gnome.org/sources/gobject-introspection/1.40/%{name}-%{version}.tar.xz # gi-find-deps.sh is a rpm helper for Provides and Requires. Script creates typelib()-style Provides/Requires. Source1: gi-find-deps.sh Source2: gobjectintrospection.attr @@ -40,6 +40,7 @@ BuildRequires: gtk-doc BuildRequires: libffi-devel # needed for patch0 BuildRequires: libtool +BuildRequires: python-Mako BuildRequires: python-devel BuildRequires: python-xml BuildRequires: pkgconfig(cairo) @@ -102,7 +103,8 @@ a uniform, machine readable format. autoreconf -fi %configure \ --enable-gtk-doc \ - --disable-static + --disable-static \ + --enable-doctool %__make %{?_smp_mflags} V=1 %install @@ -128,6 +130,7 @@ rm -rf %{buildroot} %{_bindir}/g-ir-annotation-tool %{_bindir}/g-ir-compiler %{_bindir}/g-ir-dep-tool +%{_bindir}/g-ir-doc-tool %{_bindir}/g-ir-generate %{_bindir}/g-ir-scanner %doc %{_mandir}/man1/g-ir-compiler.1* diff --git a/gobjectintrospection.attr b/gobjectintrospection.attr index 03d1413..d8e60b3 100644 --- a/gobjectintrospection.attr +++ b/gobjectintrospection.attr @@ -1,4 +1,4 @@ %__gobjectintrospection_provides %{_rpmconfigdir}/gi-find-deps.sh -P %__gobjectintrospection_requires %{_rpmconfigdir}/gi-find-deps.sh -R -%__gobjectintrospection_path ^(%{_libdir}/.*\.typelib)|(.*\.py)|(.*\.js)|(%{_bindir}/.*)$ +%__gobjectintrospection_path ^(%{_libdir}/.*\.typelib)|(.*\.gresource)|(.*\.py)|(.*\.js)|(.*\.so)|(%{_bindir}/.*)$ %__gobjectintrospection_exclude_path ^/usr/share/doc/packages/