From 88a889b0d9f4e92ec483ffbae9a8c0e6e9e8cc5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Rolim?= Date: Mon, 28 Sep 2020 17:03:36 -0300 Subject: [PATCH] pymol: enable for musl, fix byte-compilation. Replace multiple include flags with PREFIX_PATH env var. --- srcpkgs/pymol/patches/musl.patch | 13 +++++++++++++ srcpkgs/pymol/template | 25 ++++++++++++++++++------- 2 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 srcpkgs/pymol/patches/musl.patch diff --git a/srcpkgs/pymol/patches/musl.patch b/srcpkgs/pymol/patches/musl.patch new file mode 100644 index 00000000000..a94d8235593 --- /dev/null +++ b/srcpkgs/pymol/patches/musl.patch @@ -0,0 +1,13 @@ +diff --git a/ov/src/ov_types.h b/ov/src/ov_types.h +index 6d2ad80..11d1589 100644 +--- ov/src/ov_types.h ++++ ov/src/ov_types.h +@@ -19,6 +19,8 @@ extern "C" { + #include + #endif + ++#include ++ + /* automatically detect 64-bit machines */ + + #ifndef OV_32_BIT diff --git a/srcpkgs/pymol/template b/srcpkgs/pymol/template index 466f6d09db0..a63c2c1789f 100644 --- a/srcpkgs/pymol/template +++ b/srcpkgs/pymol/template @@ -1,7 +1,7 @@ # Template file for 'pymol' pkgname=pymol version=2.3.0 -revision=3 +revision=4 wrksrc=${pkgname}-open-source-${version} build_style="python3-module" hostmakedepends="python3" @@ -18,16 +18,27 @@ checksum="62aa21fafd1db805c876f89466e47513809f8198395e1f00a5f5cc40d6f40ed0 0ea81faaf336becc669a193777d0dca55475d303d1236b57df25cf67ff7c2bcd" skip_extraction="${pkgname}.png" -case $XBPS_TARGET_MACHINE in - *-musl) broken="segfaults on start";; -esac +# PREFIX_PATH isn't used for the py3 include path +export PREFIX_PATH="${XBPS_CROSS_BASE}" +CXXFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc}" -# TODO: make it use pkg-config, if possible -CXXFLAGS="-I${XBPS_CROSS_BASE}/${py3_inc} -I${XBPS_CROSS_BASE}/usr/include/libxml2 - -I${XBPS_CROSS_BASE}/usr/include/freetype2" +if [ "$XBPS_TARGET_LIBC" = musl ]; then + makedepends+=" libexecinfo-devel" +fi + +pre_configure() { + if [ "$XBPS_TARGET_LIBC" = musl ]; then + # execinfo is linked when building for freebsd, force it for linux with musl + vsed -e 's@sys.platform.startswith("freebsd")@sys.platform.startswith("linux")@' \ + -i setup.py + fi +} post_install() { vlicense LICENSE vinstall "${FILESDIR}/${pkgname}.desktop" 755 usr/share/applications vinstall "${XBPS_SRCDISTDIR}/${pkgname}-${version}/${pkgname}.png" 644 usr/share/pixmaps + + # these tests are written for python2 + rm -r "${DESTDIR}/${py3_sitelib}/pymol/pymol_path/test" }