]> git.pld-linux.org Git - packages/glib2.git/blobdiff - glib2.spec
C: gobject-introspection < 1.79 only when building with introspection
[packages/glib2.git] / glib2.spec
index 5378742fcb39d3211200425242576fea297feabd..bffd43ae3173fc20fc6881e632337af5b4636eb4 100644 (file)
@@ -1,9 +1,13 @@
+# TODO: 
+# - use -Dmultiarch for arch-dependent binaries? (like gio-querymodules or gio-launch-desktop)
 #
 # Conditional build:
-%bcond_without apidocs         # disable gtk-doc
+%bcond_without apidocs         # gi-docgen based API documentation
+%bcond_without introspection   # gi modules
 %bcond_without static_libs     # static library
 %bcond_without selinux         # SELinux support in gio
-%bcond_without systemtap       # systemtap/dtrace probes
+%bcond_with    sysprof         # sysprof tracing support
+%bcond_without systemtap       # systemtap/dtrace tracing support
 
 Summary:       Useful routines for 'C' programming
 Summary(cs.UTF-8):     Šikovná knihovna s funkcemi pro pomocné programy
@@ -18,53 +22,64 @@ Summary(pt_BR.UTF-8):       Conjunto de funções gráficas utilitárias
 Summary(tr.UTF-8):     Yararlı ufak yordamlar kitaplığı
 Summary(zh_CN.UTF-8):  实用工具函数库
 Name:          glib2
-Version:       2.62.4
-Release:       2
+Version:       2.80.0
+Release:       1
 Epoch:         1
 License:       LGPL v2+
 Group:         Libraries
-Source0:       http://ftp.gnome.org/pub/GNOME/sources/glib/2.62/glib-%{version}.tar.xz
-# Source0-md5: d52234ecba128932bed90bbc3553bfe5
+Source0:       https://download.gnome.org/sources/glib/2.80/glib-%{version}.tar.xz
+# Source0-md5: 3a51e2803ecd22c2dadcd07d9475ebe3
 Patch0:                %{name}-python_shebang.patch
 URL:           https://www.gtk.org/
+BuildRequires: automake
 BuildRequires: docbook-dtd412-xml
 BuildRequires: docbook-dtd45-xml
 BuildRequires: docbook-style-xsl-nons
 BuildRequires: elfutils-devel
-BuildRequires: fam-devel
 BuildRequires: gettext-tools
 %if %(locale -a | grep -q '^C\.utf8$'; echo $?)
 BuildRequires: glibc-localedb-all
 %endif
-%if %{with apidocs}
-BuildRequires: gtk-doc >= 1.20
-%endif
+# g-ir-scanner required to build introspection
+%{?with_introspection:BuildRequires:   gobject-introspection-devel}
 BuildRequires: libffi-devel >= 3.0.0
 BuildRequires: libmount-devel >= 2.28
-%{?with_selinux:BuildRequires: libselinux-devel}
-BuildRequires: meson >= 0.49.2
+%{?with_selinux:BuildRequires: libselinux-devel >= 2.2}
+BuildRequires: libstdc++-devel
+BuildRequires: libxslt-progs
+BuildRequires: meson >= 1.2.0
 BuildRequires: ninja >= 1.5
-BuildRequires: pcre-devel >= 8.31
+BuildRequires: pcre2-8-devel >= 10.32
 BuildRequires: perl-base
 BuildRequires: pkgconfig >= 1:0.16
 # in case of separate libelf (elfutils don't provide .pc file)
 #BuildRequires:        pkgconfig(libelf) >= 0.8.12
 BuildRequires: pkgconfig(libffi) >= 3.0.0
-BuildRequires: python3 >= 1:3.4
+BuildRequires: python3 >= 1:3.7
+BuildRequires: python3-modules >= 1:3.7
+BuildRequires: python3-packaging
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpm-perlprov
 BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.736
+BuildRequires: rpmbuild(macros) >= 2.029
 BuildRequires: sed >= 4.0
+%{?with_sysprof:BuildRequires: sysprof-devel >= 3.38.0}
 %{?with_systemtap:BuildRequires:       systemtap-sdt-devel}
 BuildRequires: tar >= 1:1.22
 BuildRequires: xz
 BuildRequires: zlib-devel
