Bump to rust-parking_lot_core 0.9.7
authorDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 9 Mar 2023 04:46:56 +0000 (13:46 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Thu, 9 Mar 2023 04:46:56 +0000 (13:46 +0900)
packaging/extern.patch [new file with mode: 0644]
packaging/rust-parking_lot_core.manifest [new file with mode: 0644]
packaging/rust-parking_lot_core.spec [new file with mode: 0644]

diff --git a/packaging/extern.patch b/packaging/extern.patch
new file mode 100644 (file)
index 0000000..4c6b77c
--- /dev/null
@@ -0,0 +1,14 @@
+diff --git a/src/lib.rs b/src/lib.rs
+index 4845356..64ab498 100644
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -52,6 +52,9 @@
+     feature(stdsimd)
+ )]
++extern crate smallvec;
++extern crate cfg_if;
++
+ mod parking_lot;
+ mod spinwait;
+ mod thread_parker;
diff --git a/packaging/rust-parking_lot_core.manifest b/packaging/rust-parking_lot_core.manifest
new file mode 100644 (file)
index 0000000..017d22d
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+    <domain name="_"/>
+ </request>
+</manifest>
diff --git a/packaging/rust-parking_lot_core.spec b/packaging/rust-parking_lot_core.spec
new file mode 100644 (file)
index 0000000..d75b6e4
--- /dev/null
@@ -0,0 +1,80 @@
+# Generated by rust2rpm 23
+%global _rpm_strip_disable 1
+%global debug_package %{nil}
+
+%global crate parking_lot_core
+%global real_crate_name parking_lot_core
+%global rustc_edition 2018
+
+Name:           rust-parking_lot_core
+Version:        0.9.7
+Release:        1
+Summary:        Advanced API for creating custom synchronization primitives
+
+License:        MIT OR Apache-2.0
+URL:            https://crates.io/crates/parking_lot_core
+Source:         %{crate}-%{version}.tar.gz
+Source1:        %{name}.manifest
+Source2:        extern.patch
+
+# ==========================================================
+# BuildRequires
+# specifies build-time dependencies for the package
+# ==========================================================
+BuildRequires:  rust
+BuildRequires:  rust-cfg-if
+BuildRequires:  rust-libc
+BuildRequires:  rust-smallvec
+
+# ==========================================================
+# deadlock_detection feature 
+# it has a circular build problem.
+# rust-parking_lot_core -> backtrace -> addr2line ->
+# cpp_demangle -> afl -> clap -> backtrace
+# ==========================================================
+# BuildRequires:  rust-backtrace
+# BuildRequires:  rust-thread-id
+# BuildRequires:  rust-petgraph
+
+
+%description
+Advanced API for creating custom synchronization primitives.
+
+%prep
+%setup -q
+cp %{SOURCE1} .
+%{__patch} -p1 < %{SOURCE2}
+
+# ==========================================================
+# build section
+# crate-type : dylib, proc-macro, cdylib, bin, etc.
+# ==========================================================
+%build
+%{rustc_std_build} --crate-type=dylib \
+        --crate-name=%{real_crate_name} \
+        %{?rustc_edition:--edition=%{rustc_edition}} \
+        --extern libc=%{_rust_dylibdir}/liblibc.so \
+        --extern cfg_if=%{_rust_dylibdir}/libcfg_if.so \
+        ./src/lib.rs
+
+# ==========================================================
+# install section
+# ==========================================================
+%install
+install -d -m 0755 %{buildroot}%{_rust_dylibdir}
+install -m 0644 lib%{real_crate_name}.so %{buildroot}/%{_rust_dylibdir}/lib%{real_crate_name}.so
+
+%clean
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+# ==========================================================
+# files section
+# ==========================================================
+%files
+%manifest %{name}.manifest
+%license LICENSE-APACHE
+%license LICENSE-MIT
+%{_rust_dylibdir}/lib%{real_crate_name}.so