]> git.pld-linux.org Git - packages/glib2.git/blobdiff - glib2.spec
up to 2.74.4
[packages/glib2.git] / glib2.spec
index ea3e824bc2def5c0e734e14fb050f994245600e8..c88067af8dc9c9dca18775bbe5ce8d19df5a2961 100644 (file)
@@ -1,11 +1,12 @@
+# 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         # gtk-doc based API documentation
 %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
 
-%include       /usr/lib/rpm/macros.perl
 Summary:       Useful routines for 'C' programming
 Summary(cs.UTF-8):     Šikovná knihovna s funkcemi pro pomocné programy
 Summary(da.UTF-8):     Nyttige biblioteksfunktioner
@@ -19,54 +20,59 @@ 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.52.0
+Version:       2.74.4
 Release:       1
 Epoch:         1
 License:       LGPL v2+
 Group:         Libraries
-Source0:       http://ftp.gnome.org/pub/GNOME/sources/glib/2.52/glib-%{version}.tar.xz
-# Source0-md5: 64283e546091dcf3c9837d5430dda022
-Patch0:                %{name}-makefile.patch
-URL:           http://www.gtk.org/
-BuildRequires: autoconf >= 2.62
-BuildRequires: automake >= 1:1.11
+Source0:       https://download.gnome.org/sources/glib/2.74/glib-%{version}.tar.xz
+# Source0-md5: a854964bbf295dcfa98afd210d7fbc39
+Patch0:                %{name}-python_shebang.patch
+Patch1:                gtk-doc-build.patch
+Patch2:                errno.patch
+URL:           https://www.gtk.org/
 BuildRequires: docbook-dtd412-xml
 BuildRequires: docbook-dtd45-xml
-BuildRequires: docbook-style-xsl
+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
-BuildRequires: gtk-doc-automake >= 1.20
+BuildRequires: gtk-doc >= 1.32.1
 %endif
 BuildRequires: libffi-devel >= 3.0.0
 BuildRequires: libmount-devel >= 2.28
-%{?with_selinux:BuildRequires: libselinux-devel}
-BuildRequires: libtool >= 2:2.2
-BuildRequires: pcre-devel >= 8.13
+%{?with_selinux:BuildRequires: libselinux-devel >= 2.2}
+BuildRequires: libstdc++-devel
+BuildRequires: libxslt-progs
+BuildRequires: meson >= 0.60.0
+BuildRequires: ninja >= 1.5
+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: python >= 1:2.5
+BuildRequires: python3 >= 1:3.5
+BuildRequires: rpm-build >= 4.6
 BuildRequires: rpm-perlprov
 BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.527
+BuildRequires: rpmbuild(macros) >= 1.752
 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
 Requires:      iconv
 Requires:      libmount >= 2.28
-Requires:      pcre >= 8.13
+%{?with_selinux:Requires:      libselinux >= 2.2}
+Requires:      pcre2-8 >= 10.32
 Suggests:      gvfs
 Provides:      glib2-libs
-Obsoletes:     glib2-libs
-# sr@Latn vs. sr@latin
-Conflicts:     glibc-misc < 6:2.7
+Obsoletes:     glib2-libs < 1:2.12.11-3
 # 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)
@@ -127,10 +133,10 @@ Group:            Development/Libraries
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      libffi-devel >= 3.0.0
 Requires:      libmount-devel >= 2.28
-Requires:      pcre-devel >= 8.13
-Requires:      python-modules
+Requires:      pcre2-8-devel >= 10.32
+Requires:      python3-modules >= 1:3.5
 # gio only
-%{?with_selinux:Requires:      libselinux-devel}
+%{?with_selinux:Requires:      libselinux-devel >= 2.2}
 Requires:      zlib-devel
 
 %description devel
@@ -162,6 +168,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.
@@ -177,9 +184,7 @@ 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.
@@ -207,11 +212,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.
@@ -235,56 +238,40 @@ Sondy systemtap/dtrace dla GLib 2.
 %prep
 %setup -q -n glib-%{version}
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
-%if %{without apidocs}
-%{__sed} -e '/SUBDIRS/s/docs//' -i Makefile.am
-%{__sed} -e '/^docs.*Makefile$/d' -i configure.ac
-echo 'AC_DEFUN([GTK_DOC_CHECK],[])' >> acinclude.m4
+%build
+%meson build \
+       %{?debug:--debug} \
+       -Ddtrace=%{__true_false systemtap} \
+       -Dsystemtap=%{__true_false systemtap} \
+%ifarch %{ix86}
+       %{?with_systemtap:-Dtapset_install_dir=%{_datadir}/systemtap/tapset/i386} \
 %endif
