#
# Conditional build:
+%bcond_without sysprof # sysprof profiling
%bcond_without systemtap # systemtap/dtrace trace support
#
Summary: JavaScript bindings for GNOME
Summary(pl.UTF-8): Wiązania JavaScriptu dla GNOME
Name: gjs
-Version: 1.40.1
+Version: 1.72.3
Release: 1
License: MIT and (MPL v1.1 or GPL v2+ or LGPL v2+)
Group: Libraries
-Source0: http://ftp.gnome.org/pub/GNOME/sources/gjs/1.40/%{name}-%{version}.tar.xz
-# Source0-md5: 150580858bc40d0dbc9df43741eb2ad3
-Patch0: %{name}-systemtap.patch
-URL: http://live.gnome.org/Gjs
-BuildRequires: autoconf >= 2.61
-BuildRequires: automake
+Source0: https://download.gnome.org/sources/gjs/1.72/%{name}-%{version}.tar.xz
+# Source0-md5: 6402feb4fb34803b1f15f0b29aa56f6e
+URL: https://wiki.gnome.org/Projects/Gjs
BuildRequires: cairo-devel
BuildRequires: cairo-gobject-devel
-BuildRequires: gettext-devel
-BuildRequires: glib2-devel >= 1:2.36.0
-BuildRequires: gobject-introspection-devel >= 1.39.3
-BuildRequires: gtk+3-devel
+BuildRequires: gettext-tools
+BuildRequires: glib2-devel >= 1:2.66.0
+BuildRequires: gobject-introspection-devel >= 1.66.1
BuildRequires: libffi-devel
-BuildRequires: libstdc++-devel
-BuildRequires: libtool
-BuildRequires: mozjs24-devel
+BuildRequires: libstdc++-devel >= 6:7.0
+BuildRequires: meson >= 0.52.0
+BuildRequires: mozjs91-devel >= 91.3.0
+BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
BuildRequires: readline-devel
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 1.736
+# pkgconfig(sysprof-capture-4)
+%{?with_sysprof:BuildRequires: sysprof-devel >= 3.36}
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
-Requires: glib2 >= 1:2.36.0
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+Requires: glib2 >= 1:2.66.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki gjs
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: dbus-devel
-Requires: glib2-devel >= 1:2.36.0
-Requires: gobject-introspection-devel >= 1.39.3
-Requires: mozjs24-devel
+Requires: cairo-devel
+Requires: cairo-gobject-devel
+Requires: glib2-devel >= 1:2.66.0
+Requires: gobject-introspection-devel >= 1.66.0
+Requires: libffi-devel
+Requires: mozjs91-devel >= 91.3.0
%description devel
Header files for gjs library.
Group: Development/Tools
Requires: %{name} = %{version}-%{release}
Requires: systemtap-client
+BuildArch: noarch
%description -n systemtap-gjs
systemtap/dtrace probes for gjs.
%prep
%setup -q
-%patch0 -p1
%build
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- --disable-silent-rules \
- %{?with_systemtap:--enable-systemtap}
-%{__make}
+%meson build \
+ -Dprofiler=%{?with_sysprof:enabled}%{!?with_sysprof:disabled} \
+ -Dsystemtap=%{__true_false systemtap} \
+ -Ddtrace=%{__true_false systemtap}
+
+%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-%{__make} -j1 install \
- DESTDIR=$RPM_BUILD_ROOT
+%ninja_install -C build
-cp examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -p examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
+# belongs to installed-tests
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.GjsTest.gschema.xml
+%{__rm} -r $RPM_BUILD_ROOT{%{_datadir},%{_libexecdir}}/installed-tests
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc COPYING NEWS README
+%doc COPYING NEWS README.md
%attr(755,root,root) %{_bindir}/gjs
%attr(755,root,root) %{_bindir}/gjs-console
%attr(755,root,root) %{_libdir}/libgjs.so.*.*.*
%dir %{_libdir}/gjs
%dir %{_libdir}/gjs/girepository-1.0
%{_libdir}/gjs/girepository-1.0/GjsPrivate-1.0.typelib
+%{_datadir}/gjs-1.0
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libgjs.so
%{_includedir}/gjs-1.0
%{_pkgconfigdir}/gjs-1.0.pc
-%{_pkgconfigdir}/gjs-internals-1.0.pc
%{_examplesdir}/%{name}-%{version}
+%if %{with systemtap}
%files -n systemtap-gjs
%defattr(644,root,root,755)
%{_datadir}/systemtap/tapset/gjs.stp
+%endif