--- /dev/null
+diff --git a/src/lib.rs b/src/lib.rs
+index 854d0bd..7c3886d 100644
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -26,8 +26,13 @@
+ //! # });
+ //! ```
+
+-#![forbid(unsafe_code)]
+-#![warn(missing_docs, missing_debug_implementations, rust_2018_idioms)]
++#[forbid(unsafe_code)]
++#[warn(missing_docs, missing_debug_implementations, rust_2018_idioms)]
++
++extern crate std;
++extern crate concurrent_queue;
++extern crate event_listener;
++extern crate futures_core;
+
+ use std::error;
+ use std::fmt;
--- /dev/null
+# Generated by rust2rpm 23
+%global _rpm_strip_disable 1
+%global debug_package %{nil}
+
+%global crate async-channel
+%global real_crate_name async_channel
+%global rustc_edition 2018
+
+Name: rust-async-channel
+Version: 1.8.0
+Release: 1
+Summary: Async multi-producer multi-consumer channel
+
+License: Apache-2.0 OR MIT
+URL: https://crates.io/crates/async-channel
+Source: %{crate}-%{version}.tar.gz
+Source1: %{name}.manifest
+Source2: extern.patch
+
+# ==========================================================
+# BuildRequires
+# specifies build-time dependencies for the package
+# ==========================================================
+BuildRequires: rust
+BuildRequires: rust-concurrent-queue
+BuildRequires: rust-event-listener
+BuildRequires: rust-futures-core
+
+# ==========================================================
+# dev-dependencies
+# ==========================================================
+# BuildRequires: rust-easy-parallel
+# BuildRequires: rust-futures-lite
+
+
+%description
+Async multi-producer multi-consumer channel.
+
+%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}} \
+ ./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