#
# 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
-Release: 1
+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.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: 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: 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.58.0
+BuildRequires: gobject-introspection-devel >= 1.61.2
BuildRequires: libffi-devel
-BuildRequires: libstdc++-devel
-BuildRequires: libtool
-BuildRequires: mozjs24-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: rpmbuild(macros) >= 1.736
+# pkgconfig(sysprof-capture-3)
+%{?with_sysprof:BuildRequires: sysprof-devel >= 3.34}
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
-Requires: glib2 >= 1:2.36.0
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
+Requires: glib2 >= 1:2.58.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.58.0
+Requires: gobject-introspection-devel >= 1.61.2
+Requires: libffi-devel
+Requires: mozjs68-devel >= 68
%description devel
Header files for gjs library.
%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}/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.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