commit 0a0b22b37d64d233c26fa99490fd4e209e04c50978a8f310aa6f7a39366a5d3c Author: Adrian Schröter Date: Mon Jul 22 17:38:09 2024 +0200 Sync from SUSE:SLFO:Main libdex revision 03d16728fe65dd6d962ba46e42dd66b7 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/libdex-0.4.1.tar.xz b/libdex-0.4.1.tar.xz new file mode 100644 index 0000000..de324c1 --- /dev/null +++ b/libdex-0.4.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81b5f5474d164b40395e82867fa706af18207c787f30989b76afb7e7df5b443a +size 95492 diff --git a/libdex.changes b/libdex.changes new file mode 100644 index 0000000..fdeecbd --- /dev/null +++ b/libdex.changes @@ -0,0 +1,96 @@ +------------------------------------------------------------------- +Mon Oct 23 17:54:41 UTC 2023 - Bjørn Lie + +- 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 + +- Update to version 0.4.0: + + Documentation updates. + +------------------------------------------------------------------- +Wed Sep 6 01:13:35 UTC 2023 - Luciano Santos + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- Initial packaging for openSUSE. diff --git a/libdex.spec b/libdex.spec new file mode 100644 index 0000000..a1ac892 --- /dev/null +++ b/libdex.spec @@ -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