1 %define crates_ver 0.4.4
4 Summary: Brave's adblock library in Python
5 Name: python3-%{module}
8 License: MIT or Apache v2.0
9 Group: Libraries/Python
10 Source0: https://files.pythonhosted.org/packages/source/a/adblock/%{module}-%{version}.tar.gz
11 # Source0-md5: 6958de33e5034c1241a69c91989f0e86
13 Source1: %{name}-crates-%{crates_ver}.tar.xz
14 # Source1-md5: 932c699a7fa6016098e56026ae389322
15 URL: https://github.com/ArniDagur/python-adblock
17 BuildRequires: maturin >= 0.10
18 BuildRequires: python3-devel >= 1:3.6
19 BuildRequires: rpm-pythonprov
20 BuildRequires: rpmbuild(macros) >= 2.004
21 BuildRequires: rust >= 1.45
22 ExclusiveArch: %{rust_arches}
23 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26 Python wrapper for Brave's adblocking library, which is written in
30 %setup -q -n %{module}-%{version} -a1
32 %{__mv} %{module}-%{crates_ver}/* .
33 sed -i -e 's/@@VERSION@@/%{version}/' Cargo.lock
35 # use our offline registry
36 export CARGO_HOME="$(pwd)/.cargo"
38 mkdir -p "$CARGO_HOME"
39 cat >.cargo/config <<EOF
41 registry = 'https://github.com/rust-lang/crates.io-index'
42 replace-with = 'vendored-sources'
44 [source.vendored-sources]
45 directory = '$PWD/vendor'
49 CARGO_HOME="$(pwd)/.cargo" \
50 CARGO_NET_OFFLINE=true \
51 CARGO_TERM_VERBOSE=true \
52 RUSTFLAGS="%{rpmrustflags}" \
53 /usr/bin/maturin build --release --no-sdist \
55 --target x86_64-unknown-linux-gnux32
59 rm -rf $RPM_BUILD_ROOT
61 install -d $RPM_BUILD_ROOT%{py3_sitedir}
62 cp -p target/release/libadblock.so $RPM_BUILD_ROOT%{py3_sitedir}/%{module}.so
65 rm -rf $RPM_BUILD_ROOT
67 %files -n python3-%{module}
68 %defattr(644,root,root,755)
69 %doc CHANGELOG.md README.md
70 %attr(755,root,root) %{py3_sitedir}/%{module}.so