+%if %{with apidocs}
+BuildRequires: docutils >= 0.13.1
+BuildRequires: gi-docgen >= 2023.1
+%endif
 Requires:      iconv
 Requires:      libmount >= 2.28
-Requires:      pcre >= 8.31
+%{?with_selinux:Requires:      libselinux >= 2.2}
+Requires:      pcre2-8 >= 10.32
 Suggests:      gvfs
 Provides:      glib2-libs
-Obsoletes:     glib2-libs
+Obsoletes:     glib2-libs < 1:2.12.11-3
+%{?with_introspection:Conflicts:       gobject-introspection < 1.79}
 # see https://bugzilla.xfce.org/show_bug.cgi?id=9709
 Conflicts:     xfce4-session < 4.10.0-5
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -125,11 +140,12 @@ Group:            Development/Libraries
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      libffi-devel >= 3.0.0
 Requires:      libmount-devel >= 2.28
-Requires:      pcre-devel >= 8.31
-Requires:      python3-modules
+Requires:      pcre2-8-devel >= 10.32
+Requires:      python3-modules >= 1:3.7
 # gio only
-%{?with_selinux:Requires:      libselinux-devel}
+%{?with_selinux:Requires:      libselinux-devel >= 2.2}
 Requires:      zlib-devel
+%{?with_introspection:Conflicts:       gobject-introspection-devel < 1.79}
 
 %description devel
 Header files for the support library for the GIMP's X libraries, which
@@ -160,6 +176,7 @@ Summary(pl.UTF-8):  Biblioteki statyczne GLib
 Summary(pt_BR.UTF-8):  Bibliotecas estáticas para desenvolvimento com GLib
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
+Requires:      pcre2-8-static
 
 %description static
 Static GLib libraries.
@@ -174,10 +191,7 @@ Bibliotecas estáticas para desenvolvimento com GLib.
 Summary:       GLib API documetation
 Summary(pl.UTF-8):     Dokumentacja API GLib
 Group:         Documentation
-Requires:      gtk-doc-common
-%if "%{_rpmversion}" >= "5"
 BuildArch:     noarch
-%endif
 
 %description apidocs
 GLib API documetation.
@@ -205,11 +219,9 @@ ramek sygnagłów w zrzutach wywołań (backtrace).
 Summary:       bash-completion for gio utilities
 Summary(pl.UTF-8):     Bashowe uzupełnianie nazw dla narzędzi gio
 Group:         Applications/Shells
-Requires:      bash-completion >= 2.0
-Obsoletes:     bash-completion-gdbus
-%if "%{_rpmversion}" >= "5"
+Requires:      bash-completion >= 1:2.0
+Obsoletes:     bash-completion-gdbus < 1:2.26.0-4
 BuildArch:     noarch
-%endif
 
 %description -n bash-completion-gio
 bash-completion for gio utilities: gdbus and gsettings.
@@ -238,33 +250,45 @@ Sondy systemtap/dtrace dla GLib 2.
 %meson build \
        %{?debug:--debug} \
        -Ddtrace=%{__true_false systemtap} \
+       %{!?with_introspection:-Dintrospection=disabled} \
        -Dsystemtap=%{__true_false systemtap} \
 %ifarch %{ix86}
        %{?with_systemtap:-Dtapset_install_dir=%{_datadir}/systemtap/tapset/i386} \
 %endif
-       -Dfam=true \
-       -Dgtk_doc=%{__true_false apidocs} \
+       -Ddocumentation=%{__true_false apidocs} \
        -Dselinux=%{?with_selinux:enabled}%{!?with_selinux:disabled} \
-       -Dman=true \
-       -Dinternal_pcre=false
+       %{?with_sysprof:-Dsysprof=enabled} \
+       -Dman-pages=enabled
 
 %ninja_build -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_libdir}/gio/modules
 
 %ninja_install -C build
 
