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

[package]
extra-files = [
"%{_mandir}/man1/oxipng.1*",
10 months ago
]
[[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",
]
10 months ago
[scripts.install]
post = [
"mansrc='target/xtask/mangen/manpages/oxipng.1'",
"mandest='%{buildroot}%{_mandir}/man1'",
"install -t \"${mandest}\" -D -p -m 0644 \"${mansrc}\"",
]