You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
rust-oxipng/rust2rpm.toml

67 lines
2.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

[package]
extra-files = [
"%{_mandir}/man1/oxipng.1*",
]
[[package.extra-sources]]
number = 10
file = "https://github.com/shssoichiro/oxipng/archive/v%{version}/oxipng-%{version}-filtered.tar.gz"
comments = [
"""\
We need the GitHub archive, in addition to the .crate from crates.io, \
because the crate does not contain the xtask/ directory required for \
generating a man page. However, because of some dubiously-licensed test \
files (https://github.com/shssoichiro/oxipng/issues/655), we must use a \
filtered version of the GitHub archive, obtained by running the script in \
Source11. We have asked upstream to simply include the contents of xtask/ \
in the published crates, https://github.com/shssoichiro/oxipng/issues/654.\
""",
]
[[package.extra-sources]]
number = 11
file = "get_source"
comments = [
"Script used to obtain Source10: ./get_source %%{version}",
]
[[package.extra-patches]]
number = 10
file = "https://github.com/shssoichiro/oxipng/pull/653.patch"
comments = [
"Fix manpage for --zi",
]
[scripts.prep]
pre = [
"""\
# Unpacks to oxipng-%%{version}/, *inside* the extracted crate
%setup -q -T -D -a 10 -c -n %{crate}-%{version}
# Required for generating the man page:
#
# Note that the mangen xtask has its own dependencies, so we must run
# %%cargo_generate_buildrequires in the xtask directory if we are to invoke it
# in the build.
mv -v oxipng-%{version}/xtask ./
# We cant respect upstreams lock file, though:
rm xtask/Cargo.lock
# Demonstrate that sources from GitHub are not used to build the executable:
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/#_package_sources
rm -r -v oxipng-%{version}\
"""
]
[scripts.build]
post = [
"# Generate the man page",
"%{__cargo} run --manifest-path xtask/Cargo.toml -- mangen",
]
[scripts.install]
post = [
"mansrc='target/xtask/mangen/manpages/oxipng.1'",
"mandest='%{buildroot}%{_mandir}/man1'",
"install -t \"${mandest}\" -D -p -m 0644 \"${mansrc}\"",
]