commit 0124a82f429f1429fd64802fc96b243bccb924d5 Author: MSVSphere Packaging Team Date: Fri Oct 25 16:13:57 2024 +0300 import libdex-0.6.1-3.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..42e07a8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libdex-0.6.1.tar.xz diff --git a/.libdex.metadata b/.libdex.metadata new file mode 100644 index 0000000..1c93e3a --- /dev/null +++ b/.libdex.metadata @@ -0,0 +1 @@ +b3207d61ce0d7c81e62a5a4de927ba11b76fda59 SOURCES/libdex-0.6.1.tar.xz diff --git a/SOURCES/avoid-asm.patch b/SOURCES/avoid-asm.patch new file mode 100644 index 0000000..48f63b3 --- /dev/null +++ b/SOURCES/avoid-asm.patch @@ -0,0 +1,39 @@ +From 95b957d5381ae6b313333f50bb941e9970d55127 Mon Sep 17 00:00:00 2001 +From: Christian Hergert +Date: Wed, 12 Jun 2024 11:17:52 -0700 +Subject: [PATCH] build: avoid asm.S on general Linux when possible + +We only use asm.S when on mips when we're on Linux. Removing this means +for the other Linux cases means the compiler can automatically enable some +features we might want like CET for indirect branches. +--- + src/meson.build | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/meson.build b/src/meson.build +index 2967968..4a106a1 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -91,10 +91,18 @@ if host_machine.system() != 'windows' + # Not really used on Windows now, see also + # https://github.com/mesonbuild/meson/issues/4366 + libdex_sources += [ +- 'asm.S', + 'dex-unix-signal.c', + 'dex-ucontext.c', + ] ++ ++ # If we're on Linux and mips we might still need asm.S. ++ # But otherwise linux can do it all without any custom ++ # assembler. Failure to do this might result in CET being ++ # disabled for the process by GCC. ++ if host_machine.system() != 'linux' or host_machine.cpu_family() == 'mips' ++ libdex_sources += ['asm.S'] ++ endif ++ + libdex_headers += ['dex-unix-signal.h'] + endif + +-- +2.45.1 + diff --git a/SPECS/libdex.spec b/SPECS/libdex.spec new file mode 100644 index 0000000..d8da77e --- /dev/null +++ b/SPECS/libdex.spec @@ -0,0 +1,145 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.1) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 3; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +Name: libdex +Version: 0.6.1 +Release: %autorelease +Summary: a library supporting "Deferred Execution" for GNOME and GTK + +License: LGPL-2.1-or-later +URL: https://gitlab.gnome.org/GNOME/libdex +Source0: https://download.gnome.org/sources/libdex/0.6/%{name}-%{version}.tar.xz + +Patch0: avoid-asm.patch + +BuildRequires: /usr/bin/vapigen +BuildRequires: gcc +BuildRequires: gi-docgen +BuildRequires: libatomic +BuildRequires: meson +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(liburing) +BuildRequires: pkgconfig(sysprof-capture-4) + +%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 devel +Summary: Development files for libdex +Requires: libdex%{?_isa} = %{version}-%{release} + +%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 +Requires: libdex = %{version}-%{release} + +%description devel-docs +This package contains developer documentation for writing applications with +libdex. + +%prep +%autosetup -p1 + +%build +%meson \ + -Ddocs=true \ + -Dexamples=false \ + -Dsysprof=true +%meson_build + +%install +%meson_install + +%check +%meson_test + +%files +%license COPYING +%doc NEWS README.md +%{_libdir}/libdex-1.so.1{,.*} +%{_libdir}/girepository-1.0/ + +%files devel +%{_datadir}/gir-1.0/ +%{_datadir}/vala/ +%{_includedir}/libdex-1/ +%{_libdir}/libdex-1.so +%{_libdir}/pkgconfig/libdex-1.pc + +%files devel-docs +%doc %{_docdir}/libdex-1/ + +%changelog +* Fri Oct 25 2024 MSVSphere Packaging Team - 0.6.1-3 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Mon Jun 24 2024 Troy Dawson - 0.6.1-3 +- Bump release for June 2024 mass rebuild + +* Wed Jun 12 2024 Christian Hergert - 0.6.1-2 +- Avoid asm.S usage on various Linux architectures + +* Wed Jun 12 2024 Christian Hergert - 0.6.1-1 +- Update to libdex 0.6.1 + +* Fri Apr 26 2024 Tomas Pelka - 0.6.0-2 +- Add gating.yaml via API + +* Wed Apr 10 2024 Christian Hergert - 0.6.0-1 +- Update to libdex 0.6.0 + +* Thu Jan 25 2024 Fedora Release Engineering - 0.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 0.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 11 2024 Kalev Lember - 0.4.3-1 +- Update to 0.4.3 + +* Thu Jan 11 2024 Kalev Lember - 0.4.2-1 +- Update to 0.4.2 + +* Mon Oct 23 2023 David King - 0.4.1-1 +- Update to 0.4.1 (#2245721) + +* Mon Sep 18 2023 Kalev Lember - 0.4.0-1 +- Update to 0.4.0 + +* Mon Aug 07 2023 Kalev Lember - 0.3.1-1 +- Update to 0.3.1 + +* Thu Jul 20 2023 Fedora Release Engineering - 0.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jul 03 2023 Kalev Lember - 0.3.0-1 +- Update to 0.3.0 + +* Sun Mar 19 2023 David King - 0.2.0-1 +- Update to 0.2.0 (#2179448) + +* Fri Mar 03 2023 David King - 0.1.1-1 +- Update to 0.1.1 (#2175053) + +* Thu Feb 23 2023 David King - 0.1.0-1 +- Initial import (#2172444) +## END: Generated by rpmautospec