Sync from SUSE:SLFO:Main libdex revision 03d16728fe65dd6d962ba46e42dd66b7

This commit is contained in:
Adrian Schröter 2024-07-22 17:38:09 +02:00
commit 0a0b22b37d
4 changed files with 250 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
libdex-0.4.1.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

96
libdex.changes Normal file
View File

@ -0,0 +1,96 @@
-------------------------------------------------------------------
Mon Oct 23 17:54:41 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.4.1:
+ This release includes an important fix for how io_uring CQE are
handled.
-------------------------------------------------------------------
Sun Sep 17 01:09:23 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
- Update to version 0.4.0:
+ Documentation updates.
-------------------------------------------------------------------
Wed Sep 6 01:13:35 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
- Drop pkgconfig(sysprof-4) BuildRequires. This was only needed
because sysprof-capture-static-devel was lacking header files,
which was mistakenly being packaged with sysprof-devel, and it's
fixed now.
- Add with(out) "profiling" build switch and disable it, by
default, as profiling isn't meant for general use. This nests
pkgconfig(sysprof-capture-4) BuildRequires under an if-with
expression and passes profiler=(true|false) to meson, depending
on the profiling switch. Disabling this should also avoid a build
cycle introduced by Sysprof 45 by requiring libdex.
-------------------------------------------------------------------
Thu Aug 10 09:12:48 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.3.1:
+ A new "Infinite" future type which will never resolve or
reject.
+ The gio wrappers will now set debuggable names for their
futures.
+ A `dex_async_pair_set_cancel_on_discard()` function has been
added which ensures that the `GCancellable` will not be
cancelled when the future is discarded. This can help in
situations where you might repeatedly await on a future and do
not want intermediate cancellation between attempts to await.
+ A `dex_input_stream_skip_async()` function has been added to
wrap the underlying GIO function.
+ A `dex_future_disown()` function has been added which
simplifies the case where you want a future to run but are not
interested in the result.
-------------------------------------------------------------------
Tue Jul 11 12:20:10 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.3.0:
+ Documentation updates
+ pkg-config improvements
+ Build system improvements for GIR
+ Support for GVariant-based futures
+ New Future-based wrappers for GDBusConnection
+ The FD-based AIO API is now public, allowing for use of
io_uring on Linux kernels that support it. If unsupported, a
threadpool approach is used similar to GIO
+ Improvements to introspection for language bindings
+ You can now return NULL for a DexPromise expecting a GObject as
as a resolved value
+ DexFiber will now get static names associated with them when
used from C which points to the line of code. This is only
enabled when debugging is enabled for libdex through the use of
macros
-------------------------------------------------------------------
Fri Mar 17 19:46:13 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.2.0:
+ Followup fixes for building on mips.
+ Fixes for introspection gi-scanner.
+ Remove abstract type flag from DexFuture to satisfy GObject
Introspection rules about constructors.
+ Many documentation/gi-annotation fixes.
+ Build system improvements.
+ Default to `-Dintrospection=enabled`.
-------------------------------------------------------------------
Fri Mar 3 07:35:29 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 0.1.1:
+ Fix soname versioning
+ Documentation improvements
+ Fix various GObject Introspection issues
+ More backports for older GLib use
+ Various ucontext fiber fixes for less-used architectures
+ Fixes for various incorrect cast-align warnings
+ Tweaks for better Forward portability
+ Add some missing g_autoptr() definitions
+ Add GCancellation integration to DexPromise
-------------------------------------------------------------------
Mon Feb 27 12:29:04 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Initial packaging for openSUSE.

128
libdex.spec Normal file
View File

@ -0,0 +1,128 @@
#
# spec file for package libdex
#
# Copyright (c) 2023 SUSE LLC
#
# 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/
#
%define soname libdex-1-1
%bcond_with profiling
Name: libdex
Version: 0.4.1
Release: 0
Summary: Library supporting "Deferred Execution" for GNOME and GTK
License: LGPL-2.1-or-later
URL: https://gitlab.gnome.org/chergert/libdex
Source0: https://download.gnome.org/sources/%{name}/0.4/%{name}-%{version}.tar.xz
BuildRequires: c_compiler
BuildRequires: meson
BuildRequires: pkgconfig
BuildRequires: pkgconfig(atomic_ops)
BuildRequires: pkgconfig(gi-docgen)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(liburing)
%if %{with profiling}
BuildRequires: pkgconfig(sysprof-capture-4)
%endif
BuildRequires: pkgconfig(vapigen)
%description
Dex is a library supporting "Deferred Execution" with the explicit
goal of integrating with GNOME and GTK-based applications.
It provides primatives for supporting futures in a variety of ways
with both read-only and writable views. Additionally, integration
with existing asynchronous-based APIs is provided through the use
of wrapper promises.
"Fibers" are implemented which allows for writing synchronous
looking code which calls asynchronous APIs from GIO underneath.
%package -n %soname
Summary: Shared library for %name
%description -n %soname
Dex is a library supporting "Deferred Execution" with the explicit
goal of integrating with GNOME and GTK-based applications.
It provides primatives for supporting futures in a variety of ways
with both read-only and writable views. Additionally, integration
with existing asynchronous-based APIs is provided through the use
of wrapper promises.
"Fibers" are implemented which allows for writing synchronous
looking code which calls asynchronous APIs from GIO underneath.
This package contains the shared library for %name.
%package -n typelib-1_0-Dex-1_0
Summary: Introspection bindings for %name
%description -n typelib-1_0-Dex-1_0
This package contains the introspection bindings for %name.
%package devel
Summary: Development files for libdex
Requires: %soname = %{version}
Requires: typelib-1_0-Dex-1_0 = %{version}
%description devel
This package contains the libraries and header files that are
needed for writing applications with libdex.
%package devel-docs
Summary: Developer documentation for libdex
BuildArch: noarch
%description devel-docs
This package contains developer documentation for writing
applications with libdex.
%prep
%autosetup -p1
%build
%meson \
-D docs=true \
-D examples=false \
-D sysprof=%{?with_profiling:true}%{!?with_profiling:false} \
%{nil}
%meson_build
%install
%meson_install
%check
%meson_test
%ldconfig_scriptlets -n %soname
%files -n %soname
%license COPYING
%{_libdir}/libdex-1.so.1{,.*}
%files -n typelib-1_0-Dex-1_0
%{_libdir}/girepository-1.0/Dex-1.typelib
%files devel
%{_datadir}/gir-1.0/
%{_datadir}/vala/
%{_includedir}/libdex-1/
%{_libdir}/libdex-1.so
%{_libdir}/pkgconfig/libdex-1.pc
%files devel-docs
%doc NEWS README.md
%doc %{_datadir}/doc/libdex-1/
%changelog