[features] hide = [ # For wasm/browser targets only; rust2rpm already patches everything out of # this feature automatically. "js", # We do not want to package jiff-tzdb (which bundles the timezone # database), and we think Fedora should always be using the system tz # database, not a bundled one. "tzdb-bundle-always", ] enable = [ # Required for some doctests "serde", ] [package] cargo-toml-patch-comments = [ # This would be a candidate for automated patching with tomcli if it were # an unconditional dependency, but given it is # target.'cfg(not(target_family = "wasm"))', manual patching is easier. "Drop dev-dependency hifitime: not packaged, and only for doctests", """\ Drop dev-dependency serde_yml: not packaged; we have patched out the tests \ that require it\ """, ] [[package.extra-patches]] number = 10 file = "0001-Downstream-only-Omit-doctests-that-require-hifitime.patch" comments = [ """\ Downstream-only: Omit doctests that require hifitime. \ It is not worth packaging it solely for a couple of tiny examples.\ """, ] [[package.extra-patches]] number = 11 file = "0001-Downstream-only-Omit-doctests-that-require-icu.patch" comments = [ """\ Downstream-only: Omit doctests that require icu.\ """, ] [[package.extra-patches]] number = 12 file = "0001-Downstream-only-omit-tests-that-require-serde_yml.patch" comments = [ """\ Downstream-only: Omit tests that require serde_yml.\ """, ] [[package.extra-patches]] number = 1009 file = "0001-EPEL9-Ignore-doctests-that-require-very-recent-Rust-.patch" comments = [ "EPEL9: Ignore doctests that require very recent Rust compilers", """\ In this crate, doctests and examples (but not the lib and integration tests) \ are allowed to use Rust features from versions newer than the MSRV. It’s \ therefore necessary to ignore some of them on EPEL9. If this patch becomes too \ unwieldy, we could choose to start skipping doctests and/or examples there \ entirely.\ """, ] [requires] build = [ "tomcli", ] [scripts.prep] pre = [ "# NOTE: The -p1 in %%autosetup, above, must be replaced with -N so that we can", "# do conditional patching, below.", "%autopatch -M 999 -p1", "# We reserved patch number 1000+ for EPEL.", "%if 0%{?el9}", # EPEL9 rpm does not support "%patch ", and would quietly attempt and # fail to re-apply Patch0 instead of applying the desired patch. We *need* # to use "%patch -P " instead. "%patch -P 1009 -p1", "%endif", "# We do not yet have a rust-icu package (although one would be desirable)", "tomcli set Cargo.toml del dev-dependencies.icu", ] post = [ "# Exclude test and debug scripts that would BuildRequire sh or bash", "tomcli set Cargo.toml append package.exclude test test-wasm 'scripts/*'", ]