commit df54a1a507e7acd89430d58a30f7d8819a847ef5
parent cc81def89309658b5218ae9c7b968fcdab2c4896
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Wed, 17 May 2023 22:33:56 +0200
add quiche spec
Diffstat:
3 files changed, 204 insertions(+), 0 deletions(-)
diff --git a/.copr/Makefile b/.copr/Makefile
@@ -1,3 +1,4 @@
outdir ?= $(pwd)
srpm:
+ dnf copr enable schanzen/gnunet
rpmbuild $(spec) --bs --define "_srcrpmdir $(outdir)"
diff --git a/rpmbuild/SOURCES/quiche-fix-metadata-auto.diff b/rpmbuild/SOURCES/quiche-fix-metadata-auto.diff
@@ -0,0 +1,14 @@
+--- quiche-0.17.2/Cargo.toml 1970-01-01T00:00:01+00:00
++++ quiche-0.17.2/Cargo.toml 2023-05-17T19:40:44.677128+00:00
+@@ -128,11 +128,3 @@
+ fuzzing = []
+ pkg-config-meta = []
+
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3"
+-features = [
+- "wincrypt",
+- "ws2def",
+- "ws2ipdef",
+- "ws2tcpip",
+-]
diff --git a/rpmbuild/SPECS/rust-quiche.spec b/rpmbuild/SPECS/rust-quiche.spec
@@ -0,0 +1,189 @@
+# Generated by rust2rpm 24
+%bcond_without check
+
+%global crate quiche
+
+Name: rust-quiche
+Version: 0.17.2
+Release: %autorelease
+Summary: 🥧 Savoury implementation of the QUIC transport protocol and HTTP/3
+
+License: BSD-2-Clause
+URL: https://crates.io/crates/quiche
+Source: %{crates_source}
+# Automatically generated patch to strip foreign dependencies
+Patch: quiche-fix-metadata-auto.diff
+
+BuildRequires: rust-packaging >= 21
+
+%global _description %{expand:
+🥧 Savoury implementation of the QUIC transport protocol and HTTP/3.}
+
+%description %{_description}
+
+%package -n %{crate}
+Summary: %{summary}
+
+%description -n %{crate} %{_description}
+
+%files -n %{crate}
+%license COPYING
+%license deps/boringssl/LICENSE
+%doc README.md
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
+
+%files devel
+%license %{crate_instdir}/COPYING
+%license %{crate_instdir}/deps/boringssl/LICENSE
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+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 %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+boring-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+boring-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "boring" feature of the "%{crate}" crate.
+
+%files -n %{name}+boring-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+boringssl-boring-crate-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+boringssl-boring-crate-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "boringssl-boring-crate" feature of the "%{crate}" crate.
+
+%files -n %{name}+boringssl-boring-crate-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+boringssl-vendored-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+boringssl-vendored-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "boringssl-vendored" feature of the "%{crate}" crate.
+
+%files -n %{name}+boringssl-vendored-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+ffi-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+ffi-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "ffi" feature of the "%{crate}" crate.
+
+%files -n %{name}+ffi-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+foreign-types-shared-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+foreign-types-shared-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "foreign-types-shared" feature of the "%{crate}" crate.
+
+%files -n %{name}+foreign-types-shared-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+fuzzing-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+fuzzing-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "fuzzing" feature of the "%{crate}" crate.
+
+%files -n %{name}+fuzzing-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+pkg-config-meta-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+pkg-config-meta-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "pkg-config-meta" feature of the "%{crate}" crate.
+
+%files -n %{name}+pkg-config-meta-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+qlog-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+qlog-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "qlog" feature of the "%{crate}" crate.
+
+%files -n %{name}+qlog-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%package -n %{name}+sfv-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+sfv-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "sfv" feature of the "%{crate}" crate.
+
+%files -n %{name}+sfv-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version_no_tilde} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+# FIXME: install shared library
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+%autochangelog