+       -Dgtk_doc=%{__true_false apidocs} \
+       -Dselinux=%{?with_selinux:enabled}%{!?with_selinux:disabled} \
+       %{?with_sysprof:-Dsysprof=enabled} \
+       -Dman=true
 
-%build
-%{?with_apidocs:%{__gtkdocize}}
-%{__libtoolize}
-%{__aclocal} -I m4macros
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-
-# -Wall CPPFLAGS is workaround for https://bugzilla.gnome.org/show_bug.cgi?id=698716
-%configure \
-       CPPFLAGS="%{rpmcppflags} -Wall" \
-       --enable-debug=%{?debug:yes} \
-       %{!?with_systemtap:--disable-dtrace} \
-       %{__enable_disable apidocs gtk-doc} \
-       %{__enable_disable selinux} \
-       --disable-silent-rules \
-       %{__enable_disable static_libs static} \
-       --enable-man \
-       %{?with_apidocs:--with-html-dir=%{_gtkdocdir}} \
-       --with-pcre=system
-
-%{__make}
+%ninja_build -C build
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT \
-       m4datadir=%{_aclocaldir} \
-       pkgconfigdir=%{_pkgconfigdir}
+install -d $RPM_BUILD_ROOT%{_libdir}/gio/modules
+
+%ninja_install -C build
 
 > $RPM_BUILD_ROOT%{_libdir}/gio/modules/giomodule.cache
 > $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/gschemas.compiled
 
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/gio/modules/libgiofam.la \
-       %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/gio/modules/libgiofam.a}
+%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}
 
-%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
-
 %find_lang glib20
 
 %clean
@@ -300,13 +287,14 @@ 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-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}/libglib-2.0.so.*.*.*
@@ -319,23 +307,19 @@ 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 %{_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)
-%doc ChangeLog
 %attr(755,root,root) %{_bindir}/gdbus-codegen
 %attr(755,root,root) %{_bindir}/glib-compile-resources
 %attr(755,root,root) %{_bindir}/glib-genmarshal
@@ -361,11 +345,6 @@ umask 022
 %{_datadir}/glib-2.0/valgrind
 %{_datadir}/gettext/its/gschema.its
 %{_datadir}/gettext/its/gschema.loc
-%{_libdir}/libgio-2.0.la
-%{_libdir}/libglib-2.0.la
-%{_libdir}/libgmodule-2.0.la
-%{_libdir}/libgobject-2.0.la
-%{_libdir}/libgthread-2.0.la
 %{_pkgconfigdir}/gio-2.0.pc
 %{_pkgconfigdir}/gio-unix-2.0.pc
 %{_pkgconfigdir}/glib-2.0.pc
@@ -377,7 +356,6 @@ umask 022
 %{_aclocaldir}/glib-2.0.m4
 %{_aclocaldir}/glib-gettext.m4
 %{_aclocaldir}/gsettings.m4
-%if %{with apidocs}
 %{_mandir}/man1/gdbus-codegen.1*
 %{_mandir}/man1/glib-compile-resources.1*
 %{_mandir}/man1/glib-genmarshal.1*
@@ -387,7 +365,6 @@ umask 022
 %{_mandir}/man1/gresource.1*
 %{_mandir}/man1/gtester-report.1*
 %{_mandir}/man1/gtester.1*
-%endif
 
 %if %{with static_libs}
 %files static
@@ -415,15 +392,16 @@ 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/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
 %defattr(644,root,root,755)
-%{_datadir}/systemtap/tapset/libgio-2.0*.stp
-%{_datadir}/systemtap/tapset/libglib-2.0*.stp
-%{_datadir}/systemtap/tapset/libgobject-2.0*.stp
+%{_datadir}/systemtap/tapset/*/libgio-2.0*.stp
+%{_datadir}/systemtap/tapset/*/libglib-2.0*.stp
+%{_datadir}/systemtap/tapset/*/libgobject-2.0*.stp
 %endif
This page took 0.06995 seconds and 4 git commands to generate.