gjs/gjs.spec
Bjørn Lie 7e7614fe3e Accepting request 689942 from GNOME:Next
- Update to version 3.32.0:
  + Stable release version bump.
- Update to version 1.55.92:
  + Possible memory allocation/deallocation bug (possibly in
    js_free() in GJS).
  + cairo-context: Special-case 0-sized vector.
  + Add some more eslint rules.
  + NMake/libgjs-private: Export all the public symbols there.
- Update to version 1.55.91:
  + The problem of freezing while running the tests using GCC's
    sanitizers was determined to be a bug in GCC, which was fixed
    in GCC 9.0.1.
  + Closed bugs and merge requests:
    - gnome-sound-recorder crashes deep inside libgjs.
    - Various maintenance.
    - wrapperutils: Define $gtype property as non-enumerable.
- Update to version 1.55.90:
  + New JS API: It's now possible to call and implement DBus
    methods whose parameters or return types include file
    descriptor lists (type signature 'h'). This involves passing or
    receiving a Gio.UnixFDList instance along with the parameters
    or return values.
  + To call a method with a file descriptor list, pass the
    Gio.UnixFDList along with the rest of the parameters, in any
    order, the same way you would pass a Gio.Cancellable or async
    callback.
  + For return values, things are a little more complicated, in
    order to avoid breaking existing code. Previously,
    synchronously called DBus proxy methods would return an
    unpacked GVariant. Now, but only if called with a
    Gio.UnixFDList, they will return [unpacked GVariant,
    Gio.UnixFDList]. This does not break existing code because it
    was not possible to call a method with a Gio.UnixFDList before,
    and the return value is unchanged if not calling with a
    Gio.UnixFDList. This does mean, unfortunately, that if you have
    a method with an 'h' in its return signature but not in its
    argument signatures, you will have to call it with an empty
    FDList in order to receive an FDList with the return value,
    when calling synchronously.
  + On the DBus service side, when receiving a method call, we now
    pass the Gio.UnixFDList received from DBus to the called
    method. Previously, sync methods were passed the parameters,
    and async methods were passed the parameters plus the
    Gio.DBusInvocation object. Appending the Gio.UnixFDList to
    those parameters also should not break existing code.
  + See the new tests in installed-tests/js/testGDBus.js for
    examples of calling methods with FD lists.
  + We have observed on the CI server that GJS 1.55.90 will hang
    forever while running the test suite compiled with GCC 9.0.0
    and configured with the --enable-asan and --enable-ubsan
    arguments. This should be addressed in one of the following
    1.55.x releases.
  + Closed bugs and merge requests:
    - GDBus proxy overrides should support
      Gio.DBusProxy.call_with_unix_fd_list().
    - Add regression tests for GObject vfuncs.
    - GjsPrivate: Sources should be C files.
    - build: Vendor last-good version of AX_CODE_COVERAGE.
- Update to version 1.55.4:
  + Various maintenance.
  + Boxed copy constructor should not be called, split Boxed into
    prototype and instance structs.
- Update to version 1.55.3:
  + Manually constructed ByteArray toString segfaults.
  + signals: Add _signalHandlerIsConnected method.
  + Various maintenance.
- Changes from version 1.55.2:
  + Gnome-shell crashes on destroying cached param specs.
  + Various maintenance.
  + Auto pointers builder.
  + configure.ac: Update bug link.
  + SIGSEGV when exiting gnome-shell.
  + Fix build with --enable-dtrace and create CI job to ensure it
    doesn't break in the future.
  + Delay JSString-to-UTF8 conversion.
  + Annotate return values.
  + Fix a regression with GError toString().
  + GType memleak fixes.
  + Atoms refactor.
  + Write a "Code Hospitable" README file.
  + object: Method lookup repeatedly traverses introspection.
  + Handler of GtkEditable::insert-text signal is not run.
- Changes from version 1.55.1:
  + object: Implement newEnumerate hook for GObject.
  + Various maintenance.
  + ByteArray.toString should stop at null bytes.
  + Byte arrays that represent encoded strings should be
    0-terminated.
  + context: Defer and therefore batch forced GC runs.
  + context: use timeout with seconds to schedule a gc trigger.
  + arg: Add special-case for byte arrays going to C.

OBS-URL: https://build.opensuse.org/request/show/689942
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gjs?expand=0&rev=162
2019-04-06 18:29:57 +00:00

133 lines
4.2 KiB
RPMSpec

#
# spec file for package gjs
#
# Copyright (c) 2019 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 https://bugs.opensuse.org/
#
# TODO: systemtap/dtrace is currently (1.53.91) failing, when
# https://gitlab.gnome.org/GNOME/gjs/issues/196 gets fixed and released,
# remove all conditional macros and enable systemtap.
%bcond_with systemtap
Name: gjs
Version: 1.56.0
Release: 0
Summary: JavaScript bindings based on gobject-introspection and Mozilla
License: MIT AND LGPL-2.0-or-later
Group: Development/Libraries/GNOME
URL: https://wiki.gnome.org/Projects/Gjs
Source0: https://download.gnome.org/sources/gjs/1.56/%{name}-%{version}.tar.xz
BuildRequires: gcc-c++
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-60)
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
License: LGPL-2.0-or-later
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.
License: MIT AND LGPL-2.0-or-later
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
License: MIT AND LGPL-2.0-or-later
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 \
--%{?with_systemtap:enable}%{!?with_systemtap:disable}-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/
%if %{with systemtap}
%{_datadir}/systemtap/tapset/*.stp
%endif
%changelog