--- /dev/null
+diff --git a/src/lib.rs b/src/lib.rs
+index e1d517b..5a63fd9 100644
+--- a/src/lib.rs
++++ b/src/lib.rs
+@@ -8,6 +8,8 @@
+ //! features = ["macro-diagnostics"]
+ //! ```
+
++extern crate proc_macro;
++
+ use proc_macro::TokenStream;
+ use proc_macro2::TokenStream as TokenStream2;
+ use quote::{quote, quote_spanned};
--- /dev/null
+# Generated by rust2rpm 23
+%global _rpm_strip_disable 1
+%global debug_package %{nil}
+
+%global crate uuid-macro-internal
+%global real_crate_name uuid_macro_internal
+%global rustc_edition 2018
+
+Name: rust-uuid-macro-internal
+Version: 1.3.1
+Release: 1
+Summary: Private implementation details of the uuid! macro
+
+License: Apache-2.0 OR MIT
+URL: https://crates.io/crates/uuid-macro-internal
+Source: %{crate}-%{version}.tar.gz
+Source1: %{name}.manifest
+Source2: extern.patch
+
+# ==========================================================
+# BuildRequires
+# specifies build-time dependencies for the package
+# ==========================================================
+BuildRequires: rust
+BuildRequires: rust-proc-macro2
+BuildRequires: rust-quote
+BuildRequires: rust-syn
+
+Requires: rust-proc-macro2
+Requires: rust-quote
+Requires: rust-syn
+
+
+%description
+Private implementation details of the uuid! macro.
+
+%prep
+%setup -q
+cp %{SOURCE1} .
+%{__patch} -p1 < %{SOURCE2}
+
+# ==========================================================
+# build section
+# crate-type : dylib, proc-macro, cdylib, bin, etc.
+# ==========================================================
+%build
+%{rustc_std_build} --crate-type=proc-macro \
+ --crate-name=%{real_crate_name} \
+ %{?rustc_edition:--edition=%{rustc_edition}} \
+ %rust_dylib_extern proc_macro2 \
+ %rust_dylib_extern quote \
+ %rust_dylib_extern syn \
+ ./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