SHA256
1
0
forked from pool/gjs
gjs/gjs.spec
Dominique Leuenberger 3b80c7d038 Accepting request 604654 from home:iznogood:branches:GNOME:Factory
Add patches lined up in the next unstable release aswell.

- Update to version 1.52.3:
  + Include calc.js example from Seed (glgo#gnome/gjs#130).
  + CI: Un-pin the Fedora Docker image (glgo#gnome/gjs#141,
    (glgo#gnome/gjs#131).
  + Reduce overhead of wrapped objects (glgo#gnome/gjs#142,
    (glgo#gnome/gjs#121).
  + Various CI changes (glgo#gnome/gjs#134, (glgo#gnome/gjs#136).
- Add gjs-Add-API-to-force-GC-schedule.patch: context: Add API to
  force GC schedule. There are situations where we cannot run the
  GC right away, but we also cannot ignore the need of running it.
  For those cases, add a new private function that forces GC to
  happen on idle (glgo"GNOME/gjs#140).
- Add gjs-Queue-forced-GC.patch: object: Queue a forced GC when
  toggling down. Since we cannot know how many more wrapped
  GObjects are going be marked for garbage collection after the
  owner is destroyed, always queue a garbage collection when a
  toggle reference goes down (glgo"GNOME/gjs#140).

OBS-URL: https://build.opensuse.org/request/show/604654
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gjs?expand=0&rev=151
2018-05-07 11:10:56 +00:00

128 lines
4.1 KiB
RPMSpec

#
# spec file for package gjs
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: gjs
Version: 1.52.3
Release: 0
Summary: JavaScript bindings based on gobject-introspection and Mozilla
License: MIT
Group: Development/Libraries/GNOME
URL: https://wiki.gnome.org/Projects/Gjs
Source0: http://download.gnome.org/sources/gjs/1.52/%{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM gjs-Add-API-to-force-GC-schedule.patch -- context: Add API to force GC schedule
Patch0: gjs-Add-API-to-force-GC-schedule.patch
# PATCH-FIX-UPSTREAM gjs-Queue-forced-GC.patch -- object: Queue a forced GC when toggling down
Patch1: gjs-Queue-forced-GC.patch
BuildRequires: gcc-c++
BuildRequires: mozjs52-devel
BuildRequires: pkgconfig
BuildRequires: python
BuildRequires: readline-devel
BuildRequires: systemtap-sdt-devel
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(cairo-gobject)
BuildRequires: pkgconfig(cairo-xlib)
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(gio-2.0) >= 2.50.0
BuildRequires: pkgconfig(glib-2.0) >= 2.50.0
BuildRequires: pkgconfig(gobject-2.0) >= 2.50.0
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.53.4
BuildRequires: pkgconfig(gthread-2.0) >= 2.50.0
BuildRequires: pkgconfig(gtk+-3.0) >= 3.20
BuildRequires: pkgconfig(libffi)
#BuildRequires: pkgconfig(mozjs-52)
Requires: libgjs0 = %{version}
ExcludeArch: s390
%description
This module contains JavaScript bindings based on gobject-introspection and the
Mozilla SpiderMonkey JavaScript engine.
%package -n libgjs0
Summary: JavaScript bindings based on gobject-introspection and Mozilla
Group: System/Libraries
Provides: libgjs-0 = %{version}
Obsoletes: libgjs-0 < %{version}
%description -n libgjs0
This module contains JavaScript bindings based on gobject-introspection and the
Mozilla SpiderMonkey JavaScript engine.
%package -n typelib-1_0-GjsPrivate-1_0
Summary: Introspection bindings for the GJS library
# The tyeplib was renamed in gnome 3.6, to reflect it is a private lib.
Group: System/Libraries
Obsoletes: typelib-1_0-GjsDBus-1_0 < %{version}
%description -n typelib-1_0-GjsPrivate-1_0
This module contains JavaScript bindings based on gobject-introspection and the
Mozilla SpiderMonkey JavaScript engine.
%package -n libgjs-devel
Summary: Development files for the GJS library
Group: Development/Libraries/GNOME
Requires: %{name} = %{version}
Requires: libgjs0 = %{version}
Requires: typelib-1_0-GjsPrivate-1_0 = %{version}
# Just a helper provides
Provides: gjs-devel = %{version}
%description -n libgjs-devel
This module contains JavaScript bindings based on gobject-introspection and the
Mozilla SpiderMonkey JavaScript engine.
%prep
%autosetup -p1
%build
%configure \
--disable-static \
--enable-systemtap
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%post -n libgjs0 -p /sbin/ldconfig
%postun -n libgjs0 -p /sbin/ldconfig
%files
%license COPYING
%doc NEWS README
%{_bindir}/gjs
%{_bindir}/gjs-console
%files -n libgjs0
%license COPYING.LGPL
%{_libdir}/*.so.*
%files -n typelib-1_0-GjsPrivate-1_0
%dir %{_libdir}/gjs
%dir %{_libdir}/gjs/girepository-1.0/
%{_libdir}/gjs/girepository-1.0/GjsPrivate-1.0.typelib
%files -n libgjs-devel
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%{_datadir}/%{name}-1.0/
%{_datadir}/systemtap/tapset/*.stp
%changelog