diff --git a/.gitignore b/.gitignore
index 625afb8..d82ce77 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@
 /bindgen-0.57.0.crate
 /bindgen-0.59.1.crate
 /bindgen-0.59.2.crate
+/bindgen-0.62.0.crate
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..62f55f4
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,29 @@
+BSD 3-Clause License
+
+Copyright (c) 2013, Jyun-Yan You
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+  contributors may be used to endorse or promote products derived from
+  this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/bindgen-fix-metadata.diff b/bindgen-fix-metadata.diff
deleted file mode 100644
index 51cf0cb..0000000
--- a/bindgen-fix-metadata.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- bindgen-0.59.2/Cargo.toml	1970-01-01T00:00:01+00:00
-+++ bindgen-0.59.2/Cargo.toml	2021-12-15T14:13:11.648974+00:00
-@@ -100,7 +100,7 @@
- version = "3"
- 
- [features]
--default = ["logging", "clap", "runtime", "which-rustfmt"]
-+default = ["logging", "clap", "which-rustfmt"]
- logging = ["env_logger", "log"]
- runtime = ["clang-sys/runtime"]
- static = ["clang-sys/static"]
diff --git a/rust-bindgen.spec b/rust-bindgen.spec
index 900216e..0ade6af 100644
--- a/rust-bindgen.spec
+++ b/rust-bindgen.spec
@@ -1,78 +1,27 @@
-# Generated by rust2rpm 20
+# Generated by rust2rpm 23
 %bcond_without check
+%global debug_package %{nil}
 
 %global crate bindgen
 
-Name:           rust-%{crate}
-Version:        0.59.2
+Name:           rust-bindgen
+Version:        0.62.0
 Release:        %autorelease
 Summary:        Automatically generates Rust FFI bindings to C and C++ libraries
 
-# Upstream license specification: BSD-3-Clause
-License:        BSD
+License:        BSD-3-Clause
 URL:            https://crates.io/crates/bindgen
-Source:         %{crates_source}
-# Initial patched metadata
-# * No "runtime" feature by default. We can afford linking directly to libclang
-#   and rebuild it for each SONAME change. This just makes it better integrated
-#   in distribution context.
-Patch0:         bindgen-fix-metadata.diff
+Source0:        %{crates_source}
+# https://github.com/rust-lang/rust-bindgen/pull/2352
+Source1:        https://github.com/rust-lang/rust-bindgen/raw/v0.62.0/LICENSE
 
-ExclusiveArch:  %{rust_arches}
-
-BuildRequires:  rust-packaging
+BuildRequires:  rust-packaging >= 21
 
 %global _description %{expand:
 Automatically generates Rust FFI bindings to C and C++ libraries.}
 
 %description %{_description}
 
-%package     -n %{crate}
-Summary:        %{summary}
-# ASL 2.0 or MIT: rust-cexpr 0.6.0
-# ASL 2.0 or MIT: rust-peeking_take_while 0.1.2
-# ASL 2.0 or MIT: rust-rustc-hash 1.1.0
-# ASL 2.0: rust-clang-sys 1.3.0
-# BSD: rust-bindgen 0.59.2
-# MIT or ASL 2.0: rust-bitflags 1.3.2
-# MIT or ASL 2.0: rust-cfg-if 1.0.0
-# MIT or ASL 2.0: rust-either 1.6.1
-# MIT or ASL 2.0: rust-env_logger 0.9.0
-# MIT or ASL 2.0: rust-glob 0.3.0
-# MIT or ASL 2.0: rust-humantime 2.1.0
-# MIT or ASL 2.0: rust-lazy_static 1.4.0
-# MIT or ASL 2.0: rust-lazycell 1.3.0
-# MIT or ASL 2.0: rust-libc 0.2.109
-# MIT or ASL 2.0: rust-log 0.4.14
-# MIT or ASL 2.0: rust-minimal-lexical 0.2.1
-# MIT or ASL 2.0: rust-proc-macro2 1.0.33
-# MIT or ASL 2.0: rust-quote 1.0.10
-# MIT or ASL 2.0: rust-regex 1.5.4
-# MIT or ASL 2.0: rust-regex-syntax 0.6.25
-# MIT or ASL 2.0: rust-shlex 1.1.0
-# MIT or ASL 2.0: rust-unicode-width 0.1.9
-# MIT or ASL 2.0: rust-unicode-xid 0.2.2
-# MIT or ASL 2.0: rust-vec_map 0.8.2
-# MIT or ASL 2.0: rust-version_check 0.9.3
-# MIT: rust-ansi_term0.11 0.11.0
-# MIT: rust-atty 0.2.14
-# MIT: rust-clap2 2.33.3
-# MIT: rust-nom 7.1.0
-# MIT: rust-strsim 0.10.0
-# MIT: rust-textwrap0.11 0.11.0
-# MIT: rust-which 4.2.2
-# Unlicense or MIT: rust-aho-corasick 0.7.18
-# Unlicense or MIT: rust-memchr 2.4.1
-# Unlicense or MIT: rust-termcolor 1.1.2
-License:        BSD and ASL 2.0 and MIT
-
-%description -n %{crate} %{_description}
-
-%files       -n %{crate}
-%license LICENSE
-%doc README.md
-%{_bindir}/bindgen
-
 %package        devel
 Summary:        %{summary}
 BuildArch:      noarch
@@ -83,9 +32,9 @@ This package contains library source intended for building other packages which
 use the "%{crate}" crate.
 
 %files          devel
