From 29eecdef1ceeb342c78e5995d48d5772b6b04588 Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Mon, 1 Feb 2021 11:13:44 +0300 Subject: [PATCH 1/2] New package: maturin-0.9.0 --- srcpkgs/maturin/template | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 srcpkgs/maturin/template diff --git a/srcpkgs/maturin/template b/srcpkgs/maturin/template new file mode 100644 index 00000000000..fefdd2b1757 --- /dev/null +++ b/srcpkgs/maturin/template @@ -0,0 +1,32 @@ +# Template file for 'maturin' +pkgname=maturin +version=0.9.0 +revision=1 +build_style=cargo +hostmakedepends="python3-setuptools python3-toml" +depends="python3-toml" +short_desc="Build and publish crates as python packages" +maintainer="Andrew J. Hesford " +license="Apache-2.0, MIT" +homepage="https://github.com/PyO3/maturin" +distfiles="${homepage}/archive/v${version}.tar.gz" +checksum=22e8082a743e1dc11f5909b596f9053deb7dc1a56336003677381ba02cf67da8 + +post_patch() { + # setup.py is broken, just use it for the pure python part + vsed -e 's/cmdclass.*/packages=["maturin"],/' -i setup.py +} + +post_build() { + # python package is pure; the cross environment is not relevant + python3 setup.py build +} + +do_check() { + : tests fail to build +} + +post_install() { + vlicense license-mit LICENSE-MIT + python3 setup.py install --prefix=/usr --root=${DESTDIR} +} From 8ce64bd0ac07bfc51047c239362944cf938cb0ab Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Mon, 1 Feb 2021 13:50:32 +0300 Subject: [PATCH 2/2] New package: python3-adblock-0.4.2 --- srcpkgs/python3-adblock/template | 51 ++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 srcpkgs/python3-adblock/template diff --git a/srcpkgs/python3-adblock/template b/srcpkgs/python3-adblock/template new file mode 100644 index 00000000000..f3c02883768 --- /dev/null +++ b/srcpkgs/python3-adblock/template @@ -0,0 +1,51 @@ +# Template file for 'python3-adblock' +pkgname=python3-adblock +version=0.4.2 +revision=1 +wrksrc="${pkgname/python3/python}-${version}" +build_style=python3-pep517 +build_helper="rust" +hostmakedepends="maturin pkg-config cargo libressl-devel" +makedepends="libressl-devel python3-devel" +depends="python3" +checkdepends="python3-pytest" +short_desc="Brave's adblock library in Python" +maintainer="Andrew J. Hesford " +license="Apache-2.0, MIT" +homepage="https://github.com/ArniDagur/python-adblock" +distfiles="${homepage}/archive/${version}.tar.gz" +checksum=06de6074e6cfe889fc0383cc929a5a2306570251c14e51abbfcedd328b83e0e9 + +case "$XBPS_TARGET_MACHINE" in + i686*) broken="compiler throws SIGABRT on the psl crate" ;; +esac + +if [ "$CROSS_BUILD" ]; then + makedepends+=" rust-std" + export PYO3_CROSS_LIB_DIR="${XBPS_CROSS_BASE}/usr/lib" + export PYO3_CROSS_INCLUDE_DIR="${XBPS_CROSS_BASE}/usr/include" + + # openssl-sys tries to build for host, but without HOST_CC and + # HOST_CFLAGS, it mixes host flags with target compiler + export HOST_CC=gcc + export HOST_CFLAGS=-O2 +fi + +do_build() { + maturin build -o . --release --target "${RUST_TARGET}" --manylinux off + + # Drop platform specifiers from the wheel; pip will refuse to install, + # e.g., an armv7l wheel on an aarch64 system even if the masterdir is + # armv7l. The wheel is correct; no need for name compatibility checks. + mv adblock-${version}-*.whl adblock-${version}-py3-none-any.whl +} + +pre_check() { + # Tests require the compiled extension + cp target/${RUST_TARGET}/release/libadblock.so adblock/adblock.so +} + +post_install() { + vlicense LICENSE-MIT + chmod 755 ${DESTDIR}/${py3_sitelib}/adblock/*.so +}