From fe1d73e5710b8b11db71bcfe3fa73a2ae1f0464d Mon Sep 17 00:00:00 2001 From: zyppe <210hcl@gmail.com> Date: Sat, 10 Feb 2024 22:27:01 +0800 Subject: [PATCH] Initialize for gobject-introspection --- .gitignore | 1 + .gobject-introspection.metadata | 1 + baselibs.conf | 1 + gi-find-deps.sh | 263 +++++ gobject-introspection-rpmlintrc | 2 + gobject-introspection-typelib.template | 18 + gobject-introspection.changes | 1360 ++++++++++++++++++++++++ gobject-introspection.spec | 167 +++ gobjectintrospection.attr | 4 + 9 files changed, 1817 insertions(+) create mode 100644 .gitignore create mode 100644 .gobject-introspection.metadata create mode 100644 baselibs.conf create mode 100644 gi-find-deps.sh create mode 100644 gobject-introspection-rpmlintrc create mode 100644 gobject-introspection-typelib.template create mode 100644 gobject-introspection.changes create mode 100644 gobject-introspection.spec create mode 100644 gobjectintrospection.attr diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..54e4d0b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +gobject-introspection-1.70.0.tar.xz diff --git a/.gobject-introspection.metadata b/.gobject-introspection.metadata new file mode 100644 index 0000000..1b9e57e --- /dev/null +++ b/.gobject-introspection.metadata @@ -0,0 +1 @@ +67594a0422299d78d99ac43860348c53574eee2d353ae3fcf46cfa00ea7bd588 gobject-introspection-1.70.0.tar.xz diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..9a9912e --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libgirepository-1_0-1 diff --git a/gi-find-deps.sh b/gi-find-deps.sh new file mode 100644 index 0000000..8c9d739 --- /dev/null +++ b/gi-find-deps.sh @@ -0,0 +1,263 @@ +#!/bin/bash + +# Automatically find Provides and Requires for typelib() gobject-introspection bindings. +# can be started with -R (Requires) and -P (Provides) + +# Copyright 2011 by Dominique Leuenberger, Amsterdam, Netherlands (dimstar [at] opensuse.org) +# This file is released under the GPLv2 or later. + +function split_name_version { +base=$1 +tsymbol=${base%-*} +# Sometimes we get a Requires on Gdk.Settings.foo, because you can directly use imports.gi.Gdk.Settings.Foo in Javascript. +# We know that the symbol in this case is called Gdk, so we cut everything after the . away. +symbol=$(echo $tsymbol | awk -F. '{print $1}') +version=${base#*-} +# In case there is no '-' in the filename, then the split above 'fails' and version == symbol (thus: no version specified) +if [ "$tsymbol" = "$version" ]; then + unset version +fi +} + +function split_name_version2 { + symbol=$(echo $1 | awk -F: '{print $1}' | sed "s:[' ]::g") + version=$(echo $1 | awk -F: '{print $2}' | sed "s:[' ]::g") +} + +function print_req_prov { +echo -n "typelib($symbol)" +if [ ! -z "$version" ]; then + echo " = ${version}" +else + echo "" +fi +} + +function find_provides { +while read file; do + case $file in + *.typelib) + split_name_version $(basename $file | sed 's,.typelib$,,') + print_req_prov + ;; + esac +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 | sort | sh $0 -R +rm -rf "$tmpdir" +} + +function python_requires { + for module in $(grep -h -P "^\s*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. + # echo "python-gobject >= 2.21.4" + done + for module in $(grep -h -P -o ".*(gi\.require_version\(['\"][^'\"]+['\"],\s*['\"][^'\"]+['\"]\))" $1 | sed -e 's:#.*::' -e 's:.*gi.require_version::' -e "s:[()\"' ]::g" -e 's:,:-:'); do + split_name_version $module + print_req_prov + done + # python glue layers (/gi/overrides) import their typelibs slightly different + for module in $(grep -h -P -o "=\s+(get_introspection_module\(['\"][^'\"]+['\"]\))" $1 | sed -e 's:#.*::' -e 's:=.*get_introspection_module::' -e "s:[()\"' ]::g"); do + split_name_version $module + print_req_prov + done +} + +function javascript_requires { + # parse the new import style in 3.32 + for module in $(grep -r -h -A2 'const {' $1 | paste -s -d ' ' | grep '} = imports.gi;' | sed 's/imports.gi;.*/imports.gi;/' | awk -F '[{}]' '{print $(NF>1?NF-1:"")}' | tr ',' '\n' | tr -d ' ' | awk -F ':' '{print $1}'); do + split_name_version $module + print_req_prov + done + # parse the old import style before 3.32 + for module in $(grep -h -P -o "imports\.gi\.([^\s'\";]+)" $1 | grep -v "imports\.gi\.version" | sed -r -e 's,\s+$,,g' -e 's,imports.gi.,,'); do + split_name_version $module + print_req_prov + done + for module in $(grep -h -P -o "imports\.gi\.versions.([^\s'\";]+)\s*=\s*['\"].+['\"]" $1 | \ + sed -e 's:imports.gi.versions.::' -e "s:['\"]::g" -e 's:=:-:' -e 's: ::g'); do + split_name_version $module + print_req_prov + done + # This is, at the moment, specifically for Polari where a "const { Foo, Bar } = imports.gi;" is used. + for module in $(grep -h -E -o "\{ \w+(: \w+|, \w+)+ \} = imports.gi;" $1 | \ + sed -r -e '0,/\w+:\s\w+/ s/:\s\w+//g' -e 's: = imports.gi;:: ; s:\{ :: ; s: \}:: ; s/,//g'); do + split_name_version $module + print_req_prov + done + # Remember files which contain a pkg.require() call + if pcregrep -M "pkg.require\\(([^;])*" $1 > /dev/null; then + # the file contains a pkg.require(..) list... let's remember th is file for the in-depth scanner + if [ -n "$jspkg" ]; then + jspkg=$1:${jspkg} + else + jspkg=$1 + fi + fi + # remember files which contain exlucde filters used against pkg.require() + if pcregrep -M "const RECOGNIZED_MODULE_NAMES =([^;])*" $1 > /dev/null; then + # the file contains RECOGNIZED_MODULE_NAMES list. We remember the file name for the follow up filtering + if [ -n "$jspkgfilt" ]; then + jspkgfilt=$1:${jspkgfilt} + else + jspkgfilt=$1 + fi + fi + +} + +function javascript_pkg_filter { +# For now this is a dummy function based on gnome-weather information +#for file in $jspkgfilt; do +# FILTER=($(pcregrep -M "const RECOGNIZED_MODULE_NAMES =([^;])*" $file | grep -o "'.*'" | sed "s:'::g")) +#done + FILTER=('Lang' 'Mainloop' 'Signals' 'System' 'Params') +} + +function javascript_pkg_requires { +# javascript files were found which specify pkg.require('..': '..'[,'..': '']); list +# This is used in some apps in order to have a 'centralized' point to specify all package dependencies. +# once we reach this function, we already know which file(s) contain the pkg.require(..) list. +oldIFS=$IFS +IFS=: +for file in "$jspkg"; do + IFS=$'\n' + PKGS=$(pcregrep -M "pkg.require\\(([^;])*" $file | grep -o "'.*': '.*'") + for pkg in $PKGS; do + split_name_version2 $pkg + found=0 + for (( i=0 ; i<${#FILTER[@]} ; i++ )); do + if [ "$symbol" = "${FILTER[$i]}" ]; then + found=1 + fi + done + if [ $found -eq 0 ]; then + print_req_prov + fi + done + IFS=: +done +IFS=$oldIFS + +} + +function typelib_requires { + split_name_version $(basename $1 | sed 's,.typelib$,,') + oldIFS=$IFS + IFS=$'\n' + for req in $(g-ir-inspect --print-shlibs --print-typelibs $symbol --version $version); do + case $req in + typelib:*) + module=${req#typelib: } + split_name_version $module + print_req_prov + ;; + shlib:*) + echo "${req#shlib: }${shlib_64}" + ;; + esac + done + IFS=$oldIFS +} + +function find_requires { +# Currently, we detect: +# - in python: +# . from gi.repository import foo [Unversioned requirement of 'foo'] +# . from gi.repository import foo-1.0 [versioned requirement] +# . gi.require_version('Gtk', '3.0') (To specify a version.. there is still an import needed) +# . And we do not stumble over: +# from gi.repository import foo as _bar +# from gi.repository import foo, bar +# - in JS: +# . imports.gi.foo; [unversioned requirement of 'foo'] +# . imports.gi.foo-1.0; [versioned requirement of 'foo'] +# . imports.gi.versions.Gtk = '3.0'; +# . const { foo, bar } = imports.gi; +# . The imports can be listed on one line, and we catch them. + +while read file; do + case $file in + *.js) + javascript_requires "$file" + ;; + *.py) + python_requires "$file" + ;; + *.typelib) + typelib_requires "$file" + ;; + *.gresource) + gresources_requires "$file" + ;; + *) + case $(file -b $file) in + *[Pp]ython*script*) + python_requires "$file" + ;; + *ELF*) + gresources_requires "$file" + ;; + esac + ;; + esac +done +# The pkg filter is a place holder. This should read the filter from the javascript files. +#if [ -n "$jspkgfilt" ]; then +javascript_pkg_filter +#fi +# in case the javascript parser above detected files which specify pkg.require, we enter the more in-depth scanning scheme for those files. +if [ -n "$jspkg" ]; then + javascript_pkg_requires +fi +} + +function inList() { + for word in $1; do + [[ "$word" = "$2" ]] && return 0 + done + return 1 +} + +# Confer with /usr/lib/rpm/platforms +x64bitarch="aarch64 mips64 mips64el mips64r6 mips64r6el ppc64 ppc64le riscv64 s390x sparc64 x86_64" + +for path in \ + $(for tlpath in \ + $(find ${RPM_BUILD_ROOT}/usr/lib64 ${RPM_BUILD_ROOT}/usr/lib /usr/lib64 /usr/lib -name '*.typelib' 2>/dev/null); do + dirname $tlpath; done | sort --unique ); do + 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 +case $1 in + -P) + find_provides + ;; + -R) + find_requires + ;; +esac + diff --git a/gobject-introspection-rpmlintrc b/gobject-introspection-rpmlintrc new file mode 100644 index 0000000..ba04669 --- /dev/null +++ b/gobject-introspection-rpmlintrc @@ -0,0 +1,2 @@ +addFilter(".*devel-file-in-non-devel-package.*/usr/share/gir-.*/*\.gir") +addFilter(".*devel-file-in-non-devel-package.*/usr/share/gobject-introspection-.*/*\.[ch]") diff --git a/gobject-introspection-typelib.template b/gobject-introspection-typelib.template new file mode 100644 index 0000000..9f8a87e --- /dev/null +++ b/gobject-introspection-typelib.template @@ -0,0 +1,18 @@ +typelib(DBus) = 1.0 +typelib(DBusGLib) = 1.0 +typelib(GIRepository) = 2.0 +typelib(GL) = 1.0 +typelib(GLib) = 2.0 +typelib(GModule) = 2.0 +typelib(GObject) = 2.0 +typelib(Gio) = 2.0 +typelib(Vulkan) = 1.0 +typelib(cairo) = 1.0 +typelib(fontconfig) = 2.0 +typelib(freetype2) = 2.0 +typelib(libxml2) = 2.0 +typelib(win32) = 1.0 +typelib(xfixes) = 4.0 +typelib(xft) = 2.0 +typelib(xlib) = 2.0 +typelib(xrandr) = 1.3 diff --git a/gobject-introspection.changes b/gobject-introspection.changes new file mode 100644 index 0000000..fccb5ff --- /dev/null +++ b/gobject-introspection.changes @@ -0,0 +1,1360 @@ +* Sat Nov 6 2021 bjorn.lie@gmail.com +- Add explicit libgirepository-1_0-1 Requires to devel subpackage, + it was already pulled in via the main package, so no real change. +- Use ldconfig_scriptlets macro for post(un) handling. +* Fri Sep 17 2021 bjorn.lie@gmail.com +- Update to version 1.70.0: + + Update the GIR data for GLib, GObject, and GIO. +* Wed Aug 25 2021 dimstar@opensuse.org +- Update to version 1.69.0: + + Fix build when gobject-introspection is a subproject, + + Add more float types, + + Make test suite work with cross-related options, + + Fix several leaks found by Coverity, + + Fix enum member, + + Add g-ir-doc-tool man page, + + Export warnlib sources as variables, + + Update the GLib annotations, + + Add "final" class attribute, + + Add option to make .gir files installation paths configurable, + + Handle constructors with mismatched GTypes, + + Add property accessors annotations, +* Mon Jun 28 2021 dimstar@opensuse.org +- Revert back o HOSTTYPE: RPM_ARCH is not available to the dep + scanners. +* Tue Jun 8 2021 jengelh@inai.de +- gi-find-deps.sh: Don't use HOSTTYPE, use RPM_ARCH. +- ia64 never used ()(64bit) markers, do drop that from gi-find-deps. +* Tue Jun 8 2021 dimstar@opensuse.org +- gi-find-deps.sh: on Tumbleweed, HOSTTYPE on ppc64/ppc64le reports + powerpc64 and powerpc64le: accept those strings as 64bit archs. +* Sat Mar 20 2021 dimstar@opensuse.org +- Update to version 1.68.0: + + Update GLib annotations. + + docs: cleanup. + + Fix syntax errors in gir-1.2.rnc. +* Thu Mar 18 2021 dimstar@opensuse.org +- Update to version 1.67.1: + + Requires Python 3.6+. + + Update GLib annotations. + + Fix compatibility with Python 3.10. + + Fix build with GIR data disabled. + + Add test object for signal marshallers. +* Mon Oct 5 2020 dimstar@opensuse.org +- Update to version 1.66.1: + + Update glib annotations. + + gimarshallingtests: Add more tests for flags.. + + Revert "giscanner: Fix section matching for documentation. +* Mon Sep 14 2020 dimstar@opensuse.org +- Update to version 1.66.0: + + Support the gtk-doc action syntax. + + GITypeInfo storage type utility API. + + libgirepository: Add a couple missing nullable annotations. + + dumper: Fix missing symbols in LTO case or with overridden + symbol visibility settings. + + Documentation improvements. + + Remove old autoconf fallback code for the python tools. + + giscanner: parse block comments for members and fields. + + Add the notion of standalone doc sections. + + giscanner: Add support for using clang-cl. + + giscanner: Fix section matching for documentation. +* Sun Apr 5 2020 bjorn.lie@gmail.com +- Update to version 1.64.1: + + Replace calls to deprecated xml.etree.cElementTree removed in + Python 3.9. + + gimarshallingtests: Use g_assert_cmpfloat_with_epsilon. Fixes + tests on some architectures. +* Sun Mar 8 2020 bjorn.lie@gmail.com +- Update to version 1.64.0: + + Update glib annotations. + + Fix regress scanner tests for non-gcc/clang compilers. + + Document how to update glib GIR. +* Wed Feb 12 2020 dimstar@opensuse.org +- Update to version 1.63.2: + + Update glib annotations. + + Fix build reproducibility. + + Drop deprecated xml.etree.ElementTree.Element.getchildren() + calls. +- Changes from version 1.63.1: + + Update glib annotations. + + build: require meson 0.50.1. + + scanner: Support array arguments with static keyword. + + Fix non-libtool code being run with no nob-libtool + dependencies. + + meson: change "cairo" and "doctool" from a boolean to a + feature option. + + Fix a memory leak in g_irepository_get_object_gtype_interfaces. + + autotools: Make INTROSPECTION_GIRDIR/INTROSPECTION_TYPELIBDIR + respect prefix/datadir/libdir. + + girepository: Also store GType cache misses. + + docs: Document GI_CROSS_LAUNCHER envvar. +- Change -Dcairo=true and -Ddoctool=true meson parameters to + - Dcairo=enabled and -Ddoctool=enabled: follow upstreams changes. +* Fri Dec 13 2019 stefan.bruens@rwth-aachen.de +- Drop python3-Sphix BuildRequires, only used for rebuilding the + website contents. +* Sat Oct 12 2019 stefan.bruens@rwth-aachen.de +- Depend on the specific Python ABI version the module was built with, + as the _giscanner binary module is ABI dependent. Fixes boo#1153837 +* Mon Sep 9 2019 mgorse@suse.com +- Update to version 1.62.0: + + No changes since 1.61.2. +* Fri Aug 30 2019 mgorse@suse.com +- Update to version 1.61.2: + + dumper: Use the distutils linker. + + structinfo: Fix offset in find_method(). + + tests: Don't include "config.h" in installed files. + + meson: Make meson.override_find_program working on more complex + use cases. +- Changes from version 1.61.1: + + Drop autotools build system. + + meson: require 0.49.2. + + Update glib annotations. + + Add documentation to the RelaxNG schema. + + Unused variable fixes. + + cachestore: handle cache getting deleted while loading it. + + Add Vulkan gir. + + Make g_irepository_get_object_gtype_interfaces actually work. + + gimarshallingtests: Add a marshalling test case for GPtrArrays + and GArrays of structures. + + scanner: parse and expose function macros. + + meson: use pkg-config directly for libffi cflags and libs. + + meson: Fix wrong dependency type check for gio-unix. + + regress: Add regression test for signal with GError param. +- Add Vulkan to typelib template. +* Wed Aug 14 2019 qkzhu@suse.com +- Update gi-find-deps.sh: upate javascript_requires function to parse + the new JS import style (bsc#1140614). +* Sat Jun 15 2019 bjorn.lie@gmail.com +- Update to version 1.60.2: + + docwriter: Fix Exception message attribute. + + meson: fix default cairo DLL name on Windows. + + scanner: Fix error on Windows in case source files are on + different drives. + + gi-test: Fix gir file tests with MSVC. + + MSVC.README.rst: Update VS 2008/x64 build notes. + + giscanner/scannerlexer.l: Include io.h on Windows. + + build: Force-include msvc_recommended_pragmas.h on Visual + Studio. + + Update glib annotations. +* Tue Apr 9 2019 bjorn.lie@gmail.com +- Update to version 1.60.1: + + Update glib annotations. + + shlibs: fall back to basename on macOS for relative paths. + + meson: always pass --quiet to g-ir-scanner. + + docs: include '--c-include' in g-ir-scanner man page. + + tests: Fix compatibility with Python 3.5. +* Sun Mar 10 2019 bjorn.lie@gmail.com +- Update to version 1.60.0: + + gir: Update glib annotations. +* Mon Mar 4 2019 bjorn.lie@gmail.com +- Update to version 1.59.5: + + gir: + - Include C header in cairo gir file. + - Skip glib-enumtypes.h for GObject-2.0. +* Thu Feb 14 2019 bjorn.lie@gmail.com +- Update to version 1.59.4: + + tests: Add functions using flat struct arrays. + + Clean shebangs out of non-executable scripts and drop exec perm + from xmlwriter.py. + + maintransformer: parse deprecation annotations for section + blocks. + + repository: g_irepository_get_object_gtype_interfaces. + + message: handle fatal errors even if warnings are disabled. + + autotools: Fix build with ``-Wl,--as-needed``. + + maintransformer: Don't warn on (optional) annotations on + (inout). + + girepository: Fix a possible use-after-free if + g_mapped_file_new() fails and fix possible leak of transitive + dependency names. +* Wed Jan 9 2019 dimstar@opensuse.org +- Fix shebangs for files installed to /usr/bin to not use + /usr/bin/env. +* Tue Jan 8 2019 bjorn.lie@gmail.com +- Update to version 1.59.3: + + meson: + - Use underscore as a separator in build options (gtk-doc-> + gtk_doc etc). + - Warn that not all tests will be run if building without + cairo/doctool. + + scanner: + - Merge specifiers and qualifiers when merging basic types. + Fixes "unsigned char" being wrongly parsed as "unsigned" etc. + - Rework source root directory guessing code to not depend on + the build directory. + - Remove incorrect c:type generated for array of synthesized + unions. + - Flatten multi-dimensional arrays fields. + + website: add cppgir C++ binding. +- Replace -Dgtk-doc=true call to meson with -Dgtk_doc=true. +- Pass -Ddoctool=true and -Dcairo=true to meson, build and install + g-ir-doc-tool and use cairo during meson_check (tests). +* Fri Jan 4 2019 bjorn.lie@gmail.com +- Update to version 1.59.2: + + Everything included in 1.58.3. + + meson: Various fixes and all tests have been ported. + + scanner: Save preprocessor input and output files with + ``save-temps``. + + automake: Use the wildcard function where needed. + + build: extend ``PYTHONPATH`` instead of replacing it. + + gir/cairo: add ``cairo_rectangle_t``. + + Add a ``--version`` option to g-ir-compiler and g-ir-generate. + + tests: various test improvements. + + ccompiler: don't use Python compiler flags. + + parser: Do not bail out when parsing GIR files without doc + positions. + + gimarshallingtests: Remove declarations of nonexistent + functions. +- Changes from version 1.59.1: + + Everything included in 1.58.2. + + build: + - Drop Python 2 support, require Python 3.4+. + - Add option to make .gir files installation paths + configurable. + - Skip gobject/gvaluecollector.h when constructing GObject GIR. + - Port various tests to work with meson. + + regress: + - Add test for write-only property. + - Implement interface and override properties. + + writer: Include documentation and symbol position in source + files. + + giscanner: + - Print relative filename paths when warning. + - Define grefcount and gatomicrefcount as aliases to gint. + - Allow empty declarations. Fixes warnings with mingw headers. + - Replace linked lists with arrays in source scanner. + + girepository: + - Various docs cleanups and fixes. + - Don't abort when calling g_base_info_get_name() on a + GITypeInfo. + - Add version macros and functions. +* Sun Dec 30 2018 bjorn.lie@gmail.com +- Update to version 1.58.3: + + docwriter: Support python-markdown 3.x. + + scanner: Define grefcount and gatomicrefcount as aliases to + gint. + + scanner: make using bool without stdbool include work again. + + gir: Update glib annotations for glib 2.58.2. +- Drop upstream fixed patches: + + gi-docwriter-Support-markdown-3.x.patch: docwriter: Support + markdown 3.x. + + gi-Define-grefcount-and-gatomicrefcount-as-aliases.patch: + Define grefcount and gatomicrefcount as aliases to gint. + + gi-Update-glib-annotations.patch: Update glib annotations + (glib-2-58). +* Thu Dec 27 2018 bjorn.lie@gmail.com +- Add upstream bug fix patches from stable branch: + + gi-docwriter-Support-markdown-3.x.patch: docwriter: Support + markdown 3.x. + + gi-Define-grefcount-and-gatomicrefcount-as-aliases.patch: + Define grefcount and gatomicrefcount as aliases to gint. + + gi-Update-glib-annotations.patch: Update glib annotations + (glib-2-58). +* Sun Dec 9 2018 bjorn.lie@gmail.com +- Update to version 1.58.2: + + meson: Fix random build errors (mostly MSVC). + + scanner: + - Fix parsing of __typeof__ that is part of a cast expression. + - Ignore __pragma keyword used by MSVC. +* Sat Nov 17 2018 bjorn.lie@gmail.com +- Update to version 1.58.1: + + meson: + - Install warnlib. + - Add back /usr/bin/env to the python-cmd. + + scanner: Parse __typeof__ and discard it. + + Fix non libtool build. +- Drop gobject-introspection-3.30.0-install-warnlib.patch: Fixed + upstream. +- Modernize spec, use autosetup macro. +* Wed Sep 26 2018 luc14n0@linuxmail.org +- Update gi-find-reqs.sh to support new Polari's imports.gi pattern + "const { Foo, Bar } = imports.gi;". +* Wed Sep 19 2018 antoine.belvire@opensuse.org +- Add gobject-introspection-3.30.0-install-warnlib.patch: Install + missing files, notably required by gjs (picked from upstream). +* Tue Sep 11 2018 luc14n0@linuxmail.org +- Update to version 1.58.0: + + Changes: + - Add a --version argument to the Python-based tools + - Allow selecting the output format for g-ir-doc-tool + - Support all _Float* C types from ISO/IEC TS 18661-3:2015 + - g-ir-doc-tool: Add DevDocs formatting for GJS + (--format=devdocs). + + Issues resolved: + - Default element-type not set for GByteArray object properties + (glgo#GNOME/gobject-introspection#184). + - c:type missing pointer/array information in GIR for C array + parameters (glgo#GNOME/gobject-introspection#189). + - Allow multiple output formats + (glgo#GNOME/gobject-introspection#134). + - gtk2 hits unreachable code after enable -Wswitch-default + (glgo#GNOME/gobject-introspection#218). + - Memory leaks in GI regress and marshalling tests property + setter (glgo#GNOME/gobject-introspection#113). +- Add python3-Sphinx BuildRequires: New dependency. +- Add meson BuildRequires and replace configure/make/make_install + with meson/meson_build/meson_install/meson_test macros to reflect + upstream's build system port to Meson. +- Enable tests run to increase QA of package. +* Sat Aug 18 2018 bjorn.lie@gmail.com +- Update to version 1.57.3: + + The autotools build now uses autoconf-archive. + + g-ir-doc-tool: Add DevDocs formatting for GJS + (--format=devdocs). This adds a dependency on the Python + markdown package. +- Add python3-Markdown BuildRequires: New dependency. +* Fri Aug 10 2018 luc14n0@linuxmail.org +- Update to version 1.57.2: + + Add a --version argument to the Python-based tools. + + Allow selecting the output format for g-ir-doc-tool. + + Support all _Float* C types from ISO/IEC TS 18661-3:2015. + + Issues resolved: glgo#GNOME/gobject-introspection#184, + glgo#GNOME/gobject-introspection#189, + glgo#GNOME/gobject-introspection#134, + glgo#GNOME/gobject-introspection#218, + glgo#GNOME/gobject-introspection#113. +* Mon Apr 9 2018 bjorn.lie@gmail.com +- Update to version 1.56.1: + + gir: Update annotations from glib 2.56.1. + + giscanner: fix --no-libtool on macOS. +* Tue Mar 13 2018 dimstar@opensuse.org +- Update to version 1.56.0: + + gir: Update annotations from GLib git master. +* Wed Feb 28 2018 dimstar@opensuse.org +- Modernize spec-file by calling spec-cleaner +* Thu Feb 22 2018 luc14n0@linuxmail.org +- Update to version 1.55.2: + + Changes: Add _Float128 to the base C types. + + Bugs fixed: + - Fails to parse flag-constants + (glgo#GNOME/gobject-introspection#173). + - Writer: Include documentation and symbol position in source + files (glgo#GNOME/gobject-introspection#175). + - Const qualifier dropped from c:type on (type filename) + parameters (glgo#GNOME/gobject-introspection#190). + - giscanner: don't print "suppressed N warnings" if --quiet + was specified (glgo#GNOME/gobject-introspection#188). + - gitypelib.c: increase #define MAX_NAME_LEN from 200 to 255 + (bgo#764791). + - g-ir-scanner does not recognize _Thread_local (bgo#756921). + - MY_ENUM_VALUE = only works for last member + (bgo#629667). + - os.name can be wrong in some context (bgo#761985). +- Update '+' in GPL/LGPL License tag to '-or-later' to comply with + SPDX 3.0. +* Wed Feb 21 2018 schwab@suse.de +- go-find-deps.sh: add riscv64 to x64bitarch. +* Tue Jan 9 2018 dimstar@opensuse.org +- Update to version 1.55.1: + + Sync up with glib 2.55.1. +* Sat Nov 18 2017 luc14n0@linuxmail.org +- Update to version 1.55.0: + + gir: Update annotations from GLib. + + Bug fix: girepository: + Don't skip g_irepository_get_option_group() (bgo#786665). +- Update Url to the current GObject introspetion's web page: + https://wiki.gnome.org/Projects/GObjectIntrospection +- Switch libffi-devel BuildRequires with its pkgconfig version + since configure just looks for its module. +- Update glib-2.0 pkgconfig BuildRequires version to 2.55.0 + according it to configure check. +- Add gio-2.0, gio-unix-2.0 and gmodule-2.0 pkgconfig + BuildRequires: note that they were alredy being pulled with + pkgconfig(glib-2.0) BuildRequires and used, since they live in + the same devel package. +* Thu Nov 2 2017 mpluskal@suse.com +- Switch to python3 +- Cleanup with spec-cleaner +- Run tests during build +* Wed Oct 4 2017 luc14n0@linuxmail.org +- Update to version 1.54.1: + + girnode.c: Use locale-independent functions to parse numbers + (bgo#788087). +- Drop '%%if 0%%{suse_version} <= 1140' conditional: obsolete. +* Mon Sep 11 2017 dimstar@opensuse.org +- Update to version 1.54.0: + + giscanner: fix EOF check with flex >= 2.6.1. + + gir: Update annotations from GLib 2.54.0. +* Tue Sep 5 2017 zaitor@opensuse.org +- Update to version 1.53.7: + + gir: Update annotations from GLib. + + Ignore _Nonnull,_Nullable and _Null_unspecified type + qualifiers. + + build: Only generate .pc files for this package for MSVC + builds. +* Wed Aug 9 2017 zaitor@opensuse.org +- Update to version 1.53.5: + + gir: Update annotations. +* Fri Jul 21 2017 zaitor@opensuse.org +- Update to version 1.53.4: + + MSVC 201x builds: Allow different Python versions per toolset. + + gir: Update annotations from GLib git master. + + regress: Test for property and method with conflicting names. +* Wed Jun 21 2017 dimstar@opensuse.org +- Update to version 1.53.3: + + Visual Studio builds: Use the Centricular fork of libffi. + + When handling errors according to errno, catch both IOError and + OSError. + + gir: Update annotations from GLib 2.53.3. +* Sat Jun 17 2017 bwiedemann@suse.com +- gi-find-deps.sh: sort autogenerated Requires to make builds fully + reproducible. +* Tue May 23 2017 zaitor@opensuse.org +- Update to version 1.53.2: + + gir: Update annotations. + + Misc fixes. +* Fri May 19 2017 zaitor@opensuse.org +- Update to version 1.53.1: + + gir: Update annotations from GLib. + + regress: Add test for setting a NULL strv in a GValue. + + Visual Studio 201x builds: Fix "installation". + + Fix 'Bad file descriptor' error when checking libtool version. +* Sun Apr 16 2017 zaitor@opensuse.org +- Update to version 1.52.1: + + gir: Update annotations from GLib 2.52.1. + + tests: Add marshalling tests for GValue-valued properties. + + gimarshallingtests: Add a flags and enum property. + + g-ir-scanner: fix wrong order of -L options in libtool + invocation. + + giscanner: Use shlex.split() for environment variables. +* Mon Mar 20 2017 dimstar@opensuse.org +- Update to version 1.52.0: + + typedefs: fix type information. + + gir: Update annotations from GLib 2.52.0. +* Tue Mar 14 2017 dimstar@opensuse.org +- Update to version 1.51.5: + + g-ir-scanner: document GI_SCANNER_DEBUG in man page. + + Visual Studio builds: Support Visual Studio 2017. + + gir: Update annotations from GLib git master. +* Tue Feb 14 2017 zaitor@opensuse.org +- Update to version 1.51.3: + + gir: Update annotations from GLib git master. +* Sun Feb 12 2017 dimstar@opensuse.org +- Update to version 1.51.2: + + Fix "Annotation" element in RelaxNG schema. + + gir: Update annotations from GLib git master. + + scanner: Add a way to specify extra libraries to link against. + + girepository: Annotate array and array-length parameter. +* Sun Feb 12 2017 dimstar@opensuse.org +- Update to version 1.51.1: + + Gio-2.0.gir: Don't exclude gsettingsbackend.h and pass needed + define. + + gir: Update annotations from GLib git master. +* Sat Feb 11 2017 dimstar@opensuse.org +- gi-find-deps.sh: do not match "from gi.repository import" if + there is anything but white space in front of it (usually + indicates we are in some descriptive comment block)" +* Wed Sep 21 2016 dimstar@opensuse.org +- Adjust the required version for pkgconfig(glib-2.0) according to + what configure expects. +* Tue Sep 20 2016 dimstar@opensuse.org +- Update to version 1.50.0: + + Updated translations. +* Tue Sep 13 2016 zaitor@opensuse.org +- Update to version 1.49.2: + + gir: Update annotations from GLib git master. + + gthash: free cmph objects. + + g-ir-inspect: + - Make description for --version a bit better. + - Remove last usage of g_autoptr(). +* Wed Aug 3 2016 zaitor@opensuse.org +- Update to version 1.49.1: + + gir: Update annotations from GLib 2.49.4. + + Various MSVC build fixes. + + g-ir-inspect: Inspect GI typelibs. +- Drop g-ir-dep-tool.patch: Fix upstream in a different way. +- Rebase gi-find-deps.sh to to conform to upstreams commits. +- Following the above: drop libtool BuildRequires and stop passing + autoreconf pre configure, no longer needed. +* Mon Apr 18 2016 dimstar@opensuse.org +- gi-find-deps.sh: scan GI overrides glue layers to add their + respective dependencies. +* Wed Apr 13 2016 idonmez@suse.com +- Update to GNOME 3.20 Fate#318572 +- Remove 0001-typelib-compiler-properly-initialise-memory.patch, + gobject-introspection-bgo729662-ownership-transfer.patch. +* Wed Mar 23 2016 dimstar@opensuse.org +- Update to version 1.48.0: + + gir: Update annotations from GLib 2.48.0. + + Various MSVC build fixes. +* Mon Mar 14 2016 dimstar@opensuse.org +- Update to version 1.47.92: + + Bugs fixed: bgo#696773, bgo#733535, bgo#736109, bgo#752047, + bgo#757126, bgo#757442, bgo#757443, bgo#757678, bgo#757934, + bgo#758448, bgo#759531, bgo#760682, bgo#761658, bgo#761659, + bgo#761981, bgo#761982, bgo#761983, bgo#761984, bgo#762653, + rh#1285991. +* Thu Jan 28 2016 dimstar@opensuse.org +- Add baselibs.conf: provide libgirepository-1_0-1 as -32bit + package as needed by libcjs0-32bit. +* Mon Jan 18 2016 dimstar@opensuse.org +- gi-find-deps.sh: work with the fact that newer file versions + identify python scripts differently, based on the shebang. +* Tue Nov 24 2015 zaitor@opensuse.org +- Update to version 1.47.1: + + No changelog provided, please check git.gnome.org. +* Tue Sep 22 2015 dimstar@opensuse.org +- Update to version 1.46.0: + + g-ir-scanner: Support multiple arguments for compiler. + + Update the GLib introspection data. +* Fri Aug 21 2015 zaitor@opensuse.org +- Update to version 1.45.4: + + Update the GLib introspection data. + + scanner: + - use open() as os.fdopen as context managers. + - fix cachestore race. + + g-ir-compiler: message when arguments are wrong. + + sourcescanner.py: Use Distutils for Preprocessing. + + giscanner/ccompiler.py: Initiate Distutils Compiler Instance. + + MSVC Builds: + - Update README.txt's. + - Builds: Drop GCC Requirement. + - Fix Script Generation Command. + - Update to Fix Build of Scripts. + - Clean Up And Fix the Projects. + - Generate The Tools Scripts. + + giscanner/sourcescanner.py: Use Tempfiles For Parsing. + + girepository: Remove "optimization" for found prefixes. + + scanner: + - Fix stray comment in previous commit. + - Recognize __signed. + + MSVC Introspection Builds: Make Cairo Note Clearer. + + build/: Fix Incorrect Naming of Script. + + MSVC .gir Builds: Allow More Flexibility for Cairo. + + build/gi-inrtospection-msvc.mak: Allow Libtool Style Names. + + build/gen-cairo-gir.py: Clean Up A Bit. + + Update glib annotations from glib 2.45.4. + + test: Add a test for GList containing GType. +* Mon Jul 6 2015 zaitor@opensuse.org +- Update to version 1.45.3: + + No changelog provided, please check git.gnome.org. +* Wed May 27 2015 dimstar@opensuse.org +- Update to version 1.45.2: + + Build system fixes. + + Update glib annotations. + + scanner: Add --symbol-filter-cmd. +* Tue May 12 2015 olaf@aepfle.de +- Add 0001-typelib-compiler-properly-initialise-memory.patch: + typelib compiler writes uninitialised memory to typelib file + (bnc#930584). +* Tue Mar 24 2015 dimstar@opensuse.org +- Update to version 1.44.0: + + Update glib annotations from glib-2-44 git. + + build: use the detected pkg-config (bgo#746669). + + Fixed reference to obsolete name used in g-ir-generate manpage + (bgo#729901). +* Wed Mar 18 2015 dimstar@opensuse.org +- Update to version 1.43.92: + + Bugs fixed: bgo#657754, bgo#738171, bgo#744536, bgo#745498, + bgo#745608, bgo#746138. +* Tue Mar 3 2015 dimstar@opensuse.org +- Update to version 1.43.91: + + Update glib annotations from git master. + + Build system fixes. +* Thu Jan 29 2015 zaitor@opensuse.org +- Update to version 1.43.3: + + tests: Change names with case-only distinction. + + Don't unconditionally include config.h in regress.c. + + Update glib annotations from git master. +* Tue Sep 23 2014 dimstar@opensuse.org +- Update to version 1.42.0: + + Build fixes. + + Update glib annotations from git master. + + Bugs fixed: bgo#732669, bgo#733879. +* Mon Sep 1 2014 zaitor@opensuse.org +- Update to version 1.41.91: + + Updated tests. + + Misc fixes. +* Tue Aug 5 2014 hpj@suse.com +- Add gobject-introspection-bgo729662-ownership-transfer.patch: + which makes it possible for language bindings to know about + ownership transfer for instance parameters so memory management + can be performed correctly (bgo#729662). +* Tue Jul 22 2014 dimstar@opensuse.org +- Update to version 1.41.4: + + Update Visual Studio Property Sheets. + + Bugs fixed: bgo#729662, bgo#732668, bgo#732669. +* Sat Jul 12 2014 dimstar@opensuse.org +- Update to version 1.41.3: + + Updated tests. + + Misc fixes. + + Updated documentations. +* Wed Mar 26 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 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 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 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 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 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 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 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 2013 mls@suse.de +- gi-find-deps.sh: add ppc64le to x64bitarch list. +* Tue Sep 24 2013 dimstar@opensuse.org +- Update to version 1.38.0: + + Updated glib annotations. + + Bug fixed: bgo#698090. +* Tue Aug 20 2013 dimstar@opensuse.org +- Update to version 1.37.6: + + Updated glib annotations. + + MSVC build fixes. + + Bug fixed: bgo#704864. +* Fri Aug 16 2013 dimstar@opensuse.org +- Enhance gi-find-deps.sh: when scannig python file for + gi.require_version, make sure to ignore python comments (starting + with #). +* Thu Aug 15 2013 dimstar@opensuse.org +- Modify gi-find-deps.sh: the js package filter function seems to + have some issues in transfering variables (we might hit some + limits: the script works fine when directly invoked). Currently + we just specify the extracted list from gnome-weather as FILTER. +* Fri Aug 9 2013 dimstar@opensuse.org +- Enhance gi-find-deps.sh: gnome-weather came up with a nice idea + of specifying all dependencies in a pkg.requires(..) list + (hopefully this counts as standardized). Enhance the scanner to + identify this listing method of dependencies (bnc#811652). +- Add pcre-tools Requires to the main package: gi-find-deps.sh uses + pcregrep for multi line matching. +* Wed Jul 10 2013 dimstar@opensuse.org +- Update to version 1.37.4: + + Updated glib annotations. + + Bugs fixed: bgo#701639, bgo#701679, bgo#701958, bgo#699856, + bgo#701058. +* Tue May 28 2013 dimstar@opensuse.org +- Update to version 1.37.1: + + Updated glib annotations. + + Bugs fixed: bgo#628739, bgo#637832, bgo#678794, bgo#688694, + bgo#688897, bgo#696765, bgo#697612, bgo#697613, bgo#697614, + bgo#697615, bgo#697616, bgo#697619, bgo#697620, bgo#697621, + bgo#697622, bgo#697623, bgo#697624, bgo#697625, bgo#697669, + bgo#697759, bgo#698090, bgo#698438, bgo#698521, bgo#698616, + bgo#698617, bgo#698698, bgo#699442, bgo#699531, bgo#699532, + bgo#699533, bgo#699535, bgo#699536, bgo#699722, bgo#699854, + bgo#699856, rh#920595. +* Tue Mar 26 2013 dimstar@opensuse.org +- Update to version 1.36.0: + + Update glib annotations. +* Thu Mar 21 2013 dimstar@opensuse.org +- Update to version 1.35.9: + + Bugs fixed: bgo#637832, bgo#662241, bgo#692165, bgo#693539, + bgo#694198, bgo#694426, bgo#694485, bgo#694593, bgo#695182. +* Mon Mar 11 2013 dimstar@opensuse.org +- Simplify gi-find-deps.sh to make it easier to add other 64bit + architectures. Include aarch64 in the list. +* Tue Feb 19 2013 dimstar@opensuse.org +- Update to version 1.35.8: + + Bugs fixed: bgo#660698, bgo#687522, bgo#691873, bgo#692084, + bgo#693040, bgo#693096, bgo#693097, bgo#693098, bgo#693598, + bgo#693742, bgo#693838, bgo#693876, bgo#693939. +* Thu Jan 24 2013 dimstar@opensuse.org +- Update to version 1.35.4: + + Update glib annotations. + + Various mallardwriter improvements and fixes + + Bugs fixed: bgo#690514, bgo#686388, bgo#656312, bgo#691030, + bgo#690850, bgo#690851, bgo#691524, bgo#678401, bgo#684059, + bgo#682355. +* Wed Jan 23 2013 dimstar@opensuse.org +- Eliminate lines which contain "from gi.repository import Foo" + (incl. quotes) as possible matches... this phrase is commonly + used in multiline documentation blobs (like for example in + python-gobject >= 3.7.3). +* Wed Jan 23 2013 dimstar@opensuse.org +- Modify gi-find-deps.sh: in case of python scripts, do not add + python-gobject Requires: we do not know if the scripts is meant + for python3, which would require python3-gobject. +* Tue Jan 22 2013 dimstar@opensuse.org +- Update to version 1.35.3: + + scanner: Deprecate using identifier prefixes in GINames. + + giscanner: Don't prefer identifier prefixes over namespaces in + deps. + + Build system enhancements / fixes. + + Update glib annotations. + + Updated documentations. +- Remove remnants of BUILD_FOR_VCS in the spec file. +- Unconditionall BuildRequire gtk-doc and pass --enable-gtk-doc + to configure. The build system changed and the doc is no longer + built otherwise. +* Tue Jan 22 2013 dimstar@opensuse.org +- Fix gi-find-deps.sh: escape "." in grep calls ("\."). +* Mon Dec 10 2012 dimstar@opensuse.org +- Enhance gi-find-deps.sh: in case we add typelib() requires for + python scripts, we are sure that this script would also require + python-gobject (which provides gi.repository). Fixes issues + similar to bnc#793758. +* Tue Nov 13 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 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). +- Add /usr/bin/* to fileattrs to be checked for dependencies. At + the moment, gi-find-deps.sh only treats python scripts found like + this. +- Add file Requires: gi-find-deps makes use of file to identify + the file types. +* Tue Nov 13 2012 dimstar@opensuse.org +- Update to version 1.34.2: + + gimarshallingtests: Fix return data type. + + scanner: correctly handle large 64bit integer constants. +* Wed Oct 17 2012 dimstar@opensuse.org +- Update to version 1.34.1.1: + + Add test method for GDestroy with no user data +- Changes from version 1.34.1: + + Update glib annotations to 2.34.1. +- Add pkgconfig(glib-2.0) BuildRequires, so it can be versioned. +* Tue Oct 16 2012 dimstar@opensuse.org +- Extend gi-find-deps.sh to understand gi.require_version in python + code. This was the last know format not yet supported. +* Tue Oct 2 2012 dimstar@opensuse.org +- Extend gi-find-deps.sh to understand versioned gi imports in + JavaScript (*.js) code. +* Mon Sep 24 2012 dimstar@opensuse.org +- Update to version 1.34.0: + + Update glib annotations. +* Tue Sep 18 2012 dimstar@opensuse.org +- Update to version 1.33.14: + + Update glib annotations. + + Bugs fixed: bgo#683596. +* Tue Sep 4 2012 dimstar@opensuse.org +- Update to version 1.33.10: + + Many bugfixes. +* Mon Aug 20 2012 dimstar@opensuse.org +- Update to version 1.33.9: + + Many bugfixes. +* Tue Jul 17 2012 dimstar@opensuse.org +- Update to version 1.33.4: + + Update glib annotations + + Scanner fixes + + Don't use an O(N) lookup when we already have a hashmap +* Tue Jun 26 2012 dimstar@opensuse.org +- Update to version 1.33.3: + + scanner: fix pairing of error quarks with registered enums. + + Update glib annotations. +* Thu Jun 7 2012 dimstar@opensuse.org +- Update to version 1.33.2: + + Add regression tests for GHashTable holding GValue. + + update-glib-annotations: Set required environment variables + + scanner: allow for functions that look like constructors but + aren't + + Add comment documenting we're ignoring C++ style comments. + + Improve tests. +- Add pkgconfig(cairo-gobject) BuildRequires: new dependency. +* Wed Jun 6 2012 dimstar@opensuse.org +- Update License tags (bnc#765472): + + The main/src package is LGPL-2.1+ and GPL-2.0+ + + The library subpackages are LGPL-2.1+ +* Tue May 22 2012 dimstar@opensuse.org +- Create new subpackage girepository-1_0, which contains the + * .typelib files. This allows to bump the soname of + libgirepository and being able to parallel install several + libgirepository without a file conflict on the typelib files. + This fixes bnc#684826. +- Add a girepository-1_0 Requires to libgirepository-1_0-1, for the + above. The Requires is versioned with a >=, which is what allows + the parallel-installability. +- Drop xz BuildRequires, as it now comes for free in the build + system. +- Change rpm group of libgirepository-1_0-1 from + Development/Libraries/GNOME to System/Libraries. +* Wed Apr 18 2012 vuntz@opensuse.org +- Update to version 1.32.1: + + repository: + - Make g_callable_info_invoke public + - Fix leak + + Update glib annotations. +* Wed Mar 28 2012 vuntz@opensuse.org +- Update to version 1.32.0: + + No changes. +* Wed Mar 21 2012 vuntz@opensuse.org +- Update to version 1.31.22: + + repository: + - Fix conversion of FFI values on big-endian architectures + - Add new public gi_type_info_extract_ffi_return_value() API + + scanner: Fix matching of methods named *_get_type() + + Various other code changes. + + Update glib annotations. +* Mon Mar 5 2012 vuntz@opensuse.org +- Update to version 1.31.20: + + scanner: + - Allow adding annotations to vfuncs directly + - Add better errors for unknown param names + + typelib: fix invalid alignment assumptions, that break + platforms like m68k. + + Many improvements to g-ir-doctool. + + Updated annotations for glib. + + Several other code changes. + + Build and test improvements/fixes. +- Rebase g-ir-dep-tool.patch. +* Thu Feb 2 2012 ro@suse.de +- Improve gi-find-deps.sh: + + ia64 also needs ()(64bit) for shlib providers. + + Send stderr from find to /dev/null (to avoid errors for + platforms where lib64 does not exist). +* Thu Jan 19 2012 vuntz@opensuse.org +- Update to version 1.31.10: + + scanner: Allow using GLib.List(Foo) instead of GLib.List + + ffi: Treat enums as 32 bit signed values to fix PPC64 + + Updated annotations for glib. + + Minor bug fixes. + + Add some tests. +* Wed Jan 18 2012 meissner@suse.de +- gi-find-deps.sh: ppc64 and s390x are also 64bit so providers +* Fri Dec 23 2011 dimstar@opensuse.org +- Enhance gi-find-deps.sh: Inject subfolders of libdir containing + .typelib files into GI_TYPELIB_PATH. +* Tue Dec 20 2011 vuntz@opensuse.org +- Update to version 1.31.6: + + Update annotation for glib 2.31.6. + + giscanner: fix use after decref +* Tue Dec 6 2011 dimstar@opensuse.org +- Add g-ir-dep-tool.patch: add a tool to inspect .typelib files and + find their dependencies to be added to the rpm packages. +- Add libtool BuildRequires and call to autoreconf, as the + patch above touches the build system. +- Extend gi-find-deps.sh to use the new g-ir-dep-tool and add + Requires coming from the .typelib files. +* Mon Dec 5 2011 dimstar@opensuse.org +- Update to version 1.31.1: + + Scanner: + - Split CC environment variable + - Allow GObject.Object as a supercall return type + - Support --header-only flag + - Also add an rpath for library paths specified + - Only add rpaths for absolute directories + - Out the -l library name after the .o + + Minor bug fixes + + Bugs fixed: bgo#660338. +- Change license to spdx identifier (LGPL-2.1+). +- Add xz BuildRequires because we can't build a package for a + xz-compressed tarball without explicitly specifying that... See + bnc#697467 for more details. +* Thu Oct 27 2011 dimstar@opensuse.org +- Update to version 1.31.0: + + No longer use deprecated g_thread_init. + + scanner: + - Support --header-only flag + - Allow GObject.Object as a superclass return type + - Split CC environment variable + - Skip analysis of params that have been (skip)'d + - Show the file/line even when processing FATAL + + libgirepository: + - Add API to fix memory leak + - Fix g_irepository_get_c_prefix() + - Use the correct size when freeing unused info + - Prevents a segfault in gir parser + + Build and test improvements/fixes. +* Wed Sep 21 2011 vuntz@opensuse.org +- Update to version 1.30.0: + + Regenerate Gio/GLib/GObject annotations. + + Lots of work on the Windows port. + + Add "Value:" annotation tag. + + scanner: Correctly handle structs with arrays of anon unions. + + Various bug fixes. + + Build fixes. +- Drop gobject-introspection-fix-regress.patch: fixed upstream. +* Mon Sep 5 2011 fcrozat@suse.com +- Fix build on 11.4 by owning %%{_rpmconfigdir}/fileattrs, that + appeared in recent rpm. +* Fri Sep 2 2011 vuntz@opensuse.org +- Add gobject-introspection-fix-regress.patch: fix wrong type for a + variable, which was causing build issues in gjs and + python-gobject. +* Fri Sep 2 2011 vuntz@opensuse.org +- Update to version 1.29.17: + + Fix declarations in xlib-2.0.gir. + + Regenerate Gio/GLib/GObject annotations. + + libgirepository: + - Deprecate ErrorDomain + - Switch to storing string form of error quarks + - Add g_irepository_find_by_error_domain() + - Allow enums and bitfields to have static methods + - Documentation improvements + + giscanner: + - Add DocBook and Mallard generator + - Various fixes to correctly handle the docs + - Add signal flags + - Recognize constructors ending in 'newv' + - Handle static methods on all types + - Allow enums and bitfields to have static methods + - Try harder to preserve c:type + - Forbid GPtrArrays holding non-pointer types + - Disallow non byte types for GByteArrays + - Properly handle GParamSpec and descendants + - Add a moved_to property to backcompat functions + - Avoid most of the special-casing of GObject.Object in the + scanner + - Fix warning for missing (element-type) + - Fix symbols being reported in invalid files + - Teach scanner's girparser about fundamentals + - Make the Transformer respect 'skip' annotations + - Allow passing additional include dirs when parsing a gir + - Workaround: Automatically turn Gdk.Rectangle gtype into + cairo.RectangleInt + + Various code cleanups. + + Tests improvements. +* Wed Aug 17 2011 dimstar@opensuse.org +- Extend gi-find-deps.sh with a special case for .py files: + "raise ImportError.*" lines are deleted. This is needed as + pygobject tries to explain with such lines how to convert the + sources to the new gi-based python bindings. +* Wed Jul 27 2011 vuntz@opensuse.org +- Update to version 1.29.16: + + Fix broken definition of DATADIR in 1.29.15, breaking scripts. +- Update to version 1.29.15: + + Update glib annotations. + + libgirepository: Plug leak. + + dumper: + - Only make libtool silent if we were passed --silent + - Improve output for parallel builds + + giscanner: + - Support srcdir != builddir + - Mark GAsyncReadyCallbacks as allow-none + - Make comments starting with tab characters work + + Test-related changes. + + Build fixes. +* Tue Jul 19 2011 vuntz@opensuse.org +- gi-find-deps.sh: Remove trailing space characters from the + import lines, when listing the required typelibs. This fixes an + issue with files using \r\n to end a line (since \r was kept, and + was breaking the output of the script). +* Mon Jul 11 2011 vuntz@opensuse.org +- gi-find-deps.sh: Correctly deal with "from gi.repository import + Gtk,GObject" by replacing ',' with a space instead of just + removing it. This should fix wrong Requires like + typelib(GtkGObject). +* Wed Jun 15 2011 dimstar@opensuse.org +- Update to version 1.29.0: + + Bump version to reflect the link to the glib version. + + Many improvement and fixes in the scanner, including: + - Read (array) and (element-type) annotations for fields + - Add support for the (skip) annotation on parameters or return + values + - Always add a zero-terminated attribute when it cannot be + implied + + Fix accessing structure fields that are arrays + + Improved regression tests +* Sat Jun 11 2011 vuntz@opensuse.org +- Add an exclude path to gobjectintrospection.attr: we do not want + to look at files in /usr/share/doc/packages/ as those are just + documentation files. If examples are provided as documentation, + we do not want those examples to cause excessive Requires. This + fixes python-gobject requiring typelib(Gtk). +* Fri Jun 3 2011 dimstar@opensuse.org +- Enable typelib() Requires as well. +* Fri Jun 3 2011 dimstar@opensuse.org +- Currently only add typelib() Provides symbol to make sure we do + not break entire Factory. +* Sat May 28 2011 dimstar@opensuse.org +- Minor fixes on gi-find-deps.sh: + + Quotes are not allowed symbols in an import name. Fixes for + example gnome-shell Requiring typelib('). + + The typelib symbol is not supposed to contain a dot [.]. Should + we find a Requires / Provides that does, then we know we were + caught in some code using it direcly as an object. The typelib + symbol in this case is the first token before the first dot. + + Ignore anything after # in python parsing (it's a comment). +- Provide the template-based typelib() versioned. +* Fri May 27 2011 dimstar@opensuse.org +- Manually provide the typelib() symbols for libgirepository-1_0-1. + The rpm magic is not yet in place and can thus not automatically + detect the symbols. +* Tue May 17 2011 dimstar@opensuse.org +- Add gobjectintrospection.attr: install rpm reqprov plugin + handler, benefitting from the new rpm 4.9 infrastructure. +- Move the rpm helpers to the main package: this is really what is + used to build with gobject-introspection, while the devel + subpackage is mostly needed if building against + libgirepository-1.0. +* Wed Apr 27 2011 dimstar@opensuse.org +- Add gi-find-deps.sh: automatically detect Requires and Provides + for gobject-introspection typelibs. +* Tue Apr 26 2011 fcrozat@novell.com +- Update to version 0.10.8: + + bgo#647621: g_spawn_async_with_pipes annotation corrections. + + gimarshallingtests: Remove incorrect cast. + + bgo#647796: Added annotation for g_variant_new_variant to mark + it as const. +* Tue Apr 5 2011 fcrozat@novell.com +- Update to version 0.10.7: + + add annotations for g_base64_encode and g_base64_decode + + bgo#640264: girparser: use c:identifier-prefixes instead of + c:prefix. +* Mon Mar 28 2011 fcrozat@novell.com +- Update to version 0.10.6: + + bgo#645692: fix generation of cairo typelib. +- Changes from version 0.10.5: + + bgo#644749: support setting gobjects and ginterfaces in struct + fields. +- Changes from version 0.10.4: + + Use fully qualified shared library for cairo-1.0.gir. +* Thu Feb 24 2011 fcrozat@novell.com +- Update to version 0.10.3: + + Visible changes: + - Nested structs and unions (bgo#555960) + - Support Shadows: annotation (bgo#556475) + - Allow annotation of enums as bitfields (bgo#573332) + - Add support for a 'closure' and 'destroy' annotations + (bgo#574284) + - Add short/ushort support (bgo#584423) + + Many improvement and fixes in the scanner, including: + - Parse doc-comment tags case-insensitive (bgo#572086) + - #defines should be parsed in .h files but not .c files + (bgo#572790) + + Various additions and fixes to introspection data shipped with + gobject-introspection, including: + - Add annotations for g_spawn_* functions (bgo#585373) + + Other bugs fixed: bgo#551738, bgo#555964, bgo#561360, + bgo#561604, bgo#563469, bgo#563682, bgo#564016, bgo#566560, + bgo#567906, bgo#568680, bgo#569355, bgo#569633, bgo#569930, + bgo#570594, bgo#570903, bgo#571182, bgo#571248, bgo#571483, + bgo#571548, bgo#571649, bgo#572075, bgo#572423, bgo#572434, + bgo#572563, bgo#572965, bgo#573306, bgo#573309, bgo#574139, + bgo#574501, bgo#575613, bgo#576323, bgo#576605, bgo#576627, + bgo#577065, bgo#577534, bgo#577546, bgo#579522, bgo#579602, + bgo#581680, bgo#581682, bgo#581684, bgo#581685, bgo#581689, + bgo#583338, bgo#584432, bgo#584453, bgo#584816, bgo#584842, + bgo#585081, bgo#585141, bgo#585150, bgo#585328, bgo#585579, + bgo#585584, bgo#585908. +- Changes from version 0.10.2: + + Add (constructor) annotation + + Add (method) overrides + + Disable missing class structure warning. + + Depend on cairo-gobject if available + + Pass shared-library as-is to g_module_open + + Various improvements and bug fixes. +- Add support for source service checkout, with %%BUILD_FROM_VCS: + + Add gnome-common and gtk-doc BuildRequires. + + Add call to ./autogen.sh. + + Enforce gtk-doc html generation by passing --enable-gtk-doc to + configure. +* Fri Jan 14 2011 vuntz@opensuse.org +- Update to version 0.10.1: + + Scanner: + - Properly parse recursive list type nodes + - Fix handling of property transfer + - Make sure that vfuncs made to the GIR + + Add API to call the native implementation of a virtual function + + Update introspection data for gobject/gio. +- Drop gobject-introspection-git-fixes.patch: fixed upstream. +* Sat Jan 8 2011 vuntz@opensuse.org +- Add gobject-introspection-git-fixes.patch: this patch contains + various commits from git, to fix the build with glib 2.27.90. +* Wed Dec 22 2010 dimstar@opensuse.org +- Update to version 0.10.0: + + An hash-table index has been added to the typelib format. + Using a perfect hash generated with the CMPH library allows + for much more efficient lookups in cases where symbols + need to be looked up repeatedly. + + GIO annotations are now extracted from the GLib sources + (as a manual step; the extracted annotations are shipped + with gobject-introspection.) This will be extended in + the future to cover the rest of GLib. + + UTF-8 string constants are now supported. + + The cairo typelib now integrates properly with the + cairo-gobject library. +- Drop patches that were fixed upstream: + + gobject-introspection-keyring-workaround.patch + + gobject-introspection-libgda-workaround.patch +* Wed Oct 27 2010 vuntz@opensuse.org +- Add a rpmlintrc file: the devel-file-in-non-devel-package errors + for gir and source files are wrong here, because + gobject-introspection is, by definition, a devel package (in the + same way as gcc is). +- Add an extra %% to a macro in a comment to make rpmlint happy (and + to make sure that the macro won't get expanded). +* Sat Oct 9 2010 vuntz@opensuse.org +- Update to version 0.9.12: + + Ship gtk-doc files in tarball. +- Changes from version 0.9.11: + + Scanner: + - Add -export-dynamic when compiling with libtool. + - Honor -L commandline option. + + Various scanner fixes and improvements. +- Drop gobject-introspection-export-dynamic.patch: fixed upstream. +- Remove comments about upstream tarball and gtk-doc, and remove + gtk-doc BuildRequires: the files are in the tarball now. +* Fri Oct 1 2010 vuntz@opensuse.org +- Add gobject-introspection-export-dynamic.patch: this fixes the + build of some gir, like in clutter. +* Fri Oct 1 2010 vuntz@opensuse.org +- Update to version 0.9.10: + + gir: Explicitly specify path to girepository so libtool can + find it +- Changes from version 0.9.9: + + Actually do something about fundamentals when parsing a .gir + + Abort if we would be generating an empty namespace + + Minor fixes +* Tue Sep 28 2010 vuntz@opensuse.org +- Update to version 0.9.8: + + Fix --include-uninstalled + + Don't ignore annotations if there's a : in docs +- Remove --enable-gtk-doc from configure: API docs got forgotten + again :/ +* Tue Sep 28 2010 vuntz@opensuse.org +- Update to version 0.9.7: + + Add an annotation tool. + + Improve gobject/gio annotations. + + Validate annotations during the scan. + + Catch cpp errors during the scan. + + Make Full the default transfer for returned foreign structs. + + Various scanner fixes and improvements. +- Pass --enable-gtk-doc to configure again, to get API docs. +* Sat Sep 18 2010 vuntz@opensuse.org +- Add gobject-introspection-libgda-workaround.patch: this is a + workaround needed when generating the gir file for libgda. See + bgo#629779. +* Fri Sep 17 2010 vuntz@opensuse.org +- Drop gir-repository Recommends from libgirepository-1_0-1: there + is no real interesting file there anymore. +- Temporarily remove --enable-gtk-doc option from configure: the + 0.9.6 tarball is missing all the files needed for this. See + bgo#629871. +- Move all gir files to the main package (as well as the m4 file + and the Makefile), but still keep the /usr/share/gir-1.0 + directory in libgirepository-1_0-1, to not force everybody to own + it. The reason for the move is that the gobject-introspection + package is more or less like a compiler, while the devel package + is really the devel package for the libgirepository-1.0 library. +- However, we need to keep the pkg-config file in the devel + subpackage at the moment, since they cover both the library and + the gobject-introspection tools. We'll be able to change this + when bgo#629930 gets fixed. +- Move the AUTHORS, NEWS and similar files to the main package. +- Add gobject-introspection-keyring-workaround.patch: this is a + workaround needed when generating the gir file for + libgnome-keyring. See bgo#629426. +* Thu Sep 16 2010 dimstar@opensuse.org +- Update to version 0.9.6: + + Fix regressions in the scanner rewrite from 0.9.5, especially + issues that stopped other modules from building correctly. + + Various other small improvements and code cleanups in the + scanner. + + Add missing annotations to GLib and Gio. + + Various bug fixes. +* Sat Sep 11 2010 dimstar@opensuse.org +- Update to version 0.9.5: + + Major rewrite, that leads to a bump in the gir format (version + 1.2). + + Rename Everything to Regress, and do no longer install it by + default; instead, ship the C files in + $(datadir)/gobject-introspection/tests/ + + Fix giscanner crash with no cache directory. + + Make the scanner parse C++ files too. + + If GI_SCANNER_DEBUG is set, drop into a debugger on error in + the scanner. + + Import DBus, DBusGLib gir from gir-repository. + + Update some gir files shipped with gobject-introspection. + + Various bug fixes. +* Fri Aug 6 2010 vuntz@opensuse.org +- Pass --enable-gtk-doc to configure. +* Thu Aug 5 2010 lmedinas@opensuse.org +- Update to version 0.9.3: + + Add annotations for g_variant_new_strv() and + g_variant_get_strv() + + Add annotation for g_dbus_proxy_new_sync + + Fix ordering in override_search_path on gir-repository + + Make scanner compatible with python 2.y + + Add g_irepository_enumerate + + Append -Wl,-rpath=. to the scanner compile + + Add g_info_type_to_string (GIInfoType type) + + Add new API g_typelib_require_private() + + Misc bug fixes +- Add gtk-doc to BuildRequires +* Wed Jul 21 2010 vuntz@opensuse.org +- Clean up update to 0.9.2. +- Change cairo-devel, glib2-devel BuildRequires to pkgconfig(cairo) + and pkgconfig(gobject-2.0). +- Remove checks for old versions of openSUSE (<= 11.1). +- Remove glib2-devel Requires of devel package: it's now + automatically handled with pkgconfig() Requires. +- Fix post/postun to be for libgirepository-1_0-1. +* Thu Jul 15 2010 dimstar@opensuse.org +- Upate to version 0.9.2: + + Add some cairo methods + + Add support for non-GObject fundamental objects + + Bump shared library version, typelib version + + Don't include machine-dependent integral types in the typelib + + Bug fixes +- Rename libgirepository-1_0-0 to libgirepository-1_0-1 +* Mon Jul 5 2010 dimstar@opensuse.org +- Update to version 0.9.0: + + Barf if running on unsupported platform + + Annotate GVariant as a foreign struct + + Support the (transfer) annotation for properties + + Allow for methods in GLib + + Add versioning to the cache + + Add some more Gio annotations + + Apply annotations from invoker to vfunc + + Support introspectable=no attribute, add warnings framework + + Allow attributes on parameters and return values + + Clean up annotation parsing, don't try to parse invalid + annotations + + Cleanups and code reorganization + + Bug fixes + + Update docs +- Changes from version 0.6.14: + + Support unsigned long/short int + + Add type annotation for properties + + Fix marshalling of GStrv + + Bug fixes + + Update docs +* Fri May 28 2010 dimstar@opensuse.org +- Update to version 0.6.12: + + Build system cleanups + + Documentation updates + + Minor bugfixes +- Changes from version 0.6.11: + + Add various annotations + + Take into account the underscore after the type name when + checking if a function is a method + + Use g_slice + + Add support for the 'foreign' annotation to g-i-scanner + + Bug fixes + + Update docs +- Changes from version 0.6.10: + + Add GKeyFile annotations + + Revert a change that makes gjs crash + + Correctly use ffi_closure_alloc(), fixing mmap permissions + error + + Assert input values in Everything funcs + + Add GIMarshallingTests typelib + + If needed, convert from camelcase to underscores when stripping + the prefix of constants + + Add foreign struct funcs to Everything + + Add a simple callback type which has no arguments or return + values + + Make g_file_set_contents() take uint8*, not utf8 + + Warn about annotations for unknown args + + Add support for GArrays + + Use -1 not None for closure/destroy indices + + Validate scope annotation values and parameter references + + Add a basic gir for xrandr + + Add uid_t, gid_t, dev_t to integral type conversions + + Add tests + + Update docs + + Minor bug fixes +- BuildRequire cairo-devel +* Fri Mar 19 2010 dimstar@opensuse.org +- Update to version 0.6.9: + + Correctly cast to a CommonBlob when looking up embedded types + + g-ir-compiler: Slightly less lame error messages + + [everything] Add some "torture" test functions with baroque + signatures + + scanner: Catch OSError too when checking for libtool + + scanner: Always explicitely set the scope of callbacks +* Wed Mar 10 2010 dimstar@opensuse.org +- Update to version 0.6.8: + + [girffi] Clean up API, add g_function_info_prep_invoker + + Allow stack allocating GIBaseInfo, add stack retrieval variants + + scanner: Always explicitely set the scope of callbacks + + scanner: Print error instead of throwing for unknown include +* Thu Dec 17 2009 vuntz@opensuse.org +- Update to version 0.6.7: + + Add a Makefile.introspection file. + + Revert "GI_TYPE_TAG_VOID != ffi_type_void" + + protect on null retval + + fix invoke tests + + Substitute deprecated Glib symbol: g_mapped_file_free +* Wed Dec 16 2009 vuntz@opensuse.org +- Add libffi-devel Requires to devel package; this fixes the build + of packages linking to gobject-introspection. +* Mon Dec 14 2009 dimstar@opensuse.org +- Update to version 0.6.6: + + Make g-ir-scanner 64-bit enable. bgo#593639 + + Consistently resolve symbolic links + + Improve warning and error messages. + + Explicitly sort object interfaces, properties, and signals + + When doing type resolution on a string, treat it as its own + ctype + + Implement callbacks as part of struct fields. bgo#557383 + + Add g_ir_ffi_convert_arguments + + Add a method to compare infos + + Make (skip) annotation work everywhere + + InitiallyUnownedClass should contain all the fields as + ObjectClass + + Ignore errors caused by permissions in $HOME + + Add async callback tests to everything + + [dumper] Fix threads initialization + + Allow NULL to be sent in for various callbacks + + Fix an annotationparser bug for empty tags + + Add/Fix annotations. + + Many small bug fixes. + + Build fixes. + + Build system fixes. +* Wed Sep 9 2009 vuntz@opensuse.org +- Update to version 0.6.5: + + Replace LIBTOOL_LIBTOOL to LIBTOOL (bgo#592968) + + Use CC rather than LD to fix build issue for gir (bgo#593599) + + Add GVolumeMonitor interfaces + + Use built scanner from tarball builds (bgo#593162) + + Fix unref of GIUnresolvedInfo instances (bgo#593322) + + Add CLFAGS and LIBS variables + + Correctly ref repository in GIUnresolvedInfo +* Tue Aug 25 2009 vuntz@novell.com +- Update to version 0.6.4: + + Add annotations for various API, update for some API. + + Bug fixes. + + Add COPYING.GPL and COPYING.LGPL. +- Add Requires on python-xml. +* Tue Jun 23 2009 dominique-obs@leuenberger.net +- Update to version 0.6.3: + + Too many bugfixes to mention, see NEWS for full details +- Remove gobject-introspection-git-20090501.patch.bz2 and it's + requirements. The tarball is newer than the used git-patch +* Mon May 4 2009 vuntz@novell.com +- Fix build on 11.1. +* Fri May 1 2009 vuntz@novell.com +- Make libgirepository-1_0-0 Recommends gir-repository. +* Fri May 1 2009 vuntz@novell.com +- Move package doc files to libgirepository-1_0-0 since this is the + important package. +* Fri May 1 2009 vuntz@novell.com +- Initial package. diff --git a/gobject-introspection.spec b/gobject-introspection.spec new file mode 100644 index 0000000..08ec3f7 --- /dev/null +++ b/gobject-introspection.spec @@ -0,0 +1,167 @@ +# +# spec file for package gobject-introspection +# +# Copyright (c) 2022-2023 ZhuningOS +# + + +Name: gobject-introspection +Version: 1.70.0 +Release: 150400.2.10 +# FIXME: Find a way to identify if we need python3-gobject or python-gobject from gi-find-deps.sh. +Summary: GObject Introspection Tools +License: GPL-2.0-or-later AND LGPL-2.1-or-later +Group: Development/Libraries/GNOME +URL: https://wiki.gnome.org/Projects/GObjectIntrospection + +Source0: https://download.gnome.org/sources/gobject-introspection/1.70/%{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 +Source3: gobject-introspection-typelib.template +Source98: baselibs.conf +Source99: %{name}-rpmlintrc + +BuildRequires: bison +BuildRequires: fdupes +BuildRequires: flex +BuildRequires: gtk-doc +BuildRequires: meson >= 0.55.3 +BuildRequires: pkgconfig +BuildRequires: python3-Mako +BuildRequires: python3-Markdown +BuildRequires: python3-devel +BuildRequires: python3-xml +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(cairo-gobject) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(gio-unix-2.0) +BuildRequires: pkgconfig(glib-2.0) >= 2.58.0 +BuildRequires: pkgconfig(gmodule-2.0) +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(libffi) >= 3.0.0 +# gi-find-deps makes use of 'file' to identify the types. +Requires: file +Requires: libgirepository-1_0-1 = %{version} +# gi-find-deps uses the enhanced grep variant in order to do multi-line matching (for pkg.requires(..)) +Requires: pcre-tools +Requires: python3-xml +Requires: python(abi) = %{python3_version} + +%description +The goal of the project is to describe the APIs and collect them in +a uniform, machine readable format. + +%package -n libgirepository-1_0-1 +Summary: GObject Introspection Library +License: LGPL-2.1-or-later +Group: System/Libraries +Requires: girepository-1_0 >= %{version} + +%description -n libgirepository-1_0-1 +The goal of the project is to describe the APIs and collect them in +a uniform, machine readable format. + +%package -n girepository-1_0 +Summary: Base GObject Introspection Bindings +License: LGPL-2.1-or-later +Group: System/Libraries +Requires: libgirepository-1_0-1 >= %{version} +# Provide typelib() symbols based on gobject-introspection-typelib.template +# The template is checked during install if it matches the installed *.typelib files. +%(cat %{SOURCE3} | awk '{ print "Provides: " $0}') + +%description -n girepository-1_0 +The goal of the project is to describe the APIs and collect them in +a uniform, machine readable format. + +%package devel +Summary: GObject Introspection Development Files +# Note: the devel package requires the binaries, not just the library +License: LGPL-2.1-or-later +Group: Development/Libraries/GNOME +Requires: %{name} = %{version} +Requires: libffi-devel +Requires: libgirepository-1_0-1 = %{version} + +%description devel +The goal of the project is to describe the APIs and collect them in +a uniform, machine readable format. + +%prep +%autosetup -p1 + +%build +%meson \ + -Dcairo=enabled \ + -Ddoctool=enabled \ + -Dgtk_doc=true \ + -Dpython='%{_bindir}/python3' \ + %{nil} +%meson_build + +%check +%meson_test + +%install +%meson_install +install -D %{SOURCE1} %{buildroot}%{_rpmconfigdir}/gi-find-deps.sh +install -D %{SOURCE2} -m 0644 %{buildroot}%{_rpmconfigdir}/fileattrs/gobjectintrospection.attr +# comparing, if we provide all the symbols expected. +ls %{buildroot}%{_libdir}/girepository-1.0/*.typelib | sh %{SOURCE1} -P > gobject-introspection-typelib.installed +diff -s %{SOURCE3} gobject-introspection-typelib.installed +%fdupes %{buildroot} +# fixup shebangs in files installed to /usr/bin +sed -i "s|%{_bindir}/env python|%{_bindir}/python|" %{buildroot}%{_bindir}/* + +%ldconfig_scriptlets -n libgirepository-1_0-1 + +%files +%license COPYING COPYING.GPL +%doc NEWS README.rst TODO +%{_bindir}/g-ir-annotation-tool +%{_bindir}/g-ir-compiler +%{_bindir}/g-ir-doc-tool +%{_bindir}/g-ir-generate +%{_bindir}/g-ir-inspect +%{_bindir}/g-ir-scanner +%{_mandir}/man1/g-ir-compiler.1%{?ext_man} +%{_mandir}/man1/g-ir-generate.1%{?ext_man} +%{_mandir}/man1/g-ir-scanner.1%{?ext_man} +%{_mandir}/man1/g-ir-doc-tool.1%{?ext_man} +%{_datadir}/aclocal/introspection.m4 +%{_datadir}/gir-1.0/*.gir +%{_datadir}/gir-1.0/gir-1.2.rnc +# We don't include directly %%{_libdir}/gobject-introspection since there might +# be files there in the future that belong to the library package +%dir %{_libdir}/gobject-introspection +%{_libdir}/gobject-introspection/giscanner/ +# We explicitly list the content of the directory that is of interest to us, +# since there might be files there in the future that belong to the library +# package +%dir %{_datadir}/gobject-introspection-1.0 +%{_datadir}/gobject-introspection-1.0/Makefile.introspection +%{_datadir}/gobject-introspection-1.0/tests/ +%{_datadir}/gobject-introspection-1.0/gdump.c +%{_rpmconfigdir}/gi-find-deps.sh +%{_rpmconfigdir}/fileattrs/gobjectintrospection.attr + +%files -n libgirepository-1_0-1 +%license COPYING.LGPL +# We own this directory here instead of devel to make sure other packages do +# not have to own it +%dir %{_datadir}/gir-1.0 +%{_libdir}/libgirepository-1.0.so.* +%dir %{_libdir}/girepository-1.0 + +%files -n girepository-1_0 +%{_libdir}/girepository-1.0/*.typelib + +%files devel +%doc %{_datadir}/gtk-doc/html/gi/ +%{_includedir}/gobject-introspection-1.0/ +%{_libdir}/libgirepository-1.0.so +%{_libdir}/pkgconfig/gobject-introspection-1.0.pc +%{_libdir}/pkgconfig/gobject-introspection-no-export-1.0.pc + +%changelog diff --git a/gobjectintrospection.attr b/gobjectintrospection.attr new file mode 100644 index 0000000..78a5869 --- /dev/null +++ b/gobjectintrospection.attr @@ -0,0 +1,4 @@ +%__gobjectintrospection_provides %{_rpmconfigdir}/gi-find-deps.sh -P +%__gobjectintrospection_requires %{_rpmconfigdir}/gi-find-deps.sh -R +%__gobjectintrospection_path ^(%{_libdir}/.*\.typelib)|(.*\.gresource)|(.*\.py)|(.*\.js)|(.*\.so)|(%{_bindir}/.*)$ +%__gobjectintrospection_exclude_path ^/usr/share/doc/packages/