From: ericonr <ericonr@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] pymol: enable for musl, fix byte-compilation.
Date: Mon, 28 Sep 2020 22:50:34 +0200 [thread overview]
Message-ID: <20200928205034.VQLUtaL8xnrCdlQ4nAyAgePRU4GAAE-TMXFFJKJfxQo@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-25162@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 1064 bytes --]
There is an updated pull request by ericonr against master on the void-packages repository
https://github.com/ericonr/void-packages pymol
https://github.com/void-linux/void-packages/pull/25162
pymol: enable for musl, fix byte-compilation.
It doesn't segfault anymore :D
However, it's doing something weird in linking:
```
$ pymol
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/pymol/__init__.py", line 64, in <module>
import pymol
File "/usr/lib/python3.8/site-packages/pymol/__init__.py", line 580, in <module>
import pymol._cmd
ImportError: Error relocating /usr/lib/python3.8/site-packages/pymol/_cmd.so: backtrace_symbols: symbol not found
$ LD_PRELOAD=/lib/libexecinfo.so.1 pymol
PyMOL(TM) Molecular Graphics System, Version 2.3.0.
Copyright (c) Schrodinger, LLC.
All Rights Reserved.
[...]
```
It found the symbol while linking (I guess?) but it somehow wasn't recorded.
---
This is now fixed.
A patch file from https://github.com/void-linux/void-packages/pull/25162.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-pymol-25162.patch --]
[-- Type: text/x-diff, Size: 3170 bytes --]
From 25c60927bed3d70bb35ea815225e1ea116aeaf34 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Rolim?= <erico.erc@gmail.com>
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.
Also xlintify.
---
srcpkgs/pymol/patches/musl.patch | 13 +++++++++++++
srcpkgs/pymol/template | 30 ++++++++++++++++++++++--------
2 files changed, 35 insertions(+), 8 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 <windows.h>
+ #endif
+
++#include <cstddef>
++
+ /* automatically detect 64-bit machines */
+
+ #ifndef OV_32_BIT
diff --git a/srcpkgs/pymol/template b/srcpkgs/pymol/template
index 466f6d09db0..19a1f897e57 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"
@@ -10,7 +10,7 @@ makedepends="msgpack-devel python3-numpy freetype-devel libfreeglut-devel glew-d
depends="python3-numpy tcsh python3-pmw python3-tkinter python3-PyQt5"
short_desc="PyMOL molecular visualization system"
maintainer="Brenton Horne <brentonhorne77@gmail.com>"
-license="PyMOL"
+license="custom:PyMOL"
homepage="https://pymol.org/"
distfiles="https://github.com/schrodinger/pymol-open-source/archive/v${version}.tar.gz>${pkgname}-${version}.tar.gz
https://c.fsdn.com/allura/p/${pkgname}/icon>${pkgname}.png"
@@ -18,16 +18,30 @@ checksum="62aa21fafd1db805c876f89466e47513809f8198395e1f00a5f5cc40d6f40ed0
0ea81faaf336becc669a193777d0dca55475d303d1236b57df25cf67ff7c2bcd"
skip_extraction="${pkgname}.png"
-case $XBPS_TARGET_MACHINE in
- *-musl) broken="segfaults on start";;
-esac
+export PREFIX_PATH="${XBPS_CROSS_BASE}/usr"
+# PREFIX_PATH isn't used for the py3 include path
+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")@True@' \
+ -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
+ # LICENSE is vlicense'd
+ rm -r ${DESTDIR}/${py3_sitelib}/pymol/pymol_path/{test,LICENSE}
+
+ vlicense LICENSE
}
next prev parent reply other threads:[~2020-09-28 20:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-28 20:08 [PR PATCH] " ericonr
2020-09-28 20:22 ` [PR PATCH] [Updated] " ericonr
2020-09-28 20:40 ` ericonr
2020-09-28 20:50 ` ericonr [this message]
2020-09-28 20:51 ` [PR PATCH] [Merged]: " ericonr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200928205034.VQLUtaL8xnrCdlQ4nAyAgePRU4GAAE-TMXFFJKJfxQo@z \
--to=ericonr@users.noreply.github.com \
--cc=ml@inbox.vuxu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).