+#
+# 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 JavaScript dla GNOME
+Summary(pl.UTF-8): Wiązania JavaScriptu dla GNOME
Name: gjs
-Version: 1.30.0
-Release: 3
-License: MIT and (MPL v1.1 / GPL v2+ / LGPL v2+)
+Version: 1.64.4
+Release: 2
+License: MIT and (MPL v1.1 or GPL v2+ or LGPL v2+)
Group: Libraries
-Source0: http://ftp.gnome.org/pub/GNOME/sources/gjs/1.30/%{name}-%{version}.tar.xz
-# Source0-md5: 908c1c8654d141d64aac07d57de9a457
-Patch0: %{name}-rpath.patch
-URL: http://live.gnome.org/Gjs
-BuildRequires: autoconf >= 2.61
-BuildRequires: automake
+Source0: http://ftp.gnome.org/pub/GNOME/sources/gjs/1.64/%{name}-%{version}.tar.xz
+# Source0-md5: dc0d4a0453484c5a77eb0e2bda091704
+URL: https://wiki.gnome.org/Projects/Gjs
+BuildRequires: autoconf >= 2.64
+BuildRequires: automake >= 1:1.11.1
BuildRequires: cairo-devel
BuildRequires: cairo-gobject-devel
-BuildRequires: dbus-glib-devel
-BuildRequires: gettext-devel
-BuildRequires: glib2-devel >= 1:2.18.0
-BuildRequires: gobject-introspection-devel >= 1.29.17
-BuildRequires: libstdc++-devel
-BuildRequires: libtool
+BuildRequires: gettext-tools
+BuildRequires: glib2-devel >= 1:2.58.0
+BuildRequires: gobject-introspection-devel >= 1.61.2
+BuildRequires: libffi-devel
+BuildRequires: libstdc++-devel >= 6:5.0
+BuildRequires: libtool >= 2:2.2.0
+BuildRequires: meson >= 0.50.0
+BuildRequires: mozjs68-devel >= 68
+BuildRequires: ninja >= 1.5
BuildRequires: pkgconfig
BuildRequires: readline-devel
-BuildRequires: xulrunner-devel >= 1.9.2
-%requires_eq xulrunner-libs
+BuildRequires: rpmbuild(macros) >= 1.736
+# pkgconfig(sysprof-capture-3)
+%{?with_sysprof:BuildRequires: sysprof-devel >= 3.34}
+%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+Requires: glib2 >= 1:2.58.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
framework.
%description -l pl.UTF-8
-Gjs pozwala używać bibliotek GNOME z JavaScript. Bazuje głównie na
-silniku JavaScript Spidermonkey i systemie GObject introspection.
+Gjs pozwala używać bibliotek GNOME z JavaScriptem. Jest oparty głównie
+na silniku JavaScriptu Spidermonkey i systemie GObject introspection.
%package devel
Summary: Header files for gjs library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki gjs
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: dbus-devel
-Requires: glib2-devel >= 1:2.18.0
-Requires: gobject-introspection-devel >= 1.29.17
-Requires: xulrunner-devel
+Requires: cairo-devel
+Requires: cairo-gobject-devel
+Requires: glib2-devel >= 1:2.58.0
+Requires: gobject-introspection-devel >= 1.61.2
+Requires: libffi-devel
+Requires: mozjs68-devel >= 68
%description devel
Header files for gjs library.
%description devel -l pl.UTF-8
Pliki nagłówkowe biblioteki gjs.
+%package -n systemtap-gjs
+Summary: systemtap/dtrace probes for gjs
+Summary(pl.UTF-8): Sondy systemtap/dtrace dla gjs
+Group: Development/Tools
+Requires: %{name} = %{version}-%{release}
+Requires: systemtap-client
+
+%description -n systemtap-gjs
+systemtap/dtrace probes for gjs.
+
+%description -n systemtap-gjs -l pl.UTF-8
+Sondy systemtap/dtrace dla gjs.
+
%prep
%setup -q
-%patch0 -p1
%build
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- --disable-silent-rules
-%{__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},%{_datadir}/gir-1.0,%{_libdir}/girepository-1.0}
+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}/gjs-1.0/*.la \
- $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}/gjs}/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-dbus.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgjs-dbus.so.0
-%attr(755,root,root) %{_libdir}/libgjs-gdbus.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgjs-gdbus.so.0
%attr(755,root,root) %{_libdir}/libgjs.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libgjs.so.0
%dir %{_libdir}/gjs
-%{_libdir}/gjs/*.typelib
-%dir %{_libdir}/gjs-1.0
-%attr(755,root,root) %{_libdir}/gjs-1.0/cairoNative.so
-%attr(755,root,root) %{_libdir}/gjs-1.0/console.so
-%attr(755,root,root) %{_libdir}/gjs-1.0/dbusNative.so
-%attr(755,root,root) %{_libdir}/gjs-1.0/debugger.so
-%attr(755,root,root) %{_libdir}/gjs-1.0/gettextNative.so
-%attr(755,root,root) %{_libdir}/gjs-1.0/langNative.so
-%attr(755,root,root) %{_libdir}/gjs-1.0/mainloop.so
+%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-dbus.so
-%attr(755,root,root) %{_libdir}/libgjs-gdbus.so
%attr(755,root,root) %{_libdir}/libgjs.so
-%{_libdir}/gjs/*.gir
%{_includedir}/gjs-1.0
%{_pkgconfigdir}/gjs-1.0.pc
-%{_pkgconfigdir}/gjs-dbus-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