+%if %{without introspection}
+install -d $RPM_BUILD_ROOT{%{_libdir}/girepository-1.0,%{_datadir}/gir-1.0}
+%endif
+
+%if %{with apidocs}
+install -d $RPM_BUILD_ROOT%{_gidocdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/glib-2.0 $RPM_BUILD_ROOT%{_gidocdir}
+%endif
+
 > $RPM_BUILD_ROOT%{_libdir}/gio/modules/giomodule.cache
 > $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/gschemas.compiled
 
-%py_comp $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
-%py_ocomp $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
-%py_postclean $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
+%py3_comp $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
+%py3_ocomp $RPM_BUILD_ROOT%{_datadir}/glib-2.0/gdb
 
 # adjust for compatibility with names supported by glibc
 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{sr@ije,sr@ijekavian}
 
+# not supported by glibc yet
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ie
+
 %find_lang glib20
 
 %clean
@@ -280,16 +304,18 @@ umask 022
 
 %files -f glib20.lang
 %defattr(644,root,root,755)
-%doc AUTHORS README NEWS
+%doc README.md NEWS SECURITY.md
 %attr(755,root,root) %{_bindir}/gapplication
 %attr(755,root,root) %{_bindir}/gdbus
 %attr(755,root,root) %{_bindir}/gio
-%attr(755,root,root) %{_bindir}/gio-launch-desktop
 %attr(755,root,root) %{_bindir}/gio-querymodules
 %attr(755,root,root) %{_bindir}/glib-compile-schemas
 %attr(755,root,root) %{_bindir}/gsettings
+%attr(755,root,root) %{_libexecdir}/gio-launch-desktop
 %attr(755,root,root) %{_libdir}/libgio-2.0.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libgio-2.0.so.0
+%attr(755,root,root) %{_libdir}/libgirepository-2.0.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgirepository-2.0.so.0
 %attr(755,root,root) %{_libdir}/libglib-2.0.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libglib-2.0.so.0
 %attr(755,root,root) %{_libdir}/libgmodule-2.0.so.*.*.*
@@ -300,23 +326,33 @@ umask 022
 %attr(755,root,root) %ghost %{_libdir}/libgthread-2.0.so.0
 %dir %{_libdir}/gio
 %dir %{_libdir}/gio/modules
-%attr(755,root,root) %{_libdir}/gio/modules/libgiofam.so
 %ghost %{_libdir}/gio/modules/giomodule.cache
+%dir %{_libdir}/girepository-1.0
+%if %{with introspection}
+%{_libdir}/girepository-1.0/Gio-2.0.typelib
+%{_libdir}/girepository-1.0/GioUnix-2.0.typelib
+%{_libdir}/girepository-1.0/GIRepository-3.0.typelib
+%{_libdir}/girepository-1.0/GLib-2.0.typelib
+%{_libdir}/girepository-1.0/GLibUnix-2.0.typelib
+%{_libdir}/girepository-1.0/GModule-2.0.typelib
+%{_libdir}/girepository-1.0/GObject-2.0.typelib
+%endif
 %dir %{_datadir}/glib-2.0
 %dir %{_datadir}/glib-2.0/schemas
 %ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
-%if %{with apidocs}
 %{_mandir}/man1/gapplication.1*
 %{_mandir}/man1/gdbus.1*
 %{_mandir}/man1/gio.1*
 %{_mandir}/man1/gio-querymodules.1*
 %{_mandir}/man1/glib-compile-schemas.1*
 %{_mandir}/man1/gsettings.1*
-%endif
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/gdbus-codegen
+%attr(755,root,root) %{_bindir}/gi-compile-repository
+%attr(755,root,root) %{_bindir}/gi-decompile-typelib
+%attr(755,root,root) %{_bindir}/gi-inspect-typelib
 %attr(755,root,root) %{_bindir}/glib-compile-resources
 %attr(755,root,root) %{_bindir}/glib-genmarshal
 %attr(755,root,root) %{_bindir}/glib-gettextize
@@ -326,15 +362,28 @@ umask 022
 %attr(755,root,root) %{_bindir}/gtester
 %attr(755,root,root) %{_bindir}/gtester-report
 %attr(755,root,root) %{_libdir}/libgio-2.0.so
+%attr(755,root,root) %{_libdir}/libgirepository-2.0.so
 %attr(755,root,root) %{_libdir}/libglib-2.0.so
 %attr(755,root,root) %{_libdir}/libgmodule-2.0.so
 %attr(755,root,root) %{_libdir}/libgobject-2.0.so
 %attr(755,root,root) %{_libdir}/libgthread-2.0.so
-%{_libdir}/glib-2.0
+%dir %{_libdir}/glib-2.0
+%{_libdir}/glib-2.0/include
 %{_includedir}/gio-unix-2.0
 %{_includedir}/glib-2.0
+%dir %{_datadir}/gir-1.0
+%if %{with introspection}
+%{_datadir}/gir-1.0/Gio-2.0.gir
+%{_datadir}/gir-1.0/GioUnix-2.0.gir
+%{_datadir}/gir-1.0/GIRepository-3.0.gir
+%{_datadir}/gir-1.0/GLib-2.0.gir
+%{_datadir}/gir-1.0/GLibUnix-2.0.gir
+%{_datadir}/gir-1.0/GModule-2.0.gir
+%{_datadir}/gir-1.0/GObject-2.0.gir
+%endif
 %dir %{_datadir}/glib-2.0/codegen
 %{_datadir}/glib-2.0/codegen/*.py*
+%{_datadir}/glib-2.0/dtds
 %dir %{_datadir}/glib-2.0/gettext
 %{_datadir}/glib-2.0/gettext/po
 %{_datadir}/glib-2.0/schemas/gschema.dtd
@@ -343,6 +392,7 @@ umask 022
 %{_datadir}/gettext/its/gschema.loc
 %{_pkgconfigdir}/gio-2.0.pc
 %{_pkgconfigdir}/gio-unix-2.0.pc
+%{_pkgconfigdir}/girepository-2.0.pc
 %{_pkgconfigdir}/glib-2.0.pc
 %{_pkgconfigdir}/gmodule-2.0.pc
 %{_pkgconfigdir}/gmodule-export-2.0.pc
@@ -352,8 +402,10 @@ umask 022
 %{_aclocaldir}/glib-2.0.m4
 %{_aclocaldir}/glib-gettext.m4
 %{_aclocaldir}/gsettings.m4
-%if %{with apidocs}
 %{_mandir}/man1/gdbus-codegen.1*
+%{_mandir}/man1/gi-compile-repository.1*
+%{_mandir}/man1/gi-decompile-typelib.1*
+%{_mandir}/man1/gi-inspect-typelib.1*
 %{_mandir}/man1/glib-compile-resources.1*
 %{_mandir}/man1/glib-genmarshal.1*
 %{_mandir}/man1/glib-gettextize.1*
@@ -362,12 +414,12 @@ umask 022
 %{_mandir}/man1/gresource.1*
 %{_mandir}/man1/gtester-report.1*
 %{_mandir}/man1/gtester.1*
-%endif
 
 %if %{with static_libs}
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libgio-2.0.a
+%{_libdir}/libgirepository-2.0.a
 %{_libdir}/libglib-2.0.a
 %{_libdir}/libgmodule-2.0.a
 %{_libdir}/libgobject-2.0.a
@@ -377,9 +429,7 @@ umask 022
 %if %{with apidocs}
 %files apidocs
 %defattr(644,root,root,755)
-%{_gtkdocdir}/gio
-%{_gtkdocdir}/glib
-%{_gtkdocdir}/gobject
+%{_gidocdir}/glib-2.0
 %endif
 
 %files gdb
@@ -390,11 +440,11 @@ umask 022
 
 %files -n bash-completion-gio
 %defattr(644,root,root,755)
-%{_datadir}/bash-completion/completions/gapplication
-%{_datadir}/bash-completion/completions/gdbus
-%{_datadir}/bash-completion/completions/gio
-%{_datadir}/bash-completion/completions/gresource
-%{_datadir}/bash-completion/completions/gsettings
+%{bash_compdir}/gapplication
+%{bash_compdir}/gdbus
+%{bash_compdir}/gio
+%{bash_compdir}/gresource
+%{bash_compdir}/gsettings
 
 %if %{with systemtap}
 %files -n systemtap-glib2
This page took 0.066142 seconds and 4 git commands to generate.