Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK)) by mollari.NetBSD.org (Postfix) with ESMTPS id 419CF7A0EB for ; Sat, 23 Jul 2016 18:28:28 +0000 (UTC) Received: by mail.netbsd.org (Postfix, from userid 605) id E549485ED7; Sat, 23 Jul 2016 18:28:27 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 7909B85EB7 for ; Sat, 23 Jul 2016 18:28:27 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id n21LukdgxdTh for ; Sat, 23 Jul 2016 18:28:26 +0000 (UTC) Received: from cvs.NetBSD.org (unknown [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id AE67184CFD for ; Sat, 23 Jul 2016 18:28:26 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id A4977FBB5; Sat, 23 Jul 2016 18:28:26 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1469298506230580" MIME-Version: 1.0 Date: Sat, 23 Jul 2016 18:28:26 +0000 From: "Kamil Rytarowski" Subject: CVS commit: pkgsrc/lang/python27 To: pkgsrc-changes@NetBSD.org Reply-To: kamil@netbsd.org X-Mailer: log_accum Message-Id: <20160723182826.A4977FBB5@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk This is a multi-part message in MIME format. --_----------=_1469298506230580 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: kamil Date: Sat Jul 23 18:28:26 UTC 2016 Modified Files: pkgsrc/lang/python27: Makefile distinfo pkgsrc/lang/python27/patches: patch-am Log Message: Fix dlopen(3) calls in _ctypes.so for X11BASE libraries A Python code can dynamically load shared libraries and it's wrapped with a plain dlopen(3) call. The holder of this interface (_ctypes module) without rpath set to X11BASE cannot detect libs like 'GL'. This might be the last step to fix issues with running GUI Python applications on NetBSD. Bump PKGREVISION. To generate a diff of this commit: cvs rdiff -u -r1.63 -r1.64 pkgsrc/lang/python27/Makefile cvs rdiff -u -r1.56 -r1.57 pkgsrc/lang/python27/distinfo cvs rdiff -u -r1.19 -r1.20 pkgsrc/lang/python27/patches/patch-am Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1469298506230580 Content-Disposition: inline Content-Length: 7864 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Modified files: Index: pkgsrc/lang/python27/Makefile diff -u pkgsrc/lang/python27/Makefile:1.63 pkgsrc/lang/python27/Makefile:1.64 --- pkgsrc/lang/python27/Makefile:1.63 Sat Jul 23 13:09:15 2016 +++ pkgsrc/lang/python27/Makefile Sat Jul 23 18:28:26 2016 @@ -1,9 +1,9 @@ -# $NetBSD: Makefile,v 1.63 2016/07/23 13:09:15 kamil Exp $ +# $NetBSD: Makefile,v 1.64 2016/07/23 18:28:26 kamil Exp $ .include "dist.mk" PKGNAME= python27-${PY_DISTVERSION} -PKGREVISION= 2 +PKGREVISION= 3 CATEGORIES= lang python MAINTAINER= pkgsrc-users@NetBSD.org @@ -180,6 +180,12 @@ SUBST_STAGE.pfindlib= pre-configure SUBST_FILES.pfindlib= Lib/ctypes/util.py SUBST_SED.pfindlib= -e 's!\(-Wl,-t -o\)!${COMPILER_RPATH_FLAG}${X11BASE}/lib -L${X11BASE}/lib ${COMPILER_RPATH_FLAG}${PREFIX}/lib -L${PREFIX}/lib \1!' +SUBST_CLASSES+= cdlopen +SUBST_MESSAGE.cdlopen= Handle X11BASE paths in dlopen(3) calls of _ctypes.so +SUBST_STAGE.cdlopen= pre-configure +SUBST_FILES.cdlopen= setup.py +SUBST_VARS.cdlopen= X11BASE + SUBST_CLASSES+= sslbase SUBST_MESSAGE.sslbase= Fixing find-file for openssl with SSLBASE. SUBST_STAGE.sslbase= pre-configure @@ -218,4 +224,6 @@ BUILDLINK_DEPMETHOD.readline= build .include "../../devel/zlib/buildlink3.mk" .include "../../security/openssl/buildlink3.mk" .include "../../mk/dlopen.buildlink3.mk" +# Required to detect X11BASE paths in dlopen(3) calls of _ctypes.so +.include "../../mk/x11.buildlink3.mk" .include "../../mk/bsd.pkg.mk" Index: pkgsrc/lang/python27/distinfo diff -u pkgsrc/lang/python27/distinfo:1.56 pkgsrc/lang/python27/distinfo:1.57 --- pkgsrc/lang/python27/distinfo:1.56 Mon Jul 11 12:17:13 2016 +++ pkgsrc/lang/python27/distinfo Sat Jul 23 18:28:26 2016 @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.56 2016/07/11 12:17:13 ryoon Exp $ +$NetBSD: distinfo,v 1.57 2016/07/23 18:28:26 kamil Exp $ SHA1 (Python-2.7.12.tar.xz) = 05360b8ade117b35e266b2004a7f1f11250c6dcd RMD160 (Python-2.7.12.tar.xz) = c330f6ac08ed67f307de0e726a288bab16c832d5 @@ -20,7 +20,7 @@ SHA1 (patch-ad) = 96ae702995d434e2d7ec0a SHA1 (patch-ae) = d836d77854a2b3d79fa34a06a8e2493bf0a503e6 SHA1 (patch-ah) = 90b19239d8a7c8abc3bbc05d49408a2c5da6174d SHA1 (patch-al) = 541936b79f281db06761f4fa6a65a04e852b02b4 -SHA1 (patch-am) = a7697dda83b151fdd30d460bdcf5ab3cc057c92b +SHA1 (patch-am) = 5e763a0fe26be562cf5e49e6313a9f18d9ee9908 SHA1 (patch-an) = 9aad78714c4fe1a21cf66a6627d97d164ecea196 SHA1 (patch-ao) = 5bcfad96f8e490351160f1a7c1f4ece7706a33fa SHA1 (patch-au) = 0ecdb937cbd58e3dbfa6fb94d1af5838619c77fd Index: pkgsrc/lang/python27/patches/patch-am diff -u pkgsrc/lang/python27/patches/patch-am:1.19 pkgsrc/lang/python27/patches/patch-am:1.20 --- pkgsrc/lang/python27/patches/patch-am:1.19 Fri Apr 24 03:01:36 2015 +++ pkgsrc/lang/python27/patches/patch-am Sat Jul 23 18:28:26 2016 @@ -1,4 +1,4 @@ -$NetBSD: patch-am,v 1.19 2015/04/24 03:01:36 rodent Exp $ +$NetBSD: patch-am,v 1.20 2016/07/23 18:28:26 kamil Exp $ Disabled modules for normal build: bsddb @@ -23,7 +23,10 @@ Build the 1.85 compat module all the tim cygwin 2.7.3-no-libm.patch ---- setup.py.orig 2014-12-10 16:00:01.000000000 +0000 +Set X11BASE rpath value for _ctypes.so, it's required as it calls dlopen(3) +and dynamic linker cannot find without it X11 libraries. + +--- setup.py.orig 2016-06-25 21:49:32.000000000 +0000 +++ setup.py @@ -33,7 +33,7 @@ host_platform = get_platform() COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS")) @@ -34,7 +37,7 @@ cygwin 2.7.3-no-libm.patch def add_dir_to_list(dirlist, dir): """Add the directory 'dir' to the list 'dirlist' (at the front) if -@@ -438,10 +438,15 @@ class PyBuildExt(build_ext): +@@ -454,10 +454,15 @@ class PyBuildExt(build_ext): os.unlink(tmpfile) def detect_modules(self): @@ -54,7 +57,7 @@ cygwin 2.7.3-no-libm.patch if cross_compiling: self.add_gcc_paths() self.add_multiarch_paths() -@@ -553,7 +558,7 @@ class PyBuildExt(build_ext): +@@ -569,7 +574,7 @@ class PyBuildExt(build_ext): # Check for MacOS X, which doesn't need libm.a at all math_libs = ['m'] @@ -63,7 +66,7 @@ cygwin 2.7.3-no-libm.patch math_libs = [] # XXX Omitted modules: gl, pure, dl, SGI-specific modules -@@ -789,11 +794,10 @@ class PyBuildExt(build_ext): +@@ -809,11 +814,10 @@ class PyBuildExt(build_ext): libraries=math_libs) ) # Detect SSL support for the socket module (via _ssl) search_for_ssl_incs_in = [ @@ -78,7 +81,7 @@ cygwin 2.7.3-no-libm.patch ) if ssl_incs is not None: krb5_h = find_file('krb5.h', inc_dirs, -@@ -801,9 +805,7 @@ class PyBuildExt(build_ext): +@@ -821,9 +825,7 @@ class PyBuildExt(build_ext): if krb5_h: ssl_incs += krb5_h ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs, @@ -89,7 +92,7 @@ cygwin 2.7.3-no-libm.patch if (ssl_incs is not None and ssl_libs is not None): -@@ -822,7 +824,7 @@ class PyBuildExt(build_ext): +@@ -842,7 +844,7 @@ class PyBuildExt(build_ext): # look for the openssl version header on the compiler search path. opensslv_h = find_file('openssl/opensslv.h', [], @@ -98,7 +101,7 @@ cygwin 2.7.3-no-libm.patch if opensslv_h: name = os.path.join(opensslv_h[0], 'openssl/opensslv.h') if host_platform == 'darwin' and is_macosx_sdk_path(name): -@@ -922,175 +924,6 @@ class PyBuildExt(build_ext): +@@ -942,175 +944,6 @@ class PyBuildExt(build_ext): else: raise ValueError("unknown major BerkeleyDB version", major) @@ -274,7 +277,7 @@ cygwin 2.7.3-no-libm.patch # The sqlite interface sqlite_setup_debug = False # verbose debug prints from this script? -@@ -1207,35 +1040,39 @@ class PyBuildExt(build_ext): +@@ -1227,35 +1060,39 @@ class PyBuildExt(build_ext): # we do not build this one. Otherwise this build will pick up # the more recent berkeleydb's db.h file first in the include path # when attempting to compile and it will fail. @@ -338,7 +341,7 @@ cygwin 2.7.3-no-libm.patch config_args = [arg.strip("'") for arg in sysconfig.get_config_var("CONFIG_ARGS").split()] dbm_args = [arg for arg in config_args -@@ -1247,7 +1084,7 @@ class PyBuildExt(build_ext): +@@ -1267,7 +1104,7 @@ class PyBuildExt(build_ext): dbmext = None for cand in dbm_order: if cand == "ndbm": @@ -347,7 +350,7 @@ cygwin 2.7.3-no-libm.patch # Some systems have -lndbm, others have -lgdbm_compat, # others don't have either if self.compiler.find_library_file(lib_dirs, -@@ -1291,18 +1128,14 @@ class PyBuildExt(build_ext): +@@ -1311,18 +1148,14 @@ class PyBuildExt(build_ext): libraries = gdbm_libs) break elif cand == "bdb": @@ -374,7 +377,15 @@ cygwin 2.7.3-no-libm.patch if dbmext is not None: exts.append(dbmext) else: -@@ -2230,9 +2063,9 @@ def main(): +@@ -2113,6 +1946,7 @@ class PyBuildExt(build_ext): + extra_compile_args=extra_compile_args, + extra_link_args=extra_link_args, + libraries=[], ++ runtime_library_dirs=['@X11BASE@/lib'], + sources=sources, + depends=depends) + ext_test = Extension('_ctypes_test', +@@ -2250,9 +2084,9 @@ def main(): ext_modules=[Extension('_struct', ['_struct.c'])], # Scripts to install --_----------=_1469298506230580--