-%license LICENSE
-%doc README.md
-%{cargo_registry}/%{crate}-%{version_no_tilde}/
+%license %{crate_instdir}/LICENSE
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
 
 %package     -n %{name}+default-devel
 Summary:        %{summary}
@@ -97,31 +46,7 @@ This package contains library source intended for building other packages which
 use the "default" feature of the "%{crate}" crate.
 
 %files       -n %{name}+default-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
-
-%package     -n %{name}+clap-devel
-Summary:        %{summary}
-BuildArch:      noarch
-
-%description -n %{name}+clap-devel %{_description}
-
-This package contains library source intended for building other packages which
-use the "clap" feature of the "%{crate}" crate.
-
-%files       -n %{name}+clap-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
-
-%package     -n %{name}+env_logger-devel
-Summary:        %{summary}
-BuildArch:      noarch
-
-%description -n %{name}+env_logger-devel %{_description}
-
-This package contains library source intended for building other packages which
-use the "env_logger" feature of the "%{crate}" crate.
-
-%files       -n %{name}+env_logger-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+log-devel
 Summary:        %{summary}
@@ -133,7 +58,7 @@ This package contains library source intended for building other packages which
 use the "log" feature of the "%{crate}" crate.
 
 %files       -n %{name}+log-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+logging-devel
 Summary:        %{summary}
@@ -145,7 +70,7 @@ This package contains library source intended for building other packages which
 use the "logging" feature of the "%{crate}" crate.
 
 %files       -n %{name}+logging-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+runtime-devel
 Summary:        %{summary}
@@ -157,7 +82,7 @@ This package contains library source intended for building other packages which
 use the "runtime" feature of the "%{crate}" crate.
 
 %files       -n %{name}+runtime-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+static-devel
 Summary:        %{summary}
@@ -169,7 +94,7 @@ This package contains library source intended for building other packages which
 use the "static" feature of the "%{crate}" crate.
 
 %files       -n %{name}+static-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+testing_only_docs-devel
 Summary:        %{summary}
@@ -181,7 +106,7 @@ This package contains library source intended for building other packages which
 use the "testing_only_docs" feature of the "%{crate}" crate.
 
 %files       -n %{name}+testing_only_docs-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+testing_only_extra_assertions-devel
 Summary:        %{summary}
@@ -193,31 +118,7 @@ This package contains library source intended for building other packages which
 use the "testing_only_extra_assertions" feature of the "%{crate}" crate.
 
 %files       -n %{name}+testing_only_extra_assertions-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
-
-%package     -n %{name}+testing_only_libclang_3_9-devel
-Summary:        %{summary}
-BuildArch:      noarch
-
-%description -n %{name}+testing_only_libclang_3_9-devel %{_description}
-
-This package contains library source intended for building other packages which
-use the "testing_only_libclang_3_9" feature of the "%{crate}" crate.
-
-%files       -n %{name}+testing_only_libclang_3_9-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
-
-%package     -n %{name}+testing_only_libclang_4-devel
-Summary:        %{summary}
-BuildArch:      noarch
-
-%description -n %{name}+testing_only_libclang_4-devel %{_description}
-
-This package contains library source intended for building other packages which
-use the "testing_only_libclang_4" feature of the "%{crate}" crate.
-
-%files       -n %{name}+testing_only_libclang_4-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+testing_only_libclang_5-devel
 Summary:        %{summary}
@@ -229,7 +130,7 @@ This package contains library source intended for building other packages which
 use the "testing_only_libclang_5" feature of the "%{crate}" crate.
 
 %files       -n %{name}+testing_only_libclang_5-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+testing_only_libclang_9-devel
 Summary:        %{summary}
@@ -241,7 +142,7 @@ This package contains library source intended for building other packages which
 use the "testing_only_libclang_9" feature of the "%{crate}" crate.
 
 %files       -n %{name}+testing_only_libclang_9-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+which-devel
 Summary:        %{summary}
@@ -253,7 +154,7 @@ This package contains library source intended for building other packages which
 use the "which" feature of the "%{crate}" crate.
 
 %files       -n %{name}+which-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %package     -n %{name}+which-rustfmt-devel
 Summary:        %{summary}
@@ -265,10 +166,11 @@ This package contains library source intended for building other packages which
 use the "which-rustfmt" feature of the "%{crate}" crate.
 
 %files       -n %{name}+which-rustfmt-devel
-%ghost %{cargo_registry}/%{crate}-%{version_no_tilde}/Cargo.toml
+%ghost %{crate_instdir}/Cargo.toml
 
 %prep
 %autosetup -n %{crate}-%{version_no_tilde} -p1
+cp -pav %{SOURCE1} .
 %cargo_prep
 
 %generate_buildrequires
@@ -282,8 +184,7 @@ use the "which-rustfmt" feature of the "%{crate}" crate.
 
 %if %{with check}
 %check
-# skip a test that requires files not shipped with the published crate
-%cargo_test -- -- --skip test::commandline_multiple_headers
+%cargo_test
 %endif
 
 %changelog
diff --git a/sources b/sources
index e2684d2..1c79c88 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (bindgen-0.59.2.crate) = 14c49879c7443191b877957a4fd405c7f10a1e8b70016d91bf5fe33861fc5d71982a1c685c190e4f7922cedb6c8aefadac3b0b68cbe5578da791a8da6bfedf44
+SHA512 (bindgen-0.62.0.crate) = f87a4e97d1ec425be547c99ab89946fb81c268bc688d9e7e3ef077110bb15a9a8e967919bd0596b93131992342174aaf7b845c82b15e020a0d412bafe5e936ce